Commit Graph

2984 Commits

Author SHA1 Message Date
Gregor Kleen
683a7da5fe refactor: hlint 2021-03-08 13:08:54 +01:00
Gregor Kleen
55a9c8a5ae perf: skip favouriteQuickActions under db conn pressure 2021-03-08 12:55:48 +01:00
Gregor Kleen
63f0d3c37a feat(auth): user independent authorisation caching
BREAKING CHANGE: additional authorisation caching
2021-03-08 12:08:43 +01:00
Gregor Kleen
38f16ebac3 refactor: hlint 2021-03-08 09:24:59 +01:00
Gregor Kleen
ea33d844cc feat(messages): mkMessageAddition 2021-03-06 22:31:20 +01:00
Gregor Kleen
bb877eb813 feat(messages): implement custom parser for message files 2021-03-06 20:13:55 +01:00
Gregor Kleen
6d93e3e8bc refactor: hlint 2021-03-01 13:12:30 +01:00
Gregor Kleen
cf33f0af84 fix: build 2021-03-01 07:50:08 +01:00
Gregor Kleen
23ff9d9222 feat(db): track source of database accesses 2021-02-26 11:00:44 +01:00
Gregor Kleen
6115b83bb3 fix(jobs): wake more often during waitUntil 2021-02-24 12:46:06 +01:00
Gregor Kleen
b9cc5b9970 feat(transaction-log): more details about submission files 2021-02-24 12:39:32 +01:00
Gregor Kleen
56e9212e65 chore: reduce logging 2021-02-24 10:12:48 +01:00
Gregor Kleen
d801a2f84a feat(monitoring): observe database connection opening/closing 2021-02-23 20:33:05 +01:00
Gregor Kleen
50fdcb4540 feat(db): provide our own implementation of connection pooling
Also allows monitoring pool status (available/in use connections,
total number of takes from pool)

This reverts commit 35ac503bf9.
2021-02-23 16:30:24 +01:00
Gregor Kleen
35ac503bf9 feat(db): optionally disable some db connection pooling 2021-02-21 20:44:45 +01:00
Gregor Kleen
fb6ae089c6 feat(bot-mitigations): only logged in table sorting 2021-02-21 13:39:47 +01:00
Gregor Kleen
db48bbb776 fix(jobs): use more read only/deferrable transactions 2021-02-20 11:16:47 +01:00
Gregor Kleen
c272618aa6 fix(missing-files): properly account for workflows 2021-02-19 13:42:23 +01:00
Gregor Kleen
e54b985815 fix(files): count personalised sheet files as alive 2021-02-19 09:27:12 +01:00
Gregor Kleen
e179c0ff6c refactor: hlint 2021-02-17 15:12:56 +01:00
Gregor Kleen
8d1f216b5b feat(caching): introduce cache prewarming 2021-02-17 14:31:30 +01:00
Gregor Kleen
c76794f7c8 chore: fix tests 2021-02-15 15:31:23 +01:00
Gregor Kleen
e2eddc93c5 chore(changelog): bump 2021-02-15 14:29:17 +01:00
Gregor Kleen
a8f268852a feat(personalised-sheet-files): restrict download by exam 2021-02-15 14:24:36 +01:00
Gregor Kleen
854fa6b968 fix(exam-bonus): fix rounding
Fixes #672
2021-02-15 12:55:12 +01:00
Gregor Kleen
0fd7e86695 fix(exam-bonus): avoid divide by zero if all sheets are bonus
Fixes #671
2021-02-15 12:28:04 +01:00
Gregor Kleen
1cd79d35e2 feat(minio): use separate bucket for temporary files 2021-02-15 11:44:00 +01:00
Gregor Kleen
1be391f5f5 fix(arc): reduce lock contention 2021-02-11 15:10:36 +01:00
Gregor Kleen
8ecb460f39 fix: unbreak arc 2021-02-10 22:58:01 +01:00
Gregor Kleen
dc5a9fda9d refactor: hlint 2021-02-10 20:52:17 +01:00
Gregor Kleen
36debd865f feat: implement in-memory cache for file download 2021-02-10 20:06:59 +01:00
Gregor Kleen
e61b5611b1 fix(jobs): prevent offloading instances from deleting cron last exec 2021-02-10 16:55:27 +01:00
Gregor Kleen
7027a3dd2d chore: allow AdminCrontabR from any approot 2021-02-09 11:00:51 +01:00
Gregor Kleen
8798f547a6 feat: ensure cached study feature relevance is up to date 2021-02-08 19:53:00 +01:00
Gregor Kleen
5698e9ca0b fix: restore storting for exam-office exams 2021-02-08 14:35:26 +01:00
Gregor Kleen
03e9f5be56 refactor: switch everything to cached relevant study features 2021-02-04 23:12:27 +01:00
Gregor Kleen
23fdf4af6d refactor: switch exams list to cached study features only 2021-02-04 11:07:25 +01:00
Gregor Kleen
500b0bba6f refactor(exam-office): try to make list performance more predictable 2021-02-03 18:26:55 +01:00
Gregor Kleen
f4f95e1494 chore(profiling): restore prof-auto and test build
Revert "chore(profiling): switch to prof-auto-top to hopefully fix build"

