Commit Graph

559 Commits

Author SHA1 Message Date
Gregor Kleen
8f608c1955 feat(files): chunking
BREAKING CHANGE: files now chunked
2020-09-02 21:25:20 +02:00
Gregor Kleen
bbfd182ed9 feat: support for ldap primary keys 2020-08-28 14:00:26 +02:00
Gregor Kleen
abc37aca9c feat: add user-system-function 2020-08-27 22:58:28 +02:00
Gregor Kleen
132a510a23 fix: migrate so as not to resend allocation notifications 2020-08-24 19:01:31 +02:00
Sarah Vaupel
f2e6435a03 chore: move Utils.Exam to Utils.Exam.Correct 2020-08-17 11:29:48 +02:00
Sarah Vaupel
366761ba84 Merge branch 'master' into eecorrectr 2020-08-15 16:57:08 +02:00
Gregor Kleen
c68a01d7ae refactor: split foundation & llvm
BREAKING CHANGE: split foundation
2020-08-14 17:02:14 +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
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
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
6a0774bff3 refactor(course-visibility): guard on user id and auth tag before exists 2020-08-10 13:47:53 +02:00
Sarah Vaupel
65c85e7607 Apply 1 suggestion(s) to 1 file(s) 2020-08-10 11:54:16 +02:00
Sarah Vaupel
e08f9f2ca1 Apply 1 suggestion(s) to 1 file(s) 2020-08-10 11:54:05 +02:00
Sarah Vaupel
e9d67fdac9 Apply 1 suggestion(s) to 1 file(s) 2020-08-10 11:54:00 +02:00
Sarah Vaupel
ff19b4a98d Apply 1 suggestion(s) to 1 file(s) 2020-08-10 11:53:55 +02:00
Sarah Vaupel
0baa3325c2 Apply 1 suggestion(s) to 1 file(s) 2020-08-10 11:53:24 +02:00
Sarah Vaupel
139d848292 Apply 1 suggestion(s) to 1 file(s) 2020-08-10 11:53:19 +02:00
Sarah Vaupel
18bd29b746 Apply 1 suggestion(s) to 1 file(s) 2020-08-10 11:53:07 +02:00
Sarah Vaupel
d5b7b08f31 Apply 1 suggestion(s) to 1 file(s) 2020-08-10 11:52:37 +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
5ea7816926 fix: hlint 2020-08-08 15:39:10 +02:00
Sarah Vaupel
dfa70ee7fe feat(course-visibility): allow access for exam correctors 2020-08-08 12:54:37 +02:00
Gregor Kleen
db205f635d feat(personalised-sheet-files): participant interaction 2020-08-07 18:18:41 +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
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
Sarah Vaupel
95490af7af Merge branch 'master' into course-visibility 2020-08-02 17:49:22 +02:00
Gregor Kleen
60be62b63b fix(set-serializable): logging limit 2020-08-02 10:40:35 +02:00
Gregor Kleen
88a92390d5 feat(files): safer file deletion 2020-08-01 14:43:33 +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
0c3f2011dd refactor(course-visibility): make course utils require less 2020-07-30 11:52:28 +02:00
Sarah Vaupel
9473d657a6 refactor(course-utils): better auth tag checks in course utils 2020-07-29 16:16:11 +02:00
Sarah Vaupel
7d3c5b11a5 chore(course-visibility): add active auth tags to all course utils 2020-07-29 16:01:15 +02:00
Sarah Vaupel
0ff07a5fad feat(course-visibility): account for visibility on TShowR 2020-07-29 15:31:02 +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
22882c1fa0 refactor: hlint 2020-07-28 20:21:02 +02:00
Gregor Kleen
9213b7554a feat(failover): treat alternatives cyclically 2020-07-28 20:04:44 +02:00
Gregor Kleen
9ee44aa2f1 feat(personalised-sheet-files): introduce routes & work on crypto 2020-07-28 19:14:15 +02:00
Gregor Kleen
0c7e56f405 feat(metrics): observe login attempts 2020-07-21 16:57:38 +02:00
Gregor Kleen
19b8b0616f fix: shutdown behaviour & tests 2020-07-21 15:52:45 +02:00
Gregor Kleen
a60ad1abae fix(files): allow clobbering files during form submission 2020-07-20 15:38:30 +02:00
Gregor Kleen
fc49f46f50 refactor: hlint 2020-07-17 16:52:34 +02:00
Gregor Kleen
cadb18df7b refactor: use minioIsDoesNotExist 2020-07-17 15:54:43 +02:00
Gregor Kleen
82b24df1f0 refactor: hlint 2020-07-17 15:54:43 +02:00
Gregor Kleen
1926917dd7 feat(files): further balance file jobs 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
da1bf86d5e fix(ldap-failover): improve concurrency & error handling 2020-07-17 15:42:44 +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
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
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
06f47c59b4 feat(course-participants): csv export exercise sheets 2020-06-14 18:15:58 +02:00
Gregor Kleen
f74581c356 feat(correction): allow lecturers to set corrector
Fixes #414
2020-05-26 11:30:39 +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
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
bcd3e467d6 fix(serversession-backend-memcached): don't throw on deleteSession 2020-05-18 08:53:16 +02:00
Gregor Kleen
16643b6244 fix(failover): don't always record as failed
Also improve ldap error handling
2020-05-13 11:20:30 +02:00
Gregor Kleen
859ae5eea1 fix(sql): quiet warnings in setSerializable 2020-05-12 11:46:02 +02:00
Gregor Kleen
e5acdad134 fix(sql): fix transaction behaviour of setSerializable
Fixes #535
2020-05-12 10:24:23 +02:00
Gregor Kleen
daaeb09de8 feat(admin-test): download test 2020-05-10 17:56:12 +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
192b6279d3 refactor(file upload): move to genericFileField 2020-04-29 18:30:54 +02:00
Gregor Kleen
0e68b6cf53 feat(ldap): failover 2020-04-27 16:17:00 +02:00
Gregor Kleen
e1c6fd43b8 fix(allocation): don't restart cloneCount when allocating successors 2020-04-26 13:21:56 +02:00
Gregor Kleen
fdd6b1a194 feat(help): attach last error message 2020-04-24 13:30:20 +02:00
Gregor Kleen
b9b090992f feat(caching): aggressively cache nav items 2020-04-22 11:14:25 +02:00
Gregor Kleen
fd2c2881ea feat(submissions): non-anonymized correction
Fixes #524
Fixes #292
2020-04-17 15:19:26 +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
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
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
Gregor Kleen
996005935d feat(serversessions): move session storage to dedicated memcached
fixes #390
2020-03-13 17:26:47 +01:00
Gregor Kleen
20ef95c142 feat(allocations): compute & accept allocations 2020-03-10 22:36:33 +01:00
Gregor Kleen
2dc6641e68 fix(csv-import): major usability improvements 2020-03-06 20:38:42 +01:00
Gregor Kleen
49d9ab9dba feat(csv): export example data & improve zoned-time parsing 2020-03-06 13:53:13 +01:00
Gregor Kleen
17882868d2 refactor(dbtable): move haskell-land filtering to actual filter 2020-03-06 09:00:24 +01:00
Gregor Kleen
f0f046f4b6 refactor(metrics): collect better metrics about jobs 2020-03-03 16:50:55 +01:00
Gregor Kleen
432a77f705 refactor(dbtable): optimize 2020-03-03 15:16:23 +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
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
c5848b24e8 feat: pandoc-markdown based htmlField
BREAKING CHANGE: markdown based HTML input
2020-02-21 17:34:49 +01:00
Gregor Kleen
b74bb53041 feat(metrics): monitor job executor state 2020-02-21 15:14:50 +01:00
Gregor Kleen
0da6c49392 feat(metrics): monitor job durations 2020-02-21 13:28:52 +01:00
Gregor Kleen
bec40236db feat(metrics): report on health checks 2020-02-19 13:51:21 +01:00
Sarah Vaupel
623becf597 feat(exam-correct): add basic interface stub 2020-02-07 10:04:32 +01:00
Gregor Kleen
95ffda25b6 feat: improve navigation 2020-02-06 16:27:29 +01:00
Gregor Kleen
51fc6dc541 feat: restore & improve navbar contents 2020-02-06 16:27:29 +01:00
Gregor Kleen
18ae75890a fix: design tweaks 2020-02-06 16:27:29 +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
e994fafe28 feat(exams): automatic exam occurrence assignment 2020-01-29 20:31:37 +01:00
Gregor Kleen
88dd5a90b9 feat: course-participant-lists 2020-01-17 17:55:14 +01:00
Gregor Kleen
3b739f751d feat: external exams in exam office exams table 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
1252a5fc79 feat(external-exams): edit existing exams 2020-01-15 12:08: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
c2a8381278 feat(users): sex 2019-10-14 15:34:43 +02:00
Gregor Kleen
1d5ddd102c feat(course-users): include tutorial in csv-export 2019-10-10 11:22:50 +02:00
Gregor Kleen
fa7f7712f7 feat(courses): course events 2019-10-09 16:51:56 +02:00
Sarah Vaupel
c19f427cd7 fix: hlint 2019-10-09 10:20:22 +02:00
Sarah Vaupel
723ceaf1ed Merge branch 'master' into info-lecturer 2019-10-08 13:34:48 +02:00
Gregor Kleen
7a759b192f feat(allocations): properly save allocation-relevant course-deregs 2019-10-04 10:10:05 +02:00
Gregor Kleen
47bfd8d4ea feat(allocations): auxilliaries for allocation-algo 2019-10-03 15:18:36 +02:00
Gregor Kleen
b4100472e5 refactor(allocation-algo): minor refinements 2019-10-03 11:26:59 +02:00
Gregor Kleen
0fcf48ce66 feat(allocations): prototype assignment-algorithm 2019-10-02 17:57:17 +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
0c2f58fa42 style(tooltips): content to the right and fixed width 2019-10-01 15:17:14 +02:00
Sarah Vaupel
2205180350 Merge branch 'master' into info-lecturer 2019-10-01 11:14:32 +02:00
Gregor Kleen
95ceeddc83 feat(csv): allow customisation of csv-export-options 2019-09-30 15:53:29 +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
cc7a5289a4 fix: improve async behaviour 2019-09-25 18:36:39 +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
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
ea5a398bab feat(exams): automatically compute examResults
BREAKING CHANGE: examPartName no longer required
2019-09-18 17:17:18 +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
484fa1cc63 feat(exam-office): course/user opt-outs 2019-09-13 12:57:30 +02:00
Gregor Kleen
651f0bc4d4 feat(exam-office): exams list 2019-09-11 12:13:36 +02:00
Gregor Kleen
72a7f6e8a8 feat(exam-office): grade export 2019-09-10 15:26:45 +02:00
Gregor Kleen
f75cc641e2 feat(exam-office): subscription management for users & fields 2019-09-06 18:33:50 +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
412ce98fa0 feat(forms): allow customisation of user-facing datalist values 2019-09-05 20:08:15 +02:00
Sarah Vaupel
baa7a52cdb Merge branch 'master' into 302-transaction-log 2019-09-05 17:31:34 +02:00
Sarah Vaupel
99cd37c5e0 chore(audit): audit submissionhelper 2019-09-04 14:46:11 +02:00
Gregor Kleen
fc53497aa3 fix(course-edit): show old allocation
Fixes #450
2019-09-04 11:36:16 +02:00
Gregor Kleen
07895368dd feat(users): ldap-synchronise arbitrary subsets of users 2019-09-02 13:49:57 +02:00
Gregor Kleen
90aef6423f Merge branch 'master' into schools 2019-08-29 16:52:02 +02:00
Gregor Kleen
28df184748 Merge branch 'master' into 423-uneingeloste-einladungen-garbage-collecten 2019-08-29 16:25:05 +02:00
Gregor Kleen
96b8478610 chore: fix tests & hlint 2019-08-29 15:33:36 +02:00
Sarah Vaupel
24b97ef28e chore(audit): proper audit for editing submissions 2019-08-29 14:34:20 +02:00
Gregor Kleen
12067de2ff feat(user-schools): automatically assign users to schools
Based on StudyTerms and SchoolLdap
2019-08-28 17:08:23 +02:00
Sarah Vaupel
a9c527621e feat(crontab): cronjob for pruning expired invitations 2019-08-28 16:03:08 +02:00
Sarah Vaupel
067d8d0a44 Merge branch 'master' into 409-find-implement-alternative-for-datepicker 2019-08-28 10:29:18 +02:00
Gregor Kleen
76f8da52e0 feat(users): generalise UserLecturer and UserAdmin to UserFunction
Closes #320
BREAKING CHANGE: Remove UserLecturer and UserAdmin
2019-08-28 09:46:03 +02:00
Gregor Kleen
18ae28abbc feat(schools): implement cru 2019-08-27 12:15:18 +02:00
Gregor Kleen
cf0ec1aec4 feat(course-applications): csv transport 2019-08-26 17:55:05 +02:00
Sarah Vaupel
0998d11312 Merge branch 'master' into 409-find-implement-alternative-for-datepicker 2019-08-26 10:35:51 +02:00
Gregor Kleen
5e393c53c6 feat(allocations): serve archive of all application files by course 2019-08-23 10:15:59 +02:00
Steffen Jost
839251ede3 fix(home): fix hlint and other minor bugs 2019-08-22 18:07:22 +02:00
Steffen Jost
d23e222fd0 feat(home): allow users to define exam warning time
Closes #445
2019-08-22 18:05:14 +02:00
Gregor Kleen
f5da3bebba feat(allocations): show table of course applications 2019-08-22 15:27:28 +02:00
Gregor Kleen
d621e61b11 feat(allocations): show table of all allocations
Cleanup imports & pageactions
2019-08-20 13:55:01 +02:00
Gregor Kleen
4dcc82a770 feat(allocations): implement application interface 2019-08-19 14:54:03 +02:00
Gregor Kleen
ef625cd901 feat(allocations): add application form(s) 2019-08-14 15:06:43 +02:00
Sarah Vaupel
db345eed55 feat(datepicker): format according to input type; position datepicker
Format dates and times according to the type of the input element; position the datepicker at the right by default and at the bottom for horizontal mass-inputs
2019-08-14 13:23:05 +02:00
Gregor Kleen
2a804c8a39 Merge branch '155-zentralanmeldungen' 2019-08-12 17:44:17 +02:00
Gregor Kleen
79d4ae20ee feat(courses): rework couse registration
Support course applications

