refactor(instructeur): cleanup destroy / restore routes
This commit is contained in:
parent
78bf1147d0
commit
a50d07400e
7 changed files with 23 additions and 23 deletions
|
@ -226,14 +226,25 @@ module Instructeurs
|
||||||
zipline(files, "dossier-#{dossier.id}.zip")
|
zipline(files, "dossier-#{dossier.id}.zip")
|
||||||
end
|
end
|
||||||
|
|
||||||
def delete_dossier
|
def destroy
|
||||||
if dossier.termine?
|
if dossier.termine?
|
||||||
dossier.hide_and_keep_track!(current_instructeur, :instructeur_request)
|
dossier.hide_and_keep_track!(current_instructeur, :instructeur_request)
|
||||||
flash.notice = t('instructeurs.dossiers.deleted_by_instructeur')
|
flash.notice = t('instructeurs.dossiers.deleted_by_instructeur')
|
||||||
redirect_to instructeur_procedure_path(procedure)
|
|
||||||
else
|
else
|
||||||
flash.alert = t('instructeurs.dossiers.impossible_deletion')
|
flash.alert = t('instructeurs.dossiers.impossible_deletion')
|
||||||
redirect_back(fallback_location: instructeur_procedures_url)
|
end
|
||||||
|
redirect_back(fallback_location: instructeur_procedure_path(procedure))
|
||||||
|
end
|
||||||
|
|
||||||
|
def restore
|
||||||
|
dossier = current_instructeur.dossiers.find(params[:dossier_id])
|
||||||
|
dossier.restore(current_instructeur)
|
||||||
|
flash.notice = t('instructeurs.dossiers.restore')
|
||||||
|
|
||||||
|
if dossier.termine?
|
||||||
|
redirect_to instructeur_procedure_path(procedure, statut: :traites)
|
||||||
|
else
|
||||||
|
redirect_back(fallback_location: instructeur_procedure_path(procedure))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -278,6 +278,8 @@ module Instructeurs
|
||||||
redirect_to instructeur_procedure_path(@procedure)
|
redirect_to instructeur_procedure_path(@procedure)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
def create_bulk_message_mail(dossier_count, dossier_state)
|
def create_bulk_message_mail(dossier_count, dossier_state)
|
||||||
BulkMessage.create(
|
BulkMessage.create(
|
||||||
dossier_count: dossier_count,
|
dossier_count: dossier_count,
|
||||||
|
@ -290,15 +292,6 @@ module Instructeurs
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
def restore
|
|
||||||
dossier = current_instructeur.dossiers.find(params[:dossier_id])
|
|
||||||
dossier.restore(current_instructeur)
|
|
||||||
flash.notice = t('instructeurs.dossiers.restore')
|
|
||||||
redirect_to instructeur_procedure_path(procedure)
|
|
||||||
end
|
|
||||||
|
|
||||||
private
|
|
||||||
|
|
||||||
def assign_to_params
|
def assign_to_params
|
||||||
params.require(:assign_to)
|
params.require(:assign_to)
|
||||||
.permit(:instant_email_dossier_notifications_enabled, :instant_email_message_notifications_enabled, :daily_email_notifications_enabled, :weekly_email_notifications_enabled)
|
.permit(:instant_email_dossier_notifications_enabled, :instant_email_message_notifications_enabled, :daily_email_notifications_enabled, :weekly_email_notifications_enabled)
|
||||||
|
|
|
@ -114,8 +114,7 @@
|
||||||
L’usager a supprimé son compte. Vous pouvez archiver puis supprimer le dossier.
|
L’usager a supprimé son compte. Vous pouvez archiver puis supprimer le dossier.
|
||||||
|
|
||||||
%li
|
%li
|
||||||
= link_to supprimer_dossier_instructeur_dossier_path(dossier.procedure, dossier), method: :patch, data: { confirm: "Voulez vous vraiment supprimer le dossier #{dossier.id} ? Cette action est irréversible. \nNous vous suggérons de télécharger le dossier au format PDF au préalable." } do
|
= link_to instructeur_dossier_path(dossier.procedure, dossier), method: :delete do
|
||||||
%span.icon.delete
|
%span.icon.delete
|
||||||
.dropdown-description
|
.dropdown-description
|
||||||
%h4 Supprimer le dossier
|
%h4 Supprimer le dossier
|
||||||
L’usager sera notifié que son dossier est supprimé.
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
Archiver le dossier
|
Archiver le dossier
|
||||||
|
|
||||||
%li.danger
|
%li.danger
|
||||||
= link_to supprimer_dossier_instructeur_dossier_path(procedure_id, dossier_id), method: :patch, data: { confirm: "Voulez vous vraiment supprimer le dossier #{dossier_id} ? Cette action est irréversible. \nNous vous suggérons de télécharger le dossier au format PDF au préalable." } do
|
= link_to instructeur_dossier_path(procedure_id, dossier_id), method: :delete do
|
||||||
%span.icon.delete
|
%span.icon.delete
|
||||||
.dropdown-description
|
.dropdown-description
|
||||||
= t('views.instructeurs.dossiers.delete_dossier')
|
= t('views.instructeurs.dossiers.delete_dossier')
|
||||||
|
|
|
@ -359,7 +359,7 @@ Rails.application.routes.draw do
|
||||||
get 'email_usagers'
|
get 'email_usagers'
|
||||||
post 'create_multiple_commentaire'
|
post 'create_multiple_commentaire'
|
||||||
|
|
||||||
resources :dossiers, only: [:show], param: :dossier_id do
|
resources :dossiers, only: [:show, :destroy], param: :dossier_id do
|
||||||
member do
|
member do
|
||||||
resources :commentaires, only: [:destroy]
|
resources :commentaires, only: [:destroy]
|
||||||
post 'repousser-expiration' => 'dossiers#extend_conservation'
|
post 'repousser-expiration' => 'dossiers#extend_conservation'
|
||||||
|
@ -375,7 +375,7 @@ Rails.application.routes.draw do
|
||||||
patch 'unfollow'
|
patch 'unfollow'
|
||||||
patch 'archive'
|
patch 'archive'
|
||||||
patch 'unarchive'
|
patch 'unarchive'
|
||||||
patch 'supprimer-dossier' => 'dossiers#delete_dossier'
|
patch 'restore'
|
||||||
patch 'annotations' => 'dossiers#update_annotations'
|
patch 'annotations' => 'dossiers#update_annotations'
|
||||||
post 'commentaire' => 'dossiers#create_commentaire'
|
post 'commentaire' => 'dossiers#create_commentaire'
|
||||||
post 'passer-en-instruction' => 'dossiers#passer_en_instruction'
|
post 'passer-en-instruction' => 'dossiers#passer_en_instruction'
|
||||||
|
@ -386,7 +386,6 @@ Rails.application.routes.draw do
|
||||||
post 'avis' => 'dossiers#create_avis'
|
post 'avis' => 'dossiers#create_avis'
|
||||||
get 'print' => 'dossiers#print'
|
get 'print' => 'dossiers#print'
|
||||||
get 'telecharger_pjs' => 'dossiers#telecharger_pjs'
|
get 'telecharger_pjs' => 'dossiers#telecharger_pjs'
|
||||||
patch 'restore'
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -740,9 +740,9 @@ describe Instructeurs::DossiersController, type: :controller do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "#delete_dossier" do
|
describe "#destroy" do
|
||||||
subject do
|
subject do
|
||||||
patch :delete_dossier, params: {
|
delete :destroy, params: {
|
||||||
procedure_id: procedure.id,
|
procedure_id: procedure.id,
|
||||||
dossier_id: dossier.id
|
dossier_id: dossier.id
|
||||||
}
|
}
|
||||||
|
|
|
@ -70,9 +70,7 @@ describe 'Instructing a dossier:', js: true do
|
||||||
click_on procedure.libelle
|
click_on procedure.libelle
|
||||||
click_on 'traité'
|
click_on 'traité'
|
||||||
click_on 'Actions'
|
click_on 'Actions'
|
||||||
accept_confirm do
|
click_on 'Supprimer le dossier'
|
||||||
click_on 'Supprimer le dossier'
|
|
||||||
end
|
|
||||||
click_on 'traité'
|
click_on 'traité'
|
||||||
expect(page).not_to have_button('Actions')
|
expect(page).not_to have_button('Actions')
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in a new issue