Commit Graph

1222 Commits

Author SHA1 Message Date
msquare 416c49ae0b fix #634 by also allowing only restricted angeltypes 2019-11-03 12:37:48 +01:00
msquare 2b27b45aba remove legacy file guest start 2019-11-03 12:21:37 +01:00
msquare 613d258c87 fix #345 by adding a badge to shift view wich contains number of missing angels 2019-11-03 12:08:46 +01:00
msquare dc3de33a4b fix #287: handle IDN email addresses 2019-11-03 11:43:13 +01:00
Igor Scheller 9b08b951a2
Merge pull request #651 from MyIgel/shift-deletion-worklog
Save time of past shifts as worklog if they get deleted
2019-10-21 09:12:10 +02:00
Igor Scheller eec1eff65b Shifts overview: Style cleanup 2019-10-20 15:38:09 +02:00
Wonko T. Sane 1a5c10dd41 adding a dashed line when expandable 2019-10-20 14:59:15 +02:00
Wonko T. Sane b14d352140 Fix for #526
Implementation idea stolen from http://jsfiddle.net/6K7t4/24/
2019-10-20 14:59:15 +02:00
Igor Scheller 4154e97f3f Deleted shift: Multiply with night shifts multiplier for worklog entry 2019-10-13 20:28:34 +02:00
Igor Scheller fc773b25b3 Use 403 forbidden on shifts json, atom export and ical export 2019-10-13 13:15:08 +02:00
Igor Scheller dd03662968 Rebuild password reset 2019-10-08 16:17:06 +02:00
Igor Scheller 8f8130634e Show normal login page after registration, added msg() template function 2019-10-08 15:28:23 +02:00
Igor Scheller c5dd21cbd6 Deleted shift: Added message about worklog entry 2019-09-18 04:38:49 +02:00
Igor Scheller 85e4403392 Rooms: Save times as Worklog and notify on room deletion 2019-09-18 04:27:59 +02:00
Igor Scheller d71b27b78b Shifts: Save time as worklog if past shift gets deleted 2019-09-18 04:27:56 +02:00
Igor Scheller a02f5e61be Edit user: Prevent overwriting first and last name if temporary disabled 2019-08-24 12:53:26 +02:00
Igor Scheller a51bfae6e5 User view: Fix shifts order if user has worklogs 2019-08-24 12:32:34 +02:00
Igor Scheller 100602437f User admin: Allow setting new groups if user has none assigned 2019-08-24 11:58:57 +02:00
msquare 3ce3129b6e feature: disable lastname+prename in config 2019-08-24 10:56:59 +02:00
msquare 1604d2bce0 format freeloader duration on user myshifts page 2019-08-23 15:55:22 +02:00
msquare d4e0fb0013 format freeloader duration on user myshifts page 2019-08-23 15:49:41 +02:00
msquare 39fda9b04f format freeloader duration on user myshifts page 2019-08-23 15:47:17 +02:00
msquare 10fcd66da3 format freeloader duration on user myshifts page 2019-08-23 15:44:52 +02:00
msquare edcf794a32 fixes #644: display shifts with same start time on user myshifts page 2019-08-23 15:23:04 +02:00
Igor Scheller 69b3a2440c Admin user: Show force active status in log 2019-08-22 23:26:00 +02:00
Igor Scheller 088d351b2b Sort angeltypes shifts date dropdown 2019-08-22 21:18:36 +02:00
msquare ce6419e308
Merge pull request #643 from MyIgel/show-angetypes
Shift page: show additional angeltypes if shift entries where found
2019-08-21 22:22:05 +02:00
Igor Scheller f73b8e7a0e Fix translation methods 2019-08-21 22:11:20 +02:00
Igor Scheller b2a4225a62 Shift page: show additional angeltypes if shift entries where found 2019-08-21 22:08:48 +02:00
msquare 4d4fb81cd3
Merge pull request #641 from MyIgel/shift-signup-log
Shift signup/signout: Be more verbose
2019-08-21 01:30:53 +02:00
msquare 548d7317b4 redo fix shift view bug 2019-08-21 01:28:47 +02:00
msquare 8139f2fb4e redo fix shift view bug 2019-08-21 01:27:38 +02:00
msquare a521ace9f7 fix shift view bug 2019-08-21 01:26:01 +02:00
Igor Scheller 27895f2639 Shift signup/signout: Be more verbose 2019-08-21 01:22:46 +02:00
msquare a5f838d56a fix back button on shift create preview 2019-08-19 22:05:10 +02:00
msquare 53ec14b9c4 better bar min calculation 2019-08-19 10:20:44 +02:00
msquare 7d82103762 better bar min calculation 2019-08-19 10:20:07 +02:00
msquare 89ca2bb398 better bar min calculation 2019-08-19 10:19:27 +02:00
msquare ead2b1582b add overnight shift creation feature flag 2019-08-17 18:46:03 +02:00
Yannik Enss 770202e03d Declare summary of atom feed items as HTML
RFC4287 Section 3.1.1 requires HTML content to be declared
as such with the "type" attribute, this commit adds that attribute
to the generated atom feeds.
2019-08-15 23:42:44 +02:00
msquare 76a7ceb27b fixes #635: set end of the last created shift to the official end inestead of first shift change on next day 2019-08-15 21:14:54 +02:00
msquare d376c0d038 fix edit user error 2019-08-04 17:55:07 +02:00
msquare 1b3781cb2f format admin_arrive dates accordingly as in user list 2019-07-25 19:02:08 +02:00
msquare af580389c1 no time for arrival day needed 2019-07-25 18:53:27 +02:00
Igor Scheller d794efe7bd User overview: Order by planned arrival/departure dates 2019-07-25 17:40:59 +02:00
msquare 0c51d3c487 make shift calendar printable 2019-07-24 20:57:27 +02:00
Igor Scheller f90ab26fee Moved translation helpers to sub namespace 2019-07-08 01:58:06 +02:00
Igor Scheller bcce2625a8 Implemented AuthController for login
* Moved /login functionality to AuthController
* Refactored password handling logic to use the Authenticator
2019-07-08 01:57:59 +02:00
Igor Scheller 6ed891fc04 Added logout via AuthController 2019-06-12 10:24:02 +02:00
Igor Scheller 0458ce9509 Added more error messages 2019-06-04 21:24:59 +02:00
MichiK 142871f852 Add a config option for maximum signup in advance
We now have `signup_advance_hours` in the configuration that
only allows signup for shifts so many hours in the future.
A notice is displayed in the shift view for shifts in the
far future, together with an info notice on when signup for
that shift will be possible.

