demarches-normaliennes/app/facades/admin_procedures_show_facades.rb

43 lines
1,000 B
Ruby
Raw Normal View History

class AdminProceduresShowFacades
def initialize procedure
@procedure = procedure
end
def procedure
@procedure
end
def dossiers
@procedure.dossiers.where.not(state: :draft)
end
def dossiers_for_pie_highchart
dossiers.where.not(state: :draft, archived: true).group(:state).count
.map{|key, value| { (DossierDecorator.case_state_fr key) => value } }
.reduce({}, :merge)
end
def dossiers_archived_by_state_total
dossiers.select('state, count(*) as total').where(archived: true).where.not(state: :termine).group(:state).order(:state).decorate
end
def dossiers_archived_total
dossiers.where(archived: true).where.not(state: :termine).size
end
def dossiers_total
dossiers.size
end
def dossiers_waiting_gestionnaire_total
dossiers.waiting_for_gestionnaire.size
end
def dossiers_waiting_user_total
dossiers.waiting_for_user.size
end
def dossiers_termine_total
dossiers.where(state: :termine).size
end
end