class Obra::FotosDaFiscalizacaoController < ApplicationController
	include ControllerConcern
	include ObraControllersConcern

	before_action :authenticate_usuario!
	before_action :autoriza_usuario!
	before_action :set_foto_da_fiscalizacao, only: [:edit, :update, :destroy]
	before_action :set_fiscalizacao, only: [:new]

	def new
		@foto_da_fiscalizacao = @fiscalizacao.fotos_da_fiscalizacao.new
	end

	def edit
		@fiscalizacao = @foto_da_fiscalizacao.fiscalizacao
	end

	def create
		@foto_da_fiscalizacao = Obra::FotoDaFiscalizacao.new(foto_params)
		if @foto_da_fiscalizacao.save
			redirect_to obra_fiscalizacao_path(@foto_da_fiscalizacao.fiscalizacao) + "?tab=fotos_da_fiscalizacao", notice: 'Fotos adicionadas com sucesso.'
		else
			@fiscalizacao = @foto_da_fiscalizacao.fiscalizacao
			render :new
		end
	end

	def update
		if @foto_da_fiscalizacao.update( foto_params )
			redirect_to obra_fiscalizacao_path(@foto_da_fiscalizacao.fiscalizacao) + "?tab=fotos_da_fiscalizacao", notice: 'Fotos atualizadas com sucesso.'
		else
			@fiscalizacao = @foto_da_fiscalizacao.fiscalizacao
			render :edit
		end
	end

	def destroy
		mensagem = apaga_e_retorna_mensagem(@foto_da_fiscalizacao)
		redirect_to obra_fiscalizacao_path(@foto_da_fiscalizacao.fiscalizacao) + "?tab=fotos_da_fiscalizacao", mensagem
	end

	private
	def set_foto_da_fiscalizacao
		@foto_da_fiscalizacao = Obra::FotoDaFiscalizacao.find( params[:id] )
	end

	def set_fiscalizacao
		@fiscalizacao = Obra::Fiscalizacao.find( params[:fiscalizacao_id] )
	end

	def foto_params
		params.require(:obra_foto_da_fiscalizacao).permit(:fiscalizacao_id, :data_do_cadastro,
			anexos_da_fiscalizacao_attributes:[:id, :foto_da_fiscalizacao_id, :file, :descricao, :_destroy])
	end
end
