Limiter le nombre de réservations sur X jours glissants ?

  • Yan
  • Developpeur GRR
  • Developpeur GRR
Plus d'informations
il y a 4 ans 6 mois #2632 par Yan
Bonjour,
voici une proposition, à récupérer sur le dépôt Github :
github.com/JeromeDevome/GRR/tree/d80accb...00acf9a04b8e009803bb
en principe fonctionnelle au niveau du commit indiqué.
Merci pour votre retour d'expérience.
Cordialement,
YN

Connexion ou Créer un compte pour participer à la conversation.

  • olivier.che
  • Auteur du sujet
  • Nouveau membre
  • Nouveau membre
Plus d'informations
il y a 4 ans 6 mois #2633 par olivier.che
Réponse de olivier.che sur le sujet Limiter le nombre de réservations sur X jours glissants ?
Merci,
J'ai récupéré l'archive zip de la version 3.4.2 RC1 en partant du lien github.com/JeromeDevome/GRR/tree/d80accb...00acf9a04b8e009803bb puis en sélectionnant -> Clone or download -> Download ZIP.
Je suis parti sur une nouvelle installation, en créant une arborescence spécifique sur le serveur web, ainsi qu'une base mysql dédiée. J'ai créé un fichier connect.inc.php avec les paramètres pour la BDD, et un fichier config.inc.php identique au fichier config.inc.php.ori
La tentative d'affichage de la page d'index renvoie l'erreur suivante :
[php7:error] [pid 30552] [client monip:1767] PHP Fatal error: Uncaught Error: Call to undefined function grr_sql_query() in /var/www/public/tmp/GRR-421RC1/include/functions.inc.php:5360\nStack trace:\n#0 /var/www/public/tmp/GRR-421RC1/index.php(81): pageHead2('GRR (Gestion et...', 'no_session')\n#1 {main}\n thrown in /var/www/public/tmp/GRR-421RC1/include/functions.inc.php on line 5360, referer: www.monserveurpersodetestgrrdev.org/public/tmp/GRR-421RC1/

C'était bien de cette manière que je devais faire le test ?
Olivier

Connexion ou Créer un compte pour participer à la conversation.

  • Yan
  • Developpeur GRR
  • Developpeur GRR
Plus d'informations
il y a 4 ans 6 mois #2634 par Yan
À ce que vous dites, vous avez suivi le processus d'installation correctement.
C'est comme si le fichier mysql.inc.php n'était pas accessible... l'erreur se produit de manière certaine ?

Connexion ou Créer un compte pour participer à la conversation.

  • olivier.che
  • Auteur du sujet
  • Nouveau membre
  • Nouveau membre
Plus d'informations
il y a 4 ans 6 mois #2635 par olivier.che
Réponse de olivier.che sur le sujet Limiter le nombre de réservations sur X jours glissants ?
Bonjour,

Le fichier mysql.inc.php est bien accessible en lecture écriture à l'utilisateur www-data (utilisateur par défaut pour apache en Debian 10). L'erreur se reproduit de manière systématique. J'ai refait des installations de test pour confirmer.

Voici en détail ce que j'ai testé et les erreurs obtenues :

root@monserveurweb:/var/www/public/tmp# head -20 GRR-d80accb64b3328cc5c9800acf9a04b8e009803bb/CHANGELOG |grep Version
Version 3.4.2 RC1 (en cours de développement : pour l'installation, partez de zéro, restaurez vos anciennes données si vous en avez, procédez à la mise à jour des tables quand le logiciel le demande)
Arborescence GRR 3.4.2 RC1 récupérée en allant sur le lien github.com/JeromeDevome/GRR/tree/d80accb...00acf9a04b8e009803bb puis en sélectionnant Clone or download -> Download ZIP
Création d’un fichier connect.inc.php qui contient les référence (user ; pass ; dbname) d’une base mysql pour le grr de test et d’un ficher config.inc.php (en recopie du fichier config.inc.php.ori)

Depuis un navigateur web, la page d’index n’affiche rien (page blanche) et les error.log apache indique :
PHP Fatal error: Uncaught Error: Call to undefined function grr_sql_query() in /var/www/public/tmp/GRR-d80accb64b3328cc5c9800acf9a04b8e009803bb/include/functions.inc.php:5360\nStack trace:\n#0 /var/www/public/tmp/GRR-d80accb64b3328cc5c9800acf9a04b8e009803bb/index.php(81): pageHead2('GRR (Gestion et...', 'no_session')\n#1 {main}\n thrown in /var/www/public/tmp/GRR-d80accb64b3328cc5c9800acf9a04b8e009803bb/include/functions.inc.php on line 5360
Le fichier mysql.inc.php appartient bien à www-data comme tous les autres fichiers.
-rw-r--r-- 1 www-data www-data 7645 avril 23 17:52 mysql.inc.php


root@monserveurweb:/var/www/public/tmp# head -20 GRRgitclone20200425/CHANGELOG |grep Version
Version en cours de développement sur GitHUB (4.0.0)
Arborescence GRRgitclone20200425 obtenue en allant sur le lien github.com/JeromeDevome/GRR/tree/d80accb...00acf9a04b8e009803bb Clone or download, récupération de l’adresse git affichée sous la partie « Use Git or checkout with SVN using the web URL » : github.com/JeromeDevome/GRR.git et en lançant la commande git clone github.com/JeromeDevome/GRR.git sur mon serveur web (puis mv GRR   GRRgitclone20200425)
Création d’un fichier connect.inc.php qui contient les référence (user ; pass ; dbname) d’une base mysql pour le grr de test et d’un ficher config.inc.php (en recopie du fichier config.inc.php.ori)
Depuis un navigateur web, la page d’index affiche bien :

La connection au serveur mysql est établie mais certaines tables sont absentes de la base GRRDEV. (Au passage, connection à remplacer par connexion :) )
Lorsque je clique sur « Installer la base mysql » j’obtiens l’erreur
étape 5 - Erreur
L'installation n'a pas pu se terminer normalement : des tables sont manquantes. _area _area_periodes _calendar _calendrier_feries _calendrier_jours_cycle _calendrier_vacances _entry _entry_moderate _type_area _j_type_area _j_mailuser_room _j_user_area _j_user_room _log _repeat _room _setting _utilisateurs _j_useradmin_area _overload _site _j_useradmin_site _j_site_area _correspondance_statut _page _modulesext

