Commit Graph

354 Commits

Author SHA1 Message Date
Tim Gröger 8fb74358e7 [pricelist] add serverside filtering for getDrinks 2021-11-13 13:23:04 +01:00
Tim Gröger 26a00ed6a6 [pricelist] add serverside pagination of drinks 2021-11-12 22:09:16 +01:00
Ferdinand Thiessen 974af80a9b [db] Fix warnings and fix readme 2021-11-12 11:34:42 +01:00
Tim Gröger ff13eefb45 Merge branch 'develop' into feature/pricelist 2021-11-11 19:49:43 +01:00
Ferdinand Thiessen 80f06e483b [auth_ldap] modify_role has to be called before the update to change it on the backend 2021-11-11 15:23:11 +01:00
Ferdinand Thiessen f80ad5c420 [auth_ldap] Fix typo in __init__ 2021-11-11 15:23:11 +01:00
Ferdinand Thiessen 4e1799e297 [auth_ldap] Allow more configuration
* Allow configuring the password hash (SSHA, PBKDF2 or Argon2)
* Allow setting custom dn templates for users and groups to e.g. allow "ou=people" or "ou=user"
* Allow setting custom object class for entries
* Stop using deprecated openssl constants
2021-11-11 15:23:11 +01:00
Ferdinand Thiessen f7e07fdade [events] Hotfix: delete an event with registered jobs 2021-11-11 15:22:55 +01:00
Ferdinand Thiessen 3d833fb6af [plugin] Plugins should have an unique ID 2021-11-11 15:22:15 +01:00
Ferdinand Thiessen 2dabd1dd34 [events] Fix deleteing an event 2021-11-11 12:23:45 +01:00
Ferdinand Thiessen cadde543f2 [plugins] Improved handling of plugin loading errors 2021-08-30 14:39:54 +02:00
Tim Gröger 4e46ea1ca3 [balance] add get and modify limits for all users 2021-08-09 10:06:51 +00:00
Tim Gröger 0d1a39f217 [balance] add sorting of transaction 2021-08-09 10:06:51 +00:00
Ferdinand Thiessen 7129469835 [roles] MySQL is caseinsensitive for strings so workaround it for renaming roles 2021-07-29 17:18:01 +02:00
Tim Gröger e7b978ae3c better drink dependency
drink_ingredient has name and cost_per_volume
Flaschengeist/flaschengeist-pricelist#2
2021-06-30 10:45:41 +02:00
Ferdinand Thiessen 7928c16c07 [db] Try mysqlclient first, maybe the user managed to get it working on Windows 2021-05-27 01:52:30 +02:00
Ferdinand Thiessen 7b5f854d51 [db] Support sqlite and postgresql as engine, fixes #5
mysql / mariadb still is the only tested configuration.
This will break existing databases, as UTF8MB4 is enforced for
mysql (real UTF8).
2021-05-27 01:27:53 +02:00
Ferdinand Thiessen 8696699ecb [run_flaschengeist] Improved export command
Export now supports --no-core flag, if set no core models will
get exported.
Also --plugins was changed to support a list of plugins,
if no list is given the old behavior is taken (export all plugins).
If a list of plugins is given, only those plugins are exported.
2021-05-26 16:47:03 +02:00
Tim Gröger 96e4e73f4b [users] add dynamic shortcuts for users 2021-04-18 23:28:05 +02:00
Tim Gröger 3da2ed53d5 [pricelist][#6] save order of pricelist columns for user 2021-04-17 18:27:14 +02:00
Tim Gröger f5624e9a7d [pricelist] add user options pricelist_view 2021-04-15 22:55:41 +02:00
Tim Gröger 2d31cda665 Revert "[pricelist] delete visibleColums"
This reverts commit 2d45c0dab9.

Conflicts:
	flaschengeist/plugins/pricelist/__init__.py
2021-04-15 22:05:34 +02:00
Tim Gröger 2da0bb1683 Merge remote-tracking branch 'origin/develop' into feature/pricelist 2021-04-15 15:36:00 +02:00
Tim Gröger 0630b5183d [pricelist] fix bug set no volumes are set 2021-04-15 15:23:37 +02:00
Tim Gröger 32ad4471c6 [pricelist] black code 2021-04-14 22:43:28 +02:00
Tim Gröger 1d36c3ef6c [pricelist] add more permissions 2021-04-14 22:42:57 +02:00
Tim Gröger 2d45c0dab9 [pricelist] delete visibleColums 2021-04-14 20:11:23 +02:00
Tim Gröger 62948cd591 [picture][fix] any size for thumbnail 2021-04-14 20:03:44 +02:00
Ferdinand Thiessen 03aa7a3231 [roles] controller: Fixed setting permissions 2021-04-04 21:46:51 +02:00
Tim Gröger 5c688df392 [pricelist][tags] change model of tags, fixed tags on updateDrink 2021-04-01 22:45:28 +02:00
Tim Gröger 15c7a56d56 [pricelist] receipt as list of strings 2021-03-29 22:34:05 +02:00
Tim Gröger bcf1941a81 [pricelist] fix some merge issues 2021-03-29 21:28:48 +02:00
Tim Gröger b2d8431697 [pricelist][fix] add permission to plugin 2021-03-29 20:26:15 +02:00
Tim Gröger 3a4e90f50e Merge remote-tracking branch 'origin/develop' into feature/pricelist 2021-03-29 12:50:04 +02:00
Tim Gröger faf5b0b8d0 [pricelist] add receipts 2021-03-29 12:41:29 +02:00
Ferdinand Thiessen c3aeeea2ce [events] Fixed permissions names 2021-03-29 07:33:20 +02:00
Ferdinand Thiessen 775e775e89 [core][plugin] Added Notifications, restructure plugins 2021-03-29 07:32:58 +02:00
Ferdinand Thiessen 544ae6a3fe [pricelist] Fixed warnings 2021-03-28 23:14:03 +02:00
Tim Gröger e8c9c6e66c [pricelist][drinks] return only public drinkprices if not logged in 2021-03-28 16:41:20 +02:00
Tim Gröger 2ae8bc7e0c [pricelist][picture] delete picture, if not found 2021-03-28 12:47:02 +02:00
Tim Gröger 6fce88c120 [pricelist] now can delete pictures, add no-image 2021-03-25 23:05:17 +01:00
Tim Gröger 6dbb135621 [pricelist] delete picture (not ready yet) 2021-03-25 20:32:21 +01:00
Ferdinand Thiessen da94acf18c [events] More rename 2021-03-25 01:38:24 +01:00
Ferdinand Thiessen 05aba1161b [config] Connect with pymysql on Windows 2021-03-25 01:19:37 +01:00
Ferdinand Thiessen 6cf33976b3 [events] Changed routes 2021-03-24 20:47:04 +01:00
Ferdinand Thiessen 7d692c5f68 [chore] cleanup 2021-03-24 18:37:53 +01:00
Ferdinand Thiessen 1550be5da6 [app] Secure plugin loading 2021-03-24 17:09:42 +01:00
Tim Gröger dca890dad9 [pricelist] save and load pictures 2021-03-22 23:17:44 +01:00
Tim Gröger eb1e146da9 [utils] picture creator 2021-03-22 23:17:26 +01:00
Tim Gröger b98bae337d [pricelist] add modify settings, fixed update drinks 2021-03-21 22:06:24 +01:00
Ferdinand Thiessen b60c405f76 [events] Improved event plugin 2021-03-21 00:55:50 +01:00
Ferdinand Thiessen 4cd353cf4e Renamed schedule to events, added recurring events and invites 2021-03-20 17:24:14 +01:00
Tim Gröger e31c5756a6 [pricelist][break] some cleanup, removed unneccessary api 2021-03-20 15:01:18 +01:00
Ferdinand Thiessen 02959587e1 [plugin] schedule: Allow ID for types (e.g. creating new events) 2021-03-20 01:00:55 +01:00
Ferdinand Thiessen a476e4f5b1 [cleanup] Fixed member names
* Use _name only for protected members (should not be used outside the
class
* Use name_ instead for all members which should not be API exported
2021-03-19 22:40:36 +01:00
Ferdinand Thiessen cb342c07e8 [Models] Fixed optional detection 2021-03-19 18:17:59 +01:00
Ferdinand Thiessen d6475604e9 Merge branch 'pluginify' of groeger-clan.duckdns.org:newgeruecht into pluginify 2021-03-19 02:04:04 +01:00
Tim Gröger 8dc2defe02 [pricelist] persistent save for visible columns in pricecalculation 2021-03-18 22:34:18 +01:00
Tim Gröger d5ba1f023e [pricelist] fixed circula issue 2021-03-18 17:26:02 +01:00
Ferdinand Thiessen fb8371afb9 [chore] Minor cleanup 2021-03-18 13:03:34 +01:00
Ferdinand Thiessen 85f83f46d5 [Script] Enhanced and added future compatibility for API export.
* Python >= 3.9 required for API export.
2021-03-18 13:02:16 +01:00
Ferdinand Thiessen 900b5efff5 [chore] Minor cleanup 2021-03-18 12:20:17 +01:00
Ferdinand Thiessen 466efcf9e7 [System] New annotation format for future compatibility 2021-03-18 11:52:51 +01:00
Tim Gröger 26e82f02d6 [pricelist] add, modify and delete for extra ingredients 2021-03-17 22:49:54 +01:00
Tim Gröger 642d95b2a5 [pricelist] finish drinks, can add, modify and delete 2021-03-17 21:36:51 +01:00
Tim Gröger 5e0e5edf6f [pricelist] new api to add, delete and modify ingredients 2021-03-16 23:27:54 +01:00
Tim Gröger 0b60c27f32 [pricelist] fixed set volumes 2021-03-16 18:11:04 +01:00
Tim Gröger e26b7b8c96 [pricelist] first step to add, modify and delete volumes 2021-03-15 23:53:21 +01:00
Tim Gröger df1610557f [pricelist] break api, new model 2021-03-15 19:56:51 +01:00
Ferdinand Thiessen c3c35e2a6a [Plugin] auth_ldap: Fixed searching for non existing user 2021-03-14 15:53:14 +01:00
Ferdinand Thiessen 919a31bede [System] Fixed plugin loading 2021-03-14 15:11:09 +01:00
Ferdinand Thiessen 1b29e602f1 [System][Plugin] Added plugin settings 2021-03-14 12:56:04 +01:00
Tim Gröger 5826ec7a00 [fix] ldap user right secret 2021-03-07 13:29:43 +01:00
Ferdinand Thiessen f9ac002b53 [Plugin] auth_plain: Create admin user if installed and no users exist. 2021-02-18 12:58:20 +01:00
Ferdinand Thiessen 251648e9a4 [System] plugins can register a post install routine, for e.g. filling the database. 2021-02-18 12:58:20 +01:00
Ferdinand Thiessen 24418f5bcb [System] Models: Do not export optional, not set, parameters. 2021-02-14 19:11:39 +01:00
Tim Gröger a6a1de19de [pricelist] first commit for pricelist plugin 2021-02-13 14:13:46 +01:00
Tim Gröger 29157dbc03 [config] add port-config for database 2021-02-10 21:21:53 +01:00
Ferdinand Thiessen 06237754f1 [System][Plugin] moved decorator 2021-02-10 17:40:47 +01:00
Ferdinand Thiessen e7efa53071 [Plugin] Schedule: Allow retraction of service 2021-02-07 16:33:48 +01:00
Ferdinand Thiessen ed361a7361 [System] Fixed some minor python warnings 2021-02-07 14:38:29 +01:00
Ferdinand Thiessen 791656147e [Plugin] balance: Raise conflict if limit exceeded. 2021-02-04 03:32:49 +01:00
Ferdinand Thiessen 2daa79ee15 [Plugin] user: Added permissions to model 2021-02-04 03:32:16 +01:00
Ferdinand Thiessen 1246ce50fd [Plugin] Balance: Route and method to query all balances. 2021-01-29 23:28:43 +01:00
Ferdinand Thiessen b46e93fd26 [System] UserController: Passwords should be strings
* Even the inital dummy password
2021-01-29 23:01:13 +01:00
Ferdinand Thiessen 13e0d60d8e [Plugin] Balance: Simplified get_balance 2021-01-29 21:19:32 +01:00
Ferdinand Thiessen 06a806da3d [Plugin] Balance: Allow filtering reversals and cancelled transactions 2021-01-29 21:06:46 +01:00
Ferdinand Thiessen d1157f0f37 [Plugin] Balance: Return Transaction count when using limit parameter for pagination 2021-01-29 20:08:34 +01:00
Ferdinand Thiessen 2bbc4898e7 [Plugin] Schedule: Added end as Event attribute 2021-01-29 20:07:41 +01:00
Ferdinand Thiessen 862bafbbd3 [Plugin] balance: Fixed transaction filter issue, fixed reverse
* Filter by end now filters correctly
* Reverse a transaction will now return correct reversal transaction
2021-01-29 01:25:30 +01:00
Ferdinand Thiessen 708a45d43c [Plugin] balance: Added function and route for list of transactions 2021-01-29 01:09:06 +01:00
Ferdinand Thiessen 7ccae7e888 [Plugin] balance: Changed model
* serialize Transaction with reversal and original Transaction IDs
2021-01-29 01:08:31 +01:00
Tim Gröger 7c0d609b80 change return of set_lifetime os session
sry i've not configured black to line_width=120
2021-01-27 13:52:12 +01:00
Ferdinand Thiessen 9eca15d036 [Plugin] balance: Fix with reversed transaction and improvement on shortcuts.
* Raise exception if transaction is already reversed.
* Sort shortcuts
2021-01-27 02:36:07 +01:00
Ferdinand Thiessen ba25d6177a [Plugin] auth_ldap: Fixed exception if no avatar is set on backend. 2021-01-27 02:34:04 +01:00
Ferdinand Thiessen a4a9d05a31 [Plugin] schedule: Fixed set JobType by JSON. 2021-01-26 22:25:30 +01:00
Ferdinand Thiessen a8c7ddae3d [Plugin] schedule: Fix create event with EventType Object 2021-01-26 21:32:13 +01:00
Ferdinand Thiessen 2ca8d3b324 [Config] Added missing file 2021-01-25 13:14:02 +01:00
Ferdinand Thiessen 5b57278721 [Plugin] schedule: Fixed invalid routes. 2021-01-25 13:10:28 +01:00
Ferdinand Thiessen 94ffc706e7 [System] config: Read default config.
* Config file in module path is the default config, this allows simpler user configs.
* Default values also for test configuration
2021-01-25 13:09:20 +01:00
Ferdinand Thiessen 30305c26cc [Plugin] Schedule: Identify EventTypes by ID not name 2021-01-24 16:20:25 +01:00
Tim Gröger 9bbae33e4c change response of events 2021-01-23 16:08:14 +01:00
Tim Gröger a0d1567b3c Merge branch 'pluginify' of groeger-clan.duckdns.org:newgeruecht into pluginify 2021-01-23 09:32:20 +01:00
Tim Gröger 4a13d3ceb1 fixed issue that on register_user the birthday can be set 2021-01-23 09:31:31 +01:00
Ferdinand Thiessen 94aac573e6 [System] Allow setting a test configuration for unit tests. 2021-01-23 02:17:14 +01:00
Tim Gröger fe7166686d fixed issue for user_avatar if userid is not set 2021-01-22 17:03:11 +01:00
Ferdinand Thiessen 125ba1be78 [Plugin] users: Fixed installation of permissions and added documentation. 2021-01-22 14:11:16 +01:00
Ferdinand Thiessen c4b80f27ee [Plugin] balance: Fixed shortcut data type check 2021-01-22 00:17:51 +01:00
Ferdinand Thiessen 826893e42e [Plugin] balance: Allow saving shortcuts 2021-01-21 20:24:10 +01:00
Ferdinand Thiessen bdbb2d3e45 [Plugin] balance: Do not provide default values for frontend, split this to the frontend project 2021-01-21 14:08:45 +01:00
Ferdinand Thiessen 69ec4472c3 [System][Plugin] users: Send users a link to set their own password and initially set random password 2021-01-21 14:08:06 +01:00
Ferdinand Thiessen f42d5956db [Plugin] balance: Added shortcuts configuration for balance 2021-01-20 15:21:33 +01:00
Ferdinand Thiessen aeadc78acc [System][Plugin] auth: Using find_user for password reset, fixes #443
* find_user will also search auth backend for user, so password recovery will also work if user was never logged in on Flaschengeist.
2021-01-19 03:30:49 +01:00
Ferdinand Thiessen 68512a9851 [Plugin] auth_ldap: Implemented find_user
* Search for user inside of auth backend
2021-01-19 03:29:26 +01:00
Ferdinand Thiessen d0db878a5c [Plugin] auth_ldap, balance: Some minor reformatting 2021-01-18 18:31:13 +01:00
Ferdinand Thiessen 7ec37914a1 [System] Send welcome and password-changed notifications, allow custom text per config file 2021-01-18 18:05:10 +01:00
Ferdinand Thiessen 049b64ffd5 [Plugin] auth: Implemented REST endpoint for password reset 2021-01-18 16:18:16 +01:00
Ferdinand Thiessen 1f93bc6d80 [System] Implemented password reset function in user controller 2021-01-18 16:17:40 +01:00
Ferdinand Thiessen 559c8c5c9c Implemented function to delete all active sessions of an user 2021-01-18 16:12:11 +01:00
Ferdinand Thiessen 23268f6557 Fixed hook for mail sending 2021-01-18 16:11:44 +01:00
Ferdinand Thiessen a9970bec5b Allow mail as login name. Implemented #428 2021-01-14 19:09:01 +01:00
Ferdinand Thiessen 991ffb2766 [Plugin]balance: Fixed typo in function name and fixed db model 2020-11-25 20:35:11 +01:00
Tim Gröger 4534d0ff15 Revert "[Avatar] Fix, sodass korrekte url rausgegeben wird."
This reverts commit 1b1dd8d7a7.
2020-11-20 20:21:47 +01:00
Tim Gröger 1b1dd8d7a7 [Avatar] Fix, sodass korrekte url rausgegeben wird. 2020-11-20 20:16:08 +01:00
Ferdinand Thiessen 4b2cb56fbe [System] Fix issue with avatar in userController 2020-11-18 03:18:52 +01:00
Ferdinand Thiessen 57930837ac [Plugin] balance: Added reverting feature 2020-11-18 02:55:31 +01:00
Ferdinand Thiessen 737dd9d5cf [Plugin]auth: Fixed possible issue with POST paramenters on login 2020-11-18 02:48:44 +01:00
Ferdinand Thiessen 4a4930d683 [Plugin] Schedule: Mostly final backend implemented. Tested. 2020-11-18 02:47:40 +01:00
Ferdinand Thiessen 6612a84cd3 [System] avatar URL needs to be generated as path might change 2020-11-18 01:56:33 +01:00
Ferdinand Thiessen 2d6b86e2eb [System][Plugin] Improved Hooks, roles and auth_ldap improvements
* Hooks now allow multiple hooked functions
* Hooks can now be called before and after a function call
* Fixed issue in datetime util when string is None or empty
* Roles: Return new created role as json
* auth_ldap: Use new Hooks
* auth_ldap: Fixed an issue where ldap response is not checked (when role gets renamed)
2020-11-18 00:39:25 +01:00
Ferdinand Thiessen 58e121473b Fixed avatar URL 2020-11-17 17:46:07 +01:00
Ferdinand Thiessen 88ff46c193 [Plugin] auth_plain: Implemented Avatar 2020-11-17 03:32:47 +01:00
Ferdinand Thiessen 28865649b4 [Plugin] Use plugin function instead of HookCall 2020-11-17 03:28:04 +01:00
Ferdinand Thiessen 39a259a693 [Plugin] roles: New permission needed for deleting roles 2020-11-16 14:21:19 +01:00
Ferdinand Thiessen 09c7f4a258 [Plugin] auth_ldap: Use Pillow to convert avatar if installed 2020-11-16 13:35:23 +01:00
Ferdinand Thiessen a270857c41 [Plugin]users, auth_ldap: Implemented avatar 2020-11-16 02:30:24 +01:00
Ferdinand Thiessen 9409533f7c [Plugin] Users: Allow roles in data if not changed. 2020-11-15 19:44:49 +01:00
Ferdinand Thiessen 602e1bc941 [System] Detect offline database 2020-11-15 18:53:46 +01:00
Ferdinand Thiessen 1d36aa4033 [Script][System] Added date as export format and added birthday as user attribute 2020-11-15 15:52:20 +01:00
Tim Gröger 04753e9a41 [Role] Fix Rolerename
Wenn gleicher name mitgesendet wird, wird die umbenennung nicht durchgeführt.
2020-11-15 14:19:59 +01:00
Tim Gröger c7642758ed [LDAP] editieren von bestehenden rollen. 2020-11-15 01:21:32 +01:00
Tim Gröger 2365f07588 [auth_ldap] lösche nicht benutzte gruppen im ldap
benötigt eine neue konfiguration des ldaps. Maingruppen dürfen nicht in der gleichen organisationunit wie alle anderen rollen sein.
2020-11-14 13:18:17 +01:00
Ferdinand Thiessen f9a873d303 [System] Fixed typo 2020-11-13 08:24:25 +01:00
Ferdinand Thiessen 2e77855fe9 [System] Fixed HTTP status when user has insufficient permission 2020-11-13 03:57:23 +01:00
Ferdinand Thiessen cbcd5b39a3 [Plugin] Added plugin function when roles are modified
LDAP: Use same config style as the rest.
2020-11-13 01:20:25 +01:00
Tim Gröger 96765ee932 [LDAP] Neue Rollen werden hinzugefügt 2020-11-12 23:42:03 +01:00
Tim Gröger 65af9ab367 [LDAP] Rollen updaten
* LDAP-Rollen werden geupdatet, wenn User geändert wird
* LDAP-Rollen werden geupdatet, wenn eine neue Person hinzugefügt wird.
2020-11-12 22:47:10 +01:00
Ferdinand Thiessen 90f5267a36 [Controller] Fixed bug in registration, thanks @crimsen 2020-11-12 21:53:38 +01:00
Tim Gröger 0f64c718f5 [System] Usermodel geändert
* firstname und lastname nun 50 Zeichen lang
* email 60 zeichen lang
2020-11-12 19:30:18 +01:00
Tim Gröger 130774e665 [LDAP] User können erstellt werden.
* erstelle neuen user im ldap (ohne rollen)
2020-11-12 19:29:24 +01:00