Commit Graph

2730 Commits

Author SHA1 Message Date
Gregor Kleen
03fec7752b Merge branch 'master' into workflows 2020-11-05 12:19:18 +01:00
Gregor Kleen
8cf39dcbe6 fix(mails): prevent emails being resent to due archiving errors 2020-11-05 11:05:36 +01:00
Gregor Kleen
fa61b46d30 fix: build 2020-11-04 18:18:59 +01:00
Gregor Kleen
0dbf4f8bde fix(mail): better separation of sender/from/envelope-from 2020-11-04 17:21:40 +01:00
Gregor Kleen
af9f96f3f1 chore: fix tests & refactor 2020-11-04 15:57:20 +01:00
Gregor Kleen
1666081fea feat(mail): archive all sent mail & better verp 2020-11-04 15:27:06 +01:00
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
3ff2cf1fec fix: work around conduit-bug releasing fh to early 2020-10-27 10:15:31 +01:00
Gregor Kleen
ca29a66330 fix(exams): error messages for foreign key constraint violations 2020-10-26 16:27:02 +01:00
Gregor Kleen
5108e1494a feat(workflows): additional work on WorkflowWorkflowWorkflow 2020-10-26 14:52:58 +01:00
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
3f5b5727e3 refactor: hlint 2020-10-14 16:43:55 +02:00
Gregor Kleen
b631ed7d06 fix(auth): prettier active directory errors in help messages 2020-10-14 16:30:35 +02:00
Gregor Kleen
ea95d74cb5 fix(migration): don't consider changelog in requiresMigration 2020-10-14 16:24:21 +02:00
Gregor Kleen
286407252a chore: use better exit code for "migration needed" 2020-10-14 13:04:47 +02:00
Gregor Kleen
7529933ebe chore: have uniworxdb accept config file as argument 2020-10-14 12:40:31 +02:00
Gregor Kleen
51ed7e0a26 feat(ldap): expose active directory errors 2020-10-14 12:40:08 +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
2fce1354ad chore: bump changelog 2020-10-13 13:16:46 +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
b69481e88f fix(authorization): have AllocationTime consider ParticipantState 2020-10-12 10:54:27 +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
54e1d6bb9d refactor(workflows): flip association of edges 2020-10-02 15:14:27 +02:00
Gregor Kleen
c5eea64b27 fix(workflows): navigation order 2020-09-30 17:04:18 +02:00
Gregor Kleen
30be798286 style(workflows): better nav icon 2020-09-30 16:56:25 +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
65e06882d2 fix: tests 2020-09-28 11:22:00 +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
712714c903 refactor: isomorphism for converting sqlbackend-keys 2020-09-25 13:00:59 +02:00
Gregor Kleen
8943c3e3bf refactor(workflows): rework types & instances 2020-09-25 13:00:48 +02:00
Sarah Vaupel
c2169423e6 refactor(workflows): rework types and instances 2020-09-25 12:59:30 +02:00
Sarah Vaupel
386d3bfc49 refactor(workflows): refine model and types; TODO fix instances 2020-09-25 12:59:14 +02:00
Sarah Vaupel
88b995a7fd chore(workflow-types): comment test defs 2020-09-25 12:58:44 +02:00
Sarah Vaupel
98bd769b22 chore(workflow-types): update test defs 2020-09-25 12:58:42 +02:00
Sarah Vaupel
ce9648e47a fix(workflow-types): fix Int64 workaround; update test defs 2020-09-25 12:58:24 +02:00
Sarah Vaupel
8995248bff refactor(workflows): switch to Int64 instead of *Id
also fix rebase conflicts
2020-09-25 12:57:38 +02:00
Sarah Vaupel
8b32edee64 feat(workflows): add missing instances; correct Int64 workaround 2020-09-25 12:50:02 +02:00
Sarah Vaupel
6689df5929 chore(workflows): update test defs 2020-09-25 12:50:02 +02:00
Sarah Vaupel
5e92a6e04a fix(workflows): add missing import/reexport 2020-09-25 12:45:28 +02:00
Sarah Vaupel
881e9347ed chore(workflows): export and comment test defs 2020-09-25 12:45:12 +02:00
Sarah Vaupel
3787cc2012 refactor(workflow-types): refactor workflow payload 2020-09-25 12:45:12 +02:00
Sarah Vaupel
89a621ef07 refactor(workflow-types): use WorkflowPayloadFieldLabel as label type 2020-09-25 12:45:12 +02:00
Sarah Vaupel
4f58f652cd refactor(workflows): remove old number resolution utils 2020-09-25 12:45:12 +02:00
Sarah Vaupel
d5f401be4a refactor(workflows): restructure workflow types 2020-09-25 12:45:11 +02:00
Sarah Vaupel
da2bdeb6ab refactor(workflows): reformat Show instance 2020-09-25 12:45:11 +02:00
Sarah Vaupel
8b67481228 refactor(workflows): rename payload record fields 2020-09-25 12:45:11 +02:00
Sarah Vaupel
44b3b5faee chore(workflows): refactor names and add label to payload 2020-09-25 12:45:11 +02:00
Sarah Vaupel
4d6d4ec9f6 chore(workflows): better Show instance for fields and tmp test payload 2020-09-25 12:45:11 +02:00
Sarah Vaupel
8608e83ef8 fix(workflow): add missing optional 2020-09-25 12:45:11 +02:00
Sarah Vaupel
e1261761a2 chore(workflows): more on types 2020-09-25 12:45:10 +02:00
Sarah Vaupel
857ab74525 chore(workflows): switch from SomeResolution to Scientific (wip) 2020-09-25 12:45:10 +02:00
Sarah Vaupel
c1b48e4d55 chore(workflows): replace heterogeneous list in json 2020-09-25 12:45:10 +02:00
Sarah Vaupel
c65bc7bda8 chore(workflow-types): derive Show for Graph and Edge 2020-09-25 12:45:10 +02:00
Sarah Vaupel
99c0bfe8bf chore(workflow-types): tmp stub 2020-09-25 12:45:10 +02:00
Sarah Vaupel
263fee19f2 fix(workflow): fix node and graph FromJSON instances 2020-09-25 12:45:10 +02:00
Sarah Vaupel
8812f24d90 fix(workflow): fix false instance with atrocious instances 2020-09-25 12:45:09 +02:00
Sarah Vaupel
ce1acec444 fix(workflow): fix types 2020-09-25 12:45:09 +02:00
Sarah Vaupel
d1b9d502e8 chore(workflow-types): more on types 2020-09-25 12:45:02 +02:00
Sarah Vaupel
460bd9d3e5 chore(workflow-types): import authdns 2020-09-25 12:44:16 +02:00
Sarah Vaupel
9612b7d905 chore(workflow-types): reference node labels instead of nodes 2020-09-25 12:44:16 +02:00
Sarah Vaupel
26c5a32f58 chore(workflows): cleanup types 2020-09-25 12:44:16 +02:00
Sarah Vaupel
4334253122 fix(workflow): fix types 2020-09-25 12:44:16 +02:00
Sarah Vaupel
0eea74b8b3 refactor(workflow): more on types 2020-09-25 12:44:16 +02:00
Sarah Vaupel
5ff48d9b60 refactor(workflow): payload specification 2020-09-25 12:44:15 +02:00
Sarah Vaupel
094421ae5c refactor(workflow): more on adts 2020-09-25 12:44:15 +02:00
Sarah Vaupel
50b3fb8dcf refactor(workflow): roles as initiators; fix instance scope type 2020-09-25 12:44:15 +02:00
Sarah Vaupel
b19c1b31b7 fix(workflow-types): minor import fix 2020-09-25 12:44:15 +02:00
Sarah Vaupel
b7dec2f1d0 chore: very stubby stub for workflow model 2020-09-25 12:44:15 +02:00
Gregor Kleen
b359468593 feat(allocations): show staff descriptions 2020-09-25 12:02:59 +02:00
Gregor Kleen
34a52653d7 fix(metrics): larger range for worker_state_duration 2020-09-23 19:49:46 +02:00
Gregor Kleen
32b2314d0c refactor: hlint 2020-09-23 17:02:29 +02:00
Gregor Kleen
fb0ae65ac5 feat(files): monitor missing files 2020-09-23 16:48:41 +02:00
Gregor Kleen
e4416e7f0e fix(jobs): better flushing, correct metrics, better etas 2020-09-23 14:05:30 +02:00
Gregor Kleen
513249b9eb refactor: hlint 2020-09-22 14:14:25 +02:00
Gregor Kleen
2ca024b935 fix(files): don't inject serializable 2020-09-22 13:43:58 +02:00
Gregor Kleen
2a84edccb4 fix(jobs): improve job worker healthchecks & logging 2020-09-22 02:39:03 +02:00
Gregor Kleen
284aae1213 feat(jobs): move held-up jobs to different workers 2020-09-21 23:14:37 +02:00
Gregor Kleen
cbf41b2ea0 feat(logging): additional logging for inject-files 2020-09-21 13:59:57 +02:00
Gregor Kleen
d21faf4de0 feat: improve logging/metrics wrt. batch jobs 2020-09-21 13:31:53 +02:00
Gregor Kleen
8afacdd6b7 refactor: hlint 2020-09-21 12:24:31 +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
7038099389 fix(jobs): delimit resource allocation to within handler
Hopefully fixes memory leak in production
2020-09-18 11:34:58 +02:00
Gregor Kleen
e099e13816 fix(file-jobs): improve log messages 2020-09-17 21:56:41 +02:00
Gregor Kleen
e5ae1521a0 fix(metrics): sort metrics 2020-09-17 20:38:00 +02:00
Gregor Kleen
dd235590b4 fix: migration 2020-09-17 20:29:14 +02:00
Gregor Kleen
937326639a feat(sheet): warn about no submission without not graded
Fixes #342
2020-09-16 17:22:38 +02:00
Sarah Vaupel
885de4403c fix(eexamlistr): allow access for users with exam results 2020-09-16 15:42:57 +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
e80f7d7a89 feat(files): avoid initial unnecessary rechunking 2020-09-07 15:03:40 +02:00
Gregor Kleen
d624a951c5 feat(files): content dependent chunking 2020-09-07 14:27:36 +02:00
Gregor Kleen
58c2420458 feat(files): chunk prune-unreferenced-files finer 2020-09-03 14:53:20 +02:00
Gregor Kleen
8f608c1955 feat(files): chunking
BREAKING CHANGE: files now chunked
2020-09-02 21:25:20 +02:00
Gregor Kleen
0b4fadedd2 feat: log ldap error messages on invalid-credentials 2020-08-28 17:58:13 +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
42aee66d1f feat: implement system-exam-office 2020-08-27 22:58:29 +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
132a510a23 fix: migrate so as not to resend allocation notifications 2020-08-24 19:01:31 +02:00
Gregor Kleen
f2971f66fd refactor: hlint 2020-08-24 17:05:10 +02:00
Gregor Kleen
9e9e53e76a feat(allocations): merge notifications 2020-08-24 14:39:43 +02:00
Gregor Kleen
0261b3979d fix(notification-form): define rules for all notification-triggers
Fixes #561
2020-08-21 12:09:17 +02:00
Gregor Kleen
67771facff chore: use fewer segfault-y packages (hopefully) 2020-08-17 17:57:44 +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
a1b03e819f fix: typo 2020-08-15 18:20:52 +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
6a0774bff3 refactor(course-visibility): guard on user id and auth tag before exists 2020-08-10 13:47:53 +02:00