Changeset 112164 in spip-zone


Ignore:
Timestamp:
Oct 25, 2018, 5:13:40 PM (11 months ago)
Author:
arnaud.berard@…
Message:

v0.2.5

Supprimer un stock

  • Ajout d'une action pour supprimer un stock
  • Ajout au formulaire gerer stock (utilisé la page d'édition d'un produit et la page des stocks) d'un bouton action de suppression du stock.
  • Rechargement du bloc conteneur quand on agit sur le formulaire pour mettre a jour les infos et passer de créer à éditer/supprimer
  • ajout d'un pagination sur la liste des stocks, on trie par date inverse.

En test

  • Ajout aux utilise le plugin livraison
  • Ajout d'une colonne dans le listing des stocks "Livraison" qui affiche si le produit est immatériel ou livrable
  • dans le cas d'un produit livrable, et si le plugin livraison est installé, on affiche le/s modes de livraison "forcés" si il en a d'associés au produit, sinon on signal que les rêgles de livraison classique qui s'applique.
Location:
_plugins_/stocks/trunk
Files:
2 added
6 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/stocks/trunk/formulaires/gerer_stock.html

    r107820 r112164  
    66           [<br> (#ENV**{erreurs}|table_valeur{_quantite})]
    77    </p>]
     8
    89[(#ENV{editable})
    9 <form name="formulaire_#FORM" action="#ENV{action}" method="post"> 
     10[(#ENV{id_stock}|oui)
     11  [(#BOUTON_ACTION{Supprimer le stock,
     12     #URL_ACTION_AUTEUR{supprimer_stock,#ENV{id_stock}}})]
     13]
     14
     15<form name="formulaire_#FORM" action="#ENV{action}" method="post">
    1016<div>
    1117        #ACTION_FORMULAIRE{#ENV{action}}
    12     <div class="[(#ENV{is_stock}|?{'edit','new'})]">   
     18    <div class="[(#ENV{id_stock}|?{'edit','new'})]">
    1319            <input type="hidden" name="objet" value="#ENV{objet}" />
    1420            <input type="hidden" name="id_objet" value="#ENV{id_objet}" />
     21            <input type="hidden" name="id_stock" value="#ENV{id_stock}" />
    1522            <input type="hidden" name="is_stock" value="#ENV{is_stock}" />
    16             [(#ENV{is_stock}|oui)
     23            [(#ENV{id_stock}|oui)
    1724                <label for="quantite[-(#GET{uid})]">En stock</label>
    1825                <input type="text" name="_quantite" id="quantite[-(#GET{uid})]" value="#ENV{_quantite}" class="text" />
    1926            ]
    20             [(#ENV{is_stock}|non)
     27            [(#ENV{id_stock}|non)
    2128                <label for="quantite[-(#GET{uid})]">Créer le Stock</label>
    2229                <input type="text" name="_quantite" id="quantite[-(#GET{uid})]" value="#ENV{_quantite}" class="text" />
    23             ]                   
     30            ]
    2431            <input type="submit" class="submit" value="<:pass_ok:>" />
    2532        </div>
  • _plugins_/stocks/trunk/formulaires/gerer_stock.php

    r107900 r112164  
    22/*
    33 * Squelette
    4  * (c) 2016 
     4 * (c) 2016
    55 * Distribue sous licence GPL
    66 *
    77 * @url - http://programmer.spip.net/-Formulaires-35-
    8  * 
     8 *
    99 *
    1010 */
     
    1717function formulaires_gerer_stock_charger_dist($objet, $id_objet, $retour = ''){
    1818        include_spip('inc/stocks');
    19         $quantite = get_quantite($objet,$id_objet);
     19        $table_stocks = table_objet_sql('stocks');
     20        $stock = sql_fetsel(
     21                'id_stock, quantite',
     22                $table_stocks,
     23                array(
     24                        'objet = '.sql_quote($objet),
     25                        'id_objet = '.intval($id_objet)
     26                )
     27        );
     28        // var_dump($stock);
     29        $quantite = isset($stock['quantite']) ? $stock['quantite'] : false;
    2030        $stock_default = lire_config('stocks/quantite_default');
    2131        $valeurs = array(
    2232                'objet' => $objet,
    2333                'id_objet' => $id_objet,
     34                'id_stock' => $stock['id_stock'],
    2435                'is_stock' => isset($quantite) ? true : false ,
    2536                '_quantite' => isset($quantite) ? $quantite : $stock_default
    2637        );
    27        
     38
    2839
    2940        return $valeurs;
     
    5162        set_quantite($objet,$id_objet,$quantite);
    5263        set_request('is_stock', true);
    53        
     64
    5465        return array('message_ok'=>_T('stocks:reponse_ok'),
    5566                                 'editable'=>true);
  • _plugins_/stocks/trunk/paquet.xml

    r111232 r112164  
    22        prefix="stocks"
    33        categorie="divers"
    4         version="0.2.4"
     4        version="0.2.5"
    55        etat="dev"
    66        compatibilite="[3.0.1;3.2.*]"
     
    2525        <pipeline nom="post_edition" inclure="stocks_pipelines.php" />
    2626        <utilise nom="commandes" compatibilite="[1.15.3;["/>
     27        <utilise nom="livraison" compatibilite="[2.6.0;["/>
    2728
    2829        <necessite nom="produits" compatibilite="[1.1.25;["/>
  • _plugins_/stocks/trunk/prive/squelettes/contenu/gerer_stocks.html

    r110945 r112164  
    6262<h1 class="grostitre">Gestion du stock</h1>
    6363
     64<B_listProduits>
     65#ANCRE_PAGINATION
     66[<p class="pagination">(#PAGINATION{prive})</p>]
    6467<table>
    6568        <tr>
     
    6770                <th>Titre</th>
    6871                <th>Parent</th>
     72                <th>Livrable</th>
    6973                <th>Ref.</th>
    7074                <th class="txt-right">Stock</th>
    7175        </tr>
    72 <B_listProduits>
    73 <BOUCLE_listProduits(PRODUITS){!statut IN poubelle}>
     76</thead>
     77<tbody>
     78<BOUCLE_listProduits(PRODUITS){!statut IN poubelle}{par date}{inverse}{pagination 50}>
    7479        <tr>
    7580                <td>
     
    8287                        <a href="#URL_ECRIRE{'rubrique',id_rubrique=#ID_RUBRIQUE}">#INFO_TITRE{'rubrique',#ID_RUBRIQUE}</a>
    8388                </td>
     89                <td>
     90                        [(#IMMATERIEL|?{'Immatériel','Livrable'})<br>]
     91                        <BOUCLE_livraison(CONDITION){si #PLUGIN{livraison}|et{#IMMATERIEL|=={0}}}>
     92                                        <BOUCLE_modLivraison(LIVRAISONMODES spip_livraisonmodes_liens){objet=produit}{id_objet=#ID_PRODUIT}>
     93                                        #TITRE<br>
     94                                </BOUCLE_modLivraison>livraison classique<//B_modLivraison>
     95                        </BOUCLE_livraison><//B_livraison>
     96                </td>
    8497                <td>#REFERENCE</td>
    8598                <td class="txt-right actions">
     
    90103        </tr>
    91104</BOUCLE_listProduits>
     105        </tbody>
     106</table>
     107[<p class="pagination">(#PAGINATION{prive})</p>]
    92108</B_listProduits>
    93109<//B_listProduits>
    94 </table>
     110
    95111
    96112<script>
    97113jQuery(function($){
    98 
     114        $('.formulaire_gerer_stock form').on('submit',function(){
     115        $(this).ajaxReload();
     116  });
    99117        $('.js-product-preview').hover(
    100118                function(){
  • _plugins_/stocks/trunk/prive/squelettes/inclure/gerer_stock.html

    r110948 r112164  
    44</p>
    55
    6 [<div class="ajax">(#FORMULAIRE_GERER_STOCK{produit, #ID_PRODUIT, ajax, env})</div>]
     6[<div class="ajax">(#FORMULAIRE_GERER_STOCK{produit, #ID_PRODUIT, ajax=gestion_stock, env})</div>]
     7
     8<script>
     9jQuery(function($){
     10  $('form[name="formulaire_gerer_stock"]').on('submit',function(){
     11    ajaxReload('gestion_stock', {
     12      args:{objet:'produit',id_objet:#ID_PRODUIT}
     13    });
     14  });
     15
     16});
     17</script>
  • _plugins_/stocks/trunk/stocks_pipelines.php

    r111232 r112164  
    77
    88function stocks_formulaire_charger($flux) {
    9 
    109        $form = $flux['args']['form'];
    1110
     
    8180        return $flux;
    8281}
    83 
     82/**
     83 * Pipeline stocks_affiche_milieu
     84 *
     85 * Insserer le formulaire de gestion du stock en dessous
     86 * des livraisons sur la vue de la fiche produit
     87 *
     88 * @param $flux
     89 * @return return type
     90 */
    8491function stocks_affiche_milieu($flux) {
    8592        $texte = "";
     
    168175                                                                                // spip_log("Mise a jour du stock : $new_stock",'stocks');
    169176                                                                                $stock = incrementer_quantite($objet,$id_objet,-$quantite);
    170                                                                                 // Passé le produit en statut épuisé si stock 0
     177                                                                                // Passer le produit en statut épuisé si stock 0
    171178                                                                                $new_stock = get_quantite($objet,$id_objet);
    172179                                                                                if($new_stock <= 0){
Note: See TracChangeset for help on using the changeset viewer.