In addition, we now have a new shift state `NOT_YET` for this
purpose so we do not have to abuse `SHIFT_ENDED` anymore for
`signup_requires_arrival` as well.
2019-06-04 21:24:59 +02:00
Igor Scheller ead56a89fe Only show the shift "Comment" field for own entries 2019-06-04 21:23:34 +02:00
Igor Scheller b6eda8dbfc Fix profile link to mark angels as arrived 2019-06-04 21:22:19 +02:00
Igor Scheller 94fea1edad Use ini timezone setting 2019-06-04 21:21:34 +02:00
Igor Scheller 4e709d0d23 Log messages without inline HTML 2019-06-03 20:33:09 +02:00
Igor Scheller e7f10d846e Escape log messages 2019-06-03 20:33:09 +02:00
msquare f6a87535a0 add help button to ical export for android, fixes #402 2019-05-05 15:23:13 +02:00
Igor Scheller ca0b2d8b5f Improved email error logging 2019-04-30 18:09:08 +02:00
msquare a9499f4e5a fix hour format for work log entries on myshifts page 2019-04-28 14:58:43 +02:00
msquare ef2d917c59 catch mail exceptions, execute the action, inform the user about the error and create a log entry 2019-04-28 14:54:32 +02:00
msquare 4f1cef546e better nick validation, fixes #429 2019-04-28 14:39:49 +02:00
Igor Scheller 79c92da8c1 Formatting
```bash
php-cs-fixer fix --allow-risky=yes --rules=@PSR2,psr4,mb_str_functions.php_unit_construct,php_unit_ordered_covers,trailing_comma_in_multiline_array --rules='{"array_syntax": {"syntax":"short"}}' [tests/|src/]
```
2019-04-25 18:17:19 +02:00
Igor Scheller 7c3a0c70e8 Bugfix: default value for planned_arrival_date and don't overwrite dect
Fixed registration form formatting
Fixed profile request attributes fallback values
2019-04-25 17:56:23 +02:00
Janne Heß 79b30fa3a8 Support disabling the planned arrival
We also use Engelsystem for single-day events, and the planned
arrival/departure feature doesn't make sense for us.
2019-04-23 21:05:56 +02:00
Janne Heß 665e444e88 Support disabling the DECT field
It's a really chaos-event-specific feature and is confusing for many
people on non-chaos events.
2019-04-23 12:43:45 +02:00
Igor Scheller 69c47dcc42 admin-free: Improved formattig 2019-04-21 17:54:10 +02:00
Janne Heß 69ac1b2d21 Support disabling the arrival feature
Setting `autoarrive` to true will now cause all newly registered angels
to be automatically confirmed as arrived.
2019-03-09 13:53:08 +01:00
Janne Heß afa4506e11 Support alternative home sites 2019-03-09 13:52:13 +01:00
msquare 60ad343b22 fixes #178: Show not only next but also last shift in free angels view 2019-01-13 16:04:44 +01:00
Igor Scheller d208cab1ac When only free shifts should be shown: filter for selected angel types
closes #556 (shifts shown, where not selected angeltype is free)
2018-12-30 12:11:51 +01:00
Igor Scheller 1fefe93bc8 users_controller: formatting 2018-12-30 12:11:51 +01:00
Igor Scheller 1bb2c57842 comments: Don't strip characters
closes #510 (htmlentities-like content in a comment gets removed)
2018-12-28 23:08:39 +01:00
Igor Scheller 6df3dc8489 questions: Don't strip content from messages
closes #545 ("=" removed in Questions & Answers)
2018-12-28 23:08:39 +01:00
Igor Scheller 012d5a4722 Don't strip characters from direct messages 2018-12-28 23:08:39 +01:00
Igor Scheller 540efef63e active angels: Bugfix and prevent errors when searching double spaces 2018-12-28 21:39:23 +01:00
Igor Scheller 0150aca6ad Order rooms in shift overview by name
closes #551 (Order of Rooms in overview)
2018-12-28 15:36:45 +01:00
msquare 794df6f99e fixes #548: users with only worklog and no shifts had 0 minutes on admin-active. query fixed 2018-12-27 19:53:48 +01:00
msquare db26412e6c fixes #549: fill missing arrival dates and prevent setting arrival by admin-user instead of admin-arrive 2018-12-27 19:08:35 +01:00
Igor Scheller 689735ad51 Sort users on team page 2018-12-27 14:16:09 +01:00
Igor Scheller acd9ec6966 add multiple shifts: Fix hour regex and sorting, cleanup and formatting 2018-12-26 19:49:01 +01:00
Igor Scheller 36830c43e7 Fix warning if searching two whitespaces and formatting 2018-12-26 19:39:40 +01:00
Igor Scheller 31d9efb2b8 Bugfix: Edit user: Show groups list if angel has no rights 2018-12-25 14:46:14 +01:00
Igor Scheller d214525e24 Sort Angels Alphabetical
closes #541 (Shift Signup: Sort Angels Alphabetical)
2018-12-25 10:25:32 +01:00
jwacalex 8c5b52aa11 reformatted code due to guidelines 2018-12-22 12:10:16 +01:00
jwacalex 60a9c15454 first draft for #536 2018-12-22 12:10:16 +01:00
Igor Scheller b1d8fede46 user: allow up to 40 characters for dect numbers
closes #309 (EPVPN number in DECT field is shortened)
closes #529 (For dect numbers are only 5 digits allowed)
2018-12-22 12:03:24 +01:00
Clemens 482721eb1b user view: Show multiple worklog entries per day
closes #531 (Multiple worklogs on same day not displayed in users shift list (but counted in sum))
2018-12-21 21:18:14 +01:00
Igor Scheller c5621b82cf Implemented /metrics endpoint and reimplemented /stats
closes #418 (/metrics endpoint)

