diff options
| -rw-r--r-- | ishtar_common/forms.py | 20 | ||||
| -rw-r--r-- | ishtar_common/models_common.py | 4 | 
2 files changed, 22 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() diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py index 432a50839..0b1be5313 100644 --- a/ishtar_common/models_common.py +++ b/ishtar_common/models_common.py @@ -1668,6 +1668,10 @@ class BaseHistorizedItem(          ),          "locked": SearchAltName(              pgettext_lazy("key for text search", "locked"), "locked" +        ), +        "ishtar_users": SearchAltName( +            pgettext_lazy("key for text search", "user-attached"), +            "ishtar_users__person__cached_label__iexact"          )      }  | 
