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() | 
