implantação da fase 2 e 3
This commit is contained in:
44
app/controllers/configuracoes_controller.rb
Normal file
44
app/controllers/configuracoes_controller.rb
Normal file
@@ -0,0 +1,44 @@
|
||||
# app/controllers/configuracoes_controller.rb
|
||||
class ConfiguracoesController < ApplicationController
|
||||
before_action :set_configuracao, only: [:edit, :update]
|
||||
|
||||
def index
|
||||
authorize Configuracao
|
||||
@configuracoes = Configuracao.all.order(:tipo)
|
||||
end
|
||||
|
||||
def edit
|
||||
authorize @configuracao
|
||||
end
|
||||
|
||||
def update
|
||||
authorize @configuracao
|
||||
|
||||
valor_anterior = @configuracao.valor
|
||||
|
||||
if @configuracao.update(configuracao_params)
|
||||
AuditoriaLog.registrar(current_user, 'editar_preco', request.remote_ip,
|
||||
detalhes: "#{@configuracao.tipo}: R$ #{valor_anterior} → R$ #{@configuracao.valor}")
|
||||
redirect_to configuracoes_path, notice: "Preço de #{@configuracao.tipo_label} atualizado."
|
||||
else
|
||||
render :edit, status: :unprocessable_entity
|
||||
end
|
||||
end
|
||||
|
||||
# POST /configuracoes/toggle_tema
|
||||
def toggle_tema
|
||||
skip_authorization
|
||||
session[:tema] = session[:tema] == 'light' ? 'dark' : 'light'
|
||||
redirect_back(fallback_location: dashboard_path)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def set_configuracao
|
||||
@configuracao = Configuracao.find(params[:id])
|
||||
end
|
||||
|
||||
def configuracao_params
|
||||
params.require(:configuracao).permit(:valor, :descricao)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user