summaryrefslogtreecommitdiff
path: root/ishtar_common/forms_common.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-09-13 18:37:06 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-09-13 18:37:29 +0200
commitbddadc1eec4f477ff85e666e009382a274ac1103 (patch)
tree81714ce5e159dcdd06faed1b44b2fa4ccdf22e1a /ishtar_common/forms_common.py
parent9bc04754f1a8a01cb7457c335c41a3b2fee0a68c (diff)
downloadIshtar-bddadc1eec4f477ff85e666e009382a274ac1103.tar.bz2
Ishtar-bddadc1eec4f477ff85e666e009382a274ac1103.zip
Muliple person deletion wizard
Diffstat (limited to 'ishtar_common/forms_common.py')
-rw-r--r--ishtar_common/forms_common.py22
1 files changed, 21 insertions, 1 deletions
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"