Correction du bug "ID ORDER" dans les avoirs

Un client m’a fait remarqué un soucis sur sa boutique la semaine dernière. Lorsqu’il effectuait un trie par date ou ID de commande dans le tableau des « avoirs« , il avait un erreur SQL :

Column ‘id_order’ in where clause is ambiguous

Erreur SQL si le debug est a FALSE

En faite, il y a deux bugs dans les versions inférieur à Prestashop 1.6.1.14.

Le trie par id commande ET par date pose problème. Le soucis de la date semble être corrigé dans la version 1.6.1.14 mais pas celui de l’ID de commande…

Le principe du correctif, est de faire le lien SQL entre les tables pour éviter l’avertissement lors de la requêtes, sinon les champs DATE et ID_ORDER sont considérés comme ambigue car ces champs existent dans les deux tables qui sont liés.

SQL Fixe : Pour les versions < 1.6.1.14 :

Pour corriger le bug de trie, il suffit d’ajouter  dans le fichier : « controller/admin/AdminSlipController.php« 

1 –

'havingFilter' => true
à la fin de la définition « id_order« 

'id_order' => array(
 'title' => $this->l('Order ID'),
 'align' => 'left',
 'class' => 'fixed-width-md',
 'havingFilter' => true
 ),

 

2 –

'filter_key' => 'a!date_add'

à la fin de « date_add »

'date_add' => array(
 'title' => $this->l('Date issued'),
 'type' => 'date',
 'align' => 'right',
 'filter_key' => 'a!date_add'
 ),

 

Version >= 1.6.1.14 :

 

Il n’y à que le champs date qui a été fixé, le champs ID_ORDER reste à patcher :

1 –

'havingFilter' => true
à la fin de la définition « id_order« 

'id_order' => array(
 'title' => $this->l('Order ID'),
 'align' => 'left',
 'class' => 'fixed-width-md',
 'havingFilter' => true
 ),

 

J’ai remonté le bug et le correctif  à la team Prestashop, voir le ticket sur la forge ici : forge.prestashop.com/browse/PSCSX-9146

Le pull request sur le dépôt Github est disponible ici :  https://github.com/PrestaShop/PrestaShop/pull/8023

 

 

Bonne nouvelle, le patch proposé sur le GitHub Prestashop a été accepté et fusionné à la solution d’e-commerce.

https://github.com/PrestaShop/PrestaShop

 

One thought on “[RESOLU] id_order is ambiguous | SQL error”

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

record your voice
Time: 00:00
Level:
Status: