Commit Graph

695 Commits

Author SHA1 Message Date
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
Gregor Kleen
04bea764f4 feat(exams): show study features of registered users
BREAKING CHANGE: E.isInfixOf and E.hasInfix
2019-07-10 13:51:02 +02:00
Steffen Jost
609821595b fix(number-input-fields): number inputs made HTML5 compatible
number inputs of rational fields allow rational inputs and optionally
provide min-max attributes for HTML5

Closes #412
2019-07-04 13:56:04 +02:00
Gregor Kleen
75ec91d8ff Merge branch 'master' into 302-transaction-log 2019-07-03 14:25:29 +02:00
Sarah Vaupel
a6348f9b9c refactor: Replaced DisplayAble by RenderMessage/ToMessage
Removed DisplayAble typeclass; replaced DisplayAble instances by
RenderMessage or ToMessage instances; removed unnecessary tshow calls in
de.msg

Closes #184
2019-07-01 11:48:43 +02:00
Gregor Kleen
6fb1399ef4 feat(exams): Form validation 2019-06-27 10:58:35 +02:00
Gregor Kleen
b63d77ec7b Merge branch 'master' into 205-klausuren
Fix tests
2019-06-27 09:45:57 +02:00
Steffen Jost
96387cbed5 fix(many occurrences throughout the project): Fix typo: occurence -> occurrence everywhere
A typo between occurence in code and occurrence in tests prevented
deployment. I changed all occurrences of "occurence" to the correct
spelling, such that
2019-06-27 08:55:32 +02:00
Sarah Vaupel
39792580d4 Merge branch 'master' into 184-replace-displayable-by-rendermessage 2019-06-27 00:58:24 +02:00
Steffen Jost
89d5364c93 fix(Help Widget, Corrector Assignment): Modal Form closes in place; assign alerts
Closes #195
2019-06-26 19:35:49 +02:00
Gregor Kleen
f8d0b021ed feat(forms): Introduce more convenient form validation 2019-06-26 19:34:56 +02:00
Sarah Vaupel
f5b3dd4c3a Replaced DisplayAble instance for TermId and SchoolId with ToMessage instances 2019-06-26 19:27:41 +02:00
Gregor Kleen
6dc1d76f0a Merge branch 'master' into 205-klausuren 2019-06-19 15:40:45 +02:00
Gregor Kleen
67a50c9e87 feat(exams): CRU (no D) for exams 2019-06-19 15:34:09 +02:00
Steffen Jost
e33704dca4 Implementation okay, but throws NoCorrectors (FIXME) 2019-06-14 20:43:14 +02:00
Gregor Kleen
7deb994c16 Merge branch 'master' into 205-klausuren 2019-06-07 13:43:29 +02:00
Gregor Kleen
054ff5cdc3 Create new exams 2019-06-07 13:42:37 +02:00
Steffen Jost
ee58d61285 Fixes #257 2019-06-06 18:39:32 +02:00
Steffen Jost
cd70b8ffc4 Fixes #298 Fixes #281 2019-06-06 15:29:59 +02:00
Steffen Jost
2feb751afa Towards #298 2019-06-06 13:35:42 +02:00
Gregor Kleen
a5dcdaae0b Merge branch 'master' of gitlab.cip.ifi.lmu.de:jost/UniWorX 2019-06-04 10:32:29 +02:00
Gregor Kleen
332e83a111 Fix handling of URL-encoded jsonFields
See #392
2019-06-04 10:08:57 +02:00
Steffen Jost
d34998ac04 automatic corrector assignment 2019-06-04 08:14:13 +02:00
Gregor Kleen
dbb208112f Aggressively refactor Model.Types 2019-05-27 14:23:58 +02:00
Gregor Kleen
30fe78ebdc Decouple HealthCheck intervals 2019-05-24 22:24:48 +02:00
Gregor Kleen
0a2b676a42 Fix typo 2019-05-21 00:50:39 +02:00
Gregor Kleen
283ad9c421 Make modal-ids always css-compatible 2019-05-20 23:24:18 +02:00
Gregor Kleen
e2315dd28e Fix sheetForm 2019-05-20 18:22:53 +02:00
Gregor Kleen
27a5b83f55 Re-do assignSubmissions to pass tests 2019-05-19 17:18:29 +02:00
Gregor Kleen
813d446975 Divide sheetForm into sections 2019-05-18 23:14:21 +02:00
Gregor Kleen
9f101087ac Overhaul SubmissonMode extensively 2019-05-18 22:51:07 +02:00
Gregor Kleen
97eb18c5aa Cleanup file handling
* Use serve*File(s)-Utilities wherever possible
  * Stream Files from database through zip-encoder and to client whenever possible
  * Get rid of ZIPArchiveName and use Content-Disposition everywhere
  * Make Content-Disposition able to deal with non-ascii filenames
