From 042b8f956369c115536dfe7e33d9c0461dafe539 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Thu, 30 Jan 2025 13:08:34 +0100 Subject: ✨ admin: better management of Import - Item keys, import/export, links all user/imports MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ishtar_common/forms_common.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'ishtar_common/forms_common.py') diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 3fa819a8f..187941bb6 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -605,6 +605,7 @@ class TargetKeyForm(forms.ModelForm): ] if self.user.is_superuser: choices += [("all", _("all users"))] + choices += [("all-importers", _("all users and importers"))] self.fields["remember"].choices = choices self.fields["remember"].widget.attrs["class"] = "auto" self.remember_choices = choices @@ -625,7 +626,7 @@ class TargetKeyForm(forms.ModelForm): def save(self, commit=True): try: - super(TargetKeyForm, self).save(commit) + super().save(commit) except ImporterError: return if not self.cleaned_data.get("value") or not self.user: @@ -644,23 +645,28 @@ class TargetKeyForm(forms.ModelForm): ) remember = self.cleaned_data.get("remember") + self.instance.associated_import = self.associated_import + force_importer_type, force_all = False, False if remember == "import" and self.associated_import: - self.instance.associated_import = self.associated_import self.instance.associated_user = None self.instance.associated_group = None elif remember == "group" and can_edit_group: - self.instance.associated_import = None self.instance.associated_user = None self.instance.associated_group = self.associated_import.associated_group elif remember == "all" and self.user.is_superuser: - self.instance.associated_import = None self.instance.associated_user = None self.instance.associated_group = None + force_importer_type = True + elif remember == "all-importers" and self.user.is_superuser: + self.instance.associated_user = None + self.instance.associated_group = None + force_all = True else: # for me! - self.instance.associated_import = None self.instance.associated_user = self.user.ishtaruser self.instance.associated_group = None + self.instance.create_itemkey(force_importer_type=force_importer_type, + force_all=force_all) self.instance.save() -- cgit v1.2.3