Changeset 110373 in spip-zone


Ignore:
Timestamp:
May 25, 2018, 2:51:43 PM (3 years ago)
Author:
abelass@…
Message:

v2.1.0

  • fonction qui donne le prix d'un objet en tenant compte des extensions
  • permettre de prioriser les prix (drag & drop)
  • harmoniser l'affichage avec autres block liens objets
  • un peu plus ergonomique
Location:
_plugins_/prix_objets/branches/v1
Files:
8 edited
2 copied

Legend:

Unmodified
Added
Removed
  • _plugins_/prix_objets/branches/v1

  • _plugins_/prix_objets/branches/v1/css/prix_objets_admin.css

    r108424 r110373  
    22        width: auto;
    33}
     4
     5.fieldset_extensions .editer-groupe {
     6        display: flex;
     7        flex-wrap: wrap;
     8        justify-content: space-between;
     9}
     10
     11.fieldset_extensions .saisie_ajouter_action {
     12        width: 72px;
     13        padding: 0 10px;
     14}
     15
     16.liste-objets.prix_objets .caption {
     17        background-image: url('../prive/themes/spip/images/prix_objets-24.png');
     18        padding-left: 30px;
     19}
  • _plugins_/prix_objets/branches/v1/formulaires/inc-prix_affichage.html

    r110047 r110373  
    11<B_prix>
    2 <div class="liste prix">
    3 <table class='spip liste'>
     2<div class="liste-objets liste-objets-lies prix_objets">
     3<table class="spip liste ordonner_rang_lien liste_items prix_objets"
     4        id="prix_choisis"
     5        data-lien="[(#OBJET|concat{'/',#ID_OBJET}|attribut_html)]">
    46        [<caption>
    57                <strong class="caption">
     
    1012                <tr class='first_row'>
    1113                        <th class='prix' scope='col'><:prix_objets:info_prix:></th>
    12                         <th class='statut' scope='col'><:prix_objets:devises_choisis:></th>
     14                        <th class='statut' scope='col'><:prix_objets:choix_devise:></th>
    1315                        <th class='taxes' scope='col'><:prix_objets:taxes:></th>
    1416                        <th class='titre' scope='col'><:ecrire:info_titre:></th>
    15                         <th class='titre' scope='col'><:spip:lien_supprimer:></th>
     17                        <th class='titre' scope='col'><:prix_objets:info_actions:></th>
    1618                </tr>
    1719        </thead>
    18         <tbody>
    19         <BOUCLE_prix(POUR){tableau #ENV{prix_choisis}}>
     20        <tbody class="sortable">
     21        <BOUCLE_prix(DATA){source tableau, #ENV{prix_choisis}} {par rang_lien, titre, prix_ht}>
    2022        [(#VALEUR|table_valeur{prix_ht}|!={0.00}|?{
    2123                #SET{prix,#VALEUR|table_valeur{prix_ht}}
     
    2527                #SET{taxes,<:prix_objets:prix_ttc:>}
    2628        })]
    27                 <tr class='[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]'>
     29                <tr class="[(#COMPTEUR_BOUCLE|alterner{row_odd,row_even})]" id="prix#ID_PRIX_OBJET">
    2830                        <td>#GET{prix}</td>
    2931                        <td>[(#VALEUR|table_valeur{code_devise}|traduire_devise)]</td>
     
    3133                        <td>#VALEUR{titre}</td>
    3234                        <td>
     35                                <span class="deplacer-prix" data-rang="#RANG_LIEN">
     36                                        <img src='#CHEMIN_IMAGE{deplacer-16.png}'
     37                                        width='16'
     38                                        height='16'
     39                                        alt='<:medias:ordonner_ce_document|attribut_html:>'
     40                                        title='<:medias:ordonner_ce_document|attribut_html:>' />
     41                                </span>
    3342                                <a
    3443                                        class="ajax"
    3544                                        href="[(#URL_ACTION_AUTEUR{
    36                                                 eliminer_prix,[(#VALEUR|table_valeur{id_prix_objet})],[(#SELF|parametre_url{retour_action,oui})]
     45                                                eliminer_prix,#ID_PRIX_OBJET,[(#SELF|parametre_url{retour_action,oui})]
    3746                                                })]#edition_prix"
    3847                                        title="<:spip:lien_supprimer:>">
     
    4655</div>
    4756</B_prix>
     57<div class="liste-objets liste-objets-lies prix_objets caption-wrap">
     58        <strong class="caption">[(#ENV*{titre,<:prix_objets:info_aucun_prix_objets:>})]</strong>
     59</div>
     60<//B_prix>
     61
     62<script type="text/javascript">/*<![CDATA[*/
     63        [(#INCLURE{fond=javascript/gestion_listes_prix_objets.js}|compacte{js})]
     64/*]]>*/
     65</script>
  • _plugins_/prix_objets/branches/v1/formulaires/prix.html

    r110047 r110373  
    1 <div class="formulaire_spip editer_prix liste">
    2 [(#SET{plie,0})]
    3 [(#ENV{message_ok}|ou{#ENV{message_erreur}}|oui)
    4                 [(#SET{plie,1})]
    5 ]
    6 [(#VAL{inc/presentation}|include_spip|oui)]
    7 [(#VAL{inc/layer}|include_spip|oui)]
    8 
    9 [(#SET{identifiant,[(#VAL{sel_prix})]})]
    10         [(#VAL{e}|debut_cadre{'','',[(#VAL{<:prix_objets:info_prix:>}|bouton_block_depliable{[(#GET{plie}?{#EVAL{true},#EVAL{false}})],#GET{identifiant}})]})]
    11 
    12 <INCLURE {fond=formulaires/inc-prix_affichage,env} />
    13 
    14 [(#GET{plie}|debut_block_depliable{#GET{identifiant}})]
    15 <BOUCLE_test0(CONDITION){si #ENV{devises}|count|>{0}}>
    16 
     1<div class="formulaire_spip formulaire_editer formulaire_editer_liens formulaire_editer_liens-bancaire_comptes">
    172        <form id="form_prix" name="form_prix" action="#ENV{action}#form_prix" method="post"><div>
    183                #ACTION_FORMULAIRE{#ENV{action}}
     4                <input type="hidden" name="visible" value="#ENV{visible,0}" id="visible-prix"/>
     5                <div class="toggle_box_link">
     6                        &#91;<button type="submit" class="link" name="visible" value="1">
     7                                <:prix_objets:ajouter_prix:>
     8                        </button>&#93;
     9                </div>
     10                <INCLURE {fond=formulaires/inc-prix_affichage,env} />
     11<BOUCLE_test0(CONDITION){si #ENV{devises}|count|>{0}}>
     12        <BOUCLE_editable_visible(CONDITION){si #ENV{visible,0}|et{#ENV{editable}}|oui}>
     13        <div class="selecteur[(#ENV{recherche}|oui)filtre]">
     14                <h3 class="titrem"><:prix_objets:ajouter_prix:></h3>
    1915                [<div class='erreur_message'>(#ENV**{erreurs}|table_valeur{code_devise})</div>]
    2016                <div class="editer-groupe">
     
    2218                                <div>
    2319                                        [<div class='erreur_message'>(#ENV**{erreurs}|table_valeur{prix})</div>]
    24                                         <label><:prix_objets:ajouter_prix:></label>
     20                                        <label><:prix_objets:info_prix:></label>
    2521                                        <input type="text" name="prix" value="#ENV{prix}"/>
    2622                                        <BOUCLE_test(CONDITION){si #ENV{devises}|count|<{2}}>
     
    4036                                </div>
    4137                        </div>
     38
    4239                        [(#SAISIE{oui_non,taxes_inclus,
    4340                                        label=<:prix_objets:taxes_inclus:>})]
     
    5249                        <!--fini champs!-->
    5350                        </div>
    54                 <p class="boutons"><input type="submit"  class="submit" value="<:prix_objets:ajouter:>" /></p></div>
    55         </form>
     51                <p class="boutons">
     52                        <input type="submit"  class="submit" value="<:prix_objets:ajouter_prix:>" />
     53                </p>
     54                                <div class="toggle_box_link">
     55                                        &#91;<a href="#"
     56                                                onclick="jQuery(this).parents('div.selecteur').hide('fast').siblings('.toggle_box_link').show();jQuery('#visible-prix').attr('value',0);return false;"
     57                                                ><:bouton_fermer:></a>&#93;
     58                                </div>
     59                        </div>
     60                        <div class="toggle_box_link" style="display:none;">
     61                                        &#91;<a href="#"
     62                                                onclick="jQuery(this).parents('div.toggle_box_link').hide('fast').siblings('.selecteur').show('fast');jQuery('#visible-prix').attr('value',1);return false;"
     63                                                ><:prix_objets:ajouter_prix:></a>&#93;
     64                        </div>
     65        </div>
     66                </BOUCLE_editable_visible>
     67        [(#ENV{editable})
     68                [(#ENV{visible,0}|non)
     69                <div class="toggle_box_link">
     70                        &#91;<button type="submit" class="link" name="visible" value="1">
     71                                <:prix_objets:ajouter_prix:>
     72                        </button>&#93;
     73                </div>
     74                ]
     75                [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
     76                <!--extra-->
     77        </div></form>
     78        ]
    5679
    5780</BOUCLE_test0>
    58 [(#GET{plie}|fin_block)]
    59 [(#VAL{e}|fin_cadre)]
    60         <br class="nettoyeur"/>
    6181</div>
     82
  • _plugins_/prix_objets/branches/v1/formulaires/prix.php

    r110315 r110373  
    5252                'objet_titre' => '',
    5353                'taxes' => $taxes,
    54                 'taxe' => ''
     54                'taxe' => '',
     55                'visible' => _request('visible') ? _request('visible') : ''
    5556        );
    5657
     
    7677
    7778                $valeurs['_saisies_extras'] = array_merge(
    78                         $saisies,
    7979                        array(
    8080                                array(
     
    8484                                                'defaut' => implode(',', $extensions),
    8585                                        )
     86                                ),
     87                                array(
     88                                        'saisie' => 'fieldset',
     89                                        'options' => array(
     90                                                'nom' => 'extensions',
     91                                                'label' => _T('prix_objets:info_extensions'),
     92                                        ),
     93                                        'saisies' =>    $saisies,
    8694                                )
    8795                        )
     
    169177        }
    170178
    171         $titres_secondaires = implode(' / ', $titres_secondaires);
    172179
    173180        if ($titres_secondaires) {
     181                $titres_secondaires = implode(' / ', $titres_secondaires);
    174182                $titre = $titre . ' - ' . $titres_secondaires;
    175                 }
     183        }
     184
     185        $table = 'spip_prix_objets';
     186
     187        $dernier_rang = sql_getfetsel(
     188                'rang_lien',
     189                $table,
     190                'id_objet=' .$id_objet . ' AND objet LIKE ' . sql_quote($objet) . ' AND id_prix_objet_source=0',
     191                '',
     192                'rang_lien DESC'
     193        );
    176194
    177195        // On inscrit dans la bd
     
    183201                        'taxe' => _request('taxe'),
    184202                        'prix' => 0,
    185                         'prix_ht' => 0
     203                        'prix_ht' => 0,
     204                        'rang_lien' => $dernier_rang + 1,
    186205                );
    187206
     
    194213
    195214        // Enregistrement du prix
    196         $id_prix_objet = sql_insertq('spip_prix_objets', $valeurs);
     215        $id_prix_objet = sql_insertq($table, $valeurs);
    197216
    198217        // Enregistrement des extensions
  • _plugins_/prix_objets/branches/v1/lang/prix_objets_fr.php

    r110047 r110373  
    3030        // I
    3131        'info_1_prix' => 'Un prix attaché',
     32        'info_aucun_prix_objets' => 'Aucun prix',
     33        'info_actions' => 'Actions',
     34        'info_extensions' => 'Extensions',
    3235        'info_nb_prix' => '@nb@ prix attachés',
    3336        'info_prix' => 'Prix',
  • _plugins_/prix_objets/branches/v1/paquet.xml

    r110315 r110373  
    22        prefix="prix_objets"
    33        categorie="edition"
    4         version="2.0.0"
     4        version="2.1.0"
    55        etat="stable"
    66        compatibilite="[3.0.5;3.2.*]"
    77        logo="prive/themes/spip/images/prix_objets-64.png"
    88        documentation="https://contrib.spip.net/Prix-Objets"
    9         schema="2.0.0"
     9        schema="2.1.0"
    1010>
    1111
     
    2121        <utilise nom="shop" compatibilite="[1.2.0;]" />
    2222
    23         <!-- Déclaration de pipelines -->
     23        <!-- Déclaration des pipelines -->
    2424        <pipeline nom="prix_objets_extensions" action='' />
     25        <pipeline nom="prix_par_objet" action='' />
    2526
    2627        <!-- Appels des pipelines -->
     
    3233        <pipeline nom="header_prive" inclure="prix_objets_pipelines.php" />
    3334        <pipeline nom="reservation_evenement_objets_configuration" inclure="prix_objets_pipelines.php" />
     35        <pipeline nom="jqueryui_plugins" inclure="prix_objets_pipelines.php" />
    3436</paquet>
  • _plugins_/prix_objets/branches/v1/saisies/ajouter_action.html

    r110035 r110373  
    33        #ENV*{inserer_debut}
    44        <div class="ajouter_action">
    5                 [(#SET{redirect,#SELF|parametre_url{retour_action,oui}})]
     5                [(#SET{redirect,#SELF|parametre_url{retour_action,oui}|parametre_url{visible,1}})]
    66                [(#URL_ECRIRE{
    77                        #ENV{action},
    8                         new=oui}|parametre_url{redirect,#GET{redirect}#edition_prix}|icone_verticale{#ENV{label_action},declinaison,new,right}
     8                        new=oui}
     9                        |parametre_url{redirect,#GET{redirect}#form_prix}|icone_verticale{#ENV{label_action},declinaison,new,right}
    910                )]
    1011        </div>
Note: See TracChangeset for help on using the changeset viewer.