summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_files/models.py15
-rw-r--r--archaeological_files_pdl/templates/ishtar/wizard/file_confirm_wizard.html17
-rw-r--r--archaeological_files_pdl/wizards.py20
-rw-r--r--ishtar_common/static/media/style.css1
-rw-r--r--ishtar_common/templates/ishtar/wizard/confirm_wizard.html1
5 files changed, 54 insertions, 0 deletions
diff --git a/archaeological_files/models.py b/archaeological_files/models.py
index 1d8822a3b..155c61a5e 100644
--- a/archaeological_files/models.py
+++ b/archaeological_files/models.py
@@ -282,6 +282,21 @@ class File(BaseHistorizedItem, OwnPerms, ValueGetter, ShortMenuItem,
if getattr(self.corporation_general_contractor, key)])
return address
+ @classmethod
+ def similar_files(cls, parcels):
+ # get similar parcels
+ similar = set()
+ for parcel in parcels:
+ q = cls.objects.filter(
+ parcels__town__pk=parcel['town'],
+ parcels__section=parcel['section'],
+ parcels__parcel_number=parcel['parcel_number']
+ )
+ if q.count():
+ for fle in q.all():
+ similar.add(fle)
+ return similar
+
def update_has_admin_act(self, cache_key=None):
if not cache_key:
cache_key, val = get_cache(self.__class__, [self.pk,
diff --git a/archaeological_files_pdl/templates/ishtar/wizard/file_confirm_wizard.html b/archaeological_files_pdl/templates/ishtar/wizard/file_confirm_wizard.html
new file mode 100644
index 000000000..45298c896
--- /dev/null
+++ b/archaeological_files_pdl/templates/ishtar/wizard/file_confirm_wizard.html
@@ -0,0 +1,17 @@
+{% extends "ishtar/wizard/confirm_wizard.html" %}
+{% load url from future %}
+{% load i18n %}
+
+{% block "warning_informations" %}
+{% for file in similar_files %}
+{% if forloop.first %}
+<p class='alert'><label>{% trans "These(s) file(s) are in the same town and have parcel(s) in common." %}</label></p>
+<ul>
+{% endif%}
+ <li>{{file}} <a href='#' onclick='load_window("{% url 'show-file' file.pk '' %}", "{{model_name}}");' class='display_details'>{% trans "Details" %}</a></li>
+{% if forloop.last %}
+</ul>
+<hr/>
+{% endif %}
+{% endfor %}
+{% endblock %}
diff --git a/archaeological_files_pdl/wizards.py b/archaeological_files_pdl/wizards.py
index 1d8351176..61294e538 100644
--- a/archaeological_files_pdl/wizards.py
+++ b/archaeological_files_pdl/wizards.py
@@ -37,6 +37,7 @@ class FileWizard(BaseFileWizard):
'preventiveplanning-%(url_name)s':
'ishtar/wizard/wizard_preventiveplanning.html',
}
+ wizard_confirm = 'ishtar/wizard/file_confirm_wizard.html'
def get_current_year(self):
general_form_key = 'general-' + self.url_name
@@ -68,6 +69,7 @@ class FileWizard(BaseFileWizard):
context = super(FileWizard, self).get_context_data(form)
formplanning = "planningservice-" + self.url_name
forminstruction = "instruction-" + self.url_name
+ formfinal = "final-" + self.url_name
if self.steps.current == formplanning:
try:
idx = int(
@@ -83,6 +85,24 @@ class FileWizard(BaseFileWizard):
if saisine_type:
context['saisine_type'] = unicode(saisine_type)
context['saisine_type_delay'] = saisine_type.delay or 0
+ elif self.steps.current == formfinal and \
+ self.steps.current.endswith('creation'): # creation only
+ parcels = []
+ parcel_step_key = self.parcel_step_key + self.url_name
+
+ parcel_numbers = self.session_get_value(
+ parcel_step_key, 'parcel_number', multi=True) or []
+ sections = self.session_get_value(
+ parcel_step_key, 'section', multi=True) or []
+ towns = self.session_get_value(
+ parcel_step_key, 'town', multi=True) or []
+ for idx, parcel_number in enumerate(parcel_numbers):
+ if not parcel_number:
+ continue
+ parcels.append({'town': towns[idx],
+ 'section': sections[idx],
+ 'parcel_number': parcel_number})
+ context['similar_files'] = models.File.similar_files(parcels)
return context
diff --git a/ishtar_common/static/media/style.css b/ishtar_common/static/media/style.css
index e82865e05..42d953833 100644
--- a/ishtar_common/static/media/style.css
+++ b/ishtar_common/static/media/style.css
@@ -273,6 +273,7 @@ a.button{
background-image:url(images/info.png);
background-repeat:no-repeat;
text-decoration:none;
+ vertical-align: bottom;
}
.display_details_inline{
diff --git a/ishtar_common/templates/ishtar/wizard/confirm_wizard.html b/ishtar_common/templates/ishtar/wizard/confirm_wizard.html
index 15bb9e9bd..9007c867c 100644
--- a/ishtar_common/templates/ishtar/wizard/confirm_wizard.html
+++ b/ishtar_common/templates/ishtar/wizard/confirm_wizard.html
@@ -13,6 +13,7 @@
</form>
<form action="." method="post">{% csrf_token %}
<div class='form'>
+ {% block "warning_informations" %}{% endblock %}
<p>{%if confirm_msg %}{{confirm_msg|safe}}{%else%}{% trans "You have entered the following informations:" %}{%endif%}</p>
{% for form_label, form_data in datas %}
<table class='confirm'>