Les périodicités (réservations qui se répètent)

Comment créer une réservation qui se répète ?

Après avoir cliqué sur l'heure désirée, l'écran de réservation s'affiche. En cliquant sur le lien en bas de la page, vous ouvrez les options de périodicité.
Choisissez le type de Périodicité approprié. La ressource sera réservée à la même heure, jusqu'à la date de fin de Périodicité, et seulement pour les jours spécifiés par le type de Périodicité.


Comment fonctionnent les périodicités ?

Prenons un exemple :

J'effectue une réservation "A1" avec périodicité. Supposons que cette périodicité entraîne la création de n créneaux de réservation. Que se passe-t-il au niveau de l'application ?
  1. GRR génère les réservation "A1", "A2", .... "An" (correspondant à autant d'entrées dans une table de la base de données nommée grr_entry),
  2. GRR génère une entrée supplémentaire dans une table spéciale grr_repeat qui mémorise les informations liées à la périodicité,
  3. enfin, pour chaque réservation de la table grr_entry, un champ mémorise sous forme d'un identifiant, la périodicité à laquelle la réservation est rattachée.
Que se passe-t-il si je modifie une des réservations A1, A2, ... ?

L'entrée correspondante dans la table grr_entry est modifiée avec les nouvelles informations. C'est tout ! Cela signifie qu'il n'y a plus concordance entre cette réservation et les informations de périodicité. De même, je peux supprimer la réservation "A2". Il restera alors dans la table grr_entry, les réservations "A1", "A3", .... "An".

Que se passe-t-il alors si je modifie la périodicité ?
  1. Toutes les réservations dans la table grr_entry sont mises à jour avec les nouvelles informations,
  2. la périodicité dans la table grr_repeat est également mise à jour.
Il y a donc à nouveau concordance entre les informations individuelles de la table grr_entry et les informations de périodicité. Ainsi, si une réservation, par exemple "A2", avait auparavant été supprimée, elle est alors réinsérée dans la table.

Que se passe-t-il alors si je supprime la périodicité ?
  1. GRR supprime l'information de périodicité dans la table grr_repeat,
  2. pour chaque réservation de la table grr_entry, le champ qui mémorisait la périodicité à laquelle la réservation était rattachée, est vidé.
Les réservations "A1", "A2", .... "An" sont devenues complètement indépendantes les unes des autres.