Open bamthomas opened 10 months ago
il semble que, quand aucun critère/page n'est conforme, on ne rentre pas dans la condition de la ligne 179
{{ if and ($data.Get (printf "average-%s-conforme-t" $type)) ($data.Get (printf "average-%s-nonconforme-t" $type)) }}
Mais quand on y rentre, le test vérifie les tableaux conforme/nonconforme qui sont renseignés mais dans notre cas celui nonapplicable
est vide, ce qui cause l'erreur sur le merge de la ligne d'après :
{{ range $id, $value := (merge (merge ($data.Get (printf "average-%s-conforme-t" $type)) ($data.Get (printf "average-%s-nonconforme-t" $type))) ($data.Get (printf "average-%s-nonapplicable-t" $type))) }}
Oui, encore une fois, non prise en compte d'un unique audit 100% quelque chose…
La variable existe pour ne lister que les critères testés sur tous les audits dans les statistiques agrégées, la correction ressemblerait à ça :
{ $dict1 = (dict
"pourcentage" ($data.Get (printf "average-%s-pourcentage" $type))
"pourcentage100" ($data.Get (printf "average-%s-pourcentage-100" $type))
"pourcentage80" ($data.Get (printf "average-%s-pourcentage-80" $type))
"pourcentage50" ($data.Get (printf "average-%s-pourcentage-50" $type))
"pourcentage30" ($data.Get (printf "average-%s-pourcentage-30" $type))
"pourcentage00" ($data.Get (printf "average-%s-pourcentage-00" $type))
"conforme" ($data.Get (printf "average-%s-conforme" $type))
"nonconforme" ($data.Get (printf "average-%s-nonconforme" $type))
"nonapplicable" ($data.Get (printf "average-%s-nonapplicable" $type))
"all" ($data.Get (printf "average-%s-conforme" $type))
) }}
{{ if and ($data.Get (printf "average-%s-conforme" $type)) ($data.Get (printf "average-%s-nonconforme" $type)) }}
{{ $dict1 = merge $dict1 (dict "all" (merge ($data.Get (printf "average-%s-conforme" $type)) ($data.Get (printf "average-%s-nonconforme" $type)))) }}
{{ end }}
{{ if ($data.Get (printf "average-%s-nonapplicable" $type)) }}
{{ $dict1 = merge $dict1 (dict "all" ((merge (merge ($data.Get (printf "average-%s-conforme" $type)) ($data.Get (printf "average-%s-nonconforme" $type))) ($data.Get (printf "average-%s-nonapplicable" $type)))))}}
{{ end }}
{{ if and ($data.Get (printf "average-%s-nonapplicable" $type)) (not (and ($data.Get (printf "average-%s-conforme" $type)) ($data.Get (printf "average-%s-nonconforme" $type)))) }}
{{ $dict1 = merge $dict1 (dict "all" ($data.Get (printf "average-%s-nonapplicable" $type))) }}
{{ end }}
{{ if and ($data.Get (printf "average-%s-nonconforme" $type)) (not (and ($data.Get (printf "average-%s-conforme" $type)) ($data.Get (printf "average-%s-nonapplicable" $type)))) }}
{{ $dict1 = merge $dict1 (dict "all" ($data.Get (printf "average-%s-nonconforme" $type))) }}
{{ end }}
Je trouve pas ça très classieux , mais c'est l'idée.
Si c'est pas classieux, ça a le mérite d'être explicite et lisible je trouve
Lorsqu'on met tout un critère conforme, l'application plante.
Reproduction :
Par exemple mettre tout le critère 12 (qui n'a que 3 tests) à conforme
Alors on obtient l'erreur suivante :
Ou encore à l'écran :
Obstacle pour terminer #3