Jump to content

[Résolu] Comment supprimer une commande depuis mon BO svp ?


Recommended Posts

merci mais ce n'est pas ce que je recherche... car cela supprime tout les clients (si on coche la case clients), toutes les commandes (si on coche la case commandes) etc. Ce que je cherche avec cette nouvelle version, c'est comment supprimer (aussi des stats) une fois la boutique en ligne certaines commandes..

Link to comment
Share on other sites

Je viens de trouver quelque chose mais je me demande si cette modif est compatible avec la version 1.5 ??

 

Voici la modif à affectuer :

 

Dans votre fichier « AdminOrders.php » dans le répertoire « admin/tabs » ajoutez « $this->delete = true; »

01 class AdminOrders extends AdminTab

02 {

03 public function __construct()

04 {

05 global $cookie, $currentIndex;

06

07 $this->table = 'order';

08 $this->className = 'Order';

09 $this->view = true;

10 $this->delete = true;

11 ...

Allons à présent regarder dans le back-office et hop magie, on constate qu’une nouvelle icone est apparue et qu’on peut supprimer nos commandes.

  • Like 1
Link to comment
Share on other sites

Bizarre ?!

 

C'est surtout que une commande effectuée (et encore plus validée) perdue est très mauvais pour le marchand. Une fausse manip' et c'est catastrophique.

 

D'autant plus qu'il est possible de mettre des statuts spécifiques (comme "Annulé") au réel besoin du marchand !

Link to comment
Share on other sites

  • 1 month later...

C'est un sujet récurrent et j'ai déja dis ça , mais je veux préciser que hormis purger le site des commandes test avant mise en production , celà n'a aucun sens de supprimer une commande du BO.

 

Cette fameuse manip est connue mais ne purge pas tout ce qui se rattache à la commande lors de la suppression : en réalité elle ne supprime que la ligne dans ps_orders.

 

On s'expose donc à des effets de bord inattendus...et je ne parle pas en l'air.

 

Une commande peut être annulée , mais ne doit jamais être supprimée dans un site en production.

 

J'ajoute qu'en cas de contrôle... l'absence de certains numéros dans l'incrémentation fera tiquer de suite et on vous demandera des explications... dans le meilleur des cas...

 

Je dis ça , je dis rien. Libre à vous.

  • Like 7
Link to comment
Share on other sites

La réponse, partielle, pour une 1.4 :

 

DELETE o, oh, od

FROM ps_orders AS o, ps_order_history as oh, ps_order_detail as od

WHERE oh.id_order = o.id_order and od.id_order = o.id_order and o.od_order = 123 ;

 

Pour celui qui est partant je fais un module gratuit avec lui ;)

Edited by delete (see edit history)
Link to comment
Share on other sites

C'est un sujet récurrent et j'ai déja dis ça , mais je veux préciser que hormis purger le site des commandes test avant mise en production , celà n'a aucun sens de supprimer une commande du BO.

 

Cette fameuse manip est connue mais ne purge pas tout ce qui se rattache à la commande lors de la suppression : en réalité elle ne supprime que la ligne dans ps_orders.

 

On s'expose donc à des effets de bord inattendus...et je ne parle pas en l'air.

 

Une commande peut être annulée , mais ne doit jamais être supprimée dans un site en production.

 

J'ajoute qu'en cas de contrôle... l'absence de certains numéros dans l'incrémentation fera tiquer de suite et on vous demandera des explications... dans le meilleur des cas...

 

Je dis ça , je dis rien. Libre à vous.

Tout à fait ok, celà va générer pas mal de problèmes de supprimer une commande, car celà est bien plus complexe qu'il n'y parait, il ne suffit pas de se dire je supprime la commande puis c'est tout, il faut regarder l'impact que celà entraine...

 

D'autant plus que si celà n'existe pas, comme dans tout bon logiciel comptable qui se respecte, c'est que celà est tout simplement illégal en France, une commande facturée, payée ou en validée, ne peut être supprimé pour des raisons fiscales évidentes.

@++

Link to comment
Share on other sites

Je viens de trouver plus simple, il suffit de cliquer sur afficher une commande et remplacer dans l'url vieworder par deleteorder

Ex :

http://...admin/index.php?controller=adminorders&id_order=1&vieworder&token=0b75e06fa25ee60312e436d97623ba54

devient

http://...admin/index.php?controller=adminorders&id_order=1&deleteorder&token=0b75e06fa25ee60312e436d97623ba54

  • Like 1
Link to comment
Share on other sites

Je viens de trouver plus simple, il suffit de cliquer sur afficher une commande et remplacer dans l'url vieworder par deleteorder

Ex :

http://...admin/inde...ers&id_order=1vieworder&token=0b75e06fa25ee60312e436d97623ba54

devient

http://...admin/inde...ers&id_order=1deleteorder&token=0b75e06fa25ee60312e436d97623ba54

Mon dieu... :mellow:

Et après y'a des gens qui se plaignent que leur boutique bugue...

  • Like 4
Link to comment
Share on other sites

Mon dieu... :mellow:

Et après y'a des gens qui se plaignent que leur boutique bugue...

 

Evidemment je plussoie autant que faire se peu !!!

J'expliquais plus haut que justement , cette suppression n'allait supprimer les enregistrements que dans une seule table , et les effets de bord .... incorrigibles je vous dis !!!

  • Like 1
Link to comment
Share on other sites

Pour moi c'est ok. Super!

Super d'afficher une corbeille virtuelle qui n'effacera aucun enregistrement d'aucune tables exceptée la table order ...

 

Pour l'intégrité de votre base de donnée c'est vraiment justement ce qu'il ne faut pas faire

 

+1 pour Patric et Broceliande

 

J'ajouterai que soit vous implémentez une cleanup qui efface réellement les enregistrements relatifs à une facture soit tous les artifices que j'ai pu lire ici sont tous inefficaces voir nuisibles. Mais tout ceci sans parler de l'aspect légal évoqué, ok c'est un autre sujet.

Link to comment
Share on other sites

  • 4 months later...

Je reviens sur ce thème car après une mise a jour IL FAUT faire des commandes de TEST et en se payant soit même par exemple... mais nulle part où effacer ces commandes. Alors si quelqu'un sait comment effacer sans tripoter la BD ça m'arrange.... pourquoi pas mettre une fonction avec confirmation et re-confirmation pour s'assurer que les distraits n'éffacent pas les mauvaises commandes le module "effacer une commande " marchait bien et faisait du bon boulot, dommage il n'est pas compatible 1.5.3....

Link to comment
Share on other sites

  • 1 month later...
D'autant plus que si celà n'existe pas, comme dans tout bon logiciel comptable qui se respecte, c'est que celà est tout simplement illégal en France, une commande facturée, payée ou en validée, ne peut être supprimé pour des raisons fiscales évidentes.

 

il est illégal de supprimer des factures en France. Pour le reste les devis, commande, BL, sont de la soupe interne, il n'y a pas de problèmes avec leur suppression.

Link to comment
Share on other sites

il est illégal de supprimer des factures en France. Pour le reste les devis, commande, BL, sont de la soupe interne, il n'y a pas de problèmes avec leur suppression.

 

Il est illégal de supprimer une commande facturée, pas une commande de test ou une commande non validée (en attente de paiement par chèque par exemple) qui n'a pas de facture puisqu'elle n'est pas encore rentrée en compta. De plus, supprimer une commande avec la "poubelle" supprime juste la ligne de la table order, certes, mais tout ce qui lui est relié dans les autres tables le sont grâce à l'id de commande, hors l'id de commande s'incrémente de +1 automatiquement en SQL, donc ces lignes seront certes enregistrées dans la BDD mais reliées à aucune commande. Elle sont là mais ne sont pas utilisées, c'est tout.

 

De plus 2 commandes ne peuvent pas avoir le même id (à moins de redéfinir manuellement l'auto incrément de la table SQL) donc aucun bug possible.

 

 

Edit : solution pour la 1.5 avec $this->addRowAction('delete');

http://www.prestashop.com/forums/topic/197923-comment-supprimer-une-commande-dans-prestashop-15/

Edited by lambi521 (see edit history)
Link to comment
Share on other sites

  • 9 months later...

Bonjour,

 

Je vous propose la solution suivante :

 

  - Dans le répertoire controllers/admin

  - Fichier:  AdminOrdersController.php

  - A l'init du constructeur __construct(), l.36 se trouve : $this->addRowAction('view')

 

Ajouter juste après : $this->addRowAction('delete')

 

Et la poubelle apparait dans les actions possibles.

 

Cordialement,

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...