This reverts commit 07bde5b012.
2021-02-03 09:06:55 +01:00
Gregor Kleen
09ce1bb035 chore(profiling): remove all newtype-deriv PersistFieldSql instances 2021-02-02 19:48:11 +01:00
Gregor Kleen
c90dcba1a7 chore(profiling): remove all cost centres to hopefully fix build 2021-02-02 18:12:01 +01:00
Gregor Kleen
e0173908b4 chore(profiling): remove -fprof-auto-top to hopefully fix build 2021-02-01 22:45:12 +01:00
Gregor Kleen
90e3965b92 Merge branch 'master' into profile 2021-02-01 19:37:02 +01:00
Gregor Kleen
b814bc094a refactor(workflows): shared workflow graphs 2021-02-01 17:37:55 +01:00
Gregor Kleen
09fb26f1a8 feat(jobs): batch job offloading
BREAKING CHANGE: Job offloading
2021-02-01 09:52:47 +01:00
Gregor Kleen
07bde5b012 chore(profiling): switch to prof-auto-top to hopefully fix build
Also build only once, again
2021-02-01 09:26:59 +01:00
Gregor Kleen
cb1e715e9b fix(workflows): don't cache instance-list empty for correctness 2021-01-29 14:38:40 +01:00
Gregor Kleen
c7c4f50f5b refactor: hlint 2021-01-27 22:22:12 +01:00
Gregor Kleen
48028c4053 fix: more verbose watchdog notification failures 2021-01-27 20:14:54 +01:00
Gregor Kleen
2c0fc63be1 feat(dbtable): extra representations 2021-01-21 13:22:22 +01:00
Gregor Kleen
500000ba0f feat(exams): exam sheets 2021-01-18 14:19:02 +01:00
Gregor Kleen
bce2c953e0 chore: bump tests 2021-01-11 16:27:10 +01:00
Gregor Kleen
ae3f2aa703 chore: version bumps 2021-01-11 14:16:39 +01:00
Gregor Kleen
8939a8b90a fix(tokens): introduce clock leniency and remove start for downloads 2020-12-13 00:36:11 +01:00
Gregor Kleen
13b6fe1db5 chore: setup for profiling 2020-12-12 17:12:50 +01:00
Gregor Kleen
1d3fd8c8a7 fix: hopefully improve workflow auth performance 2020-12-11 19:56:05 +01:00
Gregor Kleen
50455e68a1 feat(auth): record student ldap role 2020-12-10 19:09:33 +01:00
Gregor Kleen
aba673756e feat(workflows): explanation text 2020-12-10 18:42:01 +01:00
Gregor Kleen
03fda74415 Revert "feat: use c++ library for json parsing from database"
This reverts commit f22675189e.
2020-12-10 02:17:44 +01:00
Gregor Kleen
447df0bc9b refactor: hlint 2020-12-10 02:08:24 +01:00
Gregor Kleen
f22675189e feat: use c++ library for json parsing from database 2020-12-09 23:51:46 +01:00
Gregor Kleen
212e316c7e fix(jobs): weaken crontab guarantees for performance 2020-12-09 18:11:39 +01:00
Gregor Kleen
3a106d1ee5 feat: don't redirect monitoring routes & crontab tokens 2020-12-09 15:33:54 +01:00
Gregor Kleen
c5ee5b26d5 chore: re-enable optimisations for i18n 2020-12-09 15:18:30 +01:00
Gregor Kleen
bbd4916f3a feat(admin-crontab): export as json 2020-12-09 15:16:33 +01:00
Gregor Kleen
a27a553e0a feat(jobs): queue by jobctl priority 2020-12-09 15:11:07 +01:00
Gregor Kleen
ed38f93537 fix(jobs): adjust job handling to hopefully reduce load 2020-12-09 13:25:26 +01:00
Gregor Kleen
3a90c88b35 fix(files): better configuration for file batch jobs 2020-12-08 18:04:39 +01:00
Gregor Kleen
3ba41d8f24 fix(downloads): do download links via redirect 2020-12-08 17:34:39 +01:00
Gregor Kleen
403dc37f9a chore: further suggestions for workflow lint 2020-12-06 20:42:05 +01:00
Gregor Kleen
affa8072de refactor: hlint 2020-12-06 20:25:00 +01:00
Gregor Kleen
21cf6cfa87 fix(auth): fix infinite auth loop for workflow files 2020-12-06 20:12:04 +01:00
Gregor Kleen
316097a07e feat(workflows): improve linter 2020-12-06 16:03:36 +01:00
Gregor Kleen
e1b60844cb fix: submission download token generation broke viewing 2020-12-05 22:24:25 +01:00
Gregor Kleen
8c17f3354a fix: remove manually inserted error for testing 2020-12-05 13:07:46 +01:00
Gregor Kleen
3cf033560e feat(inject-files): additionally throttle by file count 2020-12-04 18:08:10 +01:00
Gregor Kleen
c22004e1b2 feat(workflows): edge messages 2020-12-04 17:50:32 +01:00
Gregor Kleen
aa0404a007 fix(workflows): properly offer previous payload files 2020-12-04 16:36:55 +01:00
Gregor Kleen
ac08846c26 feat(workflows): proper workflow-workflow-tables 2020-12-04 16:00:14 +01:00
Gregor Kleen
7a7cd4d07c feat(workflows): make admin or token sufficient for all roles 2020-12-03 19:48:49 +01:00
Gregor Kleen
c392cb5895 refactor(workflows): better modularize workflow-workflow-list 2020-12-03 17:51:07 +01:00
Gregor Kleen
22961d9a89 refactor: hlint 2020-12-03 16:20:54 +01:00
Gregor Kleen
833b674c31 fix(errors): better handling of errors from separated approots 2020-12-03 15:51:23 +01:00
Gregor Kleen
fbf21d7313 feat(errors): redirect errors back to ApprootDefault 2020-12-03 12:17:28 +01:00
Gregor Kleen
f7fdc5cf13 refactor: hlint 2020-12-02 19:15:03 +01:00
Gregor Kleen
707b41d4ec feat: allow separating user generated content into separate domain 2020-12-02 16:58:52 +01:00
Gregor Kleen
ee6fecb79e feat(workflows): prepare for admin-workflow-instance-edit 2020-12-01 11:11:48 +01:00
Gregor Kleen
dae2d16677 refactor(workflows): better modularize handlers 2020-11-30 19:09:30 +01:00
Gregor Kleen
282d56a5c2 refactor: minor 2020-11-30 12:26:33 +01:00
Gregor Kleen
48208c9105 feat(admin-workflows): allow uploading graph spec as file 2020-11-30 12:19:58 +01:00
Gregor Kleen
f9d933bdac fix(admin-workflows): fix workflow definition descriptions forms 2020-11-29 17:25:49 +01:00
Gregor Kleen
68b8b458b1 fix: build 2020-11-29 13:32:02 +01:00
Gregor Kleen
6322fd449b fix: build 2020-11-29 13:30:30 +01:00
Gregor Kleen
b1641ad57e fix: build 2020-11-29 13:24:16 +01:00
Gregor Kleen
43bb0abe72 fix: build 2020-11-29 13:22:50 +01:00
Gregor Kleen
ed5d871182 fix(rooms): honor roomHidden 2020-11-29 13:13:17 +01:00
Gregor Kleen
dfea39907c fix: non-dev build 2020-11-27 14:28:16 +01:00
Gregor Kleen
50cbba114a fix: csp-sandbox downloads 2020-11-26 16:29:32 +01:00
Gregor Kleen
211ff5eacc fix(csv): ignore empty lines 2020-11-26 14:59:50 +01:00
Gregor Kleen
946a42b7f0 fix(auth): authorize exam offices by school 2020-11-26 10:23:08 +01:00
Gregor Kleen
2619b08ad1 fix(workflows): prefer payload label from target state
Adjust styling
2020-11-25 18:47:13 +01:00
Gregor Kleen
0a3eaa2994 fix(workflows): cleanup 2020-11-25 15:00:16 +01:00
Gregor Kleen
82b3a6364c feat(workflows): wire up ws-school 2020-11-24 22:35:59 +01:00
Gregor Kleen
f2fb7d8c26 feat(migration): switch from versions to enum
BREAKING CHANGE: ManualMigration
2020-11-24 15:18:37 +01:00
Gregor Kleen
43caeefbf1 Merge branch 'master' into workflows 2020-11-24 10:56:41 +01:00
Gregor Kleen
771532c666 style(exams): larger occurrence description fields 2020-11-20 11:31:10 +01:00
Gregor Kleen
319c75a85a feat(rooms): different room types & hidden rooms 2020-11-19 14:25:38 +01:00
Gregor Kleen
1ce5598207 refactor: document cronNotAfter for exam closure 2020-11-17 13:48:49 +01:00
Gregor Kleen
ef1411efdb feat(external-exams): open defaults wrt. external exam schools
Fixes #651
2020-11-17 13:30:18 +01:00
Gregor Kleen
4b525ea824 feat(exams): optionally close on finish
Fixes #652
2020-11-17 12:43:24 +01:00
Gregor Kleen
3eba184be2 chore(changelog): bump 2020-11-14 12:49:21 +01:00
Gregor Kleen
99475ed253 feat(schedule): highlight current day/timeslot 2020-11-12 13:07:12 +01:00
Gregor Kleen
7733bd6280 fix(schedule): consider lecture period & holidays 2020-11-12 12:53:00 +01:00
Gregor Kleen
5bc25d1d3f feat(schedule): continue events over multiple slots
Also fix handling of ExceptNoOccur
2020-11-12 11:42:37 +01:00
Gregor Kleen
4bc1a8eac0 fix(schedule): use local day instead of utc 2020-11-11 18:05:57 +01:00
Gregor Kleen
dba0891000 fix(schedule): improve offset behaviour 2020-11-11 16:24:36 +01:00
Gregor Kleen
ff9916fde6 refactor(schedule): (type) cleanup 2020-11-11 14:04:54 +01:00
Gregor Kleen
22f43a9631 Merge branch 'master' into stundenplan 2020-11-11 10:15:27 +01:00
Sarah Vaupel
265d5f3ddd fix(schedule): use should-be-displayed result for exam occurrence actions 2020-11-10 21:24:00 +01:00
Sarah Vaupel
3919152ede fix(schedule): use should-be-displayed result for tutorial actions 2020-11-10 20:51:25 +01:00
Sarah Vaupel
601cb3179f fix(schedule): fix should-be-displayed result 2020-11-10 20:43:48 +01:00
Sarah Vaupel
ec04fe161e fix(schedule): use should-be-displayed result for course event actions 2020-11-10 20:31:45 +01:00
Sarah Vaupel
45a5766210 refactor(schedule): rename schedule-related fetch functions, export should-be-displayed 2020-11-10 20:28:08 +01:00
Gregor Kleen
4ea54d8b82 refactor: hlint 2020-11-10 19:46:22 +01:00
Gregor Kleen
8d49e66eed style: use full course name in exam office notifications 2020-11-10 17:36:52 +01:00
Gregor Kleen
1d83c4ce2b Merge branch 'feat/partial-downloads' into master 2020-11-10 17:23:30 +01:00
Gregor Kleen
5b28303539 feat: partial/conditional downloads & video streaming 2020-11-10 17:23:15 +01:00
Sarah Vaupel
62c8296c6a Merge branch 'master' into stundenplan 2020-11-09 20:59:11 +01:00
Sarah Vaupel
4282af893d fix(schedule): treat exam occurrences independently from course schedule opts 2020-11-09 20:42:07 +01:00
Sarah Vaupel
b0023dfa67 fix(schedule-opt): course schedule opt does not affect unregistered tutorials 2020-11-09 19:31:14 +01:00
Sarah Vaupel
1d34cae4e2 fix(schedule): make course schedule opt-ins work for unregistered users 2020-11-09 19:27:20 +01:00
Sarah Vaupel
d8a921f335 fix(schedule-opt): account for course schedule opt in tutorial opt 2020-11-09 18:51:06 +01:00
Sarah Vaupel
cd450848a4 fix(schedule-opt): account for course schedule opt in course event opt 2020-11-09 18:42:26 +01:00
Sarah Vaupel
374cb6250d fix(schedule-opt): account for course schedule opt in tutorial actions 2020-11-09 17:59:51 +01:00
Gregor Kleen
6008cb040d fix(personalised-sheet-files): don't delete files when "keep" 2020-11-09 17:07:17 +01:00
Sarah Vaupel
4199cc624b fix(schedule): account for isRegistered for tutorials schedule opt 2020-11-09 13:09:07 +01:00
Sarah Vaupel
c6a84b314c feat(schedule): account for course schedule opt in fetches 2020-11-09 12:56:28 +01:00
Sarah Vaupel
bab72a5e2e feat(schedule-opts): add course schedule opt actions to CShowR 2020-11-09 11:30:53 +01:00
Sarah Vaupel
2ceced4b64 feat(schedule-opts): enhance course schedule opt messages 2020-11-09 11:30:14 +01:00
Sarah Vaupel
716f31d925 feat(schedule): add model table and course schedule-opt handlers 2020-11-09 11:03:01 +01:00
Sarah Vaupel
ceb4df3c63 chore(schedule): add course schedule-opt routes 2020-11-09 11:02:10 +01:00
Sarah Vaupel
c41e3b6bb3 fix(schedule): display opted-in exam occs without registration 2020-11-07 20:40:11 +01:00
Sarah Vaupel
a6308544c8 feat(exams): implement schedule-opt actions 2020-11-07 20:09:00 +01:00
Sarah Vaupel
39a0eedf5a feat(exams): implement schedule-opt handlers 2020-11-07 19:36:41 +01:00
Sarah Vaupel
c6cd121ad4 feat(schedule-week): revert to exam entries linking to EShowR 2020-11-07 16:21:16 +01:00
Sarah Vaupel
cb3f74a2a9 feat(exams): add basic schedule-opt routes and handler struc 2020-11-07 15:52:58 +01:00
Sarah Vaupel
7f48a2d693 feat(schedule-week): exam entries link to CShowR 2020-11-07 15:28:19 +01:00
Sarah Vaupel
43e5a67164 feat(tutorials): implement tutorial schedule opt handlers 2020-11-07 15:13:03 +01:00
Gregor Kleen
e25e8a2f4c fix(html-field): introduce stored-markup
BREAKING CHANGE: StoredMarkup
2020-11-06 20:39:43 +01:00
Sarah Vaupel
fd276879ad feat(tutorials): first stub of schedule-opt buttons 2020-11-06 15:55:06 +01:00
Gregor Kleen
78c5bc5258 fix(course): better explanation for material access 2020-11-06 12:12:39 +01:00
Gregor Kleen
a0e5edeaef Merge branch 'master' into workflows 2020-11-06 11:06:50 +01:00
Sarah Vaupel
0ecc3c689f feat(course-events): implement opt deletion 2020-11-05 22:54:35 +01:00
Sarah Vaupel
5f9aad8aa9 feat(course-events): implement opt toggle on CShowR 2020-11-05 21:25:50 +01:00
Sarah Vaupel
868a4afcc6 feat(course-events): implement opt handler 2020-11-05 18:09:17 +01:00
Gregor Kleen
44d43c706a chore: have db-fill use modification times for changelog 2020-11-05 17:29:54 +01:00
Sarah Vaupel
d0fe60b951 Merge branch 'master' into stundenplan 2020-11-05 16:17:43 +01:00
Sarah Vaupel
c984947598 feat(course-events): add basic (un)subscribe routes and handler 2020-11-05 16:17:24 +01:00
Gregor Kleen
ab1940cb09 feat(sheets): upload-empty-ok 2020-11-05 15:52:04 +01:00
Sarah Vaupel
d8a61ed307 feat(schedule): implement explanatory text 2020-11-05 12:32:18 +01:00
Gregor Kleen
03fec7752b Merge branch 'master' into workflows 2020-11-05 12:19:18 +01:00
Gregor Kleen
8cf39dcbe6 fix(mails): prevent emails being resent to due archiving errors 2020-11-05 11:05:36 +01:00
Sarah Vaupel
2c62a988df Merge branch 'master' into stundenplan 2020-11-05 00:05:09 +01:00
Gregor Kleen
fa61b46d30 fix: build 2020-11-04 18:18:59 +01:00
Gregor Kleen
0dbf4f8bde fix(mail): better separation of sender/from/envelope-from 2020-11-04 17:21:40 +01:00
Gregor Kleen
af9f96f3f1 chore: fix tests & refactor 2020-11-04 15:57:20 +01:00
Gregor Kleen
1666081fea feat(mail): archive all sent mail & better verp 2020-11-04 15:27:06 +01:00
Sarah Vaupel
c7e6c3c086 feat(schedule): add occurrence-wise opt-in/out
TODO: add interface triggers to insert, update and delete opt-in/out
2020-11-04 00:05:44 +01:00
Sarah Vaupel
51984cde87 Merge branch 'master' into stundenplan 2020-11-03 23:11:25 +01:00
Sarah Vaupel
61545cade0 feat(schedule-week): account for weekdays to hide 2020-11-03 23:10:30 +01:00
Gregor Kleen
4451ceedf7 feat(course): warning if re-registration is not possible
Fixes #646

