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:  | 
