16 lines
512 B
Ruby
16 lines
512 B
Ruby
# app/policies/consolidacao_policy.rb
|
|
class ConsolidacaoPolicy < ApplicationPolicy
|
|
def index? = user.pode_consolidar?
|
|
def show? = user.pode_consolidar?
|
|
def create? = user.pode_consolidar?
|
|
def update? = user.pode_consolidar? && !record_finalizada_para_operador?
|
|
def destroy? = user.admin? || user.gerente?
|
|
|
|
private
|
|
|
|
# Operador não mexe em consolidação finalizada
|
|
def record_finalizada_para_operador?
|
|
record.respond_to?(:finalizada?) && record.finalizada? && user.operador?
|
|
end
|
|
end
|