Skip to content

Commit b344976

Browse files
fix: Corregir error lógico en servicio de proyecto
Correción de error lógico en el método "eliminar" del servicio de proyecto. El cual eliminaba las tareas relacionadas al proyecto y posteriormente las asignaciones. Debido a esto, cuando se eliminaban las asignaciones no se tenía disponible la información sobre que tareas estaban relacionadas con el proyecto
1 parent 1bae38f commit b344976

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

services/proyecto_service.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -67,13 +67,13 @@ def eliminar(self, id_proyecto):
6767
if not proyecto:
6868
return False
6969

70+
tareas_eliminar = [t for t in datos["tareas"] if t["id_proyecto"] == id_proyecto]
71+
ids_tareas_eliminar = {t["id"] for t in tareas_eliminar}
72+
73+
# Elimina las asignaciones de las tareas relacionadas al proyecto
74+
datos["asignaciones"] = [a for a in datos["asignaciones"] if a["id_tarea"] not in ids_tareas_eliminar]
7075
# Elimina todas las tareas del proyecto
7176
datos["tareas"] = [t for t in datos["tareas"] if t["id_proyecto"] != id_proyecto]
72-
# Elimina las asignaciones de las tareas eliminadas
73-
datos["asignaciones"] = [
74-
a for a in datos["asignaciones"]
75-
if a["id_tarea"] not in [t["id"] for t in datos["tareas"]]
76-
]
7777
# Elimina el proyecto
7878
datos["proyectos"] = [p for p in datos["proyectos"] if p["id"] != id_proyecto]
7979

0 commit comments

Comments
 (0)