amelioration(manager): ajout de la visualisation des comptes marqués comme membre de l'equipe

This commit is contained in:
Martin 2022-11-04 10:40:00 +01:00 committed by mfo
parent c9292e7ba8
commit bd28c29856
4 changed files with 84 additions and 0 deletions

View file

@ -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

View file

@ -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

View file

@ -0,0 +1,4 @@
class TeamAccount
extend ActiveModel::Naming
extend ActiveModel::Translation
end

View file

@ -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