module Licitacao
class ConfiguracoesSimDoProjetoController < ApplicationController
	include ControllerConcern
	before_action :authenticate_usuario!
	before_action :autoriza_usuario!
	before_action :set_configuracao_sim_do_projeto, only: [:edit, :update, :destroy]
	before_action :set_projeto, only: [:new, :create, :edit]

	# GET /licitacao/configuracoes_sim_do_projeto/new
	def new
		@configuracao_sim_do_projeto = @projeto.configuracoes_sim_do_projeto.new
	end

	# GET /licitacao/configuracoes_sim_do_projeto/1/edit
	def edit
	end

	# POST /licitacao/configuracoes_sim_do_projeto
	def create
		@configuracao_sim_do_projeto = @projeto.configuracoes_sim_do_projeto.new(configuracao_sim_do_projeto_params)
		if @projeto.configuracoes_sim_do_projeto.any?
			@configuracao_sim_do_projeto.primeiro_envio = false
		else
			@configuracao_sim_do_projeto.primeiro_envio = true
		end
		
		if @configuracao_sim_do_projeto.save
			redirect_to Licitacao::Processo.find(@projeto.id), notice: 'Dados de envio ao SIM do projeto configurados com sucesso.'
		else
			render :new
		end
	end

	# PATCH/PUT /licitacao/configuracoes_sim_do_projeto/1
	def update
		if @configuracao_sim_do_projeto.update( configuracao_sim_do_projeto_params )
			redirect_to Licitacao::Processo.find(@configuracao_sim_do_projeto.projeto_id), notice: 'Configuracao sim do projeto foi atualizado(a) com sucesso.'
		else
			render :edit
		end
	end

	# DELETE /licitacao/configuracoes_sim_do_projeto/1
	def destroy
		mensagem = apaga_e_retorna_mensagem(@configuracao_sim_do_projeto)
		redirect_to Licitacao::Processo.find(@configuracao_sim_do_projeto.projeto_id), mensagem
	end

	private
	def set_configuracao_sim_do_projeto
		@configuracao_sim_do_projeto = Licitacao::ConfiguracaoSimDoProjeto.find( params[:id] )
	end

	def set_projeto
		@projeto = Licitacao::Projeto.find( params[:projeto_id] )
	end

	# Permite apenas os parâmetros específicos
	def configuracao_sim_do_projeto_params
		params.require(:licitacao_configuracao_sim_do_projeto).permit(:projeto_id, :data_de_envio, :arquivo_id, :primeiro_envio)
		
	end
end
end
