diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2020-03-09 12:53:12 +0100 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2020-03-09 12:53:12 +0100 |
commit | 41aa41d8b8743e1450654f399e543c2b01311a78 (patch) | |
tree | 88ee1d7bd9c9f07b345eca1e655dac5f93f727a2 /archaeological_operations | |
parent | cd71a36e769623a07701f3a2d38b35968752addd (diff) | |
download | Ishtar-41aa41d8b8743e1450654f399e543c2b01311a78.tar.bz2 Ishtar-41aa41d8b8743e1450654f399e543c2b01311a78.zip |
Quick actions - tables - operation: operator field
Diffstat (limited to 'archaeological_operations')
-rw-r--r-- | archaeological_operations/forms.py | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index eab5de15b..f8cc19165 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -604,6 +604,7 @@ class OperationFormSelection(LockForm, CustomFormSearch): SEARCH_AND_SELECT = True form_label = _(u"Operation search") associated_models = {'pk': models.Operation} + extra_form_modals = ["person", "organization"] currents = {'pk': models.Operation} pk = forms.IntegerField( label="", required=False, @@ -617,6 +618,7 @@ class OperationFormSelection(LockForm, CustomFormSearch): class OperationFormMultiSelection(LockForm, MultiSearchForm): form_label = _(u"Operation search") associated_models = {'pks': models.Operation} + extra_form_modals = ["person", "organization"] pk_key = 'pks' pk = forms.CharField( label="", required=False, @@ -1848,22 +1850,32 @@ class AdministrativeActRegisterFormSelection(IshtarForm): class QAOperationFormMulti(QAForm): - form_admin_name = _(u"Operation - Quick action - Modify") + form_admin_name = _("Operation - Quick action - Modify") form_slug = "operation-quickaction-modify" base_models = ['qa_operation_type'] associated_models = { 'qa_operation_type': models.OperationType, - 'qa_towns': Town + 'qa_towns': Town, + 'qa_operator': Organization, } MULTI = True REPLACE_FIELDS = [ 'qa_operation_type', + 'qa_operator', ] qa_operation_type = forms.ChoiceField( label=_(u"Operation type"), required=False ) qa_towns = get_town_field(required=False) + qa_operator = forms.IntegerField( + label=_("Operator"), + widget=widgets.JQueryAutoComplete( + reverse_lazy('autocomplete-organization', + args=[organization_type_pk_lazy('operator')]), + limit={'organization_type': organization_type_pk_lazy('operator')}, + associated_model=Organization, new=True), + validators=[valid_id(Organization)], required=False) TYPES = [ FieldType('qa_operation_type', models.OperationType), @@ -1876,6 +1888,13 @@ class QAOperationFormMulti(QAForm): return "" return value + def _get_qa_operator(self, value): + try: + value = Organization.objects.get(pk=value).cached_label + except Organization.DoesNotExist: + return "" + return value + class QAOperationDuplicateForm(IshtarForm): qa_code_patriarche = forms.CharField( |