class Ppa::UnidadesOrcamentariasController < ApplicationController
	include ControllerConcern
	include PpaControllersConcern

	before_action :authenticate_usuario!
	before_action :autoriza_usuario!, except: [:index]
	before_action :set_ppa_unidade_orcamentaria, only: [:show, :edit, :update, :destroy]

	def index
		render json: Ppa::UnidadeOrcamentaria.where( orgao_id: params[:orgao_id]).order(:codigo), methods: :codigo_completo_e_nome
	end

	# GET /ppa/unidade_orcamentarias/new
	def new
		orgao = Ppa::Orgao.find( params[:orgao_id] )
		@ppa_unidade_orcamentaria = orgao.unidades_orcamentarias.build
	end

	# GET /ppa/unidade_orcamentarias/1/edit
	def edit
	end

	# POST /ppa/unidade_orcamentarias
	def create
		@ppa_unidade_orcamentaria = Ppa::UnidadeOrcamentaria.new(ppa_unidade_orcamentaria_params)

		if @ppa_unidade_orcamentaria.save
			redirect_to @ppa_unidade_orcamentaria.orgao, notice: 'Unidade orçamentária foi criado com sucesso.'
		else

			render :new
		end
	end

	# PATCH/PUT /ppa/unidade_orcamentarias/1
	def update
		if @ppa_unidade_orcamentaria.update(ppa_unidade_orcamentaria_params)
			redirect_to @ppa_unidade_orcamentaria.orgao, notice: 'Unidade orçamentária foi atualizado com sucesso.'
		else
			render :edit
		end
	end

	# DELETE /ppa/unidade_orcamentarias/1
	def destroy
		@ppa_orgao = @ppa_unidade_orcamentaria.orgao

		mensagem = apaga_e_retorna_mensagem(@ppa_unidade_orcamentaria)
		redirect_to @ppa_orgao, mensagem
	end

	private
	def set_ppa_unidade_orcamentaria
		@ppa_unidade_orcamentaria = Ppa::UnidadeOrcamentaria.find(params[:id])
	end

	def ppa_unidade_orcamentaria_params
			params.require(:ppa_unidade_orcamentaria).permit(:nome, :codigo, :sigla, :orgao_id)
	end
end
