diff options
-rw-r--r-- | CHANGES.md | 1 | ||||
-rw-r--r-- | archaeological_operations/forms.py | 23 |
2 files changed, 22 insertions, 2 deletions
diff --git a/CHANGES.md b/CHANGES.md index 16c5c7cb0..fc3574f57 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -8,6 +8,7 @@ v3.0.4 - 2020-XX-XX - Quick actions - tables: - find: edit - add appraisal date and treatment emergency fields - person: edit - add organization field + - operation: edit - add operator field v3.0.3 - 2020-02-24 ------------------- 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( |