From a2d4d2cf2561c4dfe926ab03f4dbcfb3409310c7 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 13 Sep 2019 18:37:06 +0200 Subject: Muliple person deletion wizard --- ishtar_common/forms_common.py | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'ishtar_common/forms_common.py') diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py index 235138eea..42bf90691 100644 --- a/ishtar_common/forms_common.py +++ b/ishtar_common/forms_common.py @@ -44,7 +44,8 @@ from ishtar_common.templatetags.link_to_window import simple_link_to_window from .forms import FinalForm, FormSet, reverse_lazy, name_validator, \ TableSelect, ManageOldType, CustomForm, FieldType, FormHeader, \ FormSetWithDeleteSwitches, BSForm, get_data_from_formset, \ - file_size_validator, HistorySelect, CustomFormSearch, QAForm, IshtarForm + file_size_validator, HistorySelect, CustomFormSearch, QAForm, IshtarForm, \ + MultiSearchForm from ishtar_common.utils import is_downloadable, clean_session_cache, \ max_size_help @@ -515,6 +516,25 @@ class PersonFormSelection(CustomFormSearch): validators=[models.valid_id(models.Person)]) +class PersonFormMultiSelection(MultiSearchForm, PersonFormSelection): + pk_key = 'pks' + associated_models = {'pks': models.Person} + + pk = forms.CharField( + label="", + required=True, + widget=widgets.DataTable( + reverse_lazy('get-person'), PersonSelect, models.Person, + multiple_select=True, + source_full=reverse_lazy('get-person-full')), + validators=[models.valid_ids(models.Person)]) + + def __init__(self, *args, **kwargs): + super(MultiSearchForm, self).__init__(*args, **kwargs) + self.fields['pk'].required = True + self.fields[self.pk_key] = self.fields.pop('pk') + + class QAPersonFormMulti(QAForm): form_admin_name = _(u"Person - Quick action - Modify") form_slug = "person-quickaction-modify" -- cgit v1.2.3