BREAKING CHANGE: AccessPredicates now take continuation
2020-11-02 19:31:25 +01:00
Gregor Kleen
b6664089f7 fix(course): don't delete applications when deregistering
Fixes #648
2020-11-02 17:02:10 +01:00
Gregor Kleen
1c2c8fe3d9 fix(courses): better defaults for application/registration 2020-11-02 17:00:25 +01:00
Gregor Kleen
1c6ac4cb4a fix(exam-users): prevent exam results without registration via csv 2020-11-02 12:18:07 +01:00
Gregor Kleen
ef51c6e7c3 feat(users): assimilation 2020-11-02 09:58:01 +01:00
Sarah Vaupel
6f4891bb90 feat(schedule-week): hide weekdays according to user settings 2020-10-30 14:42:51 +01:00
Sarah Vaupel
e2b2b8e7e1 feat: displayed weekdays in settings 2020-10-30 14:34:18 +01:00
Sarah Vaupel
766397d114 feat(schedule): account for display default for exam occurrences 2020-10-29 15:23:33 +01:00
Sarah Vaupel
5e0737d1b1 feat(schedule): account for display default for tutorials 2020-10-29 14:28:36 +01:00
Sarah Vaupel
e21536f85d fix: add missing schedule fields to db fill, rename field 2020-10-29 14:27:55 +01:00
Sarah Vaupel
8b49bf866e feat(schedule): use occ display default for course events 2020-10-29 12:49:30 +01:00
Sarah Vaupel
ef8c572860 chore: rename schedule display default field 2020-10-29 12:48:45 +01:00
Sarah Vaupel
4a1002c2ce feat(profile): add new courses display default to user 2020-10-29 11:42:43 +01:00
Sarah Vaupel
52d027259f feat(profile): implement profile form validation wrt timeslots 2020-10-28 21:25:49 +01:00
Sarah Vaupel
3b90b9caa9 fix(profile): add missing fields to user update 2020-10-28 20:01:47 +01:00
Sarah Vaupel
4f13bd422c feat(schedule-week): use user timeslot settings
TODO/FIXME: timeslot handling needs major cleanup
2020-10-28 19:56:06 +01:00
Sarah Vaupel
6aaa5cc477 feat: add timeslot related settings to user and profile form 2020-10-28 19:41:22 +01:00
Sarah Vaupel
dc4bbbd97b refactor(schedule-week): split TimeSlot module into types and definitions 2020-10-28 18:42:50 +01:00
Sarah Vaupel
145564cf77 feat(schedule-week): use userWeekStart in weekly schedule 2020-10-28 17:47:26 +01:00
Sarah Vaupel
0c9671b3d9 feat: add week start to user settings 2020-10-28 17:39:13 +01:00
Gregor Kleen
6a7a892c74 feat(workflows): node messages 2020-10-28 17:16:42 +01:00
Sarah Vaupel
4151f62fa5 feat(schedule): enhance messages, restructure profile form 2020-10-28 16:11:32 +01:00
Gregor Kleen
5b897c7a42 feat(workflows): further work on WorkflowWorkflowWorkflow 2020-10-28 15:59:16 +01:00
Sarah Vaupel
f5713fdb65 feat(schedule): lookup and use user default schedule view 2020-10-27 12:26:26 +01:00
Sarah Vaupel
b757acb522 feat(profile): add default schedule view to profile form 2020-10-27 12:22:10 +01:00
Gregor Kleen
3e6935490b Merge branch 'master' into workflows 2020-10-27 11:02:03 +01:00
Sarah Vaupel
304a60560d Merge branch 'master' into stundenplan 2020-10-27 10:25:51 +01:00
Gregor Kleen
3ff2cf1fec fix: work around conduit-bug releasing fh to early 2020-10-27 10:15:31 +01:00
Gregor Kleen
ca29a66330 fix(exams): error messages for foreign key constraint violations 2020-10-26 16:27:02 +01:00
Gregor Kleen
5108e1494a feat(workflows): additional work on WorkflowWorkflowWorkflow 2020-10-26 14:52:58 +01:00