Acciones
Errores #5449
cerrada[Contratos] Seleccionar sólo los estados de marcado automático que sean de clase o heredados
Fecha de inicio:
2024-06-10
Fecha fin:
% Realizado:
100%
Tiempo estimado:
Versión:
Descripción
Especificación¶
Actualmente, a la hora de generar una marca automática, sólo genera los filtros correctamente si el elemento a auditar coincide con Contrato. Para poder auditar una clase de hija una contrato (Ejemplo: OeiErp::Contrato de plugin), debería también generar el mismo filtro que con si fuera Contrato.
Análisis¶
Metodo auditar_genera_marcado elemento ANTES:
# Genera el marcado del elemento
def auditar_genera_marcado elemento
tipo = case elemento.class.name
when 'Presupuesto' then {aplica_presupuesto: true}
when 'Gasto' then {aplica_gasto: true}
when 'Transferencia' then {aplica_transferencia: true}
when 'TransferenciaPeticion' then {aplica_transferencia_peticion: true}
when 'Contrato' then {aplica_contrato: true}
end
# Si no se ha hecho una modificacion de marcado...
# ... y esta definida una marca automatica
if (elemento.marcado_id == elemento.marcado_id_before_last_save) && (marca_automatica = Marcado.where(tipo).find_by(automatico: true))
# La modificacion la guarda evitando validaciones y callbacks
elemento.update_column(:marcado_id, marca_automatica.id)
end
end
Metodo auditar_genera_marcado elemento DESPUES:
# Genera el marcado del elemento
def auditar_genera_marcado elemento
tipo = false
if elemento.class <= ::Presupuesto
tipo = {aplica_presupuesto: true}
elsif elemento.class <= ::Gasto
tipo = {aplica_gasto: true}
elsif elemento.class <= ::Transferencia
tipo = {aplica_transferencia: true}
elsif elemento.class <= ::TransferenciaPeticion
tipo = {aplica_transferencia_peticion: true}
elsif elemento.class <= ::Contrato
tipo = {aplica_contrato: true}
end
# Si no se ha hecho una modificacion de marcado...
# ... y esta definida una marca automatica
if tipo && (elemento.marcado_id == elemento.marcado_id_before_last_save) && (marca_automatica = Marcado.where(tipo).find_by(automatico: true))
# La modificacion la guarda evitando validaciones y callbacks
elemento.update_column(:marcado_id, marca_automatica.id)
end
end
Implementación¶
https://git.semillasl.com/gong/gor/-/commit/0ee10703ade2ff032bb43910615f146ef66aa32d
Implantación¶
Habría que poner a null todos los contratos que actualmente tengan como marcado_id uno que no sea de contrato (1 - Revisar):
Contrato.where(marcado_id: 1).update_all(marcado_id: nil)
Actualizado por Oscar Abad hace 6 meses
- Se actualizó Descripción (diferencias)
- Estado cambiado de Nueva a En Curso
Actualizado por Oscar Abad hace 6 meses
- Estado cambiado de En Curso a Resuelta
- % Realizado cambiado de 0 a 100
Actualizado por Oscar Abad hace 6 meses
- Asunto cambiado de [Contratos] Seleccionar sólo los estados de marcado que sean de clase o heredados a [Contratos] Seleccionar sólo los estados de marcado automático que sean de clase o heredados
Acciones