diff options
Diffstat (limited to 'ishtar_common/forms.py')
-rw-r--r-- | ishtar_common/forms.py | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index 2f311a779..8c1c0a5b1 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -1046,6 +1046,14 @@ class HistorySelect(CustomForm, TableSelect): ) modified = DateField(label=_("Modified"), required=False) locked = forms.NullBooleanField(label=_("Is locked?")) + ishtar_users = forms.IntegerField( + label=_("Attached to user"), + widget=widgets.JQueryAutoComplete( + reverse_lazy("autocomplete-user"), associated_model=User + ), + required=False, + ) + _explicit_ordering = True CURRENT_FIELDS = [ @@ -1054,17 +1062,25 @@ class HistorySelect(CustomForm, TableSelect): "history_modifier", "modified", "locked", + "ishtar_users" ] + ADMIN_FIELDS = ["ishtar_users"] def __init__(self, *args, **kwargs): - super(HistorySelect, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) field_order = self.fields.keys() fields = OrderedDict() for k in field_order: if k in self.CURRENT_FIELDS: continue fields[k] = self.fields[k] - for k in self.CURRENT_FIELDS: + current_fields = self.CURRENT_FIELDS[:] + current_user = getattr(self, "current_user", None) + if not current_user or not current_user.is_ishtaradmin: + for k in self.ADMIN_FIELDS: + if k in current_fields: + current_fields.pop(current_fields.index(k)) + for k in current_fields: fields[k] = self.fields[k] self.fields = fields self.custom_form_ordering() |