diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-07-17 16:11:42 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2022-12-12 12:23:17 +0100 |
commit | c73c38ab243b3a54a36b284376d9fb986bce02d7 (patch) | |
tree | 1fe1db4531f7f51a20bbe5a5fa4cfd49235c2974 | |
parent | 9a33671a0c5f788f85d23c34f880d0994789e675 (diff) | |
download | Ishtar-c73c38ab243b3a54a36b284376d9fb986bce02d7.tar.bz2 Ishtar-c73c38ab243b3a54a36b284376d9fb986bce02d7.zip |
Account deletion: fix summary
-rw-r--r-- | CHANGES.md | 3 | ||||
-rw-r--r-- | ishtar_common/forms_common.py | 16 | ||||
-rw-r--r-- | ishtar_common/models.py | 4 | ||||
-rw-r--r-- | ishtar_common/version.py | 4 | ||||
-rw-r--r-- | ishtar_common/views.py | 2 | ||||
-rw-r--r-- | ishtar_common/wizards.py | 12 |
6 files changed, 36 insertions, 5 deletions
diff --git a/CHANGES.md b/CHANGES.md index 5f17fcd8f..3d7f1103a 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -6,12 +6,13 @@ date: 2022-11-04 Ishtar changelog ================ -v4.0.5 - 2022- +v4.0.5 - 2022-07-17 -------------------- ### Bug fix ### - Geo - sheet: fix coordinates display +- Account deletion: fix summary v4.0.4 - 2022-07-17 -------------------- diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 856381d05..e6afc4504 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -980,6 +980,7 @@ class IshtarUserSelect(TableSelect): ) def __init__(self, *args, **kwargs): + self.user = kwargs.pop("user") if "user" in kwargs else None super(IshtarUserSelect, self).__init__(*args, **kwargs) self.fields["person_types"].choices = models.PersonType.get_types() @@ -998,6 +999,21 @@ class AccountFormSelection(forms.Form): ) +class AccountFormMultiSelection(MultiSearchForm): + form_label = _("Account search") + associated_models = {"pks": models.IshtarUser} + pk_key = "pks" + + pk = forms.CharField( + label="", + required=False, + widget=widgets.DataTable( + reverse_lazy("get-ishtaruser"), IshtarUserSelect, models.IshtarUser + ), + validators=[models.valid_id(models.IshtarUser)], + ) + + class BasePersonForm(forms.ModelForm): class Meta: model = models.Person diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 870cce90b..81fc4c069 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -3318,6 +3318,10 @@ class IshtarUser(FullSearch): def __str__(self): return str(self.person) + @classmethod + def class_verbose_name(cls): + return cls._meta.verbose_name + def show_field_number(self, update=False): cache_key, value = get_cache(self.__class__, ["show_field_number"]) if not update and value is not None: diff --git a/ishtar_common/version.py b/ishtar_common/version.py index 496f16954..7b6d2660d 100644 --- a/ishtar_common/version.py +++ b/ishtar_common/version.py @@ -1,5 +1,5 @@ -# 4.0.4 -VERSION = (4, 0, 4) +# 4.0.5 +VERSION = (4, 0, 5) def get_version(): diff --git a/ishtar_common/views.py b/ishtar_common/views.py index d019da8ba..c706a4b45 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -310,7 +310,7 @@ account_management_wizard = wizards.AccountWizard.as_view( account_deletion_wizard = wizards.IshtarUserDeletionWizard.as_view( [ - ("selec-account_deletion", forms.AccountFormSelection), + ("selec-account_deletion", forms.AccountFormMultiSelection), ("final-account_deletion", FinalDeleteForm), ], label=_("Account deletion"), diff --git a/ishtar_common/wizards.py b/ishtar_common/wizards.py index 5f3606a5e..ba3eb4556 100644 --- a/ishtar_common/wizards.py +++ b/ishtar_common/wizards.py @@ -1914,9 +1914,19 @@ class PersonDeletionWizard(MultipleDeletionWizard): } -class IshtarUserDeletionWizard(DeletionWizard): +class IshtarUserDeletionWizard(MultipleDeletionWizard): model = models.IshtarUser fields = model.TABLE_COLS + redirect_url = "account_deletion" + + def get_formated_datas(self, forms): + datas = super(IshtarUserDeletionWizard, self).get_formated_datas(forms) + print(self.current_objs, datas) + for idx, values in enumerate(datas): + obj = self.current_objs[idx] + datas[idx][1].append((_("Username"), obj.user_ptr.username)) + datas[idx][1].append((_("Email"), obj.user_ptr.email or "-")) + return datas class OrganizationWizard(Wizard): |