Add and design new #index on procedures for gestionnaires
This commit is contained in:
parent
ca94b2bfa4
commit
622a170793
4 changed files with 112 additions and 2 deletions
61
app/assets/stylesheets/new_design/procedure_list.scss
Normal file
61
app/assets/stylesheets/new_design/procedure_list.scss
Normal file
|
@ -0,0 +1,61 @@
|
|||
@import "colors";
|
||||
@import "mixins";
|
||||
|
||||
.procedure-list {
|
||||
.procedure-item {
|
||||
@include vertical-padding(24px);
|
||||
border-bottom: 1px solid $border-grey;
|
||||
|
||||
&:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
}
|
||||
|
||||
.procedure-logo {
|
||||
margin-right: 16px;
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-bottom: 1px solid $border-grey;
|
||||
}
|
||||
|
||||
.procedure-title {
|
||||
min-height: 40px;
|
||||
font-size: 20px;
|
||||
margin-bottom: 16px;
|
||||
|
||||
a {
|
||||
color: $black;
|
||||
|
||||
&:hover {
|
||||
color: $blue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.procedure-stats {
|
||||
li {
|
||||
min-height: 36px;
|
||||
border-left: 1px solid $border-grey;
|
||||
width: 90px;
|
||||
|
||||
&:last-child {
|
||||
border-right: 1px solid $border-grey;
|
||||
}
|
||||
|
||||
.stats-number,
|
||||
.stats-legend {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.stats-number {
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.stats-legend {
|
||||
font-size: 12px;
|
||||
color: $grey;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,6 +1,19 @@
|
|||
module NewGestionnaire
|
||||
class ProceduresController < GestionnaireController
|
||||
before_action :ensure_ownership!
|
||||
layout "new_application"
|
||||
|
||||
before_action :ensure_ownership!, except: [:index]
|
||||
|
||||
def index
|
||||
@procedures = current_gestionnaire.procedures
|
||||
|
||||
dossiers = current_gestionnaire.dossiers.state_not_brouillon
|
||||
@dossiers_count_per_procedure = dossiers.group(:procedure_id).count
|
||||
@dossiers_nouveaux_count_per_procedure = dossiers.state_nouveaux.group(:procedure_id).count
|
||||
@dossiers_archived_count_per_procedure = dossiers.archived.group(:procedure_id).count
|
||||
|
||||
@followed_dossiers_count_per_procedure = current_gestionnaire.followed_dossiers.where(procedure: @procedures).group(:procedure_id).count
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
|
|
36
app/views/new_gestionnaire/procedures/index.html.haml
Normal file
36
app/views/new_gestionnaire/procedures/index.html.haml
Normal file
|
@ -0,0 +1,36 @@
|
|||
.container
|
||||
%h1 Procédures
|
||||
|
||||
%ul.procedure-list
|
||||
- @procedures.each do |p|
|
||||
%li.procedure-item.flex.align-start
|
||||
= image_tag p.logo, class: "procedure-logo"
|
||||
.procedure-details
|
||||
%p.procedure-title
|
||||
= link_to p.libelle, backoffice_dossiers_procedure_path(p)
|
||||
|
||||
%ul.procedure-stats.flex
|
||||
%li
|
||||
- dossier_count = @dossiers_count_per_procedure[p.id] || 0
|
||||
.stats-number
|
||||
= dossier_count
|
||||
.stats-legend
|
||||
= "dossier".pluralize(dossier_count)
|
||||
%li
|
||||
- nouveaux_count = @dossiers_nouveaux_count_per_procedure[p.id] || 0
|
||||
.stats-number
|
||||
= nouveaux_count
|
||||
.stats-legend
|
||||
= "nouveau".pluralize(nouveaux_count)
|
||||
%li
|
||||
- followed_count = @followed_dossiers_count_per_procedure[p.id] || 0
|
||||
.stats-number
|
||||
= followed_count
|
||||
.stats-legend
|
||||
= "suivi".pluralize(followed_count)
|
||||
%li
|
||||
- archived_count = @dossiers_archived_count_per_procedure[p.id] || 0
|
||||
.stats-number
|
||||
= archived_count
|
||||
.stats-legend
|
||||
= "archivé".pluralize(archived_count)
|
|
@ -238,7 +238,7 @@ Rails.application.routes.draw do
|
|||
end
|
||||
|
||||
scope module: 'new_gestionnaire' do
|
||||
resources :procedures, only: [] do
|
||||
resources :procedures, only: [:index] do
|
||||
resources :dossiers, only: [] do
|
||||
get 'attestation'
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue