Changeset 90571 in spip-zone


Ignore:
Timestamp:
Jun 28, 2015, 7:51:04 PM (6 years ago)
Author:
cedric@…
Message:

Ajout des champs immateriel, poids, largeur, longueur, hauteur pour permettre de savoir si le produit necessite une livraison physique ou non, et quelles sont ses dimensions

Location:
_plugins_/produits/trunk
Files:
1 added
7 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/produits/trunk/base/produits.php

    r80933 r90571  
    6565                        "date_com"           => "datetime NOT NULL DEFAULT '0000-00-00 00:00:00'",
    6666                        "langue_choisie"     => "VARCHAR(3) DEFAULT 'non'",
    67                         "id_trad"            => "bigint(21) NOT NULL DEFAULT 0",
     67                        "id_trad"            => "bigint(21) NOT NULL DEFAULT 0",
     68                        "immateriel"         => "tinyint(1) NOT NULL DEFAULT 0",
     69                        "poids"              => "bigint(21) NOT NULL DEFAULT 0", // poids en g
     70                        "largeur"            => "bigint(21) NOT NULL DEFAULT 0", // largeur en cm
     71                        "longueur"           => "bigint(21) NOT NULL DEFAULT 0", // longueur en cm
     72                        "hauteur"            => "bigint(21) NOT NULL DEFAULT 0", // hauteur en cm
    6873                        "maj"                => "TIMESTAMP"
    6974                ),
     
    7883                'titre' => "titre AS titre, lang AS lang",
    7984                'date' => "date",
    80                 'champs_editables'  => array('titre', 'reference', 'prix_ht', 'taxe', 'descriptif','texte'),
    81                 'champs_versionnes' => array('titre', 'descriptif','texte'),
    82                 'rechercher_champs' => array("titre" => 5, "descriptif" => 4, "texte" => 4),
     85                'champs_editables'  => array('titre', 'reference', 'prix_ht', 'taxe', 'descriptif', 'texte', 'immateriel', 'poids', 'largeur', 'longueur', 'hauteur'),
     86                'champs_versionnes' => array('titre', 'reference', 'prix_ht', 'taxe', 'descriptif', 'texte'),
     87                'rechercher_champs' => array("titre" => 4, "reference"=> 4 ,"descriptif" => 2, "texte" => 1),
    8388                'statut_textes_instituer' => array(
    8489                        'prepa'    => 'texte_statut_en_cours_redaction',
  • _plugins_/produits/trunk/formulaires/editer_produit.html

    r90568 r90571  
    5555#ENV*{#GET{name},#GET{defaut}}</textarea>
    5656                        </li>
     57                        <li class="fieldset">
     58                                <fieldset>
     59                                        <legend><:produits:legend_dimensions:></legend>
     60                                        <ul>
     61                                                #SET{name,immateriel}#SET{obli,''}#SET{defaut,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
     62                                                <li class="editer pleine_largeur editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">[
     63                                                        <span class='erreur_message'>(#GET{erreurs})</span>
     64                                                        ]#SET{val,0}
     65                                                        <input type="hidden" name="#GET{name}" value="#GET{val}" />
     66                                                        #SET{val,1}
     67                                                        <div class="choix">
     68                                                                <input type="checkbox" name="#GET{name}" class="checkbox" id="#GET{name}_#GET{val}" value="#GET{val}"[(#ENV{#GET{name},#GET{defaut}}|=={#GET{val}}|oui)checked="checked"] />
     69                                                                <label for="#GET{name}_#GET{val}">[(#GET{fl}|concat{':produit_champ_',#GET{name},'_label'}|_T)]</label>
     70                                                        </div>
     71                                                </li>
     72                                                <li class="editer editer_dimensions pleine_largeur">
     73                                                        <div class="line">
     74                                                                #SET{name,poids}#SET{obli,''}#SET{defaut,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
     75                                                                <div class="editer_poids unit size1of4[ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
     76                                                                        <label for="#GET{name}">[(#GET{fl}|concat{':produit_champ_',#GET{name},'_label'}|_T)]</label>[
     77                                                                        <span class='erreur_message'>(#GET{erreurs})</span>
     78                                                                        ]<input type="text" name="#GET{name}" class="text" value="#ENV*{#GET{name},#GET{defaut}}" id="#GET{name}" [(#HTML5|et{#GET{obli}})required='required']/>
     79                                                                </div>
     80                                                                #SET{name,largeur}#SET{obli,''}#SET{defaut,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
     81                                                                <div class="editer_poids unit size1of4[ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
     82                                                                        <label for="#GET{name}">[(#GET{fl}|concat{':produit_champ_',#GET{name},'_label'}|_T)]</label>[
     83                                                                        <span class='erreur_message'>(#GET{erreurs})</span>
     84                                                                        ]<input type="text" name="#GET{name}" class="text" value="#ENV*{#GET{name},#GET{defaut}}" id="#GET{name}" [(#HTML5|et{#GET{obli}})required='required']/> X
     85                                                                </div>
     86                                                                #SET{name,longueur}#SET{obli,''}#SET{defaut,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
     87                                                                <div class="editer_poids unit size1of4[ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
     88                                                                        <label for="#GET{name}">[(#GET{fl}|concat{':produit_champ_',#GET{name},'_label'}|_T)]</label>[
     89                                                                        <span class='erreur_message'>(#GET{erreurs})</span>
     90                                                                        ]<input type="text" name="#GET{name}" class="text" value="#ENV*{#GET{name},#GET{defaut}}" id="#GET{name}" [(#HTML5|et{#GET{obli}})required='required']/> X
     91                                                                </div>
     92                                                                #SET{name,hauteur}#SET{obli,''}#SET{defaut,''}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
     93                                                                <div class="editer_poids unit lastUnit size1of4[ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
     94                                                                        <label for="#GET{name}">[(#GET{fl}|concat{':produit_champ_',#GET{name},'_label'}|_T)]</label>[
     95                                                                        <span class='erreur_message'>(#GET{erreurs})</span>
     96                                                                        ]<input type="text" name="#GET{name}" class="text" value="#ENV*{#GET{name},#GET{defaut}}" id="#GET{name}" [(#HTML5|et{#GET{obli}})required='required']/>
     97                                                                </div>
     98                                                        </div>
     99                                                </li>
     100                                        </ul>
     101                                </fieldset>
     102                        </li>
    57103
    58104                </ul>
     
    64110        ]
    65111</div>
     112<style>
     113        .editer_dimensions .unit input.text {width: 80%}
     114</style>
     115<script type="text/javascript">
     116jQuery(function(){
     117        function update_immateriel(){
     118                if (jQuery('.editer_immateriel input.checkbox').prop('checked')){
     119                        jQuery('.editer_dimensions').hide('fast');
     120                }
     121                else {
     122                        jQuery('.editer_dimensions').show('fast');
     123                }
     124        }
     125        update_immateriel();
     126        jQuery('.editer_immateriel input.checkbox').bind('change',update_immateriel);
     127})
     128</script>
  • _plugins_/produits/trunk/formulaires/editer_produit.php

    r90568 r90571  
    5656                $id_rubrique = $config['limiter_ident_secteur'][0] ;
    5757        }
    58         $contexte = formulaires_editer_objet_charger('produit',$id_produit,$id_rubrique,$lier_trad=0,$retour);
     58        $contexte = formulaires_editer_objet_charger('produit',$id_produit,$id_rubrique,$lier_trad=0,$retour,'');
    5959
    6060        //Si on a déjà le $id_produit il faut afficher sa rubrique!
  • _plugins_/produits/trunk/lang/produits_fr.php

    r90433 r90571  
    2121
    2222        // L
     23        'legend_dimensions' => 'Dimensions',
    2324        'limiter_ajout_explication' => 'Restreindre l’ajout de produits à un ou plusieurs secteurs',
    2425        'limiter_ajout_label' => 'Limiter',
     
    2930        'produit_bouton_ajouter' => 'Ajouter un produit',
    3031        'produit_champ_descriptif_label' => 'Court descriptif',
     32        'produit_champ_hauteur_label' => 'Hauteur (cm)',
     33        'produit_champ_immateriel_label' => 'Produit dématérialisé (pas de livraison physique)',
     34        'produit_champ_largeur_label' => 'Largeur (cm)',
     35        'produit_champ_longueur_label' => 'Longueur (cm)',
     36        'produit_champ_poids_label' => 'Poids (g)',
    3137        'produit_champ_prix_ht_label' => 'Prix HT',
    3238        'produit_champ_prix_ttc_label' => 'Prix TTC',
  • _plugins_/produits/trunk/paquet.xml

    r90438 r90571  
    22        prefix="produits"
    33        categorie="outil"
    4         version="1.0.2"
     4        version="1.1.0"
    55        etat="dev"
    66        compatibilite="[3.0.13;3.0.*]"
    77        logo="prive/themes/spip/images/produits-64.png"
    88        documentation=""
    9         schema="1.0.0"
     9        schema="1.1.0"
    1010>
    1111
  • _plugins_/produits/trunk/prive/objets/contenu/produit.html

    r90430 r90571  
    33        <div class='label'><:produits:produit_champ_titre_label:></div>
    44        <div dir='#LANG_DIR' class='#EDIT{titre} titre'>#TITRE</div>
     5</div>
     6<div class="champ contenu_reference[ (#REFERENCE*|strlen|?{'',vide})]">
     7        <div class='label'><:produits:produit_champ_reference_label:></div>
     8        <div dir='#LANG_DIR' class='#EDIT{reference} reference'>#REFERENCE</div>
     9</div>
     10<div class="champ contenu_prix_ht[ (#PRIX_HT*|strlen|?{'',vide})]">
     11        <div class='label'><:produits:produit_champ_prix_ht_label:></div>
     12        <div dir='#LANG_DIR' class='#EDIT{prix_ht} prix_ht'>[(#PRIX_HT*|appliquer_filtre{prix_formater,true})]</div>
     13</div>
     14#SET{taxe,#TAXE|floatval|>{0}|?{#TAXE,#CONFIG{produits/taxe,0}}}
     15<div class="champ contenu_taxe[ (#GET{taxe}|strlen|?{'',vide})]">
     16        <div class='label'><:produits:produit_champ_taxe_label:></div>
     17        <div dir='#LANG_DIR' class='#EDIT{taxe} taxe'>[(#GET{taxe}|mult{100})&nbsp;&#37;]</div>
    518</div>
    619<div class="champ contenu_descriptif[ (#DESCRIPTIF*|strlen|?{'',vide})]">
     
    1225        <div dir='#LANG_DIR' class='#EDIT{texte} texte'>[(#TEXTE|image_reduire{500,0})]</div>
    1326</div>
     27<div class="champ contenu_poids[ (#POIDS*|strlen|?{'',vide})]">
     28        <div class='label'><:produits:produit_champ_poids_label:></div>
     29        <div dir='#LANG_DIR' class='#EDIT{poids} poids'>#POIDS</div>
     30</div>
     31<div class="champ contenu_largeur[ (#LARGEUR*|strlen|?{'',vide})]">
     32        <div class='label'><:produits:produit_champ_largeur_label:></div>
     33        <div dir='#LANG_DIR' class='#EDIT{largeur} largeur'>#LARGEUR</div>
     34</div>
     35<div class="champ contenu_longueur[ (#LONGUEUR*|strlen|?{'',vide})]">
     36        <div class='label'><:produits:produit_champ_longueur_label:></div>
     37        <div dir='#LANG_DIR' class='#EDIT{longueur} longueur'>#LONGUEUR</div>
     38</div>
     39<div class="champ contenu_hauteur[ (#HAUTEUR*|strlen|?{'',vide})]">
     40        <div class='label'><:produits:produit_champ_hauteur_label:></div>
     41        <div dir='#LANG_DIR' class='#EDIT{hauteur} hauteur'>#HAUTEUR</div>
     42</div>
    1443</BOUCLE_afficher_contenu>
  • _plugins_/produits/trunk/produits_administrations.php

    r80928 r90571  
    2525        $maj = array();
    2626
    27         $maj['create'] = array(array('maj_tables', array('spip_produits')));
     27        $maj['create'] = array(
     28                array('maj_tables', array('spip_produits'))
     29        );
     30
     31        $maj['1.1.0'] = array(
     32                // ajout des champs immateriel/poids/longueur/largeur/hauteur
     33                array('maj_tables', array('spip_produits')),
     34        );
    2835
    2936        include_spip('base/upgrade');
Note: See TracChangeset for help on using the changeset viewer.