21 lines
740 B
Ruby
21 lines
740 B
Ruby
# app/policies/consolidacao_policy.rb
|
|
class ConsolidacaoPolicy < ApplicationPolicy
|
|
def index? = user.pode_consolidar?
|
|
def arquivadas? = 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?
|
|
|
|
# Registrar/estornar pagamento: mesma régua de arquivar/excluir.
|
|
def registrar_pagamento? = user.admin? || user.gerente?
|
|
def cancelar_pagamento? = registrar_pagamento?
|
|
|
|
private
|
|
|
|
# Operador não mexe em consolidação finalizada
|
|
def record_finalizada_para_operador?
|
|
record.respond_to?(:finalizada?) && record.finalizada? && user.operador?
|
|
end
|
|
end
|