Changeset 120863 in spip-zone


Ignore:
Timestamp:
Jan 28, 2020, 5:18:45 PM (17 months ago)
Author:
Charles Razack
Message:

Option durée de vie : on ne supprime plus les commandes en cours trop vieilles, on leur met un nouveau statut « abandonnée ». S'il y a besoin de vraiment faire le ménage, ça sera avec une action à part manuelle.

Location:
_plugins_/commandes/trunk
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/commandes/trunk

    • Property subgit:lock:d1638ea41649afc6197c652d8face866d469f98a deleted
    • Property subgit:lock:85c62674c4d55e661603630131e21cf4e6e5bc3a set to 2020-01-28T18:18:53.052
  • _plugins_/commandes/trunk/base/commandes.php

    r107896 r120863  
    9494                        'retour_partiel' => 'commandes:statut_retour_partiel',
    9595                        'erreur' => 'commandes:statut_erreur',
     96                        'abandonne' => 'commandes:statut_abandonne',
    9697                        'poubelle' => 'commandes:statut_poubelle',
    9798                ),
     
    105106                        'retour_partiel' => 'puce-commande-retour_partiel.png',
    106107                        'erreur' => 'puce-commande-erreur.png',
     108                        'abandonne' => 'puce-commande-abandonne.png',
    107109                        'poubelle' => 'puce-commande-poubelle.png',
    108110                ),
  • _plugins_/commandes/trunk/commandes_pipelines.php

    r115545 r120863  
    2929
    3030/**
    31  * Optimiser la base de donnée en supprimant toutes les commandes en cours qui sont trop vieilles
    32  *
    33  * Le délai de "péremption" est défini dans les options de configuration du plugin
     31 * Optimiser la base de donnée en abandonnant toutes les commandes en cours qui sont trop vieilles
     32 *
     33 * Le délai de "péremption" est défini dans les options de configuration du plugin.
     34 * Par défaut, c'est 24h
    3435 *
    3536 * @pipeline optimiser_base_disparus
     
    3738 * @return array       Données du pipeline
    3839 */
    39 function commandes_optimiser_base_disparus($flux){
     40function commandes_optimiser_base_disparus($flux) {
    4041        include_spip('inc/config');
    41         if (is_numeric($duree_vie = lire_config('commandes/duree_vie'))) {
    42                 // On cherche la date depuis quand on a le droit d'avoir fait la commande
    43                 $depuis = date('Y-m-d H:i:s', time() - 3600*intval($duree_vie));
    44                 // On récupère les commandes trop vieilles
    45                 $commandes = sql_allfetsel(
    46                         'id_commande',
    47                         'spip_commandes',
    48                         'statut = '.sql_quote('encours').' and date<'.sql_quote($depuis)
    49                 );
    50 
    51                 // S'il y a bien des commandes à supprimer
    52                 if ($commandes) {
    53                         $commandes = array_map('reset', $commandes);
    54                         include_spip('inc/commandes');
    55                         commandes_supprimer($commandes);
    56                         $flux['data'] += count($commandes);
    57                 }
     42        include_spip('base/abstract_sql');
     43        $duree_vie = lire_config('commandes/duree_vie', 24);
     44        // On cherche la date depuis quand on a le droit d'avoir fait la commande
     45        $depuis = date('Y-m-d H:i:s', time() - 3600*intval($duree_vie));
     46        // On récupère les commandes trop vieilles
     47        $commandes = sql_allfetsel(
     48                'id_commande',
     49                'spip_commandes',
     50                'statut = '.sql_quote('encours').' and date<'.sql_quote($depuis)
     51        );
     52
     53        // S'il y a bien des commandes à abandonner
     54        if ($commandes) {
     55                $ids_commandes = array_map('reset', $commandes);
     56                include_spip('action/editer_objet');
     57                foreach ($ids_commandes as $id_commande) {
     58                        objet_instituer('commande', $id_commande, array('statut' => 'abandonne'));
     59                }
     60                $flux['data'] += count($commandes);
    5861        }
    5962
  • _plugins_/commandes/trunk/formulaires/configurer_commandes.php

    r112019 r120863  
    5656                                                'label' => _T('commandes:parametres_duree_vie_label'),
    5757                                                'explication' => _T('commandes:parametres_duree_vie_explication'),
    58                                                 'defaut' => $config['duree_vie']
    59                                         )
     58                                                'defaut' => ($config['duree_vie'] ? $config['duree_vie'] : 24),
     59                                                'type' => 'number',
     60                                                'min' => 1,
     61                                        ),
     62                                        'verifier' => array(
     63                                                'type' => 'entier',
     64                                                'options' => array('min' => 1),
     65                                        ),
    6066                                )
    6167                        )
  • _plugins_/commandes/trunk/lang/commandes_fr.php

    r115545 r120863  
    9494        'info_1_commande' => '1 commande',
    9595        'info_1_commande_active' => '1 commande active',
     96        'info_1_commande_statut_abandonne' => '1 commande abondonnée',
    9697        'info_1_commande_statut_attente' => '1 commande en attente de validation',
    9798        'info_1_commande_statut_encours' => '1 commande en cours',
     
    113114        'info_nb_commandes' => '@nb@ commandes',
    114115        'info_nb_commandes_actives' => '@nb@ commandes actives',
     116        'info_nb_commandes_statut_abandonne' => '@nb@ commandes abandonnées',
    115117        'info_nb_commandes_statut_attente' => '@nb@ commandes en attente de validation',
    116118        'info_nb_commandes_statut_envoye' => '@nb@ commandes envoyées',
     
    197199        // P
    198200        'parametres_cfg_titre' => 'Paramètres',
    199         'parametres_duree_vie_explication' => 'Limiter la durée de vie (en heures) d’une commande avec le statut en cours',
     201        'parametres_duree_vie_explication' => 'Limiter la durée de vie (en heures) d’une commande avec le statut en cours, avant qu’elle ne soit considérée comme étant abandonnée.',
    200202        'parametres_duree_vie_label' => 'Durée de vie',
    201203        'passer_la_commande' => 'Passer la commande',
     
    209211        // S
    210212        'simuler' => 'Simuler changement de statut',
     213        'statut_abandonne' => 'Abandonnée',
    211214        'statut_attente' => 'En attente de validation',
    212215        'statut_encours' => 'En cours',
  • _plugins_/commandes/trunk/paquet.xml

    r120861 r120863  
    22        prefix="commandes"
    33        categorie="divers"
    4         version="1.15.14"
     4        version="1.16.0"
    55        schema="0.7.9"
    66        etat="stable"
Note: See TracChangeset for help on using the changeset viewer.