@@ -54,17 +54,23 @@ def get_lock_for_admin(self_obj, obj):
54
54
'''
55
55
56
56
locked_by = ''
57
- class_name = 'unlocked'
58
- output = ''
59
-
57
+ multi_lock = ''
58
+ output = str (obj .id )
60
59
content_type = ContentType .objects .get_for_model (obj )
60
+
61
61
try :
62
62
lock = Lock .objects .get (entry_id = obj .id ,
63
63
app = content_type .app_label ,
64
64
model = content_type .model )
65
- class_name = 'locked'
66
65
locked_by = lock .locked_by .username
67
- output = str (obj .id )
66
+ except Lock .MultipleObjectsReturned :
67
+ locks = Lock .objects .filter (entry_id = obj .id ,
68
+ app = content_type .app_label ,
69
+ model = content_type .model ).order_by ('-_locked_at' )
70
+ lock = locks [0 ]
71
+ locked_by = locks [0 ].locked_by .username
72
+ for username in set (lock .locked_by .username for lock in locks ) - set ([locked_by ]):
73
+ multi_lock += '<div>%s</div>' % username
68
74
except Lock .DoesNotExist :
69
75
return ''
70
76
@@ -81,18 +87,15 @@ def get_lock_for_admin(self_obj, obj):
81
87
<img src="%slocking/img/page_edit.png"
82
88
title="%s" />''' % (_s .STATIC_URL , locked_until_self )
83
89
else :
84
- locked_until = _ (
90
+ locked_until_self = _ (
85
91
"Still locked for %s more minute(s) by %s."
86
92
) % (minutes_remaining , lock .locked_by )
87
93
locked_until = '''
88
94
<img src="%slocking/img/lock.png" title="%s" />''' \
89
95
% (_s .STATIC_URL , locked_until )
90
96
full_name = "%s %s" % (
91
97
lock .locked_by .first_name , lock .locked_by .last_name )
92
- return u'''
93
- <a href="#" id=%s class="lock-status %s"
94
- title="Locked By: %s">%s%s</a>''' % (output , class_name ,
95
- full_name , locked_until , " " + locked_by )
98
+ return u'''<a href="#" id=%s class="lock-status locked" title="Locked By: %s">%s%s</a>%s''' % (output , full_name , locked_until , " " + locked_by , multi_lock )
96
99
else :
97
100
return ''
98
101
0 commit comments