Usage:
```yaml
scrape_configs:
  - job_name: 'engelsystem'
    static_configs:
    - targets: ['engelsystem.example.com:80']
```
2018-12-19 22:36:42 +01:00
Igor Scheller 9a15fbc71e worklog: Fix hours validation
closes #527 (Worklog entries with floating point numbers with a comma dispatches a team of untrained monkeys)
2018-12-18 13:48:46 +01:00
Igor Scheller 204ff4c0e7 rooms admin: Set a maximum character length
closes #525 (Room names with more than 35 characters dispatch a team of untrained monkeys)
2018-12-18 13:22:10 +01:00
Igor Scheller c676e73cf6 php7.3: Fix username validation regex
closes #523 (Login does not work ->Invalid range in character class)
2018-12-18 12:44:09 +01:00
msquare 412be8e188 upgrade chart.js lib and fix bargraph. fixes #511 2018-12-09 13:07:19 +01:00
msquare 93b819025c fix margin of form submit in tables 2018-12-09 12:51:48 +01:00
MichiK 252f003b94 Really fix the data/timepicker CSS and JS
Attaching the timepicker to the input instead of the sorrounding div didn't
turn out as expected. Therefore, I used the same mechanism for DOM attachment
and lazy initialization for the timepicker like for the datepicker.

