Changeset 78697 in spip-zone


Ignore:
Timestamp:
Nov 22, 2013, 10:43:59 AM (8 years ago)
Author:
tofulm@…
Message:

Formulaire de réservation, Vérification si les dates sont disponibles pour toutes les ressources et uniformisation du fichier de langue

Location:
_plugins_/orr/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/orr/trunk/formulaires/reserv.html

    r78690 r78697  
    1414            <span class="ressource_#GET{affichage_ressource}">
    1515                [(#SAISIE{oui_non, choix_ressource_active, obligatoire}
    16                 {label=<:orr_ressource:ressource_active:>})]
     16                {label=<:orr:ressource_active:>})]
    1717
    1818                <INCLURE{fond=inc/liste_ressources}{id_ressource=#ENV{id_ressource}}>
  • _plugins_/orr/trunk/formulaires/reserv.php

    r78690 r78697  
    4747            $erreurs[$obligatoire] = _T("info_obligatoire");
    4848    }
     49    // Il faut au moins une ressource !!
    4950    if (!_request('liste_ressources') AND !_request('choix_ressource_active')) {
    50             $erreurs["choix_ressource_active"] = _T("orr_ressource:ressource_obligatoire");
     51            $erreurs["choix_ressource_active"] = _T("orr:ressource_obligatoire");
    5152    }
    5253   
    5354    //format de date correct
    5455    if (!isset($erreurs['date_debut'])){
    55         list ($dated,$tempsd) = explode(' ',$date_debut);
     56        list ($dated,$tempsd)        = explode(' ',$date_debut);
    5657        list ($jourd,$moisd,$anneed) = explode('/',$dated);
    5758        if (!intval($jourd)or!intval($moisd)or!intval($anneed)or!preg_match("#^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$#", $tempsd)) {
     
    6061    }
    6162    if (!isset($erreurs['date_fin'])){
    62         list ($datef,$tempsf) = explode(' ',$date_fin);
     63        list ($datef,$tempsf)        = explode(' ',$date_fin);
    6364        list ($jourf,$moisf,$anneef) = explode('/',$datef);
    6465        if (!intval($jourf)or!intval($moisf)or!intval($anneef)or!preg_match("#^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$#", $tempsf)) {
     
    7778
    7879    // les dates choisies sont libres
    79 // manque le test si resa multiple !!!!
     80    $liste_ressources = array();
     81    // Si C'est une mise à jour, on ne traite que de la ressource sélectionnée)
     82    if ($idresa)
     83        $liste_ressources[] = $idressource;
     84    // fabrique un array : liste_ressources de toutes les ressources
     85    elseif (_request('choix_ressource_active')){
     86        $liste_ressources   = _request('liste_ressources');
     87        $liste_ressources[] = $idressource;
     88    }
    8089    $date_debut = date("Y-m-d H:i:s", mktime (intval($heured),$minuted,0, $moisd, $jourd, $anneed));
    8190    $date_fin   = date("Y-m-d H:i:s", mktime (intval($heuref),$minutef,0, $moisf, $jourf, $anneef));
    82     $resultat = orr_compare_date($date_debut,$date_fin,$idressource,$idresa);
    83         if ($resultat == "1"){
    84                 $erreurs['date_debut'] = _T('orr:erreur_reservation_date_occupe');
    85                 $erreurs['date_fin']   = _T('orr:erreur_reservation_date_occupe');
    86         }
     91   
     92    $resultat = array();
     93    foreach ($liste_ressources as $idressource) {
     94        if (orr_compare_date($date_debut,$date_fin,$idressource,$idresa))
     95            $resultat[] = $idressource;
     96    }
     97    if ($resultat){
     98        $nom_ressources = array();
     99        $nom_ressources = sql_allfetsel('orr_ressource_nom', 'spip_orr_ressources', sql_in('id_orr_ressource', $resultat));
     100        foreach ($nom_ressources as $ressource) {
     101            $Tressources[] = $ressource['orr_ressource_nom'];
     102        }
     103        $pluriel = count($Tressources)>1 ? "les ressources" : "la ressource";
     104        $affichage_ressource = implode(", ",$Tressources);
     105        $erreurs['date_debut'] = _T('orr:erreur_reservation_date_occupe',array('ressource' => $affichage_ressource,'pluriel' => $pluriel));
     106        $erreurs['date_fin']   = _T('orr:erreur_reservation_date_occupe',array('ressource' => $affichage_ressource,'pluriel' => $pluriel));
     107    }
    87108    return $erreurs;
    88109}
     
    106127
    107128        list($jour_debut, $heure_debut) = explode(' ',$date_debut);
    108         list($jour_fin, $heure_fin) = explode(' ',$date_fin);
    109         list($jourd,$moisd,$anneed) = explode('/',$jour_debut);
    110         list($jourf,$moisf,$anneef) = explode('/',$jour_fin);
     129        list($jour_fin, $heure_fin)     = explode(' ',$date_fin);
     130        list($jourd,$moisd,$anneed)     = explode('/',$jour_debut);
     131        list($jourf,$moisf,$anneef)     = explode('/',$jour_fin);
    111132
    112133        list($heured,$minuted) = explode(':',$heure_debut);
     
    114135
    115136        $date_debut = date("Y-m-d H:i:s", mktime ($heured,$minuted,0, $moisd, $jourd, $anneed));
    116         $jourj = date("Y-m-d", mktime ($heured,$minuted,0, $moisd, $jourd, $anneed));
     137        $jourj      = date("Y-m-d", mktime ($heured,$minuted,0, $moisd, $jourd, $anneed));
    117138        $date_fin   = date("Y-m-d H:i:s", mktime ($heuref,$minutef,0, $moisf, $jourf, $anneef));
    118139       
  • _plugins_/orr/trunk/inc/liste_ressources.html

    r78690 r78697  
    55
    66[(#SAISIE*{checkbox,liste_ressources}
    7     {label=<:orr_ressource:liste_ressources:>}
     7    {label=<:orr:liste_ressources:>}
    88    {datas=#GET{tableau_ressources}|array_flip})]
  • _plugins_/orr/trunk/lang/orr_fr.php

    r78632 r78697  
    2626        // E
    2727        'erreur_reservation_date_fin_debut'=>'date de fin antérieur  ou égale à la date de début',     
    28         'erreur_reservation_date_occupe'=>'Vos dates de réservations ne sont pas libres !',
     28        'erreur_reservation_date_occupe'=>'Pour @pluriel@ : @ressource@, vos dates de réservations ne sont pas libres !',
    2929        'erreur_reservation_format_date'=>'Ce format de date n\'est pas reconnu.',     
    3030        'explication_orr_date_debut' => 'Date de début de la réservation',
     
    6969        'legend_affichage_planning' => 'Affichage du planning',
    7070        'label_vue_pardefaut' => 'Choix de la vue par défaut',
     71    'liste_ressources' => 'Ajouter des ressources supplémentaires',
    7172       
    7273        // M
     
    9293        'retirer_tous_liens_orr_ressources' => 'Retirer toutes les ressources',
    9394        'reservation_enregistree' => 'La réservation est enregistrée',
     95    'ressource_obligatoire' => 'Il faut sélectionner au moins une ressource !',
     96    'ressource_active' => 'La ressource sélectionnée :',
    9497       
    9598        // S
  • _plugins_/orr/trunk/lang/orr_ressource_fr.php

    r78690 r78697  
    2424        'label_orr_ressource_couleur' => 'orr_ressource_couleur',
    2525        'label_orr_ressource_nom' => 'ORR type de ressource',
    26     'liste_ressources' => 'Ajouter des ressources supplémentaires',
    2726
    2827        // R
    2928        'retirer_lien_orr_ressource' => 'Retirer cette ressource',
    3029        'retirer_tous_liens_orr_ressources' => 'Retirer toutes les ressources',
    31     'ressource_active' => 'La ressource sélectionnée :',
    32     'ressource_obligatoire' => 'Il faut sélectionner au moins une ressource !',
    3330
    3431        // T
Note: See TracChangeset for help on using the changeset viewer.