fix(editeur_de_champ): can join an pj template
This commit is contained in:
parent
6b5f38ce74
commit
adf194cc08
4 changed files with 21 additions and 3 deletions
|
@ -31,6 +31,19 @@ module Administrateurs
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def piece_justificative_template
|
||||||
|
type_de_champ = draft.find_and_ensure_exclusive_use(params[:stable_id])
|
||||||
|
|
||||||
|
if type_de_champ.piece_justificative_template.attach(params[:blob_signed_id])
|
||||||
|
@coordinate = draft.coordinate_for(type_de_champ)
|
||||||
|
@morphed = [champ_component_from(@coordinate)]
|
||||||
|
|
||||||
|
render :create
|
||||||
|
else
|
||||||
|
render json: { errors: @champ.errors.full_messages }, status: 422
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
def move
|
def move
|
||||||
flash.notice = "Formulaire enregistré"
|
flash.notice = "Formulaire enregistré"
|
||||||
draft.move_type_de_champ(params[:stable_id], params[:position].to_i)
|
draft.move_type_de_champ(params[:stable_id], params[:position].to_i)
|
||||||
|
@ -95,7 +108,6 @@ module Administrateurs
|
||||||
:drop_down_other,
|
:drop_down_other,
|
||||||
:drop_down_secondary_libelle,
|
:drop_down_secondary_libelle,
|
||||||
:drop_down_secondary_description,
|
:drop_down_secondary_description,
|
||||||
:piece_justificative_template,
|
|
||||||
editable_options: [
|
editable_options: [
|
||||||
:cadastres,
|
:cadastres,
|
||||||
:unesco,
|
:unesco,
|
||||||
|
|
|
@ -23,6 +23,8 @@ module ChampHelper
|
||||||
def auto_attach_url(object)
|
def auto_attach_url(object)
|
||||||
if object.is_a?(Champ)
|
if object.is_a?(Champ)
|
||||||
champs_piece_justificative_url(object.id)
|
champs_piece_justificative_url(object.id)
|
||||||
|
elsif object.is_a?(TypeDeChamp)
|
||||||
|
piece_justificative_template_admin_procedure_type_de_champ_url(stable_id: object.stable_id, procedure_id: object.procedure.id)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ import {
|
||||||
isTextInputElement
|
isTextInputElement
|
||||||
} from '@utils';
|
} from '@utils';
|
||||||
import { useIntersection } from 'stimulus-use';
|
import { useIntersection } from 'stimulus-use';
|
||||||
|
import { AutoUpload } from '../shared/activestorage/auto-upload';
|
||||||
import { ApplicationController } from './application_controller';
|
import { ApplicationController } from './application_controller';
|
||||||
|
|
||||||
export class TypeDeChampEditorController extends ApplicationController {
|
export class TypeDeChampEditorController extends ApplicationController {
|
||||||
|
@ -71,7 +71,7 @@ export class TypeDeChampEditorController extends ApplicationController {
|
||||||
}
|
}
|
||||||
|
|
||||||
private onInput(event: Event) {
|
private onInput(event: Event) {
|
||||||
const target = event.target as HTMLElement & { form?: HTMLFormElement };
|
const target = event.target as HTMLInputElement;
|
||||||
|
|
||||||
// mark input as touched so we know to not overwrite it's value with next re-render
|
// mark input as touched so we know to not overwrite it's value with next re-render
|
||||||
target.setAttribute('data-touched', 'true');
|
target.setAttribute('data-touched', 'true');
|
||||||
|
@ -79,6 +79,9 @@ export class TypeDeChampEditorController extends ApplicationController {
|
||||||
if (target.form && isTextInputElement(target)) {
|
if (target.form && isTextInputElement(target)) {
|
||||||
this.#dirtyForms.add(target.form);
|
this.#dirtyForms.add(target.form);
|
||||||
this.debounce(this.save, 600);
|
this.debounce(this.save, 600);
|
||||||
|
} else if (target.form && target.type == 'file' && target.files?.length) {
|
||||||
|
const autoupload = new AutoUpload(target, target.files[0]);
|
||||||
|
autoupload.start();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -484,6 +484,7 @@ Rails.application.routes.draw do
|
||||||
patch :move
|
patch :move
|
||||||
patch :move_up
|
patch :move_up
|
||||||
patch :move_down
|
patch :move_down
|
||||||
|
put :piece_justificative_template
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue