diff --git a/README.md b/README.md index 435221c..e274172 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,8 @@ + + # Grocy for YunoHost [![Integration level](https://dash.yunohost.org/integration/grocy.svg)](https://dash.yunohost.org/appci/app/grocy) ![](https://ci-apps.yunohost.org/ci/badges/grocy.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/grocy.maintain.svg) @@ -5,61 +10,41 @@ *[Lire ce readme en français.](./README_fr.md)* -> *This package allows you to install Grocy quickly and simply on a YunoHost server. -If you don't have YunoHost, please consult [the guide](https://yunohost.org/install) to learn how to install it.* +> *This package allows you to install Grocy quickly and simply on a YunoHost server. +If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* ## Overview -Grocy is a web-based self-hosted groceries & household management solution for your home. -**Shipped version:** 3.0.1 +Web-based groceries & household management solution for your home + +**Shipped version:** 3.1.0~ynh1 + +**Demo:** https://en.demo.grocy.info/stockoverview ## Screenshots -![](https://grocy.info/img/grocy-desktop-en.png) +![](./doc/screenshots/stock-en.png) -## Demo - -* [Official demo](https://en.demo.grocy.info/stockoverview) +## Disclaimers / important information ## Configuration Default login - * user: **admin** - * password: **admin** - -## Documentation - - * Official documentation: Link to the official documentation of this app - * YunoHost documentation: If specific documentation is needed, feel free to contribute. - -## YunoHost specific features - -#### Multi-user support - -* Are LDAP and HTTP auth supported? -* Can the app be used by multiple users? - -#### Supported architectures - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/grocy.svg)](https://ci-apps.yunohost.org/ci/apps/grocy/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/grocy.svg)](https://ci-apps-arm.yunohost.org/ci/apps/grocy/) +``` + user: **admin** + password: **admin** +``` ## Limitations :warning: For now, Grocy must be installed in a root domain or subdirectory. -## Additional information +## Documentation and resources -* Other info you would like to add about this app. - -## Links - - * Report a bug: https://github.com/YunoHost-Apps/grocy_ynh/issues - * App website: https://grocy.info/ - * Upstream app repository: https://github.com/grocy/grocy - * YunoHost website: https://yunohost.org/ - ---- +* Official app website: https://grocy.info/ +* Upstream app code repository: https://github.com/grocy/grocy +* YunoHost documentation for this app: https://yunohost.org/app_grocy +* Report a bug: https://github.com/YunoHost-Apps/grocy_ynh/issues ## Developer info @@ -71,3 +56,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/grocy_ynh/tree/testin or sudo yunohost app upgrade grocy -u https://github.com/YunoHost-Apps/grocy_ynh/tree/testing --debug ``` + +**More info regarding app packaging:** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/README_fr.md b/README_fr.md index bb1701b..88f78ab 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,65 +1,46 @@ # Grocy pour YunoHost [![Niveau d'intégration](https://dash.yunohost.org/integration/grocy.svg)](https://dash.yunohost.org/appci/app/grocy) ![](https://ci-apps.yunohost.org/ci/badges/grocy.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/grocy.maintain.svg) -[![Install Grocy with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=grocy) +[![Installer Grocy avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=grocy) -*[Read this readme in english.](./README.md)* +*[Read this readme in english.](./README.md)* +*[Lire ce readme en français.](./README_fr.md)* -> *Ce package vous permet d'installer Grocy rapidement et simplement sur un serveur YunoHost. -Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/install) pour apprendre comment l'installer.* +> *Ce package vous permet d'installer Grocy 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.* ## Vue d'ensemble -Grocy is a web-based self-hosted groceries & household management solution for your home. -**Version incluse :** 3.0.1 +Solution Web de gestion d'épicerie et de gestion de la maison + +**Version incluse :** 3.1.0~ynh1 + +**Démo :** https://en.demo.grocy.info/stockoverview ## Captures d'écran -![](https://grocy.info/img/grocy-desktop-en.png) +![](./doc/screenshots/stock-en.png) -## Démo - -* [Démo officielle](https://en.demo.grocy.info/stockoverview) +## Avertissements / informations importantes ## Configuration Connexion par défaut - * utilisateur : **admin** - * mot de passe : **admin** - -## Documentation - - * Documentation officielle : Lien vers la documentation officielle de cette application. - * Documentation YunoHost : Si une documentation spécifique est nécessaire, n'hésitez pas à contribuer. - -## Caractéristiques spécifiques YunoHost - -#### Support multi-utilisateur - -* L'authentification LDAP et HTTP est-elle prise en charge ? -* L'application peut-elle être utilisée par plusieurs utilisateurs ? - -#### Supported architectures - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/grocy.svg)](https://ci-apps.yunohost.org/ci/apps/grocy/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/grocy.svg)](https://ci-apps-arm.yunohost.org/ci/apps/grocy/) +``` + utilisateur : **admin** + mot de passe : **admin** +``` ## Limitations :warning: Pour l'instant, Grocy doit être installé dans un domaine racine ou un sous-domaine. -## Informations additionnelles +## Documentations et ressources -* Autres informations que vous souhaitez ajouter sur cette application. - -## Liens - - * Signaler un bug : https://github.com/YunoHost-Apps/grocy_ynh/issues - * Site de l'application : https://grocy.info/ - * Dépôt de l'application principale : https://github.com/grocy/grocy - * Site web YunoHost : https://yunohost.org/ - ---- +* Site officiel de l'app : https://grocy.info/ +* Dépôt de code officiel de l'app : https://github.com/grocy/grocy +* Documentation YunoHost pour cette app : https://yunohost.org/app_grocy +* Signaler un bug : https://github.com/YunoHost-Apps/grocy_ynh/issues ## Informations pour les développeurs @@ -71,3 +52,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/grocy_ynh/tree/testin ou sudo yunohost app upgrade grocy -u https://github.com/YunoHost-Apps/grocy_ynh/tree/testing --debug ``` + +**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/conf/app.src b/conf/app.src index 2afc137..91b08de 100644 --- a/conf/app.src +++ b/conf/app.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/grocy/grocy/releases/download/v3.0.1/grocy_3.0.1.zip -SOURCE_SUM=623c6fd0b70b36da58b389ed05a9e8f4d531c1d5a01797ad03f33a85457339af +SOURCE_URL=https://github.com/grocy/grocy/releases/download/v3.1.0/grocy_3.1.0.zip +SOURCE_SUM=a21be24c8da7a7acfe4a357608349ca2e23c2e1d91bb8f82134d0a9604f8d22f SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=zip SOURCE_IN_SUBDIR=false diff --git a/conf/config-dist.php b/conf/config-dist.php index 143cea9..00a321a 100644 --- a/conf/config-dist.php +++ b/conf/config-dist.php @@ -77,10 +77,13 @@ Setting('AUTH_CLASS', 'Grocy\Middleware\DefaultAuthMiddleware'); // the name of the HTTP header which your reverse proxy uses to pass the username (on successful authentication) Setting('REVERSE_PROXY_AUTH_HEADER', 'REMOTE_USER'); -// When using LdapAuthMiddleware -Setting('LDAP_DOMAIN', 'local'); // Example value "local" +// LDAP options when using LdapAuthMiddleware Setting('LDAP_ADDRESS', 'ldap://127.0.0.1:389'); // Example value "ldap://vm-dc2019.local.berrnd.net" -Setting('LDAP_BASE_DN', 'ou=users,dc=yunohost,dc=org'); // Example value "OU=OU_Users,DC=local,DC=berrnd,DC=net" +Setting('LDAP_BASE_DN', 'ou=users,dc=yunohost,dc=org'); // Example value "DC=local,DC=berrnd,DC=net" +Setting('LDAP_BIND_DN', ''); // Example value "CN=grocy_bind_account,OU=service_accounts,DC=local,DC=berrnd,DC=net" +Setting('LDAP_BIND_PW', ''); // Password for the above account +Setting('LDAP_USER_FILTER', ''); // Example value "(OU=grocy_users)" +Setting('LDAP_UID_ATTR', ''); // Windows AD: "sAMAccountName", OpenLDAP: "uid", GLAuth: "cn" // Set this to true if you want to disable the ability to scan a barcode via the device camera (Browser API) Setting('DISABLE_BROWSER_BARCODE_CAMERA_SCANNING', false); @@ -95,6 +98,34 @@ Setting('MEAL_PLAN_FIRST_DAY_OF_WEEK', ''); // see the file controllers/Users/User.php for possible values Setting('DEFAULT_PERMISSIONS', ['ADMIN']); +// 1D (=> Code128) or 2D (=> DataMatrix) +Setting('GROCYCODE_TYPE', '1D'); + +// Label printer settings +// This is the URI that grocy will POST to when asked to print a label +Setting('LABEL_PRINTER_WEBHOOK', ''); +// This setting decides whether the webhook will be called server- or clientside +// If the machine grocy runs on has a network connection to the host the webhook receiver is on, this is probably a good idea +// If, for example, grocy runs in the cloud and your printer daemon runs locally to you, set this to false to let your browser call the webhook instead +Setting('LABEL_PRINTER_RUN_SERVER', true); +// Additional parameters supplied to the webhook +Setting('LABEL_PRINTER_PARAMS', ['font_family' => 'Source Sans Pro (Regular)']); +// TRUE to use JSON or FALSE to use normal POST request variables +Setting('LABEL_PRINTER_HOOK_JSON', false); + +// Thermal printer options +// Thermal printers are receipt printers, not regular printers, +// the printer must support the ESC/POS protocol, see https://github.com/mike42/escpos-php +Setting('TPRINTER_IS_NETWORK_PRINTER', false); // Set to true if it's' a network printer +Setting('TPRINTER_PRINT_QUANTITY_NAME', true); // Set to false if you do not want to print the quantity names (related to the shopping list) +Setting('TPRINTER_PRINT_NOTES', true); // Set to false if you do not want to print notes (related to the shopping list) +Setting('TPRINTER_IP', '127.0.0.1'); // IP of the network printer (does only matter if it's a network printer) +Setting('TPRINTER_PORT', 9100); // Port of the network printer +Setting('TPRINTER_CONNECTOR', '/dev/usb/lp0'); // Printer device (does only matter if you use a locally attached printer) +// For USB on Linux this is often '/dev/usb/lp0', for serial printers it could be similar to '/dev/ttyS0' +// Make sure that the user that runs the webserver has permissions to write to the printer - on Linux add your webserver user to the LP group with usermod -a -G lp www-data + + // Default user settings // These settings can be changed per user, here the defaults // are defined which are used when the user has not changed the setting so far @@ -117,6 +148,7 @@ DefaultUserSetting('product_presets_product_group_id', -1); // Default product g DefaultUserSetting('product_presets_qu_id', -1); // Default quantity unit id for new products (-1 means no quantity unit is preset) DefaultUserSetting('stock_decimal_places_amounts', 4); // Default decimal places allowed for amounts DefaultUserSetting('stock_decimal_places_prices', 2); // Default decimal places allowed for prices +DefaultUserSetting('stock_auto_decimal_separator_prices', false); DefaultUserSetting('stock_due_soon_days', 5); DefaultUserSetting('stock_default_purchase_amount', 0); DefaultUserSetting('stock_default_consume_amount', 1); @@ -124,7 +156,7 @@ DefaultUserSetting('stock_default_consume_amount_use_quick_consume_amount', fals DefaultUserSetting('scan_mode_consume_enabled', false); DefaultUserSetting('scan_mode_purchase_enabled', false); DefaultUserSetting('show_icon_on_stock_overview_page_when_product_is_on_shopping_list', true); -DefaultUserSetting('show_purchased_date_on_purchase', false); // Wheter the purchased date should be editable on purchase (defaults to today otherwise) +DefaultUserSetting('show_purchased_date_on_purchase', false); // Whether the purchased date should be editable on purchase (defaults to today otherwise) DefaultUserSetting('show_warning_on_purchase_when_due_date_is_earlier_than_next', true); // Show a warning on purchase when the due date of the purchased product is earlier than the next due date in stock // Shopping list settings @@ -143,9 +175,8 @@ DefaultUserSetting('batteries_due_soon_days', 5); // Tasks settings DefaultUserSetting('tasks_due_soon_days', 5); -// If the page should be automatically reloaded when there was -// an external change -DefaultUserSetting('auto_reload_on_db_change', true); +// If the page should be automatically reloaded when there was an external change +DefaultUserSetting('auto_reload_on_db_change', false); // Show a clock in the header next to the logo or not DefaultUserSetting('show_clock_in_header', false); @@ -159,6 +190,7 @@ DefaultUserSetting('quagga2_patchsize', 'medium'); DefaultUserSetting('quagga2_frequency', 10); DefaultUserSetting('quagga2_debug', true); + // Feature flags // grocy was initially about "stock management for your household", many other things // came and still come by, because they are useful - here you can disable the parts @@ -172,6 +204,7 @@ Setting('FEATURE_FLAG_TASKS', true); Setting('FEATURE_FLAG_BATTERIES', true); Setting('FEATURE_FLAG_EQUIPMENT', true); Setting('FEATURE_FLAG_CALENDAR', true); +Setting('FEATURE_FLAG_LABEL_PRINTER', false); // Sub feature flags Setting('FEATURE_FLAG_STOCK_PRICE_TRACKING', true); @@ -182,7 +215,8 @@ Setting('FEATURE_FLAG_STOCK_PRODUCT_FREEZING', true); Setting('FEATURE_FLAG_STOCK_BEST_BEFORE_DATE_FIELD_NUMBER_PAD', true); // Activate the number pad in due date fields on (supported) mobile browsers Setting('FEATURE_FLAG_SHOPPINGLIST_MULTIPLE_LISTS', true); Setting('FEATURE_FLAG_CHORES_ASSIGNMENTS', true); +Setting('FEATURE_FLAG_THERMAL_PRINTER', false); // Feature settings Setting('FEATURE_SETTING_STOCK_COUNT_OPENED_PRODUCTS_AGAINST_MINIMUM_STOCK_AMOUNT', true); // When set to true, opened items will be counted as missing for calculating if a product is below its minimum stock amount -Setting('FEATURE_FLAG_AUTO_TORCH_ON_WITH_CAMERA', true); // Enables the torch automaticaly (if the device has one) +Setting('FEATURE_FLAG_AUTO_TORCH_ON_WITH_CAMERA', true); // Enables the torch automatically (if the device has one) diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md index d87cd4c..4f720fa 100644 --- a/doc/DISCLAIMER.md +++ b/doc/DISCLAIMER.md @@ -1,9 +1,11 @@ ## Configuration Default login - * user: **admin** - * password: **admin** - +``` + user: **admin** + password: **admin** +``` + ## Limitations :warning: For now, Grocy must be installed in a root domain or subdirectory. diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md index 4837ba4..836ff54 100644 --- a/doc/DISCLAIMER_fr.md +++ b/doc/DISCLAIMER_fr.md @@ -1,8 +1,10 @@ ## Configuration Connexion par défaut - * utilisateur : **admin** - * mot de passe : **admin** +``` + utilisateur : **admin** + mot de passe : **admin** +``` ## Limitations diff --git a/manifest.json b/manifest.json index 64abda8..4a77648 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Web-based groceries & household management solution for your home", "fr": "Solution Web de gestion d'épicerie et de gestion de la maison" }, - "version": "3.0.1~ynh3", + "version": "3.1.0~ynh1", "url": "https://grocy.info", "upstream": { "license": "MIT", @@ -25,7 +25,7 @@ "multi_instance": true, "services": [ "nginx", - "php7.3-fpm" + "php8.0-fpm" ], "arguments": { "install": [{ diff --git a/pull_request_template.md b/pull_request_template.md deleted file mode 100644 index 6c28fc5..0000000 --- a/pull_request_template.md +++ /dev/null @@ -1,16 +0,0 @@ -## Problem -- *Description of why you made this PR* - -## Solution -- *And how do you fix that problem* - -## PR Status -- [ ] Code finished. -- [ ] Tested with Package_check. -- [ ] Fix or enhancement tested. -- [ ] Upgrade from last version tested. -- [ ] Can be reviewed and tested. - -## Package_check results ---- -* An automatic package_check will be launch at https://ci-apps-dev.yunohost.org/, when you add a specific comment to your Pull Request: "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!"* diff --git a/scripts/_common.sh b/scripts/_common.sh index 58131e6..c2e47ec 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,9 +4,9 @@ # COMMON VARIABLES #================================================= -YNH_PHP_VERSION="7.4" +YNH_PHP_VERSION="8.0" -extra_php_dependencies="php${YNH_PHP_VERSION}-fileinfo php${YNH_PHP_VERSION}-sqlite3 php${YNH_PHP_VERSION}-gd" +extra_php_dependencies="php${YNH_PHP_VERSION}-fileinfo php${YNH_PHP_VERSION}-sqlite3 php${YNH_PHP_VERSION}-gd php${YNH_PHP_VERSION}-json php${YNH_PHP_VERSION}-intl" #================================================= # PERSONAL HELPERS diff --git a/scripts/backup b/scripts/backup index 2d90ed5..2a2b65e 100644 --- a/scripts/backup +++ b/scripts/backup @@ -25,7 +25,7 @@ app=$YNH_APP_INSTANCE_NAME final_path=$(ynh_app_setting_get --app=$app --key=final_path) domain=$(ynh_app_setting_get --app=$app --key=domain) -phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) +phpversion=$YNH_PHP_VERSION #================================================= # DECLARE DATA AND CONF FILES TO BACKUP diff --git a/scripts/install b/scripts/install index ffbf659..5b5560f 100644 --- a/scripts/install +++ b/scripts/install @@ -83,7 +83,7 @@ ynh_script_progression --message="Configuring PHP-FPM..." --weight=3 # Create a dedicated PHP-FPM config ynh_add_fpm_config --package="$extra_php_dependencies" -phpversion=$(ynh_app_setting_get --app="$app" --key=phpversion) +phpversion=$YNH_PHP_VERSION #================================================= # MODIFY A CONFIG FILE