Merge pull request #9763 from tchak/feat-manager-experts

feat(manager): add expert view
This commit is contained in:
Paul Chavard 2023-12-01 14:04:32 +00:00 committed by GitHub
commit 1efd54d429
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 64 additions and 3 deletions

View file

@ -0,0 +1,4 @@
module Manager
class ExpertsController < Manager::ApplicationController
end
end

View file

@ -0,0 +1,42 @@
require "administrate/base_dashboard"
class ExpertDashboard < 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,
user: Field::HasOne.with_options(searchable: true, searchable_field: 'email'),
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 = [
:id,
:user,
:created_at
].freeze
# SHOW_PAGE_ATTRIBUTES
# an array of attributes that will be displayed on the model's show page.
SHOW_PAGE_ATTRIBUTES = [
:id,
:user,
:created_at
].freeze
# Overwrite this method to customize how users are displayed
# across all pages of the admin dashboard.
#
def display_resource(expert)
expert.email
end
end

View file

@ -21,7 +21,7 @@
Instructeur
</dt>
<dd class="attribute-data attribute-data--meta-usager">
<% if user.instructeur.present? %>
<% if user.instructeur? %>
<%= link_to('Voir son compte instructeur', manager_instructeur_path(user.instructeur)) %>
<% else %>
Pas instructeur !
@ -29,12 +29,25 @@
</dd>
</dl>
<dl>
<dt class="attribute-label" id="meta-usager">
Expert
</dt>
<dd class="attribute-data attribute-data--meta-usager">
<% if user.expert? %>
<%= link_to('Voir son compte expert', manager_expert_path(user.expert)) %>
<% else %>
Pas expert !
<% end %>
</dd>
</dl>
<dl>
<dt class="attribute-label" id="meta-usager">
Administrateur
</dt>
<dd class="attribute-data attribute-data--meta-usager">
<% if user.administrateur.present? %>
<% if user.administrateur? %>
<%= link_to('Voir son compte administrateur', manager_administrateur_path(user.administrateur)) %>
<% else %>
Pas administrateur !
@ -47,7 +60,7 @@
Gestionnaire
</dt>
<dd class="attribute-data attribute-data--meta-usager">
<% if user.gestionnaire.present? %>
<% if user.gestionnaire? %>
<%= link_to('Voir son compte gestionnaire', manager_gestionnaire_path(user.gestionnaire)) %>
<% else %>
Pas gestionnaire !

View file

@ -53,6 +53,8 @@ Rails.application.routes.draw do
put 'unblock_email'
end
resources :experts, only: [:index, :show]
resources :instructeurs, only: [:index, :show, :edit, :update] do
post 'reinvite', on: :member
delete 'delete', on: :member