Merge pull request #8811 from demarches-simplifiees/allow-instructeur-to-delete-pj

ETQ instructeur je veux pouvoir supprimer la pj pendant l'instruction
This commit is contained in:
Lisa Durand 2023-03-31 07:46:55 +00:00 committed by GitHub
commit 7351580a65
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 46 additions and 9 deletions

View file

@ -1,5 +1,5 @@
- if opt[:operation] == 'accepter'
.dropdown{ data: { controller: 'menu-button', popover: 'true', operation: opt[:operation] } }
.dropdown{ data: { controller: 'menu-button', popover: 'true', operation: opt[:operation] }, id: 'dropdown_batch' }
-# Dropdown button title
%button{ disabled: true, class: ['fr-btn fr-btn--sm fr-btn--icon-left fr-ml-1w', icons[opt[:operation].to_sym]], disabled: true, name: "#{form.object_name}[operation]" , data: { menu_button_target: 'button' } }
= opt[:label]
@ -17,12 +17,15 @@
.motivation.accept
= form.text_area :motivation, class: 'fr-input'
#justificatif_motivation_suggest_accept.optional-justificatif
%button.button{ type: 'button', onclick: "DS.showImportJustificatif('accept');" } Ajouter un justificatif (optionnel)
%button.fr-btn.fr-btn--sm.fr-btn--tertiary-no-outline.fr-btn--icon-left.fr-icon-attachment-line.fr-ml-0{ type: 'button', onclick: "DS.showImportJustificatif('accept');" } Ajouter un justificatif (optionnel)
#justificatif_motivation_import_accept.hidden
= form.file_field :justificatif_motivation, direct_upload: true
= form.file_field :justificatif_motivation, direct_upload: true, id: "dossier_justificatif_motivation_accept", onchange: "DS.showDeleteJustificatif('accept');"
.hidden.js_delete_motivation{ id: "delete_motivation_import_accept" }
%button.fr-btn.fr-btn--sm.fr-btn--tertiary-no-outline.fr-btn--icon-left.fr-icon-delete-line.fr-ml-0.fr-mt-1w{ type: 'button', onclick: "DS.deleteJustificatif('accept');" } Supprimer le justificatif
= form.button "Valider la décision", class: ['fr-btn fr-mt-2w'], disabled: true, name: "#{form.object_name}[operation]", value: opt[:operation]
= button_tag "Annuler", type: :reset, class: 'fr-btn fr-btn--sm fr-btn--secondary', onclick: 'DS.motivationCancelBatch();'
= form.button "Valider la décision", class: ['fr-btn fr-btn--sm fr-mt-2w'], disabled: true, name: "#{form.object_name}[operation]", value: opt[:operation]
- else
= form.button opt[:label], class: ['fr-btn fr-btn--sm fr-btn--icon-left fr-ml-1w', icons[opt[:operation].to_sym]], disabled: true, name: "#{form.object_name}[operation]", value: opt[:operation], data: { operation: opt[:operation] }

View file

@ -18,7 +18,10 @@ import { toggleCondidentielExplanation } from '../new_design/avis';
import {
showMotivation,
motivationCancel,
showImportJustificatif
motivationCancelBatchDropdown,
showImportJustificatif,
showDeleteJustificatif,
deleteJustificatif
} from '../new_design/instruction-button';
import { showFusion, showNewAccount } from '../new_design/fc-fusion';
@ -30,7 +33,10 @@ const DS = {
toggleCondidentielExplanation,
showMotivation,
motivationCancel,
motivationCancelBatchDropdown,
showImportJustificatif,
showDeleteJustificatif,
deleteJustificatif,
showFusion,
showNewAccount
};

View file

@ -17,6 +17,32 @@ export function motivationCancel() {
.forEach((el) => hide(el.parentElement));
show(document.querySelector('.dropdown-items'));
document.querySelectorAll('.js_delete_motivation').forEach(hide);
}
export function motivationCancelBatchDropdown() {
document.querySelector('#dropdown_batch').classList.remove('open');
hide(document.querySelector('.js_delete_motivation'));
}
export function showDeleteJustificatif(name) {
const justificatif = document.querySelector(
'#dossier_justificatif_motivation_' + name
);
if (justificatif.value != '') {
show(document.querySelector('#delete_motivation_import_' + name));
document.querySelector('#delete_motivation_import_' + name);
}
}
export function deleteJustificatif(name) {
const justificatif = document.querySelector(
'#dossier_justificatif_motivation_' + name
);
justificatif.value = '';
hide(document.querySelector('#delete_motivation_import_' + name));
}
export function showImportJustificatif(name) {

View file

@ -28,9 +28,11 @@
- else
= text_area :dossier, :motivation, class: 'fr-input', placeholder: placeholder, required: true
.optional-justificatif{ id: "justificatif_motivation_suggest_#{popup_class}", onclick: "DS.showImportJustificatif('#{popup_class}');" }
.fr-btn.fr-btn--tertiary-no-outline.fr-btn--icon-left.fr-icon-attachment-line.fr-ml-0 Ajouter un justificatif (optionnel)
%button.fr-btn.fr-btn--tertiary-no-outline.fr-btn--icon-left.fr-icon-attachment-line.fr-ml-0{ type: 'button', onclick: "DS.showImportJustificatif('accept');" } Ajouter un justificatif (optionnel)
.hidden{ id: "justificatif_motivation_import_#{popup_class}" }
= file_field :dossier, :justificatif_motivation, direct_upload: true
.text-right.fr-mt-2w
%span.fr-btn.fr-btn--secondary{ onclick: 'DS.motivationCancel();' } Annuler
= file_field :dossier, :justificatif_motivation, direct_upload: true, id: "dossier_justificatif_motivation_#{popup_class}",onchange: "DS.showDeleteJustificatif('#{popup_class}');"
.hidden.js_delete_motivation{ id: "delete_motivation_import_#{popup_class}" }
%button.fr-btn.fr-btn--tertiary-no-outline.fr-btn--icon-left.fr-icon-delete-line.fr-ml-0.fr-mt-1w{ type: 'button', onclick: "DS.deleteJustificatif('#{popup_class}');" } Supprimer le justificatif
.fr-mt-2w
= button_tag "Annuler", type: :reset, class: 'fr-btn fr-btn--secondary', onclick: 'DS.motivationCancel();'
= button_tag 'Valider la décision', name: :process_action, value: process_action, class: 'fr-btn fr-mr-0', title: title