Il y a une différence importante de taille du répertoire avec la méthode via l'archive .zip et le git clone :

root@monserveur:/var/www/public/tmp# du -sk *
24052 GRR-d80accb64b3328cc5c9800acf9a04b8e009803bb (obtenu en téléchargeant l'archive zip sur le lien donné)
99428 GRRgitclone20200425 (obtenu avec la commande git clone)
Je pense que je ne récupère pas de la bonne manière la version 3.4.2 RC1. Pouvez-vous m'indiquer la bonne manière de faire ?

Olivier

Connexion ou Créer un compte pour participer à la conversation.

  • Yan
  • Developpeur GRR
  • Developpeur GRR
Plus d'informations
il y a 4 ans 6 mois #2636 par Yan
Bonjour,
il est normal que l'archive 4.0 soit plus grosse que la 3.4.1 : outre la recherche de compatibilité avec php5.6+, je cherche une meilleure compacité.
Je testerai une fresh install dès que possible et je reviens rendre compte.
Cordialement,
YN

Connexion ou Créer un compte pour participer à la conversation.

  • Yan
  • Developpeur GRR
  • Developpeur GRR
Plus d'informations
il y a 4 ans 6 mois #2637 par Yan
Bonjour,
effectivement, je n'avais pas refait d'installation depuis l'archive et il y avait quelques ajustements à faire.
En reprenant l'archive depuis ce point : github.com/JeromeDevome/GRR/tree/devel3 , vous devriez réussir votre installation.
Désolé pour le dérangement et le temps perdu.
Cordialement,
YN

Connexion ou Créer un compte pour participer à la conversation.

  • olivier.che
  • Auteur du sujet
  • Nouveau membre
  • Nouveau membre
Plus d'informations
il y a 4 ans 6 mois #2638 par olivier.che
Réponse de olivier.che sur le sujet Limiter le nombre de réservations sur X jours glissants ?
Bonjour,
Merci pour la prise en compte rapide des retours et les corrections tout aussi rapide.
De mon côté le fait de simplement récupérer des nouvelles versions ou faire des mises à jour pour des essais ne me prennent pas beaucoup de temps donc n'hésitez pas.
J'ai récupéré l'archive depuis le point
github.com/JeromeDevome/GRR/tree/devel3
J'ai bien eu la page pour l'installation, qui s'est terminé à l'étape suivante :


Quatrième étape : Création des tables de la base

ERROR : 'INSERT INTO grr_type_area VALUES (1, 'Cours', 1, 1, '#1abc9c', 'A', 2, '#000');'
ERROR : 'INSERT INTO grr_type_area VALUES (2, 'R�union', 2, 2, '#C03000', 'B', 2, '#FFF');'
ERROR : 'INSERT INTO grr_type_area VALUES (3, 'Autre', 3, 3, '#4BB5C1', 'C', 2, '#000');'
ERROR : 'INSERT INTO grr_setting VALUES ('company', 'Nom de l\'�tablissement');'
ERROR : 'INSERT INTO grr_setting VALUES ('title_home_page', 'Gestion et R�servation de Ressources');'
ERROR : 'INSERT INTO grr_setting VALUES ('message_home_page', 'En raison du caract�re personnel du contenu, ce site est soumis � des restrictions utilisateurs. Pour acc�der aux outils de r�servation, identifiez-vous :');'

