added extension bouton to en_construction dossiers bound to expire

This commit is contained in:
clemkeirua 2020-03-19 14:47:09 +01:00
parent dadbcd7ede
commit 5896aedeeb
4 changed files with 22 additions and 1 deletions

View file

@ -166,6 +166,12 @@ module Users
end end
end end
def extend_conservation
dossier.update(en_construction_conservation_extension: dossier.en_construction_conservation_extension + 1.month)
flash[:notice] = 'Votre dossier sera conservé un mois supplémentaire'
redirect_to dossier_path(@dossier)
end
def modifier def modifier
@dossier = dossier_with_champs @dossier = dossier_with_champs
end end

View file

@ -172,7 +172,7 @@ class Dossier < ApplicationRecord
scope :en_construction_close_to_expiration, -> do scope :en_construction_close_to_expiration, -> do
en_construction en_construction
.joins(:procedure) .joins(:procedure)
.where("dossiers.en_construction_at + (duree_conservation_dossiers_dans_ds * interval '1 month') - INTERVAL '1 month' <= now()") .where("dossiers.en_construction_at + dossiers.en_construction_conservation_extension + (duree_conservation_dossiers_dans_ds * interval '1 month') - INTERVAL '1 month' <= now()")
end end
scope :en_instruction_close_to_expiration, -> do scope :en_instruction_close_to_expiration, -> do
en_instruction en_instruction
@ -310,6 +310,10 @@ class Dossier < ApplicationRecord
instruction_commencee? && retention_end_date <= Time.zone.now instruction_commencee? && retention_end_date <= Time.zone.now
end end
def en_construction_close_to_expiration?
Dossier.en_construction_close_to_expiration.where(id: self).present?
end
def assign_to_groupe_instructeur(groupe_instructeur, author = nil) def assign_to_groupe_instructeur(groupe_instructeur, author = nil)
if groupe_instructeur.procedure == procedure && groupe_instructeur != self.groupe_instructeur if groupe_instructeur.procedure == procedure && groupe_instructeur != self.groupe_instructeur
if update(groupe_instructeur: groupe_instructeur, groupe_instructeur_updated_at: Time.zone.now) if update(groupe_instructeur: groupe_instructeur, groupe_instructeur_updated_at: Time.zone.now)

View file

@ -22,6 +22,16 @@
%li %li
= link_to "Tout le dossier", dossier_path(dossier, format: :pdf), target: "_blank", rel: "noopener", class: "menu-item menu-link" = link_to "Tout le dossier", dossier_path(dossier, format: :pdf), target: "_blank", rel: "noopener", class: "menu-item menu-link"
- if dossier.en_construction_close_to_expiration?
.card.warning
.card-title Votre dossier va expirer
%p
Votre dossier a été déposé, mais va bientôt expirer. Cela signifie qu'il va bientôt être supprimé sans avoir été traité par ladministration.
Si vous souhaitez le conserver afin de poursuivre la démarche, vous pouvez le conserver
un mois de plus en cliquant sur le bouton ci-dessous.
%br
= button_to 'Repousser sa suppression', users_dossier_repousser_expiration_path(dossier), class: 'button secondary'
%ul.tabs %ul.tabs
= dynamic_tab_item('Résumé', dossier_path(dossier)) = dynamic_tab_item('Résumé', dossier_path(dossier))
= dynamic_tab_item('Demande', [demande_dossier_path(dossier), modifier_dossier_path(dossier)]) = dynamic_tab_item('Demande', [demande_dossier_path(dossier), modifier_dossier_path(dossier)])

View file

@ -146,6 +146,7 @@ Rails.application.routes.draw do
post '/carte/zones' => 'carte#zones' post '/carte/zones' => 'carte#zones'
get '/carte' => 'carte#show' get '/carte' => 'carte#show'
post '/carte' => 'carte#save' post '/carte' => 'carte#save'
post '/repousser-expiration' => 'dossiers#extend_conservation'
end end
# Redirection of legacy "/users/dossiers" route to "/dossiers" # Redirection of legacy "/users/dossiers" route to "/dossiers"