Commit Graph

451 Commits

Author SHA1 Message Date
Igor Scheller 5b8805f884 Moved OAuth2 event helper and added tests 2022-12-13 22:46:16 +01:00
Igor Scheller 7f78f59840 Added UserAngelType model 2022-12-13 22:46:16 +01:00
Igor Scheller 99e7a088b0 Use PHP 8.2 for builds and fixed warning in email validation rule 2022-12-13 22:03:08 +01:00
Igor Scheller b4402a5b59 Update PHP dependencies (major version bumps) 2022-12-13 22:03:08 +01:00
Igor Scheller 6c4e92baf2 Bump minimum PHP version to 8.1 and update packages 2022-12-13 22:03:08 +01:00
Thomas Rupprecht ce0ac6f823
Use specific ID parameter names in routes (#1023) 2022-12-11 18:01:34 +01:00
Igor Scheller 31afc07d22 Ignore code coverage (parent::boot is not registered) 2022-12-08 19:23:44 +01:00
Igor Scheller 6686d58c06 Implemented AngelTypes model 2022-12-08 18:35:22 +01:00
frischler bdc62eaac3
Worklog Refactoring 2022-12-08 17:40:24 +01:00
Michael Weimann 9396a49412 Add phpstan 2022-12-08 16:32:04 +01:00
Thomas Rupprecht 0e3d47f2e1
replace md5 with random_bytes and use 64 chars for api_key 2022-12-08 15:57:13 +01:00
Joshua Bachmeier 6917f7805b Add support for oauth scopes
As defined in RFC6749:
* https://www.rfc-editor.org/rfc/rfc6749#section-4.1.1
* https://www.rfc-editor.org/rfc/rfc6749#section-3.3

Scopes can be configured per-provider in engelsystem config.
2022-12-02 15:35:10 +01:00
Joshua Bachmeier 44821019b6 Add error handling to oauth provider response processing 2022-12-02 15:35:10 +01:00
Igor Scheller 992e708276 Replaced ShiftTypes with shift_types / ShiftType model 2022-11-27 14:17:02 +01:00
Igor Scheller 99afe3f651
Permissions refactoring
* Migration: Added groups, privileges, user_groups, group_privileges, improved references
* Models: Added Group, Privilege and integrated it into User
* Replaced old permission handling with new models
2022-11-06 12:41:52 +01:00
frischler 35815b0838 Settings Modernization: Applied suggested changed from #972 2022-11-01 16:55:23 +01:00
frischler dba7bc29f9 Settings Modernization: Added mobile_show setting to /settings/profile page. 2022-11-01 16:55:23 +01:00
frischler 63f1c12429 Settings Modernization: Refactoring
Settings Modernization: Fixing Date issue

Settings Modernization: Reroute

Settings Modernization: Reroute settings to /settings/profile, Cleanup and Refactoring
2022-11-01 16:55:23 +01:00
frischler d6899d37d9 Settings Modernization: Applying buildup and teardown time, add localization 2022-11-01 16:55:23 +01:00
frischler 203531629f Settings Modernization: Creating /settings/profile page with Controller methods and tests 2022-11-01 16:55:23 +01:00
Igor Scheller 4d9f4694ae Groups: Fix naming and update IDs 2022-10-22 17:49:20 +02:00
Michael Weimann a81992ca04
Add countdowns to /design 2022-10-22 17:11:55 +02:00
Xu 2391415969 make session lifetime configurable 2022-10-21 19:42:10 +02:00
Xu f9da096308 add option to show mobile number of user in users view 2022-10-18 22:06:08 +02:00
Xu 4d6da1894a added dect option for rooms 2022-10-18 21:22:37 +02:00
Igor Scheller 7cd4befdfa Refactored shift entry deletion: Use event for notification and worklog creation 2022-10-14 16:27:51 +02:00
Igor Scheller 870a92efd5 Move NightShiftMultiplier calculation to Shifts helper 2022-10-14 16:27:51 +02:00
Igor Scheller 20e389fccd k8s: Use traefik as default ingress, added improved app url handling to support subpath deployments 2022-10-14 13:36:11 +02:00
Michael Weimann 29aec8d72f Fix barchart division by 0 error 2022-07-18 19:33:58 +02:00
Michael Weimann 006dde9d8e Add SlevomatCodingStandard.Variables.UnusedVariable 2022-07-11 23:30:41 +02:00
Michael Weimann 1277f8f96f Replace chart-js with backend rendering
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>
2022-07-11 23:30:41 +02:00
frischler 8380536055 Settings language handled in SettingsController 2022-06-30 14:05:46 +02:00
Xu 05e94bbfee add config option and permission for food voucher 2022-06-17 20:55:16 +02:00
frischler 3043a9512a Settings themes handled in SettingsController 2022-06-14 13:34:01 +02:00
Igor Scheller bb49b308fb Generate UUID as shifts transaction id and fixed translation 2022-06-12 17:02:19 +02:00
Igor Scheller 96277dcfc4 Added transaction id to shifts for bulk deletion 2022-06-12 17:02:17 +02:00
Igor Scheller 743a79ceea Replace model data access workaround with twigbridge patch 2022-06-10 12:45:24 +02:00
Igor Scheller d9e4bf3cac Unified message display, scroll to newest after sending or deleting 2022-06-06 16:12:47 +02:00
Igor Scheller 9e5f0ff854 Use pronoun for other pages too, a bit more cleanup 2022-06-06 16:12:47 +02:00
Igor Scheller 7acd34ba74 Added unread messages as global var 2022-06-06 16:12:47 +02:00
frischler 865873c099 Enabled to write messages to myself 2022-06-06 16:12:47 +02:00
frischler 71d183df01 Applied changes as suggested in https://github.com/engelsystem/engelsystem/pull/915 2022-06-06 16:12:47 +02:00
frischler 2c0d516578 Improved Messages UI and shrinking includes/user_messages.php 2022-06-06 16:12:47 +02:00
Igor Scheller d690d64d0e /metrics: Add newline at the end to be spec compliant
Fixes #909: Error trying to parse /metrics

See also https://prometheus.io/docs/instrumenting/exposition_formats/#text-format-details
2022-05-11 00:25:20 +02:00
Igor Scheller b842466b3a Added assets hashing after build, added favicon 2022-04-29 22:26:58 +02:00
Michael Weimann 66e7a3e183 Add unused imports phpcs rule 2022-04-19 23:33:44 +02:00
Michael Weimann c4b2fbda1a Remove date/time pickers 2022-04-19 23:33:44 +02:00
Igor Scheller 4b77290134 CI: Fix k8s deployment when commit message contains a # or \, add more app dirs to whoops handler 2022-04-18 14:32:36 +02:00
Igor Scheller d8076abc38 Make password enabled configurable via oauth settings 2022-03-20 18:29:51 +01:00
Igor Scheller 8fd2d5bfa5 Allow empty password in settings 2022-03-20 18:29:51 +01:00
Igor Scheller b345bf4ea7 Fix metrics and notifications when sql_mode is only_full_group_by (since MySQL 5.7/8.0) 2022-03-20 15:32:44 +01:00
Tobias Wiese e361400f68 news: remove html support
Since the support for markdown in news the html feature isn't really
necessary any more.
2022-01-01 16:33:40 +01:00
Tobias Wiese 9db8773150 markdown: let Parsedown escape content
Letting Parsedown escape the content, instead of calling
htmlspecialchars provides more context to the escape process.
For example the ampersand character can now be used in markdown links as
part of the url without breaking.
2022-01-01 16:33:40 +01:00
Igor Scheller 82486065e4 Disable mail logger 2021-12-30 14:29:14 +01:00
Igor Scheller 6a79aaeeaa Replaced swift mailer with symfony mailer 2021-12-29 22:28:12 +01:00
Igor Scheller 11c3a762b8 Remove space from email subjects 2021-12-29 17:12:19 +01:00
Igor Scheller 46d6ada728 Update composer packages and bump php version to 7.4 2021-12-29 17:12:19 +01:00
Igor Scheller 676a2113b4 Added User\License model 2021-12-29 17:12:19 +01:00
Igor Scheller 8d436d988a More PHP 8.1 fixes to be compatible 2021-12-29 11:00:02 +01:00
Igor Scheller a95fc0fbd1 Models: Use explicit casts and default attribute values 2021-12-29 11:00:02 +01:00
Igor Scheller f1531ad987 Added [more] tag to news 2021-12-12 13:23:01 +01:00
Igor Scheller 26ab0619f5 OAuth: Allow nested info attributes 2021-12-12 12:34:43 +01:00
Igor Scheller 8256b9d6bd Hide oauth from profile and settings page if not configured / should be hidden 2021-12-12 12:34:43 +01:00
Igor Scheller 2d45e04a90 Added option to allow sso account creation even if public registration is disabled 2021-12-12 12:34:43 +01:00
Igor Scheller 1ba4b57eac Added OAuth2 SSO login group mapping 2021-12-12 12:34:43 +01:00
Igor Scheller dc0cf101b2 Moved gdpr goodie mail opt in to own configurable option
Co-authored-by: Michael Weimann <mail@michael-weimann.eu>
2021-12-04 11:58:06 +01:00
Igor Scheller 2cfce86e25 Fixed formatting 2021-10-23 17:19:49 +02:00
Igor Scheller 657b44f9cf Redirect back from login after 403 (Not authorized) 2021-10-23 17:13:46 +02:00
msquare ca8f851ab1 user shirt edit: finetuning shirt edit view and logs 2021-10-23 17:04:19 +02:00
Igor Scheller 5c90a1ef37 Added shirt edit view 2021-10-23 17:04:19 +02:00
Igor Scheller 4825c2de2b Fixed test coverage and naming 2021-08-17 15:22:22 +02:00
Igor Scheller f201b2f1c8 Merge branch 'feature-bootstrap5'
# Conflicts:
#	package.json
#	tests/Unit/Renderer/Twig/Extensions/GlobalsTest.php
#	webpack.config.js
#	yarn.lock
2021-08-17 14:26:28 +02:00
Igor Scheller e0eeee013e
Fix secondary color on dark themes and theme 7 secondary buttons, formatting 2021-08-16 18:02:06 +02:00
Michael Weimann 98e9af8b8d
handle non-existing theme in user setting 2021-08-16 18:02:04 +02:00
Igor Scheller f7b9f59d95 OAuth: Compare strings so that numeric IDs can be used 2021-08-14 15:29:05 +02:00
Igor Scheller a8e012be72 Make news comments deletable 2021-08-08 19:11:16 +02:00
Igor Scheller ff8adafd33 Added more factories 2021-08-08 18:31:33 +02:00
Igor Scheller ec355d40f5 Added user related factories 2021-08-08 18:31:33 +02:00
Igor Scheller 7917e32f3e
Fixed api key toggle driver license config display and dashboard 2021-07-29 20:01:17 +02:00
Igor Scheller 19fc114cf7
Added ?theme parameter to temporary change theme 2021-07-29 20:01:10 +02:00
Michael Weimann 5f7fcb9018
make all themes basically working with bs5
Signed-off-by: Michael Weimann <mail@michael-weimann.eu>

migrate buttons and badges

Signed-off-by: Michael Weimann <mail@michael-weimann.eu>

upgrade bootstrap, fix devtool

remove postcss-preset-env

remove npm-run-all

add theme info to design

add theme configs for 2-15

make all themes compile

fix node env in script

refactor theme config

make all themes basically working

fix sass 3rd party warnings

replace slash div by math.div
2021-07-29 20:00:54 +02:00
Igor Scheller 4ff44d141c Translator: Fix values handling when array keys are set
Fixes #820 (Password recovery not working)
2021-07-11 00:51:30 +02:00
Igor Scheller 3912b4e93e Set initial admin password if configured
Resolves #806 (Allow admins to configure the initial password of the admin user)
Closes #809 PR (Allow to configure initial admin pw)
2021-05-24 15:41:16 +02:00
Xu cb2ec5457e stats: added pronoun 2021-04-13 16:01:38 +02:00
Igor Scheller ef665c80ba ExceptionHandling: Show formatted stack trace on CLI 2021-04-12 17:13:48 +02:00
Igor Scheller c2b2487721 Locale: Set initial locale using request language 2021-04-12 17:13:48 +02:00
Igor Scheller 30e1d41c0a EventConfig: Set time on dates 2021-04-12 17:13:48 +02:00
Igor Scheller bb2a13f605 OAuth: Compare oauth users using exact compare 2021-04-12 17:13:48 +02:00
Igor Scheller a5757497e5 Add theme change to /design page 2021-04-12 16:42:15 +02:00
Igor Scheller 149155fbda Added email notification on new news 2021-04-12 16:15:25 +02:00
Igor Scheller 814cafd05d Added EventDispatcher 2021-04-12 16:15:25 +02:00
Allen Taylor 02ba802d6b configured var dump server 2021-01-09 16:44:02 +01:00
Igor Scheller 85044bc833 News: Add is_pinned 2020-12-27 10:59:28 +01:00
Igor Scheller d423bb07d3 OAuth: Save auth tokens 2020-12-26 21:09:24 +01:00
Igor Scheller 304b599cf4 OAuth: Allow - in URLs and fix response handling 2020-12-26 16:09:39 +01:00
Igor Scheller 53d5f8518b Questions: Change sorting 2020-12-20 20:48:12 +01:00
Igor Scheller b5c974b9e3 Add new questions frontend 2020-12-20 17:46:45 +01:00
Igor Scheller 857ed23548 Added FAQ 2020-12-20 17:46:45 +01:00
Xu ab82e1cbc0 NewsController: redirect after edit to /news instead of /news/[id] 2020-12-18 17:56:12 +01:00
msquare 39f96783cf review changes 2020-11-25 00:49:45 +01:00
Igor Scheller 27331b4cf6 Use twig to render profile setting page 2020-11-25 00:49:45 +01:00
msquare d3265ef70a add password settings page 2020-11-25 00:49:45 +01:00
Igor Scheller ebab34ee67 Schedule import: Add overview 2020-11-22 16:53:07 +01:00
Igor Scheller 251f2cbfa6 OAuth: Added display name and metrics, show providers on user page 2020-11-22 14:55:29 +01:00
Igor Scheller 80941c2999 Login: Added OAuth support 2020-11-22 14:55:29 +01:00
Igor Scheller 620c9a02bb News: Render as markdown 2020-10-21 21:51:48 +02:00
Igor Scheller a309d873a7 News: Show preview 2020-10-21 21:51:48 +02:00
Igor Scheller f8d9cddcc6 Added CleanupModel stub 2020-10-21 21:51:48 +02:00
Igor Scheller 2be3e17db7 Exceptions: Log previous exception 2020-10-18 16:58:36 +02:00
Allen Taylor 6c177d5173 Added timestamps for questions 2020-09-27 19:28:27 +02:00
Igor Scheller f732a4af6f Added Worklog model 2020-09-24 17:38:12 +02:00
Igor Scheller acf84f222d Added Room model 2020-09-24 09:34:00 +02:00
Igor Scheller c0c1dab711 Metrics: Added user enabled email targets and comments counts 2020-09-22 11:37:21 +02:00
Igor Scheller 9dd2525e93 Metrics: Add theme names 2020-09-22 11:37:21 +02:00
Igor Scheller a3f7942d0d Added k8s health checks and metrics scraping 2020-09-22 11:37:21 +02:00
Igor Scheller e4247cd0bd Metrics: Use buckets for work, worklog and vouchers 2020-09-22 11:37:21 +02:00
Igor Scheller 138ee996b0 Metrics: Add support for histogram 2020-09-22 11:37:21 +02:00
Igor Scheller 4995aa2a0b migration: Prevent parallel migration runs 2020-06-28 19:31:17 +02:00
Igor Scheller b814cf51e4 News: Preselect "Is Meeting" when adding from Meeting overview 2020-06-14 13:55:08 +02:00
Igor Scheller 21ee2bd0d7 Exception handling: Added NullHandler to be used in commands 2020-06-14 13:55:08 +02:00
Igor Scheller a59546baf8 Renderer: Log critical instead of error if no matching file renderer configured 2020-06-14 13:55:08 +02:00
Igor Scheller ae744af814 HomeController: Fix redirect 2020-06-14 13:55:08 +02:00
Igor Scheller e947e788f9 Rebuild logs view 2020-05-01 21:41:06 +02:00
Igor Scheller 64dc16e4d9 Logger: Added handling for exceptions and log exceptions if they occur 2020-05-01 20:52:15 +02:00
Igor Scheller 04fe35c822 Added /design path to show template elements 2020-04-25 17:04:57 +02:00
Igor Scheller 984ce25728 Moved development error handler setup to ConfigureEnvironmentServiceProvider 2020-04-25 17:04:57 +02:00
Igor Scheller 2605204af8 Moved error reporting settings to ConfigureEnvironmentServiceProvider 2020-04-25 17:04:57 +02:00
Igor Scheller 2b1ccb6406 Configure application timezone globally 2020-04-25 17:04:57 +02:00
Igor Scheller e2e2ac0c68 Metrics: Added configured locales and themes, refactoring/formatting 2020-04-25 17:04:57 +02:00
Igor Scheller 8c0ac0f7a1 Check permissions before showing ical, atom and json export links
closes #729 (Rechtesystem ical&json)
2020-04-25 16:54:30 +02:00
Igor Scheller 93ae2442f6 Formatting, syntax, typehint and namespace fixes, cleanups 2020-04-25 16:54:30 +02:00
Igor Scheller 055586cb8f DB/MySQL: Use utf8mb4 to support emojis
closes #706 (Allow emoji as private message text)
2020-04-25 16:54:30 +02:00
Igor Scheller f3af7bab50 Fixed Schedule XML parser to support minimum import 2020-04-25 16:54:30 +02:00
Igor Scheller d455b95f5d Updated gettext/gettext package to v5 2020-04-25 16:42:21 +02:00
Igor Scheller 795a0631cb Added application base url: Redirector now uses URLs instead of relative paths 2020-04-25 15:50:57 +02:00
Igor Scheller 6b1c22a743 Removed LegacyUrlGenerator 2020-04-25 15:50:57 +02:00
Igor Scheller d323b75501 News: Rewrite 2020-04-25 15:50:57 +02:00
Igor Scheller 72f4839130 Added HasUserNotifications trait to show messages to the user 2020-04-25 15:50:57 +02:00
Igor Scheller e42284deca Added Checked validation 2020-04-25 15:50:57 +02:00
Igor Scheller ba4db7a7ff Added Develop twig extension with support for dd() and dump() functions 2020-04-25 15:50:57 +02:00
Igor Scheller c519be276a Logging: Renamed EngelsystemLogger to Logger and added UserAwareLogger 2020-04-25 15:50:57 +02:00
Igor Scheller 36da807ca2 ErrorHandler: Return 404 on ModelNotFoundException 2020-04-25 15:50:57 +02:00
Igor Scheller 82e28cba87 Mailer: Removed outdated configuration 2020-04-24 22:32:55 +02:00
Igor Scheller cffd216aa9 Exception handling: Fixed error if handler not initialized (use Legacy handler as fallback) 2020-04-24 22:32:55 +02:00
Igor Scheller b9bb68c8ac AuthController: Use configured home_site 2020-04-05 20:23:35 +02:00
Igor Scheller ba1c658b92 Escape LegacyDevelopmentTest output 2020-04-05 20:21:13 +02:00
Igor Scheller 61977f5da9 Metrics: Fixed message count 2019-12-30 21:12:22 +01:00
Igor Scheller 395f6706d6 Message: Add coverage, fix method hints 2019-12-30 01:53:20 +01:00
Michael Weimann 95adeca0ae Add message model 2019-12-30 01:53:20 +01:00
Igor Scheller e1471248fe User: Add pronoun statement 2019-12-26 19:18:47 +01:00