Commit Graph

1254 Commits

Author SHA1 Message Date
Christian Kleinbach e4712658a4 added german date format for ticks in calender view + corresponding translation 2020-04-23 13:30:26 +02:00
msquare fd2a644a24 #723: i8n date formats on news page 2020-04-03 11:00:21 +02:00
msquare fbd78b8daf fixes #693: never select a default date before first existing shift in shifts view 2020-04-03 10:28:55 +02:00
Igor Scheller 94753bc3d8 Worklog: Limit worklog comment length to 200 as it is configured in the database 2020-01-09 13:43:10 +01:00
digitaldonkey 5c54d4787f Fix New Messages navbar display and make the Messages link clickable. 2020-01-02 03:34:55 +01:00
Michael Weimann a78659b2d4 Migrate message view 2019-12-30 01:53:20 +01:00
Igor Scheller 46f80fbed2 Angeltypes: Fixed error on angeltype creation 2019-12-29 14:21:20 +01:00
Igor Scheller b3a4c67b1b Admin arrive: Fixed search 2019-12-28 10:27:21 +01:00
msquare 0cab703c94
Merge pull request #705 from MyIgel/pronoun
User: Add pronoun statement
2019-12-27 19:47:52 +01:00
Igor Scheller 537179df66 Shifts overview: Added filter_max_duration to limit max runtime 2019-12-27 18:58:27 +01:00
Igor Scheller 8f2da56892 Voucher: Added hours_per_voucher setting 2019-12-27 06:07:48 +01:00
Igor Scheller 7fb10ec569 Voucher: Add worklog entries to calculation 2019-12-27 05:24:32 +01:00
Igor Scheller e1471248fe User: Add pronoun statement 2019-12-26 19:18:47 +01:00
Igor Scheller ec47d124bb Shifts overview: only scroll shifts, not whole page 2019-12-26 16:46:06 +01:00
Igor Scheller 25cdf1cac8 Voucher: Added calculation start time 2019-12-25 16:26:59 +01:00
Michael Weimann ea034ecec6 Add the container class to some views 2019-12-19 19:33:52 +01:00
cbluoss 4beb5a6986 Extended the iCal section with a collapsible card to show the current api key. 2019-12-12 18:48:26 +01:00
cbluoss 74b464aab5 ShiftEntry query now returns the related user.name as well.
This was done for API requests to save additional queries,
but should allow us to remove some queries pretty much everywhere shifts
get listed (will be done in a new PR eventually)
2019-12-12 18:48:22 +01:00
msquare d70d7c6436 Resolve redirect problem in schedule import 2019-12-08 12:56:47 +01:00
msquare a3a938a121
Merge pull request #685 from MyIgel/schedule-import
Rebuild Schedule import
2019-12-08 11:48:58 +01:00
Igor Scheller b540ac9385 Add timezone to shifts JSON
Resolves #689 (Provide time zone offset via the shifts-json-export API)
2019-12-08 11:38:20 +01:00
Igor Scheller 064a175027 Renamed GuzzleServiceProvider to HttpClientServiceProvider, fixed translation and import error 2019-12-08 02:20:51 +01:00
Igor Scheller 47e209e125 ImportSchedule: Append talk language to shift title
Resolves #587 (Include talk language into Frab-imported shift titles)
2019-12-08 02:20:51 +01:00
Igor Scheller 42721e9572 Added Schedule parsing and replaced old Fahrplan importer
Resolves #553 (Change Frab Import from xCal to XML)
Resolves #538 (Feature Request: Multi Frab Import)
2019-12-08 02:20:48 +01:00
Bot be39c63f46 Renamed redirect() to throwRedirect() 2019-12-08 02:12:56 +01:00
Igor Scheller d6cb9c6258 Questions: Moved user tests to user and fixed attribute names, added @covers 2019-12-07 21:29:11 +01:00
Michael Weimann e16e0b2644 Migrate Question usages 2019-12-07 21:29:11 +01:00
Igor Scheller 14f8d208b8 Removed global $ical_shifts 2019-11-28 16:24:33 +01:00
Igor Scheller 0e386d2c7f Removed global $page 2019-11-28 14:30:41 +01:00
Michael Weimann 35a7d853ff
Migrate view to the NewsComments model 2019-11-12 21:58:50 +01:00
Igor Scheller b878740f80 News: Bug fixes, cleanup, comments & formatting
Use more magically available methods and properties
Fixed atom feed and stats not using the new model
2019-11-10 22:10:11 +01:00
Michael Weimann 6534191d59 Migrate news to model class 2019-11-10 22:10:11 +01:00
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