diff --git a/README.md b/README.md index b7a1033..7c4a257 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Grocy is a web-based self-hosted groceries & household management solution for y ## Limitations -* Any known limitations. +:warning: For now, Grocy must be installed in a root domain or subdirectory. ## Additional information diff --git a/README_fr.md b/README_fr.md index 10f21e0..84993ce 100644 --- a/README_fr.md +++ b/README_fr.md @@ -23,10 +23,10 @@ Grocy is a web-based self-hosted groceries & household management solution for y ## Configuration - Default login - user: **admin** - password: **admin** - +Connexion par défaut + utilisateur : **admin** + mot de passe : **admin** + ## Documentation * Documentation officielle : Lien vers la documentation officielle de cette application. @@ -46,7 +46,7 @@ Grocy is a web-based self-hosted groceries & household management solution for y ## Limitations -* Limitations connues. +:warning: Pour l'instant, Grocy doit être installé dans un domaine racine ou un sous-domaine. ## Informations additionnelles diff --git a/conf/config-dist.php b/conf/config-dist.php index abc0b00..143cea9 100644 --- a/conf/config-dist.php +++ b/conf/config-dist.php @@ -1,140 +1,169 @@ BASE_PATH = /grocy +// When running grocy in a subdirectory, this should be set to the relative path, otherwise empty +// It needs to be set to the part (of the URL) after the document root, +// if URL rewriting is disabled, including index.php +// Example with URL Rewriting support: +// Root URL = https://example.com/grocy +// => BASE_PATH = /grocy +// Example without URL Rewriting support: +// Root URL = https://example.com/grocy/public/index.php/ +// => BASE_PATH = /grocy/public/index.php Setting('BASE_PATH', ''); -# The base url of your installation, -# should be just "/" when running directly under the root of a (sub)domain -# or for example "https://example.com/grocy" when using a subdirectory +// The base URL of your installation, +// should be just "/" when running directly under the root of a (sub)domain +// or for example "https://example.com/grocy" when using a subdirectory Setting('BASE_URL', '/'); -# The plugin to use for external barcode lookups, -# must be the filename without .php extension and must be located in /data/plugins, -# see /data/plugins/DemoBarcodeLookupPlugin.php for an example implementation +// The plugin to use for external barcode lookups, +// must be the filename without .php extension and must be located in /data/plugins, +// see /data/plugins/DemoBarcodeLookupPlugin.php for an example implementation Setting('STOCK_BARCODE_LOOKUP_PLUGIN', 'DemoBarcodeLookupPlugin'); -# If, however, your webserver does not support URL rewriting, set this to true +// If, however, your webserver does not support URL rewriting, set this to true Setting('DISABLE_URL_REWRITING', false); -# Specify an custom homepage if desired - by default the homepage will be set to the stock overview, -# this needs to be one of the following values: -# stock, shoppinglist, recipes, chores, tasks, batteries, equipment, calendar, mealplan +// Specify an custom homepage if desired - by default the homepage will be set to the stock overview page, +// this needs to be one of the following values: +// stock, shoppinglist, recipes, chores, tasks, batteries, equipment, calendar, mealplan Setting('ENTRY_PAGE', 'stock'); -# Set this to true if you want to disable authentication / the login screen, -# places where user context is needed will then use the default (first existing) user +// Set this to true if you want to disable authentication / the login screen, +// places where user context is needed will then use the default (first existing) user Setting('DISABLE_AUTH', false); -# Set this to true if you want to disable the ability to scan a barcode via the device camera (Browser API) +// Either "Grocy\Middleware\DefaultAuthMiddleware", "Grocy\Middleware\ReverseProxyAuthMiddleware" +// or any class that implements Grocy\Middleware\AuthMiddleware +Setting('AUTH_CLASS', 'Grocy\Middleware\DefaultAuthMiddleware'); + +// When using ReverseProxyAuthMiddleware, +// 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" +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" + +// 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); -# Set this if you want to have a different start day for the weekly meal plan view, -# leave empty to use CALENDAR_FIRST_DAY_OF_WEEK (see above) -# Needs to be a number where Sunday = 0, Monday = 1 and so forth +// Set this if you want to have a different start day for the weekly meal plan view, +// leave empty to use CALENDAR_FIRST_DAY_OF_WEEK (see above) +// Needs to be a number where Sunday = 0, Monday = 1 and so forth Setting('MEAL_PLAN_FIRST_DAY_OF_WEEK', ''); +// Default permissions for new users +// the array needs to contain the technical/constant names +// see the file controllers/Users/User.php for possible values +Setting('DEFAULT_PERMISSIONS', ['ADMIN']); -# 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 +// 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 -# Night mode related +// Night mode related DefaultUserSetting('night_mode_enabled', false); // If night mode is enabled always DefaultUserSetting('auto_night_mode_enabled', false); // If night mode is enabled automatically when inside a given time range (see the two settings below) -DefaultUserSetting('auto_night_mode_time_range_from', "20:00"); // Format HH:mm -DefaultUserSetting('auto_night_mode_time_range_to', "07:00"); // Format HH:mm +DefaultUserSetting('auto_night_mode_time_range_from', '20:00'); // Format HH:mm +DefaultUserSetting('auto_night_mode_time_range_to', '07:00'); // Format HH:mm DefaultUserSetting('auto_night_mode_time_range_goes_over_midnight', true); // If the time range above goes over midnight DefaultUserSetting('currently_inside_night_mode_range', false); // If we're currently inside of night mode time range (this is not user configurable, but stored as a user setting because it's evaluated client side to be able to use the client time instead of the maybe different server time) -# Keep screen on settings +// Keep screen on settings DefaultUserSetting('keep_screen_on', false); // Keep the screen always on DefaultUserSetting('keep_screen_on_when_fullscreen_card', false); // Keep the screen on when a "fullscreen-card" is displayed -# Stock settings +// Stock settings DefaultUserSetting('product_presets_location_id', -1); // Default location id for new products (-1 means no location is preset) DefaultUserSetting('product_presets_product_group_id', -1); // Default product group id for new products (-1 means no product group is preset) DefaultUserSetting('product_presets_qu_id', -1); // Default quantity unit id for new products (-1 means no quantity unit is preset) -DefaultUserSetting('stock_expring_soon_days', 5); +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_due_soon_days', 5); DefaultUserSetting('stock_default_purchase_amount', 0); DefaultUserSetting('stock_default_consume_amount', 1); +DefaultUserSetting('stock_default_consume_amount_use_quick_consume_amount', false); 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_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 -DefaultUserSetting('shopping_list_to_stock_workflow_auto_submit_when_prefilled', false); // Automatically do the booking using the last price and the amount of the shopping list item, if the product has "Default best before days" set +// Shopping list settings +DefaultUserSetting('shopping_list_to_stock_workflow_auto_submit_when_prefilled', false); // Automatically do the booking using the last price and the amount of the shopping list item, if the product has "Default due days" set DefaultUserSetting('shopping_list_show_calendar', false); -DefaultUserSetting('shopping_list_disable_auto_compact_view_on_mobile', false); -# Recipe settings +// Recipe settings DefaultUserSetting('recipe_ingredients_group_by_product_group', false); // Group recipe ingredients by their product group -# Chores settings +// Chores settings DefaultUserSetting('chores_due_soon_days', 5); -# Batteries settings +// Batteries settings DefaultUserSetting('batteries_due_soon_days', 5); -# Tasks settings +// Tasks settings DefaultUserSetting('tasks_due_soon_days', 5); -# If the page should be automatically reloaded when there was -# an external change +// If the page should be automatically reloaded when there was +// an external change DefaultUserSetting('auto_reload_on_db_change', true); -# Show a clock in the header next to the logo or not +// Show a clock in the header next to the logo or not DefaultUserSetting('show_clock_in_header', false); -# Component configuration +// Component configuration for Quagga2 - read https://github.com/ericblade/quagga2#configobject for details +// Below is a generic good configuration, +// for an iPhone 7 Plus, halfsample = true, patchsize = small, frequency = 5 yields very good results DefaultUserSetting('quagga2_numofworkers', 4); +DefaultUserSetting('quagga2_halfsample', false); +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 -# which you don't need to have a less cluttered UI -# (set the setting to "false" to disable the corresponding part, which should be self explanatory) +// 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 +// which you don't need to have a less cluttered UI +// (set the setting to "false" to disable the corresponding part, which should be self explanatory) Setting('FEATURE_FLAG_STOCK', true); Setting('FEATURE_FLAG_SHOPPINGLIST', true); Setting('FEATURE_FLAG_RECIPES', true); @@ -144,18 +173,16 @@ Setting('FEATURE_FLAG_BATTERIES', true); Setting('FEATURE_FLAG_EQUIPMENT', true); Setting('FEATURE_FLAG_CALENDAR', true); - -# Sub feature flags +// Sub feature flags Setting('FEATURE_FLAG_STOCK_PRICE_TRACKING', true); Setting('FEATURE_FLAG_STOCK_LOCATION_TRACKING', true); Setting('FEATURE_FLAG_STOCK_BEST_BEFORE_DATE_TRACKING', true); Setting('FEATURE_FLAG_STOCK_PRODUCT_OPENED_TRACKING', true); Setting('FEATURE_FLAG_STOCK_PRODUCT_FREEZING', true); -Setting('FEATURE_FLAG_STOCK_BEST_BEFORE_DATE_FIELD_NUMBER_PAD', true); // Activate the number pad in best-before-date fields on (supported) mobile browsers +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); - -# Feature settings -Setting('FEATURE_SETTING_STOCK_COUNT_OPENED_PRODUCTS_AGAINST_MINIMUM_STOCK_AMOUNT', true); // When set to false, opened products will not be considered for minimum stock amounts -Setting('FEATURE_FLAG_AUTO_TORCH_ON_WITH_CAMERA', true); // Enables the torch automaticaly in every camera barcode scanner. +// 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) diff --git a/manifest.json b/manifest.json index 44e66c0..84584d6 100644 --- a/manifest.json +++ b/manifest.json @@ -29,17 +29,7 @@ "en": "Choose a domain name for Grocy", "fr": "Choisissez un nom de domaine pour Grocy" }, - "example": "example.com" - }, - { - "name": "path", - "type": "path", - "ask": { - "en": "Choose a path for Grocy", - "fr": "Choisissez un chemin pour Grocy" - }, - "example": "/", - "default": "/" + "example": "grocy.example.com" }, { "name": "language",