Commit Graph

1122 Commits

Author SHA1 Message Date
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