diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-10-28 14:13:31 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-10-28 14:13:31 +0200 |
commit | 516a0a55be0a5dd4b3d1849ab5b7e150be1c9d7f (patch) | |
tree | 2c527257e8df950c22520da165c35935185ece22 /archaeological_operations/forms.py | |
parent | 606e7a781722b671f98135f72149f7b290f320bd (diff) | |
download | Ishtar-516a0a55be0a5dd4b3d1849ab5b7e150be1c9d7f.tar.bz2 Ishtar-516a0a55be0a5dd4b3d1849ab5b7e150be1c9d7f.zip |
Use lazy model evaluation for fixed type constraints
Diffstat (limited to 'archaeological_operations/forms.py')
-rw-r--r-- | archaeological_operations/forms.py | 57 |
1 files changed, 31 insertions, 26 deletions
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py index a12f245cb..37c35f4be 100644 --- a/archaeological_operations/forms.py +++ b/archaeological_operations/forms.py @@ -34,7 +34,9 @@ from django.utils.translation import ugettext_lazy as _, pgettext_lazy from django.utils.safestring import mark_safe from ishtar_common.models import valid_id, PersonType, Person, Town, \ - DocumentTemplate, Organization, OrganizationType, get_current_profile + DocumentTemplate, Organization, OrganizationType, get_current_profile, \ + person_type_pks_lazy, person_type_pk_lazy, organization_type_pks_lazy, \ + organization_type_pk_lazy from ishtar_common.wizards import MultiValueDict @@ -448,12 +450,6 @@ class RecordRelationsForm(ManageOldType, forms.Form): RecordRelationsFormSet = formset_factory(RecordRelationsForm, can_delete=True) RecordRelationsFormSet.form_label = _(u"Relations") -SRA_AGENT, created = PersonType.objects.get_or_create(txt_idx='sra_agent') -HEAD_SCIENTIST, created = PersonType.objects.get_or_create( - txt_idx='head_scientist') - -OPERATOR, created = OrganizationType.objects.get_or_create(txt_idx='operator') - class OperationSelect(TableSelect): year = forms.IntegerField(label=_("Year")) @@ -476,22 +472,23 @@ class OperationSelect(TableSelect): widget=widgets.JQueryAutoComplete( reverse_lazy( 'autocomplete-person-permissive', - args=["_".join( - [unicode(PersonType.objects.get(txt_idx='sra_agent').pk)])] + args=[person_type_pks_lazy(['sra_agent'])] ), associated_model=Person), label=_(u"In charge")) scientist = forms.IntegerField( widget=widgets.JQueryAutoComplete( - reverse_lazy('autocomplete-person-permissive', - args=["_".join([unicode(HEAD_SCIENTIST.pk), - unicode(SRA_AGENT.pk)])]), + reverse_lazy( + 'autocomplete-person-permissive', + args=[person_type_pks_lazy(['sra_agent', 'head_scientist'])]), associated_model=Person), label=_(u"Scientist in charge")) operator = forms.IntegerField( label=_("Operator"), widget=widgets.JQueryAutoComplete( - reverse_lazy('autocomplete-organization', args=[OPERATOR.pk]), + reverse_lazy( + 'autocomplete-organization', + args=[organization_type_pks_lazy(['operator'])]), associated_model=Organization), validators=[valid_id(Organization)]) # operator_reference = forms.CharField(label=_(u"Operator reference"), @@ -762,18 +759,21 @@ class OperationFormGeneral(ManageOldType, forms.Form): scientist = forms.IntegerField( label=_("Head scientist"), widget=widgets.JQueryAutoComplete( - reverse_lazy('autocomplete-person', - args=["_".join([unicode(HEAD_SCIENTIST.pk), - unicode(SRA_AGENT.pk)])]), + reverse_lazy( + 'autocomplete-person', + args=[person_type_pks_lazy(['head_scientist', 'sra_agent'])]), associated_model=Person, - limit={'person_types': (HEAD_SCIENTIST.pk, SRA_AGENT.pk)}, + limit={ + 'person_types': (person_type_pk_lazy('head_scientist'), + person_type_pk_lazy('sra_agent'))}, new=True), validators=[valid_id(Person)], required=False) operator = forms.IntegerField( label=_("Operator"), widget=widgets.JQueryAutoComplete( - reverse_lazy('autocomplete-organization', args=[OPERATOR.pk]), - limit={'organization_type': (OPERATOR.pk,)}, + 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) operator_reference = forms.CharField(label=_(u"Operator reference"), @@ -781,10 +781,12 @@ class OperationFormGeneral(ManageOldType, forms.Form): in_charge = forms.IntegerField( label=_("In charge"), widget=widgets.JQueryAutoComplete( - reverse_lazy('autocomplete-person', - args=["_".join([unicode(SRA_AGENT.pk)])]), + reverse_lazy( + 'autocomplete-person', + args=[person_type_pks_lazy(['sra_agent'])]), associated_model=Person, - limit={'person_types': [SRA_AGENT.pk]}, new=True), + limit={'person_types': [person_type_pk_lazy('sra_agent')]}, + new=True), validators=[valid_id(Person)], required=False) surface = forms.IntegerField( required=False, widget=widgets.AreaWidget, @@ -812,10 +814,13 @@ class OperationFormGeneral(ManageOldType, forms.Form): cira_rapporteur = forms.IntegerField( label=u"Rapporteur CIRA", widget=widgets.JQueryAutoComplete( - reverse_lazy('autocomplete-person', - args=["_".join([unicode(HEAD_SCIENTIST.pk), - unicode(SRA_AGENT.pk)])]), - limit={'person_types': [SRA_AGENT.pk, HEAD_SCIENTIST.pk]}, + reverse_lazy( + 'autocomplete-person', + args=[person_type_pks_lazy(['head_scientist', + 'sra_agent'])]), + limit={'person_types': [ + person_type_pk_lazy('sra_agent'), + person_type_pk_lazy('head_scientist')]}, associated_model=Person, new=True), validators=[valid_id(Person)], required=False) documentation_deadline = forms.DateField( |