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