Projet

Général

Profil

Actions

Anomalie #15941

fermé

Argument contact is empty suite à une migration 18.10 > 20.03.14

Ajouté par Robin SALDINGER il y a presque 4 ans. Mis à jour il y a plus de 3 ans.

Statut:
Clôturé
Priorité:
3-Mineur
Assigné à:
Robin SALDINGER
Version cible:
Backlogs Produits - Inscription Backlog
Début:
15/01/2021
Echéance:

Description

backlog :
Maarcourrier en 2003.14 suite à une migration d'une 18.10

je fais une recherche globale avec 500 résutats en superadmin et j'ai l'erreur suivante :

Fatal error: Uncaught Exception: Argument contact is empty in /var/www/html/MaarchCourrier/src/core/models/ValidatorModel.php:28 Stack trace: #0 /var/www/html/MaarchCourrier/src/app/contact/controllers/ContactController.php(1561): SrcCore\models\ValidatorModel::notEmpty(Array, Array) #1 /var/www/html/MaarchCourrier/src/app/contact/controllers/ContactController.php(1439): Contact\controllers\ContactController::getFormattedOnlyContact(Array) #2 /var/www/html/MaarchCourrier/apps/maarch_entreprise/indexing_searching/documents_list_mlb_search_adv.php(799): Contact\controllers\ContactController::getFormattedContacts(Array) #3 /var/www/html/MaarchCourrier/core/class/class_core_tools.php(1258): require('/var/www/html/M...') #4 /var/www/html/MaarchCourrier/apps/maarch_entreprise/index.php(225): core_tools->insert_page() #5 {main} thrown in /var/www/html/MaarchCourrier/src/core/models/ValidatorModel.php on line 28

Analyse
certains courriers sont associés à des contacts qui n'existent pas dans la table contact, en plus d'etre associés aux bons contacts.

1/ On affiche un courrier qui bug, il est associé a 2 contacts

grigny_2003=# select * from resource_contacts where res_id = 4535;
-[ RECORD 1 ]------
id | 2
res_id | 4535
item_id | 216
type | user
mode | recipient
-[ RECORD 2 ]------
id | 223
res_id | 4535
item_id | 5651
type | contact
mode | sender
-[ RECORD 3 ]------
id | 224
res_id | 4535
item_id | 1595
type | contact
mode | sender

Un des deux n'existe pas :

grigny_2003=# select * from contacts where id = 5651;
(0 ligne)

grigny_2003=# select * from contacts where id = 1595;
-[ RECORD 1 ]-------+----------------------------
id | 1595
civility |
firstname |
lastname |
company | COTTEL Réseaux
department |
function |
address_number |
address_street |
address_additional1 |
address_additional2 |
address_postcode |
address_town |
address_country |
email |
phone |
communication_means |
notes |
creator | 236
creation_date | 2019-10-14 12:00:28.315447
modification_date |
enabled | t
custom_fields | {"5": "Adresse principale"}
external_id | {"m2m": ""}

et ce probleme est présent sur d'autres courriers :

select count(*) from resource_contacts where item_id not in (select id from contacts)
-[ RECORD 1 ]
count | 90

Pour résoudre nous avons passés les commandes suivantes :

delete from resource_contacts where id in (select id from resource_contacts where item_id not in (select id from contacts) and mode = 'sender');
DELETE 83
grigny_2003=# delete from resource_contacts where id in (select id from resource_contacts where item_id not in (select id from contacts) and mode = 'recipient');
DELETE 7

--> probleme résolu

Actions

Formats disponibles : Atom PDF