Problème d'initialisation de labdoc
- Role : étudiant
- Page(s) / Url(s) : /report/52516
- Comportement actuel (si besoin) : tous les labdocs de la mission devraient être ajouté à l'intialisation du rapport
- Comportement attendu : seuls deux labdocs on été ajoutés
- Proposition technique :
L'un des labdocs à un id_ld_origin
à NULL
alors que il n'y a eu aucune modification sur ce rapport.
Cela ne devrait pas arriver et fait planter la query qui récupère les labdocs à copier dans \App\Report:486
:
SELECT labdoc.*
FROM labdoc
JOIN report_part rp ON labdoc.id_report_part = rp.id_report_part
WHERE
labdoc.id_report IS NULL
AND labdoc.position IS NOT NULL
AND rp.id_mission = :id_mission
AND labdoc.id_labdoc NOT IN (SELECT id_ld_origin FROM labdoc WHERE id_report = :id_report)
ORDER BY labdoc.id_report_part, labdoc.position
On peut facilement la modifier pour être résiliant face aux id_ld_origin
NULL :
SELECT labdoc.*
FROM labdoc
JOIN report_part rp ON labdoc.id_report_part = rp.id_report_part
WHERE
labdoc.id_report IS NULL
AND labdoc.position IS NOT NULL
AND rp.id_mission = :id_mission
AND labdoc.id_labdoc NOT IN (SELECT id_ld_origin FROM labdoc WHERE id_report = :id_report AND id_ld_origin IS NOT NULL)
ORDER BY labdoc.id_report_part, labdoc.position
Mais ça n'explique pas comment ce labdoc c'est retrouvé avec un id_ld_origin
NULL
, ça rappelle le bug #528 (closed)