app/views/users/_user.html.haml
- row_class = 'button'
- if user.events.future.distinct.map{|m| m.status(user)}.uniq.include?('confirmed')
- row_class += ' is-success'
- elsif !user.events.future.distinct.blank?
- row_class += ' is-warning'
- elsif user.events.future.distinct.blank?
- row_class += ''
- if user.locked_at? || user.deleted?
- row_class += ' is-light'
- else - row_class += ' reveal-modal'
= turbo_frame_tag dom_id(user) do
.columns.row.user.is-unselectable
.column.first
- if user.locked_at?
%span.tooltip.help.is-inline-flex{ data: { tooltip: "Utente disattivato manualmente il #{ l_date user.locked_at } #{ 'con contratto '+user.status.upcase if user.status.present? }. Per riattivarlo cliccare sul bottone 'Riattiva'", disable_hover: "false"} }
%i.fas.fa-ban.has-text-danger
- elsif user.deleted?
%span.tooltip.help.is-inline-flex{ data: { tooltip: "Contratto scaduto il #{ l_date user.scadenza_rapporto.to_date }" } }
%i.fas.fa-ban.has-text-danger
- unless user.postazione == "sede" || user.postazione == "altro"
- text = "#{ user.postazione.try(:capitalize) }#{ ' presso ' + user.postazione_locazione.downcase if user.postazione_locazione.present? }#{ ' dal ' + l( user.postazione_inizio.to_date ) if user.postazione_inizio.present? }#{ ' al ' + l( user.postazione_fine.to_date ) if user.postazione_fine.present? }"
%span.tooltip.help.is-inline-flex{ data: { tooltip: text } }
%i.fas.fa-circle.has-text-warning
- unless user.body.blank?
%span.tooltip.help.is-inline-flex{ data: { tooltip: "#{t('note', scope: 'user')}: #{user.body}"} }
%i.fas.fa-comment
= user.label
- if user.require_visit?
%span.help.is-inline-flex.has-text-danger deve fare la visita
- if user.locked_at? && user.status == 'attivo'
- text = "Utente con contratto #{ user.tipo_contratto } fino a #{ l_date user.scadenza_rapporto }"
%span.tooltip.help.is-inline-flex{ data: { tooltip: text } }
%i.fas.fa-circle.has-text-success
.column.last.categories.is-narrow.has-text-right
- if user.audits.present?
- arrAudits = []
- user.audits.map do |audit|
- arrAudits << content_tag( :span, audit.category.title, class: "#{audit.status_class} tooltip help is-inline-flex", data: { tooltip: "#{ audit.expired? ? 'Scaduto' : 'Scade' } il #{l( audit.expire ) unless audit.expire.blank?}" } )
= arrAudits.join(', ').html_safe
- else
%small.has-text-danger Nessun rischio lavorativo configurato
%span.tag{class: user.city}= user.city.capitalize
.column.tool.is-narrow
.buttons.has-addons.is-right
= link_to fas_icon('file'), user_path(id: user.id, filter: {view: 'modal'}), class: 'button tooltip', data: { tooltip: t('details', scope: 'user'), turbo_frame: 'modal' }
= link_to fas_icon('exclamation-triangle'), user.locked_at? || user.deleted? ? '#' : user_audits_path(user, filter: {view: 'modal'}), :class => if user.locked_at? || user.deleted? then 'button disabled tooltip' else 'button tooltip' end , data: { turbo_frame: 'modal', tooltip: t('title', scope: 'risk') }, disabled: user.locked_at? || user.deleted?
= link_to fas_icon('calendar'), user.locked_at? || user.deleted? ? '#' : new_user_event_path(user, filter: {view: 'modal'}), class: "tooltip #{row_class}" , data: { turbo_frame: 'modal', tooltip: t('manage', scope: 'event') }, disabled: user.locked_at? || user.deleted?
- if user.locked_at?
= link_to fas_icon("redo"), unlock_user_path(user), method: :patch, :class => 'button is-danger tooltip', data: { confirm: t('reactive', scope: 'message.user'), tooltip: t('reactive', scope: 'user'), turbo_frame: dom_id(user), turbo_method: 'PATCH' }
- elsif user.deleted?
= link_to fas_icon('trash'), '#', :class => 'button tooltip', disabled: true, data: { tooltip: t('deleted', scope: 'user') }
- elsif Devise.mappings[:user].lockable? && !user.access_locked? && current_user == user
= link_to fas_icon('trash'), '#', :class => 'button is-light tooltip', disabled: true, data: { tooltip: t('same_user', scope: 'user') }
- else
%a{ href: user.locked_at? ? '#' : user_path(user), class: 'button is-danger tooltip', data: { method: :delete, turbo_method: 'DELETE', confirm: t('delete', scope: 'message.user'), tooltip: t('delete', scope: 'user'), disabled: user.locked_at? }}= fas_icon('trash')