Instead of trying to load the CSS through webpack and some JS voodoo, it's
a lot simpler to just include it via the normal base theme CSS. This works.
In addition, I noticed that there is an easier way to read the current locale.
No need to do this twice via different ways.

This closes #516.
2018-12-08 21:14:20 +01:00
MichiK 7e53c45890 Change the color of "reset" in admin_arrive 2018-12-07 17:26:44 +01:00
MichiK ed5ee3235e Add timepickers in shifts view 2018-12-05 18:43:51 +01:00
MichiK 4e3232e57a Replace datepicker and remove datepicker inline JS 2018-12-04 21:03:32 +01:00
MichiK 36b7f8d2a2 Fix datepicker
`<input type="date">` and JS datepicker combined cause trouble in some
browsers, so this changes all the date input fields' type to `text`
via JS so that the browser's datepicker is only used when a user has
disabled JavaScript.

In addition, it adds a placeholder so the user knows which date format
to use when entering the date manually.

This closes #507.
2018-12-03 19:21:45 +01:00
Igor Scheller c33940f64a Moved permission checks to Authenticator class 2018-12-02 12:53:31 +01:00
msquare e0de2c2c65 more work on 35c3 theme 2018-11-25 15:40:53 +01:00
Igor Scheller f845a5ab8b Added caching for templating and routing
See #486 (Implement caching)
2018-11-24 16:30:36 +01:00
Igor Scheller 944c29b964 Require POST for sending forms
* Ensure that the form is submitted with a post request
* Replaced several links with forms

Closes #494 (Security Vulnerability)
2018-11-21 19:24:36 +01:00
Igor Scheller 23c0fae36f Added csrf middleware 2018-11-21 19:24:36 +01:00
msquare 8236989be0 fix missing unique mail validation on user register 2018-11-18 12:13:00 +01:00
Igor Scheller 15751f9c7a Fix error when accessing undefined date
Closes #491 (Edit User fails when User never logged in before)
2018-11-02 18:03:40 +01:00
Igor Scheller 88f3bafa5e Replaced `Auth()` with `auth()` 2018-10-31 13:43:23 +01:00
Igor Scheller 82b22160fd Fixed error if shirt size is not configured 2018-10-31 13:43:23 +01:00
Igor Scheller a2aaba9cab User: Bugfixes & code cleanup 2018-10-31 13:43:23 +01:00
Igor Scheller d7aea575ff Replaced more sql queries and old data 2018-10-31 13:43:23 +01:00
Igor Scheller 57932be428 Moved arrival_date to state 2018-10-31 13:43:23 +01:00
Igor Scheller 4e09ee3eb2 Replaced more user related stuff
(Contains some buggy stuff too...)
2018-10-31 13:43:23 +01:00
Igor Scheller 7c6afc2bfe Removed `User($id)` function 🎉 2018-10-31 13:43:23 +01:00
Igor Scheller 89e62c95a7 Changed more functions 🎉 2018-10-31 13:43:23 +01:00
Igor Scheller b069a938c6 Changed user_link and some other user functions to use the user id 2018-10-31 13:43:23 +01:00
Igor Scheller 2dcb7cc2de Replaced some global `$user` variables 2018-10-31 13:43:23 +01:00
Igor Scheller d15946df2d Changed `src/` code and templates to use the new user model 2018-10-31 13:43:23 +01:00
Igor Scheller b443b53919 Translation: added pluralization support 2018-10-30 22:50:22 +01:00
Igor Scheller 90e1a94962 Make application name configurable
* Added app_name configuration option
* Extended `EngelsystemMailer` to prepend the application name to all mails

