Changeset 122995 in spip-zone


Ignore:
Timestamp:
Mar 17, 2020, 5:01:03 PM (3 weeks ago)
Author:
Charles Razack
Message:

Soyons raccords avec le plugin commandes : il ne peut y avoir qu'une seule commande en cours à la fois pour un même auteur. Donc avant de créer une nouvelle commande, que ce soit une commande d'abonnement, de patates ou autre, on met l'éventuelle ancienne en cours à la poubelle. Et on ajoute id_commande dans la session, comme le fait creer_commande_encours.

Location:
_plugins_/commandes_abonnements/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/commandes_abonnements/trunk

    • Property subgit:lock:eae1bc8d34adf9a8e1fbb49d81d894fd05180e63 deleted
    • Property subgit:lock:6762fe9ab08a9f0f0f03f3bf833981ce5c01506a set to 2020-03-17T18:01:11.109
  • _plugins_/commandes_abonnements/trunk/commandes_abonnements_pipelines.php

    r122994 r122995  
    176176                }
    177177
     178                // Il ne peut y avoir qu'une seule commande en cours à la fois :
     179                // s'il y a déjà une commande en cours précédente, on la supprime.
     180                // Cf. creer_commande_encours() dans le plugin commandes.
     181                if (($id_commande = intval(session_get('id_commande'))) > 0) {
     182                        // Si la commande est toujours "encours" il faut la mettre à la poubelle
     183                        // il ne faut pas la supprimer tant qu'il n'y a pas de nouvelles commandes pour etre sur qu'on reutilise pas son numero
     184                        // (sous sqlite la nouvelle commande reprend le numero de l'ancienne si on fait delete+insert)
     185                        if (
     186                                $statut = sql_getfetsel('statut', 'spip_commandes', 'id_commande = ' . intval($id_commande))
     187                                and $statut == 'encours'
     188                        ) {
     189                                spip_log("Commande ancienne encours->poubelle en session : $id_commande", 'commandes_abonnements');
     190                                sql_updateq('spip_commandes', array('statut' => 'poubelle'), 'id_commande = ' . intval($id_commande));
     191                        }
     192                        // Dans tous les cas on supprime la valeur de session
     193                        session_set('id_commande');
     194                }
     195
    178196                // On crée une nouvelle commande, l'abonnement ne sera créé ou renouvelé que lors du paiement !
    179197                if (
     
    205223                                        'id_commande=' . intval($id_commande)
    206224                                );
    207                                 // Et on supprime la session
     225                                // Et on supprime le pseudo-panier de la session, puis on met la vraie commande
    208226                                session_set('commande_abonnement', null);
     227                                session_set('id_commande', $id_commande);
    209228                        }
    210229                }
  • _plugins_/commandes_abonnements/trunk/paquet.xml

    r122994 r122995  
    22        prefix="commandes_abonnements"
    33        categorie="divers"
    4         version="1.3.5"
     4        version="1.3.6"
    55        schema="1.0.0"
    66        etat="dev"
Note: See TracChangeset for help on using the changeset viewer.