BREAKING CHANGE: auditing for course registrations and deregistrations, more
tightly couple exam results, exam registration, and course registration (delete
them together now)
2019-08-12 16:54:37 +02:00
Gregor Kleen
a00698e99e feat(course-registration): allow independent course application 2019-08-09 16:44:26 +02:00
Sarah Vaupel
9b195155c1 Merge branch 'master' into course-teaser 2019-08-06 19:14:36 +02:00
Steffen Jost
b75aed5dda refactor(forms): form validation minor refactor 2019-08-06 17:28:22 +02:00
Steffen Jost
3d63b355eb fix(exams): allow occurrences after exam end 2019-08-06 17:19:00 +02:00
Gregor Kleen
248482b1bb feat(audit): automatic transaction log truncation 2019-08-06 14:22:16 +02:00
Sarah Vaupel
3b419b3366 feat(course-teaser-filter): working filters for semester and institute 2019-08-06 10:48:38 +02:00
Gregor Kleen
f602b79e7a feat(audit): introduce id-based format 2019-08-06 09:51:05 +02:00
Gregor Kleen
14a9a45674 feat(allocations): add courses to allocations 2019-08-05 11:34:00 +02:00
Gregor Kleen
1e756be778 feat(exam users): course notes 2019-07-30 15:03:54 +02:00
Gregor Kleen
84c12b5fc7 feat(notification triggers): redesign interface
Fixes #410
2019-07-29 17:12:48 +02:00
Gregor Kleen
0d610ccf44 feat(users): switching between AuthModes & password changing 2019-07-29 10:55:23 +02:00
Gregor Kleen
932145ccf7 feat(exams): csv-based grade upload 2019-07-25 16:59:09 +02:00
Gregor Kleen
40e952a452 Merge branch 'master' into 205-klausuren 2019-07-25 16:57:51 +02:00
Gregor Kleen
b8b308d608 feat(exams): show exam results 2019-07-25 14:45:45 +02:00
Steffen Jost
ecd72ab56b Merge branch 'master' into alert-icons 2019-07-25 09:49:43 +02:00
Gregor Kleen
8833cb5090 feat(alerts js): support custom icons in Alerts HTTP-Header 2019-07-25 08:57:44 +02:00
Gregor Kleen
bdaa9c6ecf refactor(notifications): notifications don't support custom icons 2019-07-25 08:49:58 +02:00
Steffen Jost
56c2fccb84 feat(corrections assignment): add convenience to table header
links look ugly in table headers so as a workaround we use an icon
instead for a much needed link in the corrections assignment table
2019-07-25 07:48:12 +02:00
Steffen Jost
d838d36239 chore(alert messages): minor code cleaning 2019-07-25 07:39:18 +02:00
Steffen Jost
d70a9585f0 feat(alerticons): allow alerts to have custom icons 2019-07-25 00:19:09 +02:00
Steffen Jost
495fdd18dd refactor(icons): only allow semantics icons from now on 2019-07-24 15:03:35 +02:00
Steffen Jost
f2963cff07 refactor(icons): only allow semantic icons from now on 2019-07-24 15:02:12 +02:00
Gregor Kleen
996bc2ac27 feat(csv): implement csv import 2019-07-19 14:45:44 +02:00
Steffen Jost
63f6d01619 fix(aform): show info about required fields in all aforms
info is only shown in forms that actually have required fields

Closes #418
2019-07-17 13:31:01 +02:00
Gregor Kleen
05e7b52f08 fix(exams): cleanup exam interface
BREAKING CHANGE: examStart and examPublishOccurrenceAssignments now optional
2019-07-15 11:27:56 +02:00
Gregor Kleen
631bbef0b8 feat(csv): introduce csv export 2019-07-10 19:24:10 +02:00