diff --git a/app/controllers/manager/dossiers_controller.rb b/app/controllers/manager/dossiers_controller.rb index d42d335ce..23068d4c4 100644 --- a/app/controllers/manager/dossiers_controller.rb +++ b/app/controllers/manager/dossiers_controller.rb @@ -1,4 +1,12 @@ module Manager class DossiersController < Manager::ApplicationController + def change_state_to_instruction + dossier = Dossier.find(params[:id]) + dossier.update(state: 'en_instruction', processed_at: nil, motivation: nil) + dossier.attestation&.destroy + logger.info("Le dossier #{dossier.id} est repassé en instruction par #{current_administration.email}") + flash[:notice] = "Le dossier #{dossier.id} est repassé en instruction" + redirect_to manager_dossier_path(dossier) + end end end diff --git a/app/views/manager/application/_navigation.html.erb b/app/views/manager/application/_navigation.html.erb index 60c28e051..bb217b350 100644 --- a/app/views/manager/application/_navigation.html.erb +++ b/app/views/manager/application/_navigation.html.erb @@ -12,7 +12,7 @@ as defined by the routes in the `admin/` namespace
- <% Administrate::Namespace.new(namespace).resources.reject { |resource| resource.resource == 'dossiers'}.each do |resource| %> + <% Administrate::Namespace.new(namespace).resources.each do |resource| %> <%= link_to( display_resource_name(resource), diff --git a/app/views/manager/dossiers/show.html.erb b/app/views/manager/dossiers/show.html.erb new file mode 100644 index 000000000..4213b3e0d --- /dev/null +++ b/app/views/manager/dossiers/show.html.erb @@ -0,0 +1,48 @@ +<%# +# Show + +This view is the template for the show page. +It renders the attributes of a resource, +as well as a link to its edit page. + +## Local variables: + +- `page`: + An instance of [Administrate::Page::Show][1]. + Contains methods for accessing the resource to be displayed on the page, + as well as helpers for describing how each attribute of the resource + should be displayed. + +[1]: http://www.rubydoc.info/gems/administrate/Administrate/Page/Show +%> + +<% content_for(:title) { t("administrate.actions.show_resource", name: page.page_title) } %> +<% dossier = page.resource %> + + + +
+
+ <% page.attributes.each do |attribute| %> +
+ <%= t( + "helpers.label.#{resource_name}.#{attribute.name}", + default: attribute.name.titleize, + ) %> +
+ +
<%= render_field attribute %>
+ <% end %> +
+
diff --git a/config/routes.rb b/config/routes.rb index bfaf02af0..b6617d7c8 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -6,6 +6,10 @@ Rails.application.routes.draw do post 'whitelist', on: :member end + resources :dossiers, only: [:index, :show] do + post 'change_state_to_instruction', on: :member + end + resources :administrateurs, only: [:index, :show, :new, :create] do post 'reinvite', on: :member put 'enable_feature', on: :member