From d1df41560068baff1efabc5798fc82923ffc8267 Mon Sep 17 00:00:00 2001 From: Étienne Loks Date: Fri, 13 Nov 2015 16:00:45 +0100 Subject: Archaeological files: on creation, final step display potential similar files (check based on parcels and towns) --- archaeological_files/models.py | 15 +++++++++++++++ .../templates/ishtar/wizard/file_confirm_wizard.html | 17 +++++++++++++++++ archaeological_files_pdl/wizards.py | 20 ++++++++++++++++++++ ishtar_common/static/media/style.css | 1 + .../templates/ishtar/wizard/confirm_wizard.html | 1 + 5 files changed, 54 insertions(+) create mode 100644 archaeological_files_pdl/templates/ishtar/wizard/file_confirm_wizard.html 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 %} +

+ +
+{% 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 @@
{% csrf_token %}
+ {% block "warning_informations" %}{% endblock %}

{%if confirm_msg %}{{confirm_msg|safe}}{%else%}{% trans "You have entered the following informations:" %}{%endif%}

{% for form_label, form_data in datas %} -- cgit v1.2.3