Changeset 101661 in spip-zone


Ignore:
Timestamp:
Jan 11, 2017, 4:35:49 PM (4 years ago)
Author:
abelass@…
Message:
  • bug détection bon prix avec déclinaisons
  • garder les champs extras modifiés dans la session
  • mieux détecter les noms de statuts
Location:
_plugins_/reservation_evenement
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/reservation_evenement/branches/v1/inc/donnees_reservations_details.php

    r101442 r101661  
    5757                                        $id_prix = isset($set['id_prix_objet']) ? $set['id_prix_objet'] : $reservations_details['id_prix_objet'];
    5858                                        $p = sql_fetsel('prix_ht,id_prix_objet,id_declinaison,code_devise', 'spip_prix_objets', 'id_prix_objet=' . $id_prix);
    59 
    6059                                        if ($p['id_declinaison'] > 0)
    6160                                                $set['descriptif'] .= ' - ' . supprimer_numero(sql_getfetsel('titre', 'spip_declinaisons', 'id_declinaison=' . $p['id_declinaison']));
    6261                                }
    6362                                // Sinon on cherche d'abord le prix attaché
    64                                 $p = prix_attache($id_evenement, $evenement['id_article'], $evenement['id_evenement_source']);
     63                                else {
     64                                        $p = prix_attache($id_evenement, $evenement['id_article'], $evenement['id_evenement_source']);
     65                                }
    6566
    6667                                if (isset($p)) {
  • _plugins_/reservation_evenement/branches/v1/inc/reservation_enregistrer.php

    r98655 r101661  
    44if (! defined('_ECRIRE_INC_VERSION'))
    55        return;
    6        
     6
    77        // Enregistrement d'une réservation
    88function inc_reservation_enregistrer_dist($id = '', $id_article = '', $id_auteur = '', $champs_extras_auteurs = '') {
    99        include_spip('inc/config');
    1010        include_spip('inc/session');
    11        
     11
    1212        $config = lire_config('reservation_evenement');
    13         $statut = $config ['statut_defaut'] ? $config ['statut_defaut'] : 'rien';
     13        $statut = $config['statut_defaut'] ? $config['statut_defaut'] : 'rien';
    1414        if ($statut == 'rien') {
    1515                $statut_defaut = charger_fonction('defaut', 'inc/statuts');
    1616                $statut = $statut_defaut($statut);
    1717        }
    18        
     18
    1919        // Créer la réservation
    2020        $action = charger_fonction('editer_objet', 'action');
    21        
     21
    2222        // La référence
    2323        $fonction_reference = charger_fonction('reservation_reference', 'inc/');
    24        
     24
    2525        set_request('statut', $statut);
    2626        $reference = $fonction_reference($id_auteur);
    2727        set_request('reference', $reference);
    28        
     28
    2929        if (_request('enregistrer')) {
    3030                include_spip('actions/editer_auteur');
    31                
    32                 if (!$id_auteur) {
     31
     32                if (! $id_auteur) {
    3333                        include_spip('inc/auth');
    3434                        $res = formulaires_editer_objet_traiter('auteur', 'new', '', '', $retour, $config_fonc, $row, $hidden);
    35                         $id_auteur = $res ['id_auteur'];
    36                         sql_updateq('spip_auteurs', array (
    37                                         'statut' => '6forum'
     35                        $id_auteur = $res['id_auteur'];
     36                        sql_updateq('spip_auteurs', array(
     37                                'statut' => '6forum'
    3838                        ), 'id_auteur=' . $id_auteur);
    3939                        $auteur = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . $id_auteur);
     
    4141                        set_request('id_auteur', $id_auteur);
    4242                }
    43         } elseif (intval($id_auteur) and _request('modifier_donnees_auteur')) {
     43        }
     44        elseif (intval($id_auteur) and _request('modifier_donnees_auteur')) {
    4445                // les champs extras auteur
    4546                include_spip('cextras_pipelines');
    46                 $valeurs_extras = array ();
    47                
    48                 if (!is_array($champs_extras_auteurs) and function_exists('champs_extras_objet')) {
     47                $valeurs_extras = array();
     48
     49                if (! is_array($champs_extras_auteurs) and function_exists('champs_extras_objet')) {
    4950                        // Charger les définitions pour la création des formulaires
    5051                        $champs_extras_auteurs = champs_extras_objet(table_objet_sql('auteur'));
     
    5253
    5354                if (is_array($champs_extras_auteurs)) {
    54                         foreach ( $champs_extras_auteurs as $value ) {
    55                                 $valeurs_extras [$value ['options'] ['nom']] = _request($value ['options'] ['nom']);
     55                        foreach ($champs_extras_auteurs as $value) {
     56                                $valeurs_extras[$value['options']['nom']] = _request($value['options']['nom']);
     57                                session_set($value['options']['nom'], _request($value['options']['nom']));
    5658                        }
    5759                }
     
    5961                session_set('nom', _request('nom'));
    6062                session_set('email', _request('email'));
    61                
    62                 $valeurs = array_merge(array (
    63                                 'nom' => _request('nom'),
    64                                 'email' => _request('email')
     63
     64                $valeurs = array_merge(array(
     65                        'nom' => _request('nom'),
     66                        'email' => _request('email')
    6567                ), $valeurs_extras);
    6668                sql_updateq('spip_auteurs', $valeurs, 'id_auteur=' . $id_auteur);
    67                
     69
    6870                // Enlever pour ne pas les enregistrer dans la réservation
    6971                set_request('nom', '');
    7072                set_request('email', '');
    7173        }
    72        
     74
    7375        $id_reservation = $action('new', 'reservation');
    74        
     76
    7577        // On ajoute l'id à la session
    76         $id_reservation = $id_reservation [0];
     78        $id_reservation = $id_reservation[0];
    7779        if (! _request('id_reservation_source'))
    7880                session_set('id_reservation', $id_reservation);
    79        
     81
    8082        $message = '<p>' . _T('reservation:reservation_enregistre') . '</p>';
    8183        $message .= '<h3>' . _T('reservation:details_reservation') . '</h3>';
    82         $message .= recuperer_fond('inclure/reservation', array (
    83                         'id_reservation' => $id_reservation
     84        $message .= recuperer_fond('inclure/reservation', array(
     85                'id_reservation' => $id_reservation
    8486        ));
    85        
     87
    8688        // Ivalider les caches
    8789        include_spip('inc/invalideur');
    8890        suivre_invalideur("id='reservation/$id_reservation'");
    8991        suivre_invalideur("id='reservations_detail/$id_reservations_detail'");
    90         return array (
    91                         'message_ok' => $message,
    92                         'editable' => false
     92        return array(
     93                'message_ok' => $message,
     94                'editable' => false
    9395        );
    9496}
  • _plugins_/reservation_evenement/branches/v1/inclure/reservation.html

    r96185 r101661  
    3131        [(#VALEUR|table_valeur{prix}|appliquer_filtre{prix_formater,[(#VALEUR|table_valeur{prix})]})]
    3232        </BOUCLE_details_texte>
    33        
    34         [<:prix:label_total_ttc:> : #GET{total}|appliquer_filtre{prix_formater})] 
     33
     34        [<:prix:label_total_ttc:> : #GET{total}|appliquer_filtre{prix_formater})]
    3535        </BOUCLE_test_format_texte>
    3636                <table class="reservation" cellspacing="0">
     
    5151                                        ]
    5252                                        <td class="statut">
    53                                         [(#VAL{reservation:texte_statut[_(#VALEUR{statut}|trim)]}|_T)]</td>
     53                                                [(#VAL{reservation}|re_statut_titre{#VALEUR{statut}})]
     54                                        </td>
    5455                                </tr>
    5556                                </BOUCLE_details>
  • _plugins_/reservation_evenement/branches/v1/paquet.xml

    r101537 r101661  
    22        prefix="reservation_evenement"
    33        categorie="date"
    4         version="1.23.1"
     4        version="1.23.2"
    55        etat="test"
    66        compatibilite="[3.0.16;3.1.*]"
  • _plugins_/reservation_evenement/branches/v1/prive/objets/liste/reservation_visualiser.html

    r99946 r101661  
    11#SET{extras,#VAL|champs_extras_reservation} #SET{champs_extras,#ARRAY}
    22<BOUCLE_extras (DATA){source tableau, #GET{extras}}>
    3         #SET{champs_extras,#GET{champs_extras}|push{#VALEUR{options/nom}} 
     3        #SET{champs_extras,#GET{champs_extras}|push{#VALEUR{options/nom}}
    44</BOUCLE_extras>
    55
    66#SET{id_evenement,#ARRAY}
    77<BOUCLE_evenements(EVENEMENTS){id_rubrique ?}{id_article ?}{id_evenement ?}{inscription=1}{tout}>
    8         #SET{id_evenement,#GET{id_evenement}|push{#ID_EVENEMENT}} 
     8        #SET{id_evenement,#GET{id_evenement}|push{#ID_EVENEMENT}}
    99</BOUCLE_evenements>
    1010
     
    2929        <tbody>
    3030                <BOUCLE_evt (RESERVATIONS_DETAILS){id_evenement IN #GET{id_evenement}}{statut ?IN #ENV{statut,#ENV{statut2}|explode{-}}}{pagination #ENV{nb,10}}>
    31                 #SET{valeurs_extras,#ARRAY} 
     31                #SET{valeurs_extras,#ARRAY}
    3232                        <BOUCLE_res(RESERVATIONS){id_reservation}{tout}>
    3333                                #SET{nom,#NOM} #SET{email,#EMAIL**}
    3434                                #SET{date,#DATE}
    3535                        <BOUCLE_participants(AUTEURS){id_auteur}{id_auteur!=0}{tout}>
    36                                 #SET{nom,#NOM} #SET{email,#EMAIL**} 
     36                                #SET{nom,#NOM} #SET{email,#EMAIL**}
    3737                                <BOUCLE_aut_ext (DATA){source tableau, #GET{champs_extras}}>
    3838                                        #SET{valeurs_extras,#GET{valeurs_extras}|push{#ID_AUTEUR|generer_info_entite{auteur,#VALEUR}|sinon{-}}}
    39                                 </BOUCLE_aut_ext> 
     39                                </BOUCLE_aut_ext>
    4040                        </BOUCLE_participants>
    4141                                <BOUCLE_aut_ext2 (DATA){source tableau, #GET{champs_extras}}>
     
    4747                </BOUCLE_res>
    4848                <td>#DESCRIPTIF</td>
    49                 <td>[(#VAL{reservation:texte_statut[_(#STATUT|trim)]}|_T)]</td>
     49                <td>[(#VAL{reservation}|re_statut_titre{#STATUT})]</td>
    5050                <td>#GET{date}</td>
    5151                <td>#GET{nom}</td>
  • _plugins_/reservation_evenement/branches/v1/reservation_evenement_fonctions.php

    r98971 r101661  
    135135        return $montant;
    136136}
     137function re_statut_titre($objet, $statut) {
     138        include_spip('inc/puce_statut');
     139        return statut_texte_instituer($objet , $statut);
     140}
     141
  • _plugins_/reservation_evenement/trunk/inc/donnees_reservations_details.php

    r100805 r101661  
    5757                                        $id_prix = isset($set['id_prix_objet']) ? $set['id_prix_objet'] : $reservations_details['id_prix_objet'];
    5858                                        $p = sql_fetsel('prix_ht,id_prix_objet,id_declinaison,code_devise', 'spip_prix_objets', 'id_prix_objet=' . $id_prix);
    59 
    6059                                        if ($p['id_declinaison'] > 0)
    6160                                                $set['descriptif'] .= ' - ' . supprimer_numero(sql_getfetsel('titre', 'spip_declinaisons', 'id_declinaison=' . $p['id_declinaison']));
    6261                                }
    6362                                // Sinon on cherche d'abord le prix attaché
    64                                 $p = prix_attache($id_evenement, $evenement['id_article'], $evenement['id_evenement_source']);
     63                                else {
     64                                        $p = prix_attache($id_evenement, $evenement['id_article'], $evenement['id_evenement_source']);
     65                                }
    6566
    6667                                if (isset($p)) {
  • _plugins_/reservation_evenement/trunk/inc/reservation_enregistrer.php

    r98654 r101661  
    44if (! defined('_ECRIRE_INC_VERSION'))
    55        return;
    6        
     6
    77        // Enregistrement d'une réservation
    88function inc_reservation_enregistrer_dist($id = '', $id_article = '', $id_auteur = '', $champs_extras_auteurs = '') {
    99        include_spip('inc/config');
    1010        include_spip('inc/session');
    11        
     11
    1212        $config = lire_config('reservation_evenement');
    13         $statut = $config ['statut_defaut'] ? $config ['statut_defaut'] : 'rien';
     13        $statut = $config['statut_defaut'] ? $config['statut_defaut'] : 'rien';
    1414        if ($statut == 'rien') {
    1515                $statut_defaut = charger_fonction('defaut', 'inc/statuts');
    1616                $statut = $statut_defaut($statut);
    1717        }
    18        
     18
    1919        // Créer la réservation
    2020        $action = charger_fonction('editer_objet', 'action');
    21        
     21
    2222        // La référence
    2323        $fonction_reference = charger_fonction('reservation_reference', 'inc/');
    24        
     24
    2525        set_request('statut', $statut);
    2626        $reference = $fonction_reference($id_auteur);
    2727        set_request('reference', $reference);
    28        
     28
    2929        if (_request('enregistrer')) {
    3030                include_spip('actions/editer_auteur');
    31                
    32                 if (!$id_auteur) {
     31
     32                if (! $id_auteur) {
    3333                        include_spip('inc/auth');
    3434                        $res = formulaires_editer_objet_traiter('auteur', 'new', '', '', $retour, $config_fonc, $row, $hidden);
    35                         $id_auteur = $res ['id_auteur'];
    36                         sql_updateq('spip_auteurs', array (
    37                                         'statut' => '6forum'
     35                        $id_auteur = $res['id_auteur'];
     36                        sql_updateq('spip_auteurs', array(
     37                                'statut' => '6forum'
    3838                        ), 'id_auteur=' . $id_auteur);
    3939                        $auteur = sql_fetsel('*', 'spip_auteurs', 'id_auteur=' . $id_auteur);
     
    4141                        set_request('id_auteur', $id_auteur);
    4242                }
    43         } elseif (intval($id_auteur) and _request('modifier_donnees_auteur')) {
     43        }
     44        elseif (intval($id_auteur) and _request('modifier_donnees_auteur')) {
    4445                // les champs extras auteur
    4546                include_spip('cextras_pipelines');
    46                 $valeurs_extras = array ();
    47                
    48                 if (!is_array($champs_extras_auteurs) and function_exists('champs_extras_objet')) {
     47                $valeurs_extras = array();
     48
     49                if (! is_array($champs_extras_auteurs) and function_exists('champs_extras_objet')) {
    4950                        // Charger les définitions pour la création des formulaires
    5051                        $champs_extras_auteurs = champs_extras_objet(table_objet_sql('auteur'));
     
    5253
    5354                if (is_array($champs_extras_auteurs)) {
    54                         foreach ( $champs_extras_auteurs as $value ) {
    55                                 $valeurs_extras [$value ['options'] ['nom']] = _request($value ['options'] ['nom']);
     55                        foreach ($champs_extras_auteurs as $value) {
     56                                $valeurs_extras[$value['options']['nom']] = _request($value['options']['nom']);
     57                                session_set($value['options']['nom'], _request($value['options']['nom']));
    5658                        }
    5759                }
     
    5961                session_set('nom', _request('nom'));
    6062                session_set('email', _request('email'));
    61                
    62                 $valeurs = array_merge(array (
    63                                 'nom' => _request('nom'),
    64                                 'email' => _request('email')
     63
     64                $valeurs = array_merge(array(
     65                        'nom' => _request('nom'),
     66                        'email' => _request('email')
    6567                ), $valeurs_extras);
    6668                sql_updateq('spip_auteurs', $valeurs, 'id_auteur=' . $id_auteur);
    67                
     69
    6870                // Enlever pour ne pas les enregistrer dans la réservation
    6971                set_request('nom', '');
    7072                set_request('email', '');
    7173        }
    72        
     74
    7375        $id_reservation = $action('new', 'reservation');
    74        
     76
    7577        // On ajoute l'id à la session
    76         $id_reservation = $id_reservation [0];
     78        $id_reservation = $id_reservation[0];
    7779        if (! _request('id_reservation_source'))
    7880                session_set('id_reservation', $id_reservation);
    79        
     81
    8082        $message = '<p>' . _T('reservation:reservation_enregistre') . '</p>';
    8183        $message .= '<h3>' . _T('reservation:details_reservation') . '</h3>';
    82         $message .= recuperer_fond('inclure/reservation', array (
    83                         'id_reservation' => $id_reservation
     84        $message .= recuperer_fond('inclure/reservation', array(
     85                'id_reservation' => $id_reservation
    8486        ));
    85        
     87
    8688        // Ivalider les caches
    8789        include_spip('inc/invalideur');
    8890        suivre_invalideur("id='reservation/$id_reservation'");
    8991        suivre_invalideur("id='reservations_detail/$id_reservations_detail'");
    90         return array (
    91                         'message_ok' => $message,
    92                         'editable' => false
     92        return array(
     93                'message_ok' => $message,
     94                'editable' => false
    9395        );
    9496}
  • _plugins_/reservation_evenement/trunk/inclure/reservation.html

    r96183 r101661  
    3131        [(#VALEUR|table_valeur{prix}|appliquer_filtre{prix_formater,[(#VALEUR|table_valeur{prix})]})]
    3232        </BOUCLE_details_texte>
    33        
    34         [<:prix:label_total_ttc:> : #GET{total}|appliquer_filtre{prix_formater})] 
     33
     34        [<:prix:label_total_ttc:> : #GET{total}|appliquer_filtre{prix_formater})]
    3535        </BOUCLE_test_format_texte>
    3636                <table class="reservation" cellspacing="0">
     
    5151                                        ]
    5252                                        <td class="statut">
    53                                         [(#VAL{reservation:texte_statut[_(#VALEUR{statut}|trim)]}|_T)]</td>
     53                                                [(#VAL{reservation}|re_statut_titre{#VALEUR{statut}})]
     54                                        </td>
    5455                                </tr>
    5556                                </BOUCLE_details>
  • _plugins_/reservation_evenement/trunk/paquet.xml

    r101537 r101661  
    22        prefix="reservation_evenement"
    33        categorie="date"
    4         version="1.23.1"
     4        version="1.23.2"
    55        etat="test"
    66        compatibilite="[3.0.16;3.1.*]"
  • _plugins_/reservation_evenement/trunk/prive/objets/liste/reservation_visualiser.html

    r99946 r101661  
    11#SET{extras,#VAL|champs_extras_reservation} #SET{champs_extras,#ARRAY}
    22<BOUCLE_extras (DATA){source tableau, #GET{extras}}>
    3         #SET{champs_extras,#GET{champs_extras}|push{#VALEUR{options/nom}} 
     3        #SET{champs_extras,#GET{champs_extras}|push{#VALEUR{options/nom}}
    44</BOUCLE_extras>
    55
    66#SET{id_evenement,#ARRAY}
    77<BOUCLE_evenements(EVENEMENTS){id_rubrique ?}{id_article ?}{id_evenement ?}{inscription=1}{tout}>
    8         #SET{id_evenement,#GET{id_evenement}|push{#ID_EVENEMENT}} 
     8        #SET{id_evenement,#GET{id_evenement}|push{#ID_EVENEMENT}}
    99</BOUCLE_evenements>
    1010
     
    2929        <tbody>
    3030                <BOUCLE_evt (RESERVATIONS_DETAILS){id_evenement IN #GET{id_evenement}}{statut ?IN #ENV{statut,#ENV{statut2}|explode{-}}}{pagination #ENV{nb,10}}>
    31                 #SET{valeurs_extras,#ARRAY} 
     31                #SET{valeurs_extras,#ARRAY}
    3232                        <BOUCLE_res(RESERVATIONS){id_reservation}{tout}>
    3333                                #SET{nom,#NOM} #SET{email,#EMAIL**}
    3434                                #SET{date,#DATE}
    3535                        <BOUCLE_participants(AUTEURS){id_auteur}{id_auteur!=0}{tout}>
    36                                 #SET{nom,#NOM} #SET{email,#EMAIL**} 
     36                                #SET{nom,#NOM} #SET{email,#EMAIL**}
    3737                                <BOUCLE_aut_ext (DATA){source tableau, #GET{champs_extras}}>
    3838                                        #SET{valeurs_extras,#GET{valeurs_extras}|push{#ID_AUTEUR|generer_info_entite{auteur,#VALEUR}|sinon{-}}}
    39                                 </BOUCLE_aut_ext> 
     39                                </BOUCLE_aut_ext>
    4040                        </BOUCLE_participants>
    4141                                <BOUCLE_aut_ext2 (DATA){source tableau, #GET{champs_extras}}>
     
    4747                </BOUCLE_res>
    4848                <td>#DESCRIPTIF</td>
    49                 <td>[(#VAL{reservation:texte_statut[_(#STATUT|trim)]}|_T)]</td>
     49                <td>[(#VAL{reservation}|re_statut_titre{#STATUT})]</td>
    5050                <td>#GET{date}</td>
    5151                <td>#GET{nom}</td>
  • _plugins_/reservation_evenement/trunk/reservation_evenement_fonctions.php

    r98971 r101661  
    135135        return $montant;
    136136}
     137function re_statut_titre($objet, $statut) {
     138        include_spip('inc/puce_statut');
     139        return statut_texte_instituer($objet , $statut);
     140}
     141
Note: See TracChangeset for help on using the changeset viewer.