demarches-normaliennes/app/controllers/champs/piece_justificative_controller.rb

27 lines
744 B
Ruby

class Champs::PieceJustificativeController < ApplicationController
before_action :authenticate_logged_user!
def update
if attach_piece_justificative_or_retry
render :show
else
render json: { errors: @champ.errors.full_messages }, status: 422
end
end
private
def attach_piece_justificative
@champ = policy_scope(Champ).find(params[:champ_id])
@champ.piece_justificative_file.attach(params[:blob_signed_id])
save_succeed = @champ.save
@champ.dossier.update(last_champ_updated_at: Time.zone.now.utc) if save_succeed
save_succeed
end
def attach_piece_justificative_or_retry
attach_piece_justificative
rescue ActiveRecord::StaleObjectError
attach_piece_justificative
end
end