diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-01-30 13:08:34 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2025-02-19 14:45:56 +0100 |
commit | 042b8f956369c115536dfe7e33d9c0461dafe539 (patch) | |
tree | 90f8577c5e52047be00f5aeb2f31d010f0d65fb2 /ishtar_common/forms_common.py | |
parent | bfae6a086ff5d35c794a5c5c0380bf2332661452 (diff) | |
download | Ishtar-042b8f956369c115536dfe7e33d9c0461dafe539.tar.bz2 Ishtar-042b8f956369c115536dfe7e33d9c0461dafe539.zip |
✨ admin: better management of Import - Item keys, import/export, links all user/imports
Diffstat (limited to 'ishtar_common/forms_common.py')
-rw-r--r-- | ishtar_common/forms_common.py | 16 |
1 files changed, 11 insertions, 5 deletions
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() |