- generate_getting_started.py: remove text before doc-start anchor, add front matter and title in README.md
- version: move dlunch version from init.py to core.py
- update setuptools and openpyxl
- update conda env dependencies
- add button to change lunch time or takeaway option
- move notes from user to order
- move notes from user to menu items and adapt excel file to this change
- use config file to define note column name in every widget and excel table
- gui-config: fix major_release and women_day config files
- core.py: hide columns with details about single orders
- change text input source in widget to value_input
- gui.py: fix bug in TexInput widget from param that do not set value_input correctly
- core.py: fix error in note widget selection
- server/common.yaml: add keep alive and session timeout config values to server config file
- pn.extension: add ready and disconnect notification
- cli.py: fix error in drop table command (CLI)
- panel/gui/backup.yaml: add a gui theme for backup server
- panel/gui/major_release.yaml: improve gui theme for major release
- models.py: fix error in server default for date in stats table
- db/postgresql.yaml: fix error in stats query
- gui.py: improve columns layout in backend
- add flag to activate/deactivate database creation
- Dockerfile.web: remove reference to unofficial package repo
- move health endpoint from custom page to liveness endpoint
- add a banner shown when no menu is available
- main.py: add an /health endpoint
- add azure as oauth provider and improve config files to handle different auth approaches
- cli.py: fix error in version evaluation
- auth.py-is_basic_auth_active: fix error when returning the result of is_basic_auth_active
- fix reference to psw_special_chars
- package-name: change package name from data_lunch_app to dlunch
- core.py: change no_more_orders toggle button visibility and enabklement for guest users
- add flag that disable guest users' (i.e. unprivileged users) authorization
- move other info to user tab and add additional info (username and user group)
- gui.py: avoid guest users to store guest override flag in cache
- add retries when creating a database
- add support for postgresql as database manager
- add guest override toggle (frontend) and clear cache button (backend)
- add authorization callback
- add buttons to app header for logout/backend redirect in 'main' and exit redirect in 'backend' page
- implement authorized users and guests management through database tables
- improve web app behavior based on auth provider and improve code readability
- server-config-files: add a non authenticated config as default for server
- html-templates: add auth error template and improve login and logout templates
- add support for github oauth provider
- fix error in sidbar tabs refresh when using guest override and fix an error in other info text
- guest_override-cache: move guest override from cache to db and collect some sql related calls inside models.py's classes
- basic-auth: fix error that caused encrypted password to be saved for every guest user
- auth/default.yaml: fix error due to relocation of psw_special_chars
- fix missing schema in pandas.DataFrame.to_sql commands and add hydra args to command line
- main.py: add database initialization in main function for basic auth
- auth.py: fix error in current user retrieval for authorize callback function
- init.py: remove set panel config from backend (already in main.py)
- github_oauth.yaml: fix github auth provider to work with docker compose on localhost
- cloud.py: change get_bucket_list to get_gcloud_bucket_list
- refactor salad menu to use jinja
- change variables named 'auth_user(s)' to 'privileged_user(s)'
- move basic auth password and guest user config from panel to auth config file
- change all 'add_auth_user' in variables and function names to 'add_privileged_user'
- replaced hardcoded table names with reference to tables declared in models.py
- replace SQLAlchemy v1.x expressions with v2.x equivalent
- db-config-files: refactor config file to have a distinct config for sqlite driver
- change all reference to 'authorized user' in 'privileged user'
- move oauth redirect uri to DATA_LUNCH_OAUTH_REDIRECT_URI env variable
- server-config-files: rename default.yaml and basic_oauth.yaml
- guest_override: sidebar is not reloaded every time because sidebar tabs does not change with guest_override
- update sqlalchemy to v2.0.23
- cli.py: remove cache command group from command line
- gui.py: add icons to 'build menu' and 'download xlsx' buttons
- core.py: add number of people to excel file exported by download_dataframe
- move shared data folder creation to models.py
- move credentials from json file to database
- add backend dashboard for managing users credentials
- fix oauth_encryption_key and oauth_expiry usage
- remove scheduled task 'credentials upload'
- adapt gui and support code (cli, scripts, scheduled tasks) to the new credential system
- hotfix for guest user password problem
- fix encoding in password handling
- use BEGIN EXCLUSIVE transaction for setting the guest user password
- add set_guest_user_password function to set or reset guest user password
- move guest user password creation from main.py to init.py
- gui.py: remove rf string from guest password widget
- fix configuration for current directory, password special char and auth expiry
- move guest credentials from email to password tab
- auth.py: fix error in generated password length
- remove password escaping in email scripts
- add jinja template for ip and users emails
- create_users_from_lists.py: fix error in MIME object creation
- add credentials upload to scheduled tasks in panel config files
- add support for authenticated users and guests
- cloud.py: add upload from string and download as bytes to GCP platform support functions
- cli.py: add list users command to cli
- auth.py: add password generator, logout function and list user function
- cli.py: add authentication credentials management to the cli
- add simple authentication
- no_sched_clean.yaml: add panel config file with scheduled cleaning deactivated
- fix credentials.json path in config
- auth.py: move credentials.json into the folder shared_data
- login.html: fix title and favicon of login page
- update panel to version 1.0.4 introducing the shadow DOM approach for panel widgets
- gui.py: improve button flexbox and remove stretch from menu flexbox
- add config for major_release (gui) and a new favicon
- update environments to python 3.11 including a breaking change to panel library
- add upload database to gcp storage to config files
- gui.py: add anonymous crossorigin to fontawesome script
- remove unused gcp features and improve 'all' label in makefile
- add salad menu
- quotes.xlsx: add new quotes
- core.py: fix bug caused by takeaway orders under specific circumstances
- add special graphic configurations
- move graphic interface configurations to a dedicated sub-config file
- add flag for takeaway meals
- fix error in create_app logic
- gui.py: remove unused emoji html strings
- move all graphic elements to a dedicated module
- send_email_with_ip.py: improve script for email with vm external ip
- cli.py: add clean caches command to cli
- fix clean_tables functions and improve get_flag function
- init.py: fix import error
- move the 'no_more_orders' flag from pn.cache to a dedicated database table
- add custom favicon
- core.py: restore note row in tables with orders
- add font-awesome icons from js file
- remove unselected items from orders' tables
- fix scroll for large tables inside orders' section
- add compression to server response
- read docker image version from environment variable
- compose_init.sh: add escaped " to string
- compose_init.sh: add environment variable for DDNS url
- cli.py: add export and load commands for tables
- models.py: add defaults value also server-side (sqlite DDLs)
- panel/default.yaml: fix an error inside the query for stats table
- add icon in orders tables to highlight that an user is a guest
- add support for guest users
- init.py: group and improve custom css, force fixed with inside sidebar
- core.py: move create_session in reload_menu outside if statements
- add host info inside the stats tab
- compose_init.sh: fix error in cronjob command
- use pyproject.toml as config file for package build and fix cli.py
- default.yaml: fix error in stats query
- core.py: fix bug with stats table index and turn stats and order tables to non-editable
- core.py: fix error that ignored the "no more order" constraint if set by another user
- change widgets layout to improve performances
- server/development.yaml: remove threading
- add "stop orders" button to lock orders' table
- add notifications as replacement for messages inside modal window
- init.py: fix error in panel threading configuration
- .pre-commit-config.yaml: fix error in pre-commit config file
- core.py: fix error in check conditions for delete_order
- fix dockerfile forcing web:latest and delete orders in addition to user in delete_order
- fix errors in docker-compose.yaml and makefile
- remove print from cli.py and deactivate scheduled cleaning
- cli.py: add commands to command line interface
- add stats tab and famous quotes about food
- add notes and lunch time recap column
- send_email_with_ip.py: add script for emails with vm external ip
- compose_init.sh: add dhparams installation
- fix errors in makefile and compose_init.sh
- fix missing image extension (.jpeg) and download of empty order list
- add support for https and ssl certificates
- change container and load balancer port to 80
- db/production.yaml: fix error in shared_data path
- fix non-breaking error on makefile and production.yaml
- nginx.conf: change listen port to 8080
- makefile: fix error in run-it label
- add ocr to build_menu
- download the sqlite database from a bucket on google cloud storage
- improve scheduled tasks execution
- CPU_Memory_time.ipynb: fix error in df_info instantiation
- panel/default.yaml: change hour of scheduled_cleaning to 15
- add scheduled cleaning of menu files and database tables
- install data-lunch environment at os level
- core.py: fix error in call to read_excel
- conf/panel/default.yaml: add salads auto-inserted items
- core.py: fix non-relative path error in container
- models.py: fix minor bugs and add event listner
- add results table to main panel and a delete order button
- core.py: remove old functions
- add support for google cloud app engine
- makefile: fix errors in container names