class Champs::PieceJustificativeController < Champs::ChampController def show respond_to do |format| format.turbo_stream format.html { redirect_back(fallback_location: root_url) } end end def update if attach_piece_justificative render :show else render json: { errors: @champ.errors.full_messages }, status: 422 end end def template redirect_to @champ.type_de_champ.piece_justificative_template.blob end private def attach_piece_justificative save_succeed = nil ActiveStorage::Attachment.transaction do @champ.piece_justificative_file.attach(params[:blob_signed_id]) save_succeed = @champ.save end @champ.dossier.update(last_champ_updated_at: Time.zone.now.utc) if save_succeed save_succeed end end