Matthieu.h Posted May 21, 2013 Share Posted May 21, 2013 Bonjour, j'aimerai limiter le choix des statut de commande coté admin je suis a peu près sur que ca se passe dans le fichier adminOrderController $this->fields_list = array( 'id_order' => array( 'title' => $this->l('ID'), 'align' => 'center', 'width' => 25 ), 'reference' => array( 'title' => $this->l('Reference'), 'align' => 'center', 'width' => 65 ), 'new' => array( 'title' => $this->l('New'), 'width' => 25, 'align' => 'center', 'type' => 'bool', 'tmpTableFilter' => true, 'icon' => array( 0 => 'blank.gif', 1 => array( 'src' => 'note.png', 'alt' => $this->l('First customer order'), ) ), 'orderby' => false ), 'customer' => array( 'title' => $this->l('Customer'), 'havingFilter' => true, ), 'total_paid_tax_incl' => array( 'title' => $this->l('Total'), 'width' => 70, 'align' => 'right', 'prefix' => '<b>', 'suffix' => '</b>', 'type' => 'price', 'currency' => true ), 'payment' => array( 'title' => $this->l('Payment: '), 'width' => 100 ), 'osname' => array( 'title' => $this->l('Status'), 'color' => 'color', 'width' => 280, 'type' => 'select', 'list' => $statuses_array, 'filter_key' => 'os!id_order_state', 'filter_type' => 'int' ), 'date_add' => array( 'title' => $this->l('Date'), 'width' => 130, 'align' => 'right', 'type' => 'datetime', 'filter_key' => 'a!date_add' ), 'id_pdf' => array( 'title' => $this->l('PDF'), 'width' => 35, 'align' => 'center', 'callback' => 'printPDFIcons', 'orderby' => false, 'search' => false, 'remove_onclick' => true) ); Je crois que le filtre qui permet de me pas afficher le statut deja assigner (et donc avec lequel je pourrai faire ce que je veux) c'est ca 'filter_key' => 'os!id_order_state', mais je comprend pas trop comment ca marche Link to comment Share on other sites More sharing options...
Greeny Posted May 31, 2013 Share Posted May 31, 2013 Bonjour Matthieu.h Je reformule ton problème pour pouvoir te répondre : Est-ce que tu veux supprimer (désactiver) certains statuts de commande dans le BackOffice et donc qu'ils n'apparaissent plus dans le menu déroulant du détail des commandes car tu n'en as jamais besoin ? Ou est-ce que tu veux que certains statuts n'apparaissent plus dans le menu déroulant du détail des commandes tout en les laissant actifs car tu les utilises a d'autres endroits ? Link to comment Share on other sites More sharing options...
Matthieu.h Posted May 31, 2013 Author Share Posted May 31, 2013 J'aurais bien aimé que certains statuts n'apparaissent plus dans le menu déroulant du détail des commandes tout en les laissant actifs car je voulais limité l'accès a certain profil employé mais je me suis débrouillé autrement, j'ai rajouté une condition au changement de statut dans adminOrderController Si tu sais deja comment faire le tri dans la liste ca serai un bonus sympathique, sinon t'embete pas En tout cas, même si tu arrive un peu tard, merci pour ta réponse Link to comment Share on other sites More sharing options...
Greeny Posted May 31, 2013 Share Posted May 31, 2013 Ah ben en fait moi c'était plutôt le 1er cas que j'avais traité : désactiver des statuts dont on n'a pas besoin et les trier dans un autre ordre aussi. Je voulais supprimer certains statuts par défaut mais Prestashop ne le permet pas, on a donc ce joli message d'erreur : Pour des raisons de sécurité, vous ne pouvez pas supprimer les états de commande par défaut. Même si ça ne va pas t'aider j’explique comment j'ai fait au cas où ça sert à quelqu'un un jour : En fait dans le fichier AdminOrdersController.php ligne 181 on assigne au template la liste des statuts a afficher dans le menu déroulant : 'order_states' => OrderState::getOrderStates((int)Context::getContext()->language->id), A partir de là j'ai retrouvé la fonction utilisée pour récupérer les statuts à afficher : getOrderStates() dans la classe OrderState (fichier classes/order/OrderState.php), j'ai fait un override de la classe et j'ai travaillé direct dans la requête de la fonction getOrderStates(). Et du coup pour désactiver certains statuts par défaut, j'ai été directement dans la table "order_state" et j'ai modifié le champ "deleted" de ces statuts à "1". Voilà les quelques pistes que j'ai suivi. Bon courage pour la suite ! 1 Link to comment Share on other sites More sharing options...
akhawat Posted November 8, 2014 Share Posted November 8, 2014 Bonjour Matthieu.h Je reformule ton problème pour pouvoir te répondre : Est-ce que tu veux supprimer (désactiver) certains statuts de commande dans le BackOffice et donc qu'ils n'apparaissent plus dans le menu déroulant du détail des commandes car tu n'en as jamais besoin ? Ou est-ce que tu veux que certains statuts n'apparaissent plus dans le menu déroulant du détail des commandes tout en les laissant actifs car tu les utilises a d'autres endroits ? Bonjour je suis interessé Bonjour, j'aimerai limiter le choix des statut de commande coté admin je suis a peu près sur que ca se passe dans le fichier adminOrderController $this->fields_list = array( 'id_order' => array( 'title' => $this->l('ID'), 'align' => 'center', 'width' => 25 ), 'reference' => array( 'title' => $this->l('Reference'), 'align' => 'center', 'width' => 65 ), 'new' => array( 'title' => $this->l('New'), 'width' => 25, 'align' => 'center', 'type' => 'bool', 'tmpTableFilter' => true, 'icon' => array( 0 => 'blank.gif', 1 => array( 'src' => 'note.png', 'alt' => $this->l('First customer order'), ) ), 'orderby' => false ), 'customer' => array( 'title' => $this->l('Customer'), 'havingFilter' => true, ), 'total_paid_tax_incl' => array( 'title' => $this->l('Total'), 'width' => 70, 'align' => 'right', 'prefix' => '<b>', 'suffix' => '</b>', 'type' => 'price', 'currency' => true ), 'payment' => array( 'title' => $this->l('Payment: '), 'width' => 100 ), 'osname' => array( 'title' => $this->l('Status'), 'color' => 'color', 'width' => 280, 'type' => 'select', 'list' => $statuses_array, 'filter_key' => 'os!id_order_state', 'filter_type' => 'int' ), 'date_add' => array( 'title' => $this->l('Date'), 'width' => 130, 'align' => 'right', 'type' => 'datetime', 'filter_key' => 'a!date_add' ), 'id_pdf' => array( 'title' => $this->l('PDF'), 'width' => 35, 'align' => 'center', 'callback' => 'printPDFIcons', 'orderby' => false, 'search' => false, 'remove_onclick' => true) ); Je crois que le filtre qui permet de me pas afficher le statut deja assigner (et donc avec lequel je pourrai faire ce que je veux) c'est ca 'filter_key' => 'os!id_order_state', mais je comprend pas trop comment ca marche Bonjour je suis interessé par le filtre qui permet de ne plus affiché le statut deja assigné cdlt Link to comment Share on other sites More sharing options...
S.Fatiha Posted August 10, 2016 Share Posted August 10, 2016 Bonjour Matthieu.h Je reformule ton problème pour pouvoir te répondre : Est-ce que tu veux supprimer (désactiver) certains statuts de commande dans le BackOffice et donc qu'ils n'apparaissent plus dans le menu déroulant du détail des commandes car tu n'en as jamais besoin ? Ou est-ce que tu veux que certains statuts n'apparaissent plus dans le menu déroulant du détail des commandes tout en les laissant actifs car tu les utilises a d'autres endroits ? Bonjour Greeny, Pour moi, mon besoin, c'est que je veux afficher au niveau du filtre de la commande : "Filtrer par État : Annulé" au lieu de "Filtrer par État : 1". C'est à dire je veux afficher le libellé de l'état et non plus son code. J'ai cherché dans le fichier AdminOrdersController.php, j'ai trouvé la sélection de name et id_order_state, mais je ne sais ps comment faire pour afficher le name au lieu de id_order_state de la table order_state_lang Merci. Link to comment Share on other sites More sharing options...
Greeny Posted November 8, 2016 Share Posted November 8, 2016 Bonjour S. Fatiha Désolée je n'avais pas vu ton message. As-tu trouvé une solution à ton problème depuis le mois d’Août ? Si non, peux-tu m'indiquer quelle version de Prestashop tu utilises ? Merci, Greeny Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now