diff options
| -rw-r--r-- | archaeological_files/models.py | 15 | ||||
| -rw-r--r-- | archaeological_files_pdl/templates/ishtar/wizard/file_confirm_wizard.html | 17 | ||||
| -rw-r--r-- | archaeological_files_pdl/wizards.py | 20 | ||||
| -rw-r--r-- | ishtar_common/static/media/style.css | 1 | ||||
| -rw-r--r-- | ishtar_common/templates/ishtar/wizard/confirm_wizard.html | 1 | 
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'> | 
