summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_operations/forms.py30
-rw-r--r--archaeological_operations/templates/ishtar/blocks/window_tables/archaeologicalsites.html20
-rw-r--r--archaeological_operations/templates/ishtar/sheet_operation.html7
-rw-r--r--archaeological_operations/templatetags/window_ope_tables.py9
-rw-r--r--archaeological_operations/views.py2
5 files changed, 59 insertions, 9 deletions
diff --git a/archaeological_operations/forms.py b/archaeological_operations/forms.py
index 9d6f27b50..84af8f287 100644
--- a/archaeological_operations/forms.py
+++ b/archaeological_operations/forms.py
@@ -466,12 +466,12 @@ class OperationSelect(TableSelect):
report_processing = forms.ChoiceField(label=_(u"Report processing"),
choices=[])
virtual_operation = forms.NullBooleanField(label=_(u"Virtual operation"))
- archaeological_sites = forms.IntegerField(
- label=_("Archaelogical site"),
- widget=widgets.JQueryAutoComplete(
- reverse_lazy('autocomplete-archaeologicalsite'),
- associated_model=models.ArchaeologicalSite),
- validators=[valid_id(models.ArchaeologicalSite)])
+ # archaeological_sites = forms.IntegerField(
+ # label=_("Archaelogical site"),
+ # widget=widgets.JQueryAutoComplete(
+ # reverse_lazy('autocomplete-archaeologicalsite'),
+ # associated_model=models.ArchaeologicalSite),
+ # validators=[valid_id(models.ArchaeologicalSite)])
history_creator = forms.IntegerField(
label=_(u"Created by"),
widget=widgets.JQueryAutoComplete(
@@ -990,6 +990,24 @@ class ArchaeologicalSiteForm(forms.Form):
return item
+class ArchaeologicalSiteBasicForm(forms.Form):
+ form_label = _("Archaeological site")
+ base_model = 'archaeological_site'
+ associated_models = {'archaeological_site': models.ArchaeologicalSite}
+ archaeological_site = forms.IntegerField(
+ label=_("Archaelogical site"),
+ widget=widgets.JQueryAutoComplete(
+ reverse_lazy('autocomplete-archaeologicalsite'),
+ associated_model=models.ArchaeologicalSite,
+ new=True),
+ validators=[valid_id(models.ArchaeologicalSite)])
+
+
+ArchaeologicalSiteFormSet = formset_factory(ArchaeologicalSiteBasicForm,
+ can_delete=True, formset=FormSet)
+ArchaeologicalSiteFormSet.form_label = _("Archaeological sites")
+
+
class ArchaeologicalSiteSelectionForm(forms.Form):
form_label = _("Associated archaelogical sites")
archaeological_sites = forms.IntegerField(
diff --git a/archaeological_operations/templates/ishtar/blocks/window_tables/archaeologicalsites.html b/archaeological_operations/templates/ishtar/blocks/window_tables/archaeologicalsites.html
new file mode 100644
index 000000000..d72291c5b
--- /dev/null
+++ b/archaeological_operations/templates/ishtar/blocks/window_tables/archaeologicalsites.html
@@ -0,0 +1,20 @@
+{% load i18n %}
+<table class='simple'>
+ <caption>{{caption}}</caption>
+ <tr>
+ <th>{% trans "Ref." %}</th>
+ <th>{% trans "Name" %}</th>
+ <th>{% trans "Periods" %}</th>
+ <th>{% trans "Remains" %}</th>
+ </tr>
+ {% for archaeosite in data %}
+ <tr>
+ <td class='string'>{{archaeosite.reference}}</td>
+ <td class='string'>{{archaeosite.name}}</td>
+ <td class='string'>{% for period in archaeosite.periods.all %}{{period}}{% include "blocks/comma_list.html" %}{% endfor %}</td>
+ <td class='string'>{% for remain in archaeosite.remains.all %}{{remain}}{% include "blocks/comma_list.html" %}{% endfor %}</td>
+ </tr>
+ {% empty %}
+ <tr><td colspan="4" class='no_items'>{% trans "No archaeological site associated" %}</td></tr>
+ {% endfor %}
+</table>
diff --git a/archaeological_operations/templates/ishtar/sheet_operation.html b/archaeological_operations/templates/ishtar/sheet_operation.html
index 87cf53b27..14210046b 100644
--- a/archaeological_operations/templates/ishtar/sheet_operation.html
+++ b/archaeological_operations/templates/ishtar/sheet_operation.html
@@ -96,8 +96,10 @@
{% field "Comment" item.comment "<pre>" "</pre>" %}
+{% if item.towns.count %}
<h3>{% trans "Localisation"%}</h3>
<p><label>{%trans "Towns:"%}</label> <span class='value'>{{ item.towns.all|join:", " }}</span></p>
+{% endif %}
{% if item.associated_file.address %}<p><label>{%trans "Main address:"%}</label> <span class='value'>{{ item.associated_file.address }}</span></p>
{% if item.associated_file.address_complement %}<p><label>{%trans "Complement:"%}</label> <span class='value'>{{ item.associated_file.address_complement }}</span></p>{%endif%}
@@ -120,6 +122,11 @@
{% endfor %}
{% endif %}
+{% if item.archaeological_sites.count %}
+{% trans "Archaeological sites" as archaeologicalsites_label %}
+{% table_archaeologicalsites archaeologicalsites_label item.archaeological_sites.all %}
+{% endif %}
+
{% trans "Associated parcels" as parcels_label %}
{% include "ishtar/blocks/window_tables/parcels.html" %}
diff --git a/archaeological_operations/templatetags/window_ope_tables.py b/archaeological_operations/templatetags/window_ope_tables.py
index 5576fe32d..ca263832f 100644
--- a/archaeological_operations/templatetags/window_ope_tables.py
+++ b/archaeological_operations/templatetags/window_ope_tables.py
@@ -1,10 +1,13 @@
from django import template
-from django.utils.translation import ugettext as _
-import re
register = template.Library()
+
@register.inclusion_tag('ishtar/blocks/window_tables/administrativacts.html')
def table_administrativact(caption, data):
- return {'caption':caption, 'data':data}
+ return {'caption': caption, 'data': data}
+
+@register.inclusion_tag('ishtar/blocks/window_tables/archaeologicalsites.html')
+def table_archaeologicalsites(caption, data):
+ return {'caption': caption, 'data': data}
diff --git a/archaeological_operations/views.py b/archaeological_operations/views.py
index 11e1d8711..0b9b9c453 100644
--- a/archaeological_operations/views.py
+++ b/archaeological_operations/views.py
@@ -234,6 +234,7 @@ operation_search_wizard = SearchWizard.as_view([
wizard_steps = [
('filechoice-operation_creation', OperationFormFileChoice),
('general-operation_creation', OperationFormGeneral),
+ ('archaeologicalsite-operation_creation', ArchaeologicalSiteFormSet),
('preventive-operation_creation', OperationFormPreventive),
('preventivediag-operation_creation', OperationFormPreventiveDiag),
('townsgeneral-operation_creation', TownFormset),
@@ -278,6 +279,7 @@ operation_creation_wizard = OperationWizard.as_view(
operation_modification_wizard = OperationModificationWizard.as_view([
('selec-operation_modification', OperationFormSelection),
('general-operation_modification', OperationFormModifGeneral),
+ ('archaeologicalsite-operation_modification', ArchaeologicalSiteFormSet),
('preventive-operation_modification', OperationFormPreventive),
('preventivediag-operation_modification', OperationFormPreventiveDiag),
('towns-operation_modification', SelectedTownFormset),