diff options
-rw-r--r-- | archaeological_finds/forms.py | 23 | ||||
-rw-r--r-- | archaeological_finds/migrations/0020_auto_20180326_1650.py | 35 | ||||
-rw-r--r-- | archaeological_finds/models_finds.py | 13 | ||||
-rw-r--r-- | archaeological_finds/templates/ishtar/sheet_find.html | 16 | ||||
-rw-r--r-- | ishtar_common/templates/blocks/bs_field_snippet.html | 2 | ||||
-rw-r--r-- | scss/custom.scss | 2 |
6 files changed, 83 insertions, 8 deletions
diff --git a/archaeological_finds/forms.py b/archaeological_finds/forms.py index 04001366e..6a72aa590 100644 --- a/archaeological_finds/forms.py +++ b/archaeological_finds/forms.py @@ -142,8 +142,8 @@ class FindForm(CustomForm, ManageOldType): 'get_first_base_find__spatial_reference_system': SpatialReferenceSystem} HEADERS = {} - HEADERS['label'] = FormHeader(_(u"Identification")) + label = forms.CharField( label=_(u"Free ID"), validators=[validators.MaxLengthValidator(60)]) @@ -158,7 +158,10 @@ class FindForm(CustomForm, ManageOldType): description = forms.CharField(label=_(u"Description"), widget=forms.Textarea, required=False) get_first_base_find__discovery_date = forms.DateField( - label=_(u"Discovery date"), widget=DatePicker, required=False) + label=_(u"Discovery date (exact or TPQ)"), widget=DatePicker, + required=False) + get_first_base_find__discovery_date_taq = forms.DateField( + label=_(u"Discovery date (TAQ)"), widget=DatePicker, required=False) get_first_base_find__batch = forms.ChoiceField( label=_(u"Batch/object"), choices=[], required=False) @@ -254,6 +257,22 @@ class FindForm(CustomForm, ManageOldType): self.fields['checked'].choices = models.CHECK_CHOICES def clean(self): + taq = self.cleaned_data.get('get_first_base_find__discovery_date_taq', + None) + tpq = self.cleaned_data.get('get_first_base_find__discovery_date', + None) + if taq and not tpq: + raise forms.ValidationError( + unicode(_( + u"Discovery date: if a TAQ date is provided a TPQ date has " + u"to be informed. If you have a precise date fill only the " + u"TPQ - discovery date field.")) + ) + elif tpq and taq and taq < tpq: + raise forms.ValidationError( + unicode(_(u"Discovery date: TAQ date must be older than TPQ " + u"date."))) + if not get_current_profile().mapping: return self.cleaned_data x = self.cleaned_data.get('get_first_base_find__x', None) diff --git a/archaeological_finds/migrations/0020_auto_20180326_1650.py b/archaeological_finds/migrations/0020_auto_20180326_1650.py new file mode 100644 index 000000000..ed0564384 --- /dev/null +++ b/archaeological_finds/migrations/0020_auto_20180326_1650.py @@ -0,0 +1,35 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.10 on 2018-03-26 16:50 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('archaeological_finds', '0019_auto_20180315_1000'), + ] + + operations = [ + migrations.AddField( + model_name='basefind', + name='discovery_date_taq', + field=models.DateField(blank=True, null=True, verbose_name='Discovery date (TAQ)'), + ), + migrations.AddField( + model_name='historicalbasefind', + name='discovery_date_taq', + field=models.DateField(blank=True, null=True, verbose_name='Discovery date (TAQ)'), + ), + migrations.AlterField( + model_name='basefind', + name='discovery_date', + field=models.DateField(blank=True, null=True, verbose_name='Discovery date (exact or TPQ)'), + ), + migrations.AlterField( + model_name='historicalbasefind', + name='discovery_date', + field=models.DateField(blank=True, null=True, verbose_name='Discovery date (exact or TPQ)'), + ), + ] diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py index 1f132d3e8..ae3c45579 100644 --- a/archaeological_finds/models_finds.py +++ b/archaeological_finds/models_finds.py @@ -219,8 +219,10 @@ class BaseFind(BulkUpdatedItem, BaseHistorizedItem, OwnPerms): context_record = models.ForeignKey( ContextRecord, related_name='base_finds', verbose_name=_(u"Context Record")) - discovery_date = models.DateField(_(u"Discovery date"), + discovery_date = models.DateField(_(u"Discovery date (exact or TPQ)"), blank=True, null=True) + discovery_date_taq = models.DateField(_(u"Discovery date (TAQ)"), + blank=True, null=True) batch = models.ForeignKey(BatchType, verbose_name=_(u"Batch/object"), blank=True, null=True) index = models.IntegerField(u"Index", default=0) @@ -594,7 +596,10 @@ class Find(BulkUpdatedItem, ValueGetter, BaseHistorizedItem, ImageModel, 'base_finds__topographic_localisation': _(u"Base find - " u"Topographic localisation"), 'base_finds__special_interest': _(u"Base find - Special interest"), - 'base_finds__discovery_date': _(u"Base find - Discovery date"), + 'base_finds__discovery_date': _( + u"Base find - Discovery date (exact or TPQ)"), + 'base_finds__discovery_date_taq': _( + u"Base find - Discovery date (TAQ)"), 'container__cached_label': _(u"Container"), 'datings__period__label': _(u"Periods"), 'material_types__label': _(u"Material types"), @@ -607,7 +612,9 @@ class Find(BulkUpdatedItem, ValueGetter, BaseHistorizedItem, ImageModel, 'base_finds__comment', 'base_finds__description', 'base_finds__topographic_localisation', 'base_finds__special_interest', - 'base_finds__discovery_date'] + 'base_finds__discovery_date', + 'base_finds__discovery_date_taq', + ] ATTRS_EQUIV = {'get_first_base_find': 'base_finds'} # search parameters diff --git a/archaeological_finds/templates/ishtar/sheet_find.html b/archaeological_finds/templates/ishtar/sheet_find.html index 6b49a66b9..de1993634 100644 --- a/archaeological_finds/templates/ishtar/sheet_find.html +++ b/archaeological_finds/templates/ishtar/sheet_find.html @@ -239,7 +239,21 @@ {% field_flex "Batch/object" base_find.batch|from_dict:base_find.history_object.IS_ISOLATED_DICT %} {% endif %} - {% field_flex "Discovery date" base_find.discovery_date %} + {# START discovery dates #} + {% if not base_find.discovery_date_taq %} + {% trans "Discovery date" as discovery_date_label %} + {% field_flex discovery_date_label base_find.discovery_date %} + {% elif base_find.discovery_date.year == base_find.discovery_date_taq.year and base_find.discovery_date_taq|date:"d-m" == "31-12" and base_find.discovery_date|date:"d-m" == "01-01" %} + {% trans "Discovery year" as discovery_year_label %} + {% field_flex discovery_year_label base_find.discovery_date.year %} + {% else %} + {% trans "Discovery date (TPQ)" as discovery_tpq_label %} + {% field_flex discovery_tpq_label base_find.discovery_date %} + {% trans "Discovery date (TAQ)" as discovery_taq_label %} + {% field_flex discovery_taq_label base_find.discovery_date_taq %} + {% endif %} + {# END discovery dates #} + {% field_flex "Special interest" base_find.special_interest %} {% field_flex_detail "Context record" base_find.context_record %} {% field_flex "Town" base_find.context_record.parcel.town %} diff --git a/ishtar_common/templates/blocks/bs_field_snippet.html b/ishtar_common/templates/blocks/bs_field_snippet.html index 549550cef..4c4e17bf1 100644 --- a/ishtar_common/templates/blocks/bs_field_snippet.html +++ b/ishtar_common/templates/blocks/bs_field_snippet.html @@ -1,5 +1,5 @@ {% load i18n %} - <div class="form-group col-lg-6{% if field.errors %} is-invalid{% endif %}{% if field.field.required %} required{% endif %}"> + <div class="form-group {% if field.field.widget.attrs.cols %}col-lg-12{% else %}col-lg-6{% endif %}{% if field.errors %} is-invalid{% endif %}{% if field.field.required %} required{% endif %}"> {{ field.label_tag }} {% if field.help_text %} <div class="input-group"> diff --git a/scss/custom.scss b/scss/custom.scss index 436ef9579..38b36d69a 100644 --- a/scss/custom.scss +++ b/scss/custom.scss @@ -110,7 +110,7 @@ h4, .h4 { } textarea { - height: 150px; + height: 90px; } .sheet h4 { color: $text-muted; } |