diff options
Diffstat (limited to 'ishtar_common/forms_common.py')
| -rw-r--r-- | ishtar_common/forms_common.py | 22 | 
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" | 
