Actions
Anomalie #12338
fermé[fusion modèle de document] erreur de connexion à la base de données
Début:
12/11/2019
Echéance:
Description
Il y a un bug bloquant sur le tag 18.10.11 et potentiellement sur les versions supérieures.
je pense qu'il n’apparaît que si l'on a un custom. Il est du à l'ajout de la fusion du champ entity_path.
cela génère une erreur de connexion à la base de données lorsque l'on fusionne les métadonnées du courrier dans le modèle de doc.
voici la trace :
[12-Nov-2019 15:29:21 Europe/Paris] PHP Fatal error: Uncaught Exception: Argument driver is empty in /var/www/html/MaarchCourrier1810/src/core/models/ValidatorModel.$
Stack trace:
#0 /var/www/html/MaarchCourrier1810/src/core/models/DatabasePDO.php(87): SrcCore\models\ValidatorModel::notEmpty(Array, Array)
#1 /var/www/html/MaarchCourrier1810/src/core/models/DatabaseModel.php(133): SrcCore\models\DatabasePDO->__construct()
#2 /var/www/html/MaarchCourrier1810/src/app/entity/models/EntityModelAbstract.php(69): SrcCore\models\DatabaseModel::select(Array)
#3 /var/www/html/MaarchCourrier1810/src/app/entity/models/EntityModelAbstract.php(416): Entity\models\EntityModelAbstract::getByEntityId(Array)
#4 /var/www/html/MaarchCourrier1810/modules/templates/datasources/letterbox_attachment.php(49): Entity\models\EntityModelAbstract::getEntityPathByEntityId(Array)
#5 /var/www/html/MaarchCourrier1810/modules/templates/class/templates_controler_Abstract.php(921): include('/var/www/html/M...')
#6 /var/www/html/MaarchCourrier1810/modules/content_management/retrieve_template_ in /var/www/html/MaarchCourrier1810/src/core/models/ValidatorModel.php on line 28
ça vient de la méthode getCustomId qui ne renvoie pas le customId et du coup on ne récupère pas les infos de connexion à la bdd.
j'ai un fix mais à valider / optimiser :
[maarch@dcmaarch-recette MaarchCourrier]$ git diff src/core/models/CoreConfigModel.php
diff --git a/src/core/models/CoreConfigModel.php b/src/core/models/CoreConfigModel.php
index a757cac..e21e865 100644
--- a/src/core/models/CoreConfigModel.php
+++ b/src/core/models/CoreConfigModel.php
@@ -47,6 +47,10 @@ class CoreConfigModel
}
}
+ if (file_exists('custom/' . (string)$value->custom_id . '/apps/maarch_entreprise/xml/config.xml')) {
+ return (string)$value->custom_id;
+ }
+
return '';
}
Attention à vérifier tous les cas de mix v1 / v2 sur la fonction getCustomId.
à corriger en hot fix svp !
Actions