Add and design new #index on procedures for gestionnaires

This commit is contained in:
Mathieu Magnin 2017-07-03 14:05:55 +02:00
parent ca94b2bfa4
commit 622a170793
4 changed files with 112 additions and 2 deletions

View 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;
}
}
}
}

View file

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

View 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)

View file

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