summaryrefslogtreecommitdiff
path: root/ishtar_common/forms_common.py
diff options
context:
space:
mode:
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
commit042b8f956369c115536dfe7e33d9c0461dafe539 (patch)
tree90f8577c5e52047be00f5aeb2f31d010f0d65fb2 /ishtar_common/forms_common.py
parentbfae6a086ff5d35c794a5c5c0380bf2332661452 (diff)
downloadIshtar-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.py16
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()