L'opération a échoué. Retournez à la page précédente, sélectionnez une autre base ou créez-en une nouvelle. Vérifiez les informations fournies par votre hébergeur.



Malgré ces erreurs, l'installation semble opérationnelle : j'ai pu me connecter avec le compte administrateur et le mot de passe par défaut.

Je vois désormais une nouvelle option dans les paramètres des ressources :
"Portée de la restriction en nombre max. de réservations par utilisateur (-1 si pas de restriction)"

Je suppose que c'est cette nouvelle option qui est en rapport avec le nombre maximum de réservation qu'un utilisateur a le droit de faire sur une période donnée, mais je n'arrive pas à voir quelle valeur donner à cette option.
Dans mon exemple, j'avais :
- Nombre max. de réservations par utilisateur : 3
- Nombre maximal de jours au-delà duquel l'utilisateur ne peut pas réserver ou modifier une réservation : 15
Comment utiliser la nouvelle option pour dire qu'il a le droit à 3 réservations maximum sur des périodes de 15 jours glissants ?
Exemple : si un utilisateur réserve la salle 1h le 1er mai, 2h le 2 mai, il faut qu'il soit obligé d'attendre le 16 mai pour pouvoir reprendre 1h.

Cordialement,
Olivier

Connexion ou Créer un compte pour participer à la conversation.

  • Yan
  • Developpeur GRR
  • Developpeur GRR
Plus d'informations
il y a 4 ans 6 mois #2639 par Yan
L'erreur à l'installation est due à un codage incorrect du fichier tables.my.sql : il doit être en ISO et votre système le prend comme s'il était en UTF-8. Essayez de le convertir en UTF-8 avant l'installation. Les valeurs des types par défaut ne sont pas définies.
Pour ce qui est de l'intervalle de temps sur lequel les réservations sont limitées, la valeur -1 indique qu'il n'y a pas de restriction, pour votre cas, il faudrait indiquer la valeur 15. Par défaut le comportement de GRR est inchangé, pour une limitation sur n jours, il faut entrer l'entier positif n à la place de -1.
Merci pour votre retour.
Cordialement,
YN

Connexion ou Créer un compte pour participer à la conversation.

  • olivier.che
  • Auteur du sujet
  • Nouveau membre
  • Nouveau membre
Plus d'informations
il y a 4 ans 6 mois #2640 par olivier.che
Réponse de olivier.che sur le sujet Limiter le nombre de réservations sur X jours glissants ?
Ok pour la conversion du fichier tables.mysql :
iconv -f ISO-8859-15 -t UTF-8 ./GRR-devel3-20200426/installation/tables.my.sql > ./GRR-devel3-20200426/installation/tables.my.sql-UTF-8
cp -rp GRR-devel3-20200426/installation/tables.my.sql-UTF-8 GRR-devel3-20200426/installation/tables.my.sql

Après relance de la procédure d'installation, il n'y a plus les erreurs en rapport avec les accents, mais il reste :
Quatrième étape : Création des tables de la base

ERROR : 'INSERT INTO grr_type_area VALUES (1, 'Cours', 1, 1, '#1abc9c', 'A', 2, '#000');'
ERROR : 'INSERT INTO grr_type_area VALUES (2, 'Réunion', 2, 2, '#C03000', 'B', 2, '#FFF');'
ERROR : 'INSERT INTO grr_type_area VALUES (3, 'Autre', 3, 3, '#4BB5C1', 'C', 2, '#000');'
L'opération a échoué. Retournez à la page précédente, sélectionnez une autre base ou créez-en une nouvelle. Vérifiez les informations fournies par votre hébergeur.

Pour la "Ressource 1" :
Dans "Nombre max. de réservations par utilisateur" j'ai mis : 3
Dans "Portée de la restriction en nombre max. de réservations par utilisateur" j'ai indiqué : 15
Dans "Nombre maximal de jours au-delà duquel l'utilisateur ne peut pas réserver ou modifier une réservation" j'ai indiqué : 15
Avec un compte utilisateur j'ai fait 2 réservation pour aujour'hui, et une réservation pour demain.
Actuellement je ne peux plus faire de réservation (car j'ai atteint le Nombre max. de réservations).
Avec le paramétrage que j'ai mis, normalement je pourrai faire 2 nouvelles réservations demain, mais pas avant le dimanche 10 mai, c'est bien ça ? (en tout cas c'est le besoin que j'ai)
Olivier

Connexion ou Créer un compte pour participer à la conversation.

  • Yan
  • Developpeur GRR
  • Developpeur GRR
Plus d'informations
il y a 4 ans 6 mois #2641 par Yan
Merci pour le retour sur l'initialisation : il restait effectivement une erreur :-(
Vraiment désolé... c'est l'inconvénient des RC, mais grâce à vous on progresse.
Encore merci !
YN

Connexion ou Créer un compte pour participer à la conversation.

Modérateurs: Yan