From 09d16496104a2e6a6b543cfb4cd799690537d905 Mon Sep 17 00:00:00 2001 From: simon lehericey Date: Thu, 25 May 2023 15:24:36 +0200 Subject: [PATCH 1/2] add groupe details to dossier --- .../manager/groupe_instructeurs_controller.rb | 45 +++++++++++++++++ app/dashboards/dossier_dashboard.rb | 4 +- .../groupe_instructeur_dashboard.rb | 50 +++++++++++++++++++ config/routes.rb | 2 + 4 files changed, 100 insertions(+), 1 deletion(-) create mode 100644 app/controllers/manager/groupe_instructeurs_controller.rb create mode 100644 app/dashboards/groupe_instructeur_dashboard.rb diff --git a/app/controllers/manager/groupe_instructeurs_controller.rb b/app/controllers/manager/groupe_instructeurs_controller.rb new file mode 100644 index 000000000..e8b55db6d --- /dev/null +++ b/app/controllers/manager/groupe_instructeurs_controller.rb @@ -0,0 +1,45 @@ +module Manager + class GroupeInstructeursController < Manager::ApplicationController + # Overwrite any of the RESTful controller actions to implement custom behavior + # For example, you may want to send an email after a foo is updated. + # + # def update + # super + # send_foo_updated_email(requested_resource) + # end + + # Override this method to specify custom lookup behavior. + # This will be used to set the resource for the `show`, `edit`, and `update` + # actions. + # + # def find_resource(param) + # end + + # The result of this lookup will be available as `requested_resource` + + # Override this if you have certain roles that require a subset + # this will be used to set the records shown on the `index` action. + # + # def scoped_resource + # if current_user.super_admin? + # resource_class + # else + # resource_class.with_less_stuff + # end + # end + + # Override `resource_params` if you want to transform the submitted + # data before it's persisted. For example, the following would turn all + # empty values into nil values. It uses other APIs such as `resource_class` + # and `dashboard`: + # + # def resource_params + # params.require(resource_class.model_name.param_key). + # permit(dashboard.permitted_attributes). + # transform_values { |value| value == "" ? nil : value } + # end + + # See https://administrate-prototype.herokuapp.com/customizing_controller_actions + # for more information + end +end diff --git a/app/dashboards/dossier_dashboard.rb b/app/dashboards/dossier_dashboard.rb index a2f47f75a..13e8a6cf9 100644 --- a/app/dashboards/dossier_dashboard.rb +++ b/app/dashboards/dossier_dashboard.rb @@ -21,7 +21,8 @@ class DossierDashboard < Administrate::BaseDashboard en_construction_at: Field::DateTime, en_instruction_at: Field::DateTime, processed_at: Field::DateTime, - champs_public: ChampCollectionField + champs_public: ChampCollectionField, + groupe_instructeur: Field::BelongsTo }.freeze # COLLECTION_ATTRIBUTES @@ -43,6 +44,7 @@ class DossierDashboard < Administrate::BaseDashboard :state, :procedure, :user, + :groupe_instructeur, :champs_public, :created_at, :updated_at, diff --git a/app/dashboards/groupe_instructeur_dashboard.rb b/app/dashboards/groupe_instructeur_dashboard.rb new file mode 100644 index 000000000..44ab82fa6 --- /dev/null +++ b/app/dashboards/groupe_instructeur_dashboard.rb @@ -0,0 +1,50 @@ +require "administrate/base_dashboard" + +class GroupeInstructeurDashboard < Administrate::BaseDashboard + # ATTRIBUTE_TYPES + # a hash that describes the type of each of the model's fields. + # + # Each different type represents an Administrate::Field object, + # which determines how the attribute is displayed + # on pages throughout the dashboard. + ATTRIBUTE_TYPES = { + procedure: Field::BelongsTo, + label: Field::String, + closed: Field::Boolean, + instructeurs: Field::HasMany, + created_at: Field::DateTime, + updated_at: Field::DateTime + }.freeze + + # COLLECTION_ATTRIBUTES + # an array of attributes that will be displayed on the model's index page. + # + # By default, it's limited to four items to reduce clutter on index pages. + # Feel free to add, remove, or rearrange items. + COLLECTION_ATTRIBUTES = [ + :label + ].freeze + + # SHOW_PAGE_ATTRIBUTES + # an array of attributes that will be displayed on the model's show page. + SHOW_PAGE_ATTRIBUTES = [ + :procedure, + :label, + :closed, + :instructeurs, + :created_at, + :updated_at + ].freeze + + # FORM_ATTRIBUTES + # an array of attributes that will be displayed + # on the model's form (`new` and `edit`) pages. + FORM_ATTRIBUTES = [].freeze + + # Overwrite this method to customize how procedures are displayed + # across all pages of the admin dashboard. + # + def display_resource(groupe) + "#{groupe.label} ##{groupe.id}" + end +end diff --git a/config/routes.rb b/config/routes.rb index ac3eae46c..802268590 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -33,6 +33,8 @@ Rails.application.routes.draw do post 'repasser_en_instruction', on: :member end + resources :groupe_instructeurs, only: [:index, :show] + resources :administrateurs, only: [:index, :show, :new, :create] do post 'reinvite', on: :member delete 'delete', on: :member From 9468e572a0c5e9ac9252cbb7dddba38d4ff2664e Mon Sep 17 00:00:00 2001 From: simon lehericey Date: Thu, 25 May 2023 15:40:29 +0200 Subject: [PATCH 2/2] move up user email in dossier description --- app/dashboards/dossier_dashboard.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/dashboards/dossier_dashboard.rb b/app/dashboards/dossier_dashboard.rb index 13e8a6cf9..b3941013b 100644 --- a/app/dashboards/dossier_dashboard.rb +++ b/app/dashboards/dossier_dashboard.rb @@ -40,10 +40,10 @@ class DossierDashboard < Administrate::BaseDashboard # SHOW_PAGE_ATTRIBUTES # an array of attributes that will be displayed on the model's show page. SHOW_PAGE_ATTRIBUTES = [ + :user, :text_summary, :state, :procedure, - :user, :groupe_instructeur, :champs_public, :created_at,