2016-08-11 15:27:35 +02:00
|
|
|
class DossiersListFacades
|
2016-09-06 14:07:07 +02:00
|
|
|
include Rails.application.routes.url_helpers
|
|
|
|
|
2016-09-06 11:07:26 +02:00
|
|
|
def initialize current_devise_profil, liste, procedure = nil
|
2016-08-11 15:27:35 +02:00
|
|
|
@current_devise_profil = current_devise_profil
|
|
|
|
@liste = liste
|
2016-09-06 11:07:26 +02:00
|
|
|
@procedure = procedure
|
2016-08-11 15:27:35 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
def service
|
2016-08-12 13:56:10 +02:00
|
|
|
if gestionnaire?
|
2016-09-06 11:07:26 +02:00
|
|
|
@service ||= DossiersListGestionnaireService.new @current_devise_profil, @liste, @procedure
|
2016-08-12 13:56:10 +02:00
|
|
|
elsif user?
|
|
|
|
@service ||= DossiersListUserService.new @current_devise_profil, @liste
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def liste
|
|
|
|
@liste
|
2016-08-11 15:27:35 +02:00
|
|
|
end
|
|
|
|
|
2016-09-09 17:29:21 +02:00
|
|
|
def gestionnaire_procedures_name_and_id_list
|
|
|
|
@current_devise_profil.procedures.order('libelle ASC').inject([]) { |acc, procedure| acc.push({id: procedure.id, libelle: procedure.libelle})}
|
|
|
|
end
|
|
|
|
|
2016-09-08 16:21:54 +02:00
|
|
|
def procedure_id
|
|
|
|
@procedure.nil? ? nil : @procedure.id
|
|
|
|
end
|
|
|
|
|
2016-08-11 15:27:35 +02:00
|
|
|
def dossiers_to_display
|
|
|
|
service.dossiers_to_display
|
|
|
|
end
|
|
|
|
|
2016-09-08 16:21:54 +02:00
|
|
|
def preference_list_dossiers_filter
|
|
|
|
@list_table_columns ||= @current_devise_profil.preference_list_dossiers.where(procedure: @procedure).order(:id)
|
|
|
|
end
|
|
|
|
|
2016-10-05 16:45:51 +02:00
|
|
|
def brouillon_class
|
|
|
|
(@liste == 'brouillon' ? 'active' : '')
|
|
|
|
end
|
|
|
|
|
2016-08-11 15:27:35 +02:00
|
|
|
def nouveaux_class
|
|
|
|
(@liste == 'nouveaux' ? 'active' : '')
|
|
|
|
end
|
|
|
|
|
|
|
|
def a_traiter_class
|
|
|
|
(@liste == 'a_traiter' ? 'active' : '')
|
|
|
|
end
|
|
|
|
|
|
|
|
def en_attente_class
|
|
|
|
(@liste == 'en_attente' ? 'active' : '')
|
|
|
|
end
|
|
|
|
|
|
|
|
def deposes_class
|
|
|
|
(@liste == 'deposes' ? 'active' : '')
|
|
|
|
end
|
|
|
|
|
2016-08-12 13:56:10 +02:00
|
|
|
def valides_class
|
|
|
|
(@liste == 'valides' ? 'active' : '')
|
|
|
|
end
|
|
|
|
|
|
|
|
def en_instruction_class
|
|
|
|
(@liste == 'en_instruction' ? 'active' : '')
|
|
|
|
end
|
|
|
|
|
2016-08-11 15:27:35 +02:00
|
|
|
def a_instruire_class
|
|
|
|
(@liste == 'a_instruire' ? 'active' : '')
|
|
|
|
end
|
|
|
|
|
|
|
|
def termine_class
|
|
|
|
(@liste == 'termine' ? 'active' : '')
|
|
|
|
end
|
|
|
|
|
|
|
|
def suivi_class
|
|
|
|
(@liste == 'suivi' ? 'active' : '')
|
|
|
|
end
|
|
|
|
|
2016-08-12 13:56:10 +02:00
|
|
|
def invite_class
|
|
|
|
(@liste == 'invite' ? 'active' : '')
|
|
|
|
end
|
|
|
|
|
2016-10-07 14:58:45 +02:00
|
|
|
def search_class
|
|
|
|
(@liste == 'search' ? 'active' : '')
|
|
|
|
end
|
|
|
|
|
2016-10-05 16:45:51 +02:00
|
|
|
def brouillon_total
|
|
|
|
service.brouillon.count
|
|
|
|
end
|
|
|
|
|
2016-08-11 15:27:35 +02:00
|
|
|
def nouveaux_total
|
|
|
|
service.nouveaux.count
|
|
|
|
end
|
|
|
|
|
|
|
|
def a_traiter_total
|
2016-08-22 16:10:48 +02:00
|
|
|
return service.waiting_for_gestionnaire.count if gestionnaire?
|
2016-08-12 13:56:10 +02:00
|
|
|
service.waiting_for_user.count if user?
|
2016-08-11 15:27:35 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
def en_attente_total
|
2016-08-22 16:10:48 +02:00
|
|
|
return service.waiting_for_user.count if gestionnaire?
|
2016-08-12 13:56:10 +02:00
|
|
|
service.waiting_for_gestionnaire.count if user?
|
|
|
|
end
|
|
|
|
|
|
|
|
def valides_total
|
|
|
|
service.valides.count
|
2016-08-11 15:27:35 +02:00
|
|
|
end
|
|
|
|
|
|
|
|
def deposes_total
|
|
|
|
service.deposes.count
|
|
|
|
end
|
|
|
|
|
2016-08-12 13:56:10 +02:00
|
|
|
def en_instruction_total
|
|
|
|
service.en_instruction.count
|
|
|
|
end
|
|
|
|
|
2016-08-11 15:27:35 +02:00
|
|
|
def a_instruire_total
|
|
|
|
service.a_instruire.count
|
|
|
|
end
|
|
|
|
|
|
|
|
def termine_total
|
|
|
|
service.termine.count
|
|
|
|
end
|
|
|
|
|
|
|
|
def suivi_total
|
|
|
|
service.suivi.count
|
|
|
|
end
|
2016-08-12 13:56:10 +02:00
|
|
|
|
|
|
|
def invite_total
|
|
|
|
service.invite.count
|
|
|
|
end
|
2016-10-05 16:45:51 +02:00
|
|
|
|
|
|
|
def brouillon_url
|
|
|
|
base_url 'brouillon'
|
|
|
|
end
|
|
|
|
|
2016-09-06 14:07:07 +02:00
|
|
|
def nouveaux_url
|
|
|
|
base_url 'nouveaux'
|
|
|
|
end
|
|
|
|
|
|
|
|
def a_traiter_url
|
|
|
|
base_url 'a_traiter'
|
|
|
|
end
|
|
|
|
|
|
|
|
def en_attente_url
|
|
|
|
base_url 'en_attente'
|
|
|
|
end
|
|
|
|
|
|
|
|
def deposes_url
|
|
|
|
base_url 'deposes'
|
|
|
|
end
|
|
|
|
|
|
|
|
def a_instruire_url
|
|
|
|
base_url 'a_instruire'
|
|
|
|
end
|
|
|
|
|
|
|
|
def termine_url
|
|
|
|
base_url 'termine'
|
|
|
|
end
|
2016-08-12 13:56:10 +02:00
|
|
|
|
2016-10-04 19:19:03 +02:00
|
|
|
def filter_url
|
|
|
|
@procedure.nil? ? backoffice_dossiers_filter_path(liste: liste) : backoffice_dossiers_procedure_filter_path(id: @procedure.id, liste: liste)
|
|
|
|
end
|
|
|
|
|
2016-08-12 13:56:10 +02:00
|
|
|
private
|
|
|
|
|
|
|
|
def gestionnaire?
|
|
|
|
@current_devise_profil.class == Gestionnaire
|
|
|
|
end
|
|
|
|
|
|
|
|
def user?
|
|
|
|
@current_devise_profil.class == User
|
|
|
|
end
|
2016-09-06 14:07:07 +02:00
|
|
|
|
|
|
|
def base_url liste
|
|
|
|
@procedure.nil? ? backoffice_dossiers_path(liste: liste) : backoffice_dossiers_procedure_path(id: @procedure.id, liste: liste)
|
|
|
|
end
|
2016-08-11 15:27:35 +02:00
|
|
|
end
|