Closes #426
2018-10-30 22:50:22 +01:00
Igor Scheller 7f61dc95be EventConfig: Merge event configuration from database to global config 2018-10-30 21:13:56 +01:00
Igor Scheller 7762c0eb2b Translatable user groups & cutoff fix
Closes #318 (Typo: "irt Manager" instead of "Shirt Manager")
2018-10-24 19:18:35 +02:00
Igor Scheller 6187eed3bb Merge remote-tracking branch 'MyIgel/mailing' 2018-09-26 21:31:18 +02:00
Igor Scheller 66038eda14 Merge branch 'twig-templates' 2018-09-23 20:11:37 +02:00
Nos- b2303c0723 Tried to fix inputfields for date, email, tel 2018-09-23 11:48:09 +02:00
Igor Scheller 2a134e6c0b Config: Removed nightshifts query 2018-09-23 11:40:53 +02:00
Igor Scheller 0734807eef Merge remote-tracking branch 'MyIgel/logentry-model' 2018-09-16 12:06:18 +02:00
Igor Scheller d0abc27c07 Merge remote-tracking branch 'MyIgel/translations' 2018-09-15 14:58:31 +02:00
Igor Scheller 8456a3cf6f Moved emojis to assets 2018-09-10 22:49:46 +02:00
Igor Scheller c1a1180d1f Moved frontend, templates and lang to resources 2018-09-10 18:22:48 +02:00
Igor Scheller 222c9fed7d Merge remote-tracking branch 'MyIgel/templating' 2018-09-09 12:11:12 +02:00
Igor Scheller 01e9c22695 Implemented mailing abstraction
Closes #434
2018-09-05 13:44:43 +02:00
Igor Scheller 36dafdb68a Merge remote-tracking branch 'MyIgel/rebuild-psr7' 2018-09-03 22:55:54 +02:00
Igor Scheller 9d34f371cb Added CreditsController 2018-09-03 15:42:51 +02:00
Igor Scheller 9e217d87c0 Template refactoring to use twig 2018-09-02 02:09:56 +02:00
Igor Scheller ac48332166 Models: Added LogEntry model 2018-08-31 03:24:54 +02:00
Igor Scheller 2bebbeb191 Installation: Added migrations for install.sql and update.sql files 2018-08-30 16:07:50 +02:00
Igor Scheller 9d9aa71eb7 Installation: Added migrations for install.sql and update.sql files 2018-08-30 15:53:37 +02:00
Igor Scheller 5456fea503 $bugfixes 2018-08-29 23:46:32 +02:00
Bot e8f8fc7f5f Replaced gettext translation `_()` with `__()` that uses the Translator class 2018-08-29 23:46:32 +02:00
Igor Scheller acfe72cb91 Removed translation from config file 2018-08-29 23:46:32 +02:00
Igor Scheller 427315195b Moved translation/internationalization to Helpers\Translator class 2018-08-29 23:46:31 +02:00
Igor Scheller bb3d16d273 Added Twig template renderer, closes #338 2018-08-29 23:46:11 +02:00
Igor Scheller 175c335810 Db::selectOne() should return null if result is empty 2018-08-29 18:11:35 +02:00
msquare 1090d5e889
Update shifts_controller.php
fix problem when missing needed angeltype entry
2018-08-28 18:28:09 +02:00
Igor Scheller d93ace2eae Prevent object serialization in session 2018-08-20 21:08:06 +02:00
Igor Scheller d6c8f1a614 Merge branch 'master' to 'rebuild-database' 2018-08-20 21:07:57 +02:00
Igor Scheller f3b3b6683c Added middleware tests 2018-08-19 13:59:39 +02:00
msquare df30f7d5d8 merge pr #427: Use npm to handle frontend dependencies 2018-08-12 12:42:58 +02:00
Bot 28349b69a8 Changed JS to use single quotes instead of double quotes 2018-08-11 22:16:57 +02:00
Igor Scheller 864a086900 Prevent object serialization in session 2018-08-07 16:54:08 +02:00
msquare 2832fe48ee rename some params (codestyle) 2018-08-06 13:10:53 +02:00