summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-03-26 18:39:45 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-03-26 18:39:45 +0200
commitf5d4b206e43f81bb3c3192faf2b7e73d3f505ff1 (patch)
treec25424d9c4d45131f18dadf261854ffa54e6b631
parent3397e21d8d56d00b18c8a761683f5782daac5919 (diff)
downloadIshtar-f5d4b206e43f81bb3c3192faf2b7e73d3f505ff1.tar.bz2
Ishtar-f5d4b206e43f81bb3c3192faf2b7e73d3f505ff1.zip
Finds - discovery date: add a TAQ field (refs #4039) - improve display of discovery date in sheet - better display for textarea field
-rw-r--r--archaeological_finds/forms.py23
-rw-r--r--archaeological_finds/migrations/0020_auto_20180326_1650.py35
-rw-r--r--archaeological_finds/models_finds.py13
-rw-r--r--archaeological_finds/templates/ishtar/sheet_find.html16
-rw-r--r--ishtar_common/templates/blocks/bs_field_snippet.html2
-rw-r--r--scss/custom.scss2
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; }