class Ppa::ImpressaoDasReceitasController < ApplicationController
	include ControllerConcern
	before_action :authenticate_usuario!
	before_action :autoriza_usuario!
	before_action :set_ppa_impressao_da_receita, only: [:show, :edit, :update, :destroy]

	# GET /ppa_impressao_das_receitas
	def index
		@q = ppa_atual.impressao_das_receitas.order(:ordem, :titulo).search(params[:q])
		@ppa_impressao_das_receitas = @q.result(distinct: false).paginate(page: params[:page], per_page: 10)
	end

	# GET /ppa_impressao_das_receitas/1
	def show
	end

	# GET /ppa_impressao_das_receitas/new
	def new
		@ppa_impressao_da_receita = Ppa::ImpressaoDaReceita.new
	end

	# GET /ppa_impressao_das_receitas/1/edit
	def edit
	end

	# POST /ppa_impressao_das_receitas
	def create
		@ppa_impressao_da_receita = ppa_atual.impressao_das_receitas.new(ppa_impressao_da_receita_params)

		if @ppa_impressao_da_receita.save
			redirect_to @ppa_impressao_da_receita, notice: 'Ppa impressao da receita foi criado(a) com sucesso.'
		else
			render :new
		end
	end

	# PATCH/PUT /ppa_impressao_das_receitas/1
	def update
		parametros = ppa_impressao_da_receita_params
		if params[:conteudo] == 'texto'
			@ppa_impressao_da_receita.imagem.clear
		else
			parametros[:texto] = ''
		end

		if @ppa_impressao_da_receita.update( parametros )
			redirect_to @ppa_impressao_da_receita, notice: 'Ppa impressao da receita foi atualizado(a) com sucesso.'
		else
			render :edit
		end
	end

	# DELETE /ppa_impressao_das_receitas/1
	def destroy
		mensagem = apaga_e_retorna_mensagem(@ppa_impressao_da_receita)
		redirect_to ppa_impressao_das_receitas_url, mensagem
	end

	private
	def set_ppa_impressao_da_receita
		@ppa_impressao_da_receita = Ppa::ImpressaoDaReceita.find( params[:id] )
	end

	# Permite apenas os parâmetros específicos
	def ppa_impressao_da_receita_params
		params.require(:ppa_impressao_da_receita).permit(:titulo, :texto, :imagem, :ordem)
	end
end
