diff options
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 |
commit | ff8681360e589ff3c8e63dcef6ad0d31ac8ecab8 (patch) | |
tree | aff85c928066d444a8639daf6dd1c52d38e6c7dc /ishtar_common/views_item.py | |
parent | fee9b4904fee90077cdb73ecddc130288ba0ab21 (diff) | |
download | Ishtar-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.py | 12 |
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 = ' <i class="fa fa-lock text-danger" aria-hidden="true"></i>' + own_lock = ' <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: |