demarches-normaliennes/app/views/backoffice/dossiers/_list.html.haml

71 lines
3.3 KiB
Text
Raw Normal View History

%table#dossiers-list.table
%thead
2016-12-21 17:26:31 +01:00
- if smart_listing.name.to_s == 'follow_dossiers'
2017-02-27 17:44:08 +01:00
%th.col-xs-1.center
2016-12-21 17:26:31 +01:00
%i.fa.fa-bell
2017-02-27 17:44:08 +01:00
%th.col-xs-1
2017-02-13 15:46:28 +01:00
État
2016-11-28 16:49:50 +01:00
- @facade_data_view.preference_list_dossiers_filter.each do |preference|
- unless preference.libelle == 'Statut' || preference.libelle == 'État'
2017-04-06 19:10:25 +02:00
%th{ class: "col-md-#{preference.bootstrap_lg} col-lg-#{preference.bootstrap_lg}" }
- if preference.table.to_s.include? 'champs'
= preference.libelle
- else
= smart_listing.sortable preference.libelle, preference.table_attr
- if @facade_data_view.active_filter? preference
%i.filter.fa.fa-filter{ style: "color: #{(preference.filter.blank? ? 'grey' : 'orange')}", id: "filter_#{smart_listing.name.to_s}_#{preference.table_attr.sub('.', '_')}" }
= render partial: 'backoffice/dossiers/filter_framed', locals: { preference: preference, filter_framed_id: "framed_filter_#{smart_listing.name.to_s}_#{preference.table_attr.sub('.', '_')}" }
2017-02-27 17:44:08 +01:00
%th.col-xs-1.center Actions
%th.col-xs-1.center Abonnés
- unless smart_listing.empty?
- smart_listing.collection.each do |dossier|
2017-04-06 19:10:25 +02:00
%tr.dossier-row{ id: "tr_dossier_#{dossier.id}", 'data-dossier_url' => backoffice_dossier_url(id: dossier.id) }
2016-12-21 17:26:31 +01:00
- if smart_listing.name.to_s == 'follow_dossiers'
2017-02-27 17:44:08 +01:00
%td.col-xs-1.center
- total_notif = dossier.notifications.where(already_read: false).count
2016-12-21 17:26:31 +01:00
- if total_notif == 0
.badge.progress-bar-default
= total_notif
- else
2016-12-22 21:25:55 +01:00
.badge.progress-bar-warning
2016-12-21 17:26:31 +01:00
= total_notif
2017-02-27 17:44:08 +01:00
%td.col-xs-1
2017-02-13 15:46:28 +01:00
= dossier.decorate.display_state
2016-11-28 16:49:50 +01:00
- @facade_data_view.preference_list_dossiers_filter.each_with_index do |preference, index|
- unless preference.libelle == 'Statut' || preference.libelle == 'État'
%td
- if preference.table.nil? || preference.table.empty?
- value = dossier.decorate.public_send(preference.attr_decorate)
- elsif preference.table == 'champs'
2017-01-23 17:18:57 +01:00
- value = dossier.champs.find_by_type_de_champ_id(preference.attr).value rescue nil
- elsif preference.table == 'champs_private'
2017-01-23 17:18:57 +01:00
- value = dossier.champs_private.find_by_type_de_champ_id(preference.attr).value rescue nil
- else
- begin
- value = dossier.public_send(preference.table).decorate.public_send(preference.attr_decorate)
- rescue NoMethodError
- value = ''
= value
2016-07-19 17:18:41 +02:00
%td.center
2017-07-17 13:13:20 +02:00
- if current_gestionnaire.follow?(dossier)
= link_to('Quitter', unfollow_dossier_path(dossier.procedure, dossier), method: :patch, class: 'btn-sm btn-danger', id: "suivre_dossier_#{dossier.id}")
- else
= link_to('Suivre', follow_dossier_path(dossier.procedure, dossier), method: :patch, class: 'btn-sm btn-primary', id: "suivre_dossier_#{dossier.id}")
%td.center{ style: "color: #{dossier.total_follow == 0 ? 'red' : ''}" }
2016-07-19 17:18:41 +02:00
= dossier.total_follow
2016-01-08 11:39:04 +01:00
= smart_listing.paginate
- if smart_listing.name.to_s == 'follow_dossiers' && smart_listing.collection.count > 0
= smart_listing.pagination_per_page_links
%br
- if smart_listing.empty?
2016-01-08 11:39:04 +01:00
%h4.center
Aucun dossier