From bd28c298560bb5a18eca7218f0f4a4eb1e059983 Mon Sep 17 00:00:00 2001 From: Martin Date: Fri, 4 Nov 2022 10:40:00 +0100 Subject: [PATCH] =?UTF-8?q?amelioration(manager):=20ajout=20de=20la=20visu?= =?UTF-8?q?alisation=20des=20comptes=20marqu=C3=A9s=20comme=20membre=20de?= =?UTF-8?q?=20l'equipe?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../manager/team_accounts_controller.rb | 18 ++++++ app/dashboards/team_account_dashboard.rb | 60 +++++++++++++++++++ app/models/team_account.rb | 4 ++ config/routes.rb | 2 + 4 files changed, 84 insertions(+) create mode 100644 app/controllers/manager/team_accounts_controller.rb create mode 100644 app/dashboards/team_account_dashboard.rb create mode 100644 app/models/team_account.rb diff --git a/app/controllers/manager/team_accounts_controller.rb b/app/controllers/manager/team_accounts_controller.rb new file mode 100644 index 000000000..d63969957 --- /dev/null +++ b/app/controllers/manager/team_accounts_controller.rb @@ -0,0 +1,18 @@ +module Manager + class TeamAccountsController < Manager::ApplicationController + def index + @records_per_page = params[:records_per_page] || "10" + resources = User.marked_as_team_account + .order(created_at: :asc) + .page(params[:_page]) + .per(@records_per_page) + page = Administrate::Page::Collection.new(dashboard) + + render locals: { + resources: resources, + page: page, + show_search_bar: false + } + end + end +end diff --git a/app/dashboards/team_account_dashboard.rb b/app/dashboards/team_account_dashboard.rb new file mode 100644 index 000000000..ab382a0f8 --- /dev/null +++ b/app/dashboards/team_account_dashboard.rb @@ -0,0 +1,60 @@ +require "administrate/base_dashboard" + +class TeamAccountDashboard < 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 = { + id: Field::Number, + email: Field::String, + created_at: Field::DateTime, + updated_at: Field::DateTime, + current_sign_in_at: Field::DateTime, + last_sign_in_at: Field::DateTime, + dossiers: Field::HasMany, + procedures: Field::HasMany, + administrateur: Field::HasOne, + instructeur: Field::HasOne + }.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 = [ + :email, + :administrateur, + :instructeur, + :last_sign_in_at, + :current_sign_in_at + + ].freeze + + # SHOW_PAGE_ATTRIBUTES + # an array of attributes that will be displayed on the model's show page. + SHOW_PAGE_ATTRIBUTES = [ + :dossiers, + :procedures, + :id, + :email, + :current_sign_in_at, + :last_sign_in_at, + :created_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 users are displayed + # across all pages of the admin dashboard. + # + def display_resource(user) + user.email + end +end diff --git a/app/models/team_account.rb b/app/models/team_account.rb new file mode 100644 index 000000000..048019de0 --- /dev/null +++ b/app/models/team_account.rb @@ -0,0 +1,4 @@ +class TeamAccount + extend ActiveModel::Naming + extend ActiveModel::Translation +end diff --git a/config/routes.rb b/config/routes.rb index bdc8934a8..b5e57770f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -63,6 +63,8 @@ Rails.application.routes.draw do resources :zones, only: [:index, :show] + resources :team_accounts, only: [:index, :show] + resources :dubious_procedures, only: [:index] resources :outdated_procedures, only: [:index] do patch :bulk_update, on: :collection