ProcedureOverview: reboot model and layout
This commit is contained in:
parent
689d0c2dd7
commit
603e2dd020
6 changed files with 138 additions and 138 deletions
|
@ -1,82 +1,72 @@
|
|||
class ProcedureOverview
|
||||
include Rails.application.routes.url_helpers
|
||||
attr_accessor :libelle, :notifications_count, :received_dossiers_count, :created_dossiers_count, :processed_dossiers_count, :date
|
||||
attr_accessor :procedure,
|
||||
:created_dossiers_count,
|
||||
:dossiers_en_instruction_count,
|
||||
:old_dossiers_en_instruction,
|
||||
:dossiers_en_construction_count,
|
||||
:old_dossiers_en_construction
|
||||
|
||||
def initialize(procedure, start_date, notifications_count)
|
||||
@libelle = procedure.libelle
|
||||
@procedure_url = backoffice_dossiers_procedure_url(procedure)
|
||||
@notifications_count = notifications_count
|
||||
def initialize(procedure, start_date)
|
||||
@start_date = start_date
|
||||
@procedure = procedure
|
||||
|
||||
@received_dossiers_count = procedure.dossiers.where(state: :received).count
|
||||
@created_dossiers_count = procedure.dossiers
|
||||
@dossiers_en_instruction_count = procedure.dossiers.state_en_instruction.count
|
||||
@old_dossiers_en_instruction = procedure
|
||||
.dossiers
|
||||
.state_en_instruction
|
||||
.where('received_at < ?', 1.week.ago)
|
||||
|
||||
@dossiers_en_construction_count = procedure.dossiers.state_en_construction.count
|
||||
@old_dossiers_en_construction = procedure
|
||||
.dossiers
|
||||
.state_en_construction
|
||||
.where('initiated_at < ?', 1.week.ago)
|
||||
|
||||
@created_dossiers_count = procedure
|
||||
.dossiers
|
||||
.where(created_at: start_date..DateTime.now)
|
||||
.where.not(state: :draft)
|
||||
.state_not_brouillon
|
||||
.count
|
||||
@processed_dossiers_count = procedure.dossiers.where(processed_at: start_date..DateTime.now).count
|
||||
end
|
||||
|
||||
def had_some_activities?
|
||||
[received_dossiers_count,
|
||||
created_dossiers_count,
|
||||
processed_dossiers_count,
|
||||
notifications_count].reduce(:+) > 0
|
||||
[@dossiers_en_instruction_count,
|
||||
@dossiers_en_construction_count,
|
||||
@created_dossiers_count].reduce(:+) > 0
|
||||
end
|
||||
|
||||
def to_html
|
||||
[libelle_description,
|
||||
dossiers_en_instruction_description,
|
||||
created_dossier_description,
|
||||
processed_dossier_description,
|
||||
notifications_description].compact.join('<br>')
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def libelle_description
|
||||
"<a href='#{@procedure_url}'><strong>#{libelle}</strong></a>"
|
||||
end
|
||||
|
||||
def dossiers_en_instruction_description
|
||||
case received_dossiers_count
|
||||
def dossiers_en_construction_description
|
||||
case @dossiers_en_construction_count
|
||||
when 0
|
||||
nil
|
||||
when 1
|
||||
"1 dossier est en cours d'instruction"
|
||||
'dossier suivi en construction'
|
||||
else
|
||||
"#{received_dossiers_count} dossiers sont en cours d'instruction"
|
||||
'dossiers suivis en construction'
|
||||
end
|
||||
end
|
||||
|
||||
def dossiers_en_instruction_description
|
||||
case @dossiers_en_instruction_count
|
||||
when 0
|
||||
nil
|
||||
when 1
|
||||
"dossier est en cours d'instruction"
|
||||
else
|
||||
"dossiers sont en cours d'instruction"
|
||||
end
|
||||
end
|
||||
|
||||
def created_dossier_description
|
||||
case created_dossiers_count
|
||||
when 0
|
||||
nil
|
||||
when 1
|
||||
'1 nouveau dossier a été déposé'
|
||||
else
|
||||
"#{created_dossiers_count} nouveaux dossiers ont été déposés"
|
||||
end
|
||||
end
|
||||
formated_date = I18n.l(@start_date, format: '%d %B %Y')
|
||||
|
||||
def processed_dossier_description
|
||||
case processed_dossiers_count
|
||||
case @created_dossiers_count
|
||||
when 0
|
||||
nil
|
||||
when 1
|
||||
'1 dossier a été instruit'
|
||||
"nouveau dossier a été déposé depuis le #{formated_date}"
|
||||
else
|
||||
"#{processed_dossiers_count} dossiers ont été instruits"
|
||||
end
|
||||
end
|
||||
|
||||
def notifications_description
|
||||
case notifications_count
|
||||
when 0
|
||||
nil
|
||||
when 1
|
||||
'1 notification en attente sur les dossiers que vous suivez'
|
||||
else
|
||||
"#{notifications_count} notifications en attente sur les dossiers que vous suivez"
|
||||
"nouveaux dossiers ont été déposés depuis le #{formated_date}"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue