diff --git a/README.md b/README.md index 8f6c230..6c88c5a 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ It shall NOT be edited by hand. # Grr for YunoHost -[![Integration level](https://dash.yunohost.org/integration/grr.svg)](https://dash.yunohost.org/appci/app/grr) ![](https://ci-apps.yunohost.org/ci/badges/grr.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/grr.maintain.svg) +[![Integration level](https://dash.yunohost.org/integration/grr.svg)](https://dash.yunohost.org/appci/app/grr) ![Working status](https://ci-apps.yunohost.org/ci/badges/grr.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/grr.maintain.svg) [![Install Grr with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=grr) *[Lire ce readme en français.](./README_fr.md)* @@ -15,63 +15,34 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in ## Overview -GRR is a resource reservation management system (rooms, equipment, vehicle, staff) but it can also be used as a shared mini-diary. Developed in php and responsive, which allows it to be accessible, from anywhere and on any type of equipment (PC, Mac, tablet, phone, TV ...). - -GRR is fully configurable (management of schedules, access, emails ...) and remains easy to use. - -### Features - -- Access to the shared management tool via any web browser, -- The administration of several types of shared resources (rooms, cars, equipment, etc.), -- The management of reservations for these resources (creation, modification, deletion), -- Management of the type of access to a resource; access restricted to certain users or not, -- The possibility of making periodic reservations, -- The possibility of configuring a calendar of "public holidays", inaccessible to reservations, -- The possibility of making reservations "subject to", to be confirmed before a fixed date, -- The possibility of making reservations "in moderation", -- The possibility of making reservations on behalf of other users or external persons -- The possibility of defining, domain by domain, additional fields, -- The possibility of defining "cycle days" (see documentation), -- Fine management of sending automatic emails, -- The delegation to users of the administration of certain domains, -- Delegation to users of the management of reservations for certain resources, -- The possibility for a manager to display a reservation as "in use", -- The possibility of temporarily making a resource unavailable for maintenance for example, -- The ability to configure a presentation sheet with an image for each resource, -- The visualization of the planning of resource reservations in different forms, -- The possibility of configuring the type of access to the application (obligation or not to connect to access the site), -- The possibility of customizing by domain the display parameters of the reservation schedule (start and end times of the day, smallest bookable block, ... or pre-defined time slots). -- The possibility of setting, for each resource, a maximum number of days beyond which the user cannot reserve or modify an existing reservation. -- The possibility of setting, for each resource, a time, below which the user cannot reserve or modify an existing reservation. -- The possibility of reserving or freeing very quickly whole days simultaneously on several resources of several domains and according to a calendar. +GRR is a resource reservation management system (rooms, equipment, vehicle, staff) but it can also be used as a shared mini-diary. Developed in php and responsive, which allows it to be accessible, from anywhere and on any type of equipment (PC, Mac, tablet, phone, TV...). **Shipped version:** 3.4.3a~ynh1 - - ## Screenshots -![](./doc/screenshots/home.png) +![Screenshot of Grr](./doc/screenshots/home.png) ## Documentation and resources -* Official app website: https://site.devome.com/fr/grr3 -* Official user documentation: https://site.devome.com/fr/grr/telechargement/category/2-informations-documentations -* Official admin documentation: https://site.devome.com/fr/grr/telechargement/category/2-informations-documentations -* Upstream app code repository: https://github.com/JeromeDevome/GRR -* YunoHost documentation for this app: https://yunohost.org/app_grr -* Report a bug: https://github.com/YunoHost-Apps/grr_ynh/issues +* Official app website: +* Official user documentation: +* Official admin documentation: +* Upstream app code repository: +* YunoHost documentation for this app: +* Report a bug: ## Developer info Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/grr_ynh/tree/testing). To try the testing branch, please proceed like that. -``` + +``` bash sudo yunohost app install https://github.com/YunoHost-Apps/grr_ynh/tree/testing --debug or sudo yunohost app upgrade grr -u https://github.com/YunoHost-Apps/grr_ynh/tree/testing --debug ``` -**More info regarding app packaging:** https://yunohost.org/packaging_apps \ No newline at end of file +**More info regarding app packaging:** diff --git a/README_fr.md b/README_fr.md index acbe88d..dd72bda 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,10 +1,14 @@ + + # Grr pour YunoHost -[![Niveau d'intégration](https://dash.yunohost.org/integration/grr.svg)](https://dash.yunohost.org/appci/app/grr) ![](https://ci-apps.yunohost.org/ci/badges/grr.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/grr.maintain.svg) +[![Niveau d'intégration](https://dash.yunohost.org/integration/grr.svg)](https://dash.yunohost.org/appci/app/grr) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/grr.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/grr.maintain.svg) [![Installer Grr avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=grr) *[Read this readme in english.](./README.md)* -*[Lire ce readme en français.](./README_fr.md)* > *Ce package vous permet d'installer Grr rapidement et simplement sur un serveur YunoHost. Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* @@ -13,61 +17,32 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour GRR est un système de gestion de réservation de ressources (salles, équipements, véhicule, personnels) mais il peut également être utilisé comme mini-agenda partagé. Développé en php et en responsive, ce qui lui permet d'être accessible, de n'importe où et sur tout type d'équipement (PC, Mac, tablette, téléphone, TV...). -GRR est entièrement configurable (gestion des horaires, des accés, mails...) et reste simple d'utilisation. - -### Caractéristiques - -- L’accès à l’outil de gestion partagée via n’importe quel navigateur web, -- L’administration de plusieurs types de ressources partagées (salles, voitures, matériels, …), -- La gestion des réservations de ces ressources (création, modification, suppression), -- La gestion du type d’accès à une ressource ; accès restreint à certains utilisateurs ou non, -- La possibilité d’effectuer des réservations périodiques, -- La possibilité de configurer un calendrier des jours « fériés », inaccessible aux réservations, -- La possibilité de poser des réservations « sous réserve », à confirmer avant une date fixée, -- La possibilité de poser des réservations « avec modération », -- La possibilité d’effectuer des réservations au nom d’autres utilisateurs ou de personnes extérieures -- La possibilité de définir, domaine par domaine, des champs additionnels, -- La possibilité de définir des « jours cycle » (voir documentation), -- La gestion fine d’envoi de mails automatiques, -- La délégation à des utilisateurs, de l’administration de certains domaines, -- La délégation à des utilisateurs, de la gestion des réservations pour certaines ressources, -- La possibilité pour un gestionnaire, d’afficher une réservation comme étant « en cours d’utilisation », -- La possibilité de rendre temporairement indisponible une ressource pour maintenance par exemple, -- La possibilité de configurer une fiche de présentation avec image pour chaque ressource, -- La visualisation du planning des réservations des ressources sous différentes formes, -- La possibilité de paramétrer le type d’accès à l’application (obligation ou non de se connecter pour accéder au site), -- La possibilité de personnalisation par domaine les paramètres d’affichage du planning des réservations (heures de début et fin de journée, plus petit bloc réservable, … ou bien créneaux pré-définis). -- La possibilité de fixer, pour chaque ressource, un nombre maximal de jours au-delà duquel l’utilisateur ne peut pas réserver ou modifier une réservation existante. -- La possibilité de fixer, pour chaque ressource, un temps, en-deçà duquel l’utilisateur ne peut pas réserver ou modifier une réservation existante. -- La possibilité de réserver ou de libérer très rapidement des journées entières simultanément sur plusieurs ressources de plusieurs domaines et selon un calendrier. - **Version incluse :** 3.4.3a~ynh1 - - ## Captures d'écran -![](./doc/screenshots/home.png) +![Capture d'écran de Grr](./doc/screenshots/home.png) ## Documentations et ressources -* Site officiel de l'app : https://site.devome.com/fr/grr3 -* Documentation officielle utilisateur : https://site.devome.com/fr/grr/telechargement/category/2-informations-documentations -* Documentation officielle de l'admin : https://site.devome.com/fr/grr/telechargement/category/2-informations-documentations -* Dépôt de code officiel de l'app : https://github.com/JeromeDevome/GRR -* Documentation YunoHost pour cette app : https://yunohost.org/app_grr -* Signaler un bug : https://github.com/YunoHost-Apps/grr_ynh/issues +* Site officiel de l'app : +* Documentation officielle utilisateur : +* Documentation officielle de l'admin : +* Dépôt de code officiel de l'app : +* Documentation YunoHost pour cette app : +* Signaler un bug : ## Informations pour les développeurs Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/grr_ynh/tree/testing). Pour essayer la branche testing, procédez comme suit. -``` + +``` bash sudo yunohost app install https://github.com/YunoHost-Apps/grr_ynh/tree/testing --debug ou sudo yunohost app upgrade grr -u https://github.com/YunoHost-Apps/grr_ynh/tree/testing --debug ``` -**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps \ No newline at end of file +**Plus d'infos sur le packaging d'applications :** diff --git a/doc/DESCRIPTION.md b/doc/DESCRIPTION.md index 464ded8..d48c8de 100644 --- a/doc/DESCRIPTION.md +++ b/doc/DESCRIPTION.md @@ -1,29 +1 @@ -GRR is a resource reservation management system (rooms, equipment, vehicle, staff) but it can also be used as a shared mini-diary. Developed in php and responsive, which allows it to be accessible, from anywhere and on any type of equipment (PC, Mac, tablet, phone, TV ...). - -GRR is fully configurable (management of schedules, access, emails ...) and remains easy to use. - -### Features - -- Access to the shared management tool via any web browser, -- The administration of several types of shared resources (rooms, cars, equipment, etc.), -- The management of reservations for these resources (creation, modification, deletion), -- Management of the type of access to a resource; access restricted to certain users or not, -- The possibility of making periodic reservations, -- The possibility of configuring a calendar of "public holidays", inaccessible to reservations, -- The possibility of making reservations "subject to", to be confirmed before a fixed date, -- The possibility of making reservations "in moderation", -- The possibility of making reservations on behalf of other users or external persons -- The possibility of defining, domain by domain, additional fields, -- The possibility of defining "cycle days" (see documentation), -- Fine management of sending automatic emails, -- The delegation to users of the administration of certain domains, -- Delegation to users of the management of reservations for certain resources, -- The possibility for a manager to display a reservation as "in use", -- The possibility of temporarily making a resource unavailable for maintenance for example, -- The ability to configure a presentation sheet with an image for each resource, -- The visualization of the planning of resource reservations in different forms, -- The possibility of configuring the type of access to the application (obligation or not to connect to access the site), -- The possibility of customizing by domain the display parameters of the reservation schedule (start and end times of the day, smallest bookable block, ... or pre-defined time slots). -- The possibility of setting, for each resource, a maximum number of days beyond which the user cannot reserve or modify an existing reservation. -- The possibility of setting, for each resource, a time, below which the user cannot reserve or modify an existing reservation. -- The possibility of reserving or freeing very quickly whole days simultaneously on several resources of several domains and according to a calendar. +GRR is a resource reservation management system (rooms, equipment, vehicle, staff) but it can also be used as a shared mini-diary. Developed in php and responsive, which allows it to be accessible, from anywhere and on any type of equipment (PC, Mac, tablet, phone, TV...). diff --git a/doc/DESCRIPTION_fr.md b/doc/DESCRIPTION_fr.md index a3ddcfa..f286af1 100644 --- a/doc/DESCRIPTION_fr.md +++ b/doc/DESCRIPTION_fr.md @@ -1,29 +1 @@ GRR est un système de gestion de réservation de ressources (salles, équipements, véhicule, personnels) mais il peut également être utilisé comme mini-agenda partagé. Développé en php et en responsive, ce qui lui permet d'être accessible, de n'importe où et sur tout type d'équipement (PC, Mac, tablette, téléphone, TV...). - -GRR est entièrement configurable (gestion des horaires, des accés, mails...) et reste simple d'utilisation. - -### Caractéristiques - -- L’accès à l’outil de gestion partagée via n’importe quel navigateur web, -- L’administration de plusieurs types de ressources partagées (salles, voitures, matériels, …), -- La gestion des réservations de ces ressources (création, modification, suppression), -- La gestion du type d’accès à une ressource ; accès restreint à certains utilisateurs ou non, -- La possibilité d’effectuer des réservations périodiques, -- La possibilité de configurer un calendrier des jours « fériés », inaccessible aux réservations, -- La possibilité de poser des réservations « sous réserve », à confirmer avant une date fixée, -- La possibilité de poser des réservations « avec modération », -- La possibilité d’effectuer des réservations au nom d’autres utilisateurs ou de personnes extérieures -- La possibilité de définir, domaine par domaine, des champs additionnels, -- La possibilité de définir des « jours cycle » (voir documentation), -- La gestion fine d’envoi de mails automatiques, -- La délégation à des utilisateurs, de l’administration de certains domaines, -- La délégation à des utilisateurs, de la gestion des réservations pour certaines ressources, -- La possibilité pour un gestionnaire, d’afficher une réservation comme étant « en cours d’utilisation », -- La possibilité de rendre temporairement indisponible une ressource pour maintenance par exemple, -- La possibilité de configurer une fiche de présentation avec image pour chaque ressource, -- La visualisation du planning des réservations des ressources sous différentes formes, -- La possibilité de paramétrer le type d’accès à l’application (obligation ou non de se connecter pour accéder au site), -- La possibilité de personnalisation par domaine les paramètres d’affichage du planning des réservations (heures de début et fin de journée, plus petit bloc réservable, … ou bien créneaux pré-définis). -- La possibilité de fixer, pour chaque ressource, un nombre maximal de jours au-delà duquel l’utilisateur ne peut pas réserver ou modifier une réservation existante. -- La possibilité de fixer, pour chaque ressource, un temps, en-deçà duquel l’utilisateur ne peut pas réserver ou modifier une réservation existante. -- La possibilité de réserver ou de libérer très rapidement des journées entières simultanément sur plusieurs ressources de plusieurs domaines et selon un calendrier. diff --git a/manifest.json b/manifest.json index 80d253a..6bf5e00 100644 --- a/manifest.json +++ b/manifest.json @@ -3,13 +3,13 @@ "id": "grr", "packaging_format": 1, "description": { - "en": "A tool for booking meeting rooms or other resources.", - "fr": "Un outil de réservation de salles de réunion ou d'autres ressources." + "en": "Tool for booking meeting rooms or other resources", + "fr": "Outil de réservation de salles de réunion ou d'autres ressources" }, "version": "3.4.3a~ynh1", "url": "https://site.devome.com/fr/grr3", "upstream": { - "license": "GPL", + "license": "AGPL-3.0-only", "website": "https://site.devome.com/fr/grr3", "demo": "", "admindoc": "https://site.devome.com/fr/grr/telechargement/category/2-informations-documentations", @@ -22,12 +22,12 @@ "email": "mennetrier@smart4.io" }, "requirements": { - "yunohost": ">= 4.1.3" + "yunohost": ">= 11.0.9" }, "multi_instance": true, "services": [ "nginx", - "php7.3-fpm", + "php7.4-fpm", "mysql" ], "arguments": { diff --git a/scripts/_common.sh b/scripts/_common.sh index 023d34c..ce8c5a1 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,7 +4,7 @@ # COMMON VARIABLES #================================================= -YNH_PHP_VERSION="7.3" +YNH_PHP_VERSION="7.4" # dependencies used by the app pkg_dependencies="php${YNH_PHP_VERSION}-ldap php${YNH_PHP_VERSION}-gd php${YNH_PHP_VERSION}-mbstring php${YNH_PHP_VERSION}-mysqli php${YNH_PHP_VERSION}-mysqlnd php${YNH_PHP_VERSION}-xml" diff --git a/scripts/install b/scripts/install index 1dc8b1d..0e64740 100755 --- a/scripts/install +++ b/scripts/install @@ -32,8 +32,6 @@ app=$YNH_APP_INSTANCE_NAME #================================================= ynh_script_progression --message="Validating installation parameters..." --weight=1 -### If the app uses NGINX as web server (written in HTML/PHP in most cases), the final path should be "/var/www/$app". -### If the app provides an internal web server (or uses another application server such as uWSGI), the final path should be "/opt/yunohost/$app" final_path=/var/www/$app test ! -e "$final_path" || ynh_die --message="This path already contains a folder" diff --git a/scripts/remove b/scripts/remove index a5b70ea..1605d93 100755 --- a/scripts/remove +++ b/scripts/remove @@ -21,16 +21,6 @@ db_name=$(ynh_app_setting_get --app=$app --key=db_name) db_user=$db_name final_path=$(ynh_app_setting_get --app=$app --key=final_path) -#================================================= -# STANDARD REMOVE -#================================================= -# REMOVE LOGROTATE CONFIGURATION -#================================================= -# ynh_script_progression --message="Removing logrotate configuration..." --weight=1 - -# # Remove the app-specific logrotate config -# ynh_remove_logrotate - #================================================= # REMOVE THE MYSQL DATABASE #================================================= diff --git a/scripts/restore b/scripts/restore index 94795c2..07cbce0 100755 --- a/scripts/restore +++ b/scripts/restore @@ -63,12 +63,6 @@ ynh_script_progression --message="Restoring the app main directory..." --weight= ynh_restore_file --origin_path="$final_path" -# FIXME: this should be managed by the core in the future -# Here, as a packager, you may have to tweak the ownerhsip/permissions -# such that the appropriate users (e.g. maybe www-data) can access -# files in some cases. -# But FOR THE LOVE OF GOD, do not allow r/x for "others" on the entire folder - -# this will be treated as a security issue. chmod 750 "$final_path" chmod -R o-rwx "$final_path" chown -R $app:www-data "$final_path" diff --git a/scripts/upgrade b/scripts/upgrade index fb35720..8acd7c8 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -27,12 +27,6 @@ db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) # CHECK VERSION #================================================= -### This helper will compare the version of the currently installed app and the version of the upstream package. -### $upgrade_type can have 2 different values -### - UPGRADE_APP if the upstream app version has changed -### - UPGRADE_PACKAGE if only the YunoHost package has changed -### ynh_check_app_version_changed will stop the upgrade if the app is up to date. -### UPGRADE_APP should be used to upgrade the core app only if there's an upgrade to do. upgrade_type=$(ynh_check_app_version_changed) #================================================= @@ -116,12 +110,6 @@ ynh_script_progression --message="Upgrading PHP-FPM configuration..." --weight=1 # Create a dedicated PHP-FPM config ynh_add_fpm_config -#================================================= -# SPECIFIC UPGRADE -#================================================= -# ... -#================================================= - #================================================= # UPDATE A CONFIG FILE #================================================= @@ -135,26 +123,6 @@ chmod 400 "$final_path/include/connect.inc.php" chown $app:$app "$final_path/include/config_ldap.inc.php" chown $app:$app "$final_path/include/connect.inc.php" -### Same as during install -### -### The file will automatically be backed-up if it's found to be manually modified (because -### ynh_add_config keeps track of the file's checksum) - -# ynh_add_config --template="some_config_file" --destination="$final_path/some_config_file" - -# FIXME: this should be handled by the core in the future -# You may need to use chmod 600 instead of 400, -# for example if the app is expected to be able to modify its own config -# chmod 400 "$final_path/some_config_file" -# chown $app:$app "$final_path/some_config_file" - -### For more complex cases where you want to replace stuff using regexes, -### you shoud rely on ynh_replace_string (which is basically a wrapper for sed) -### When doing so, you also need to manually call ynh_store_file_checksum -### -### ynh_replace_string --match_string="match_string" --replace_string="replace_string" --target_file="$final_path/some_config_file" -### ynh_store_file_checksum --file="$final_path/some_config_file" - #================================================= # UPDATE DATABASE #=================================================