summaryrefslogtreecommitdiff
path: root/archaeological_operations/forms.py
diff options
context:
space:
mode:
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
commit516a0a55be0a5dd4b3d1849ab5b7e150be1c9d7f (patch)
tree2c527257e8df950c22520da165c35935185ece22 /archaeological_operations/forms.py
parent606e7a781722b671f98135f72149f7b290f320bd (diff)
downloadIshtar-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.py57
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(