You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2011-01-14 13:00:06

3-5
Member
Registered: 2007-01-12
Posts: 29

Pb reservation

Bonjour
J'ai 2 problèmes à soulever dans la partie réservations.

- Quand une personne réserve un matériel de façon récursive et que les dates englobent un passage à l'heure d'été ou d'hiver les heures notées sont modifiées à partir de la date de changement d'heure ce qui entraine un décalage dans l'horaire de réservation souhaité.

- Il n'est, à priori, pas possible de supprimer une réservation de façon récursive sans le faire une par une.

- Il n'est pas possible en tant que post-only de voir le commentaire d'une réservation qui ne lui appartient pas.

Merci pour votre aide

GLPI 0.78.1

Last edited by 3-5 (2011-01-14 13:02:10)

Offline

#2 2011-01-18 10:03:10

MoYo
GLPI - Lead
From: Poitiers
Registered: 2004-09-13
Posts: 14,513
Website

Re: Pb reservation

Je déplace dans suggestions nouvelles fonctionnalités


MoYo - Julien Dombre - Association INDEPNET
Contribute to GLPI :    Support     Contribute     References     Freshmeat

Offline

#3 2013-10-15 11:52:43

kiricou
Member
Registered: 2013-10-15
Posts: 18

Re: Pb reservation

voici une correction possible pour l'histoire de réservation avec passage heure été/hiver

effectué sur v0.84.2
(c'est un patch dans inc/)
le premier changement de 00:00:00 vers 23:59:59 est pour prendre en compte le dernier jour de répétition (la date de fin) sinon il fallait donner jour+1.

--- reservation.class.php.ORG   2013-10-15 11:30:00.147700303 +0200
+++ reservation.class.php       2013-10-15 11:35:50.537654319 +0200
@@ -792,16 +792,16 @@
       if (isset($options['type']) && isset($options['end'])) {
          $begin_time = strtotime($begin);
          $end_time   = strtotime($end);
-         $repeat_end = strtotime($options['end'].' 00:00:00');
+         $repeat_end = strtotime($options['end'].' 23:59:59');
 
          switch ($options['type']) {
             case 'day' :
-               $begin_time += DAY_TIMESTAMP;
-               $end_time   += DAY_TIMESTAMP;
+               $begin_time = strtotime("+1 day",$begin_time);
+               $end_time = strtotime("+1 day",$end_time);
                while ($begin_time < $repeat_end) {
                   $toadd[date('Y-m-d H:i:s', $begin_time)] = date('Y-m-d H:i:s', $end_time);
-                  $begin_time += DAY_TIMESTAMP;
-                  $end_time   += DAY_TIMESTAMP;
+                  $begin_time = strtotime("+1 day",$begin_time);
+                  $end_time = strtotime("+1 day",$end_time);
                }
                break;
 
@@ -810,8 +810,8 @@
 
                // No days set add 1 week
                if (!isset($options['days'])) {
-                  $dates = array(array('begin' => $begin_time+WEEK_TIMESTAMP,
-                                       'end'   => $end_time+WEEK_TIMESTAMP));
+                  $dates = array(array('begin' => strtotime('+1 week',$begin_time),
+                                       'end'   => strtotime('+1 week',$end_time)));
                } else {
                   if (is_array($options['days'])) {
                      $begin_hour = $begin_time- strtotime(date('Y-m-d', $begin_time));
@@ -829,8 +829,8 @@
 
                   while ($begin_time < $repeat_end) {
                      $toadd[date('Y-m-d H:i:s', $begin_time)] = date('Y-m-d H:i:s', $end_time);
-                     $begin_time += WEEK_TIMESTAMP;
-                     $end_time   += WEEK_TIMESTAMP;
+                     $begin_time = strtotime('+1 week',$begin_time);
+                     $end_time   = strtotime('+1 week',$end_time);
                   }
                }
                break;

Last edited by kiricou (2013-10-15 13:02:37)

Offline

Board footer

Powered by FluxBB