Commit Graph

1354 Commits

Author SHA1 Message Date
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
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
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
Gregor Kleen
da724654ed perf: try to reduce db connection load of auth 2021-03-23 11:07:05 +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
Winnie Ros
51a90bbb5f refactor(messages): course/application/event 2021-03-16 16:40:57 +01:00
Winnie Ros
8d9d3c613f refactor(messages): msgmenu only for navLabel, gender-neutral language navigation 2021-03-16 11:43:00 +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
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
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
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
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
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
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
b814bc094a refactor(workflows): shared workflow graphs 2021-02-01 17:37:55 +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
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
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
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
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
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
319c75a85a feat(rooms): different room types & hidden rooms 2020-11-19 14:25:38 +01:00
Gregor Kleen
4ea54d8b82 refactor: hlint 2020-11-10 19:46:22 +01:00
Gregor Kleen
5b28303539 feat: partial/conditional downloads & video streaming 2020-11-10 17:23:15 +01:00
Gregor Kleen
e25e8a2f4c fix(html-field): introduce stored-markup
BREAKING CHANGE: StoredMarkup
2020-11-06 20:39:43 +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
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
5108e1494a feat(workflows): additional work on WorkflowWorkflowWorkflow 2020-10-26 14:52:58 +01:00
Gregor Kleen
fd7c91f5b8 feat(workflows): initiate 2020-10-19 21:46:10 +02:00
Gregor Kleen
6cd9f9bbfd Merge branch 'master' into workflows 2020-10-13 14:31:48 +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
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
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
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
4801d22cb3 feat(metrics): measure file i/o 2020-09-21 12:16:47 +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
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
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
Sarah Vaupel
97b22171bf Apply 1 suggestion(s) to 1 file(s) 2020-08-17 11:35:13 +02:00
Sarah Vaupel
6244a250ee Apply 1 suggestion(s) to 1 file(s) 2020-08-17 11:08:34 +02:00
Sarah Vaupel
7e14fef5c5 fix: hlint 2020-08-17 10:48:46 +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
de02895ed0 feat(eecorrectr): basic handler structure (WIP) 2020-08-11 21:18:59 +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
036d761ec8 refactor(course-visibility): comment DBSTCourse 2020-08-10 12:44:45 +02:00
Sarah Vaupel
1e016dab17 Merge branch 'master' into course-visibility 2020-08-08 15:43:00 +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
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
Gregor Kleen
c4c952ebc1 Merge branch 'master' into feat/customized-exercises 2020-08-04 10:07:36 +02:00
Gregor Kleen
1be971677b fix(jobs): queue certain jobs at most once 2020-08-03 13:52:37 +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
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
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
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
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
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
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
8b7e8e4bd5 feat(terms): improve term display/editing
Fixes #485
2020-06-15 16:49:31 +02:00
Gregor Kleen
26cc8e4b53 feat(course-participants): show exercise sheets (first cornice) 2020-06-14 16:27:27 +02:00
Gregor Kleen
fdeb2514c0 feat(dbtable): add support for Cornice 2020-06-10 09:42:39 +02:00
Gregor Kleen
f74581c356 feat(correction): allow lecturers to set corrector
Fixes #414
2020-05-26 11:30:39 +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
d90da85df3 feat(communication): send test emails 2020-05-12 16:44:53 +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
27731ac077 fix(submission-multi-archive): fix cleanup & improve 2020-05-08 10:57: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
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
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
0e68b6cf53 feat(ldap): failover 2020-04-27 16:17:00 +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
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
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
ced6ef2874 feat(course-user): major improvements
See #126
2020-04-16 17:19:16 +02:00
Gregor Kleen
c81bc2314e feat(system-messages): hiding 2020-04-15 12:34:20 +02:00
Gregor Kleen
738ab7b738 feat: admin interface to issue tokens 2020-04-09 15:23:46 +02:00
Gregor Kleen
bc47dcf43f feat(tokens): multiple authorities 2020-04-09 10:30:25 +02: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
cf03277874 feat(allocations): improve acceptance display 2020-03-14 14:15:29 +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
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
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
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
cfaea9c08b chore: bump to lts-15.0
BREAKING CHANGE: major version bumps
2020-02-23 11:12:45 +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
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
1348c91c3c feat: navbar header containers
BREAKING CHANGE: major navigation refactor
2020-02-06 16:27:28 +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
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
7140618a5c chore: remove traces 2020-01-29 21:46:16 +01:00
Gregor Kleen
e994fafe28 feat(exams): automatic exam occurrence assignment 2020-01-29 20:31:37 +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
4e9b618b61 fix: tests & hlint 2020-01-15 17:20:13 +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
f25b21aa4b feat(external-exams): requisite routes 2020-01-15 12:07:27 +01:00
Sarah Vaupel
b03c10f098 feat(hide-columns): opt-out on select columns 2020-01-13 10:39:08 +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
674b949388 fix: divide by zero 2020-01-07 16:22:52 +01:00
Sarah Vaupel
e27bebac59 feat(foundation): move stuff out of Foundation 2019-12-16 14:26:06 +01:00
Sarah Vaupel
37f0936d91 fix: fix hlint 2019-12-10 16:05:46 +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
b7d6f3c9e9 refactor(sub-study-fields): reformulate as superStudyField
Fixes #531

BREAKING CHANGE: superStudyField
2019-11-28 12:52:03 +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
6c49c509ac fix(file-upload-form): don't check case of file extensions 2019-10-17 17:25:17 +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
c2a8381278 feat(users): sex 2019-10-14 15:34:43 +02:00
Gregor Kleen
5bc015ddcb refactor(allocations): store log/fingerprint separately 2019-10-13 21:41:29 +02:00
Gregor Kleen
fa7f7712f7 feat(courses): course events 2019-10-09 16:51:56 +02:00
Gregor Kleen
3750da81dc feat(courses): add NotificationCourseRegistered 2019-10-08 16:20:40 +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
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
c18299028c refactor: hlint 2019-10-03 19:46:13 +02:00
Gregor Kleen
47bfd8d4ea feat(allocations): auxilliaries for allocation-algo 2019-10-03 15:18:36 +02:00
Gregor Kleen
aa93b75e00 feat(course): introduce CourseNews 2019-10-01 19:46:40 +02:00
Sarah Vaupel
276dcb6ad9 feat(tooltips): add auto unzip and multiFileField tooltips 2019-10-01 13:27:48 +02:00
Gregor Kleen
89adf7f2dc fix(mail): honor userCsvOptions and userDisplayEmail 2019-10-01 09:07:21 +02:00
Gregor Kleen
ac7f093647 chore: fix build 2019-09-30 16:19:35 +02:00
Gregor Kleen
95ceeddc83 feat(csv): allow customisation of csv-export-options 2019-09-30 15:53:29 +02:00
Gregor Kleen
620950df83 feat(course-applications): automatic acceptance of direct applicants 2019-09-27 11:46:25 +02:00
Gregor Kleen
54e94a6670 feat(exams): re-introduce ExamBonusManual 2019-09-26 11:01:32 +02:00
Gregor Kleen
7a2b972f9f fix(communication): make communication form more intuitive
Fixes #387
2019-09-25 17:36:48 +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
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
a85f317bf2 feat(users): allow customisation of userDisplayName
Fixes #346
2019-09-12 15:46:09 +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
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