Skip to content

Commit 230b371

Browse files
author
Rahul Abrol
committed
Accommodate multi-lock returns
1 parent 415a86f commit 230b371

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

locking/admin.py

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -54,17 +54,23 @@ def get_lock_for_admin(self_obj, obj):
5454
'''
5555

5656
locked_by = ''
57-
class_name = 'unlocked'
58-
output = ''
59-
57+
multi_lock = ''
58+
output = str(obj.id)
6059
content_type = ContentType.objects.get_for_model(obj)
60+
6161
try:
6262
lock = Lock.objects.get(entry_id=obj.id,
6363
app=content_type.app_label,
6464
model=content_type.model)
65-
class_name = 'locked'
6665
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
6874
except Lock.DoesNotExist:
6975
return ''
7076

@@ -81,18 +87,15 @@ def get_lock_for_admin(self_obj, obj):
8187
<img src="%slocking/img/page_edit.png"
8288
title="%s" />''' % (_s.STATIC_URL, locked_until_self)
8389
else:
84-
locked_until = _(
90+
locked_until_self = _(
8591
"Still locked for %s more minute(s) by %s."
8692
) % (minutes_remaining, lock.locked_by)
8793
locked_until = '''
8894
<img src="%slocking/img/lock.png" title="%s" />'''\
8995
% (_s.STATIC_URL, locked_until)
9096
full_name = "%s %s" % (
9197
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)
9699
else:
97100
return ''
98101

0 commit comments

Comments
 (0)