demarches-normaliennes/app/controllers/administrateurs/sources_particulier_controller.rb
2024-08-22 09:26:48 +02:00

34 lines
892 B
Ruby

# frozen_string_literal: true
module Administrateurs
class SourcesParticulierController < AdministrateurController
before_action :retrieve_procedure
def show
@available_sources = sources_service.available_sources
end
def update
if @procedure.update(api_particulier_sources: sources_params)
redirect_to admin_procedure_api_particulier_sources_path(@procedure), notice: t('.sources_ok')
else
flash.now.alert = @procedure.errors.full_messages
render :show
end
end
private
def sources_params
requested_sources = params
.with_defaults(api_particulier_sources: {})
.to_unsafe_hash[:api_particulier_sources]
sources_service.sanitize(requested_sources)
end
def sources_service
@sources_service ||= APIParticulier::Services::SourcesService.new(@procedure)
end
end
end