2019-05-18 15:58:29 +02:00
Steffen Jost
7cda3e9f2e Towards #364 for task 1 2019-05-15 12:54:23 +02:00
Gregor Kleen
0568e8a3f6 Merge branch 'feat/course-participant-invitation' 2019-05-13 00:27:21 +02:00
Gregor Kleen
487c46a1ce Finish implementation of course participant invitations
Fixes #250
2019-05-13 00:17:12 +02:00
Gregor Kleen
bf287a4a99 Redesign course-user 2019-05-10 21:32:16 +02:00
Steffen Jost
86f10ae1ba Sheet List Convenience like in UniWorX 2019-05-10 11:25:43 +02:00
Gregor Kleen
4f45cca614 Merge branch 'master' of gitlab.cip.ifi.lmu.de:jost/UniWorX 2019-05-09 14:57:15 +02:00
Gregor Kleen
06df42e43b Better UI for submission users & submission user invitations 2019-05-09 14:53:48 +02:00
Steffen Jost
b908fc4cf3 Sheet: icon mark unpublished files works now 2019-05-09 14:49:56 +02:00
Steffen Jost
6182e94143 Sheet: unpublished files marked with icon and class 2019-05-08 21:02:05 +02:00
Steffen Jost
6daaf68949 initial stub, does not compile 2019-05-08 15:04:57 +02:00
Gregor Kleen
091e5da9df Merge branch 'master' of gitlab.cip.ifi.lmu.de:jost/UniWorX 2019-05-08 14:58:49 +02:00
Gregor Kleen
e5dbbe38ad Introduce wrapForm' 2019-05-08 14:58:40 +02:00
Steffen Jost
36347aa832 flipMaybe moved to Utils 2019-05-08 11:00:10 +02:00
Gregor Kleen
ee5caeb381 Merge branch 'master' into feat/generic-invitations 2019-05-05 16:56:51 +02:00
Gregor Kleen
22c01d988c Generic invitations for everything 2019-05-05 16:45:58 +02:00
Gregor Kleen
c0b2991c16 Fix haddock 2019-05-04 17:20:53 +02:00
Steffen Jost
fcd2b58281 Merge master, no surprises 2019-05-04 12:12:53 +02:00
Steffen Jost
22ffa3477d Saving material mostly implemented 2019-04-29 18:22:07 +02:00
Gregor Kleen
64c45c515e Tutorials 2019-04-29 00:20:34 +02:00
Steffen Jost
d5e1c92794 Initial Stubs 2019-04-25 14:01:24 +02:00
Gregor Kleen
dc44804310 Fix build 2019-04-24 16:49:52 +02:00
Gregor Kleen
816ce0595e Cleanup 2019-04-24 15:13:06 +02:00
Gregor Kleen
07ff56e157 Mixed (external & direct) submissions 2019-04-21 13:57:03 +02:00
Gregor Kleen
98026b2a40 Fix hlint 2019-04-20 22:17:17 +02:00
Gregor Kleen
bd98f11ad5 Overhaul corrector interface 2019-04-20 21:21:20 +02:00
Gregor Kleen
2191272c43 Restructure recipient form 2019-04-20 00:21:30 +02:00
Gregor Kleen
c10aff1c57 Merge branch 'master' into 328-formular-zum-kontakt-mit-kursteilnehmern 2019-04-18 14:42:35 +02:00
Gregor Kleen
60e95e8ef7 Cleanup & (maybe|require)BearerToken 2019-04-17 11:35:27 +02:00
Gregor Kleen
d037434dc2 Merge branch 'master' into feat/tokens 2019-04-17 09:09:20 +02:00
Gregor Kleen
8637847fc6 Working CCommR 2019-04-16 21:28:21 +02:00
Steffen Jost
23029abec6 merge master 2019-04-16 11:14:52 +02:00
Gregor Kleen
5b6c35fedd Cleanup 2019-04-15 16:41:14 +02:00
Gregor Kleen
ea658f65ce Lecturer invitations via e-mail 2019-04-12 14:08:55 +02:00
Gregor Kleen
586fb93736 Introduce Utils.Frontend.I18n 2019-04-11 00:05:01 +02:00
Gregor Kleen
f4ed279a15 Remove isDynamic from modal.hamlet & minor cleanup 2019-04-10 23:09:54 +02:00
Gregor Kleen
1532518943 Fix build 2019-04-10 09:25:51 +02:00
Felix Hamann
63aef9e362 remove obsolete julius files 2019-04-09 21:54:30 +02:00
Gregor Kleen
15fa8d1130 (Get|Post)Token → (Get|Post)Bearer 2019-04-05 22:45:03 +02:00
Gregor Kleen
cc8823c7ca Prototype of !token 2019-04-05 00:05:56 +02:00
Gregor Kleen
680b674b09 Solidify design of BearerToken 2019-04-04 19:33:39 +02:00
Steffen Jost
4520c1be49 email page form incomplete 2019-04-04 15:59:45 +02:00
Gregor Kleen
edea0a96aa Merge branch 'master' into feat/transaction-log 2019-03-31 14:24:01 +02:00
Gregor Kleen
066328c56c TermHoliday Placeholder 2019-03-30 18:50:16 +01:00
Gregor Kleen
f5fb82de3e Improve term creation/editing 2019-03-30 17:05:54 +01:00
Gregor Kleen
14efbd8656 First prototype of audit-log
Has auditing for term-edits as an example
2019-03-28 15:16:50 +01:00
Gregor Kleen
68a0f7c566 Cleanup buttonForm & remove duplicate identifyForm calls 2019-03-28 12:06:50 +01:00
Gregor Kleen
d45d7fdbff Fix modals 2019-03-27 20:29:08 +01:00
Gregor Kleen
976c50f5de Cleanup FormResult-Instances 2019-03-27 00:23:30 +01:00
Steffen Jost
ea1558edd5 Minor comment 2019-03-25 13:01:49 +01:00
Steffen Jost
10351854cd Merge branch 'master' into 126-ubungsbetrieb-statistik-seiten-pro-kurs 2019-03-25 10:44:44 +01:00
Gregor Kleen
57ba1c9e12 Use wrapForm everywhere 2019-03-23 23:00:32 +01:00
Gregor Kleen
6aeb134369 Merge branch 'master' into feat/wrapform 2019-03-23 14:37:59 +01:00
Gregor Kleen
ae303a055d minor cleanups 2019-03-23 14:35:29 +01:00
Steffen Jost
0751f23c8e i18n cleanups course user page 2019-03-22 19:13:42 +01:00
Steffen Jost
c9ab64e518 Course user notes working, but needs model refactor 2019-03-22 18:01:26 +01:00
Steffen Jost
21ba1f2afa users cannot delete themselves anymore 2019-03-22 11:39:59 +01:00
Steffen Jost
5f67c3ac00 Merge branch 'master' into 284-massinput 2019-03-20 15:57:43 +01:00
Gregor Kleen
4b2d6d3aa2 (Semi-)Working Prototype 2019-03-20 15:13:41 +01:00
Gregor Kleen
705fdec695 Merge branch 'master' into 284-massinput 2019-03-20 09:05:10 +01:00
Steffen Jost
23a1b883ac Merge branch 'master' into 307-studiengange-behandeln 2019-03-20 08:32:51 +01:00
Gregor Kleen
bbeb0e70be Identifiers for DBTable-Forms 2019-03-19 13:46:11 +01:00
Gregor Kleen
96303b156a Enforce structured identifyForm 2019-03-19 13:19:54 +01:00
SJost
a76090a31f Stub for Studyfeature overview created 2019-03-12 22:52:28 +01:00
SJost
889c3ebb35 Merge and bugfix sorting by participants registration date 2019-03-12 09:20:07 +01:00
Gregor Kleen
a4c8bcd10c Merge branch 'master' into 284-massinput 2019-03-11 13:00:09 +01:00
SJost
529c226ad6 Generic Join projections implemented 2019-03-10 18:01:17 +01:00
Gregor Kleen
101822fd21 MessageClassMessageStatus 2019-03-10 15:47:33 +01:00
SJost
484d99305d Showing field and degrees compiles, join-on needs testing 2019-03-05 19:06:12 +01:00
SJost
6a53a89faa does not compile, course register from broken 2019-02-27 17:36:39 +01:00
SJost
0fbed68915 wrapForm created, not used everywhere yet 2019-02-27 14:23:56 +01:00
Gregor Kleen
c0edc87926 Start on implementation 2019-02-27 13:07:22 +01:00
SJost
f0ee524e9e Merge branch 'master' into formgroups 2019-02-22 07:48:16 +01:00
SJost
7d72086fd9 minor refactor 2019-02-21 19:55:38 +01:00
SJost
89e6b17107 Build problem determined: crashes Haddock. Added similar Class manually. 2019-02-21 16:47:42 +01:00
SJost
bb552c472f TEST: Does ist build with everything except for makeClassy ''Entity? Probably the functional dependency is to blame?! 2019-02-21 16:12:11 +01:00
SJost
e74555c40b TEST Build-Error: one more makeClassy 2019-02-21 15:55:12 +01:00
SJost
b1231978cc Test Problem with makeClassy: just using one now 2019-02-21 15:41:38 +01:00
SJost
29189bf8f8 Partial revert of commit 2550f740 to determine error source 2019-02-21 15:27:39 +01:00
SJost
2550f74056 TEST: removing makeCLassyFor maybe build works then? 2019-02-21 14:53:45 +01:00
SJost
479f109447 Trying to fix unusual and new haddock 2019-02-21 14:07:03 +01:00
SJost
10237c4031 Merge and by accident info page 2019-02-21 11:35:04 +01:00
Felix Hamann
55c1385e3e Merge branch 'js-utils-cleanup' 2019-02-20 22:07:02 +01:00
SJost
33c81a64c0 Minor 2019-02-20 07:07:39 +01:00
SJost
a1896f3d1c Steps towards #126, compiling but incomplete 2019-02-19 20:30:18 +01:00
SJost
d3f1a49fde Courses are Classy now "HasCourse" with "hasCourse" 2019-02-19 15:41:09 +01:00
SJost
cc2eb6d475 Refactor for Database.Esqueleto.Utils 2019-02-19 09:37:44 +01:00
SJost
ed8beb9e81 Minor refactor 2019-02-18 18:38:23 +01:00
SJost
ad5741e4ae minor refactor 2019-02-17 15:25:36 +01:00
SJost
76ac563627 merged from master 2019-02-17 15:08:56 +01:00
SJost
8247cb6a50 Code cleaning done. 2019-02-17 15:03:56 +01:00
Felix Hamann
3db08a841c refactoring: move each widget into its own subfolder 2019-02-16 23:35:57 +01:00
SJost
7ad95e7328 MFormGroups okay, AFormGroups just a silly workaround 2019-02-16 14:32:33 +01:00
SJost
115e71365d First steps towards editable User Rights 2019-02-14 16:01:47 +01:00
Gregor Kleen
8684ca016f Button cleanup 2019-01-31 11:12:20 +01:00
SJost
b45d1c92f9 Bugfix sheetOldUnassigned 2019-01-30 11:30:54 +01:00
SJost
2e9320886f Minor bugfix sheetCurrent 2019-01-30 11:27:41 +01:00
SJost
a45e83fa68 Minor Refactor 2019-01-30 11:20:46 +01:00
SJost
02a0dc1435 Minor Refactor 2019-01-30 10:58:57 +01:00
SJost
3ef6c08ac1 Fixes #272 2019-01-30 10:48:32 +01:00
Gregor Kleen
c9ba51a0c9 Streamline monoidal summaries for dbtables containing forms 2019-01-25 17:35:24 +01:00
SJost
82b5315c36 Filtering refactored with prismAForm 2019-01-24 16:47:46 +01:00
SJost
fdbec180db Filter Submissions by Course 2019-01-16 13:36:08 +01:00
Gregor Kleen
48f56a5fe3 Fix Handling of fsAttrs in combinedButtonField 2018-12-29 15:13:35 +01:00
Gregor Kleen
cd9e6348ce Maybe don't inspect submit buttons too much 2018-12-21 18:32:33 +01:00
Gregor Kleen
54754c4dc3 Cleanup & apply revamp of deletionR 2018-12-20 17:44:58 +01:00
Gregor Kleen
282e0615cb Split deleteR for use with correctionsR 2018-12-20 12:12:38 +01:00
Gregor Kleen
c6b7ad0580 Generic and "safe" deletion widget 2018-12-19 21:55:42 +01:00
Gregor Kleen
45bfe771ad Embrace collisions in dbtable auxiliary tables 2018-12-19 16:24:23 +01:00
Gregor Kleen
64dbfe3905 Identify auxiliary dbtable forms to prevent collisions 2018-12-19 11:18:35 +01:00
Gregor Kleen
ca5f9bffe0 Backend work for #116 2018-12-14 21:39:56 +01:00
Gregor Kleen
01cee62b10 Work on #39 2018-12-06 19:30:29 +01:00
Gregor Kleen
7fc705730d Minor cleanup 2018-12-05 17:57:13 +01:00
Gregor Kleen
3f60f6391c Revert "Include preload hints about static content"
This reverts commit c757bf9a00.
2018-12-05 15:30:51 +01:00
Gregor Kleen
c757bf9a00 Include preload hints about static content 2018-12-05 15:07:24 +01:00
Gregor Kleen
58ed6b87a3 Address hlint 2018-11-22 21:40:03 +01:00
Gregor Kleen
213f3a39cc Fully ajaxified modals 2018-11-22 17:25:56 +01:00
Gregor Kleen
a627b7be72 Globally defined get parameters & headers 2018-11-22 14:55:27 +01:00
Gregor Kleen
c26897847c Show SheetSubmissionMode & cleanup 2018-11-19 13:53:05 +01:00
Gregor Kleen
4697efab5f Overhaul auth-predicates 2018-11-14 14:20:32 +01:00
Gregor Kleen
7bf3a52599 i18n MenuItems & Semantic support-referer
Addresses #228
2018-11-09 22:43:45 +01:00
Gregor Kleen
e5d3213efb Fix some hlint 2018-11-02 00:25:44 +01:00
Gregor Kleen
9ccc2e3149 Fix warnings 2018-11-01 22:06:00 +01:00
Gregor Kleen
3d91e0fabd Setup hlint & yesod 2018-10-31 23:55:29 +01:00
SJost
db18b4bdba Merge branch 'master' of gitlab.cip.ifi.lmu.de:jost/UniWorX into sheet-type 2018-10-31 09:45:32 +01:00
SJost
1b021259cc SheetType refactoring (Halfway only) 2018-10-31 09:44:40 +01:00
Gregor Kleen
eff7875c1c Cleanup language extensions 2018-10-28 19:11:40 +01:00
Gregor Kleen
849e3eb347 Interface for decrypting error messages 2018-10-28 14:14:27 +01:00
Gregor Kleen
90e942f5b4 Better error messages, Store config in db
Fixes #197
Fixes #93
2018-10-27 22:24:43 +02:00
Gregor Kleen
b288b56e1d SystemMessage CRUD 2018-10-22 18:27:08 +02:00
Gregor Kleen
3e784534a0 Framework for dynamic log settings & major jobs cleanup 2018-10-19 14:59:28 +02:00
Gregor Kleen
1deefdc4a6 Merge branch 'master' of gitlab.cip.ifi.lmu.de:jost/UniWorX 2018-10-17 22:31:05 +02:00
Gregor Kleen
a23841e4f8 Start work on SystemMessages 2018-10-17 22:30:47 +02:00
SJost
adde4ccdf6 Bugfix: delete user cd /home/jost/programming/Haskell/Yesod/uniworx/templates 2018-10-17 18:07:04 +02:00