summaryrefslogtreecommitdiff
path: root/archaeological_warehouse/forms.py
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2019-02-19 17:36:25 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2019-04-24 19:38:56 +0200
commit4f63ed814f96bbc68c22c98b799c3911d62aa737 (patch)
tree1ac2de99841b7a28fee128a68700f59458594f14 /archaeological_warehouse/forms.py
parentb6d3f2dc4a24bb055b73b7c80815685572a83086 (diff)
downloadIshtar-4f63ed814f96bbc68c22c98b799c3911d62aa737.tar.bz2
Ishtar-4f63ed814f96bbc68c22c98b799c3911d62aa737.zip
Geo: manage container and warehouse - manage geo save dependencies
Diffstat (limited to 'archaeological_warehouse/forms.py')
-rw-r--r--archaeological_warehouse/forms.py31
1 files changed, 23 insertions, 8 deletions
diff --git a/archaeological_warehouse/forms.py b/archaeological_warehouse/forms.py
index 7a84b2833..4550970c9 100644
--- a/archaeological_warehouse/forms.py
+++ b/archaeological_warehouse/forms.py
@@ -25,7 +25,7 @@ from django.conf import settings
from django.forms.formsets import formset_factory
from django.utils.translation import ugettext_lazy as _
-from ishtar_common.models import Person, valid_id
+from ishtar_common.models import Person, valid_id, Town, SpatialReferenceSystem
from archaeological_operations.models import ArchaeologicalSite
from archaeological_context_records.models import ContextRecord
from archaeological_finds.models import TreatmentType, FindBasket, \
@@ -40,7 +40,8 @@ from bootstrap_datepicker.widgets import DatePicker
from ishtar_common.forms import name_validator, reverse_lazy, \
get_form_selection, ManageOldType, FinalForm, FormSet, \
- CustomForm, FieldType, HistorySelect
+ CustomForm, FieldType, HistorySelect, FormHeader
+from ishtar_common.forms_common import get_town_field
from archaeological_finds.forms import FindMultipleFormSelection, \
SelectFindBasketForm
@@ -115,16 +116,21 @@ class WarehouseFormSelection(forms.Form):
label="", required=False,
widget=widgets.DataTable(
reverse_lazy('get-warehouse'),
- WarehouseSelect, models.Warehouse),
+ WarehouseSelect, models.Warehouse, gallery=True, map=True),
validators=[valid_id(models.Warehouse)])
class WarehouseForm(CustomForm, ManageOldType, forms.Form):
+ HEADERS = {}
form_label = _(u"Warehouse")
form_admin_name = _(u"Warehouse - 010 - General")
form_slug = "warehouse-010-general"
- associated_models = {'warehouse_type': models.WarehouseType,
- 'person_in_charge': Person}
+ associated_models = {
+ 'warehouse_type': models.WarehouseType,
+ 'person_in_charge': Person,
+ 'precise_town': Town,
+ 'spatial_reference_system': SpatialReferenceSystem
+ }
name = forms.CharField(label=_(u"Name"), max_length=200,
validators=[name_validator])
@@ -145,14 +151,23 @@ class WarehouseForm(CustomForm, ManageOldType, forms.Form):
widget=forms.Textarea, required=False)
postal_code = forms.CharField(label=_(u"Postal code"), max_length=10,
required=False)
- town = forms.CharField(label=_(u"Town"), max_length=30, required=False)
+ town = forms.CharField(label=_(u"Town (freeform)"), max_length=150,
+ required=False)
+ precise_town = get_town_field(required=False)
country = forms.CharField(label=_(u"Country"), max_length=30,
required=False)
phone = forms.CharField(label=_(u"Phone"), max_length=18, required=False)
mobile_phone = forms.CharField(label=_(u"Mobile phone"), max_length=18,
required=False)
+ HEADERS['x'] = FormHeader(_(u"Coordinates"))
+ x = forms.FloatField(label=_(u"X"), required=False)
+ y = forms.FloatField(label=_(u"Y"), required=False)
+ spatial_reference_system = forms.ChoiceField(
+ label=_(u"Spatial Reference System"), required=False, choices=[])
+
TYPES = [
- FieldType('warehouse_type', models.WarehouseType)
+ FieldType('warehouse_type', models.WarehouseType),
+ FieldType('spatial_reference_system', SpatialReferenceSystem)
]
def __init__(self, *args, **kwargs):
@@ -347,7 +362,7 @@ ContainerFormSelection = get_form_selection(
MainContainerFormSelection = get_form_selection(
'ContainerFormSelection', _(u"Container search"), 'pk',
models.Container, ContainerSelect, 'get-container',
- _(u"You should select a container.")
+ _(u"You should select a container."), gallery=True, map=True
)