Correção Do Botão Arquivar
This commit is contained in:
@@ -60,24 +60,31 @@ class Consolidacao < ApplicationRecord
|
||||
|
||||
# ── Métodos ─────────────────────────────────────────────────
|
||||
|
||||
# Arquivar é um soft-delete administrativo: deve SEMPRE funcionar, mesmo numa
|
||||
# consolidação zerada ou em rascunho com dados incompletos. Por isso usamos
|
||||
# update_columns — pula validações (periodo_valido, presença) e o callback
|
||||
# recalcular_valor_total, que não fazem sentido ao apenas mover para o arquivo.
|
||||
def arquivar!(user)
|
||||
update!(
|
||||
update_columns(
|
||||
deleted_at: Time.current,
|
||||
status: :arquivada,
|
||||
status: self.class.statuses[:arquivada],
|
||||
arquivado_por: user&.id,
|
||||
arquivado_em: Time.current
|
||||
arquivado_em: Time.current,
|
||||
updated_at: Time.current
|
||||
)
|
||||
end
|
||||
|
||||
# Restaura uma consolidação arquivada. Como o status original não é guardado,
|
||||
# inferimos: se já tinha sido finalizada (finalizado_em presente) volta para
|
||||
# :finalizada, senão para :rascunho. Limpa os campos de arquivamento.
|
||||
# Também via update_columns para não depender da validade do conteúdo.
|
||||
def reativar!(_user)
|
||||
update!(
|
||||
update_columns(
|
||||
deleted_at: nil,
|
||||
status: finalizado_em? ? :finalizada : :rascunho,
|
||||
status: self.class.statuses[finalizado_em? ? :finalizada : :rascunho],
|
||||
arquivado_por: nil,
|
||||
arquivado_em: nil
|
||||
arquivado_em: nil,
|
||||
updated_at: Time.current
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user