class DocumentosDoUsuarioController < ApplicationController
	include ControllerConcern
	before_action :authenticate_usuario!
	before_action :autoriza_usuario!, except: [:new, :edit, :create, :update, :destroy]
	before_action :set_documento_do_usuario, only: [:edit, :update, :destroy]

	# GET /documentos_do_usuario/new
	def new
		bloqueia_usuario_com_base_em 'update', 'usuarios'
		@documento_do_usuario = DocumentoDoUsuario.new(usuario_id: params[:usuario_id])
	end

	# GET /documentos_do_usuario/1/edit
	def edit
		bloqueia_usuario_com_base_em 'update', 'usuarios'
	end

	# POST /documentos_do_usuario
	def create
		@documento_do_usuario = DocumentoDoUsuario.new(documento_do_usuario_params)
		if @documento_do_usuario.save
			redirect_to @documento_do_usuario.usuario, notice: 'Documento do usuário foi criado(a) com sucesso.'
		else
			render :new
		end
	end

	# PATCH/PUT /documentos_do_usuario/1
	def update
		if @documento_do_usuario.update( documento_do_usuario_params )
			redirect_to @documento_do_usuario.usuario, notice: 'Documento do usuário foi atualizado(a) com sucesso.'
		else
			flash.now[:alert] = 'Não foi possível atualizar o documento do usuário, verifique as informações.'
			render :edit
		end
	end

	# DELETE /documentos_do_usuario/1
	def destroy
		usuario = @documento_do_usuario.usuario
		mensagem = apaga_e_retorna_mensagem(@documento_do_usuario)
		redirect_to usuario, mensagem
	end

	private

	def set_documento_do_usuario
		@documento_do_usuario = DocumentoDoUsuario.find( params[:id] )
	end

	# Permite apenas os parâmetros específicos
	def documento_do_usuario_params
		params.require(:documento_do_usuario).permit(:usuario_id, :titulo, :anexo, :data_de_anexo)
	end
end
