module Obra
class MaosDeObraController < ApplicationController
	include ControllerConcern
	before_action :authenticate_usuario!
	before_action :autoriza_usuario!
	before_action :set_mao_de_obra, only: [:show, :edit, :update, :destroy]

	# GET /obra/maos_de_obra
	def index
		@q = MaoDeObra.order(:id).search(params[:q])
		@maos_de_obra = @q.result(distinct: false).paginate(page: params[:page], per_page: 10)
	end

	# GET /obra/maos_de_obra/1
	def show
	end

	# GET /obra/maos_de_obra/new
	def new
		@mao_de_obra = MaoDeObra.new
	end

	# GET /obra/maos_de_obra/1/edit
	def edit
	end

	# POST /obra/maos_de_obra
	def create
		@mao_de_obra = MaoDeObra.new(mao_de_obra_params)

		if @mao_de_obra.save
			redirect_to @mao_de_obra, notice: 'Mao de obra foi criado(a) com sucesso.'
		else
			render :new
		end
	end

	# PATCH/PUT /obra/maos_de_obra/1
	def update
		if @mao_de_obra.update( mao_de_obra_params )
			redirect_to @mao_de_obra, notice: 'Mao de obra foi atualizado(a) com sucesso.'
		else
			render :edit
		end
	end

	# DELETE /obra/maos_de_obra/1
	def destroy
		mensagem = apaga_e_retorna_mensagem(@mao_de_obra)
		redirect_to obra_maos_de_obra_url, mensagem
	end

	private
	def set_mao_de_obra
		@mao_de_obra = MaoDeObra.find( params[:id] )
	end

	# Permite apenas os parâmetros específicos
	def mao_de_obra_params
		params.require(:obra_mao_de_obra).permit(:descricao)
		
	end
end
end
