Changeset 111908 in spip-zone


Ignore:
Timestamp:
Oct 8, 2018, 4:36:03 PM (9 months ago)
Author:
root
Message:

v 1.29.5 Corrections bugs et réaménagements

  • compteur réservations: mieux indiquer ce qui est compté

-eviter bug sur csv toutes reservations (merci Emmanuel)
-enregistrement quantités avec déclinaisons (merci Camille)

Location:
_plugins_/reservation_evenement/branches/v1
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/reservation_evenement/branches/v1

  • _plugins_/reservation_evenement/branches/v1/formulaires/inc-reservation_evenements_declinaisons.html

    r105922 r111908  
    11<B_art_or>
    2 <div class='editer editer_id_evenement[ (#ENV**{erreurs}|table_valeur{id_evenement}|oui)erreur]'>
     2<div class='editer editer_id_objet_prix[ (#ENV**{erreurs}|table_valeur{id_evenement}|oui)erreur]'>
    33        [<div class='erreur_message'>(#ENV**{erreurs}|table_valeur{id_evenement})</div>]
    44<BOUCLE_art_or (DATA){source tableau,#ENV{evenements}} {id_evenement_source?} {par date_debut}>
    55        [(#COMPTEUR_BOUCLE|!={1}|oui)
    66                </div>
    7                 <div class='editer editer_id_evenement[ (#ENV**{erreurs}|table_valeur{id_evenement}|oui)erreur]'>
     7                <div class='editer editer_id_objet_prix[ (#ENV**{erreurs}|table_valeur{id_evenement}|oui)erreur]'>
    88        ]
    99        <a href="#URL_EVENEMENT{#ID_EVENEMENT}">#TITRE</a>
  • _plugins_/reservation_evenement/branches/v1/inc/donnees_reservations_details.php

    r111763 r111908  
    77                $reservations_details = sql_fetsel('*', 'spip_reservations_details',
    88                                'id_reservations_detail=' . $id_reservations_detail);
     9                $plugin_declinaisons = FALSE;
     10                if (test_plugin_actif('declinaisons')) {
     11                        $plugin_declinaisons = TRUE;
     12                }
    913
    1014                $id_evenement = isset($set['id_evenement']) ? $set['id_evenement'] : $reservations_details['id_evenement'];
     
    4246
    4347                $set['quantite'] = _request('quantite') ? _request('quantite') : 1;
    44                 if (is_array($set['quantite']) and isset($set['quantite'][$id_evenement]))
    45                         $set['quantite'] = ($set['quantite'][$id_evenement] > 0) ?
    46                                 $set['quantite'][$id_evenement] :
    47                                 1;
    48 
    49                 $quantite = $set['quantite'];
     48                if (is_array($set['quantite'])) {
     49                        if (!$plugin_declinaisons) {
     50                                if (isset($set['quantite'][$id_evenement])) {
     51                                        $set['quantite'] = ($set['quantite'][$id_evenement] > 0) ?
     52                                        $set['quantite'][$id_evenement] : 1;
     53                                }
     54                        }
     55                }
    5056
    5157                // Si le prix n'est pas fournit, on essaye de le trouver
     
    5965                                // si le plugin déclinaison produit (https://plugins.spip.net/declinaisons.html)
    6066                                // est active il peut y avoir plusieurs prix par évenement
    61                                 if (test_plugin_actif('declinaisons')) {
     67                                if ($plugin_declinaisons) {
    6268                                        $id_prix = isset($set['id_prix_objet']) ?
    6369                                                $set['id_prix_objet'] :
     
    6975                                                        'id_prix_objet=' . $id_prix);
    7076                                                $set['descriptif'] .= ' - ' . $p['titre'];
     77
     78                                                // Les quantités
     79                                                if (isset($set['quantite'][$id_prix])) {
     80                                                        $set['quantite'] = ($set['quantite'][$id_prix] > 0) ?
     81                                                                $set['quantite'][$id_prix] :
     82                                                                1;
     83                                                }
     84
    7185                                }
    7286                                // Sinon on cherche d'abord le prix attaché
     
    7791                                }
    7892
     93                                $quantite = $set['quantite'];
    7994                                if (isset($p)) {
     95
    8096                                        $prix_ht = $quantite * $fonction_prix_ht('prix_objet', $p['id_prix_objet']);
    8197                                        $prix = $quantite * $fonction_prix('prix_objet', $p['id_prix_objet']);
  • _plugins_/reservation_evenement/branches/v1/lang/reservation_fr.php

    r111431 r111908  
    5050        'icone_modifier_client' => 'Modifier ce client',
    5151        'icone_modifier_reservation' => 'Modifier cette réservation',
     52        'info_1_evenement_reserve' => 'Un événement réservé',
    5253        'info_1_reservation' => 'Une réservation',
    5354        'info_aucun_client' => 'Aucun client',
    5455        'info_aucun_reservation' => 'Aucune réservation',
    5556        'info_nb_clients' => '@nb@ clients',
     57        'info_nb_evenements_reserves' => '@nb@ événements réservés',
    5658        'info_nb_reservations' => '@nb@ réservations',
    5759        'info_nb_reservations_liees' => '@nb@ réservations liées',
  • _plugins_/reservation_evenement/branches/v1/lang/reservations_detail.xml

    r102470 r111908  
    11<traduction module="reservations_detail" gestionnaire="salvatore" url="https://trad.spip.net" source="svn://zone.spip.org/spip-zone/_plugins_/reservation_evenement/trunk/lang/" reference="fr">
    2         <langue code="de" url="https://trad.spip.net/tradlang_module/reservations_detail?lang_cible=de" total="20" traduits="19" relire="0" modifs="0" nouveaux="1" pourcent="95.00">
     2        <langue code="de" url="https://trad.spip.net/tradlang_module/reservations_detail?lang_cible=de" total="20" traduits="18" relire="0" modifs="0" nouveaux="2" pourcent="90.00">
    33                <traducteur nom="Rainer Müller" lien="https://trad.spip.net/auteur/rainer-muller" />
    44        </langue>
    5         <langue code="en" url="https://trad.spip.net/tradlang_module/reservations_detail?lang_cible=en" total="20" traduits="19" relire="0" modifs="0" nouveaux="1" pourcent="95.00">
     5        <langue code="en" url="https://trad.spip.net/tradlang_module/reservations_detail?lang_cible=en" total="20" traduits="18" relire="0" modifs="0" nouveaux="2" pourcent="90.00">
    66                <traducteur nom="Rainer Müller" lien="https://trad.spip.net/auteur/rainer-muller" />
    77        </langue>
    88        <langue code="fr" url="https://trad.spip.net/tradlang_module/reservations_detail?lang_cible=fr" total="20" traduits="20" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
    99        </langue>
    10         <langue code="pt_br" url="https://trad.spip.net/tradlang_module/reservations_detail?lang_cible=pt_br" total="20" traduits="20" relire="0" modifs="0" nouveaux="0" pourcent="100.00">
     10        <langue code="pt_br" url="https://trad.spip.net/tradlang_module/reservations_detail?lang_cible=pt_br" total="20" traduits="19" relire="0" modifs="0" nouveaux="1" pourcent="95.00">
    1111                <traducteur nom="Ricardo Porto" lien="https://trad.spip.net/auteur/ricardo-porto" />
    1212                <traducteur nom="telopa" lien="https://trad.spip.net/auteur/telopa" />
  • _plugins_/reservation_evenement/branches/v1/lang/reservations_detail_de.php

    r111761 r111908  
    3030        'label_quantite' => 'Menge:',
    3131        'label_reservation' => 'Anmeldung:',
    32         'label_taxes' => 'Steuern:',
    3332
    3433        // T
  • _plugins_/reservation_evenement/branches/v1/lang/reservations_detail_en.php

    r111761 r111908  
    3030        'label_quantite' => 'Quantity:',
    3131        'label_reservation' => 'Booking :',
    32         'label_taxes' => 'Taxes:',
    3332
    3433        // T
  • _plugins_/reservation_evenement/branches/v1/lang/reservations_detail_pt_br.php

    r111761 r111908  
    3131        'label_quantite' => 'Quantidade:',
    3232        'label_reservation' => 'Reserva:',
    33         'label_taxes' => 'Taxas:',
    3433
    3534        // T
  • _plugins_/reservation_evenement/branches/v1/paquet.xml

    r111763 r111908  
    22        prefix="reservation_evenement"
    33        categorie="date"
    4         version="1.29.4"
     4        version="1.29.5"
    55        etat="stable"
    66        compatibilite="[3.0.16;3.2.*]"
  • _plugins_/reservation_evenement/branches/v1/prive/objets/liste/reservations.html

    r105331 r111908  
    22#SET{date_debut,#ENV{date_debut,#ENV{date}}|affdate{Y-m-d 00:00:00}|agenda_dateplus{-1}}
    33
    4 <INCLURE{fond=prive/objets/liste/inc-reservations_reservations,env,titre='',statut=#LISTE{attente,attente_paiement,accepte,encours,refuse,accepte_part},id_reservation_source=#ENV{id_reservation_source}}/>
    5 
    6 <BOUCLE_liste_reservations(RESERVATIONS){id_auteur?}{id_mot?}{email?}{where?}{statut=poubelle}{recherche?}{0,1}>
    7 [(#BOITE_OUVRIR{'','basic highlight'})]
    8 [(#ENV{afficher}|!={poubelles}|?{
    9                 <a class="ajax" href="[(#SELF|parametre_url{afficher,poubelles})]"><:reservation:info_voir_reservations_poubelle:></a>
    10                 ,
    11                 <a class="ajax"  href="[(#SELF|parametre_url{afficher,''})]"><:reservation:icone_cacher:></a>
    12                         [(#INCLURE{fond=prive/objets/liste/inc-reservations_reservations,env,titre='',statut=#LISTE{poubelle},id_reservation_source=#GET{id_reservation_source}})]
    13                 }
    14                 )]
    15 #BOITE_FERMER
    16 </BOUCLE_liste_reservations>
     4<INCLURE{fond=prive/objets/liste/inc-reservations_reservations,env,titre='',id_reservation_source=#ENV{id_reservation_source}}/>
  • _plugins_/reservation_evenement/branches/v1/prive/squelettes/navigation/reservations.html

    r111121 r111908  
    1717,'simple personnel infos'})]
    1818
    19 <BOUCLE_evenements(EVENEMENTS){id_rubrique ?}{id_article ?}{id_evenement ?}{inscription=1}{tout}>
    20         #SET{id_evenement,#GET{id_evenement}|push{#ID_EVENEMENT}}
     19<BOUCLE_evenements(EVENEMENTS){id_rubrique ?}{id_article ?}{id_evenement}{tout}>}
    2120        [(#ENV{id_evenement}|oui)#SET{soustitre,#TITRE}]
    2221</BOUCLE_evenements>
     
    2423[<h4>(#GET{soustitre}|sinon{<:reservation:titre_reservations:>})</h4>]
    2524#SET{reservations,#ARRAY}
    26 #SET{statuts,#LISTE{attente,attente_paiement,accepte}}
    27 #SET{args,#ARRAY{id_evenement,#ENV{id_evenement},id_article,#ENV{id_article},id_rubrique,#ENV{id_rubrique},statut2,#GET{statuts}|implode{-}}}
     25#SET{statuts,#ARRAY}
    2826
    2927<ul>
    30         <BOUCLE_reservations(RESERVATIONS_DETAILS){id_evenement IN #GET{id_evenement}}{where?}{statut IN #GET{statuts}}>
     28        <BOUCLE_reservations(RESERVATIONS_DETAILS reservations){tout}>
    3129                #SET{reservations,#GET{reservations}|push{#QUANTITE}}
    32                 </BOUCLE_reservations>
     30        [(#STATUT|in_array{#GET{statuts}}|non)
     31                #SET{statuts,#GET{statuts}|push{#STATUT}}
     32        ]
     33        </BOUCLE_reservations>
     34                #SET{args,#ARRAY{id_evenement,#ENV{id_evenement},id_article,#ENV{id_article},id_rubrique,#ENV{id_rubrique},statut2,#GET{statuts}|implode{-}}}
    3335                #SET{res_tot,#GET{reservations}|array_sum}
    3436                <li>
    35                         [(#ENV*{titre,#GET{res_tot}|singulier_ou_pluriel{reservation:info_1_reservation,reservation:info_nb_reservations}})] : <a href="[(#URL_PAGE{transmettre,[(#VAL{evenements_reservations}|param_low_sec{#GET{args}, '', 'transmettre'})]}|parametre_url{reponse,oui})]"><:reservation:texte_exporter:></a>
     37                        [(#ENV*{titre,#GET{res_tot}|singulier_ou_pluriel{reservation:info_1_evenement_reserve,reservation:info_nb_evenements_reserves}})] : <a href="[(#URL_PAGE{transmettre,[(#VAL{evenements_reservations}|param_low_sec{#GET{args}, '', 'transmettre'})]}|parametre_url{reponse,oui})]"><:reservation:texte_exporter:></a>
    3638                </li>
    3739                <li>
  • _plugins_/reservation_evenement/branches/v1/squelettes/inclure/compteur_reservation_detail.html

    r110731 r111908  
    22
    33#SET{reservations,#INCLURE{fond=inclure/compteur_reservations,env,multiple=oui}|unserialize}
     4#SET{totale,#GET{reservations}|table_valeur{totale}}
    45#SET{id_article,#ENV{id_article}}
    56[(#ENV{id_evenement}|oui)#SET{id_article,''}]
    67
    7 #SET{args,#ARRAY{id_evenement,#ENV{id_evenement},id_article,#GET{id_article},id_rubrique,#ENV{id_rubrique},statut2,#GET{reservations}|array_flip|implode{-}}}
    88<ul>
    9         <BOUCLE_res(DATA){source tableau,#GET{reservations}}>
    10 [(#REM)Si il y a des réservations]
    11 <li>
    12 [(#VALEUR|oui)
    13         [(#REM)la première ligne]
    14         [(#COMPTEUR_BOUCLE|=={1}|oui)
    15                 [(#ENV*{titre,#VALEUR|singulier_ou_pluriel{reservation:info_1_reservation,reservation:info_nb_reservations}})]
    16         ]
    17         [(#COMPTEUR_BOUCLE|=={1}|non)
    18                 [(#VALEUR)] [(#VAL{reservation}|re_statut_titre{#CLE})]
    19                 #SET{args,#ARRAY{
     9        <li>[(#GET{totale}|?{
     10        #SET{args,
     11                #ARRAY{
    2012                        id_evenement,#ENV{id_evenement},
    2113                        id_article,#GET{id_article},
    2214                        id_rubrique,#ENV{id_rubrique},
    23                         statut,#CLE}}
    24         ]
     15                        statut2,#GET{reservations}|table_valeur{statuts}|array_flip|implode{-}}}
     16                [(#ENV*{titre,#GET{totale}|singulier_ou_pluriel{reservation:info_1_reservation,reservation:info_nb_reservations}})]
    2517        <div class="actions">
    26                 <a href="[(#URL_ECRIRE{reservation_visualiser,[(#VAL{evenements_reservations}|param_low_sec{#GET{args}})]})]" title="<:previsualiser:>" onclick="if (jQuery.modalbox) {jQuery.modalbox('[(#URL_ECRIRE{reservation_visualiser,[(#VAL{evenements_reservations}|param_low_sec{#GET{args}})]}|parametre_url{var_zajax,contenu})]');return false;}">
    27                         [(#CHEMIN_IMAGE{preview-16.png}|image_reduire{13})]
    28                 </a>
     18                        [<a
     19                        href="[(#URL_ECRIRE{reservation_visualiser,[(#VAL{evenements_reservations}|param_low_sec{#GET{args}})]})]"
     20                        title="<:previsualiser:>"
     21                        onclick="if (jQuery.modalbox) {jQuery.modalbox('[(#URL_ECRIRE{reservation_visualiser,[(#VAL{evenements_reservations}|param_low_sec{#GET{args}})]}|parametre_url{var_zajax,contenu})]');return false;}">
     22                        (#CHEMIN_IMAGE{preview-16.png}|image_reduire{13})
     23                </a>]
    2924                <a href="[(#URL_PAGE{transmettre,[(#VAL{evenements_reservations}|param_low_sec{#GET{args}, '', 'transmettre'})]}|parametre_url{reponse,oui})]" title="<:agenda:telecharger:>">
    3025                        [(#CHEMIN_IMAGE{telecharger-16.png}|image_reduire{13})]
    3126                </a>
    32                 [(#PIPELINE{reservation_compteur_action,
    33                 [(#ARRAY{
    34                         args,#GET{args},
    35                         data,''
    36                 })]})]
    37         </div>
    38 
    39         [(#COMPTEUR_BOUCLE|=={1}|oui)
     27                [(#PIPELINE{reservation_compteur_action,#ARRAY{
     28                                args,#GET{args},
     29                                data,''
     30                        }
     31                })]
    4032                <div class="strong">
    4133                        <b><:par_auteur:> <:reservation:label_statut:></b>
    4234                </div>
    43         ]
    44 ]
    45 [(#REM)Si il n'y pas de réservations]
    46 [(#VALEUR|non)<:reservation:info_aucun_reservation:>]
    47 </li>
     35        </div>
     36        ,
     37        [(#REM)Si il n'y pas de réservations]
     38        [(#VALEUR|non)<:reservation:info_aucun_reservation:>]
     39})]
     40        </li>
     41        <BOUCLE_res(DATA){source tableau,#GET{reservations}|table_valeur{statuts}}>
     42        [(#REM)Si il y a des réservations]
     43        [<li>
     44        (#VALEUR|oui)
     45                        [(#VALEUR)] [(#VAL{reservation}|re_statut_titre{#CLE})]
     46                        #SET{args,#ARRAY{
     47                                id_evenement,#ENV{id_evenement},
     48                                id_article,#GET{id_article},
     49                                id_rubrique,#ENV{id_rubrique},
     50                                statut,#CLE}}
    4851
     52                <div class="actions">
     53                        <a href="[(#URL_ECRIRE{reservation_visualiser,[(#VAL{evenements_reservations}|param_low_sec{#GET{args}})]})]" title="<:previsualiser:>" onclick="if (jQuery.modalbox) {jQuery.modalbox('[(#URL_ECRIRE{reservation_visualiser,[(#VAL{evenements_reservations}|param_low_sec{#GET{args}})]}|parametre_url{var_zajax,contenu})]');return false;}">
     54                                [(#CHEMIN_IMAGE{preview-16.png}|image_reduire{13})]
     55                        </a>
     56                        <a href="[(#URL_PAGE{transmettre,[(#VAL{evenements_reservations}|param_low_sec{#GET{args}, '', 'transmettre'})]}|parametre_url{reponse,oui})]" title="<:agenda:telecharger:>">
     57                                [(#CHEMIN_IMAGE{telecharger-16.png}|image_reduire{13})]
     58                        </a>
     59                        [(#PIPELINE{reservation_compteur_action,#ARRAY{
     60                                        args,#GET{args},
     61                                        data,''
     62                                }
     63                        })]
     64                </div>
     65        </li>]
    4966</BOUCLE_res>
    5067</ul>
  • _plugins_/reservation_evenement/branches/v1/squelettes/inclure/compteur_reservations.html

    r110731 r111908  
    11#SET{reservations,#ARRAY}
     2#SET{statuts,#ARRAY}
    23[(#ENV{multiple}|oui)#SET{totale,#ARRAY}]
    34
     
    1415<BOUCLE_reservations(RESERVATIONS_DETAILS){id_evenement IN #GET{id_evenement}}{statut ?IN #ENV{statut}}>
    1516[(#ENV{multiple}|non)
    16         #SET{reservations,#GET{reservations}|push{#QUANTITE}}   
     17        #SET{reservations,#GET{reservations}|push{#QUANTITE}}
    1718]
    1819[(#ENV{multiple}|oui)
    1920        [(#SET{#STATUT,#GET{#STATUT}|push{#QUANTITE}})]
    20         #SET{totale,#GET{totale}|push{#QUANTITE}} 
    21         [(#SET{reservations,#GET{reservations}|array_merge{#ARRAY{#STATUT,#GET{#STATUT}|array_sum}}}) ]
     21        #SET{totale,#GET{totale}|push{#QUANTITE}}
     22        [(#SET{statuts,#GET{statuts}|array_merge{#ARRAY{#STATUT,#GET{#STATUT}|array_sum}}}) ]
    2223]
    2324</BOUCLE_reservations>
     
    2627]
    2728[(#ENV{multiple}|oui)
    28         [(#GET{reservations}|array_merge{#ARRAY{totale,#GET{totale}|array_sum}}|array_reverse|serialize)]
     29        [(#ARRAY{
     30                totale,[(#GET{totale}|array_sum)],
     31                statuts,#GET{statuts}}
     32                |array_reverse|serialize)]
    2933]
Note: See TracChangeset for help on using the changeset viewer.