Commit Graph

2800 Commits

Author SHA1 Message Date
Wolfgang Witt
91a7e11987 chore: implement favourite/blacklist toggle 2021-04-13 15:06:22 +02:00
Wolfgang Witt
3f48d5aa0c chore: only display favouriteToggle-Button when logged in 2021-04-13 15:06:22 +02:00
Wolfgang Witt
0556b769cf refactor: don't interpret during lookup 2021-04-13 15:06:21 +02:00
Wolfgang Witt
0605e940c6 refactor: use the same function to lookup storedFavouriteReason 2021-04-13 15:06:21 +02:00
Wolfgang Witt
f0ddd680d1 chore: lookup current favourite reason in DB 2021-04-13 15:06:21 +02:00
Wolfgang Witt
e23a5a64cc chore: button only redirects to postCFavouriteR
actual swapping should happen there
still need to display the correct button
2021-04-13 15:06:21 +02:00
Wolfgang Witt
6b9c0849e4 chore: show some Icon calling postCFavouriteR 2021-04-13 15:06:20 +02:00
Gregor Kleen
9859c2e99c fix: prevent deleting sheet-referenced exam parts
Fixes #681
2021-04-13 14:51:31 +02:00
Gregor Kleen
5c709f1bbb fix: build 2021-04-13 12:18:12 +02:00
Winnie Ros
dbbc9c4a69 refactor(messages): continuing 2021-04-12 16:37:56 +02:00
Gregor Kleen
37cdc775b5 feat: partial support for lsf import
Work on #686
2021-04-12 11:54:13 +02:00
Gregor Kleen
939ab37588 feat: additional general purpose caching tier (memcachedLocal) 2021-04-08 18:36:06 +02:00
Winnie Ros
c2ea33066f refactor(messages): continuing utils-folder 2021-04-08 18:15:21 +02:00
Winnie Ros
2e57c81a75 refactor(messages): beginning utils-folder 2021-04-07 10:58:35 +02:00
Winnie Ros
fadd3f1a79 refactor(messages): tutorial-folder 2021-04-06 12:37:55 +02:00
Winnie Ros
cbae982287 refactor(messages): submission-folder 2021-04-03 11:13:00 +02:00
Winnie Ros
cdaf1420e8 refactor(messages): admin-folder 2021-04-02 16:59:09 +02:00
Winnie Ros
f51679697f refactor(messages): sheet-folder 2021-04-02 15:53:10 +02:00
Gregor Kleen
d65bd6889b refactor: improve cryptoid caching 2021-03-30 20:02:16 +02:00
Gregor Kleen
6f291b2e68 feat(course-users-table): json export 2021-03-30 15:49:53 +02:00
Winnie Ros
607fb12fa4 refactor(messages): course-bugs fixed, exam/* finished 2021-03-30 13:22:13 +02:00
Gregor Kleen
af3ec98de5 fix(admin-tokens): avoid option none 2021-03-30 11:23:14 +02:00
Wolfgang Witt
5c56745042 chore: unify runDB calls 2021-03-29 16:03:40 +02:00
Wolfgang Witt
16cbc78878 fix: correctly report NoUsers for ExamRoomRandom
preselection was ignored for the check so far
2021-03-29 16:03:38 +02:00
Wolfgang Witt
e00a2b074b chore: nudges for ExamRoomRandom have a bigger effect 2021-03-29 16:03:38 +02:00
Wolfgang Witt
f9b545952d chore: disable accept button for failing results 2021-03-29 16:03:38 +02:00
Wolfgang Witt
02589e4d00 fix: correct rebase-sourced error 2021-03-29 16:03:37 +02:00
Wolfgang Witt
ea32fdfa91 chore: convert buttons to icons 2021-03-29 16:03:37 +02:00
Wolfgang Witt
84a50646b0 chore: strikethrough names of ignored occurrences 2021-03-29 16:03:37 +02:00
Wolfgang Witt
25fa6ef0d7 refactor: hlint 2021-03-29 16:03:36 +02:00
Wolfgang Witt
a36f0deb09 chore: always show the correct ignore/reconsider button 2021-03-29 16:03:36 +02:00
Wolfgang Witt
b2d6eada17 refactor: calculate mimizeRooms before examAutoOccurrence 2021-03-29 16:03:36 +02:00
Wolfgang Witt
d5bd5042ad fix: correctly handle original minimizeRooms-flag 2021-03-29 16:03:36 +02:00
Wolfgang Witt
732df50530 fix: sort occurrences in the right order 2021-03-29 16:03:36 +02:00
Wolfgang Witt
30fb1462ab chore: make tests compile again 2021-03-29 16:03:36 +02:00
Wolfgang Witt
ce0f48b82a chore: don't redirect, but show a nullResult for Left 2021-03-29 16:03:35 +02:00
Wolfgang Witt
fabf56c164 fix: check space of occurrences after ignoring 2021-03-29 16:03:35 +02:00
Wolfgang Witt
11664dcd82 fix: buttons know about ALL actions from other buttons 2021-03-29 16:03:35 +02:00
Wolfgang Witt
13af035223 chore: correct button classes 2021-03-29 16:03:35 +02:00
Wolfgang Witt
65d0f24d71 chore: rename btn-constructors 2021-03-29 16:03:35 +02:00
Wolfgang Witt
362e2cf00d chore: also return sorted-state of occurrences 2021-03-29 16:03:34 +02:00
Wolfgang Witt
f6cbf99245 fix: oops 2021-03-29 16:03:34 +02:00
Wolfgang Witt
a35a481f33 chore: create (incomplete) ignore/reconsider buttons 2021-03-29 16:03:34 +02:00
Wolfgang Witt
25262aa7a5 chore: allow ignoring occurances based on a curated set 2021-03-29 16:03:34 +02:00
Wolfgang Witt
ddb68eeb98 chore: allow nudges between unrestricted rooms (random) 2021-03-29 16:03:33 +02:00
Wolfgang Witt
3ab8be2e0d chore: reimagine nudge usage
- scale appropriately for unrestricted sizes
- don't behave weirdly for very large rooms
2021-03-29 16:03:33 +02:00
Wolfgang Witt
ff5d27cdf3 refactor: don't store order of unrestrictedOccurrences 2021-03-29 16:03:33 +02:00
Wolfgang Witt
2be9d76af2 fix: use extraUsers instead of extraCapacity for unrestricted pseudo-capacity 2021-03-29 16:03:33 +02:00
Wolfgang Witt
ae3e1b6266 Apply 1 suggestion(s) to 1 file(s) 2021-03-29 16:03:33 +02:00
Wolfgang Witt
74219c632d Apply 2 suggestion(s) to 2 file(s) 2021-03-29 16:03:32 +02:00
Wolfgang Witt
6e20c22f7d chore: introduce a real cost function for unrestricted rooms 2021-03-29 16:03:32 +02:00
Wolfgang Witt
b7d7252649 refactor: hlint 2021-03-29 16:03:32 +02:00
Wolfgang Witt
d34f674c3e chore: use ∞ to display unrestricted room size 2021-03-29 16:03:31 +02:00
Wolfgang Witt
03a0899f5f chore: chase error messages 2021-03-29 16:03:31 +02:00
Wolfgang Witt
1c24b8e5e2 chore: display unrestricted rooms as "-" 2021-03-29 16:03:31 +02:00
Wolfgang Witt
7e425754fc chore: inform examAutoOccurrence about unrestricted room sizes 2021-03-29 16:03:31 +02:00
Winnie Ros
ee7f32f5cc refactor(messages): course finished, templates-msgs added 2021-03-25 13:07:43 +01:00
Winnie Ros
580c62067a refactor(messages): course finished, templates missing 2021-03-25 11:13:16 +01:00
Gregor Kleen
2f85cea1de perf: reduce db-conn-load of tokens 2021-03-24 17:35:40 +01:00
Gregor Kleen
da724654ed perf: try to reduce db connection load of auth 2021-03-23 11:07:05 +01:00
Gregor Kleen
1036926470 feat(course-participants): csv export first name/surname separately 2021-03-22 12:00:07 +01:00
Gregor Kleen
383d709620 refactor: give glossaryTerms better type 2021-03-19 16:58:10 +01:00
Gregor Kleen
8795edd1fa feat(submissions): also warn correctors about multiple submissions 2021-03-19 16:25:48 +01:00
Gregor Kleen
c19a00dcef feat(submissions): warn about multiple submissions for same user 2021-03-19 16:09:15 +01:00
Gregor Kleen
9d1f1c6910 fix(auth): wrong caching for external-exam-staff 2021-03-19 14:20:49 +01:00
Gregor Kleen
72191315b6 fix(submissions): improve submission process
Fixes #675
2021-03-19 14:13:32 +01:00
Gregor Kleen
78d0f2522d feat(exams): exam finish button 2021-03-19 00:05:56 +01:00
Gregor Kleen
a6390eccbd fix(submissions): take care when to display corrections
Also cleanup usage of Utils via hlint
2021-03-18 23:12:36 +01:00
Gregor Kleen
91a51664c3 feat(submissions): improve behaviour of sheet-type-exam-part
Fixes #676
2021-03-18 17:50:27 +01:00
Gregor Kleen
8bdaae0881 fix(csv-export): mime confusion 2021-03-17 21:38:18 +01:00
Gregor Kleen
5c513946c1 feat(csv-export): .xlsx 2021-03-17 21:15:00 +01:00
Gregor Kleen
f09f851e2b perf(admin-tokens): worse but faster selection of active users 2021-03-17 09:45:13 +01:00
Gregor Kleen
a314f64a70 fix: weight random token impersonation towards active users 2021-03-17 00:19:45 +01:00
Winnie Ros
51a90bbb5f refactor(messages): course/application/event 2021-03-16 16:40:57 +01:00
Gregor Kleen
600bbe5d7e feat: admins can efficiently generate many tokens for random users 2021-03-16 16:02:00 +01:00
Winnie Ros
8d9d3c613f refactor(messages): msgmenu only for navLabel, gender-neutral language navigation 2021-03-16 11:43:00 +01:00
Winnie Ros
7b10a9ae0f refactor(messages): breadcrumbs extracted and added 2021-03-15 17:23:30 +01:00
Wolfgang Witt
9b0adab023 chore: extende random distribution with nudges 2021-03-15 10:45:37 +00:00
Wolfgang Witt
9c928b0375 fix: make sure to report NoUsers, regardless of rule 2021-03-15 10:45:37 +00:00
Wolfgang Witt
e13049d958 chore(test): inform test about changed type signature 2021-03-15 10:45:37 +00:00
Wolfgang Witt
163715afc8 chore: hlint 2021-03-15 10:45:37 +00:00
Wolfgang Witt
a7671dbec6 chore: remove TODO marker 2021-03-15 10:45:37 +00:00
Wolfgang Witt
767090ded1 chore: check for no users first 2021-03-15 10:45:37 +00:00
Wolfgang Witt
5dc37a07c1 chore: improve error messages 2021-03-15 10:45:37 +00:00
Wolfgang Witt
0765f4b925 chore: chasing type-errors
messages are still temporary
2021-03-15 10:45:37 +00:00
Wolfgang Witt
e03326e1ac chore: examAutoOccurrence converted to Either 2021-03-15 10:45:37 +00:00
Wolfgang Witt
72d42baec5 chore: remove redundant seq 2021-03-15 10:45:37 +00:00
Wolfgang Witt
6dedb2b2a0 Apply 1 suggestion(s) to 1 file(s) 2021-03-15 10:45:37 +00:00
Wolfgang Witt
6ae1aeaeb0 Apply 5 suggestion(s) to 1 file(s) 2021-03-15 10:45:37 +00:00
Wolfgang Witt
ad67c2e0e2 chore: remove trailing 'A' from surname-range-start
- still add it if the previous end was too short
- this way overall shorter descriptions are possible
- in rare cases (at maxTagLength) this  prevented a description to be created
2021-03-15 10:45:37 +00:00
Wolfgang Witt
c99d96ecb8 fix: handle rare cases where a mappingDescription with start>end would be produced 2021-03-15 10:45:37 +00:00
Wolfgang Witt
cd07a56a9f fix: correctly calculate maximum user name length 2021-03-15 10:45:37 +00:00
Wolfgang Witt
daceac95fc chore(test): relax requirements for justified nullResult
Instances with bigger user buckets than the smallest room might correctly fail
Thus, don't report an error for them.
2021-03-15 10:45:37 +00:00
Wolfgang Witt
7e1b75c2e1 fix: shown ranges "include" special mappings
previously, they stopped just before leading to clashes with the next range
e.g. Äm would cause Am as mapping end with the next starting at An
Now, the mapping end is AZ with the next starting at BA
2021-03-15 10:45:37 +00:00
Wolfgang Witt
4f4cd394db chore: add missing+remove redundant imports 2021-03-15 10:45:37 +00:00
Wolfgang Witt
b974942f07 chore: matriculation numbers limited same length again
- this time as suffixes
- also start range description with full used length
  otherwise suffix-description is confusing
2021-03-15 10:45:37 +00:00
Wolfgang Witt
f0a79dff65 chore: rewrite ExamRoomRandom mapping, so it actually respects room sizes 2021-03-15 10:45:37 +00:00
Wolfgang Witt
a559ac74cb chore: include non-ascii names in range-calculation 2021-03-15 10:45:37 +00:00
Wolfgang Witt
8e4cb0917d fix: make sure unfortunate combination doesn't only produce 0-9 ranges for matrikelnummer 2021-03-15 10:45:37 +00:00
Wolfgang Witt
fc35fd26c1 fix: mappingDescription doesn't overlap for the first n rooms/with small names/matrikelnummer 2021-03-15 10:45:37 +00:00
Wolfgang Witt
6ccc192426 chore: remove -Wwarn 2021-03-15 10:45:37 +00:00
Wolfgang Witt
5480e2d7b7 chore: names with non-ascii prefix get a ExamOccurrenceMappingSpecial 2021-03-15 10:45:37 +00:00
Wolfgang Witt
d60f93561f fix: make sure it compiles again + add 2-letter name 2021-03-15 10:45:37 +00:00
Wolfgang Witt
873d5a02ad fix: ensure termination for non-{'A'..'Z']-names 2021-03-15 10:45:37 +00:00
Wolfgang Witt
344bd420cd chore: don't use suffix of a prefix for mapping description 2021-03-15 10:45:37 +00:00
Wolfgang Witt
8f2b31acef chore: add padding to mappingRange if names are too short 2021-03-15 10:45:37 +00:00
Wolfgang Witt
5a3b2881c4 chore: rewrite resultAscList 2021-03-15 10:45:37 +00:00
Wolfgang Witt
f0f6706bcf chore: remove redundant MultiWayIf 2021-03-15 10:45:37 +00:00
Wolfgang Witt
479f4326b2 chore: filter out all empty/prefilled rooms
They might produce unnecessary null-results
2021-03-15 10:45:37 +00:00
Wolfgang Witt
317b95be31 fix: check if number of relevant user is >0 to prevent crash 2021-03-15 10:45:37 +00:00
Wolfgang Witt
44a52e034f chore: filter out pre-filled rooms 2021-03-15 10:45:37 +00:00
Wolfgang Witt
4fc05351fa fix: user with a pre-assigned room count towards the capacity limit 2021-03-15 10:45:37 +00:00
Wolfgang Witt
e487ceff58 fix: make sure line-break algorithm respects available lines 2021-03-15 10:45:37 +00:00
Wolfgang Witt
eaf245beaa fix: examAutoOccurence no longer user >100% of a room 2021-03-15 10:45:37 +00:00
Wolfgang Witt
7b0fd61f7f fix: spelling plugin had a suggestion; actually Hello World commit :p 2021-03-15 10:45:37 +00:00
Gregor Kleen
e88b6d6bab fix: invalidate nav caches 2021-03-12 18:39:00 +01:00
Gregor Kleen
6fbef0433c perf: additional/improved auth caching 2021-03-12 14:59:38 +01:00
Winnie Ros
5a9bf0de2e refactor(messages): split of settings completed 2021-03-12 13:15: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
ea33d844cc feat(messages): mkMessageAddition 2021-03-06 22:31:20 +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
b9cc5b9970 feat(transaction-log): more details about submission files 2021-02-24 12:39:32 +01:00
Gregor Kleen
fb6ae089c6 feat(bot-mitigations): only logged in table sorting 2021-02-21 13:39:47 +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
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
8ecb460f39 fix: unbreak arc 2021-02-10 22:58:01 +01:00
Gregor Kleen
36debd865f feat: implement in-memory cache for file download 2021-02-10 20:06:59 +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
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
c7c4f50f5b refactor: hlint 2021-01-27 22:22:12 +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
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
3a106d1ee5 feat: don't redirect monitoring routes & crontab tokens 2020-12-09 15:33:54 +01:00
Gregor Kleen
bbd4916f3a feat(admin-crontab): export as json 2020-12-09 15:16:33 +01:00
Gregor Kleen
ed38f93537 fix(jobs): adjust job handling to hopefully reduce load 2020-12-09 13:25:26 +01:00
Gregor Kleen
3ba41d8f24 fix(downloads): do download links via redirect 2020-12-08 17:34:39 +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
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
c392cb5895 refactor(workflows): better modularize workflow-workflow-list 2020-12-03 17:51:07 +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
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
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
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
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
4ea54d8b82 refactor: hlint 2020-11-10 19:46:22 +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
Gregor Kleen
6008cb040d fix(personalised-sheet-files): don't delete files when "keep" 2020-11-09 17:07:17 +01:00
Gregor Kleen
e25e8a2f4c fix(html-field): introduce stored-markup
BREAKING CHANGE: StoredMarkup
2020-11-06 20:39:43 +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
Gregor Kleen
ab1940cb09 feat(sheets): upload-empty-ok 2020-11-05 15:52:04 +01:00
Gregor Kleen
03fec7752b Merge branch 'master' into workflows 2020-11-05 12:19:18 +01:00
Gregor Kleen
1666081fea feat(mail): archive all sent mail & better verp 2020-11-04 15:27:06 +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
Gregor Kleen
6a7a892c74 feat(workflows): node messages 2020-10-28 17:16:42 +01:00
Gregor Kleen
5b897c7a42 feat(workflows): further work on WorkflowWorkflowWorkflow 2020-10-28 15:59:16 +01:00
Gregor Kleen
3e6935490b Merge branch 'master' into workflows 2020-10-27 11:02:03 +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
Gregor Kleen
64c8f9ab3d refactor: hlint 2020-10-20 15:58:05 +02:00
Gregor Kleen
48fd6bc702 chore: additional faqs 2020-10-20 15:32:51 +02:00
Gregor Kleen
b79bac777c feat(allocations): display participant counts to admins 2020-10-20 15:01:44 +02:00
Gregor Kleen
b4df980699 fix(allocations): fix allocation-course-accept-substitutes 2020-10-20 13:06:36 +02:00
Gregor Kleen
fd7c91f5b8 feat(workflows): initiate 2020-10-19 21:46:10 +02:00
Gregor Kleen
ddd1dd5df4 Merge branch 'master' into workflows 2020-10-14 17:01:31 +02:00
Gregor Kleen
4a731eca4e fix(allocations): work around yesod weirdness wrt "none" 2020-10-14 08:28:19 +02:00
Gregor Kleen
6cd9f9bbfd Merge branch 'master' into workflows 2020-10-13 14:31:48 +02:00
Gregor Kleen
0d372c636a feat(authorisation): cookie-active-auth-tags 2020-10-13 14:22:23 +02:00
Gregor Kleen
850c8d4dae fix(changelog): try not to crash on unknown changelog items 2020-10-13 14:14:58 +02:00
Gregor Kleen
8abcd65edf feat(allocations): allocation-course-accept-substitutes 2020-10-13 13:06:12 +02:00
Gregor Kleen
7b7f11e728 feat(allocations): ui for adding applicants 2020-10-12 21:09:15 +02:00
Gregor Kleen
d817179113 refactor: hlint 2020-10-12 15:14:01 +02:00
Gregor Kleen
5207bcf8a1 Merge branch 'master' into workflows 2020-10-12 14:34:38 +02:00
Gregor Kleen
29a3e24bcf feat(exams): auth ExamResults by ExamExamOfficeSchools 2020-10-12 14:32:59 +02:00
Gregor Kleen
94436ee0e1 feat(exams): exam staff & additional schools 2020-10-12 14:08:14 +02:00
Gregor Kleen
a4114a79f1 feat(allocations): csv-export new-assigned 2020-10-10 21:22:43 +02:00
Gregor Kleen
7f7d2c7957 feat(allocations): include study features in users table 2020-10-10 17:36:02 +02:00
Gregor Kleen
48eddaf1ed Merge branch 'master' into workflows 2020-10-08 09:42:28 +02:00
Gregor Kleen
564c0b975a fix(study-features): also apply caching to table columns 2020-10-06 13:31:36 +02:00
Gregor Kleen
8f6d54d012 feat(study-features): cache study features term relevance 2020-10-06 12:31:32 +02:00
Gregor Kleen
baea302e48 feat(workflows): placeholder handlers 2020-09-30 16:51:24 +02:00
Gregor Kleen
0ced4094c9 Merge branch 'master' into workflows 2020-09-29 11:10:48 +02:00
Gregor Kleen
4b459ea143 fix(exams): default exam mode to Nothing 2020-09-29 10:14:27 +02:00
Gregor Kleen
653f7f30dd Merge branch 'master' into workflows 2020-09-29 09:43:40 +02:00
Gregor Kleen
63a876fb97 Merge branch 'master' into feat/allocation-new-course-notification 2020-09-28 19:51:36 +02:00
Gregor Kleen
d9d353fcb7 feat(changelog): implement changelog like faq 2020-09-28 19:47:32 +02:00
Gregor Kleen
35737902b7 Merge branch 'master' of gitlab2.rz.ifi.lmu.de:uni2work/uni2work into master 2020-09-28 12:45:38 +02:00
Gregor Kleen
0e1035ddb0 refactor: generalize mkFaqItems 2020-09-28 12:23:38 +02:00
Gregor Kleen
f9c50c80f2 feat(exams): check exam_discouraged_modes 2020-09-28 11:22:00 +02:00
Gregor Kleen
f7bab3befc feat(exams): exam design & school exam rules 2020-09-28 11:22:00 +02:00
Gregor Kleen
9e0b43a60d fix(allocations): notify for new course upon registration 2020-09-28 11:20:26 +02:00
Gregor Kleen
18921e06d1 feat(allocations): notify about new courses 2020-09-28 10:55:09 +02:00
Gregor Kleen
c7f4fa0e41 fix(workflows): ui improvements
BREAKING CHANGE: digests now json encode via base64

Also improve efficiency of marking workflow files as referenced
2020-09-28 10:51:51 +02:00
Gregor Kleen
99f3fca6d0 fix(workflows): integrate in new master 2020-09-25 16:42:45 +02:00
Gregor Kleen
bda4f81702 feat(workflows): delete definitions 2020-09-25 13:20:52 +02:00
Gregor Kleen
ff370c68c7 feat(workflows): list & edit definitions 2020-09-25 13:20:50 +02:00
Gregor Kleen
4d63d30634 feat(workflows): create new workflow definitions 2020-09-25 13:15:54 +02:00
Gregor Kleen
e3b5b93c71 feat(workflows): definition route stubs & i18n 2020-09-25 13:13:24 +02:00
Gregor Kleen
b359468593 feat(allocations): show staff descriptions 2020-09-25 12:02:59 +02:00
Gregor Kleen
4801d22cb3 feat(metrics): measure file i/o 2020-09-21 12:16:47 +02:00
Gregor Kleen
6d475497c0 fix(exam-form): sort occurrences and parts 2020-09-18 15:16:55 +02:00
Gregor Kleen
e5ae1521a0 fix(metrics): sort metrics 2020-09-17 20:38:00 +02:00
Gregor Kleen
937326639a feat(sheet): warn about no submission without not graded
Fixes #342
2020-09-16 17:22:38 +02:00
Gregor Kleen
28e93c8fec chore(files): test roundtripping through minio & db 2020-09-11 18:43:00 +02:00
Gregor Kleen
ce54adce6b fix(files): fix download of non-injected files 2020-09-11 16:15:33 +02:00
Gregor Kleen
7d559cc0f1 Merge branch '631-content-dependent-chunking' into master 2020-09-11 12:05:55 +02:00
Gregor Kleen
5659f2df1e fix(dbtable): calculate height of header correctly
Fixes #634
2020-09-10 16:45:16 +02:00
Gregor Kleen
350ee79af3 fix: zip handling & tests 2020-09-09 13:44:01 +02:00
Gregor Kleen
d624a951c5 feat(files): content dependent chunking 2020-09-07 14:27:36 +02:00
Gregor Kleen
8f608c1955 feat(files): chunking
BREAKING CHANGE: files now chunked
2020-09-02 21:25:20 +02:00
Gregor Kleen
56c23ebd33 style: minor frontend cleanup wrt. monospace fonts 2020-08-28 14:00:52 +02:00
Gregor Kleen
bbfd182ed9 feat: support for ldap primary keys 2020-08-28 14:00:26 +02:00
Gregor Kleen
fdaad16e71 fix: don't set user-last-authentication during ldap sync 2020-08-28 12:38:37 +02:00
Gregor Kleen
297ff4f025 feat: automatically sync system functions from ldap 2020-08-27 22:58:29 +02:00
Gregor Kleen
abc37aca9c feat: add user-system-function 2020-08-27 22:58:28 +02:00
Gregor Kleen
2c4080d0e0 feat: generated columns tooltip 2020-08-27 14:55:32 +02:00
Gregor Kleen
6abe5c8b3f refactor: hlint 2020-08-27 14:43:18 +02:00
Gregor Kleen
363f7abc19 feat: restore study features in all tables 2020-08-27 14:29:35 +02:00
Gregor Kleen
44eeffcc70 feat: course applications study features 2020-08-27 13:14:18 +02:00
Gregor Kleen
96d0ba8f7a feat: study feature filtering 2020-08-27 11:51:16 +02:00
Gregor Kleen
51a98f0670 feat: reduce number of study features for courses 2020-08-26 23:46:21 +02:00
Gregor Kleen
f44f150747 fix: order of on in exam office auth 2020-08-26 21:55:44 +02:00
Gregor Kleen
f7a9bc831a feat(study-features): further restriction by course 2020-08-26 20:54:21 +02:00
Gregor Kleen
32c18038b6 Merge branch 'master' into 623-kursassoziierte-studienfacher-abschaffen 2020-08-26 16:33:09 +02:00
Gregor Kleen
24f428b13b fix: have exam deregistration always delete stored grades 2020-08-26 16:03:54 +02:00
Gregor Kleen
ab841a65a3 Merge branch 'master' into 623-kursassoziierte-studienfacher-abschaffen 2020-08-26 13:45:37 +02:00
Gregor Kleen
06375f8cd8 style(dbtable): add rowspan to number column header 2020-08-26 13:29:03 +02:00
Gregor Kleen
4f9a4f7f44 refactor: remove course-participant-field, course-application-field 2020-08-25 14:27:58 +02:00
Gregor Kleen
dcb83d96fc feat(study-features): add study-features-first-observed 2020-08-25 12:27:40 +02:00
Gregor Kleen
0261b3979d fix(notification-form): define rules for all notification-triggers
Fixes #561
2020-08-21 12:09:17 +02:00
Sarah Vaupel
97b22171bf Apply 1 suggestion(s) to 1 file(s) 2020-08-17 11:35:13 +02:00
Sarah Vaupel
f2e6435a03 chore: move Utils.Exam to Utils.Exam.Correct 2020-08-17 11:29:48 +02:00
Sarah Vaupel
6244a250ee Apply 1 suggestion(s) to 1 file(s) 2020-08-17 11:08:34 +02:00
Sarah Vaupel
323d423fc6 Apply 1 suggestion(s) to 1 file(s) 2020-08-17 11:08:24 +02:00
Sarah Vaupel
df18a6bea3 Apply 1 suggestion(s) to 1 file(s) 2020-08-17 11:08:10 +02:00
Sarah Vaupel
7e14fef5c5 fix: hlint 2020-08-17 10:48:46 +02:00
Sarah Vaupel
58c933c624 fix: hlint 2020-08-15 19:16:14 +02:00
Sarah Vaupel
662943b256 fix: hlint 2020-08-15 19:03:12 +02:00
Sarah Vaupel
366761ba84 Merge branch 'master' into eecorrectr 2020-08-15 16:57:08 +02:00
Sarah Vaupel
ad4ae713c8 fix(guess-user): fix ldap-lookup condition and refactor 2020-08-15 16:37:13 +02:00
Sarah Vaupel
4154a395f4 feat(guess-user): add option to limit query 2020-08-14 19:03:57 +02:00
Sarah Vaupel
ca96518e0e feat(guess-user): replace guessUser and usages 2020-08-14 18:16:05 +02:00
Gregor Kleen
c68a01d7ae refactor: split foundation & llvm
BREAKING CHANGE: split foundation
2020-08-14 17:02:14 +02:00
Sarah Vaupel
58ae9dddbc feat(guess-user): variant of guessUser 2020-08-14 15:53:27 +02:00
Sarah Vaupel
e1a9977772 chore(guess-user): first stub with PredDNF 2020-08-13 13:48:31 +02:00
Sarah Vaupel
753e29dfff chore(guess-user): first stub with different return type 2020-08-13 11:49:10 +02:00
Sarah Vaupel
3b4c7fed36 feat(eecorrectr): more appropriate error messages 2020-08-12 17:53:38 +02:00
Sarah Vaupel
527fd8a5ca chore(exam-correct): remove TODOs 2020-08-12 17:40:43 +02:00
Sarah Vaupel
e941083a44 feat(exam-correct): add hasMore to no-op reponse 2020-08-12 16:13:25 +02:00
Sarah Vaupel
d4d27f8ef6 feat(exam-correct): limit number of matching users (BE) 2020-08-12 16:03:36 +02:00
Sarah Vaupel
62fef35475 refactor(exam-correct): get rid of hardcoded minNeedleLength 2020-08-12 14:49:44 +02:00
Sarah Vaupel
5d9ca454fa fix(eecorrectr): encrypt eeid 2020-08-12 14:31:55 +02:00
Sarah Vaupel
4515987446 refactor(exam-correct): move responseStatus to utils 2020-08-12 13:51:38 +02:00
Sarah Vaupel
36d45fcc0e refactor(exam-correct): move userToResponse to utils 2020-08-12 13:35:06 +02:00
Sarah Vaupel
33691556ab fix(eecorrectr): use default time 2020-08-12 11:58:15 +02:00
Sarah Vaupel
de02895ed0 feat(eecorrectr): basic handler structure (WIP) 2020-08-11 21:18:59 +02:00
Sarah Vaupel
be2eb3c38d feat(eecorrectr): add handlers and navigation 2020-08-11 16:01:51 +02:00
Gregor Kleen
2b9c2602bf refactor: hlint 2020-08-11 10:56:43 +02:00
Sarah Vaupel
0f519050eb refactor: move correct interfaces to utils 2020-08-11 10:00:42 +02:00
Gregor Kleen
f46d187f18 Merge branch 'master' of gitlab2.rz.ifi.lmu.de:uni2work/uni2work into version-bumps 2020-08-11 09:30:55 +02:00
Gregor Kleen
eb0aeeadbb Merge branch 'master' into version-bumps 2020-08-10 22:11:31 +02:00
Gregor Kleen
0fcb65f9fa refactor: hlint 2020-08-10 21:59:16 +02:00
Gregor Kleen
9827f10b5d Merge branch 'master' into feat/customized-exercises 2020-08-10 15:56:16 +02:00
Gregor Kleen
b9181de154 chore: bump to ghc-8.10 2020-08-10 15:41:19 +02:00
Sarah Vaupel
9494019694 feat(course-visibility): error on visibleFrom > visibleTo 2020-08-10 13:55:00 +02:00
Sarah Vaupel
036d761ec8 refactor(course-visibility): comment DBSTCourse 2020-08-10 12:44:45 +02:00
Sarah Vaupel
a7abe1231a refactor(course-visibility): remove unnecessary allocation checks 2020-08-10 12:40:43 +02:00
Gregor Kleen
99c810b82e refactor(submission-own-r): add comment explaining behaviour 2020-08-10 12:08:18 +02:00
Gregor Kleen
93d0ace8ba feat(personalised-sheet-files): download from CUsersR 2020-08-10 11:41:51 +02:00
Sarah Vaupel
d20ad6c5db Apply 1 suggestion(s) to 1 file(s) 2020-08-10 11:40:03 +02:00
Sarah Vaupel
e4f9f393eb Apply 1 suggestion(s) to 1 file(s) 2020-08-10 11:37:55 +02:00
Gregor Kleen
0b0eaff20d fix(personalised-sheet-files): more thorough check wrt sub-warnings 2020-08-10 10:35:09 +02:00
Sarah Vaupel
1e016dab17 Merge branch 'master' into course-visibility 2020-08-08 15:43:00 +02:00
Sarah Vaupel
dfa70ee7fe feat(course-visibility): allow access for exam correctors 2020-08-08 12:54:37 +02:00
Sarah Vaupel
16ad72d876 feat(course-visibility): warn on deregister from invisible course 2020-08-08 12:38:20 +02:00
Gregor Kleen
f452b2b24f feat(personalised-sheet-files): i18n 2020-08-07 20:51:53 +02:00
Gregor Kleen
db205f635d feat(personalised-sheet-files): participant interaction 2020-08-07 18:18:41 +02:00
Gregor Kleen
1fe63a23a0 feat(personalised-sheet-files): collated ignore 2020-08-07 14:31:22 +02:00
Sarah Vaupel
183aa8d222 feat(course-visibility): redirect to NewsR after deregister (WIP!) 2020-08-06 20:38:39 +02:00
Sarah Vaupel
7bdf8cac88 feat(course-visibility): now as default visibleFrom for new courses 2020-08-06 11:18:09 +02:00
Gregor Kleen
ed5fb6e218 feat(personalised-sheet-files): finish upload functionality
TODO: Interaction of course participants with personalised files
2020-08-06 09:57:53 +02:00
Sarah Vaupel
6fbb2eabf1 feat(course-visibility): more precise description on CShowR 2020-08-06 09:09:27 +02:00
Sarah Vaupel
c1eb558871 refactor(course-visibility): major course-util refactor
- refactor Utils.Course and usages
- check for open allocation registration in courseIsVisible
- remove isAssociated from favourites (not needed anymore)
2020-08-05 21:08:02 +02:00
Sarah Vaupel
06c4e0c2c3 refactor(course-visibility): use E.maybe 2020-08-05 11:39:24 +02:00
Gregor Kleen
c4c952ebc1 Merge branch 'master' into feat/customized-exercises 2020-08-04 10:07:36 +02:00
Gregor Kleen
a9cdfcc7e1 refactor: hlint 2020-08-03 14:16:03 +02:00
Gregor Kleen
1be971677b fix(jobs): queue certain jobs at most once 2020-08-03 13:52:37 +02:00
Sarah Vaupel
23aca1caa4 feat(course-visibility): warn on invisibility during registration 2020-08-03 10:37:09 +02:00
Gregor Kleen
460c133aac feat: admin-crontab-r 2020-08-03 10:11:52 +02:00
Sarah Vaupel
7530287788 fix(course-visibility): correctly count courses on AllocationListR 2020-08-02 17:49:01 +02:00
Sarah Vaupel
a16eb1ab91 feat(course-visibility): rework visibility check for ZA courses 2020-08-02 16:15:54 +02:00
Sarah Vaupel
27d57fba32 Merge branch 'master' into course-visibility 2020-07-31 18:06:02 +02:00
Gregor Kleen
a0392dd329 fix: better concurrency behaviour 2020-07-31 18:00:30 +02:00
Sarah Vaupel
4185742f38 feat(course-visibility): account for visibility on AllocationListR 2020-07-30 15:09:03 +02:00
Sarah Vaupel
0c3f2011dd refactor(course-visibility): make course utils require less 2020-07-30 11:52:28 +02:00
Sarah Vaupel
c99433c291 fix(course-visibility): account for active auth tags everywhere 2020-07-29 16:44:39 +02:00
Sarah Vaupel
0ff07a5fad feat(course-visibility): account for visibility on TShowR 2020-07-29 15:31:02 +02:00
Sarah Vaupel
df7a784a9d feat(course-visibility): account for visibility on AShowR 2020-07-29 15:11:40 +02:00
Sarah Vaupel
ec43ab1ad1 refactor(course-visibility): use utils in course list 2020-07-29 14:49:22 +02:00
Sarah Vaupel
b1d0893993 fix(course-visibility): check for mayEdit on course list 2020-07-29 13:55:54 +02:00
Gregor Kleen
9ee44aa2f1 feat(personalised-sheet-files): introduce routes & work on crypto 2020-07-28 19:14:15 +02:00
Sarah Vaupel
17dbccf2a3 feat(course-visibility): display icon in course list for lecturers 2020-07-25 16:38:23 +02:00
Sarah Vaupel
cbb8e7217d fix(course-visibility): show icon to lecturers only 2020-07-25 15:15:16 +02:00
Sarah Vaupel
24f12896e0 feat(course-visibility): no invisible courses in course list 2020-07-25 15:10:59 +02:00
Sarah Vaupel
7af82bcb67 feat(course-visibility): reorder course form 2020-07-24 20:51:50 +02:00
Sarah Vaupel
6c0adde5db feat(course-visibility): add invisible icon to CShowR title 2020-07-24 20:37:32 +02:00
Sarah Vaupel
39683928ec refactor(course-visibility): enhance visibility info on CShowR 2020-07-24 20:19:34 +02:00
Sarah Vaupel
222d566bda feat(course-visibility): add visibleFrom,visibleTo
add visibleFrom and visibleTo to model, add fields (CEditR), add info
(CShowR)
2020-07-24 18:52:54 +02:00
Gregor Kleen
02fc0d476f fix(submission): race condition allowed creating multiple subs 2020-07-23 17:58:36 +02:00
Gregor Kleen
de53c80a1e fix(file-upload): size limitation was inverted 2020-07-23 17:58:15 +02:00
Gregor Kleen
e84305769b style: improve usability of genericFileField 2020-07-22 12:07:01 +02:00
Gregor Kleen
240477b9ab refactor: hlint 2020-07-20 16:13:45 +02:00
Gregor Kleen
a60ad1abae fix(files): allow clobbering files during form submission 2020-07-20 15:38:30 +02:00
Gregor Kleen
d770afd2c6 feat(sheets): require exam registration 2020-07-20 14:26:55 +02:00
Gregor Kleen
c87c9c13d1 fix(deletion): fix usage of deleteR from POST handler 2020-07-20 14:17:14 +02:00
Gregor Kleen
febf316c6c refactor: split up sheet handlers 2020-07-20 12:06:13 +02:00
Gregor Kleen
e62d7a34e6 feat(csv): don't limit number of exported rows 2020-07-20 09:20:58 +02:00
Gregor Kleen
1926917dd7 feat(files): further balance file jobs 2020-07-17 15:54:42 +02:00
Gregor Kleen
1380d9d21e feat(invitations): anonymous invitations 2020-07-17 15:54:42 +02:00
Gregor Kleen
9a2cba5c0a feat(files): move uploads from buffer to database
Rate limit pruning of unreferenced files
2020-07-17 15:54:42 +02:00
Gregor Kleen
d9e9179a52 feat(files): buffer uploads to minio
Missing: batch job to transfer uploads to database
2020-07-17 15:54:39 +02:00
Gregor Kleen
353b7704dc chore(files): migration to content-addressable storage 2020-07-17 15:54:28 +02:00
Gregor Kleen
14be8f61b4 refactor(files): store content separately from metadata 2020-07-17 15:54:28 +02:00
Gregor Kleen
2fd060d55b feat(course-comm): recipient categories for sheets and exams 2020-07-16 19:28:37 +02:00
Gregor Kleen
9dee134b11 feat(file-uploads): maximum file sizes 2020-07-13 09:32:28 +02:00
Gregor Kleen
46ce477235 feat(corrections): better highlight corrected files
Fixes #602
2020-06-27 15:39:16 +02:00
Gregor Kleen
62dd7b9f04 fix(rating-files): support integral points values
Fixes #604
2020-06-24 14:01:52 +02:00
Gregor Kleen
c87315006d fix(ratings): improve decoding error reporting 2020-06-19 17:38:48 +02:00
Gregor Kleen
036c74ef49 fix: hlint & build 2020-06-18 10:12:08 +02:00
Gregor Kleen
bbbfa946e1 feat(corrections): override rating_done & documentation
Fixes #525
Fixes #274
2020-06-17 14:38:11 +02:00
Gregor Kleen
af7947328d feat(ratings): parsing for new format 2020-06-17 12:57:54 +02:00
Gregor Kleen
2bf484609e feat(rating): pretty-print to new yaml based format
Parsing not implemented yet; tests should fail
2020-06-16 18:23:02 +02:00
Gregor Kleen
1195231bc3 feat(ratings): i18n rating file names 2020-06-16 12:15:56 +02:00
Gregor Kleen
69c61a4bb4 refactor(rating): move formatting/parsing of rating files 2020-06-16 11:44:42 +02:00
Gregor Kleen
e5732df1b6 feat(terms): better prediction of term dates 2020-06-16 10:53:49 +02:00
Gregor Kleen
cf06f79807 feat(system-messages): manual priority 2020-06-16 10:18:46 +02:00
Gregor Kleen
8b7e8e4bd5 feat(terms): improve term display/editing
Fixes #485
2020-06-15 16:49:31 +02:00
Gregor Kleen
06f47c59b4 feat(course-participants): csv export exercise sheets 2020-06-14 18:15:58 +02:00
Gregor Kleen
26cc8e4b53 feat(course-participants): show exercise sheets (first cornice) 2020-06-14 16:27:27 +02:00
Gregor Kleen
e10cfe9c58 fix(corrections-overview): behavioural fixes 2020-06-12 10:24:34 +02:00
Gregor Kleen
fdeb2514c0 feat(dbtable): add support for Cornice 2020-06-10 09:42:39 +02:00
Gregor Kleen
b4cf9ca4bb refactor: split up Corrections and move below Submission 2020-06-10 09:34:20 +02:00
Gregor Kleen
21af3e1348 refactor: split up Handler.Submission 2020-06-10 09:34:20 +02:00
Gregor Kleen
0fa8d37037 feat(submission): allow restriction of submittors via token 2020-05-29 13:12:08 +02:00
Gregor Kleen
0fa910ae7c fix(exam-users): don't crash when participant doesn't have bonus 2020-05-29 12:36:46 +02:00
Gregor Kleen
b8362398da chore(load): implement sheet-submission 2020-05-28 12:59:13 +02:00
Gregor Kleen
f74581c356 feat(correction): allow lecturers to set corrector
Fixes #414
2020-05-26 11:30:39 +02:00
Gregor Kleen
f11b215773 feat(notifications): sheet-hint & sheet-solution 2020-05-25 16:07:49 +02:00
Gregor Kleen
6711173687 feat(applicants): disclose applicant emails & allow communication 2020-05-25 15:02:14 +02:00
Gregor Kleen
99f23f2558 feat(course-communication): one recipient group per tutorial
Fixes #428
2020-05-25 14:04:31 +02:00
Gregor Kleen
3944ce0261 feat(sheets): better explain rating-done 2020-05-23 12:12:05 +02:00
Gregor Kleen
b2ebce4836 feat(sheets): pass-always 2020-05-23 11:50:54 +02:00
Gregor Kleen
8bb3bc50a2 fix(correction-upload): better error messages wrt rating files 2020-05-22 17:12:18 +02:00
Gregor Kleen
2e826d3c45 feat(load): allow creation of submissions without login (w/ token) 2020-05-22 14:31:19 +02:00
Gregor Kleen
002775e192 feat(dry-run): implement dry-run
BREAKING CHANGE: runDBRead
2020-05-22 11:29:30 +02:00
Gregor Kleen
3820b45b3e feat(forms): improve field labeling & error reporting
Fixes #588
2020-05-19 10:21:42 +02:00
Gregor Kleen
aebc05d021 feat(faq): exam-points
Fixes #595
2020-05-18 14:36:47 +02:00
Gregor Kleen
01e61f9bfd fix(submissions): off-by-one when isLecturer 2020-05-18 09:07:14 +02:00
Gregor Kleen
ec020c5486 feat(exams): show number of registrations to course admins 2020-05-15 12:07:03 +02:00
Gregor Kleen
d90da85df3 feat(communication): send test emails 2020-05-12 16:44:53 +02:00
Gregor Kleen
e060080261 feat(submission): add correction to sub-show-r 2020-05-12 15:28:56 +02:00
Gregor Kleen
d0358b4a50 fix(html-field): remove warning about html-input 2020-05-12 14:22:42 +02:00
Gregor Kleen
c072b85299 feat(multi-user-field): multi-user-invitation-field 2020-05-12 14:20:05 +02:00
Gregor Kleen
46e99081d9 fix(generic-file-field): allow .zip when doUnpack 2020-05-10 22:59:38 +02:00
Gregor Kleen
daaeb09de8 feat(admin-test): download test 2020-05-10 17:56:12 +02:00
Gregor Kleen
06796269d4 fix(submission-groups): wrong sql query for finding buddies 2020-05-08 13:11:43 +02:00
Gregor Kleen
27731ac077 fix(submission-multi-archive): fix cleanup & improve 2020-05-08 10:57:43 +02:00
Gregor Kleen
32c060575c fix(course-register): swapped warning message 2020-05-07 14:13:43 +02:00
Gregor Kleen
2936eefbd1 feat(multi-user-field): improve placeholder
Remove MassInputTip
2020-05-06 19:01:32 +02:00
Gregor Kleen
7d3e9a3de3 feat(eeusers): fix form & finish implementation 2020-05-06 15:03:00 +02:00
Gregor Kleen
8008248483 Merge branch 'master' into 574-aktionen-auf-eeusersr 2020-05-06 13:53:03 +02:00
Gregor Kleen
14f9ab6a31 fix(corrections-grade-r): add get following post
Fixes #532
2020-05-05 17:27:33 +02:00
Gregor Kleen
fb54c8445a fix(exams): don't show manual bonus as inconsistent 2020-05-05 16:23:37 +02:00
Gregor Kleen
c348b7cb03 feat(async-table): history api
Fixes #426
2020-05-05 15:09:42 +02:00
Gregor Kleen
bf64eafd08 feat(course-participants): course-deregister-no-show
Fixes #499
2020-05-05 08:59:57 +02:00
Gregor Kleen
d5b65a1b06 feat(course-participants): introduce CourseParticipantState
BREAKING CHANGE: CourseParticipantState

Addresses #499
Fixes #371
2020-05-04 14:52:45 +02:00
Gregor Kleen
5a47688735 Merge branch 'feat/generic-file-field' 2020-04-30 13:42:09 +02:00
Gregor Kleen
f87cf7a378 fix(submission-groups): prevent deleting group before insert 2020-04-30 11:50:46 +02:00
Gregor Kleen
98e1141e60 feat(generic-file-field): prevent multiple session files of same name 2020-04-30 11:08:59 +02:00
Gregor Kleen
192b6279d3 refactor(file upload): move to genericFileField 2020-04-29 18:30:54 +02:00
Gregor Kleen
9032f80f59 feat(corrections): non-anonymous download w/ registered groups 2020-04-28 17:08:21 +02:00
Gregor Kleen
7f10d44aee feat(submission-groups): invite w/ submission-group & audit 2020-04-28 15:49:20 +02:00
Gregor Kleen
57f1ce9265 feat(sheets): submission groups & rework sheet form 2020-04-28 14:31:27 +02:00
Gregor Kleen
6d00410682 Merge branch 'master' into feat/feste-abgabegruppen 2020-04-27 16:51:00 +02:00
Gregor Kleen
0e68b6cf53 feat(ldap): failover 2020-04-27 16:17:00 +02:00
Gregor Kleen
31aa25a1fd feat(news): timeout sheets after a month 2020-04-27 10:44:04 +02:00
Gregor Kleen
3ea7371465 feat(allocations): switch to csprng 2020-04-27 09:12:32 +02:00
Gregor Kleen
e1c6fd43b8 fix(allocation): don't restart cloneCount when allocating successors 2020-04-26 13:21:56 +02:00
Gregor Kleen
94d3e00bbc refactor(fixed-submission-groups): cleanup stub 2020-04-24 18:40:59 +02:00
Gregor Kleen
18766edc7c feat(faqs): more faqs 2020-04-24 16:41:41 +02:00
Gregor Kleen
fdd6b1a194 feat(help): attach last error message 2020-04-24 13:30:20 +02:00
Gregor Kleen
7b5337723d feat(faqs): initial 2020-04-23 16:52:34 +02:00
Gregor Kleen
36abb3ee26 fix(system-message): lastChanged & unhide logic error 2020-04-23 11:00:41 +02:00
Gregor Kleen
d05306a39a fix(memcached): navAccess & quick actions cache invalidations 2020-04-23 10:41:20 +02:00
Gregor Kleen
b9b090992f feat(caching): aggressively cache nav items 2020-04-22 11:14:25 +02:00
Gregor Kleen
e8c2dc5aaa feat(memcached): introduce general purpose memcached 2020-04-21 10:51:11 +02:00
Gregor Kleen
4f237e1968 fix(course-users): deregistration w/ allocation & w/o reason 2020-04-17 17:25:43 +02:00
Gregor Kleen
fd2c2881ea feat(submissions): non-anonymized correction
Fixes #524
Fixes #292
2020-04-17 15:19:26 +02:00
Gregor Kleen
38f69c3aed feat(submissions): ignore additional filename components 2020-04-17 11:57:02 +02:00
Gregor Kleen
d15792cd7d feat(course-user): authorisation checks 2020-04-17 11:05:20 +02:00
Gregor Kleen
ced6ef2874 feat(course-user): major improvements
See #126
2020-04-16 17:19:16 +02:00
Gregor Kleen
0b3c88407b refactor(course-user): modularize 2020-04-16 09:26:37 +02:00
Gregor Kleen
05d37fbc0c fix(allocations): better handle participants without applications 2020-04-15 13:13:53 +02:00
Gregor Kleen
c81bc2314e feat(system-messages): hiding 2020-04-15 12:34:20 +02:00
Gregor Kleen
ead6015dfe feat(system-messages): refactor cookies & improve system messages
BREAKING CHANGE: names of cookies & configuration changed
2020-04-15 10:39:26 +02:00
Gregor Kleen
908e6def80 fix: hlint 2020-04-09 15:37:18 +02:00
Gregor Kleen
738ab7b738 feat: admin interface to issue tokens 2020-04-09 15:23:46 +02:00
Gregor Kleen
0d39924777 feat(news): show system messages 2020-04-09 11:56:29 +02:00
Gregor Kleen
bc47dcf43f feat(tokens): multiple authorities 2020-04-09 10:30:25 +02:00
Sarah Vaupel
fbc36806b1 fix(exam-form): allow finished without start 2020-03-31 17:34:26 +02:00
Sarah Vaupel
1ac7f4e881 feat(course-events): hide note column if there are no notes to display 2020-03-31 16:35:32 +02:00
Sarah Vaupel
c8904d10b6 feat(course-events): course event note text -> html 2020-03-31 14:22:42 +02:00
Sarah Vaupel
6ad8f2ee29 feat(course-events): add optional note to course events 2020-03-31 14:07:37 +02:00
Sarah Vaupel
cdbe12c726 feat(applications-list): add warning regarding features of study 2020-03-22 17:55:33 +01:00
Gregor Kleen
fd8255de8c fix(dbtable): improve sorting for haskell+sql 2020-03-16 11:42:02 +01:00
Gregor Kleen
731231d5ea fix(exams): provide bonus information in return of examBonusGrade 2020-03-16 10:34:11 +01:00
Gregor Kleen
ec6a8ae463 feat(exams): convenience for automatic grade calculation 2020-03-16 10:21:02 +01:00
Gregor Kleen
0a2a578547 chore: fix tests 2020-03-16 08:52:25 +01:00
Gregor Kleen
cf03277874 feat(allocations): improve acceptance display 2020-03-14 14:15:29 +01:00
Gregor Kleen
648d733f3f chore: fix tests 2020-03-13 19:05:04 +01:00
Gregor Kleen
996005935d feat(serversessions): move session storage to dedicated memcached
fixes #390
2020-03-13 17:26:47 +01:00
Gregor Kleen
26f8f392a9 feat(allocations): improve display 2020-03-12 11:56:26 +01:00
Gregor Kleen
bb20062d9f feat(allocations): display new allocations in user table 2020-03-11 14:48:02 +01:00
Gregor Kleen
3422fd70a7 feat(allocations): improve accept ui and logging 2020-03-11 14:16:02 +01:00
Gregor Kleen
20ef95c142 feat(allocations): compute & accept allocations 2020-03-10 22:36:33 +01:00
Gregor Kleen
936c3666fc feat: more date & time formats 2020-03-07 11:19:17 +01:00
Gregor Kleen
2dc6641e68 fix(csv-import): major usability improvements 2020-03-06 20:38:42 +01:00
Gregor Kleen
40ce19d1b4 refactor: fix hlint 2020-03-06 14:01:57 +01:00
Gregor Kleen
49d9ab9dba feat(csv): export example data & improve zoned-time parsing 2020-03-06 13:53:13 +01:00
Gregor Kleen
38dbfe73b2 feat(corrections): submission filter 2020-03-06 10:12:21 +01:00
Gregor Kleen
38945c99c4 style: number every table 2020-03-06 10:01:23 +01:00
Gregor Kleen
17882868d2 refactor(dbtable): move haskell-land filtering to actual filter 2020-03-06 09:00:24 +01:00
Gregor Kleen
bb9b4f06ae fix: fix build & minor refactor 2020-03-04 10:21:46 +01:00
Sarah Vaupel
1cc9e7c929 refactor(course-users): minor refactor for tooltips 2020-03-04 09:14:23 +01:00
Sarah Vaupel
1bc14c9e19 fix(course-users): add missing dbt sorting 2020-03-04 09:14:23 +01:00
Sarah Vaupel
34ad1dfae2 feat(course-users): register exam action with optional occurrence 2020-03-04 09:14:23 +01:00
Sarah Vaupel
ecd7bec9aa feat(course-users): match filter titles with column titles 2020-03-04 09:14:22 +01:00
Sarah Vaupel
1d7d0ab554 feat(course-users): filter by exam registrations 2020-03-04 09:13:58 +01:00
Sarah Vaupel
1325ff2a95 fix(course-users): insertUnique and only count and audit true inserts 2020-03-04 09:13:58 +01:00
Sarah Vaupel
b8acc9b5da feat(course-users): allow for exam registration on CUsersR 2020-03-04 09:13:58 +01:00
Sarah Vaupel
c23becceb1 feat(course-users): exams in dbtable and csv 2020-03-04 09:13:58 +01:00
Gregor Kleen
3c7d9b6112 chore: fix tests 2020-03-03 17:42:27 +01:00
Sarah Vaupel
ed3f761b24 feat(eeusersr): audit external exam result result and occurrence edits 2020-03-03 16:52:13 +01:00
Sarah Vaupel
0d54757d16 feat(eeusersr): audit external exam result result edit 2020-03-03 16:40:15 +01:00
Sarah Vaupel
baa3fd82e1 feat(eeusersr): audit external exam result delete 2020-03-03 16:32:56 +01:00
Sarah Vaupel
d4b784afba feat(eeusersr): more on actions, TODO audit 2020-03-03 15:44:09 +01:00
Gregor Kleen
432a77f705 refactor(dbtable): optimize 2020-03-03 15:16:23 +01:00
Sarah Vaupel
4d48730abd feat(eeusersr): stubs for new actions 2020-03-03 09:58:58 +01:00
Gregor Kleen
42089e17a1 chore: better test data 2020-03-03 09:11:54 +01:00
Sarah Vaupel
2cf4895231 feat(external-exams): add actions to EEUsers 2020-03-02 17:21:07 +01:00
Gregor Kleen
5090cca98b style(allocations): improve display of unset priorities 2020-02-28 22:11:44 +01:00
Gregor Kleen
ee2e504ffa feat(allocations): explanations & introduce grade-ordinal-proportion
BREAKING CHANGE: influence of grades on allocation priority now
relative when priorities are ordinal
2020-02-28 20:53:24 +01:00
Gregor Kleen
6bca64cf5f feat(allocations): tooltips listing courses in users table
major improvements to tooltips
2020-02-28 18:42:31 +01:00
Gregor Kleen
9d62b3a79e fix(allocations): show assignment green 2020-02-28 08:53:20 +01:00
Gregor Kleen
7462e03e70 feat(allocations): show & export priority 2020-02-27 17:04:32 +01:00
Gregor Kleen
a590f45cc1 feat(allocations): upload of priorities 2020-02-27 16:31:38 +01:00
Gregor Kleen
2735d465eb feat(allocations): table of allocation users 2020-02-27 11:09:16 +01:00
Gregor Kleen
aef7fad5d8 style(participant-intersect): improve display 2020-02-26 21:07:04 +01:00
Gregor Kleen
cfaea9c08b chore: bump to lts-15.0
BREAKING CHANGE: major version bumps
2020-02-23 11:12:45 +01:00
Gregor Kleen
06f3ac6563 feat: markdown help requests 2020-02-22 14:04:10 +01:00
Gregor Kleen
4879bb8404 feat: use pandoc to convert html emails to markdown (plaintext) 2020-02-21 18:09:15 +01:00
Gregor Kleen
c5848b24e8 feat: pandoc-markdown based htmlField
BREAKING CHANGE: markdown based HTML input
2020-02-21 17:34:49 +01:00
Gregor Kleen
697c3e11fc feat: participants intersection 2020-02-20 15:27:30 +01:00
Gregor Kleen
bec40236db feat(metrics): report on health checks 2020-02-19 13:51:21 +01:00
Gregor Kleen
5ffee38979 feat: targets on InfoLecturerR 2020-02-19 11:14:51 +01:00
Gregor Kleen
acffe04350 feat(exams): allow mixed ExamGradingMode 2020-02-18 20:11:46 +01:00
Gregor Kleen
0e49bc14e5 feat(exams): improve handling of exam results everywhere
BREAKING CHANGE: ExamResult now contains ExamResultPassedGrade
2020-02-18 15:43:07 +01:00
Gregor Kleen
0b8c30f534 fix(course-deregistration): fix check on exam registration
Never delete exam-results
2020-02-10 16:40:58 +01:00
Gregor Kleen
1bf19a76bd feat(exam-correct): explanation & length restriction 2020-02-08 01:42:50 +01:00
Sarah Vaupel
f7136bca15 fix(exam-correct): reintroduce examResults 2020-02-08 00:06:28 +01:00
Sarah Vaupel
9aca3405f3 Merge branch 'master' into 476-interface-fur-klausurkorrekturen-dev 2020-02-07 22:47:51 +01:00
Gregor Kleen
cfa58b22ce chore: fix tests 2020-02-07 21:50:48 +01:00
Gregor Kleen
23044b28db feat(exam-correct): general improvement 2020-02-07 20:57:26 +01:00
Sarah Vaupel
66317a41dc Merge branch '476-interface-fur-klausurkorrekturen' into 476-interface-fur-klausurkorrekturen-dev 2020-02-07 19:29:55 +01:00
Gregor Kleen
8e41820c9d feat(exam-correct): return user lookup result even for failure 2020-02-07 14:49:14 +01:00
Gregor Kleen
95c1755710 feat: refine presentation of exam-correct 2020-02-07 13:25:26 +01:00
Gregor Kleen
1942ad10d5 Merge branch '476-interface-fur-klausurkorrekturen' of gitlab2.rz.ifi.lmu.de:uni2work/uni2work into feat/exam-correct 2020-02-07 11:32:23 +01:00
Gregor Kleen
a9636af13a fix: merge 2020-02-07 11:21:14 +01:00
Sarah Vaupel
a0d067fabf fix(storage-key): fix types 2020-02-07 10:13:29 +01:00
Sarah Vaupel
2d1d58f78f feat(storage-key): add StorageKeyR to routes; minor Handler refactor 2020-02-07 10:12:52 +01:00
Sarah Vaupel
059efe5085 feat(storage-key): postStorageKeyR 2020-02-07 10:12:52 +01:00
Sarah Vaupel
fed81fdbce chore(storage-key): add stub 2020-02-07 10:12:52 +01:00
Sarah Vaupel
2d9a8771ef feat(exam-correct): use examId instead as uw-exam-correct value 2020-02-07 10:12:52 +01:00
Sarah Vaupel
630194c4c0 fix(exam-correct): fix hlint 2020-02-07 10:12:51 +01:00
Sarah Vaupel
968c6defa6 fix(exam-correct): fix returning null if old and new results are equal 2020-02-07 10:12:50 +01:00
Sarah Vaupel
f06ca00d75 feat(exam-correct): request refactor and handling of sent uuids 2020-02-07 10:12:17 +01:00
Sarah Vaupel
4cb62f8f91 feat(exam-correct): single runDB in POST handler; more response handling 2020-02-07 10:10:51 +01:00
Sarah Vaupel
c0f91bccdd feat(exam-correct): upsert exam part results (TODO) 2020-02-07 10:10:51 +01:00
Sarah Vaupel
5f9a176bc6 feat(exam-correct): postECorrectR stub 2020-02-07 10:10:50 +01:00
Sarah Vaupel
90359c83b7 feat(exam-correct): stub 2020-02-07 10:04:34 +01:00
Sarah Vaupel
53131e2de8 feat(sort-table): add basic SortTable util stub 2020-02-07 10:04:33 +01:00
Sarah Vaupel
87bda1607e feat(exam-correct): add sortable style and date column 2020-02-07 10:04:33 +01:00
Sarah Vaupel
e60aef4f8b fix: fix hlint 2020-02-07 10:04:33 +01:00
Sarah Vaupel
623becf597 feat(exam-correct): add basic interface stub 2020-02-07 10:04:32 +01:00
Gregor Kleen
d8801a3435 feat(correction-interface): wire up ECorrectR 2020-02-07 10:04:32 +01:00
Sarah Vaupel
5125ddfeec chore(exam-correct): reintroduce examResults 2020-02-07 09:51:50 +01:00
Sarah Vaupel
af8d77c4a4 fix(exam-correct): cut off at maxPoints for now (TODO) 2020-02-07 09:49:39 +01:00
Sarah Vaupel
533e7482c9 fix(exam-correct): temporarily disable exam results (WIP) 2020-02-07 09:06:38 +01:00
Gregor Kleen
1348c91c3c feat: navbar header containers
BREAKING CHANGE: major navigation refactor
2020-02-06 16:27:28 +01:00
Sarah Vaupel
970076e730 feat(exam-correct): examResult interface, no styling or functionality 2020-02-06 12:54:40 +01:00
Sarah Vaupel
6b610e1e54 feat: renamed "Bewertung abgeschlossen ab" to "Ergebnisse sichtbar ab" 2020-02-05 16:33:09 +01:00
Sarah Vaupel
be187ae907 feat(exam-correct): accept grades besides exam part results 2020-02-05 16:02:48 +01:00
Sarah Vaupel
6f2b58c002 Merge branch 'master' into 476-interface-fur-klausurkorrekturen 2020-02-04 09:52:33 +01:00
Gregor Kleen
e2c664d7d4 refactor: hlint 2020-01-30 17:38:01 +01:00
Gregor Kleen
a91fd7fd63 feat: exam auto-occurrence nudging 2020-01-30 17:24:22 +01:00
Gregor Kleen
a1d547990d fix(exams): exam-auto-occurrence introduced spurious MappingSpecial 2020-01-30 13:33:02 +01:00
Gregor Kleen
91e1bf9996 feat: warnings about multiple terms/schools 2020-01-30 13:15:59 +01:00
Gregor Kleen
3ef10d98a1 fix: exam auto-occurrence by matriculation 2020-01-30 12:30:26 +01:00
Gregor Kleen
5bff34ed0a fix: non-exhaustive patterns 2020-01-30 08:31:52 +01:00
Gregor Kleen
7fc9fefb0a feat(exams): add warning about multiple automatic distributions 2020-01-29 23:11:19 +01:00
Gregor Kleen
2b56f26c45 feat(exams): improve occurrence display 2020-01-29 22:53:35 +01:00
Gregor Kleen
7140618a5c chore: remove traces 2020-01-29 21:46:16 +01:00
Gregor Kleen
214e8951e4 feat: additional exam functions on show page 2020-01-29 20:50:27 +01:00
Gregor Kleen
e994fafe28 feat(exams): automatic exam occurrence assignment 2020-01-29 20:31:37 +01:00
Sarah Vaupel
a23a4735c2 fix(storage-key): fix types 2020-01-28 18:09:11 +01:00
Gregor Kleen
f89545f36e feat(exam): working prototype of automatic occurrence assignment 2020-01-28 17:06:47 +01:00
Gregor Kleen
282df86bc2 feat(exam): start work on automatic exam-occurrence assignment 2020-01-28 17:06:47 +01:00
Gregor Kleen
a7b7bdbea7 fix: submission user notification recipients for pseudonym subs 2020-01-28 16:15:18 +01:00
Sarah Vaupel
4d4dc8f58b feat(storage-key): add StorageKeyR to routes; minor Handler refactor 2020-01-28 12:06:52 +01:00
Sarah Vaupel
b51c466a65 feat(storage-key): postStorageKeyR 2020-01-28 12:00:03 +01:00
Sarah Vaupel
02276b425f chore(storage-key): add stub 2020-01-28 09:24:11 +01:00
Sarah Vaupel
5d7427ad46 feat(exam-correct): use examId instead as uw-exam-correct value 2020-01-28 09:18:53 +01:00
Sarah Vaupel
c520918eb3 fix(exam-correct): fix hlint 2020-01-24 13:22:05 +01:00
Sarah Vaupel
2e7bca6333 fix(exam-correct): fix returning null if old and new results are equal 2020-01-23 20:41:35 +01:00
Sarah Vaupel
4a36a010f4 feat(exam-correct): request refactor and handling of sent uuids 2020-01-21 16:45:47 +01:00
Sarah Vaupel
36e90102c4 Merge branch 'master' into 476-interface-fur-klausurkorrekturen 2020-01-20 09:42:21 +01:00
Sarah Vaupel
6837c44b7f feat(exam-correct): single runDB in POST handler; more response handling 2020-01-20 09:41:23 +01:00
Gregor Kleen
4348efca35 fix: hlint 2020-01-17 19:59:55 +01:00
Gregor Kleen
88dd5a90b9 feat: course-participant-lists 2020-01-17 17:55:14 +01:00
Sarah Vaupel
650598fc22 feat(exam-correct): upsert exam part results (TODO) 2020-01-15 18:06:20 +01:00
Gregor Kleen
4e9b618b61 fix: tests & hlint 2020-01-15 17:20:13 +01:00
Gregor Kleen
b3ce3dd93a fix: ui improvements for (external-)exams 2020-01-15 17:17:21 +01:00
Sarah Vaupel
a525cab356 feat(exam-correct): postECorrectR stub 2020-01-15 13:54:04 +01:00
Gregor Kleen
bcd5326129 fix: restrict guessUser to consistent queries 2020-01-15 12:09:01 +01:00
Gregor Kleen
3b739f751d feat: external exams in exam office exams table 2020-01-15 12:09:00 +01:00
Gregor Kleen
553c117626 feat: external exam csv export 2020-01-15 12:09:00 +01:00
Gregor Kleen
1d14b6a69c feat: external exam csv import & ldap lookup during csv import 2020-01-15 12:09:00 +01:00
Gregor Kleen
2b153c1863 feat(external-exams): auditing 2020-01-15 12:09:00 +01:00
Gregor Kleen
1252a5fc79 feat(external-exams): edit existing exams 2020-01-15 12:08:59 +01:00
Gregor Kleen
c14d90fd53 feat(external-exams): display staff & add' schools 2020-01-15 12:08:51 +01:00
Gregor Kleen
94bb3911cb feat(external-exams): create new exams 2020-01-15 12:08:51 +01:00
Gregor Kleen
fa3521d6db feat(external-exams): list 2020-01-15 12:08:42 +01:00
Gregor Kleen
f25b21aa4b feat(external-exams): requisite routes 2020-01-15 12:07:27 +01:00
Sarah Vaupel
ce72679761 Merge branch 'master' into 476-interface-fur-klausurkorrekturen 2020-01-14 11:19:08 +01:00
Sarah Vaupel
555c4aebeb feat(hide-columns): add more hider labels 2020-01-13 10:41:19 +01:00
Sarah Vaupel
3553df23ca feat(hide-columns): add hider labels for tutorial list on course page 2020-01-13 10:41:19 +01:00
Sarah Vaupel
6c05a8f09f feat(hide-columns): add hider label th attr 2020-01-13 10:41:07 +01:00
Sarah Vaupel
b03c10f098 feat(hide-columns): opt-out on select columns 2020-01-13 10:39:08 +01:00
Sarah Vaupel
eba58d83a0 feat(hide-columns): add more hider labels 2020-01-13 10:39:08 +01:00
Sarah Vaupel
03e4ac1cca feat(hide-columns): add hider labels for tutorial list on course page 2020-01-13 10:39:08 +01:00
Sarah Vaupel
ccafd955b9 feat(hide-columns): add hider labels for material list 2020-01-13 10:39:08 +01:00
Sarah Vaupel
71e90a1817 feat(hide-columns): add hider label th attr 2020-01-13 10:39:07 +01:00
Gregor Kleen
727b89bf4b fix: improve labeling of button to switch exam occurrence 2020-01-11 23:57:23 +01:00
Gregor Kleen
83fa9c9c69 fix: improve exam occurrence ui 2020-01-11 23:44:47 +01:00
Gregor Kleen
14bb020fe9 feat: support exam registration including room (ExamRoomFifo) 2020-01-11 22:49:42 +01:00
Gregor Kleen
068632b117 feat: well known files 2020-01-11 22:02:12 +01:00
Sarah Vaupel
0467194e3d feat(exam-correct): stub 2020-01-09 15:59:31 +01:00
Sarah Vaupel
11c0bd07e9 feat(sort-table): add basic SortTable util stub 2020-01-09 12:27:02 +01:00
Sarah Vaupel
9fa4245607 feat(exam-correct): add sortable style and date column 2020-01-09 09:59:07 +01:00
Sarah Vaupel
9ecffc8d8c fix: fix hlint 2020-01-09 08:56:19 +01:00
Sarah Vaupel
cb7c9ac6da feat(exam-correct): add basic interface stub 2020-01-08 16:38:16 +01:00
Gregor Kleen
674b949388 fix: divide by zero 2020-01-07 16:22:52 +01:00
Sarah Vaupel
f619b0a36c Merge branch 'master' into 476-interface-fur-klausurkorrekturen 2020-01-07 10:28:33 +01:00
Sarah Vaupel
4e2cc22f31 refactor(legal): separated legal info 2019-12-18 18:26:13 +01:00
Sarah Vaupel
36b7106c26 Merge branch 'master' into nutzungsbedingungen 2019-12-18 17:20:04 +01:00
Sarah Vaupel
565c6a4f3d feat(legal): move legal info to one single page 2019-12-18 17:18:26 +01:00
Gregor Kleen
9eff3cfa10 fix(allocation-list): fix default sorting 2019-12-16 14:26:16 +01:00
Gregor Kleen
33d9bacc8a fix(allocation-list): fix sorting 2019-12-16 14:26:15 +01:00
Sarah Vaupel
e27bebac59 feat(foundation): move stuff out of Foundation 2019-12-16 14:26:06 +01:00
Sarah Vaupel
932cd5cfdb feat(tou): implement Terms of Use (tou) route 2019-12-16 14:07:17 +01:00
Sarah Vaupel
37f0936d91 fix: fix hlint 2019-12-10 16:05:46 +01:00
Gregor Kleen
030fd7abf1 fix(submission): allow not modifying submissionUsers 2019-12-06 12:09:14 +01:00
Gregor Kleen
98c0d6919e feat(submission): edit notifications 2019-12-05 13:44:47 +01:00
Gregor Kleen
e87f6075d3 feat(submission): warn about deleting co-submissions 2019-12-04 11:51:50 +01:00
Gregor Kleen
6e4f469023 fix(submissions): fix ambiguity with multiple past co-submissions 2019-12-03 14:24:00 +01:00
Gregor Kleen
c7d23e64ff fix(new-submissions): always check for existing sub 2019-12-02 11:15:16 +01:00
Gregor Kleen
b7d6f3c9e9 refactor(sub-study-fields): reformulate as superStudyField
Fixes #531

BREAKING CHANGE: superStudyField
2019-11-28 12:52:03 +01:00
Gregor Kleen
ba2ed97731 fix: revert wrong hlint suggestion 2019-11-27 17:23:45 +01:00
Gregor Kleen
b222ceb40e refactor: hlint 2019-11-27 17:02:07 +01:00
Gregor Kleen
3bf37a4c1a fix(submission-create): sanity check submittors in form 2019-11-27 16:40:44 +01:00
Gregor Kleen
ec24a04c9b fix(submission-create): ensure number of buddies is acceptable 2019-11-27 16:05:29 +01:00
Gregor Kleen
c4c82f5439 feat(study-features): complete StudyFeatures admin-interface 2019-11-27 12:14:19 +01:00
Gregor Kleen
5cd2d39f10 refactor(study-features): cleanup 2019-11-27 10:35:59 +01:00
Gregor Kleen
0e027b129e refactor: bump esqueleto & redo StudySubTerms
BREAKING CHANGE: Bumped esqueleto
2019-11-26 17:43:19 +01:00
Gregor Kleen
38a4e6cdb7 chore: merge master 2019-11-25 10:25:52 +01:00
Gregor Kleen
2621d36b7d feat(features-of-study): record parent & standalone candidates 2019-10-31 08:59:49 +01:00
Gregor Kleen
81415e1afb feat(csv): encoding 2019-10-23 17:34:37 +02:00
Gregor Kleen
b67819d061 fix(submission-form): fix display of all courseParticipants 2019-10-23 11:57:27 +02:00
Gregor Kleen
640326ca5d fix(assign-submissions): avoid division by zero 2019-10-20 11:02:32 +02:00
Gregor Kleen
cfcb28d1d4 fix(user-deregister): remove tutorial participation 2019-10-17 17:25:56 +02:00
Gregor Kleen
6c49c509ac fix(file-upload-form): don't check case of file extensions 2019-10-17 17:25:17 +02:00
Gregor Kleen
a2e36995ea fix(course-show): show display-email for correctors & tutors 2019-10-17 16:36:19 +02:00
Gregor Kleen
92fb6f2270 fix(favourites): clear old favourites when changing max number 2019-10-17 16:20:34 +02:00
Gregor Kleen
bc248d0fc2 fix(tutorials): improve creation interface
tutorial_room is no longer NOT NULL
2019-10-16 18:38:59 +02:00
Gregor Kleen
725468bfd3 fix: occurence exception end times not shown correctly 2019-10-15 12:20:00 +02:00
Gregor Kleen
bb6703de47 fix(allocations): fix result notifications 2019-10-15 10:38:40 +02:00
Gregor Kleen
f92e555de2 fix: build 2019-10-14 16:55:01 +02:00
Gregor Kleen
d2c0043deb feat(static pages): touch ups 2019-10-14 15:47:51 +02:00
Gregor Kleen
c2a8381278 feat(users): sex 2019-10-14 15:34:43 +02:00
Gregor Kleen
261f3ed92f feat(tutorials): delegate control to tutors 2019-10-14 11:50:06 +02:00
Gregor Kleen
5bc015ddcb refactor(allocations): store log/fingerprint separately 2019-10-13 21:41:29 +02:00
Gregor Kleen
d507d9bbde feat(course-users): allow registering tutorial users manually
include tutorials in course-user csv-export
2019-10-10 11:58:38 +02:00
Gregor Kleen
1d5ddd102c feat(course-users): include tutorial in csv-export 2019-10-10 11:22:50 +02:00
Gregor Kleen
df66c9b58d feat(correction-interface): wire up ECorrectR 2019-10-10 10:34:16 +02:00
Gregor Kleen
e60f1b2bfc feat(course): allow csv-export of all features-of-study 2019-10-09 18:25:31 +02:00
Gregor Kleen
b0b92b4b26 fix: hlint 2019-10-09 17:18:01 +02:00
Gregor Kleen
ed846df453 Merge remote-tracking branch 'origin/455-datepicker-interagieren-schlecht-mit-modals' 2019-10-09 16:52:40 +02:00
Gregor Kleen
fa7f7712f7 feat(courses): course events 2019-10-09 16:51:56 +02:00
Sarah Vaupel
3ecf834756 fix(datepicker): manually add scroll offset based on scroll target 2019-10-09 13:42:08 +02:00
Gregor Kleen
3750da81dc feat(courses): add NotificationCourseRegistered 2019-10-08 16:20:40 +02:00
Gregor Kleen
64b391a0fe feat(info-lecturer): minor adjustments 2019-10-08 15:28:56 +02:00
Gregor Kleen
5583ccef74 Merge branch 'master' into 470-lecturerinfo-seite-uberarbeiten 2019-10-08 14:26:30 +02:00
Gregor Kleen
9a28dc851c feat(course): csv export of course participants 2019-10-08 14:25:20 +02:00
Sarah Vaupel
723ceaf1ed Merge branch 'master' into info-lecturer 2019-10-08 13:34:48 +02:00
Sarah Vaupel
fa9e6b587b feat(info-lecturer): add expiry time for newFeat 2019-10-08 13:24:02 +02:00
Gregor Kleen
b7c54df913 feat(allocations): show more information 2019-10-05 15:24:13 +02:00
Gregor Kleen
ef5bb70b65 fix(course-user): handle allocations when deregistering single users 2019-10-05 11:44:21 +02:00
Gregor Kleen
8f284acde8 feat(course): show direct registration dates 2019-10-04 19:49:41 +02:00
Gregor Kleen
d4ab6f64e2 fix: ordinalPriorities 2019-10-04 17:30:40 +02:00
Gregor Kleen
60603cb6ec feat(allocations): fingerprints & ordinal ratings 2019-10-04 16:37:11 +02:00
Gregor Kleen
fccc2ea212 feat(favourites): usability improvements 2019-10-04 13:28:58 +02:00
Gregor Kleen
93232201f2 feat(allocations): notification about finished allocation 2019-10-04 11:12:10 +02:00
Gregor Kleen
7a759b192f feat(allocations): properly save allocation-relevant course-deregs 2019-10-04 10:10:05 +02:00
Gregor Kleen
c18299028c refactor: hlint 2019-10-03 19:46:13 +02:00
Gregor Kleen
6d8743fe15 Merge branch '155-zentralanmeldungen' 2019-10-03 19:33:31 +02:00
Gregor Kleen
47bfd8d4ea feat(allocations): auxilliaries for allocation-algo 2019-10-03 15:18:36 +02:00
Gregor Kleen
9d2995b6a5 refactor(favourites): introduce FavouriteReason 2019-10-02 18:54:48 +02:00
Gregor Kleen
89cc9ad35e fix(course-news): prevent display of edit-functions unless auth'ed 2019-10-01 22:15:13 +02:00
Gregor Kleen
afbd222c15 chore: fix hlint 2019-10-01 20:01:43 +02:00
Gregor Kleen
aa93b75e00 feat(course): introduce CourseNews 2019-10-01 19:46:40 +02:00
Sarah Vaupel
0b2e9319be feat(tooltips): add option for inline tooltips 2019-10-01 18:35:51 +02:00
Sarah Vaupel
5a49febf9c feat(info-lecturer): add inline newU2W icons 2019-10-01 18:13:33 +02:00
Sarah Vaupel
a4068b4a82 feat(lecturer-info): add planned features icon; update info 2019-10-01 17:12:19 +02:00
Sarah Vaupel
74022b9305 style(tooltips): remove info grey style and update admin page 2019-10-01 14:53:21 +02:00
Sarah Vaupel
3b0e1d570d feat(tooltips): replace tooltips 2019-10-01 14:06:03 +02:00
Sarah Vaupel
276dcb6ad9 feat(tooltips): add auto unzip and multiFileField tooltips 2019-10-01 13:27:48 +02:00
Sarah Vaupel
2205180350 Merge branch 'master' into info-lecturer 2019-10-01 11:14:32 +02:00
Gregor Kleen
2ddb56640f fix(exam-users): make csv import much more lenient 2019-10-01 09:38:18 +02:00
Gregor Kleen
89adf7f2dc fix(mail): honor userCsvOptions and userDisplayEmail 2019-10-01 09:07:21 +02:00
Gregor Kleen
8a688cc795 refactor(tutorials): split 2019-09-30 16:57:06 +02:00
Gregor Kleen
ac7f093647 chore: fix build 2019-09-30 16:19:35 +02:00
Gregor Kleen
d7d1f27303 fix(course-edit): edit courses without being school-wide lecturer
Fixes #464
2019-09-30 16:18:48 +02:00
Gregor Kleen
95ceeddc83 feat(csv): allow customisation of csv-export-options 2019-09-30 15:53:29 +02:00
Gregor Kleen
64f771518e fix(course-application): better display of priorities 2019-09-30 08:57:33 +02:00
Gregor Kleen
620950df83 feat(course-applications): automatic acceptance of direct applicants 2019-09-27 11:46:25 +02:00
Gregor Kleen
16abcd2265 fix: don't treat ExamBonusManual as override 2019-09-26 16:50:30 +02:00
Gregor Kleen
2bc68946e3 fix(exams): include bonus points in sum for exam participants 2019-09-26 14:37:55 +02:00
Gregor Kleen
54e94a6670 feat(exams): re-introduce ExamBonusManual 2019-09-26 11:01:32 +02:00
Sarah Vaupel
885efd364b feat(tooltip): added test warning to admin test page 2019-09-25 18:12:04 +02:00
Sarah Vaupel
f85ab69114 feat(tooltips): tooltips from messages 2019-09-25 17:59:02 +02:00
Gregor Kleen
7a2b972f9f fix(communication): make communication form more intuitive
Fixes #387
2019-09-25 17:36:48 +02:00
Sarah Vaupel
2ca7085ec9 feat(lecturer-info): replaced icons with icon-tooltips; edited text 2019-09-25 16:49:34 +02:00
Gregor Kleen
fe07a226e9 feat(exam-users): document part-* family of columns 2019-09-25 14:24:19 +02:00
Gregor Kleen
9569c4f026 Merge branch 'master' into 205-klausuren 2019-09-25 14:10:52 +02:00
Gregor Kleen
67e3b38834 chore: bump versions
BREAKING CHANGE: yesod >=1.6
2019-09-25 13:46:10 +02:00
Gregor Kleen
e97cd5616b feat(exams): implement rounding of exambonus 2019-09-19 11:30:24 +02:00
Gregor Kleen
0ebda4d382 feat(exams): better display exam-result-information 2019-09-18 19:14:19 +02:00
Gregor Kleen
72342f1393 feat(exams): accept/reset computed results 2019-09-18 18:29:35 +02:00
Gregor Kleen
ea5a398bab feat(exams): automatically compute examResults
BREAKING CHANGE: examPartName no longer required
2019-09-18 17:17:18 +02:00
Gregor Kleen
014a17a3be feat(exams): refine exam form 2019-09-18 11:45:08 +02:00
Gregor Kleen
29f4e28536 feat(exams): csv-import of ExamPartResults
BREAKING CHANGE: Introduces ExamPartNumbers
2019-09-16 17:53:45 +02:00
Gregor Kleen
530a8c688e fix(exams): make examClosed a button
Show examFinished and examClosed to ExamOffice
Mark not-yet-closed exams for ExamOffice
2019-09-16 11:24:14 +02:00
Gregor Kleen
5841a7b5d2 feat(exam-office): exam-office permissions by courseSchool 2019-09-16 10:12:17 +02:00
Gregor Kleen
7e19c45684 chore: fix hlint 2019-09-13 13:31:53 +02:00
Gregor Kleen
484fa1cc63 feat(exam-office): course/user opt-outs 2019-09-13 12:57:30 +02:00
Gregor Kleen
517da054b1 Merge branch 'master' into exam-office 2019-09-13 10:37:20 +02:00
Gregor Kleen
ae27ff0bb1 feat(exams): notifications wrt. registration 2019-09-13 10:06:38 +02:00
Gregor Kleen
2f38278ab1 feat(users): allow customisation of displayed email address
Fixes #459
2019-09-12 17:18:17 +02:00
Gregor Kleen
a85f317bf2 feat(users): allow customisation of userDisplayName
Fixes #346
2019-09-12 15:46:09 +02:00
Gregor Kleen
83e1c9418a feat(allocations): allow changing course capacity during allocation
Also refine display of allocation registration bounds
2019-09-12 14:38:54 +02:00
Gregor Kleen
91b249e58b feat(allocations): show bounds on assignments due to allocation 2019-09-12 11:41:18 +02:00
Gregor Kleen
99b25cfbc6 Merge branch 'master' into exam-office 2019-09-12 10:52:06 +02:00
Gregor Kleen
67f120120f feat(admin-users): allow adding users 2019-09-12 10:36:39 +02:00
Gregor Kleen
123970a783 feat(exam-office): user invitations 2019-09-11 17:49:03 +02:00
Gregor Kleen
c40b5f4671 Merge branch 'master' into exam-office 2019-09-11 17:07:04 +02:00
Gregor Kleen
91c926b1c5 fix(submission-users): properly delete old invitations 2019-09-11 17:06:12 +02:00
Gregor Kleen
52e1844d5e feat(exam-office): notifications 2019-09-11 15:46:01 +02:00
Gregor Kleen
651f0bc4d4 feat(exam-office): exams list 2019-09-11 12:13:36 +02:00
Gregor Kleen
cb9ff32063 fix(exam-office): better logic for isSynced 2019-09-11 09:11:24 +02:00
Gregor Kleen
b638783f12 feat(exam-office): show exam(Occurrence) end-time 2019-09-10 15:51:14 +02:00
Gregor Kleen
72a7f6e8a8 feat(exam-office): grade export 2019-09-10 15:26:45 +02:00
Gregor Kleen
5cec146cb7 Merge branch 'master' into exam-office 2019-09-10 09:42:25 +02:00
Gregor Kleen
3868e8feae fix(file-upload): fix inverted logic for when upload is required 2019-09-09 17:04:40 +02:00
Gregor Kleen
a671937868 fix: fix tests 2019-09-09 16:40:01 +02:00
Gregor Kleen
3391904cff fix: inherit authorization of CAddUserR in more places 2019-09-09 15:39:57 +02:00
Gregor Kleen
f75cc641e2 feat(exam-office): subscription management for users & fields 2019-09-06 18:33:50 +02:00
Gregor Kleen
9d537307c2 fix(course-edit): improve instructions 2019-09-06 11:09:57 +02:00
Gregor Kleen
80cb16a40f feat(course-edit): warn about long shorthands
Also make sure text input is stripped of whitespace
2019-09-06 11:01:37 +02:00
Gregor Kleen
1d8630663a Merge branch 'master' into 302-transaction-log 2019-09-06 09:38:16 +02:00
Gregor Kleen
af9fe80bf5 refactor: cleanup 2019-09-06 09:38:00 +02:00
Gregor Kleen
5fb6910a58 refactor(invitations): cleanup 2019-09-06 09:30:14 +02:00
Gregor Kleen
412ce98fa0 feat(forms): allow customisation of user-facing datalist values 2019-09-05 20:08:15 +02:00
Gregor Kleen
b7496f9940 feat(forms): show studyFeaturesField in studyFeaturesFieldFor
Fixes #451
2019-09-05 19:14:10 +02:00
Gregor Kleen
ada41e2164 style(allocation): improve structure of allocation-page 2019-09-05 18:05:39 +02:00
Sarah Vaupel
baa7a52cdb Merge branch 'master' into 302-transaction-log 2019-09-05 17:31:34 +02:00
Gregor Kleen
a3f236cb5f feat(allocation-list): show numbers of avail. and applied-to courses 2019-09-05 17:20:57 +02:00
Sarah Vaupel
5f0afbd11d chore(audit): audit submission file edits and deletes 2019-09-05 17:19:22 +02:00
Gregor Kleen
7f2dd7808e fix(course-edit): expand rights of allocation admins 2019-09-05 14:20:46 +02:00
Gregor Kleen
2b3aef7a49 feat(changelog): prettify date formatting 2019-09-05 10:49:19 +02:00
Gregor Kleen
ad6c503ef5 fix(allocations): don't show all allocation information to lecturers 2019-09-05 10:40:47 +02:00
Gregor Kleen
1a66716e8a fix: fix build 2019-09-05 09:21:45 +02:00
Gregor Kleen
6d52ed5c4c feat(allocations): notifications 2019-09-05 08:37:56 +02:00
Sarah Vaupel
f462d44c49 chore(audit): audit submission file edits and deletes 2019-09-04 15:58:12 +02:00
Sarah Vaupel
537e66e487 fix(audit): add missing submission edit 2019-09-04 15:32:45 +02:00
Sarah Vaupel
2f9f0535af chore(audit): revise audit for corrector submission edits 2019-09-04 15:30:19 +02:00
Sarah Vaupel
99cd37c5e0 chore(audit): audit submissionhelper 2019-09-04 14:46:11 +02:00