50 lines
2.5 KiB
Text
50 lines
2.5 KiB
Text
- has_edit_action = !dossier.read_only?
|
|
- has_delete_action = dossier.can_be_deleted_by_user?
|
|
- has_new_dossier_action = dossier.procedure.accepts_new_dossiers? || dossier.procedure.replaced_by_procedure?
|
|
- has_transfer_action = dossier.user == current_user
|
|
- has_actions = has_edit_action || has_delete_action || has_new_dossier_action || has_transfer_action
|
|
|
|
|
|
|
|
- if has_actions
|
|
- if has_edit_action
|
|
- if dossier.brouillon?
|
|
= link_to t('views.users.dossiers.dossier_action.edit_draft'), (url_for_dossier(dossier)), class: 'fr-btn fr-btn--sm fr-mr-1w'
|
|
|
|
- else
|
|
= link_to t('views.users.dossiers.dossier_action.edit_dossier'), modifier_dossier_path(dossier), class: 'fr-btn fr-btn--sm fr-btn--tertiary fr-mr-1w'
|
|
|
|
= render Dropdown::MenuComponent.new(wrapper: :div, wrapper_options: {class: 'invite-user-actions'}, menu_options: {id: dom_id(dossier, :actions_menu)}, button_options: {class: 'fr-btn--sm fr-btn--tertiary'}) do |menu|
|
|
- menu.with_button_inner_html do
|
|
- if has_edit_action
|
|
= t('views.users.dossiers.dossier_action.other_actions')
|
|
- else
|
|
= t('views.users.dossiers.dossier_action.actions')
|
|
|
|
- if has_transfer_action
|
|
- menu.with_item do
|
|
= link_to(transferer_dossier_path(dossier), role: 'menuitem') do
|
|
= dsfr_icon('fr-icon-user-add-fill', :sm)
|
|
.dropdown-description
|
|
= t('views.users.dossiers.dossier_action.transfer_dossier')
|
|
|
|
- if has_new_dossier_action
|
|
- menu.with_item do
|
|
= link_to(commencer_url(dossier.procedure.path), role: 'menuitem') do
|
|
= dsfr_icon('fr-icon-file-fill', :sm)
|
|
.dropdown-description
|
|
= t('views.users.dossiers.dossier_action.start_other_dossier')
|
|
|
|
- menu.with_item do
|
|
= link_to(clone_dossier_path(dossier), method: :post, role: 'menuitem') do
|
|
= dsfr_icon('fr-icon-file-copy-line', :sm)
|
|
.dropdown-description
|
|
= t('views.users.dossiers.dossier_action.clone')
|
|
|
|
- if has_delete_action
|
|
- menu.with_item(class: 'danger') do
|
|
- confirm = dossier.transfer.present? ? t("views.users.dossiers.dossier_action.delete_dossier_with_transfer_confirm", email: dossier.transfer.email) : t("views.users.dossiers.dossier_action.delete_dossier_confirm")
|
|
= link_to(dossier_path(dossier), role: 'menuitem', method: :delete, data: { disable: true, confirm: }) do
|
|
= dsfr_icon('fr-icon-delete-fill', :sm)
|
|
.dropdown-description
|
|
= t('views.users.dossiers.dossier_action.delete_dossier')
|