Actions
Amélioration #5917
ferméPHP Warning: array_keys() expects parameter 1 to be array, string given in /var/www/test/FDL/CheckWorkflow.php on line 205
Début:
16/11/2015
Echéance:
% réalisé:
100%
Temps estimé:
Version source:
Solution proposée:
Ajouter un nouveau code erreur pour ce cas de transition mal définie.
Ajouter le PU associé
Principaux fichiers impactés:
Wiki Détail:
Contrôle:
Description
Quand on importe un cycle avec des transitions malformés (voir détail ci-dessous) on obtient les erreurs suivantes dans error.log :
PHP Warning: array_keys() expects parameter 1 to be array, string given in /var/www/test/FDL/CheckWorkflow.php on line 205
PHP Stack trace:
PHP 1. {main}() /var/www/test/wsh.php:0
PHP 2. include() /var/www/test/wsh.php:138
PHP 3. ImportDocument->importDocuments() /var/www/test/API/importDocuments.php:154
PHP 4. ImportDocument->importSingleFile() /var/www/test/FDL/Class.importDocument.php:138
PHP 5. importDocumentDescription->import() /var/www/test/FDL/Class.importDocument.php:183
PHP 6. importDocumentDescription->doEnd() /var/www/test/FDL/Class.ImportDescription.php:281
PHP 7. CheckEnd->check() /var/www/test/FDL/Class.ImportDescription.php:631
PHP 8. CheckWorkflow->verifyWorkflowComplete() /var/www/test/FDL/CheckEnd.php:36
PHP 9. CheckWorkflow->verifyWorkflowClass() /var/www/test/FDL/CheckWorkflow.php:141
PHP 10. CheckWorkflow->checkTransitionModels() /var/www/test/FDL/CheckWorkflow.php:128
PHP 11. array_keys() /var/www/test/FDL/CheckWorkflow.php:205
Est l'import échoue avec le code erreur :
ERROR:{WFL0050} workflow transition or state key 0 syntax error for SUPPORT\SUPPORT_2132__WFL (limit to 49 alpha characters)
{WFL0050} workflow transition or state key 1 syntax error for SUPPORT\SUPPORT_2132__WFL (limit to 49 alpha characters)
{WFL0050} workflow transition or state key 2 syntax error for SUPPORT\SUPPORT_2132__WFL (limit to 49 alpha characters)
Unable to import rollback the import [{WFL0050} workflow transition or state key 0 syntax error for SUPPORT\SUPPORT_2132__WFL (limit to 49 alpha characters)
{WFL0050} workflow transition or state key 1 syntax error for SUPPORT\SUPPORT_2132__WFL (limit to 49 alpha characters)
{WFL0050} workflow transition or state key 2 syntax error for SUPPORT\SUPPORT_2132__WFL (limit to 49 alpha characters)]
Les transitions sont malformés car déclarés comme suit :
$transitions = array( self::t_1, self::t_2, self::t_3 );
Alors que la syntaxe doit être :
$transitions = array( self::t_1 => array(...), self::t_2 => array(...), self::t_3 => array(...) );
Il faudrait que le code détecte qu'il y a une clef mais qu'il n'y a pas de array associé et qu'il affiche un message d'erreur sépcifique du genre : expecting array value for transition with key 't_1'
Actions
#1
Mis à jour par Marc Claverie il y a plus de 10 ans
- Statut changé de Nouveau à À analyser
- Assigné à mis à Éric Brison
- Version cible mis à 3.2.21
Actions
#2
Mis à jour par Éric Brison il y a plus de 10 ans
- Statut changé de À analyser à Assigné
- Assigné à changé de Éric Brison à Jérôme Augé
- Solution proposée mis à jour (diff)
Actions
#4
Mis à jour par Éric Brison il y a plus de 10 ans
- Statut changé de Assigné à Intégré
Appliqué par commit dynacase-core|commit:8ef78d74abe303382236a1a2dee893a765fb5a33.
Actions