Bonjour,
Je suis en train de faire un module avec formulaires CRUD, listes, etc...
Vu que c'est un module à destination de mon entreprise, je le fais en français donc je n'ai pas de table_lang.
Le souci c'est que mon bulk pour l'action delete cherche toujours la table_lang pour supprimer le contenu d'une ligne.
Est-ce je peux changer la requête DELETE dans une fonction dans mon controller où j'appelle mon RowAction('delete') ? (Si oui, quelle forme a-t-elle ? PostProcess ?)
ou sinon
Est-ce que je peux dupliquer le RowAction('delete') et changer sa requête DELETE dans son fichier d'initialisation ? (Si oui, quel est le nom du fichier où il est mis en place ? Mon IDE me propose 110 fichiers avec des RowActions...)
Si ma question n'était pas claire :
Erreur : La table 'bdd.ps_reception_lang' n'existe pas<br /><br /><pre>SELECT * FROM `ps_reception_lang` WHERE `id_reception` = 541</pre>
at line 769 in file classes/db/Db.php
<?php include '../modules/gestionProduction/classes/Ingredient.php'; include '../modules/gestionProduction/classes/Fournisseur.php'; include '../modules/gestionProduction/classes/Reception.php'; include '../modules/gestionProduction/classes/Transporteur.php'; include '../modules/gestionProduction/classes/Unite.php'; class AdminGestionReceptionController extends ModuleAdminController{ // Instanciation de la classe public function __construct(){ $this->bootstrap = true; //Gestion de l'affichage en mode bootstrap $this->table = 'gp_reception'; //Table de l'objet $this->identifier = 'id_reception'; //Clé primaire de l'objet $this->className = Reception::class; //Classe de l'objet $this->lang = false; // <= Je précise bien pas de lang //Liste des champs de l'objet à afficher dans la liste $this->fields_list = array( 'date_reception' => array('title' => 'Date', 'width' => 'auto', 'remove_onclick' => true), 'ingredient_reception' => array('title' => 'Ingrédient', 'width' => 'auto', 'remove_onclick' => true), 'fournisseur_reception' => array('title' => 'Fournisseur', 'width' => 'auto', 'remove_onclick' => true), 'ingredient_quantite' => array('title' => 'Quantité', 'width' => 'auto', 'remove_onclick' => true), 'num_lot_fournisseur_reception' => array('title' => 'Num lot fournisseur', 'width' => 'auto', 'remove_onclick' => true), 'num_lot_reception' => array('title' => 'Num lot', 'width' => 'auto', 'remove_onclick' => true), 'quantite_conforme_reception' => array('title' => 'Conformité', 'width' => 'auto', 'remove_onclick' => true), 'integrite_reception' => array('title' => 'Intégrité', 'width' => 'auto', 'remove_onclick' => true), ); //Ajout d'actions sur chaque ligne //$this->addRowAction('view'); $this->addRowAction('edit'); $this->addRowAction('delete'); parent::__construct(); } /** * Récupération et stockage des données après validation du formulaire */ public function postProcess(){ if (Tools::isSubmit('validerAjoutReception')) { //On récupère les données entrées dans le formulaire d'ajout //Insertion des données dans la BDD } //Redirection vers la liste $this->redirect_after = Context::getContext()->link->getAdminLink('AdminGestionReception', true); parent::postProcess(); } elseif (Tools::isSubmit('delete' . $this->table)) { if (!($obj = $this->loadObject(true))) { return; } else { //Suppression de la réception Db::getInstance()->execute('DELETE FROM `' . _DB_PREFIX_ . 'gp_reception` WHERE `id_reception`=' . (int) $obj->id); return parent::postProcess(); } } else { return parent::postProcess(); } } }
Merci 😃