summaryrefslogtreecommitdiff
path: root/ishtar_common/views_item.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-09-24 10:33:07 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-09-24 10:33:07 +0200
commitff8681360e589ff3c8e63dcef6ad0d31ac8ecab8 (patch)
treeaff85c928066d444a8639daf6dd1c52d38e6c7dc /ishtar_common/views_item.py
parentfee9b4904fee90077cdb73ecddc130288ba0ab21 (diff)
downloadIshtar-ff8681360e589ff3c8e63dcef6ad0d31ac8ecab8.tar.bz2
Ishtar-ff8681360e589ff3c8e63dcef6ad0d31ac8ecab8.zip
Allow own locker to edit their locks
Diffstat (limited to 'ishtar_common/views_item.py')
-rw-r--r--ishtar_common/views_item.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/ishtar_common/views_item.py b/ishtar_common/views_item.py
index 4e29a2bcf..6f5dba236 100644
--- a/ishtar_common/views_item.py
+++ b/ishtar_common/views_item.py
@@ -1159,6 +1159,7 @@ def _get_data_from_query(items, query_table_cols, extra_request_keys,
values += ['point_x', 'point_y']
if hasattr(items.model, "locked"):
values.append("locked")
+ values.append("lock_user_id")
data_list = items.values_list(*values)
return data_list
@@ -1233,6 +1234,7 @@ def _get_data_from_query_old(items, query_table_cols, request,
data.append(u" & ".join(my_vals) or u"")
if has_lock:
data.append(item.locked)
+ data.append(item.lock_user_id)
datas.append(data)
return datas
@@ -1860,7 +1862,10 @@ def get_item(model, func_name, default_name, extra_request_keys=None,
"<i class=\"fa fa-info-circle\" aria-hidden=\"true\"></i><lock></a>"
link_ext_template = '<a href="{}" target="_blank"></a>'
lock = '&nbsp;<i class="fa fa-lock text-danger" aria-hidden="true"></i>'
+ own_lock = '&nbsp;<i class="fa fa-lock text-success" ' \
+ 'aria-hidden="true"></i>'
has_locks = hasattr(model, "locked")
+ current_user_id = request.user and request.user.id
if data_type.startswith("json"):
rows = []
if data_type == 'json-map':
@@ -1881,8 +1886,11 @@ def get_item(model, func_name, default_name, extra_request_keys=None,
lnk_template = link_template
lnk = lnk_template.format(
reverse('show-' + default_name, args=[data[0], '']))
- if has_locks and data[-1]:
- lnk = lnk.replace('<lock>', lock)
+ if has_locks and data[-2]:
+ if data[-1] == current_user_id:
+ lnk = lnk.replace('<lock>', own_lock)
+ else:
+ lnk = lnk.replace('<lock>', lock)
else:
lnk = lnk.replace('<lock>', "")
except NoReverseMatch: