class Ppa::SubFuncoesController < ApplicationController
	include ControllerConcern
	include PpaControllersConcern

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

	def index
		subfuncoes_tipicas = Ppa::SubFuncao.joins(:funcao).where(funcao_id: params[:funcao_id], ppa_funcoes: {ppa_id: ppa_atual.id}).order(:codigo)
		subfuncoes_atipicas = Ppa::SubFuncao.joins(:funcao).where.not(funcao_id: params[:funcao_id]).where(ppa_funcoes: {ppa_id: ppa_atual.id}).order(:codigo)

		json_retorno = { subfuncoes_tipicas: subfuncoes_tipicas, subfuncoes_atipicas: subfuncoes_atipicas } if (subfuncoes_tipicas.present? && subfuncoes_atipicas.present?)

		unless params[:iniciativa_id].nil?
			json_retorno[:iniciativa_subfuncao_id] = Ppa::Iniciativa.find(params[:iniciativa_id]).sub_funcao_id
		end
		render :json => json_retorno
	end

	private
	def set_ppa_sub_funcao
		@ppa_sub_funcao = Ppa::SubFuncao.find(params[:id])
	end
end
