diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e6f7c6ef5..3588013ad 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: 2022-2023 Sarah Vaupel , Gregor Kleen +# SPDX-FileCopyrightText: 2022-2024 Sarah Vaupel , Gregor Kleen # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -35,6 +35,7 @@ node dependencies: stage: frontend:build script: - nix -L build -o result ".#uniworxNodeDependencies" + - nix-store --gc - nix-store --export $(nix-store -qR result) | xz -T0 -2 > node-dependencies.nar.xz before_script: &nix-before - git config --global init.defaultBranch master @@ -54,8 +55,12 @@ node dependencies: well known: stage: frontend:build script: +# - xzcat node-dependencies.nar.xz > node-dependencies-debug.nar +# - nix-shell -p util-linux --command "hexdump -C node-dependencies-debug.nar | head -n 10" +# - nix nar ls node-dependencies-debug.nar / - xzcat node-dependencies.nar.xz | nix-store --import - nix -L build -o result ".#uniworxWellKnown" + - nix-store --gc - nix-store --export $(nix-store -qR result) | xz -T0 -2 > well-known.nar.xz before_script: *nix-before needs: @@ -75,6 +80,7 @@ frontend: - xzcat node-dependencies.nar.xz | nix-store --import - xzcat well-known.nar.xz | nix-store --import - nix -L build -o result ".#uniworxFrontend" + - nix-store --gc - nix-store --export $(nix-store -qR result) | xz -T0 -2 > frontend.nar.xz before_script: *nix-before needs: @@ -95,6 +101,7 @@ uniworx:lib:uniworx: script: - xzcat frontend.nar.xz | nix-store --import - nix -L build -o result ".#uniworx:lib:uniworx" + - nix-store --gc - nix-store --export $(nix-store -qR result) | xz -T0 -2 > uniworx:lib:uniworx.nar.xz before_script: *nix-before needs: @@ -117,6 +124,7 @@ uniworx:exe:uniworx: script: - xzcat uniworx:lib:uniworx.nar.xz | nix-store --import - nix -L build -o result ".#uniworx:exe:uniworx" + - nix-store --gc - nix-store --export $(nix-store -qR result) | xz -T0 -2 > uniworx:exe:uniworx.nar.xz before_script: *nix-before needs: @@ -141,6 +149,7 @@ uniworx:exe:uniworxdb: script: - xzcat uniworx:lib:uniworx.nar.xz | nix-store --import - nix -L build -o result ".#uniworx:exe:uniworxdb" + - nix-store --gc - nix-store --export $(nix-store -qR result) | xz -T0 -2 > uniworx:exe:uniworxdb.nar.xz before_script: *nix-before needs: @@ -165,6 +174,7 @@ uniworx:exe:uniworxload: script: - xzcat uniworx:lib:uniworx.nar.xz | nix-store --import - nix -L build -o result ".#uniworx:exe:uniworxload" + - nix-store --gc - nix-store --export $(nix-store -qR result) | xz -T0 -2 > uniworx:exe:uniworxload.nar.xz before_script: *nix-before needs: @@ -207,8 +217,13 @@ container: stage: container:build script: - xzcat uniworx:exe:uniworx.nar.xz | nix-store --import - - cp -pr --reflink=auto -L $(nix build --print-out-paths ".#uniworxDocker") uniworx.tar.gz + # - &container-remove-nodejs + # "for i in `ls /nix/store/ | grep -E -i '^[a-z0-9]+-nodejs-'` ; do ( nix store delete --ignore-liveness \"/nix/store/$i\" || ( echo \"Could not remove NodeJS from /nix/store/ due to: \" && ( nix-store --query --roots \"/nix/store/$i\" | cat ) && echo \"Removing NodeJS by brute force...\" && rm -rf \"/nix/store/$i\" ) ) ; done" + - cp -p --reflink=auto -L $(nix build --print-out-paths ".#uniworxDocker") uniworx.tar.gz before_script: *nix-before + # TODO: reintroduce working version of after_script + # after_script: &container-fail-on-nodejs + # - (ls /nix/store/ | grep -E -i '^[a-z0-9]+-nodejs-') && (echo "NodeJS remainder in container /nix/store!" 1>&2; exit 1) needs: - job: node dependencies # transitive artifacts: false @@ -235,8 +250,10 @@ test container: stage: container:build script: - xzcat uniworx:exe:uniworx.nar.xz | nix-store --import - - cp -pr --reflink=auto -L $(nix build --print-out-paths ".#uniworxTestDocker") uniworx.tar.gz + # - *container-remove-nodejs + - cp -p --reflink=auto -L $(nix build --print-out-paths ".#uniworxTestDocker") uniworx.tar.gz before_script: *nix-before + # after_script: *container-fail-on-nodejs needs: - job: node dependencies # transitive artifacts: false @@ -259,6 +276,128 @@ test container: interruptible: true rules: &test-release-rules - if: $CI_COMMIT_TAG =~ /^t/ +dev container: + stage: container:build + script: + - xzcat uniworx:exe:uniworx.nar.xz | nix-store --import + - cp -p --reflink=auto -L $(nix build --print-out-paths ".#uniworxDevDocker") uniworx.tar.gz + before_script: *nix-before + needs: + - job: node dependencies # transitive + artifacts: false + - job: well known # transitive + artifacts: false + - job: frontend # tranitive + artifacts: false + - job: uniworx:lib:uniworx # transitive + artifacts: false + - job: uniworx:exe:uniworx + artifacts: true + - job: check # sanity + artifacts: false + artifacts: + paths: + - uniworx.tar.gz + name: "${CI_JOB_NAME}-${CI_COMMIT_SHORT_SHA}" + expire_in: "1 day" + retry: 2 + interruptible: true + rules: &dev-release-rules + - if: $CI_COMMIT_TAG =~ /^d/ + +sanitize container: + stage: container:build + needs: + - job: node dependencies # transitive + artifacts: false + - job: well known # transitive + artifacts: false + - job: frontend # transitive + artifacts: false + - job: uniworx:lib:uniworx # transitive + artifacts: false + - job: uniworx:exe:uniworx # transitive + artifacts: false + - job: check # sanity + artifacts: false + - job: container + artifacts: true + before_script: *nix-before + script: + - nix shell nixpkgs#perl --command ./.gitlab-ci/sanitize-docker.pl + after_script: + - tar xzvf uniworx-sanitized.tar.gz + - for i in `tar tf */layer.tar | grep 'nix/store/[0-9a-z]*-nodejs'`; do echo "NodeJS remainer found in /nix/store!"; echo "$i"; exit 1; done + artifacts: + paths: + - uniworx-sanitized.tar.gz + name: "${CI_JOB_NAME}-${CI_COMMIT_SHORT_SHA}" + expire_in: "1 day" + retry: 2 + interruptible: true + rules: *release-rules +sanitize test container: + stage: container:build + needs: + - job: node dependencies # transitive + artifacts: false + - job: well known # transitive + artifacts: false + - job: frontend # transitive + artifacts: false + - job: uniworx:lib:uniworx # transitive + artifacts: false + - job: uniworx:exe:uniworx # transitive + artifacts: false + - job: check # sanity + artifacts: false + - job: test container + artifacts: true + before_script: *nix-before + script: + - nix shell nixpkgs#perl --command ./.gitlab-ci/sanitize-docker.pl + after_script: + - tar xzvf uniworx-sanitized.tar.gz + - for i in `tar tf */layer.tar | grep 'nix/store/[0-9a-z]*-nodejs'`; do echo "NodeJS remainer found in /nix/store!"; echo "$i"; exit 1; done + artifacts: + paths: + - uniworx-sanitized.tar.gz + name: "${CI_JOB_NAME}-${CI_COMMIT_SHORT_SHA}" + expire_in: "1 day" + retry: 2 + interruptible: true + rules: *test-release-rules +sanitize dev container: + stage: container:build + needs: + - job: node dependencies # transitive + artifacts: false + - job: well known # transitive + artifacts: false + - job: frontend # transitive + artifacts: false + - job: uniworx:lib:uniworx # transitive + artifacts: false + - job: uniworx:exe:uniworx # transitive + artifacts: false + - job: check # sanity + artifacts: false + - job: dev container + artifacts: true + before_script: *nix-before + script: + - nix shell nixpkgs#perl --command ./.gitlab-ci/sanitize-docker.pl + after_script: + - tar xzvf uniworx-sanitized.tar.gz + - for i in `tar tf */layer.tar | grep 'nix/store/[0-9a-z]*-nodejs'`; do echo "NodeJS remainer found in /nix/store!"; echo "$i"; exit 1; done + artifacts: + paths: + - uniworx-sanitized.tar.gz + name: "${CI_JOB_NAME}-${CI_COMMIT_SHORT_SHA}" + expire_in: "1 day" + retry: 2 + interruptible: true + rules: *dev-release-rules parse changelog: stage: prepare release @@ -311,25 +450,27 @@ upload container: stage: release image: quay.io/skopeo/stable:latest script: - - skopeo --insecure-policy copy --dest-creds "${CI_REGISTRY_USER}:${CI_JOB_TOKEN}" docker-archive://$(pwd)/uniworx.tar.gz docker://${CI_REGISTRY_IMAGE}:${VERSION} + - skopeo --insecure-policy copy --dest-creds "${CI_REGISTRY_USER}:${CI_JOB_TOKEN}" docker-archive://$(pwd)/uniworx-sanitized.tar.gz docker://${CI_REGISTRY_IMAGE}:${VERSION} - skopeo --insecure-policy copy --src-creds "${CI_REGISTRY_USER}:${CI_JOB_TOKEN}" --dest-creds "${CI_REGISTRY_USER}:${CI_JOB_TOKEN}" docker://${CI_REGISTRY_IMAGE}:${VERSION} docker://${CI_REGISTRY_IMAGE}:latest needs: - job: node dependencies # transitive artifacts: false - job: well known # transitive artifacts: false - - job: frontend # tranitive + - job: frontend # transitive artifacts: false - job: uniworx:lib:uniworx # transitive artifacts: false - job: uniworx:exe:uniworx # transitive artifacts: false - - job: container - artifacts: true + - job: container # transitive + artifacts: false - job: parse changelog artifacts: true - job: check # sanity artifacts: false + - job: sanitize container + artifacts: true rules: *release-rules retry: 2 upload test container: @@ -338,27 +479,56 @@ upload test container: stage: release image: quay.io/skopeo/stable:latest script: - - skopeo --insecure-policy copy --dest-creds "${CI_REGISTRY_USER}:${CI_JOB_TOKEN}" docker-archive://$(pwd)/uniworx.tar.gz docker://${CI_REGISTRY}/fradrive/fradrive/test:${CI_COMMIT_REF_NAME} + - skopeo --insecure-policy copy --dest-creds "${CI_REGISTRY_USER}:${CI_JOB_TOKEN}" docker-archive://$(pwd)/uniworx-sanitized.tar.gz docker://${CI_REGISTRY}/fradrive/fradrive/test:${CI_COMMIT_REF_NAME} - skopeo --insecure-policy copy --src-creds "${CI_REGISTRY_USER}:${CI_JOB_TOKEN}" --dest-creds "${CI_REGISTRY_USER}:${CI_JOB_TOKEN}" docker://${CI_REGISTRY}/fradrive/fradrive/test:${CI_COMMIT_REF_NAME} docker://${CI_REGISTRY}/fradrive/fradrive/test:latest needs: - job: node dependencies # transitive artifacts: false - job: well known # transitive artifacts: false - - job: frontend # tranitive + - job: frontend # transitive artifacts: false - job: uniworx:lib:uniworx # transitive artifacts: false - job: uniworx:exe:uniworx # transitive artifacts: false - - job: test container - artifacts: true + - job: test container # transitive + artifacts: false - job: parse test changelog artifacts: true - job: check # sanity artifacts: false + - job: sanitize test container + artifacts: true rules: *test-release-rules retry: 2 +upload dev container: + variables: + GIT_STRATEGY: none + stage: release + image: quay.io/skopeo/stable:latest + script: + - skopeo --insecure-policy copy --dest-creds "${CI_REGISTRY_USER}:${CI_JOB_TOKEN}" docker-archive://$(pwd)/uniworx-sanitized.tar.gz docker://${CI_REGISTRY}/fradrive/fradrive/dev:${CI_COMMIT_REF_NAME} + - skopeo --insecure-policy copy --src-creds "${CI_REGISTRY_USER}:${CI_JOB_TOKEN}" --dest-creds "${CI_REGISTRY_USER}:${CI_JOB_TOKEN}" docker://${CI_REGISTRY}/fradrive/fradrive/dev:${CI_COMMIT_REF_NAME} docker://${CI_REGISTRY}/fradrive/fradrive/dev:latest + needs: + - job: node dependencies # transitive + artifacts: false + - job: well known # transitive + artifacts: false + - job: frontend # transitive + artifacts: false + - job: uniworx:lib:uniworx # transitive + artifacts: false + - job: uniworx:exe:uniworx # transitive + artifacts: false + - job: dev container # transitive + artifacts: false + - job: check # sanity + artifacts: false + - job: sanitize dev container + artifacts: true + rules: *dev-release-rules + retry: 2 release: variables: @@ -394,3 +564,18 @@ test release: artifacts: false - job: parse test changelog artifacts: true +dev release: + variables: + GIT_STRATEGY: none + stage: release + image: registry.gitlab.com/gitlab-org/release-cli:latest + rules: *dev-release-rules + script: + - echo "Will create dev release ${VERSION}-dev..." + release: + name: "${VERSION}-dev" + tag_name: '$CI_COMMIT_TAG' + description: .current-changelog.md + needs: + - job: check # sanity + artifacts: false diff --git a/.gitlab-ci/sanitize-docker.pl b/.gitlab-ci/sanitize-docker.pl new file mode 100755 index 000000000..7ab0194e2 --- /dev/null +++ b/.gitlab-ci/sanitize-docker.pl @@ -0,0 +1,231 @@ +#!/usr/bin/env perl + +use strict; +use warnings; + +use Data::Dumper; + +my $tmpdir = "tmp-sanitize"; + +die "Has already run, abort" if -e $tmpdir; + +mkdir $tmpdir; + +chmod(0755, $tmpdir); +chdir($tmpdir); +system("ln -s ../uniworx.tar.gz ."); +system("tar xzvf uniworx.tar.gz"); +chmod(0755, '.'); # tar can change the rights of '.' if it contains an entry for '.' with other rights + +my %truerights = (); +storeRightsMake7("."); + +#print "=== Extended rights:\n"; +#system("ls -l *"); +#resetRights("."); +#print "=== Reset rights:\n"; +#system("ls -l *"); + +# +sub storeRightsMake7 { + my ($pwd) = @_; + my $dh = undef; + opendir($dh, $pwd) or die "Could not read dir '$pwd', because: $!"; + while(my $fn = readdir($dh)) { + next if $fn=~m#^\.\.?$#; + #perl -le 'my $dh = undef;opendir($dh, ".");while(my $fn = readdir($dh)) { my $mode = (stat($fn))[2];my $fm = $mode % 512;my $fmo=sprintf("%03o",$fm);print "$fn -> $fmo" }' + my $fullname = "$pwd/$fn"; + my $mode = (stat($fullname))[2]; + my $fm = $mode % 512; + #my $fmo = sprintf("%03o",$fm); + $truerights{$fullname} = $fm; + chmod(($fm | 0700), $fullname); + storeRightsMake7($fullname) if -d $fullname; + } +} + +sub resetRights { + my ($pwd) = @_; + print "Resetting rights to:\n" if '.' eq $pwd; + print Data::Dumper::Dumper(\%truerights); + my $dh = undef; + opendir($dh, $pwd) or die "Could not read dir '$pwd', because: $!"; + while(my $fn = readdir($dh)) { + next if $fn=~m#^\.\.?$#; + #perl -le 'my $dh = undef;opendir($dh, ".");while(my $fn = readdir($dh)) { my $mode = (stat($fn))[2];my $fm = $mode % 512;my $fmo=sprintf("%03o",$fm);print "$fn -> $fmo" }' + my $fullname = "$pwd/$fn"; + printf(" set rights of '$fullname' back to %03o\n", $truerights{$fullname}); + chmod($truerights{$fullname}, $fullname); + resetRights($fullname) if -d $fullname; + } +} + +sub renameWithRights { + my ($from, $to) = @_; + print " rename file '$from' to '$to'\n"; + my %oldrights = %truerights; + %truerights = (); + while(my ($k,$v) = each %oldrights) { + $k =~ s#^\./\Q$from\E#./$to#; + $truerights{$k} = $v; + } + #my $rights = $truerights{$from}; + #delete $truerights{$from}; + rename($from, $to) or die "Could not rename '$from' to '$to', because $!"; + #$truerights{$to} = $rights +} + +print Data::Dumper::Dumper(\%truerights); +#exit 0; + +# Checksummen: +# outerjson c27f -- toplevel $outerjson.json, by sha256sum $outerjson.json +# imageid d940 -- toplevel verzeichnis mit der layer darin; doc says: Each image’s ID is given by the SHA256 hash of its configuration JSON. +# we'll try as configuration "remove nodejs $oldhash" +# or we just use a random number ;) +# layertar fd3d -- doc says: Each image’s ID is given by the SHA256 hash of its configuration JSON. +# +##### FOUND +# outerjson c27f64c8de183296ef409baecc27ddac8cd4065aac760b1b512caf482ad782dd -- in manifest.json +# imageid d940253667b5ab47060e8bf537bd5b3e66a2447978f3c784a22b115a262fccbf -- in manifest.json +# imageid d940253667b5ab47060e8bf537bd5b3e66a2447978f3c784a22b115a262fccbf -- as toplevel dirname +# outerjson c27f64c8de183296ef409baecc27ddac8cd4065aac760b1b512caf482ad782dd -- as toplevel filename +# imageid d940253667b5ab47060e8bf537bd5b3e66a2447978f3c784a22b115a262fccbf -- in $layerdir/json +# layertar fd3d3cdf4ece09864ac933aa664eb5f397cf5ca28652125addd689726f8485cd -- in $outerjson.json +# +# +##### COMPUTE +# toplevel +# outerjson c27f64c8de183296ef409baecc27ddac8cd4065aac760b1b512caf482ad782dd $outerjson.json +# b21db3fcc85b23d91067a2a5834e114ca9eec0364742c8680546f040598d8cd9 manifest.json +# 238f234e3a1ddb27a034f4ee1e59735175741e5cc05673b5dd41d9a42bac2ebd uniworx.tar.gz +# in $layerdir/ +# 028c1e8d9688b420f7316bb44ce0e26f4712dc21ef93c5af8000c102b1405ad4 json +# layertar fd3d3cdf4ece09864ac933aa664eb5f397cf5ca28652125addd689726f8485cd layer.tar +# d0ff5974b6aa52cf562bea5921840c032a860a91a3512f7fe8f768f6bbe005f6 VERSION +# +# +# sha256sum layer.tar fd3d3cdf4ece09864ac933aa664eb5f397cf5ca28652125addd689726f8485cd + +my ($outerjson, $imageid) = (); + +{ + my $dirh = undef; + opendir($dirh, '.') or die "Could not read dir '.', because: $!"; + while(my $fn = readdir($dirh)) { + next if $fn=~m#^\.#; + if($fn=~m#(.*)\.json#) { + $outerjson = $1; + next + } + if($fn=~m#^[0-9a-f]{64}$#) { + $imageid = $fn + } + } +} + +die "Bad archive, could not found expected files and directories" unless defined($outerjson) and defined($imageid); + +#system("pwd"); +#print "will run: sha256sum $imageid/layer.tar\n"; + +my $oldLayerdir = qx(sha256sum $imageid/layer.tar); +#print "oldLayerdir is for now $oldLayerdir\n\n"; +$oldLayerdir =~ m#^([0-9a-f]{64}).*$# or die "layer.tar not found or sha256sum not installed!"; +$oldLayerdir = $1; + +# tar --delete --file layer.tar nix/store/cdalbhzm3z4gz07wyg89maprdbjc4yah-nodejs-14.17.0 +my $layerContent = qx(tar -tf $imageid/layer.tar); + +my @rms = $layerContent=~m#^((?:\./)?nix/store/[a-z0-9]+-(?:nodejs|openjdk|ghc)-[^/]+/)$#gm; + +print "rm <<$_>>\n" for @rms; + +system("tar --delete --file $imageid/layer.tar '$_'") for @rms; + + +### Deconstruction finished, now lets put everything together again after fixing the checksums + + +my $newImageId = qx(echo 'remove nodejs $imageid' | sha256sum); +$newImageId =~ m#^([0-9a-f]{64}).*$# or die "sha256sum not installed!"; +$newImageId = $1; + +my $newLayerdir = qx(sha256sum $imageid/layer.tar); +$newLayerdir =~ m#^([0-9a-f]{64}).*$# or die "sha256sum not installed!"; +$newLayerdir = $1; + +# new outerjson is computed later, as we first have to change its content + +sub cautionWaiter { + # some file operations give the impression that they are not instant. + # Hence, we wait here a bit to see if that fixes stuff + #sleep 5; # seems not to be the reason +} + +sub replaceInFile { + my ($filename, $replacer) = @_; + return unless -e $filename; + my $fh = undef; + open($fh, '<', $filename) or die "Could not read $filename, because: $!"; + my $content = join '', <$fh>; + close $fh; + keys %$replacer; + while(my ($k,$v) = each %$replacer) { + $content=~s#\Q$k\E#$v#g; + } + my $wh = undef; + open($wh, '>', $filename) or die "Could not write $filename, because: $!"; + print $wh $content +} + +my %replacer = ( + $oldLayerdir => $newLayerdir, + $imageid => $newImageId, +); + +replaceInFile("$imageid/json", \%replacer); +replaceInFile("$outerjson.json", \%replacer); + +cautionWaiter(); + +my $newOuterjson = qx(sha256sum '$outerjson.json'); +$newOuterjson =~ m#^([0-9a-f]{64}).*$# or die "sha256sum not installed!"; +$newOuterjson = $1; + +cautionWaiter(); + +renameWithRights("$outerjson.json", "$newOuterjson.json"); +$replacer{$outerjson} = $newOuterjson; + +replaceInFile("manifest.json", \%replacer); + +replaceInFile("repositories", \%replacer); + +cautionWaiter(); +renameWithRights($imageid, $newImageId); + +cautionWaiter(); + + + + + +resetRights("."); + + + + +unlink("uniworx.tar.gz"); + +system("tar czvf uniwox-rmnodejs.tar.gz *"); + +cautionWaiter(); +print "Debug output, content of container:\n"; +system("tar tzvf uniwox-rmnodejs.tar.gz"); + +cautionWaiter(); +#unlink("../uniworx.tar.gz"); + +system("cp uniwox-rmnodejs.tar.gz ../uniworx-sanitized.tar.gz"); + diff --git a/CHANGELOG.md b/CHANGELOG.md index b873c88c1..e18e1e09c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,11 +2,784 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +## [28.0.7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/d28.0.10...d28.0.7) (2024-03-22) + +## [28.0.6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/d28.0.7...d28.0.6) (2024-01-13) + +## [28.0.5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/d28.0.4...d28.0.5) (2024-01-10) + +## [28.0.4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/d28.0.3...d28.0.4) (2024-01-09) + +## [28.0.3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/d28.0.2...d28.0.3) (2024-01-07) + +## [28.0.2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/d28.0.1...d28.0.2) (2024-01-07) + +## [28.0.1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/d28.0.0...d28.0.1) (2024-01-07) + +## 28.0.0 (2024-01-06) ## [28.0.0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/compare/t27.4.49...t28.0.0) (2024-03-21) ### ⚠ BREAKING CHANGES +* remove applications and allocations +* **auth:** additional authorisation caching +* **jobs:** Job offloading +* **migration:** ManualMigration +* **html-field:** StoredMarkup +* **course:** AccessPredicates now take continuation +* **workflows:** digests now json encode via base64 + +Also improve efficiency of marking workflow files as referenced +* **files:** files now chunked +* split foundation +* **db:** transactions need to be retryable, now +* **dry-run:** runDBRead +* **course-participants:** CourseParticipantState +* **system-messages:** names of cookies & configuration changed +* **allocations:** influence of grades on allocation priority now +relative when priorities are ordinal +* major version bumps +* markdown based HTML input +* **exams:** ExamResult now contains ExamResultPassedGrade +* major navigation refactor +* **hide-columns:** StorageManager version numbers +* **frontend:** Major frontend refactor +* **sub-study-fields:** superStudyField +* Bumped esqueleto +* yesod >=1.6 +* **exams:** examPartName no longer required +* **exams:** Introduces ExamPartNumbers +* **users:** Remove UserLecturer and UserAdmin +* **courses:** auditing for course registrations and deregistrations, more +tightly couple exam results, exam registration, and course registration (delete +them together now) +* **csv:** CsvColumnsExplained now required +* **exams:** examOccurrenceName +* **exams:** examStart and examPublishOccurrenceAssignments now optional +* **exams:** E.isInfixOf and E.hasInfix +* **standard-version:** Start of new versioning schema + +### Features + +* add user-system-function ([abc37ac](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/abc37aca9c2aa5eafe7eea9333886b43189d5591)) +* **add-users:** add page-action to add users from TUsersR ([9c62c9e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9c62c9ee8ca365ceea206c696d3596e46927391c)) +* **add-users:** connect confirmation form with handler ([c013ae9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c013ae9efcd7df812b26ae32ce04ba3da4e6aef4)) +* **add-users:** correctly add users and reroute ([fecc752](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fecc752d6ce3aa952efabdac2ff17064f4091050)) +* **add-users:** more page-actions for convenience ([a882a3c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a882a3c0d03ffc57902cbec779621fb58617ed3b)) +* additional exam functions on show page ([214e895](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/214e8951e49bada7081b35cdf4a570eba3890f87)) +* additional general purpose caching tier (memcachedLocal) ([939ab37](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/939ab37588bb71b14b8a9f3ab58d7440f598faf9)) +* admin interface to issue tokens ([738ab7b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/738ab7b738bf2264d74023aa90fa23461b21ac2c)) +* admin-crontab-r ([460c133](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/460c133aac316fb9317c5f08823e04c22eb63fe9)) +* **admin-crontab:** export as json ([bbd4916](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bbd4916f3a556ce4c05eb3b2b5268c9c072fdfdd)) +* **admin-test:** download test ([daaeb09](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/daaeb09de82ec5758cba564cb4bc5db7948f5476)) +* **admin-users:** allow adding users ([67f1201](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/67f120120f616377c8b5ab34b63941475195fcac)) +* **admin-workflows:** allow uploading graph spec as file ([48208c9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/48208c9105ba49feb784ea3143b610ed5b11b517)) +* admins can efficiently generate many tokens for random users ([600bbe5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/600bbe5d7e9051e4a4eac540b01ff358666ebc9c)) +* **alert-icons:** add custom icons for alerts ([bc67500](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bc675006d8c72a2994be832236036447ebe1efc1)) +* **alerticons:** allow alerts to have custom icons ([d70a958](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d70a9585f093c0701adf724ffe84cbaf3f1a592d)) +* **alerts js:** support custom icons in Alerts HTTP-Header ([8833cb5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8833cb5090738c351b8a47af558dfcb91040cf77)) +* **allocation-list:** show numbers of avail. and applied-to courses ([a3f236c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a3f236cb5f174c82924255f438861b8bdb320f8b)) +* **allocations:** add application form(s) ([ef625cd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ef625cd901bddc1e770bdae82ffb420b434087c1)) +* **allocations:** add courses to allocations ([14a9a45](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/14a9a4567491253cb220c51a458e029e6d75e00a)) +* **allocations:** add info page for allocations ([689b85a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/689b85ad0868087d5f5163f9020ba035a557fe82)) +* **allocations:** add registration form ([c5b18fc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c5b18fcfcf3b970039d2d72eab6d6f7e646d72ef)) +* **allocations:** additional info and explanation for participants ([38949cf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/38949cfe0d3957c261b79b448a7fd17c20af1d25)) +* **allocations:** admin-interface registrations ([5e38f03](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5e38f03a85992964d4c9cf5100c4c8a4a8762aaf)), closes [#677](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/677) +* **allocations:** allocation-course-accept-substitutes ([8abcd65](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8abcd65edf2a1bf5b6de62103af7427fa7ed7db3)) +* **allocations:** allow additional notifications ([cc20559](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cc205596ae55826dcefe51ebaef3227ad72bb3d8)) +* **allocations:** allow changing course capacity during allocation ([83e1c94](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/83e1c9418a0461baebd6da8e0d835738d611f188)) +* **allocations:** auxilliaries for allocation-algo ([47bfd8d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/47bfd8d4ea3e5ef9f5270c08c70346cd29aa44aa)) +* **allocations:** compute & accept allocations ([20ef95c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/20ef95c142e0026b9a8bbe63fb60209b285509c6)) +* **allocations:** create & edit, list & download matching logs ([5320a4f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5320a4fe98f26576e6b72a1411107f410333009a)) +* **allocations:** create model for allocations ([82e3bf9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/82e3bf95c49a024f3afdbca4ce4c2744dda3303f)) +* **allocations:** csv-export new-assigned ([a4114a7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a4114a79f1bfd968bb9d300f0c39400a8904ee7c)) +* **allocations:** delete allocation-users ([6a1a64a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6a1a64a6113fcae3a654e472fabdf5a3f622f549)) +* **allocations:** display new allocations in user table ([bb20062](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bb20062d9f8fd7169b7dd6f7d14e82d244af83b2)) +* **allocations:** display number of ratings and vetos to admins ([6da8ad3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6da8ad348182185f773ab08a10ff59a6a1e89b85)) +* **allocations:** display participant counts to admins ([b79bac7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b79bac777c6d349a626ea4efa6c43141b7f669d0)) +* **allocations:** edit allocation-user and their applications ([4daf33a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4daf33a1a0c2c621e295aef50aae9e2dc5d5a7e8)) +* **allocations:** explanations & introduce grade-ordinal-proportion ([ee2e504](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ee2e504ffad276fbb0adc189175d29adb3e31e03)) +* **allocations:** fingerprints & ordinal ratings ([60603cb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/60603cb6ec43738bdbd98b5a2620366b20bf98bf)) +* **allocations:** highlight app's of users without alloc'-user ([300c378](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/300c3787867622a7fe3580b63cbbfba86a8b21f3)) +* **allocations:** implement application interface ([4dcc82a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4dcc82a7709ae4e145a666d170286e3f9f939d41)) +* **allocations:** improve accept ui and logging ([3422fd7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3422fd70a73bf005622f4e9b94caa503eb92f553)) +* **allocations:** improve acceptance display ([cf03277](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cf0327787417e025e21f96f824893f85e6fdad57)) +* **allocations:** improve display ([26f8f39](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/26f8f392a96893bc3c97f1c2212a9c71f0a610f7)) +* **allocations:** include study features in users table ([7f7d2c7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7f7d2c795767fd6fac1fa4a10a304e3e3d2280c3)) +* **allocations:** link allocations from home ([c759364](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c759364ab1d43a4e796cd92a494cafb939dd2568)) +* **allocations:** merge notifications ([9e9e53e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9e9e53e76abb471309494e36fc23b5a8ec4a09a8)) +* **allocations:** notification about finished allocation ([9323220](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/93232201f2b62b61ed6f543d84f6373a13bd1ca5)) +* **allocations:** notifications ([6d52ed5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6d52ed5c4caba9e164cc30e2affada85c7ddcf7f)) +* **allocations:** notify about new courses ([18921e0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/18921e06d1deeb41d705eabacc2d348bac76197f)) +* **allocations:** prevent course (de)registrations ([94a1208](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/94a120808dad0bea3b74ecb17f17e7daad5cb3f1)) +* **allocations:** properly save allocation-relevant course-deregs ([7a759b1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7a759b192fff62bc8e7608f58f861f4c2e313534)) +* **allocations:** prototype assignment-algorithm ([0fcf48c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0fcf48ce666b4828a33592e234ad2265d7f22952)) +* **allocations:** refine model for allocations ([069eb1e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/069eb1e0b7a1285ae925f95ae1be71befe65fc12)) +* **allocations:** serve archive of all application files by course ([5e393c5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5e393c53c6a702a88e053e585c1d38cb5fea15bf)) +* **allocations:** set up routes ([c2df01c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c2df01c2f710eef3ec8ba8bd0a745f393169832c)) +* **allocations:** show & export priority ([7462e03](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7462e03e7073e73d298ee98cb2403c7221c2ea6a)) +* **allocations:** show bounds on assignments due to allocation ([91b249e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/91b249e58ba4d839bf3c9324548c4f44caa4be7b)) +* **allocations:** show more information ([b7c54df](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b7c54df9132b3759b3957dec4f09f6250b2f4623)) +* **allocations:** show staff descriptions ([b359468](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b35946859309fbb526043194c8620c5fc0844809)) +* **allocations:** show table of all allocations ([d621e61](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d621e61b11b1ddb85ba3c2611a24b0c28fe841c2)) +* **allocations:** show table of course applications ([f5da3be](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f5da3bebba8d5ef6ee9b665c73eba0ea24dd50dd)) +* **allocations:** switch to csprng ([3ea7371](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3ea7371465194decf072bf038c6d05b4790b6520)) +* **allocations:** table of allocation users ([2735d46](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2735d465eb6b91b5c6373171f9f93f751be120e9)) +* **allocations:** tooltips listing courses in users table ([6bca64c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6bca64cf5f50f5c0ce7f43575930902e46dd1b1d)) +* **allocations:** ui for adding applicants ([7b7f11e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7b7f11e72853e11717c671d434397c707eff3b7f)) +* **allocations:** upload of priorities ([a590f45](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a590f45cc150dfac5d786963dbec351ff53a5b63)) +* allow editing of course applications outside of allocation ([e816a30](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e816a30b353f6451f48c97cc9a315f9b3aebb3a5)) +* allow examFinished before examEnd ([21bbb92](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/21bbb92d4c5bca8e175d2be97515e14f67ad696b)) +* allow separating user generated content into separate domain ([707b41d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/707b41d4ec9fa92238eaeb4e77f32d8bd8052c46)) +* **applicants:** disclose applicant emails & allow communication ([6711173](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/67111736875f22e636b8abdb48c869ad06909875)) +* **applications-list:** add warning regarding features of study ([cdbe12c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cdbe12c7268ee923cf0ed8c5609584a0f5193dc0)) +* **async-table:** history api ([c348b7c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c348b7cb035b2c48a8d85e1fe394116bba45f36e)), closes [#426](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/426) +* **async-table:** no submit on locked inputs ([22b3780](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/22b3780efdabdc572d6c5a08b282bb65448bf3f1)) +* **audit:** automatic transaction log truncation ([248482b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/248482b1bb791023fa7226e303a143996192d9c8)) +* **audit:** introduce id-based format ([f602b79](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f602b79e7a72c2dced293d5218a4f7bea98c610c)) +* **audit:** take IP from header ([fb027de](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fb027dee588d709662556874ba22af44af2183bd)) +* **authorisation:** cookie-active-auth-tags ([0d372c6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0d372c636a735b4003448ab2518f6354b08ca042)) +* **auth:** record student ldap role ([50455e6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/50455e68a1e89e16a5905b976a09d265afa08bba)) +* **auth:** user independent authorisation caching ([63f0d3c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/63f0d3c37ad4a02a5cbdf76398d4a9c74a0a0b59)) +* automatically sync system functions from ldap ([297ff4f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/297ff4f02591339dda7f3270cc9cd332e18febb7)) +* **avs:** add extraction functions for avs datatypes and tests ([f8afca0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f8afca0598d03073e4200ba9c7946eec2b509d04)) +* **avs:** add page-action and form handler for registering avs participants ([747d619](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/747d6198c4efdafab009012dc46ed65b02303a38)) +* **avs:** add SetRampDrivingLicence and InfoRampDrivingLicence to AVS interface ([a1272e3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a1272e38b72d146b881492341a86e1fc544ab0ff)) +* **avs:** disable certificate validation for avs api ([66dd1a8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/66dd1a8b70468a51aca0eba82369833acc8dcb3d)) +* **avs:** register course participants for day groups per default ([64d3ceb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/64d3ceb56d4a7ce09d7760c7452f48e12b182070)) +* better explain behaviour of submittorForm ([b973495](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b9734953cfb0a63922e52b828c3b47cd32d2834e)) +* **bot-mitigations:** only logged in table sorting ([fb6ae08](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fb6ae089c63174edc1d84512ea35378ab8cd0e0e)) +* bump changelog ([3bd7520](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3bd75200874c812afc425d9652318b57336c31fb)) +* bump changelog ([bc674af](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bc674af936550d518e1d427ca86205a3a1e8c5d5)) +* **caching:** aggressively cache nav items ([b9b0909](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b9b090992fd83fa4db1c408727d4c8c582b447e4)) +* **caching:** introduce cache prewarming ([8d1f216](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8d1f216b5b6ee2a59c3fb80f5dd4a701d9dad5ef)) +* **changelog:** bump ([3d1636f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3d1636ffe8b1b24b5f6e4a679bb1fbcdf9de5fa6)) +* **changelog:** bump ([a684b90](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a684b90e5ec0545c571b72cab6336dd07f1e42aa)) +* **changelog:** implement changelog like faq ([d9d353f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d9d353fcb7652c46a15016b5d2f400162c8271ef)) +* **changelog:** prettify date formatting ([2b3aef7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2b3aef7a490ca2fbabd474069d3406ebb9403e4b)) +* **communication:** send test emails ([d90da85](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d90da85df353da63794eeb95b79b87f485bb6908)) +* **config:** improve configurability of VerpMode ([a7c3fe7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a7c3fe76f23f9bd5ba15adcb8a469faf53ad3769)) +* **copyright:** add english translation ([dbb0a57](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/dbb0a5708613d350843247b7ed55a96992db9772)) +* **correction-interface:** wire up ECorrectR ([d8801a3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d8801a3435088648cc490f71ec08eba91c4a68c3)) +* **correction-interface:** wire up ECorrectR ([df66c9b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/df66c9b58dd1ea6119d428470d2d089edd70e2d0)) +* **correction:** allow lecturers to set corrector ([f74581c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f74581c35648788a39d46c5a72acda4f2c2fa7b9)), closes [#414](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/414) +* **corrections assignment:** add convenience to table header ([56c2fcc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/56c2fccb84ff71163ccc22291cf42c0cea88b2de)) +* **corrections-grade:** additional column for sheetType ([4cb2d4f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4cb2d4f07ddc0d873601ae43636a76adfd5a481a)) +* **corrections-grade:** basic filter UI with pseudonyms ([d03fd4b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d03fd4bee6d645624c30297907c91bf4697aa2f8)) +* **corrections-grade:** sorting by sheetType ([702fb1d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/702fb1dfdb0bc9d9124d824efef56620b6666d33)) +* **corrections-grade:** working additional filters ([c4eb2c0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c4eb2c0f04adc6c7193b602b6bfa570c1ba3483b)) +* **corrections-r:** allow csv exporting one line per submittor ([7aadb66](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7aadb6662bc8db76436f8d41ded7156acb98418e)) +* **corrections-r:** authorship statement state ([51522ef](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/51522efc7c9915115e0d8791320a03e35d2933c8)) +* **corrections-r:** csv export ([2a6248e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2a6248e3d5d4f4de5f1c7d6c6bcf092dc9873a2e)), closes [#705](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/705) +* **corrections-r:** filter/sort by pseudonym ([153af8c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/153af8c6b4042430bb4bc120fa5c24a5d114e4c1)) +* **corrections-r:** json export ([fe8e4bb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fe8e4bbd4f6a8b1b1c54808ebc96ee675a078648)) +* **corrections:** added missing titles; small message fixes ([018082e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/018082ec4a8d1fb90fb5fa874a9b971f6162716b)) +* **corrections:** better highlight corrected files ([46ce477](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/46ce477235fa488986728a7f42ec6a402cd01a98)), closes [#602](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/602) +* **corrections:** non-anonymous download w/ registered groups ([9032f80](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9032f80f59532a0d26a1d67de50765dbb1c2e0e0)) +* **corrections:** override rating_done & documentation ([bbbfa94](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bbbfa946e1e2bd3cce6d30cffc672460ec5125bf)), closes [#525](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/525) [#274](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/274) +* **corrections:** submission filter ([38dbfe7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/38dbfe73b25ef9cce15b4fdd7a529bb2a3abd9c7)) +* **corrector-assignment:** show load/submission percentages ([228cd50](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/228cd507498a74f92978c2c9082d91348e68c564)) +* **course admin:** application restore ([cb4ed8d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cb4ed8d9887e521f47689c118baf439846cd4514)) +* **course admin:** done ([15689c5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/15689c597ef407583b01dabc9f7631e9dc90b009)) +* **course admin:** no new-line ([0a6a174](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0a6a1749d351e626383e513293af280f78552009)) +* course applications study features ([44eeffc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/44eeffcc70a8b4c119e1a88a9ef01c687fe2e10a)) +* **course enrolement:** show proper icons in alerts ([b2b3895](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b2b3895aa97d19580987d4b7f845798d6603c44a)) +* **course material:** auto vorschläge für materialtype ([decdda3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/decdda359d16cce429a7e7a07d4674840e5fe6af)) +* **course material:** first two filters ([90e4a62](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/90e4a620f0c1671ff332db1910c176e58ccbac06)) +* **course material:** materialDescription in progress ([89e9887](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/89e9887fe1112cbc21517e4b501ead33f5a969ba)) +* **course material:** materialdescription search implemented ([3a9622d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3a9622dfb8474d9f3764f5870197e317a96d9de3)) +* **course material:** merge-request suggestions ([dc5fc3f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/dc5fc3f710363f0644c43866505e32095b41ce92)) +* **course material:** runDB für cid nur einmal ([c09acbb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c09acbbf8a7b95176b3d52449b3b9d26e315ccd6)) +* **course material:** small empty-bug fixed ([d8b1f97](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d8b1f9788c74ea5d7dc4f1f45432649d9601106a)) +* **course-applications:** automatic acceptance of direct applicants ([620950d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/620950df83e3dc4d1f0050af4bb207d25883800e)) +* **course-applications:** csv transport ([cf0ec1a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cf0ec1aec4267b99cf549b8ae5a0cd1762c45884)) +* **course-comm:** recipient categories for sheets and exams ([2fd060d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2fd060d55b7f027fa731dcb5b7d706e71d9ba413)) +* **course-communication:** one recipient group per tutorial ([99f23f2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/99f23f25582429e276f513f58677fe6676657ac3)), closes [#428](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/428) +* **course-edit:** warn about long shorthands ([80cb16a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/80cb16a40f49564ad98395e4e0d16f405103a9d2)) +* **course-events:** add HideColumns for course events ([1138f9e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1138f9e32712eb879f76792a68a870e7a48c4b90)) +* **course-events:** add optional note to course events ([6ad8f2e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6ad8f2ee290d5b9166b07ba3be329483a769e097)) +* **course-events:** course event note text -> html ([c8904d1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c8904d10b679e77bd7d4adaf80cd37bb3288275f)) +* **course-events:** hide note column if there are no notes to display ([1ac7f4e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1ac7f4e8811d9272a10aa28420b4e3fb0c976009)) +* **course-events:** show notes in course events table ([b2c4125](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b2c4125ca3f76e65aa4eb4390e6d1e7013d1eb0d)) +* **course-list:** filter by allocation ([de39686](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/de39686d89f6ec410bc50eaca058082dc727547d)), closes [#715](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/715) +* course-participant-lists ([88dd5a9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/88dd5a90b91be365878f9424a3ab304c3ae7c339)) +* **course-participants:** course-deregister-no-show ([bf64eaf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bf64eafd0877a686e3129f1da3ac352fda90e5d0)), closes [#499](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/499) +* **course-participants:** csv export exercise sheets ([06f47c5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/06f47c59b434f1d97afc8afbcb1d47737a85c1d5)) +* **course-participants:** csv export first name/surname separately ([1036926](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1036926470792bf3409ba3a224886d48b7e1d314)) +* **course-participants:** introduce CourseParticipantState ([d5b65a1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d5b65a1b06c6fdad2df537e270cba06e967f7ef7)), closes [#499](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/499) [#371](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/371) +* **course-participants:** show exercise sheets (first cornice) ([26cc8e4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/26cc8e4b53261c64e2f23ab17a8f6ddcbb6fcd63)) +* **course-registration:** allow independent course application ([a00698e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a00698e99e915fd9771d236ed5796bdfcad5b5c7)) +* **course-show:** show "not registered" ([96e1a30](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/96e1a30eb64c8f18094ab5f3149bb675e9b8f14c)) +* **course-show:** show allocation name ([3c80235](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3c8023569bb3d8ce91ab6626b5a93763532a0d10)) +* **course-teaser-css:** removed description label ([a25efb3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a25efb3be4743f8667b106d4b00399a33d1ef605)) +* **course-teaser-filter:** filter for lecturers ([e96e17f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e96e17ff9f6701263e189fac6c6718e0a7ea0971)) +* **course-teaser-filter:** working filters for semester and institute ([3b419b3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3b419b336670f94a2f5f024ded4abdb9c7d977fa)) +* **course-teaser:** checkbox field for open registration filter ([e4f150d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e4f150d0d536c36294abe6df27ba56a7ca5c16a9)) +* **course-teaser:** display sorting "pills" for course teasers ([d964e1f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d964e1f705bb2fd9f9f4a220c6871f829b7b6ca3)) +* **course-teaser:** filter by open registration ([c2c12b9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c2c12b9643e81efd5f16e18e4fca4dcbd581db11)) +* **course-teaser:** final version of course-teaser for course list ([66b97d6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/66b97d6729c4feb94b0be50da43fcd3aa6c8c488)) +* **course-teaser:** hide lecturer entry if empty ([f7fb3c1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f7fb3c12198e29b653f93e9d9ef2f6fce23b1b85)) +* **course-teaser:** incomplete course teaser for course list ([9a97925](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9a9792578d98453ba0928d504ebbffd9ae7ccfda)) +* **course-teaser:** moved course teaser functionality to util ([c99a3c7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c99a3c7009fd44f15248b8b71abe07b5ba763c64)) +* **course-teaser:** no display of chevron without description ([5c88c13](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5c88c13cf835425a7ecbd9a0ed054b1ed5c67a12)) +* **course-teaser:** no page reload on sorting ([68b8d24](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/68b8d2468175509533fc86ab4458268baa30ecb3)) +* **course-teaser:** only true lecturers without assistants ([7926f29](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7926f29da1565ce27600115d0030246cb1bf4ba0)) +* **course-teaser:** redirecting to course/ ([aa20389](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/aa20389e05bbf683e0b998444f4b52af3e52327a)) +* **course-teaser:** reintroduced courseId and course-teaser.julius ([3b6e700](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3b6e700531205b8b8a3e9b319c4f7a9c6868bc95)) +* **course-teaser:** show openCourses also to logged in users ([8cca548](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8cca54897036e5959d8c06497f5a28bbbea888ed)) +* **course-teaser:** unpolished version of course-teaser for course list ([ea5d54b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ea5d54b2135820820aa24adab2807cb1bd03b8ec)) +* **course-teaser:** working link to course pages ([8a49979](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8a49979ecc26a54d3c2aff7056136f920abe13d8)) +* **course-user:** authorisation checks ([d15792c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d15792cd7da8ce8038472af1afa721d4e99349dc)) +* **course-user:** i18n ([da629a8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/da629a81d28aeec37d53ef9a21ed959c73dd7e67)) +* **course-user:** major improvements ([ced6ef2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ced6ef287451cc59ef32f5454fc23e5cbf0f70eb)), closes [#126](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/126) +* **course-users-table:** json export ([6f291b2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6f291b2e6893554193732b059758794fe2b7fa51)) +* **course-users:** allow for exam registration on CUsersR ([b8acc9b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b8acc9b5da701bd0d17d9578ee2c9d4e835fc2d7)) +* **course-users:** allow registering tutorial users manually ([d507d9b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d507d9bbdea035d2d83050e5a0bbf61a73ae3161)) +* **course-users:** exams in dbtable and csv ([c23becc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c23becceb1ef994a39204ab3df083f1bbc857c27)) +* **course-users:** filter by exam registrations ([1d7d0ab](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1d7d0ab55422670d53425061961faa27829fba7c)) +* **course-users:** fuse avs register form with CAddUserR ([4a00907](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4a00907bdad26208329080ad87fe52daa33775ff)) +* **course-users:** include tutorial in csv-export ([1d5ddd1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1d5ddd102ce49c83ab0b45cf2be590f76ca0f0d0)) +* **course-users:** match filter titles with column titles ([ecd7bec](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ecd7bec9aa36591854ee42e3feba3d8186f872b7)) +* **course-users:** register avs-upserted users ([cba73bf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cba73bf2ca6825e9d4d00e51440354aba4cf57f0)) +* **course-users:** register exam action with optional occurrence ([34ad1df](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/34ad1dfae2d265c2dd63325b2c742777a58eb699)) +* **course-users:** set new tutorials to Schulung ([69de448](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/69de44893c9e37a809cde350d404f60a14e5052b)) +* **course-visibility:** account for visibility in routes ([cb0bf15](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cb0bf151212fd4ecba0eda7b1ef69a640fd6d35b)) +* **course-visibility:** account for visibility on AllocationListR ([4185742](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4185742f380f7625cac2bbc8df5952157ec0ba63)) +* **course-visibility:** account for visibility on AShowR ([df7a784](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/df7a784a9daebbfb5ca61606cd38352662824131)) +* **course-visibility:** account for visibility on TShowR ([0ff07a5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0ff07a5fad5504bff5adfdce278a6256f6bc8711)) +* **course-visibility:** add invisible icon to CShowR title ([6c0adde](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6c0adde5db117e6ad12167ebbb05a948e5c857c9)) +* **course-visibility:** add visibleFrom,visibleTo ([222d566](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/222d566bdaa84382b24299d6e9179eb2ebb09564)) +* **course-visibility:** allow access for exam correctors ([dfa70ee](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/dfa70ee7fea2020065699e2d4f0608195a1a0228)) +* **course-visibility:** display icon in course list for lecturers ([17dbccf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/17dbccf2a343cf1571ef0aaf07d6064bf3a2a216)) +* **course-visibility:** error on visibleFrom > visibleTo ([9494019](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/94940196949014d6a99cb183514e855c37575fa5)) +* **course-visibility:** hide invisible courses from favourites + icon ([d86fed7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d86fed7a32badfe75ef124145e1c59086771c164)) +* **course-visibility:** more precise description on CShowR ([6fbb2ea](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6fbb2eabf1c90d3ab4e321773506ff8aebbb761d)) +* **course-visibility:** no invisible courses in course list ([24f1289](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/24f12896e084e9180800a0080077d90005801642)) +* **course-visibility:** now as default visibleFrom for new courses ([7bdf8ca](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7bdf8cac8865743752401ee561355df466407223)) +* **course-visibility:** redirect to NewsR after deregister (WIP!) ([183aa8d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/183aa8d2227091054f8409bd81f40031a8c2066d)) +* **course-visibility:** reorder course form ([7af82bc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7af82bcb67d0ec6ae33aa82067b3d1f4de0d74de)) +* **course-visibility:** rework visibility check for ZA courses ([a16eb1a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a16eb1ab91747e19f61fd1dfaa5ae7db5800bad0)) +* **course-visibility:** warn on deregister from invisible course ([16ad72d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/16ad72d87638a195afbfbc390f23182dc705f7fd)) +* **course-visibility:** warn on invisibility during registration ([23aca1c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/23aca1caa43f24b38aa22d3cac3f2289b1cbe8f3)) +* **course:** additional crosslinking ([5eaba78](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5eaba7830f052fac42a0ce387619a09cefea48f8)) +* **course:** allow csv-export of all features-of-study ([e60f1b2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e60f1b2bfcc7c914d202c30e9a5f155d28fae20a)) +* **course:** associate qualifications with courses ([ffaaf9c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ffaaf9c86d5caa7eaec2d2bcd06bc6963310a7eb)) +* **course:** csv export of course participants ([9a28dc8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9a28dc851cd4d8023ca3638b325b6b9575974a89)) +* **course:** introduce CourseNews ([aa93b75](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/aa93b75e00cb28d3092c0ee4b538e21e543eb7d4)) +* **courses:** add NotificationCourseRegistered ([3750da8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3750da81dc27fb104d4ad3765921af2e08915c4d)) +* **courses:** course events ([fa7f771](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fa7f7712f77a9e801a2c9fa040b1d97d0ae1f8bd)) +* **course:** show direct registration dates ([8f284ac](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8f284acde8229144f54d63464168b7b82f87c69e)) +* **courses:** rework couse registration ([79d4ae2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/79d4ae20ee7aaebf9b55005730383fe46ff84e12)) +* **course:** warning if re-registration is not possible ([4451cee](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4451ceedf7bde0da7f3bb4c0818b79d7c5df1cbd)), closes [#646](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/646) +* **crontab:** cronjob for pruning expired invitations ([a9c5276](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a9c527621ec17287b119617573e22ca918d20d9d)) +* **csv import:** add explanation text ([6d0a4c1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6d0a4c156bd8c792a9a01f05f6a41fe631da5517)) +* **csv-export:** .xlsx ([5c51394](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5c513946c15ed215f6958be1c7a435f03314f115)) +* **csv-import:** automagically determine csv delimiters ([3555322](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3555322f2a14ebdaeeab557d7c885e1179f0a90a)) +* **csv:** add column explanations ([c8dca94](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c8dca945cfac12453bcc74bdfea321d7b4cb3053)) +* **csv:** allow customisation of csv-export-options ([95ceedd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/95ceeddc83ff79dad6f2dc494015e85f2996c40d)) +* **csv:** don't limit number of exported rows ([e62d7a3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e62d7a34e68b79ae52450dcd9e1c5814933d33d1)) +* **csv:** encoding ([81415e1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/81415e1afb02126a40bb1979ad4c039fd9cccb58)) +* **csv:** export example data & improve zoned-time parsing ([49d9ab9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/49d9ab9dba70423431e6e68892825c8e29309739)) +* **csv:** finish implementing csv import ([e35fed6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e35fed6b85fd5734834e4a4590276c6d3df34f83)) +* **csv:** implement csv import ([996bc2a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/996bc2ac27bf8fccadcd5d30876dbd3263963cc1)) +* **csv:** introduce csv export ([631bbef](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/631bbef0b8d202e3127de602ad1b5f30b896cd0a)) +* **data-protection:** data protection statement contd ([c3c533f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c3c533f6a89eeb387abbd4ca17b56c0024c64b5d)) +* **data-prot:** extend info on data saved ([2599e86](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2599e86a59ccb58d0f18295475fd14fe95fe83f3)) +* **datepicker:** add option to change the position of the datepicker ([85f46ef](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/85f46ef23075104346aba33861f8c170757a3c09)) +* **datepicker:** also parse manual input in internal format ([8a3ac72](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8a3ac72cbeffd467d3a64832621dae7666005a6f)) +* **datepicker:** close datepicker on click outside ([88a6b85](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/88a6b85a7e83896beefa477b244b44c348a012f6)) +* **datepicker:** close datepicker on escape keydown ([0e5707a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0e5707ac9fe69e80240b22c4f727170766cb7bea)) +* **datepicker:** currently broken version using tail.datetime instead ([4282554](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4282554d82d36c20f4887fdba8396a708dd794e9)) +* **datepicker:** define instance collection singleton ([f5636b8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f5636b81d157f1b5df2bc4053aaf0efc3d1ba47a)) +* **datepicker:** display datepicker on the right ([cbb7e95](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cbb7e952769ef5208103766f4b32217819deed8e)) +* **datepicker:** do not replace value if input is no valid date ([ecab0ac](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ecab0ac93ca28233457297e285f1a431232f8ace)) +* **datepicker:** format according to input type; position datepicker ([db345ee](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/db345eed55a049b540f30802e77db33705349945)) +* **datepicker:** format any dates before submission ([1eccb0e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1eccb0ee4aba99a4ea05c15e6a898e44cc75b207)) +* **datepicker:** format time on submit ([9f8749c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9f8749c4cee73b43eb58d34eb18051f3b1753d31)) +* **datepicker:** formatting dates for mass-inputs ([b9fd4d7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b9fd4d7d285eb3779cff79de69dd3ebf7481c51a)) +* **datepicker:** helper functions and updated tail.datetime fork ([2512d69](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2512d69e675c31192c6de96f14d07306e82ff64c)) +* **datepicker:** more sane datetime config ([5a44263](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5a4426300abe83de223f6180039ced92722d2fb7)) +* **datepicker:** new approach stub for formatting dates in formdata ([9ea7b2e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9ea7b2e3f7db4111acf914354968824161ddd86c)) +* **datepicker:** only update datepicker date if date is valid ([d857af3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d857af3812f3810628c4837a8c7a74e8cd4bd1a9)) +* **datepicker:** switch to tail.datetime fork to fix time selection ([863971f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/863971fbde19a39bd7fc2a16457f03463a41fdb0)) +* **datepicker:** update dependencies ([427ffbf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/427ffbf0d8acecc71446dd0250b2f6fc3ff20da3)) +* **db:** automatic retry of database transactions upon system error ([e7a5162](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e7a5162ec9560a20eaffdc24f143ab765f3f0238)) +* **db:** optionally disable some db connection pooling ([35ac503](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/35ac503bf971ace21c49646aa15e8b94b7a3e823)) +* **db:** provide our own implementation of connection pooling ([50fdcb4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/50fdcb4540e6bfbc8da9ed10ed06d6f6ce443cf9)) +* **dbtable:** add support for Cornice ([fdeb251](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fdeb2514c0faae19604b578358806aeb4677a95e)) +* **dbtable:** extra representations ([2c0fc63](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2c0fc63be1de02e8acffbc6a9c5ee83b061c5825)) +* **db:** track source of database accesses ([23ff9d9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/23ff9d9222d7a75b2931827a6cc0335aafe753a1)) +* **default-layout:** save handler ident to main content ([ba846be](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ba846be5aa99278ca00b64150165ccb825eb9ba0)) +* demand authorship statements ([34b3e6a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/34b3e6ae21b38a5b8389deade5deeb77b0981ead)) +* **development:** add commitlint to ensure proper commit msgs ([dd528c1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/dd528c13aa28ecf882ee311aa2a22389b24c9585)) +* **development:** add standard-version for automatic changelog generation ([c495ef5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c495ef577231ac0db6b8c467cf4b0a69c3cf961c)) +* **docker:** wrap within tini ([c86f36b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c86f36b2f67a014352b043397c32b6d8ca1642fe)) +* document CourseEvents ([db224cf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/db224cf58e6025c89174bfa1eab09e03fbec2f07)) +* don't redirect monitoring routes & crontab tokens ([3a106d1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3a106d1ee5998ddeea852b3b0398c2f330664a63)) +* **dry-run:** implement dry-run ([002775e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/002775e19296bd75cf016146e594df2f6101948b)) +* **eecorrectr:** add handlers and navigation ([be2eb3c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/be2eb3c38d6539056456978b37c47c049d1cd683)) +* **eecorrectr:** basic handler structure (WIP) ([de02895](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/de02895ed0ddc7ed119b76fded1d3eaec24448ba)) +* **eecorrectr:** more appropriate error messages ([3b4c7fe](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3b4c7fed3658cf3abe731fe45f24fe9c18b52b54)) +* **eeusers:** fix form & finish implementation ([7d3e9a3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7d3e9a3de359a2775e2a2941cd807dd51dc07f0f)) +* **eeusersr:** audit external exam result delete ([baa3fd8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/baa3fd82e1642e5527b94cf71bc6e96dc0f81455)) +* **eeusersr:** audit external exam result result and occurrence edits ([ed3f761](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ed3f761b24f98527ca0b26b09db7a75f1c98142e)) +* **eeusersr:** audit external exam result result edit ([0d54757](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0d54757d16bebadaeceeb0947df65f15d86ac3e0)) +* **eeusersr:** more on actions, TODO audit ([d4b784a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d4b784afba450019d34a7c70eff7992dbad3b9bf)) +* **eeusersr:** stubs for new actions ([4d48730](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4d48730abd7b1c4d4d9faab08734289fc6d6afb8)) +* ensure cached study feature relevance is up to date ([8798f54](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8798f547a60a7fa7c0849e20e1b0e9d012ac9312)) +* **errors:** redirect errors back to ApprootDefault ([fbf21d7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fbf21d7313d7c2795c171b85a621ad2235eb68c9)) +* exam auto-occurrence nudging ([a91fd7f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a91fd7fd6387e82331d881ec32e830fd59634d9d)) +* **exam users:** course notes ([1e756be](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1e756be7784101c7be80395efea988785a0b0d1d)) +* **exam-correct:** accept grades besides exam part results ([be187ae](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/be187ae90727eba0966de59a3b6945080515b3db)) +* **exam-correct:** add basic interface stub ([623becf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/623becf59751f988411cb0fa39654d4fac214d0b)) +* **exam-correct:** add basic interface stub ([cb7c9ac](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cb7c9ac6dad5e248e9cf0748a871947369cd39af)) +* **exam-correct:** add hasMore to no-op reponse ([e941083](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e941083a44ae817f8ad301afdcf57ebdb9a1742d)) +* **exam-correct:** add sortable style and date column ([87bda16](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/87bda1607e23fd44ac32279b9f36088554cdf56f)) +* **exam-correct:** add sortable style and date column ([9fa4245](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9fa4245607a1e31e915c67a3840dad291a9d284b)) +* **exam-correct:** display backend error messages ([6fc0262](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6fc0262d2dbf9e6a72b0db94c0a46cfb9ffeba15)) +* **exam-correct:** display more info ([ef52f02](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ef52f02d78d8dfc75c48c1ad65b329d68c3361a5)) +* **exam-correct:** examResult interface, no styling or functionality ([970076e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/970076e7307d18424837957133e0086aa78bbafb)) +* **exam-correct:** explanation & length restriction ([1bf19a7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1bf19a76bd6c03ff23ab417fcfc0e86596dc896f)) +* **exam-correct:** general improvement ([23044b2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/23044b28dbcfdc82d5f1e934ab18fba034d60e4a)) +* **exam-correct:** hide result grade select ([edacc20](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/edacc2016d6bbd5c25d62f13d8609b41ee5814ac)) +* **exam-correct:** limit number of matching users (BE) ([d4d27f8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d4d27f8ef63bf5374eab9e3a8e1d1bea6e2e5b3e)) +* **exam-correct:** more on frontend name resolving ([905d445](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/905d445479f846edf724452832e6e9659c07fbbf)) +* **exam-correct:** more on frontend name resolving ([daf9eee](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/daf9eee1d3203da5cd7893431a3358a12e41941a)) +* **exam-correct:** more stub ([cbe6495](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cbe6495609dd762f86d13638684496a1822b048a)) +* **exam-correct:** more stub ([6727dff](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6727dff2ef5de6cf3d4c302165c1c04302d41b68)) +* **exam-correct:** overwrite request cells from response ([c8edbb3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c8edbb395b1dbcd704864e640bce1354d1774c40)) +* **exam-correct:** persist results and more ([a7cc24b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a7cc24be90cb13985d0faf8c8464c921054f0345)) +* **exam-correct:** persist results and more ([53ff629](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/53ff6298e2a5f12b2453dd6d9e2bedec6494ecda)) +* **exam-correct:** postECorrectR stub ([5f9a176](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5f9a176bc68116757237b499da26bb34e8aae32b)) +* **exam-correct:** postECorrectR stub ([a525cab](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a525cab356427514c49348929a362a52fd6edc8b)) +* **exam-correct:** request refactor and handling of sent uuids ([f06ca00](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f06ca00d752ba0034055f8031e17d1f56594e007)) +* **exam-correct:** request refactor and handling of sent uuids ([4a36a01](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4a36a010f4bc0ea326f263c0ee77132843f03c73)) +* **exam-correct:** resend option on ambiguous entries (TODO refactor) ([512f4d9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/512f4d907095087688774bc6adf8619cda3b9142)) +* **exam-correct:** resend option on ambiguous entries (TODO refactor) ([e252be2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e252be2fef3732f04b333a909860df985b786fd5)) +* **exam-correct:** return user lookup result even for failure ([8e41820](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8e41820c9dbe812530a6a5844c0f4baa0aa73027)) +* **exam-correct:** server date handling in frontend and refactor ([77e39be](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/77e39be56c68af9bbf0fdce98508e4d10401dd06)) +* **exam-correct:** server date handling in frontend and refactor ([d8a080d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d8a080d74d4d8ebe78c864daedcd0d4b0b6114d4)) +* **exam-correct:** setup basic session storage manager, add util stub ([9cb64f2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9cb64f2a8f5c86d5b5ef5ad65fd7f3c9f0ef7a13)) +* **exam-correct:** setup basic session storage manager, add util stub ([9a79156](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9a791562b6809b54b6d45699566e0f369e14c627)) +* **exam-correct:** single runDB in POST handler; more response handling ([4cb62f8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4cb62f8f91505c40364b51339072545173f1a569)) +* **exam-correct:** single runDB in POST handler; more response handling ([6837c44](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6837c44b7f40bd4544e75a91a70f6722dc3d5ea7)) +* **exam-correct:** status icons (wip) ([3cc6814](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3cc6814ff5e337d24841fc25797ca92e38c5bf3a)) +* **exam-correct:** status icons (wip) ([eefff9f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/eefff9f719aa44a544f3eea25ba29b987d085365)) +* **exam-correct:** stub ([90359c8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/90359c83b75e52e369ad6a3df8022ed3cdb50e72)) +* **exam-correct:** stub ([0467194](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0467194e3df2da569bd2a4bd8c63bc2d23f44c30)) +* **exam-correct:** submit on enter ([10de1a7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/10de1a7de7e6855c6c84933618aa84d20f7f07b9)) +* **exam-correct:** upsert exam part results (TODO) ([c0f91bc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c0f91bccdd48dc0c99e3b8ef133cfedd890866cf)) +* **exam-correct:** upsert exam part results (TODO) ([650598f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/650598fc22cf33d9eafb97a988db672d94cc3a48)) +* **exam-correct:** use examId instead as uw-exam-correct value ([2d9a877](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2d9a8771efb5bd8d3c22c799ad21bc1f750a4837)) +* **exam-correct:** use examId instead as uw-exam-correct value ([5d7427a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5d7427ad463f114648f6d5b958e5ecba519f0abe)) +* **exam-correct:** validate user input stub ([7f04862](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7f04862a6f0726a7b721d8bbf1cc6c81b2ced5f8)) +* **exam-correct:** validate user input stub ([431d004](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/431d0046658f6f096fb3bf4c11acba0337f10629)) +* **exam-correct:** work on delete ([014036e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/014036e4e31f17267e0ad2c82faff163f6064d6c)) +* **exam-office:** course/user opt-outs ([484fa1c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/484fa1cc632b16d21e694426ae6552dc9098a8f1)) +* **exam-office:** exam-office permissions by courseSchool ([5841a7b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5841a7b5d2c9ee1b291a003f3d03b41d5e0b5d95)) +* **exam-office:** exams list ([651f0bc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/651f0bc4d47477f5f60ed1f91b038cfe6c74cf92)) +* **exam-office:** grade export ([72a7f6e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/72a7f6e8a8edfacc6aa8ae477a8da46f6f88c551)) +* **exam-office:** notifications ([52e1844](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/52e1844d5e5f5c38cdf639f58ba682af5cfc678a)) +* **exam-office:** show exam(Occurrence) end-time ([b638783](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b638783f1262f8ea7817618f70474a114b182fda)) +* **exam-office:** subscription management for users & fields ([f75cc64](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f75cc641e22b6f00bc494f85aa64cd365ac19ad5)) +* **exam-office:** user invitations ([123970a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/123970a7833d4a10474bbdcc4dfa6102795d331d)) +* **exam-users:** allow missing columns in csv import ([e242013](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e2420130874728ad1e98ee5c590d0a20d5f2da5e)) +* **exam-users:** document part-* family of columns ([fe07a22](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fe07a226e9d5ee3195067e45d9c41d730218c7a2)) +* **exam-users:** provide better table defaults ([a689d19](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a689d19bfa314ae7e559232c0c3d23948c211ebd)) +* **exam:** audit exam registrations ([31931e7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/31931e708e998116d112fb8a29a1434769ff9d1c)) +* **exams:** accept/reset computed results ([72342f1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/72342f13936f9e4056e3825ba872a3c5a3726e11)) +* **exams:** add extremely rudimentary registration table ([31e6b72](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/31e6b72c463e7f638a2cc2ff6f19b67f2d49db73)) +* **exams:** add warning about multiple automatic distributions ([7fc9fef](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7fc9fefb0a255dcf627320e89802fa5b6869c542)) +* **exams:** allow assigning exam participants to occurrences ([e1996ac](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e1996ac2e51d74db09c833b6c57a80fcdcb9f6bf)) +* **exams:** allow forced deregistration ([1b532c4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1b532c4e4d2aa90da93a08dd4f1dbaf8626e8077)) +* **exams:** allow mixed ExamGradingMode ([acffe04](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/acffe0435037b10cabdeffebd1cdcafa03b74d0c)) +* **exams:** auth ExamResults by ExamExamOfficeSchools ([29a3e24](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/29a3e24bcf01cd9c893857eda00dcd249e6cbbe2)) +* **exams:** automatic exam occurrence assignment ([e994faf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e994fafe28a32022c06c2cce123181525061f24e)) +* **exams:** automatically compute examResults ([ea5a398](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ea5a398bab2ca0a63af06e167129c2656e887c74)) +* **exam:** save registration timestamp ([78e4369](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/78e4369afb1f76c1a6a30580a2ae35273f495e43)) +* **exams:** basic required optional action for authorship statements ([5cc41ae](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5cc41aeef94993a24538b2f88af1fb75625036a8)) +* **exams:** better display exam-result-information ([0ebda4d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0ebda4d38243d54bf2638e4ce7808bbc084d10dd)) +* **exams:** better explain "enlist directly" ([f07eb3d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f07eb3dcc33fffb823fb490e36576a202328a0f4)) +* **exams:** check exam_discouraged_modes ([f9c50c8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f9c50c80f22770f5376396923b8921eaac3e7216)) +* **exams:** convenience for automatic grade calculation ([ec6a8ae](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ec6a8ae463ca42fd80538da782a864b739f6ba3e)) +* **exams:** CRU (no D) for exams ([67a50c9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/67a50c9e87d3368aafe7f52a3b81e580713e6c24)) +* **exams:** csv-based grade upload ([932145c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/932145ccf794cffce396ddb2d85f01e74d1c7c75)) +* **exams:** csv-export exercise data ([2218103](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2218103cbd6a021fd24629f9215c71dd115f08e4)) +* **exams:** csv-import of ExamPartResults ([29f4e28](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/29f4e2853667db251b48857bcb21d22482534f2f)) +* **exams:** disable and set use-custom field according to school setting ([22dfd33](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/22dfd33aca9b8ad797c2617bbc656cf8276edf38)) +* **exams:** display school default in form ([abd68ac](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/abd68ac0322a34afb62c416b60965e87ee6f10c2)) +* **exams:** do form validation ([bf7b25c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bf7b25ca9e9d11df94b91f7483ee339cefd3e0c9)) +* **exams:** exam design & school exam rules ([f7bab3b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f7bab3befc4c42cde430699681f8caf8a959ab39)) +* **exams:** exam finish button ([78d0f25](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/78d0f2522db759c2ee465e040939c92b2f9a1891)) +* **exams:** exam registration ([99184ff](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/99184ff05322573a6958f09e30fa0fdcdd3d665b)) +* **exams:** exam sheets ([500000b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/500000ba0f6f3b3c32cfd7593e5468796660d46b)) +* **exams:** exam staff & additional schools ([94436ee](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/94436ee0e1ce2cbf13a66f9ad81883d7286acb9b)) +* **exams:** filter on occurrence ([cf040ce](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cf040ce6863488f4708c1c2059f783413b1183d1)) +* **exams:** first do-nothing stub for exam-wide authorship statements ([0392297](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0392297ddbfccbb9a08e678696a9cedd1098121a)) +* **exams:** Form validation ([6fb1399](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6fb1399ef448eb1a6b92c652e644d6aaafe11673)) +* **exams:** implement exam registration invitations ([dd90fd0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/dd90fd04a3ebf43e35837d41ca14424f7568bc2c)) +* **exams:** implement rounding of exambonus ([e97cd56](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e97cd5616bfadb838d3ba279768f38fb536dd4fc)) +* **exams:** improve handling of exam results everywhere ([0e49bc1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0e49bc14e5a66f75f75612a57024dace0303f299)) +* **exams:** improve immediate exam table on home page ([93e718f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/93e718f32366b4f4b6cd083473f15b192aeb642f)) +* **exams:** improve occurrence display ([2b56f26](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2b56f26c45bb0c17bd2b4ad0a491b912c96e9acb)) +* **exams:** introduce examOccurrenceName ([379a7ed](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/379a7edd12b16ed55d39e99637de647a51fb4267)) +* **exams:** notifications wrt. registration ([ae27ff0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ae27ff0bb16e1daab034bdac7bfbf787f3a3a77d)) +* **exams:** optionally close on finish ([4b525ea](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4b525ea8246706d191fce109d4a9d1f5cc4c22d1)), closes [#652](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/652) +* **exams:** re-introduce ExamBonusManual ([54e94a6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/54e94a667027548056a12139ac96512fc4609911)) +* **exams:** refine exam form ([014a17a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/014a17a3be8811586caea5d9f178c5cd318fae29)) +* **exams:** show exam bonus in webinterface ([2b23600](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2b23600a2287e96e5b482c4e53125a55b64bbb93)) +* **exams:** show exam results ([b8b308d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b8b308d608a6acb9e70a143157437038de1f92ac)) +* **exams:** show number of registrations to course admins ([ec020c5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ec020c5486eb0573fa35a710b8ed0752d0443ea6)) +* **exams:** show occurrenceRule in exam overview ([06673e0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/06673e00311d01dbc7b8844cf2ab2f049e045cf1)) +* **exams:** show study features of registered users ([04bea76](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/04bea764f4dcafda1a07ca3a98f290433c207bc5)) +* **exam:** start work on automatic exam-occurrence assignment ([282df86](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/282df86bc20b5ec884379c6c81f232abfb4631c3)) +* **exams:** use template authorship statement settings if applicable ([57a259d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/57a259d8a2822ac1c593663e99f6e41163909c91)) +* **exam:** working prototype of automatic occurrence assignment ([f89545f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f89545f36ec4b0d45a0607b04d4b0d86b5dd1caa)) +* external exam csv export ([553c117](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/553c1176269850048998ef1a0b8f580c0d4dc267)) +* external exam csv import & ldap lookup during csv import ([1d14b6a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1d14b6a69cc569e3924523d4270a897c7529281a)) +* external exams in exam office exams table ([3b739f7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3b739f751d195063665430fc144169e998c8fa55)) +* **external-exams:** add actions to EEUsers ([2cf4895](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2cf4895231e889711dc62896937e775b3d85fe79)) +* **external-exams:** auditing ([2b153c1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2b153c1863752ddaf7a8f476fc9696448fed17e6)) +* **external-exams:** create new exams ([94bb391](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/94bb3911cb7dc1d12544be5a644ff0b7ec25725a)) +* **external-exams:** display staff & add' schools ([c14d90f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c14d90fd531a9d391f90df3c27724c0d3219f2ee)) +* **external-exams:** edit existing exams ([1252a5f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1252a5fc79354df10bd0b8d17953fb306ae5024a)) +* **external-exams:** list ([fa3521d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fa3521d6dbebe1d07352bec2269b10e5eb3e31d5)) +* **external-exams:** open defaults wrt. external exam schools ([ef1411e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ef1411efdb644e300656403c071cfcdef9caf077)), closes [#651](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/651) +* **external-exams:** plan for student grade access ([b7506a0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b7506a03b1de498c3231e81c3330994d55dbb54e)) +* **external-exams:** requisite routes ([f25b21a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f25b21aa4b9f4be71bf1afc7cdfae58f7f93c689)) +* **failover:** treat alternatives cyclically ([9213b75](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9213b7554a6da2a40ea0c82ad4601a951dd7ebb4)) +* **faq:** exam-points ([aebc05d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/aebc05d021dc27c6539373b7e30a1f97898bf15c)), closes [#595](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/595) +* **faqs:** i18n ([a1a0fa3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a1a0fa3a448c75f83949eb9f3a5f681fcd6e5792)) +* **faqs:** initial ([7b53377](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7b5337723d6dd300dc18a0881c589f89dea0bdbf)) +* **faqs:** more faqs ([18766ed](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/18766edc7c9757d26a9d83f1b996fdc473f48f8a)) +* **faqs:** more links to faq ([10d44d1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/10d44d189bb7df852bdbc64466e31f09fe91f619)) +* **favourites:** usability improvements ([fccc2ea](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fccc2ea212fd5d780510ee6b59191cd1d615c8b4)) +* **fe-heatmap:** add css class heated for heatmap elements ([b09b876](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b09b876969f43cc0d21af9f9c0057c1285811e3c)), closes [#405](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/405) +* **features-of-study:** record parent & standalone candidates ([2621d36](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2621d36b7d020e67b66e0371004634decc5208fd)) +* **file-uploads:** maximum file sizes ([9dee134](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9dee134b11adb7f72ecb66117c4373c08a664979)) +* **files:** avoid initial unnecessary rechunking ([e80f7d7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e80f7d7a89e205ce53a70178e0b44d9b0ddf5b97)) +* **files:** buffer uploads to minio ([d9e9179](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d9e9179a52d1c17633b6dedae7d2a263f3612ac2)) +* **files:** chunk prune-unreferenced-files finer ([58c2420](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/58c242045887673f69c368668803574d829cc823)) +* **files:** chunking ([8f608c1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8f608c19552ef7bd6ce61af92496b3d5f5bf61b1)) +* **files:** content dependent chunking ([d624a95](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d624a951c54bda86e04d440eba9901d2a65153b9)) +* **files:** further balance file jobs ([1926917](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1926917dd7463a4ed11b9e7ee64fab6c8167de6f)) +* **files:** monitor missing files ([fb0ae65](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fb0ae65ac5928443abc01de9b57c69849d6a6b21)) +* **files:** move uploads from buffer to database ([9a2cba5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9a2cba5c0acd0db489d5958938efcdbf6d2dcc63)) +* **files:** safer file deletion ([88a9239](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/88a92390d580d618b15081c87dabe51c7c5e0eca)) +* **footer:** add link to source code ([5a88d5c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5a88d5c41f39a45147b049985d2f59cf70daddec)) +* **forms:** allow customisation of user-facing datalist values ([412ce98](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/412ce98fa0efc2715a9ba75ba8e95786fef47450)) +* **forms:** improve field labeling & error reporting ([3820b45](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3820b45b3e87de3d7ba43a11d84666227f42582d)), closes [#588](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/588) +* **forms:** Introduce more convenient form validation ([f8d0b02](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f8d0b021edcf254c161ff98e1183e9e4bfab0df9)) +* **forms:** show studyFeaturesField in studyFeaturesFieldFor ([b7496f9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b7496f994075836949a9f6f5c584fa34a2441d1d)), closes [#451](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/451) +* **foundation:** move stuff out of Foundation ([e27beba](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e27bebac59e42857b82e567f07576167bafcf8e3)) +* **frontend:** password visibilty toggle ([f0e4547](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f0e45477fa85a1d82750597cdaf122e41e9c7764)) +* **frontend:** split up util registry ([67e472f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/67e472fa5e09ed2068d477ef12b12adb0ca98c4f)) +* **frontend:** use webpack more extensively ([5d8c2af](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5d8c2af51d69c5d33c84447b7baabc75e34d930a)) +* generate & include new favicon ([b78c484](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b78c48465a4f42366c9a8e8ba924b8d5c2315d71)) +* generated columns tooltip ([2c4080d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2c4080d0e0d7f59829238830a5200116a9d884ec)) +* **generic-file-field:** prevent multiple session files of same name ([98e1141](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/98e1141e602b08d422ae0db1d25b24b35e6e3238)) +* **glossary:** english glossary ([237c586](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/237c5868b708e6f5734eef19c63f1764eb3cbdfb)) +* **glossary:** more de-de-formal ([7daa42d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7daa42db983c815dbfc65b50c59a10dbc5054bda)) +* **glossary:** most glossary entries in de-de-formal ([ba7c60e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ba7c60ec1ce697e65a9a507073f03c540bb20d41)) +* **guess-user:** add option to limit query ([4154a39](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4154a395f44edb059225caa090bd3ba95a1451c2)) +* **guess-user:** replace guessUser and usages ([ca96518](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ca96518e0eb348b91964d21680b1e8e8d3600fa3)) +* **guess-user:** variant of guessUser ([58ae9dd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/58ae9dddbc994f17cc52cc0940d996dedf583ba5)) +* **health:** check for active job workers ([d1abe53](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d1abe530b60939f69289b60216f52eab7e7ba6a4)) +* **health:** timeout all health checks ([33338cd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/33338cdfe94754759e4aa8cbf5ccd9f9fc939fa6)) +* **help:** attach last error message ([fdd6b1a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fdd6b1a194fd2d4a1deb399cd3914e63e167d30a)) +* **hide-columns:** add hider label th attr ([6c05a8f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6c05a8f09fdd0d1679c3c5b33277829901d2e8c0)) +* **hide-columns:** add hider label th attr ([71e90a1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/71e90a18178dcab90ee68519b15e44e51ff79a91)) +* **hide-columns:** add hider labels for material list ([ccafd95](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ccafd955b9b9659d05e34aadd0bd8fdc15ac44d9)) +* **hide-columns:** add hider labels for tutorial list on course page ([3553df2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3553df23ca75eab3c324d9b67aa11ce01212c230)) +* **hide-columns:** add hider labels for tutorial list on course page ([03e4ac1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/03e4ac1ccac94dc815b9341fbd547ee548d5f839)) +* **hide-columns:** add more hider labels ([555c4ae](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/555c4aebebbd050ec00ad0b4369c196502301d7a)) +* **hide-columns:** add more hider labels ([eba58d8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/eba58d83a04009f712f46fb2a4b123081b8ead84)) +* **hide-columns:** better positioning of hiders ([761c6d3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/761c6d39a82a57e4bdddd193d25be459b12ca1f7)) +* **hide-columns:** correct storage keys ([610d13a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/610d13a7292f61e7892bc0f58a666011efbbbe71)) +* **hide-columns:** don't break on dom changes ([c519792](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c5197928b12861599338a87dda9562ff16782332)) +* **hide-columns:** fadein transformation ([506f94e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/506f94e5d4afd2e2a955dab654f9a566a4152728)) +* **hide-columns:** first stub of hide-column util with manual styling ([111821d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/111821dcad4d0ffde6dfebbb62fb21b9b76ab9c5)) +* **hide-columns:** get table wrapper ident for storage ident ([d55d3ef](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d55d3ef4847f089970982e9554365f8699f2f9e6)) +* **hide-columns:** hide empty columns per default ([d1232ce](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d1232ce72d45ddcabe14f9770a0f8117d8efe74d)) +* **hide-columns:** more (broken) styling; move hider elements in DOM ([e655bc6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e655bc6e700f1b9668633f6beaef7acf8db484f0)) +* **hide-columns:** more styling ([4908702](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/49087027b250a8ce1212d508e1c9028f5122a09e)) +* **hide-columns:** opt-out on select columns ([b03c10f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b03c10f09810796f43d313dd17b15f5c39c8e5a3)) +* **hide-columns:** refactor and auto-hide empty columns ([047c0a5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/047c0a5787657be7f810b20599bb1015a99b4e9b)) +* **hide-columns:** set attributes for hide-columns and extra-stuff div ([169a479](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/169a4799b4996c9474ee492e79dcd0a5040af04e)) +* **hide-columns:** styling stub with repositioning ([a9c17d7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a9c17d75fe2ec2aef65e4150d8f080797433fe0d)) +* **hide-columns:** support colspan & don't persist autohide ([0798d68](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0798d6870e7b4dfd0baf23940fe5d87b9c2d444c)) +* **home:** allow users to define exam warning time ([d23e222](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d23e222fd0b2eb45afd28a5cb96cd25c433cf0c2)), closes [#445](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/445) +* **home:** clean up homepage ([a6e2f64](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a6e2f6491048186415546f5cbbd513b75c123026)) +* **homepage:** add convenience links to term and school ([83445c4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/83445c4e7707febc569f4bff271f995ece64dcd0)) +* **homepage:** add prime action new course to homepage ([2208368](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/22083685961ca0503cce168c97bba73beaec2ea7)) +* **home:** show immediate exams on home page ([242cff3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/242cff30600a857efa9b98a44b44cbb73a1b1001)) +* **http-client:** baseUrl and defaultUrl ([693189f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/693189fe8274fea64596d09f158a1121196c35eb)) +* i18n form ([2d95f35](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2d95f353c1209a4d3528c6aaf53c832bf5429a34)) +* **i18n:** 12h-clock for english locales ([331ba1f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/331ba1fed3ca5e25942c906b10f670e2ed03299b)) +* **i18n:** additional en-eu ([83a458d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/83a458ddf530941663108db705067fe129fb8bcc)) +* **i18n:** basic language switching ([352bdba](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/352bdba1a4377bbd3ecf76b72c6aee6fdd861316)) +* **i18n:** close language select on click anywhere ([97a29ec](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/97a29ec68cb64e4264afc1d6a95e73e608b33748)) +* **i18n:** english imprint ([7b3ed79](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7b3ed79ddd4c1d7d29c4830f7f5929662e9011aa)) +* **i18n:** english versions of imprint and data-protection ([4ee3ad0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4ee3ad01bab9b8d57ae266904a259130a5c039d4)) +* **i18n:** get started on en-eu ([75677dc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/75677dc171943cbdd4abb872dd813a9bea40e40e)) +* **i18n:** missing message translations; small fixes ([aec4b21](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/aec4b21757c4d38622db30d96faa95b4fcaa72c3)) +* **i18n:** missing translations ([153bb1f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/153bb1f62179e19e34f5c818544b86633a826e0a)) +* **i18n:** more en-eu ([67e40fd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/67e40fd3e71a90b13ce75be33cbad7c229b1899c)) +* **i18n:** more en-eu ([3058737](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3058737021a5f9f949d2da7a3ca608eb71f34cc8)) +* **i18n:** more en-eu ([7c8dbc9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7c8dbc9dcc0c79bb50f464eb565d1cebba83b4b5)) +* **i18n:** populate frontend datetime locale from backend settings ([498d616](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/498d6168a0f47b0f93bab75d65b87c34670535f1)) +* **i18n:** store language in user account ([f0f9411](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f0f94112f4d8b9af96c2048a046e43ce7ae7351b)) +* implement in-memory cache for file download ([36debd8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/36debd865f6e74856c74bd658dc4694140183fed)) +* implement system-exam-office ([42aee66](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/42aee66d1f9c189a6a6b13b1970c61e0299630ae)) +* **implementation:** add paragraph about license (AGPL-3.0-or-later) ([d4b341b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d4b341ba259e710a142d813ede83c209fe2fe45a)) +* improve logging/metrics wrt. batch jobs ([d21faf4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d21faf4de0d40a3683ff2a7a3020bc85717f827c)) +* improve navigation ([95ffda2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/95ffda25b6f1a6e9e8ae0b0be5e58a7260c4f5fa)) +* **info-lecturer:** add english translation; minor fixes in german ([a4fc555](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a4fc5551f1936a1e8fb5e7c28a2911fbc1ae8803)) +* **info-lecturer:** add expiry time for newFeat ([fa9e6b5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fa9e6b587b2143160ad2067923b55592c7db64ea)) +* **info-lecturer:** add inline newU2W icons ([5a49feb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5a49febf9c484bb0cf40007fee3197f206b5488e)) +* **info-lecturer:** add newU2W icons on info page ([9f02ef0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9f02ef02b3cfa2b4f7ee5ace2cda1a492f76ee5a)) +* **info-lecturer:** minor adjustments ([64b391a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/64b391a0feb8150c5a213a5ccf7e3eadddeaa714)) +* **info-lecturer:** more bullhorns ([4a5e7d9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4a5e7d9e7e1c5cc8f56169401693fea3f4c65a8a)) +* **info-lecturer:** remove "news" section ([cb1e3a6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cb1e3a604b305ca45584bc009f4bf0c027613e22)) +* **info:** info seiten überarbeitet ([7459fc3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7459fc34bc747fe7af31a4bc87930e1bea03c923)) +* **info:** start glossary ([73b0546](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/73b0546db674914ca24e0f69c0c17a309e88fc1e)) +* **inject-files:** additionally throttle by file count ([3cf0335](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3cf033560e90ddc104e4056c470459f92b6eb4ae)) +* **invitations:** additional explanation for new users ([bb9c34f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bb9c34fa4de6efc811e6a336a8e68f924ff37b56)) +* **invitations:** anonymous invitations ([1380d9d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1380d9d21ea457ad631998c64b63d6aa85b764ce)) +* **invitations:** save expiresAt to DB ([1c2f2b7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1c2f2b7221d2bb237f3f1da61ca1cd9cde791506)) +* **jobs:** batch job offloading ([09fb26f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/09fb26f1a892feba32185166223f8f95611ea9ef)) +* **jobs:** move held-up jobs to different workers ([284aae1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/284aae12135ad97b1cf85b45f1176da6930876ee)) +* **jobs:** queue by jobctl priority ([a27a553](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a27a553e0a9782eda6023ec0b8b1055757bb511f)) +* **ldap:** automatically synchronise user data from ldap ([b39ba8b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b39ba8b268ca705e93398175df55f8cb741c376a)) +* **ldap:** expose active directory errors ([51ed7e0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/51ed7e0a26a94d2178a4ca10ad7ea36b99076b54)) +* **ldap:** failover ([0e68b6c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0e68b6cf5348bbf5baa5014a86be321a7e5e4b49)) +* **ldap:** manually trigger ldap sync ([83afb6f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/83afb6f15fb107b5302958020dcba4018f98ba8d)) +* **lecturer type:** aenderung ([89e1d67](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/89e1d675c3be0fec106e84920184a8c95dfa6346)) +* **lecturer-info:** add planned features icon; update info ([a4068b4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a4068b4a82931f1bc40d0edceca53297e0e45120)) +* **lecturer-info:** fix typos, add info (adding tutorial participants) ([5139825](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5139825aad1a9ab602000e2d870e424da6b84e48)) +* **lecturer-info:** replaced icons with icon-tooltips; edited text ([2ca7085](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2ca7085ec95c981fd4721a952064b3df8dbccb58)) +* **legal:** fix translations and links ([cdc4053](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cdc405307613eae1ef30b19e417faf27d6aee4a5)) +* **legal:** move legal info to one single page ([565c6a4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/565c6a4f3d3faabaee7d52f6bdb701c703aae7a6)) +* **letter:** allow printing of multiple course certificates at once ([768f03f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/768f03f6727f54b7c7aa18ecef8bc67302ee27cd)) +* **link password time:** application restore ([6d536c3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6d536c39bd9f3117f18d2e52c93f178aea4a002d)) +* **link password time:** done ([4490e9a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4490e9ad20c55153e81a344c7dbf7813cb219108)) +* **link password time:** done ([2321216](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2321216b0f4f194c7cd8b47eb020819d6aa1f2e5)) +* **link password time:** new time format ([df2a9bc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/df2a9bc20fe9f958cbee98315b644ec2fcba0630)) +* **link password time:** restore application ([c5c5417](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c5c541709b5053c08d21bdd753bb99df574c6c5b)) +* **link password time:** restore application ([85006ff](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/85006ff389188b56a8b61943621c190c9a9503b7)) +* **lms:** configurable csv settings for lms direct import and export routes ([6159403](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6159403b27dab30178645dc37c99d41b4aaf610c)) +* **lms:** enable upload handlers for all upload routes ([a5121f0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a5121f0d3e7a77695a6198057afd23f5f86ff174)) +* **lms:** random ident pw generation without db ([21b74a5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/21b74a5d7ff3c03be466ef911fbb8ed2a1b67f4b)) +* load shedding ([9df0686](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9df0686086ff7b64d401a2302edd2fe7636db111)) +* **load:** allow creation of submissions without login (w/ token) ([2e826d3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2e826d3c4585b0dafe8ec7abbdd63e23f1d5d341)) +* log ldap error messages on invalid-credentials ([0b4fade](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0b4fadedd2d7ffbb58598d9844e1c7d97cabc447)) +* log sent notifications for analysis ([c5ef6bb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c5ef6bb5a5430a5f9b4dd4b2a5635332d1edfed7)), closes [#535](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/535) +* **logging:** additional logging for inject-files ([cbf41b2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cbf41b2ea061aa276f455dde1e31464d106cd3d7)) +* **log:** remove container log setting in order to use stdout ([8f460bd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8f460bd0a3aba9013f2ee2d20a1465487ecfe629)) +* **lpr:** print center allows filtering by day now ([cac4870](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cac4870c95f5367536ee48644fea8a526a0da5a3)) +* **mail:** archive all sent mail & better verp ([1666081](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1666081fea0eec0bf5440a100db0e8cc69be8295)) +* make git revision accessable to nix build ([b37c2e6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b37c2e6aec125952c26156ad599f18496d5cea8e)) +* make pagesize changes load async ([6486120](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/64861205361bb6ee25b172528bbf939850ba3efd)) +* markdown help requests ([06f3ac6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/06f3ac656313dd751f8a758349f6151497dc4ddf)) +* **mass-input:** automatic add before submit ([7540a4f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7540a4fe5fe0f61d449bc7cc5f5aa7d3da034f55)) +* **massinput:** reduce size of ajax requests ([72838e2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/72838e2592f159ab79c9f245ac28a4f9bd807e19)) +* **memcached:** introduce general purpose memcached ([e8c2dc5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e8c2dc5aaa5baeeffef805752a7639c9e412dc21)) +* **messages:** implement custom parser for message files ([bb877eb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bb877eb81396211a801496061ea603b39753829b)) +* **messages:** mkMessageAddition ([ea33d84](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ea33d844cc4acb2503fc4780c7895299eb9d5ef5)) +* **messages:** rename subs grade ([534c32d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/534c32d9f90fc95a5cf7ff16056ffffeca8cf964)) +* **metrics:** basic collection & export of metrics ([b8f41ef](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b8f41ef0b36c092f734f9ee901b2f438ea21aab8)) +* **metrics:** measure file i/o ([4801d22](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4801d22cb360dcd936c57494ff2ff02655431409)) +* **metrics:** monitor job durations ([0da6c49](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0da6c493924ef544208a3a330bde7714a61fd835)) +* **metrics:** monitor job executor state ([b74bb53](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b74bb53041073546df1b45b03758b559c98b95c8)) +* **metrics:** observe login attempts ([0c7e56f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0c7e56f4054593eef757dffba49fdc27f7b060df)) +* **metrics:** report on health checks ([bec4023](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bec40236dbdedd022b968e83f563df75ab35c959)) +* migrate indexes ([dfe68d5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/dfe68d5924d37ea4d3fd0df0a8e68871bcd187d5)) +* **migration:** switch from versions to enum ([f2fb7d8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f2fb7d8c267fed96f0dbdb237f4984c8996fbce8)) +* **minio:** use separate bucket for temporary files ([1cd79d3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1cd79d35e2761d84bb904a77e74d5cacb0b2244c)) +* **monitoring:** observe database connection opening/closing ([d801a2f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d801a2f84ae42862dfc357a58ee47dd6dc39eef8)) +* more date & time formats ([936c366](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/936c3666fcc39e00ef1c868b3f23d4bb88336702)) +* more en-eu translations; minor fixes in de-de-formal ([870f1df](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/870f1df4d30182ef08d4c7b2f8bb15a6ea722925)) +* **multi-user-field:** improve placeholder ([2936eef](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2936eefbd1626fb69afa735df2d2dae5783ba842)) +* **multi-user-field:** multi-user-invitation-field ([c072b85](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c072b85299f87f6ddfcdf72ff3db4881a079af41)) +* navbar header containers ([1348c91](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1348c91c3c7a5c645decda9215c352fa2130aaaa)) +* **navigate-away-prompt:** prompt on actual value change only ([293ab6d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/293ab6dc62725a2b9785b18d7f06ff8efbf860ea)) +* **news:** active allocations for lecturers ([cde0122](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cde012252907c57506eef44868b3d25fae50a8f7)) +* **news:** show system messages ([0d39924](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0d399247773a0e4799602c49e6c06de906b43fec)) +* **news:** timeout sheets after a month ([31aa25a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/31aa25a1fd6acd0994e2af156b4b166b3717de13)) +* notification about externalExamResults to exam-office ([a304840](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a30484003ae75ccbb98a4d275423320bd9d09f33)) +* **notification triggers:** redesign interface ([84c12b5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/84c12b5fc7c875940900c2c38cf59b09c0d63fab)), closes [#410](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/410) +* **notifications:** add NotificationExamResult ([a7e2921](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a7e2921a731d74eb4b79d60e8e1f34aa90161b60)) +* **notifications:** sheet-hint & sheet-solution ([f11b215](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f11b215773fb2af8cb400d5798029802768a631a)) +* optional ribbon ([c2e13cf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c2e13cf4df1fc8a6e0d919b5171a7eaf002fd381)) +* pageactions for exam correct interface ([0d4dcf8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0d4dcf8658d7b6d6f3fe692400c772425bbfb3b0)) +* **pageactions:** finish restoration ([e1cac76](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e1cac76f1518e2de0f9d7e9f0f80278ea07fac0d)) +* **pageactions:** restore pageactions ([4bc48a5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4bc48a50faf4fbecff14fd7e38a31503097d74d8)) +* **pageactions:** restore pageactions ([926bd44](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/926bd4473696a7d1524659895975749d7b4b3a79)) +* pandoc-markdown based htmlField ([c5848b2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c5848b24e850eb0bfc13db3ff68fd05df522b057)) +* partial support for lsf import ([37cdc77](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/37cdc775b5b2d3e4cd1cc22858b2c05e75de8a3c)), closes [#686](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/686) +* partial/conditional downloads & video streaming ([5b28303](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5b28303539e28024b43addb413aedc4e5ee0e470)) +* participants intersection ([697c3e1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/697c3e11fc3bdd279c0df2d4fd9362bf2981ccae)) +* **participants:** basic funktions added ([b96327b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b96327b18dafcd020c94bb84c6aafffb53544076)) +* **participants:** corrections ([fd11121](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fd111215447aff817399db379a4ca8e90eb73cff)) +* **participants:** corrections 2 ([d6ce0c4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d6ce0c47d92fac76ccdc59805fcdbd3ad932d3e3)) +* **participants:** first finished verson ([0a3fd23](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0a3fd23e22a81b3636fb3ac224dce52df3f752f2)) +* **participants:** second version, Intersection added ([02354f0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/02354f0998e61c236bc982848b9d709c927690f5)) +* **participants:** small Name-change ([6f3243d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6f3243d90bdc137e7f2ea9fe8e271f1cdc32dfbd)) +* **participants:** small Name-change ([eced778](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/eced7781ae346e285b7f3949917f23883b4dfaa8)) +* persist bearer tokens in session ([d8040e7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d8040e7aa864e2078962ed2c938ae91408dd9e50)) +* **personalised-sheet-files:** collated ignore ([1fe63a2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1fe63a23a0b41dba3b87b97903eb58ced87f8b2d)) +* **personalised-sheet-files:** download from CUsersR ([93d0ace](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/93d0ace8ba97d19edba92a65b3f37a793165baab)) +* **personalised-sheet-files:** finish upload functionality ([ed5fb6e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ed5fb6e218097250f197b7795d448bbfe460bf99)) +* **personalised-sheet-files:** i18n ([f452b2b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f452b2b24f60e3d2cfefee0501d9833e2f7665db)) +* **personalised-sheet-files:** introduce routes & work on crypto ([9ee44aa](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9ee44aa2f1aaa91c898b216f0dba58017122c75f)) +* **personalised-sheet-files:** participant interaction ([db205f6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/db205f635d8c80b037f96f34488fde451140eda7)) +* **personalised-sheet-files:** restrict download by exam ([a8f2688](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a8f268852a256209f6ab187167c2a1c066618c4c)) +* **personalised-sheet-files:** seeds ([cf67945](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cf679452928c14200e1eb3877987ee299fbf9f6f)) +* pruning of unreferenced files ([ff161b2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ff161b2e045dcd1281aec21513ed1c818f2174aa)) +* **qualfications:** renewal actions and filtering by card and personal number ([4df0243](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4df024374d387fc85a833b3faffe1b6ef8edc7d9)) +* **rating:** pretty-print to new yaml based format ([2bf4846](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2bf484609e4efb905614ffddb3b8f0dee03f5483)) +* **ratings:** i18n rating file names ([1195231](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1195231bc3d3502fa4f77db64d30f2138cd7fa20)) +* **ratings:** parsing for new format ([af79473](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/af7947328d38ef6db4450bae177efdae7877ab56)) +* reduce number of study features for courses ([51a98f0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/51a98f067086bcef3daff601b53d5eb45f4a27f0)) +* refine presentation of exam-correct ([95c1755](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/95c17557107c3ff41ea85cd32d3e5ff435feebb9)) +* rename "Start" to "Beginn" in error messages ([66bd10e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/66bd10e4142cee5f1683e1252885f1b5a0a07fa6)) +* renamed "Bewertung abgeschlossen ab" to "Ergebnisse sichtbar ab" ([6b610e1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6b610e1e54cbca89bd957101723e9c79652d315a)) +* restore & improve navbar contents ([51fc6dc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/51fc6dc541ea729c049271d3f1d16afffd5ef6c0)) +* restore study features in all tables ([363f7ab](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/363f7abc192872ebd2a609b8bd89b58032bc9131)) +* **robots.txt:** disallow ahrefs ([9afee89](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9afee89a090030c31b6025eef22b5055a4251c0b)) +* **rooms:** different room types & hidden rooms ([319c75a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/319c75a85aa5e5f7e2f2af328d69960e1df3cb80)) +* **schools:** add school settings regarding authorship statements ([cb8e338](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cb8e3385889c0c4c13418bc69af091b9c8a3f22f)) +* **schools:** implement cru ([18ae28a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/18ae28abbcfcff6015b419f6791bc60fe6dd88f5)) +* **schools:** more school-wide configuration authorship statements ([960bd76](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/960bd76acafc9cd077b831b67a281eb7b20e703c)) +* **schools:** store school authorship statements as html ([09927ae](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/09927ae14004f7a27f816ad874704969641dad83)) +* **serversessions:** move session storage to dedicated memcached ([9960059](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/996005935df86cbbc48bd823cc8cba13aa2f8bca)), closes [#390](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/390) +* **sheetlist:** sort sheet file types in db by haskell Ord ([643cc41](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/643cc4165fdec197ae8f744f193a731e731f537b)) +* **sheets:** add required flag and definition ([541dd76](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/541dd7688ffa36be8a968f26f920507ed5aae646)) +* **sheets:** better explain rating-done ([3944ce0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3944ce02615f8f4d3ec6a14ae4beaceb324c6104)) +* **sheets:** display authship req on SShowR ([44473b4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/44473b45756c5df20e6a81927867de191cf70366)) +* **sheets:** eliminate authship statement required Bool ([0735c05](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0735c05a7489957ed500bac1c006f4ecfdab74f3)) +* **sheets:** fetch school statement as statement default ([a39a0d7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a39a0d7c8763e158dae5750afac8a78bd953dcdf)) +* **sheets:** introduce sheet-specific statements for exam-unrelated sheets and as exam-statement overrides ([3f87f20](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3f87f20eb14e5db8a63c61885c4570689169ebed)) +* **sheets:** pass-always ([b2ebce4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b2ebce483658d74239b7a9dd5462b7c78371b896)) +* **sheets:** require exam registration ([d770afd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d770afd2c6ade597fa2b8ecf229c312f1ee6be56)) +* **sheets:** submission groups & rework sheet form ([57f1ce9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/57f1ce9265e2a122aa7a318b923df51ee9ead0a3)) +* **sheets:** upload-empty-ok ([ab1940c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ab1940cb09e824fbba03264b5451fa8b17c5c804)) +* **sheet:** warn about no submission without not graded ([9373266](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/937326639a02c576f278b79b8ebb441a2652bece)), closes [#342](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/342) +* show authorship statement requirement for sheet ([5e96982](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5e969825ad0c84c240b5c17b011dacbb63f4bfdf)) +* **sort-table:** add basic SortTable util stub ([53131e2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/53131e2de891edc57d900a618aeadc31533f305b)) +* **sort-table:** add basic SortTable util stub ([11c0bd0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/11c0bd07e93a4a59d78226dbf3a2ca94d02a5883)) +* **sorting tutorial table:** application restore ([9dc12de](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9dc12de056e73736659c053b0eabef66ca524047)) +* **sorting tutorial table:** done ([482241d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/482241d033c32c52c31ea20920a4fec07ba975dd)) +* **standard-version:** allow adding additional changes to release ([7ed6fe4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7ed6fe4fedc2f0ee463680a0d3210d7a6f4ac7ab)) +* **standard-version:** complete release workflow ([605e62f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/605e62f4458238119eaf13b3e8151924d758e3a9)) +* **static pages:** touch ups ([d2c0043](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d2c0043debb0896446cefaef5f488e99470bbf39)) +* **status:** show instance running time ([8743719](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8743719183abfa10d089c6e7e765e49f6da3c50d)) +* **storage-key:** add breadcrumb and import ([8cf5d63](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8cf5d63cf2d63d3fa0017d3c555a2070431086f6)) +* **storage-key:** add breadcrumb and import ([1580d3f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1580d3f59bf4d716228ecc15c8af17b8af445250)) +* **storage-key:** add StorageKeyR to routes; minor Handler refactor ([2d1d58f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2d1d58f78f3bcdce5030da2eb2e67532f3ccff27)) +* **storage-key:** add StorageKeyR to routes; minor Handler refactor ([4d4dc8f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4d4dc8f58be9f0c705b52d6bbd42041d41b2749f)) +* **storage-key:** postStorageKeyR ([059efe5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/059efe5085967366df663ca531f1e4fb521ac9ab)) +* **storage-key:** postStorageKeyR ([b51c466](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b51c466a650743d9df9e954313e9c7501f66c4f0)) +* **storage-manager:** add en-/decryption stub (WIP) and restructure ([54d852f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/54d852f30823c59146d75d33f05f35f2c66a228f)) +* **storage-manager:** add en-/decryption stub (WIP) and restructure ([0016145](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/001614522e0ae3841b27086e9370c999c24a2963)) +* **storage-manager:** add storage manager library ([1023240](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/10232401369fa18fd7866a584b4f6d3eb1380e5c)) +* **storage-manager:** location hierarchy ([80ff4ac](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/80ff4ac2a734bf295a026aa68d5d881da9cca3bd)) +* **storage-manager:** store encryption info per location ([25a7c34](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/25a7c3420a68ef6a959506db27411dc363c1b839)) +* **storage-manager:** store encryption info per location ([8122ab1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8122ab10b0277069ec4a6de7f77dd34748df3fe5)) +* study feature filtering ([96d0ba8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/96d0ba8f7a1c8d8d4e895541b66e36d35392fb25)) +* **study-features:** add study-features-first-observed ([dcb83d9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/dcb83d96fc0e52c0c322e50d9467d9a2bed90359)) +* **study-features:** cache study features term relevance ([8f6d54d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8f6d54d0125e01f5c8a90843b54129d6412b79f1)) +* **study-features:** complete StudyFeatures admin-interface ([c4c82f5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c4c82f54396abd6cdb3c719079a6f87a883c4989)) +* **study-features:** further restriction by course ([f7a9bc8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f7a9bc831a3b0ef58fcbf7918be9f5e3b262641e)) +* **submission-groups:** invite w/ submission-group & audit ([7f10d44](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7f10d44aee0fea561e331e20d03ff814a6df9baa)) +* **submission-list:** bulk download submission originals ([d7f2d11](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d7f2d113929f9dc11291d6db916c8944ae158c3b)), closes [#707](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/707) +* **submission-show:** display authorship statements ([cbd6d7d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cbd6d7d2b098f8e2c921fd7a56a458d62331d784)) +* **submission:** add correction to sub-show-r ([e060080](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e06008026160185103b9adf60b5cfbc6991d77df)) +* **submission:** allow restriction of submittors via token ([0fa8d37](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0fa8d370374ae8022faa0ebd7dfcc5a50afa4e4c)) +* **submission:** edit notifications ([98c0d69](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/98c0d6919e0e4ef4fca6eb451edbd8283829ebf6)) +* **submissions:** also warn correctors about multiple submissions ([8795edd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8795edd1fa452d012704146481c8318d206634a5)) +* **submissions:** display authorship statements ([7749238](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7749238e554b612a8bf69e6beb94efe3e5d02973)) +* **submissions:** display submittors more explicitly ([d2e2456](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d2e2456f6204245d933fb6abc87c44388ce3e339)) +* **submissions:** ignore additional filename components ([38f69c3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/38f69c3aedaf497753a5240d1d64970320f4f64e)) +* **submissions:** improve behaviour of sheet-type-exam-part ([91a5166](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/91a51664c32bd17e4c2d1cd496bf05338146291d)), closes [#676](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/676) +* **submissions:** non-anonymized correction ([fd2c288](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fd2c2881ea5a465458eb3f64d7767be3a307dc46)), closes [#524](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/524) [#292](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/292) +* **submissions:** optionally disable consideration for deficit ([c6a6ec7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c6a6ec721c2a863d324ddfb5d2b2c1e42e659067)) +* **submissions:** warn about multiple submissions for same user ([c19a00d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c19a00dcefb2dcae017026edb6e1c7cb6ce16841)) +* **submission:** warn about deleting co-submissions ([e87f607](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e87f6075d379eac84decaf0079cf62d8d5d0698d)) +* support exam registration including room (ExamRoomFifo) ([14bb020](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/14bb020fe9d8f7579269468c9fb55a1dc373d145)) +* support for ldap primary keys ([bbfd182](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bbfd182ed93d1e602229a2fd1ac1e0fa4c4439ef)) +* **system-messages:** hiding ([c81bc23](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c81bc2314e75d82ad2a246218b7e077d5cb02781)) +* **system-messages:** manual priority ([cf06f79](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cf06f798072a5c4cd1a7f6f92c035929f467ff30)) +* **system-messages:** refactor cookies & improve system messages ([ead6015](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ead6015dfef7e667e52116b26fd92ebfd4f908eb)) +* targets on InfoLecturerR ([5ffee38](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5ffee38979e239c40390c4c5e4ac8db1532bbede)) +* **terms:** better prediction of term dates ([e5732df](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e5732df1b62756aa267fbaad598f96478cba0220)) +* **terms:** improve term display/editing ([8b7e8e4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8b7e8e4bd541dec10e098485453b6a08c758bb68)), closes [#485](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/485) +* **terms:** time based term activity ([df073ef](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/df073ef7947eb80dc35fe955b92e635881eb50fa)) +* **theses:** additional state explanation ([1e38734](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1e3873485e3da81b25dd0a0eb5aed7b9e0fe42b2)) +* **tokens:** multiple authorities ([bc47dcf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bc47dcf43f08fdc6e9b52dc205fbabea1893259f)) +* **tooltip:** added test warning to admin test page ([885efd3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/885efd364b5a59365b1594e33c5de8317e9f16fd)) +* **tooltips:** add auto unzip and multiFileField tooltips ([276dcb6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/276dcb6ad962b4ffca07e58b6231cebfaceb68c6)) +* **tooltips:** add option for inline tooltips ([0b2e931](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0b2e9319be2bec3546f2af2568b86ce39f114025)) +* **tooltips:** replace tooltips ([3b0e1d5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3b0e1d570d4000cf386def168400413fb0992753)) +* **tooltips:** tooltips from messages ([f85ab69](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f85ab69114f4947cf1b80469d3e75c2848bc8d5a)) +* **tou:** add english translation ([ce8b1a6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ce8b1a6c64a8f4f0e64f90367e23d0f85a7f1e8c)) +* **tou:** first stub of german tou ([74caeca](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/74caeca9676ae1c1a00fc22e16b6b47209499d88)) +* **tou:** implement Terms of Use (tou) route ([932cd5c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/932cd5cfdba309b1c70682c0f1731ac173298432)) +* **tou:** small fix in english translation ([aced70f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/aced70f8346cb9f2d4b7a58624dc865005f35a48)) +* **tou:** small fixes in german version ([246af70](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/246af702d2fc898fb012d448f36b9d509371a6f1)) +* **transaction-log:** more details about submission files ([b9cc5b9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b9cc5b9970cc0b1f61c9df03c54901d9d6e822d0)) +* **tutor tabel sorting:** dbt sorting tutors added ([b1787cd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b1787cd77e8a643accc0ef54cc18c87df215680c)) +* **tutorial-users:** replace study-fields column with qualifications column ([9850e1d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9850e1dd88a5371abe67fd5fb69458d7f52ea8e8)) +* **tutorial-users:** table action for granting qualifications ([fa0caba](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fa0caba55d05f080f5ed98b0b83dde3c6cebe7b7)) +* **tutorials:** delegate control to tutors ([261f3ed](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/261f3ed92f4ae689d0fbaf83a8070b619d3c2444)) +* use c++ library for json parsing from database ([f226751](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f22675189e19d1cce20362121ef8c8aebe3628f1)) +* use pandoc to convert html emails to markdown (plaintext) ([4879bb8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4879bb840482b6b81b0dee58a01f3f33c5c1c725)) +* **user-schools:** allow users to override automatic school assoc' ([7d927fd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7d927fdd5fe6e1e4abd315abf4b415c58f99e89b)) +* **user-schools:** automatically assign users to schools ([12067de](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/12067de2ff7e645f324ba266869d4ba1ca0ad064)) +* usergroups & metrics usergroup ([9204565](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9204565cac7b2c52f5d69ada066824e37ba6ae38)), closes [#538](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/538) +* **users-add:** add error message for users not found in avs ([e273c60](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e273c60a2325f75033d2393725ce7a25368821bf)) +* **users-add:** redirect to different routes depending on tutorial ([93c6853](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/93c6853b082a5d2195bb55cbf7b792d2f4307254)) +* **users-add:** upsert tutorial participants ([662445e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/662445e8cc92cf9f5815851d7e9d0b559cef289e)) +* **users:** allow customisation of displayed email address ([2f38278](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2f38278ab141ac4db7d16a4b6d990c58067b200e)), closes [#459](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/459) +* **users:** allow customisation of userDisplayName ([a85f317](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a85f317bf2de8c5038b406d6c5601d0ead8e4bd2)), closes [#346](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/346) +* **users:** allow users to set postal address and email encryption password ([655fcf7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/655fcf756471a2dfc6380e4b63236ca8d5229e11)) +* **users:** assimilation ([ef51c6e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ef51c6e7c34effa691125e4313876d95feda96af)) +* **users:** generalise UserLecturer and UserAdmin to UserFunction ([76f8da5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/76f8da52e0f532ef08df5ad649aa3d2bb24159f5)), closes [#320](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/320) +* **users:** ldap-synchronise arbitrary subsets of users ([0789536](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/07895368ddda85cf8d1ce9838d5cfe5db32c511d)) +* **users:** lecturer invitations ([e6c3be4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e6c3be4f7b1694420756ab194f0c607af427cfdd)) +* **users:** sex ([c2a8381](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c2a83812785e9f8f2ad948a551527df95e24d118)) +* **users:** store first names and titles ([ceed070](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ceed070e35f8ef4decc0afcfc338abbfdb8a46ac)) +* **users:** switching between AuthModes & password changing ([0d610cc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0d610ccf4459ab929d18ab7285dd080b51394ad2)) +* **util-registry:** ensure specific start ordering ([baf8b18](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/baf8b18dc3049559891647ab2ef43a23a982cbdb)), closes [#587](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/587) +* **util-registry:** more debug info for setup util instances ([00584f9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/00584f95901786ce211f64e1edcfeedab2299c45)) +* **utils:** throwLeftWith to facilitate ldap code ([8417eb5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8417eb57c9b8324cee81cbd16ff72f6039757a8e)) +* warnings about multiple terms/schools ([91e1bf9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/91e1bf99966655b0a8f7ab99d0ddebe5642c627b)) +* well known files ([068632b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/068632b11753f58e8142608db3dc139d0c84f93f)) +* **workflows:** add missing instances; correct Int64 workaround ([8b32ede](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8b32edee64509ca5a3d5fc206192d4fa43cc1971)) +* **workflows:** additional work on WorkflowWorkflowWorkflow ([5108e14](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5108e1494aa8b2bc8b383a349d1d2a4e0249501f)) +* **workflows:** create new workflow definitions ([4d63d30](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4d63d306347ed452822b6bea101cdf4391363ed1)) +* **workflows:** definition route stubs & i18n ([e3b5b93](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e3b5b93c71e49203e428382cfabb3d536f290cc4)) +* **workflows:** delete definitions ([bda4f81](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bda4f81702d94d81427a4980b217be8cae2b9152)) +* **workflows:** edge messages ([c22004e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c22004e1b2f3cd85297faaf41d76954c0625e308)) +* **workflows:** enum fields ([426c40f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/426c40f0a4f596804eca723e09894f9c5606af6e)) +* **workflows:** explanation text ([aba6737](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/aba673756e9e40057625c41da8b32d378e9b67c6)) +* **workflows:** further work on WorkflowWorkflowWorkflow ([5b897c7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5b897c7a42067d6a7918dc7bc9640b5c3d8a1367)) +* **workflows:** improve linter ([316097a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/316097a07ed89e40ecbf3dd8a7160eca95bd7a67)) +* **workflows:** initiate ([fd7c91f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fd7c91f5b8aa2645e0e072115d6a7da58323971a)) +* **workflows:** list & edit definitions ([ff370c6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ff370c68c735c492e8e588a8bb8e4055aa8cc0f4)) +* **workflows:** list involved users ([d8878a9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d8878a905e07f1b5fb5159ecdaf70f27e9c1dc37)) +* **workflows:** make admin or token sufficient for all roles ([7a7cd4d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7a7cd4d07c907611cf72e5ebe3ae41c3a401ef64)) +* **workflows:** new field CaptureDateTime ([5944a17](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5944a174bc8a749c60718b58d656f44cd21e7ecf)) +* **workflows:** node messages ([6a7a892](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6a7a892c74ad7da906a841fbfd031cca59174a8c)) +* **workflows:** placeholder handlers ([baea302](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/baea302e48dd6c603eebba7040923f0c23266f40)) +* **workflows:** prepare for admin-workflow-instance-edit ([ee6fecb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ee6fecb79e4807beceadd15f19e41393f7707135)) +* **workflows:** proper workflow-workflow-tables ([ac08846](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ac08846c267f20fa053e3bd73bea72b224b636c6)) +* **workflows:** replace pages with warning if turned off ([8634d20](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8634d20e2ad2d3746cf7b6111b91db9e57e4863b)) +* **workflows:** restrict day field wrt. current time ([b742731](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b7427315119843e6b2cebad4f6f420d57c2efaf0)) +* **workflows:** update instances from definitions ([32efdae](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/32efdae839b1a3e43ed4161d20e598964970f15e)) +* **workflows:** wire up ws-school ([82b3a63](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/82b3a6364c77c64a653e927cd0242d64ffcf9d2a)) +======= * **model:** separate user authentication data from User table; add ExternalAuth and InternalAuth models * **model:** move user authentication data to new ExternalUser model * **settings:** rename userdb app settings @@ -28,6 +801,362 @@ All notable changes to this project will be documented in this file. See [standa ### Bug Fixes +* **acs:** fix overzealous avs error catching resulting in unnecessary error messages ([fa5fd98](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fa5fd98619895191156d19a77897342e247c531e)) +* add missing do ([55319c8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/55319c8c5060a0d8763abb56c27d30e852c51f52)) +* add missing translations ([d798dc4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d798dc48be5dc182ac3acb9efe46f556a7e95d17)) +* **add-users:** fix and refactor confirm post param handling ([727d78c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/727d78cabc01e9f520b7140336bdacebc6188e2b)) +* **add-users:** fix confirm secret field decoding ([57c9535](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/57c9535733b9ca2888a01d940a4a8888ca342c97)) +* **add-users:** fix typo in message ([5e02c99](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5e02c99c44783672a66f2562bc92d14287b0ff48)) +* added check in async table and removeddebug log output ([f807e2a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f807e2af78aa0d1d135990d764df9da89a0e61d0)) +* added uw-enter-as-tab to CCommR subject field ([93a829b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/93a829b81b45639b0841bac72dc57416b50ef01c)) +* **admin-tokens:** avoid option none ([af3ec98](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/af3ec98de512f72220d363b9dd0c06532ae1a960)) +* **admin-workflows:** fix workflow definition descriptions forms ([f9d933b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f9d933bdacaf21618da9dc74e7bd6bea5e369aa7)) +* **admin:** minor fixes and translations for admin problem page ([30fae33](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/30fae33dedb1501e570e9edca288fea3c84ac84a)) +* **aform:** show info about required fields in all aforms ([63f6d01](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/63f6d016191fd1529ad7545b795bd4d174e6586a)), closes [#418](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/418) +* **allocation-list:** fix default sorting ([9eff3cf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9eff3cfa10806f90d655fb32f72116e30020afab)) +* **allocation-list:** fix sorting ([33d9bac](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/33d9bacc8aa3e412e88251a76a389d19fd148210)) +* **allocation:** don't restart cloneCount when allocating successors ([e1c6fd4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e1c6fd43b807abd3126b7ae8b948f585416f883c)) +* **allocation:** fix allocation-results notifications ([ed700a3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ed700a34295525cb760d3afa975238171fbaeda5)) +* **allocations:** better explain capped allocation bounds ([a890e34](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a890e346c8f76fb2fb9467910085d4d41a40b7d8)) +* **allocations:** better handle participants without applications ([05d37fb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/05d37fbc0ce4edd737b86b6c7646bcd16dbf1746)) +* **allocations:** don't show all allocation information to lecturers ([ad6c503](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ad6c503ef56a97fc8210e06a1c4dd9e0c19ae949)) +* **allocations:** fix allocation-course-accept-substitutes ([b4df980](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b4df98069982752e36e69571f5557a6179b44cff)) +* **allocations:** fix behaviour of "active" dbTable-filter ([b694a09](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b694a093d56c034df69be4805c76a84155871165)) +* **allocations:** fix result notifications ([bb6703d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bb6703de47cfca156be4e763a3cf5c32ec27f389)) +* **allocations:** notify for new course upon registration ([9e0b43a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9e0b43a60d26a05f6e1b9d4dae2b2f75dd52fff1)) +* **allocations:** show assignment green ([9d62b3a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9d62b3a79e7566cb2d32f8e4147a2237146a0c3a)) +* **allocations:** work around yesod weirdness wrt "none" ([4a731ec](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4a731eca4e69b5ee080f229a602e76f5ae165c64)) +* allow deregistering from full courses ([d7e1e67](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d7e1e671abd7504556f977d26de0af6ea2d56444)) +* **apc:** apc cannot distinguish ij from ji, partial fix only. Needs new font ([b4ba0a3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b4ba0a30dc7c513bb9e3c567ca771d5d75de4343)) +* apply margin-left to both ol und ul ([c0d319e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c0d319e0fde393f543da5ee585e1e89802188ecf)) +* **arc:** actually invalidate ([ef4734e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ef4734ebb671d9ef19c284a4c5cc9412d6e62874)) +* **arc:** reduce lock contention ([1be391f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1be391f5f5bf2588939fea92809dd629c0a69d99)) +* **assign correctors:** also show names of unenlisted correctors ([de49a77](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/de49a777ebc31463893555720ffc2d07cb618ab5)) +* **assign-submissions:** avoid division by zero ([640326c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/640326ca5de12c21f87fe728bde69c21d8444320)) +* async table js util now knows current random css prefix ([cc90faf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cc90faf7320de85fe9ace1b4b9dfc36f4f53fd14)) +* **async-table:** bind callback in updateTableFrom call ([cd3e72c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cd3e72c0f1389a80786df1f4e2433a2152cf3d55)) +* **async-table:** fix condition for uw-async-table class ([9a87730](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9a87730517f019987f8dbd93e7496c7b8c459758)) +* **async-table:** update legacy call to datepicker ([d56e12d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d56e12d2070ea81f0f082df5b30914234cdda3c1)) +* **async-table:** uw-async-table instead of .uw-async-table ([a5d9bfc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a5d9bfc1a29ca7b6bfd3c20ba157e563e9f21e36)) +* **audit:** add missing submission edit ([537e66e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/537e66e4877027b858d6ecc55d12ee40e87928b7)) +* **auth-caching:** submission-group ([896bd41](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/896bd41e3b415283cce16cb84a8219b8d4c1702c)) +* **auth:** authorize exam offices by school ([946a42b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/946a42b7f01016652d03dd214fdf2bc7202ab8ab)) +* **auth:** fix infinite auth loop for workflow files ([21cf6cf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/21cf6cfa873b841c2f9f8ab9f69c08ea72fc2420)) +* **authorisation:** inverted logic for empty ([65814c0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/65814c005e2637bb5f6347bf1f35133654538e7a)) +* **authorisation:** keep showing allocations (ro) to lecturers ([c8e1d51](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c8e1d51e252e037daa72aaf058239091694af74a)) +* **authorization:** have AllocationTime consider ParticipantState ([b69481e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b69481e88fb20890b4ece7a0023dcfdad21604d6)) +* **authorship-statements:** resolve exam-part to exam properly ([3a2d031](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3a2d031bb5f5b4d6e5df06f8ec82957a1bc81a72)) +* **auth:** prettier active directory errors in help messages ([b631ed7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b631ed7d0620748fd833c4cda4b421dc147d0906)) +* **auth:** properly restrict various auth by school ([6f04a6b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6f04a6b693e99b573efcc94023dab0be4d6d83bb)) +* **auth:** tutors may see sheet list ([e0c05f3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e0c05f39d4c162dc793745325b69807a59df0c5e)) +* **auth:** wrong caching for external-exam-staff ([9d1f1c6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9d1f1c691085ec65ad0f19cc51602a59ee133fc4)) +* avoid subSelectForeign join issues ([576fccb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/576fccb5222a5dbd19db69f142a39b4155b7486d)) +* **avs:** attempt to fix avs background jobs ([bbaa42e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bbaa42eefaaae88982b091973adb295cdc0e80ff)) +* **avs:** avs background synchs and lms userlist result no longer block handler ([0beb0e4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0beb0e4011745ea51906e018c53548bb2f6d978e)) +* **avs:** background avs synch yielding undefined due to wrong monad ([2e59d3c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2e59d3c2ea4d5017be9b4e578b7da12c4da0e2fa)) +* **avs:** background synch was only triggerd by manual synchs ([48ef25a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/48ef25aa8ffbbd96c1578ae85b76f090d9042595)) +* **avs:** chunk avs status query automatically ([352ee21](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/352ee215b4075c70dbf9229434e62c8e6d847ae4)) +* **avs:** eliminate call to undefined in Esqueleto.Internals ([240c6f8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/240c6f81f81d1872317da01411fa67ec97e3b16d)) +* **avs:** fix [#7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/7) by sequencing avs background jobs one after another ([6dc3d8d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6dc3d8d059e132d19c119c5f1de906342fdf6d2c)) +* **avs:** fix tests (do not exit with failure on empty avs config) ([89aff47](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/89aff471528ad9002e309d50d706a412b7e67eb6)) +* **avs:** import avs users without ldap entry ([850c52b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/850c52b496a28b6ecced6cb1275a6cf7705ec2cf)) +* **avs:** incomplete config throws error ([1d3c278](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1d3c27868277c28350dfb087802bc1f7c6732aeb)) +* **avs:** normalize internal personal numbers between LDAP and AVS ([b20008d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b20008d3bcb730ff76a76ce2928364e6ce9e7c35)) +* **avs:** preserve unset pin passwords in update ([8c4f848](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8c4f848675e1125547d1fdfa05560affe4794118)) +* **avs:** strip trailing whitespace from avs names upon import only ([d47e8c4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d47e8c4909f0f8a7a3f84b8beae4b5d4e223dcff)) +* **avs:** update names from avs too ([e2a8fee](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e2a8feee3b186881fb2b323ed9fd9e0cc93787c8)) +* better concurrency behaviour ([a0392dd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a0392dd329c871ed855ee832ee97230d9c72d59e)) +* better pathPieceJoined ([adcd5d5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/adcd5d5aee3d541fbf65a532b81d86f236575b7b)) +* better translation for "exam office" ([edbdceb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/edbdceb74847f79cda0fd8087e2441a0eff3952e)) +* **block:** negate condition to test ([9cf7f39](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9cf7f3965aa95f0b8f2a1574dbad90c0257edafd)) +* broken dom ([02e8825](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/02e8825cbaad54b8a0b5a8e2bde25268488c5311)) +* build ([7c86293](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7c8629300529d18554aac0cd66cf6bb13814337e)) +* build ([071df90](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/071df906da6c41afa226f944a90c2f294eeba243)) +* build ([9fd95d1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9fd95d181c498d460eaf30436ff110f7c1f9413e)) +* build ([5c709f1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5c709f1bbb077d981fbd5d59e9c0f30cddbb468d)) +* build ([cf33f0a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cf33f0af84166b040de4b9a685a58d9884bc67f8)) +* build ([68b8b45](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/68b8b458b1e02ec992df811cca2cda08a2f77d9a)) +* build ([6322fd4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6322fd449bd83edf2e1909b95c6aa4c795d49a54)) +* build ([b1641ad](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b1641ad57e036c33d12cc9002f2355231676f9d1)) +* build ([43bb0ab](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/43bb0abe7218f6d43b52d9a64e62f0dc29b9972e)) +* build ([23a21b9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/23a21b905c902bea5fe88abd84da600e757a194e)) +* build ([fa61b46](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fa61b46d308753354623df17241b5312f324321e)) +* build ([7147bb4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7147bb478db7ac039afd2004c9300304b1aa94ea)) +* build ([5684213](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/56842134d3d68c22ee875cca18cd05f31087f83e)) +* build ([f92e555](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f92e555de2555a030f1b52859f56181ac54ba78d)) +* **build:** accepting linter suggestions ([d25dd64](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d25dd64eec0a75b8d0e53795341088835f34fd85)) +* **build:** add missing file ([1fd24f6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1fd24f608dc9202fa98f52f7908f4be908a18efc)) +* **build:** add some guards at calls to (%) for issue [#34](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/34) ([d8d75ed](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d8d75edafef3af6886de3048a566fb85419c1aab)) +* **build:** bump version numbers for containers ([6678ddc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6678ddcf1aef920e2b04a491f086ac721cae07c9)) +* **build:** empty avs config is ignored again ([1720e12](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1720e1229df80b0fe6cbecdef1cc0b5ce7d7c65a)) +* **build:** fix botched merge in fill ([fb5cd55](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fb5cd5558c7db634497f2b7d97489fc023ce59d6)) +* **build:** fix build ([49dc413](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/49dc4139cf900ae3b46c5946fb38ef6cad7d5cab)) +* **build:** fix frontend vulnerability ([c2e3693](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c2e3693490c5ac870df7b701dc9499dfa69228b7)) +* **build:** fix whitespace in routes ([a24e44e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a24e44efc9a20d3934d96640bb9e21b3b6d55b96)) +* **build:** hlint did not like unnecessary monadic code ([acb52c5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/acb52c51f429b35f91c9c8a491af6b353c9b5e75)) +* **build:** linter complains ([ac57b1c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ac57b1cd32909c8314f3a3b15431d280911af643)) +* **build:** major qualfication block quirks fixed ([ab48e40](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ab48e40ac7e5024b7847b3995e6ae16d1c401c60)) +* **build:** merge ci/cd changes from gitlab ([30d5af0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/30d5af00bfe6cf946ecbc489726212178c2b794a)) +* **build:** minor ([954a239](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/954a23936a35ea6c32247d7e191312e63888c12d)) +* **build:** minor ([f9930f2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f9930f2a00d1e0f0af9b7f2af7c387bcc09cef5a)) +* **build:** minor errors firm handler ([06bb44c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/06bb44cf715375b5dd0141a46f8e10924ad6cd9c)) +* **build:** minor move parenthesis to make linter happy ([02bf1d9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/02bf1d9a2ca433e55cf7d1e06f0ff300b53c7efb)) +* **build:** no change, just retry merge pipeline ([9e156f4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9e156f407d00c85ec5212ca08b4efb446ddee8b0)) +* **build:** package-lock.json changed somehow see issue [#18](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/18) ([3caf0d5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3caf0d55f75d43b7a25a32b0383ab66022cd9fc3)) +* **build:** prevent migration on non-existing table ([5bb49cd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5bb49cd88941e510a50759efaad88690f841ca47)) +* **build:** reactivate optimisations and llvm backend ([172181f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/172181f1c6d7673de5422374ba5738c3eb4f7983)) +* **build:** reduce container size by removing LaTeX, Pandoc ([d5a2dd0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d5a2dd07fc7465a3745f48ad706f0994e5142751)) +* **build:** redundant parenthesis ([50eda5f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/50eda5f65f7394fe519546609fe748490cb4dd72)) +* **build:** refix test commits somehow ([34ada53](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/34ada53de0cc5804468791854e824b730fcc84de)) +* **build:** remove impossible ([90b38ca](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/90b38ca5dc319f2d175978242b2fdd4477568a3c)) +* **build:** remove obsolete import ([a5d5d8d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a5d5d8dbd668c6c35019ce14e8b5e59f5374bf80)) +* **build:** remove redundant constraints ([ea82d75](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ea82d75a0934f8e13f26af5cb8a06c11d32dc0c5)) +* **build:** remove redundant import ([a35341d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a35341d4b77bb564bd026073915b986eacd65bd8)) +* **build:** remove tests for workflows ([bb696d0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bb696d0332839f0f95c940c56db6249585ba65fa)) +* **build:** remove traces of wflint for removed workflows ([3a089d9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3a089d957b7af5149fd132ba8e0c791d93f83ac4)) +* **build:** revert nix flake config to obtain container ([99b6724](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/99b672483a2e0ead889693c4460aa1b2864c11ec)) +* **build:** schools.model examDiscouragedModes default contained whitespace, which is not allowed ([9ee7ec8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9ee7ec8d7ab74832d10b6384490b9d20263f49b9)) +* **build:** tests were overzealous ([ed3ca8c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ed3ca8c3d6949c22a3918f3b1832ea06e1300cf7)) +* **build:** update frontend hash ([74c361d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/74c361d7dec8f93863d1b0e91f89cbd3f646777e)) +* **build:** Update ParticipantInvite.hs ([f888da3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f888da3ab0df45bb3c515ebb7cbb43569fdaa1fa)) +* **build:** Update ParticipantInvite.hs ([fa4f9b2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fa4f9b24475261afc1e534541c8878a85e6a1b10)) +* **build:** Update Utils.hs ([87f0b2e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/87f0b2edab2bcf696b7b776e47272ef2204c0b75)) +* **build:** user basic texlive package with required packages only ([cba748e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cba748e94e69e1839432d33d81fa81d4159fd76f)) +* **build:** v2 ([ac77aa1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ac77aa176a3c3977c4a802e5ed534fa2850528fe)) +* **build:** weird build error, probably whitespace in routes ([11cc45a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/11cc45aacf0546a24498b01a896aa58fd28150a0)) +* **build:** while the blank is necessary to prevent unnecessary migrations, it is not allowed either, see [#133](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/133) ([a4b2af7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a4b2af7f157444ead8c9df989741b266f7c2b4f2)) +* bump changelog ([60a7bb2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/60a7bb2b194e47e924f56d9f461f07e17cea3f5e)) +* bump changelog & translate ([a75f3eb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a75f3eb2f14d3a392294fc85b0fcc1efbd75dbd1)) +* buttons know about ALL actions from other buttons ([11664dc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/11664dcd82c13eef1c395e2e590c4fb0c587aa65)) +* **cache:** atomicity & workflow instance invalidations ([ef7fde9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ef7fde937ebf1bc31e3706fba1da166bb82133c5)) +* **cache:** remove risky caching for submissions ([4ae59fc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4ae59fc1fa658e1462139ddddd6dc80308d85872)) +* **campus-auth:** properly handle login failures ([ec42d83](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ec42d834ee627401849910c44ed18ee696c8fc76)) +* **campus-login:** add i18n for ident placeholder ([692e533](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/692e533da0380337838c63e32370fde060905ac7)), closes [#417](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/417) +* **campus:** fix corner case with study features ([76098cc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/76098cc3c84e1e51cfadc381347aae483d62dbeb)) +* changed DEBUG_MODE back ([cc63f63](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cc63f636e928c9071bbc3208b77aa20d88800a17)) +* changed enter to tab behavior in CCommR ([7aeb8e6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7aeb8e61f46dcc5c918df20450df2fdf1d10f217)) +* changed keypress to keydown. ([9288e5c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9288e5c203a88368ec853ba7001290df87069fc6)) +* **changelog:** add date ([52a88f8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/52a88f8fadcc6a115a569842197fa0b06367c368)) +* **changelog:** try not to crash on unknown changelog items ([850c8d4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/850c8d4dae47489e0dbf0eb46276eaf0002bf123)) +* **changelog:** update changelog ([fa5358a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fa5358a91da997d041be6110b7a0482886dfe52f)) +* check if number of relevant user is >0 to prevent crash ([317b95b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/317b95be317ea038ad9fa398fc0c0c456b53495d)) +* check space of occurrences after ignoring ([fabf56c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fabf56c1640c94f806d43aaca264100cbc39b840)) +* **check-all:** fix column collection ([9935efe](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9935efe96689e8208630523424f1eba285b77db0)) +* **cicd:** remove wflint step, update .gitlab-ci.yml file ([a07c66c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a07c66c5ab622b6c80e28e056f3e5b73da317198)) +* **communication:** make communication form more intuitive ([7a2b972](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7a2b972f9f78817688b344ac269ba99694f0854a)), closes [#387](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/387) +* configure sessions to be strictly same-site ([a7e64bc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a7e64bce7b3961c05e568d365381097e9239a7fb)) +* correct (switch) sheetHint and sheetSolution mail templates ([d6f0d28](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d6f0d28a1fe7f9b3b01a05d177c1e604e893fa8f)) +* correct rebase-sourced error ([02589e4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/02589e4d00de233d847d6be71e44f9fc451fbfe9)) +* **correction assignment:** correcting lecturer's names are shown now ([16c556b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/16c556b852501a5e6c88094556f5054c4d4f352b)) +* **correction-upload:** better error messages wrt rating files ([8bb3bc5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8bb3bc50a24664d7a9425e83822c19592cd35056)) +* **correction:** comment column made wide in online correction form ([d83b1f6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d83b1f696f0ebdc631bd460e87c762d16fbc3ade)), closes [#373](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/373) +* **corrections-grade-r:** add get following post ([14f9ab6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/14f9ab6a31147290ca5e6d446baf641ddc317f40)), closes [#532](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/532) +* **corrections-grade:** fix inFix ([2c2dd8d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2c2dd8d3ff3334df675972bafc367349e13d7ef5)) +* **corrections-overview:** behavioural fixes ([e10cfe9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e10cfe9c581e7b3b9ca93aced2293592a57ac78b)) +* **corrections-r:** allow filtering by matriculation ([1b6b781](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1b6b781e82c39bc29c8984c587ac836f0da77a02)) +* **corrections:** properly link corrector emails ([9385595](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/93855957e62b7764f001a83a77419fdeb465326b)) +* correctly apply suggestion ([67d6fd7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/67d6fd7d438a31b50e6f4e6e921873ee11b32e9c)) +* correctly calculate maximum user name length ([cd07a56](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cd07a56a9fd3ee99b74e5304581574671e3689a0)) +* correctly handle original minimizeRooms-flag ([d5bd504](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d5bd5042ad920b26df847845cc437c3f0616575c)) +* correctly report NoUsers for ExamRoomRandom ([16cbc78](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/16cbc78878615a8d123de5d8fda11136685a824c)) +* **corrector assignment:** sheet tabel mixed up columns sorted ([d07f53e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d07f53e1d8db10407d26d4fdd6e7c4c8a34b973d)) +* **corrector handling:** show correctors by a consistent order ([9c5ed5f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9c5ed5f8424b36723e4ef483b85db305e7c6cfa9)) +* **course and exam registration:** distinguish registrations buttons ([ad825b6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ad825b66b80dc6676c2f881f70630ac293162aec)), closes [#416](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/416) +* **course list:** show complete registration span ([754d6ca](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/754d6caa1ba056de70ba5fa868a1a4f3976876f9)), closes [#446](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/446) +* **course-application:** better display of priorities ([64f7715](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/64f771518ede9e1b11aaeeaaeb3a2e7d449a13ed)) +* **course-applications-csv:** record rating time ([c2c6974](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c2c6974a7700e4d9bad92c4477f64ad2b1eed5a2)) +* **course-deregister:** only delete relevant users exam results ([3997857](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/39978574feff5c1a761f84ab4e040dd53cc7f739)) +* **course-deregistration:** fix check on exam registration ([0b8c30f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0b8c30f534eb07d75fce44b16d5af68f4ab41863)) +* **course-edit:** additional permission checks wrt allocations ([fca5caa](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fca5caaa3137f3e8a11d76fbacf4d0ed0f1b78dd)) +* **course-edit:** edit courses without being school-wide lecturer ([d7d1f27](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d7d1f273036a2dba5113c04319cdf075fbdb829c)), closes [#464](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/464) +* **course-edit:** expand rights of allocation admins ([7f2dd78](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7f2dd7808ebca01a2e2b857b67d8ebcbd12492b9)) +* **course-edit:** improve instructions ([9d53730](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9d537307c23f5385effd359b26cfd695102dd955)) +* **course-edit:** only show allocation error message when relevant ([00a6ca8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/00a6ca83bcc096075b65a70cf18860c1d7bf5a6b)) +* **course-edit:** show old allocation ([fc53497](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fc53497aa330e50dc6c61a864cd417e0bb0c5b30)), closes [#450](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/450) +* **course-news:** fix permissions ([9e5fde9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9e5fde902724ad50a8b79519a798f53c6945e786)) +* **course-news:** prevent display of edit-functions unless auth'ed ([89cc9ad](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/89cc9ad35e34d2938746b4ef5b86c8473417988b)) +* **course-register:** swapped warning message ([32c0605](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/32c060575ce4d17430b7dc6432da1cb6b138dcb9)) +* **course-show:** show display-email for correctors & tutors ([a2e3699](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a2e36995ea4699718ef88f7b9ecda8e8264a9fd0)) +* **course-teaser-css:** class name fixes ([8a92985](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8a92985e16f569f6478c06772e6d89f5f4b78590)) +* **course-teaser:** don't collapse unless chevron is clicked ([fca99be](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fca99bebe63b6e63c4597d7becb2e273ec40260d)) +* **course-user:** handle allocations when deregistering single users ([ef5bb70](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ef5bb70b652a739db4eefc5e663f804414a43ce8)) +* **course-users:** add missing dbt sorting ([1bc14c9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1bc14c9e19c5c165c735f9c3d00062fb1dcf6077)) +* **course-users:** deregistration w/ allocation & w/o reason ([4f237e1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4f237e19682d489bdfc87ee6a1b18dac7eb99bfa)) +* **course-users:** insertUnique and only count and audit true inserts ([1325ff2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1325ff2a95d75c6fc1cb9f1f2eb4d1e464aa34ad)) +* **course-visibility:** (more) correct visibility check for favourites ([796a806](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/796a8066aaac4d4c2789b65563672fff0d07dfe5)) +* **course-visibility:** account for active auth tags everywhere ([c99433c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c99433c291bda25b45bf0c36ca8469324a71202e)) +* **course-visibility:** allow access for admin-like roles ([7569195](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7569195c8b26c02eeea85aa95e7c3952041b4e98)) +* **course-visibility:** allow deregistration from invisible courses ([29da6e2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/29da6e2ac51b0dd2e02fb114f5b5db75a4f0da30)) +* **course-visibility:** allow for caching Nothing results of getBy ([f129ce6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f129ce6b2b12e4cfe856f1de728873868c7a0bba)) +* **course-visibility:** check for mayEdit on course list ([b1d0893](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b1d08939930c56fdc0efaf0e133a5feffa1cee64)) +* **course-visibility:** correctly count courses on AllocationListR ([7530287](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/753028778833ea9972d37c973fe1f339512774e8)) +* **course-visibility:** fix favourites ([1ac3c08](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1ac3c08d01056e0d4b8c7f740ebd78eb19bc73a7)) +* **course-visibility:** rework routes ([7ce60a3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7ce60a36f4c28ef6d4ff6f93015444dc62ff27d5)) +* **course-visibility:** show icon to lecturers only ([cbb8e72](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cbb8e7217d2ec256fff0b09eed1665c7f7d30c1b)) +* **course-visibility:** visibility for admin-like users ([43f625b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/43f625ba0c009519f7e37b833e33a99f1ac97069)) +* **course:** add links between users & applications ([edaca1b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/edaca1b394b2eb624f4c2bedd4fcc7ef91b5c4f6)) +* **course:** better explanation for material access ([78c5bc5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/78c5bc5258c9305deafac18b010dc6a41e5ea864)) +* **course:** don't delete applications when deregistering ([b666408](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b6664089f75dcb3b2c89dbd2941c064e8aa86404)), closes [#648](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/648) +* **course:** fix [#28](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/28) by allowing course deletion with inactive participants only ([9dfd91b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9dfd91b2f864424cf940259890afb8bf8cb0fdcf)) +* **course:** grant qualifications now issues and unblocks ([5d8d8cf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5d8d8cf17e634ecb950a1c329c859fb93f94ef77)) +* **courses:** better defaults for application/registration ([1c2c8fe](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1c2c8fe3d99176e079d0473dd45039b44128c491)) +* **cron-exec:** consider lastExec before executing job ([43833db](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/43833db3e110cad1224ee9599992cec64f24b8a4)) +* **cron:** consider scheduling precision in all time comparisons ([4ded04b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4ded04b80df94a4655af52b64cbcd156394286fd)) +* **cron:** disallow jobs executing twice within scheduling precision ([bc74c9e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bc74c9ef10d8d5e115679f9b1ac43ea69030dd8e)) +* **cron:** time out sheet notifications ([d5a897c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d5a897c020cb0e6ef05a85a4f683210ce7c44069)) +* **cron:** work around extraneous sheet notifications ([cbe211b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cbe211bf2377a3c41644000f562c2dc353aac01c)) +* csp-sandbox downloads ([50cbba1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/50cbba114a850469ed6893e697d0c329c8e894e0)) +* **csv exam import:** ignore unchanged noshow and voided ([a346524](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a3465240731423e3ea5d7f85f8f8c73935166b76)) +* **csv import:** csv import preview help text adjusted ([b7321df](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b7321dfbc54eb58e405ceebd9150683aa23095de)) +* **csv import:** fix spelling and expand help text ([2c57a77](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2c57a77316e41bdac940747111009fa2f9b7d43d)) +* **csv upload exams:** allow ambiguous harmless study fields ([7d2937c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7d2937c71df50e2fdd1346629d2fc1ca0016cf57)) +* **csv-export:** mime confusion ([8bdaae0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8bdaae0881fe98c4c5f69f1332ac2ffb0ca83081)) +* **csv-import:** fix incorrect map merge ([0d283fd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0d283fd9e5ebfd2cabfc70eecd9d53fc1fc87e31)) +* **csv-import:** major usability improvements ([2dc6641](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2dc6641e68f73f048ee9187e1f6ccd924870577f)) +* **csv:** ignore empty lines ([211ff5e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/211ff5eacc83bb47e564dd88e11bc18ae7e0a6af)) +* **csv:** less quoting in semicolon separated lists ([42f1eab](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/42f1eabb2c984a7d30ea8b90710c68aff8af9f97)) +* **cvs:** export company in e-learning view ([2093cf5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2093cf501827ab2305f26ab5cf742f2b0be4a7de)) +* date formatting ([0af3b87](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0af3b87a474544231f8c277ed2fdb421aabfe86a)) +* **datepicker:** close datepickers on focus loss ([3f9ca5e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3f9ca5e230f0d8b5f83b5fc35c18fca6afcae6f7)) +* **datepicker:** close datepickers on focusout or click outside ([7fa0124](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7fa0124fe25a53caa07c478e157dace3c4f2a6ee)) +* **datepicker:** close on focusout of elements in document only ([ee0edc7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ee0edc7d21393e217f88486be56a9d79f542a510)) +* **datepicker:** fix for empty or browser-filled inputs ([3c24e5f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3c24e5f187a2d516948b9f11c8b46fd8dd111b33)) +* **datepicker:** fix selecting date from manual input in internal format ([8bdcc92](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8bdcc9254ef681e0d6061cb69f8c48d392384351)) +* **datepicker:** fixes [#456](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/456) ([613426b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/613426b27459a84fc7ea9c8e85a729ba4a43e625)) +* **datepicker:** format time on copy paste as well ([99d9efa](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/99d9efa9465f68d55fdbc276207987b7289302bd)) +* **datepicker:** handle output format when reformatting ([09622bd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/09622bdb12c08957d750121fbd8b9d1f1631530d)) +* **datepicker:** hide number input spinners in datepicker ([2073130](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2073130867ffa10c3f9469643355b8dfb67fa413)) +* **datepicker:** increase datepicker z-index in modals ([593a6a7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/593a6a72d2750135dbe6348b53f48b18db6032b5)) +* **datepicker:** insert datepicker after the form ([b590995](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b5909950930b1bff36d5834d5fc8f9e6ca65d0e6)) +* **datepicker:** manually add scroll offset based on scroll target ([3ecf834](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3ecf834756bb6b12fe8c335370b9988a2d8e4ab0)) +* **datepicker:** no manual positioning; update tail.datetime ([3cd71d6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3cd71d6b197428729d2bf7bede676df855eafef3)) +* **datepicker:** partial focusout and click fix ([434c0da](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/434c0daa239dc6d502f55be39783edd75c96703e)) +* **datepicker:** quickfix to fix datepicker position in modals ([3f9454a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3f9454a7ef4ff2303827b692c52151d07a96c67d)) +* **datepicker:** removes idle cancel and submit buttons ([805676f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/805676f2b9141318e488cbb2509346dcd23715eb)) +* **datepicker:** select time from preselected date on edit ([d3375bb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d3375bb2c150611e891d883674831ede574ad346)) +* **datepicker:** workaround for new Date(..) inconsistency ([d24ebf8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d24ebf81455aa049a1c621d3e3c06befd08c45a2)) +* **datetime:** remove redundant constraints ([9258ba7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9258ba766577a4a573ab70f87bdaaa38ad674ea6)) +* **db:** migration qualification block ([3d59527](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3d595271d979f29ed8bbc546f495e5ad1deae5ca)) +* **db:** prevent superfluous migrations ([b73557a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b73557a1eee4315911c6369032447f8d1836d964)) +* **dbtable-ui:** fix position of submit button for pagesize ([cf35118](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cf351180dcaa39a3af69f26291af6dc058dce01a)) +* **dbtable:** calculate height of header correctly ([5659f2d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5659f2df1e6ea473794075d85f2a43fc1037fce9)), closes [#634](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/634) +* **dbtable:** fix pagination bug ([b43f236](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b43f2364bbb4d9fdf8f3d4c2540246cf16a6be7a)) +* **dbtable:** improve sorting for haskell+sql ([fd8255d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fd8255de8ca5f3e8f9faa9170a45297ea021c9d5)) +* **deletion:** fix usage of deleteR from POST handler ([c87c9c1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c87c9c13d1e1ab1957d59467ae0e97a5dd8ee1a1)) +* design tweaks ([18ae758](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/18ae75890a83d82f49343778d18185258e1985a4)) +* design tweaks ([68eb448](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/68eb44884ebeec8a48ac962c53bf7c2d813cd3a9)) +* **displayable:** fixed faulty display of db keys (SchoolId, TermId) ([c7312e8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c7312e8ec662eea25dd7f8d6ff36c28af890ec59)) +* divide by zero ([674b949](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/674b94938812e93958e991367c261337fe64f2f6)) +* do not add async-table class to empty tables ([b8e2911](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b8e2911e49c2880cd493f2df872f9c050cb5c570)) +* do not apply target link height fix on targets in tables ([e7ff384](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e7ff3846f2b758e6fa1c10a5157eef1747750d38)) +* **docker:** remove missing docker dependency ([1ac35e0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1ac35e0bf816ccdccaf984ee5fe28b329c9cb258)) +* don't set user-last-authentication during ldap sync ([fdaad16](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fdaad16e713e69a7b47f80a690a97d2ff5eb9986)) +* don't treat ExamBonusManual as override ([16abcd2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/16abcd2265136b63e28dbde252f44c94417d0aff)) +* **downloads:** do download links via redirect ([3ba41d8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3ba41d8f24b4358ad7a045eba0f630e1e2b67663)) +* **eecorrectr:** encrypt eeid ([5d9ca45](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5d9ca454fa5353009c33678e21d9f49bd45f6cc3)) +* **eecorrectr:** use default time ([3369155](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/33691556abd40041a1707e3f902cfcf5d513342d)) +* **eexamlistr:** allow access for users with exam results ([885de44](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/885de4403c0172b3e9c3b59c277628106a7e925b)) +* **email:** avoid sending to invalid email address ([71ccac0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/71ccac0dfe3e165f5ea674165f0cf2ed740b1c84)) +* **email:** better wording for qualifcation expired notice ([412c56e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/412c56e78ceaef263e4ca8b8678bb0e8ea2efb9a)) +* **email:** ensure sending to valid emails only ([3865afb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3865afbceb69f8941c25c814abf855b4b035201a)) +* **email:** instead of sender set reply-to only ([4c8f7e1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4c8f7e1267fe50196d664d733eb794ffaf55aa1c)) +* **email:** invert invalid email error indicator ([731d0ce](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/731d0ce7c70533039d4ef82e8eaf366368c69403)) +* **email:** reenable ldap logins with invalid email addresses (missing mail field problem) ([88a85bb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/88a85bb5b63470a0fb117a67cbf8c597c96f6904)) +* **email:** remove test for E#[@fraport](https://gitlab2.rz.ifi.lmu.de/fraport).de ([7c2226e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7c2226e138addc2154c58f98233d7c875d2ab0f9)) +* **email:** rename settings parameter and switch to safe default ([5aa096f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5aa096f56acb37269b681abafef67b8a375f4d64)) +* ensure termination for non-{'A'..'Z']-names ([873d5a0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/873d5a02adae8f33db349bd9de3c7bd49331d27f)) +* **errors:** better handling of errors from separated approots ([833b674](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/833b674c31ef3d4bf3b9b1af13201f33c98ef82f)) +* **exam add users:** correctly differentiate and fix messages ([a473599](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a47359997cd12a8a3053df5aa459c3f7d2c59cfd)) +* exam auto-occurrence by matriculation ([3ef10d9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3ef10d98a174ce6c9fb5e7aaf2f2642073ea65c9)) +* **exam grading keys:** Fix spacing ([24aacef](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/24aacef6af65d1c6c0cec53bd121abe1d889de2d)) +* **exam import:** inactive registered features may be selected ([3c4172c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3c4172cbc2abb8b692241cc7fe73b62384c92a94)) +* **exam participant download:** fix icon not being shown ([a075b16](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a075b1648eb9b49c37f8b6f228ae38e83baaf9fe)) +* **exam registration:** icons added to exam register message ([ce61528](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ce615287180976d24f24abd16ec8bac79a4a881d)) +* **exam-bonus:** avoid divide by zero if all sheets are bonus ([0fd7e86](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0fd7e86695f47047c9e4e1bb8efe9477103707ab)), closes [#671](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/671) +* **exam-bonus:** fix rounding ([854fa6b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/854fa6b968ed01d60dea0d9ba6fc93d37e5ec361)), closes [#672](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/672) +* **exam-correct:** add additional exam result td; table layout ([af32789](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/af3278912c960ad405a749ebd0bbd39c77f664a8)) +* **exam-correct:** add XSRF token to post header ([2fd996b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2fd996be220228807548bbebab6f9531335879d6)) +* **exam-correct:** add XSRF token to post header ([2b30461](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2b3046164f1c503dcd7fc558fce4fe8fc052c892)) +* **exam-correct:** also persist local time on non-success ([41a9539](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/41a9539c27c32a5a867173bd9295380c1d497b25)) +* **exam-correct:** also persist local time on non-success ([dcb79d4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/dcb79d4cb8c1cb96f0af61eeab57181cbe20063b)) +* **exam-correct:** correctly htmlify user on failure ([ef34755](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ef3475539b3c144da67399ed29eb3af22ee51eb1)) +* **exam-correct:** correctly htmlify user on failure ([595f46d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/595f46d860f3f893cdeb6618e361d533b5c90b5c)) +* **exam-correct:** cut off at maxPoints for now (TODO) ([af8d77c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/af8d77c4a4d97cdc66b7f2e09568c1481768aa73)) +* **exam-correct:** different values for examResult options ([aa794c0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/aa794c06e0f8819582d52f2089d26f8b781a718b)) +* **exam-correct:** fix addRow rowInfo ([88768eb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/88768eb1d184cc545da8a41566c893ea81a03c03)) +* **exam-correct:** fix addRow rowInfo ([792da22](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/792da2220466f9e6a880052613c35ea5246452cd)) +* **exam-correct:** fix attended values and submit on only exam-result ([df0aaca](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/df0aaca759aadeba718f02e946828ad55fdd07b7)) +* **exam-correct:** fix attributes in template ([62bf73a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/62bf73ac1f348e60767e7a687893d6ac1a397a0c)) +* **exam-correct:** fix attributes in template ([000f97c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/000f97c270577194c1e1d5c5adae1969db28b7ea)) +* **exam-correct:** fix hlint ([630194c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/630194c4c0f0c9bdacf7d7a2c10118b407bc9b21)) +* **exam-correct:** fix hlint ([c520918](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c520918eb350adcfc7fbda2b6edb6b8915cc8ea7)) +* **exam-correct:** fix request bodies ([0b186a5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0b186a5e1a76c2d593a596188a6432a44a796dc5)) +* **exam-correct:** fix result info and response handling ([cd479e2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cd479e2f0cedbc7e076d3768b919da7da8f769ba)) +* **exam-correct:** fix returning null if old and new results are equal ([968c6de](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/968c6defa676abf5705e9d3bdd62248f592e3298)) +* **exam-correct:** fix returning null if old and new results are equal ([2e7bca6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2e7bca6333deea697e98d4bd84a1aec6ef0c1f77)) +* **exam-correct:** fix usage for non-lecturer ([dd7fe84](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/dd7fe84ffdf89780cf1476e2697d2d5ed3e82222)) +* **exam-correct:** id on td instead of select ([1d0be2d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1d0be2d6828f1221110af71bee709612fc09f4b4)) +* **exam-correct:** reintroduce examResults ([f7136bc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f7136bca152ef455e6e6ce38c9cfaa39b213370d)) +* **exam-correct:** send correct results ([2ca56fb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2ca56fb8b1fc653e165611af9f7beb3653854f79)) +* **exam-correct:** temporarily disable exam results (WIP) ([533e748](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/533e7482c9baab10c6b82781f57e610f5ca45129)) +* **exam-csv:** audit registrations/deregistrations ([a278cc5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a278cc5048a3c15c393cca86ea12b3ea095ae65c)) +* **exam-form:** allow finished without start ([fbc3680](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fbc36806b13a7d674be3aa64a4c6491e8f051587)) +* **exam-form:** sort occurrences and parts ([6d47549](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6d475497c0caee49ad34c5c3c6e7b1bf91ca0ba2)) +* **exam-office:** better logic for isSynced ([cb9ff32](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cb9ff32063046871edd7fe84729d5ea175e132f0)) +* **exam-users:** don't crash when participant doesn't have bonus ([0fa910a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0fa910ae7c440b94a153fd48cf0585cd034fad4a)) +* **exam-users:** make csv import much more lenient ([2ddb566](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2ddb56640fd0b5ac6bc7757e03b1819007cabd3a)) +* **exam-users:** prevent exam results without registration via csv ([1c6ac4c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1c6ac4cb4a52ac7e69e615e0e3ff96432b173962)) +* examAutoOccurence no longer user >100% of a room ([eaf245b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/eaf245beaaa1f739d6b857712f1e4ea5b53e7c82)) +* **exam:** fix warning message ([60869fd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/60869fd4a0fdb3efd2565c3b02aa45fa0f9d4eb5)) +* **exams:** allow occurrences after exam end ([3d63b35](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3d63b355eb15daf858b554afe41932b117b00dd7)) +* **exams:** better behaviour for optional statements wrt school default ([fe78377](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fe78377fae8af7766f9720628aebef599656ed2f)) +* **exams:** change heading to rooms if no occurrence times are shown ([5cb9404](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5cb9404b7d2eaaf674a9f80ca323f052b2a1d3eb)) +* **exams:** cleanup exam interface ([05e7b52](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/05e7b52f08354b9a83d5db1be9c084955a8cba97)) +* **exams:** correctly treat school-mode optional as off by default ([ac86832](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ac86832b34a605e5d64d56ef08a871bf307347a8)) +* **exams:** default exam mode to Nothing ([4b459ea](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4b459ea1430a4947364562f1a9881596325696ad)) +* **exams:** don't show manual bonus as inconsistent ([fb54c84](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fb54c8445aa8b9762b6a8e2b4dd18ae379b80d2e)) +* **exams:** error messages for foreign key constraint violations ([ca29a66](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ca29a66330a977a1f28bbdbe9a733aef10371427)) +* **exams:** exam-auto-occurrence introduced spurious MappingSpecial ([a1d5479](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a1d547990df712f1866113dfeedc01d573d730c5)) +* **exams:** fix caculation of maximum exercise points ([a9e74ca](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a9e74ca4af31e6f392fc79ae30d2a771800828d3)) +* **exams:** fix form validation wrt non-empty statements ([0082135](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0082135c56b7fc0e5db3af6910f8365e12920c46)) +* **exams:** Fix registration ([1684da0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1684da07f2352f76df7cef3bd7b33aa32a8dda97)) +* **exams:** fixhance exam authship form section ([4109db6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4109db6f815fbb49c861177b3caecb98c2a963d8)) +* **exams:** include bonus points in sum for exam participants ([2bc6894](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2bc68946e379e7d29a85148017ca9fd14b01ab18)) +* **exams:** make examClosed a button ([530a8c6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/530a8c688e93ad25a5c4e3691cb64003e3a3676c)) +* **exams:** prefill with school authship statement in optional mode ([0cd8f4c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0cd8f4c02f383f43b5e3ea059cd3acd38595ab56)) +* **exams:** provide bonus information in return of examBonusGrade ([731231d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/731231d5eae5ab91361fec09686c2d1977ab9bae)) +* **exams:** remove deprecated/unnecessary form validation wrt. authship statements ([bf059a1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bf059a132094e53c3ef956582b5e13517e9c133d)) +* **exams:** set use-custom correctly if forced ([8bb6140](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8bb61401a77f20fcb35aa05401bf16285aad1d93)) +* **explained-selection-field:** support linebreak in titles ([627a2df](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/627a2df7adf41651e698d8cd9d632d066fc2f868)) +* **failover:** don't always record as failed ([16643b6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/16643b62447315362e25922f817b92c50d754a43)) +* fallback for determining user email ([6a1a256](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6a1a256cc2ee6928131422afea6a61017fd50272)) +* **faqs:** mention mail to set password ([32097d1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/32097d18f9d5411e1bf8a3923ad8f04dcc7b4c83)) +* **faqs:** wording ([02d284f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/02d284fb876af3256ef2bd82b92c40f3be36c446)) +* **favourites:** always move current course up ([56d89d7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/56d89d7f5840033985f1b053920ebe8a6fdc3dc7)) +* **favourites:** clear old favourites when changing max number ([92fb6f2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/92fb6f2270d06a8a6520be10cb58e8fad3d7ecda)) +* **fe-async-table:** Emulate no-js behaviour when handling pagesize ([28dcc8d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/28dcc8dc377c5a7c942daad7743f473208f5b99c)) +* **fe-check-all:** use arrow fn to keep scope in event listeners ([09e681e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/09e681eeb1ec77a1f8c263978322026683aae031)) +* **fe-deflist:** avoid horizontal scroll on pages with deflist ([16d422d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/16d422d9d82467ea6e6800bee5d1af06b7fe1d3b)) +* **fe-i18n-spec:** fix tests ([339fa39](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/339fa398b48eefd7b208ede9036a35795185725e)) +* **fe:** style notifications acceptably for now ([fc80f08](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fc80f087242201ddcf2509dbed1f6034dc5ea73e)) +* **file-jobs:** improve log messages ([e099e13](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e099e13816d2ca79cbcc6a84fe970052980c0feb)) +* **file-upload-form:** don't check case of file extensions ([6c49c50](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6c49c509ac6819bb2a46345b3f75c29ecae50e3b)) +* **file-upload:** fix inverted logic for when upload is required ([3868e8f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3868e8feaeb0ab7aa9cbdac46c0f80bee68b891a)) +* **file-upload:** size limitation was inverted ([de53c80](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/de53c80a1e715d0346ef2d28710b01dea16af905)) +* **files:** allow clobbering files during form submission ([a60ad1a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a60ad1abae341283b1342018f57f7fc736c239a6)) +* **files:** better configuration for file batch jobs ([3a90c88](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3a90c88b359f3e0cb0ed03df6e81b1532509ea48)) +* **files:** count personalised sheet files as alive ([e54b985](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e54b985815fbbc637d8f4681ac55b3d46e2263a3)) +* **files:** don't inject serializable ([2ca024b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2ca024b9351df800b57d3235c4a00776cd669952)) +* **files:** fix download of non-injected files ([ce54adc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ce54adce6b67f3de95d65d74ff62b36cccdba47e)) +* **fill:** correct term start day guessing ([538aa5b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/538aa5b3b9f0741e1dba80cd9e2ba70adfce1938)) +* **fill:** minor testdata fixes ([59a7e1c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/59a7e1ceb285412bd7e61cb79b4c9e64a2ecdc81)) +* filter submission by not having corrector ([3bded50](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3bded5071bf0e32a6d4df0dcc49f6039f283785e)) +* **firm:** add sql indices for frequent filters to greatly enhance performance ([63e6d94](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/63e6d94df2fd1ce879cb59d14bc854f3c2556586)) +* **firm:** firm messaging now works fine ([65cdc8d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/65cdc8ddfef19eb3a5578c536575f91ba9717a13)) +* **firm:** foreign supervisor counts correct and sortable ([601ce7a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/601ce7abdf2a392d30f1ff799a2338968be795f1)) +* **firm:** group multi select field supervisor ([fc0ca7b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fc0ca7b854a686cf395dadf81b7423e530fd26b8)) +* **firm:** improve supervisor filter by caching ([88f24fe](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/88f24fe6f199290a83af2d204ba9aa2a838d11b8)) +======= * **admin:** minor fixes and translations for admin problem page ([30fae33](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/30fae33dedb1501e570e9edca288fea3c84ac84a)) * **avs:** background synch was only triggerd by manual synchs ([48ef25a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/48ef25aa8ffbbd96c1578ae85b76f090d9042595)) * **avs:** preserve unset pin passwords in update ([8c4f848](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8c4f848675e1125547d1fdfa05560affe4794118)) @@ -50,6 +1179,461 @@ All notable changes to this project will be documented in this file. See [standa * **firm:** supervisor changes led to inconsistent DB ([1d3345c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1d3345cbba1cb65ee49c6f62e145750545439642)) * **firm:** supervisor filter ([3acb847](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3acb847915010d10358ea02000c231dbba7cba26)) * **firm:** supervisor filter performance ([db77850](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/db77850c4f4cd1d68bfd38e02e0ae24584e1e556)) +* fix .dual-heated.degenerate ([6058692](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/605869204fdf89d11b9dbd07edb02ab31a11cde5)) +* fix [#571](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/571) ([aefb7e0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/aefb7e0b426fb2319e098add3231fc5274aeccc4)) +* fix app frontend test ([49bafe1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/49bafe1276e13f0961e9d327b6506b97de39d079)) +* fix build ([69f4a80](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/69f4a80dc18c58e5980251d3932b469004abe8c1)) +* fix build ([d13ace4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d13ace4eddb581167544de5e5f788ab6d5836041)) +* fix build ([1a66716](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1a66716e8afee4b1f34785e0743590ee0cab0830)) +* fix build ([caf4092](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/caf4092d12ce1785bf153a372609f6d64b9c19cd)) +* fix build & minor refactor ([bb9b4f0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bb9b4f06ae135e9af8b3333b42e78ff38baab3d8)) +* fix collision with keyword "none" ([203dbd3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/203dbd3705717660cb2bef3a735eb10ce0085155)) +* fix course duplicate message & name -> title for courses ([d87e8b7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d87e8b7142d879eb0a5d320332e967e1c19a1b33)) +* fix creating new terms ([9676615](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9676615c55cbecce02dca95b01ad69c1a2455f1d)) +* fix form-notification styling ([0226593](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0226593450502165933529e926293031cbd620ee)) +* fix grid blowout on definition lists ([3cb3dcd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3cb3dcdc9b5e20bc4a64ac787773fdd22edc3580)) +* fix hlint ([e60aef4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e60aef4f8bbf4b81a66b4a8c4b6769744890f3f0)) +* fix hlint ([9ecffc8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9ecffc8d8c843441365e871a50fa74cfa36abd5c)) +* fix hlint ([37f0936](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/37f0936d91b59b66b8c261b0e25676d6ad1606c4)) +* fix i18n widget files ([e517a8e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e517a8e4701f2df2f1a39e3ed16db0e5e3393ea1)) +* fix merge ([d19cca6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d19cca6a400e41f8ac2733b474fbaa6cad2b48f6)) +* fix merge ([38afa90](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/38afa901bab462b889ea036f142022afe4b32498)) +* fix migration ([d2478a3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d2478a3657a483dccc6852544097709bd3aa1f30)) +* fix migration & tests ([e05ea8e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e05ea8ea8ccfa8a5bf0a97cf7d3273ba158938d2)) +* fix rendering of weekdays ([94b87a2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/94b87a2d0d0ca30477e0e63b2fcb4707ab1059c1)) +* fix startup on unix-socket ([39f1295](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/39f12957f55256db74960b47be3797e881c525b8)) +* fix tests ([a671937](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a671937868dd65c6a92ee58b9d47d296d502b0ea)) +* fix tutorial registration group applying globally ([d2ba173](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d2ba173776a6caa84ae53e6f87245205e344fa40)) +* fix webpack config ([50e4212](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/50e421222422d0d2a13c2284aaaa4cb10af922a6)) +* fix webpack config ([5393a55](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5393a55482db21b5cb04ae3774d0f97e37789a3c)) +* **form:** multiSelectField working with grouped options ([3aa8901](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3aa89019a8b4393da0eca715871a3793c1e3abb2)) +* **frontend:** fix typo in navigate-away-prompt ([061349e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/061349efb0ce65079e01ca9420b1c4eaabf731c2)) +* **frontend:** improve performance of table-related utils ([eff273b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/eff273bf090518d41ba46b8a52b91f20cf9d7074)), closes [#603](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/603) +* **generic-file-field:** allow .zip when doUnpack ([46e9908](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/46e99081d9bad67b42f09792ac12e8a5f7d72723)) +* **generic-file-field:** better explain extension restrictions ([342c64a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/342c64a93acd557f69c5953876391157f6193174)), closes [#509](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/509) +* **guess-user:** fix ldap-lookup condition and refactor ([ad4ae71](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ad4ae713c8c87c13616582389fda05a6dba8d962)) +* **haddock:** fix accidental haddock comments ([882ca7c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/882ca7c5828fbf42fa9d08a5cb545fc2fd8bbba5)) +* **haddock:** hoogle.sh fails on a comment, turned into normal comment ([c6264f7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c6264f75b4034c76168f07c2731af1b77ae8b16c)) +* **haddock:** merge haddock fix from master ([e6c4125](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e6c41250e8f9a8a75f6a1d76e7da36964adf1336)) +* handle rare cases where a mappingDescription with start>end would be produced ([c99d96e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c99d96ecb8a43400eb10dfe192bf751cb00a9d25)) +* have exam deregistration always delete stored grades ([24f428b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/24f428b13bb181bec99417b4e69fc538e35acbcf)) +* **health:** correct file path ([6214448](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/621444829e8c51e114f219285fb0ebc7a43a1829)) +* **health:** include compile time instead of version number ([8130eb6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8130eb6b7f6a14be6fa6bbab73eb47622736e28e)) +* **health:** ldap check only admins ([f889ec6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f889ec674e35af24f8d33acf7102a2bee5dcf68b)) +* **health:** monitor flush by check interval not flush interval ([03226ec](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/03226eca6aba91e2f10f5828a38f2a15d747dd0c)) +* **health:** more generous healthchecks ([466203d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/466203d866ba92a2ee6fed8a01dcf1e610e6e896)) +* **Help Widget, Corrector Assignment:** Modal Form closes in place; assign alerts ([89d5364](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/89d5364c937132a642d7b7960e90b73868fe56f4)), closes [#195](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/195) +* **hide-columns:** account for undefined element in isTableHider ([ee5a005](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ee5a0052a1b1ae1842ce968818f6fae2b2bd1150)) +* **hide-columns:** bump storage manager minor version ([9053b87](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9053b878c98fcc8cccd5c1a6b241eb36c372f087)) +* **hide-columns:** check for content div in isEmptyColumn ([615555e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/615555eb597bf4a87b83020275cce7f30495d0ac)) +* **hide-columns:** correctly hide hiders of previously hidden columns ([364991c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/364991c42bbb82301dd71cee8823d061f92da1ad)) +* **hide-columns:** fix crash if no row is present ([827cecd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/827cecda8f4244861f05ec988c00929591c94bec)) +* **hide-columns:** fix repositioning of table hiders onclick ([9d8ca38](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9d8ca38f2e7016b753d7951a12b4b10ac3089c9f)) +* **hide-columns:** fix vertical positioning of hider and minor refactor ([3fbb4db](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3fbb4db962c6493a1da2c243850d65e4f735ab4b)) +* **hide-columns:** improve positioning ([e371412](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e371412db48c600589800890477531706a6313bd)) +* **hide-columns:** no hide-columns in tail.datetime ([03bcf56](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/03bcf56487c5bf363bf6d9f595b735208e3fa87f)) +* **hide-columns:** remove debug text from template ([9e449dd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9e449ddaed31aba904d7a6bbd367cc256180d237)) +* hlint ([7e14fef](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7e14fef5c57acf436669a7cbe637d0d019810031)) +* hlint ([58c933c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/58c933c62466aae823b7c61a2e80f9150a41fae8)) +* hlint ([662943b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/662943b256e013c02317181f9a30f6b2f7bd606a)) +* hlint ([5ea7816](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5ea781692671ed60e2851297b7eecd6ce666ec34)) +* hlint ([908e6de](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/908e6def80d8ac2b65e6d5722607db7571c007ea)) +* hlint ([4348efc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4348efca35c80720e6d49b55bcd6256ae52a0b55)) +* hlint ([b0b92b4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b0b92b4b26310b0a41b45d6928fe469d47e5df5d)) +* hlint ([c19f427](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c19f427cd76d09533fab8a24c8b54e1eefa9ed08)) +* hlint & build ([036c74e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/036c74ef49d33efebaaecec16d2daa5900170f94)) +* **holidays:** add proper memoization to yet unused function ([d2938e3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d2938e3ae90def29736ccb884bfebfcd275cb4a9)) +* **holidays:** minor improvement to memoization ([f411fde](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f411fde42d913d5a9ef357674ab77934c8e1ba42)) +* **home:** fix build ([551c4cb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/551c4cb23cb9243acca793b3430e8732754336bb)) +* **home:** fix hlint and other minor bugs ([839251e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/839251ede34f99446e371c4119abca535cf0b834)) +* **hoogle:** remove erroneous comment ([c011d88](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c011d887cece8338920355b540aa4b233e0b994f)) +* hopefully improve workflow auth performance ([1d3fd8c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1d3fd8c8a7824d6c6d043f4114067238af4bdc6e)) +* hopefully speed up aeson via ffi ([a00ba10](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a00ba10e9cf1ffa534908b9125730e88179052eb)) +* **html-field:** introduce stored-markup ([e25e8a2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e25e8a2f4ca65afc29acc8a3884df9acf77d4398)) +* **html-field:** remove warning about html-input ([d0358b4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d0358b4a500c64c6a25558cf8f5179f0c385cd45)) +* **html:** use non-breakable dash in menu and column translations ([56c3c8f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/56c3c8fe40bffec2c83f085ed5afae9af06b9d2f)) +* i18n ([3dd6e21](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3dd6e21f8ec95ca9ebfe71e4a3dc9743ab7bdbc8)) +* **i18n:** add missing translations ([773c6c5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/773c6c5dc02ed5626f3a83e309a229538fd4b27f)) +* **i18n:** custom language inference ([205d768](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/205d7688bf821b1c899b9f3b4d3759a9d89de3cb)) +* **i18n:** fix typos ([8af256e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8af256e55dd2c23276c2894f734e80ee5b5712bb)) +* **i18n:** get started on i18n-breadcrumbs ([268d9e0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/268d9e0b1cfc2a41079d42415fccc075ba909ee7)) +* **i18n:** i18n for all widgets ([3fe278e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3fe278ec3087b7cb219a94c3b9fe28c0f3e204fa)) +* **i18n:** i18n in various places ([155ed1d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/155ed1d557e8b12fc40ac7de4efc9987a4e560f8)) +* **i18n:** missing translations ([14b1706](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/14b17068a02004266a13b9770172fc7a6697644f)) +* **i18n:** missing translations ([d0ce45b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d0ce45ba318ba324845c513b45e776f0d03e7c4c)) +* **i18n:** missing translations ([b6a2412](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b6a24127055757f8dfe33035cd098335be5d6df7)) +* **i18n:** missing translations & changelog ([76663b0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/76663b057d58bb4cb531f80076954c443ce1dc92)) +* **i18n:** missing workflow translations ([ed4ee13](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ed4ee1320bd2eaeb462a1e6b72b0f4ff24e447f3)) +* **i18n:** prepare translation file for en-eu ([281c98f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/281c98fe916d1d44805605d5ffca3c6b3aecca36)) +* **i18n:** rename i18nWidgetFiles to proper language code ([33ddbfb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/33ddbfb7ccd648bf875152ba2c626c0220088bb2)) +* **i18n:** s/Typ/Art/ ([0e43851](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0e438513368ea0b44726e7d7e1aeddac2a4183cc)), closes [#493](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/493) +* **i18n:** submissionDownloadAnonymous ([e6af788](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e6af7888825e66624b94f4af45ad4d698fc8d3ae)) +* **implementation:** spaces ([53471d1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/53471d166273fd1a8ef3a4c49f8d39c8a329dfbd)) +* improve async behaviour ([cc7a528](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cc7a5289a4ef7965b3464bb826e6a1e32a5d2929)) +* improve csv import explanation ([729a8e8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/729a8e8bcea420a856a2d577520e943968807ce1)) +* improve exam occurrence ui ([83fa9c9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/83fa9c9c69a6e986c341e8283698f6c23ced2a90)) +* improve explanation of multiUserField invitations ([954bb78](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/954bb78aae1316bbcc4e8145d63ae072c63beff8)) +* improve hidecolumns behaviour ([9a4f30b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9a4f30b811fdf8c58ec5c50c185628eb3158931a)) +* improve labeling of button to switch exam occurrence ([727b89b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/727b89bf4b80b1f5c83e3f6eeebe5c9da7226596)) +* increase size of test instances again (oops) ([4e76fe7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4e76fe7e504515845d468fc3251a38c90aaaaf66)) +* **info-lecturer:** Touch ups ([e1e26ab](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e1e26abbbffd0f30a9e53c1a73f5bff7b1cb4afc)) +* **info-lecturer:** translate german headline ([069d15a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/069d15abcd4cb811a0aeb07ef1cb55ced97729c1)) +* **info:** minor whitespace correction ([0ce4dd1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0ce4dd181c57788de71a400c0635088634155d7e)) +* inherit authorization of CAddUserR in more places ([3391904](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3391904cff75cf9646d647ee15d907a8080d00ce)) +* **interactive-fieldset:** fix behaviour for nested fieldsets ([65b429a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/65b429a320b6876a7d72d40935a7d49257ef77d7)) +* **interval jobs:** avoid accumulation, reduce job size ([24491b4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/24491b446b870698564adb9718e868e082873539)) +* invalidate nav caches ([e88b6d6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e88b6d6bab3ea4577af3cd9465e66aa7e48177a2)) +* **job:** fix [#95](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/95) by implementing queued job deletion for admins ([5b9a554](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5b9a5545457dbe506d20f7362fb6e0d6bae4f7f4)) +* **jobs:** adjust job handling to hopefully reduce load ([ed38f93](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ed38f93537b57b5b3e4563dc0259d805760071bc)) +* **jobs:** better flushing, correct metrics, better etas ([e4416e7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e4416e7f0e2ea2cf9db0e61cf2d20c27260ccaf8)) +* **jobs:** cleaner shutdown of job-pool-manager ([adc8d46](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/adc8d466ac0948dcddf601fac439bb4e8d3bf619)) +* **jobs:** delimit resource allocation to within handler ([7038099](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7038099389fcca684a9e1a3f28f76629e0c194bd)) +* **jobs:** flush only partially for reliability ([59c7c17](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/59c7c1766588052383754b16e575347fa960ad6a)) +* **jobs:** implement job priorities ([e29f042](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e29f042229d397bb37b692621a10c66ff9489db1)) +* **jobs:** improve job worker healthchecks & logging ([2a84edc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2a84edccb4cdfddc2bdc03ebdd2b934fd7f53884)) +* **jobs:** more general no queue same ([b1143cb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b1143cb12bea48d75a2453f92122edcfb4fe51f1)) +* **jobs:** only write CronLastExec after job has executed ([67eda82](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/67eda82bbcaf768fadda9735455f3d260532ee09)) +* **jobs:** prevent offloading instances from deleting cron last exec ([e61b561](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e61b5611b1568180aa3ccfc3e3b981eb9a13cd53)) +* **jobs:** queue certain jobs at most once ([1be9716](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1be971677b25689a895734d9efa5898fcbf0ca08)) +* **jobs:** reduce likelihood for multiple queueing of notifications ([970ca78](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/970ca784b0286a0f8341356e9769d9a80ab60903)) +* **jobs:** use more read only/deferrable transactions ([db48bbb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/db48bbb7765604aaab8f8d5c540793b1ceaff16a)) +* **jobs:** wake more often during waitUntil ([6115b83](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6115b83bb32d767ef54f2a2ae210ad1c7415e69c)) +* **jobs:** weaken crontab guarantees for performance ([212e316](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/212e316c7e256f7883e0b883942e98bf795d870b)) +* **js:** fix i18n not loading ([a3ee6f6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a3ee6f6fa6cf90f3a4e1ef4bed6ff104412318c8)) +* **ldap-failover:** improve concurrency & error handling ([da1bf86](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/da1bf86d5e72b59448037487cbc4bf5194f5aac7)) +* **ldap:** allow ldap update for mangled user entries ([006ab63](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/006ab632a394ed8d566f7930e8f6fd5a6ba86814)) +* **ldap:** allow punctuation in displaynames ([61cfdc8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/61cfdc8758dcc6ea8aabf52b9d0c0e1d61d6e522)) +* **ldap:** fix type in department descriptor ([9697d8c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9697d8c7fa8bbe6db6418107acb21c387cd4672c)) +* **ldap:** improve debug message ([9fafb0b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9fafb0b7c3a13209be8a8d37c0c99c46608c9a81)) +* **ldap:** update phone numbers and company data from ldap ([991ee9c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/991ee9c704dea31e65bb347af582f8a81a72aca4)) +* **legal:** move anchor targets to headings ([a5c98e0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a5c98e092d7e242010e7598e8317ca8c10c39849)) +* **letter:** email wrapper for renewal letter reinstated in full again ([1c02b85](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1c02b85fa256302b01c18baa64c8d0b7f9ffb671)) +* **letter:** renewal reminder and renewal idents switched ([064b984](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/064b984945288172c094485d8d3622d196333e0e)) +* **letter:** update receiver postal address before sending ([7d5c4bf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7d5c4bff2512154c087133e029713efa0657fa5a)) +* **lint:** remove redundant parenthesis ([4956e6b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4956e6bf57458a5e76efc582f6127b84a055c4de)) +* **lms:** accept success for no-status learners and print several more debug messages processing reports ([a7ed659](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a7ed659866de1d4a178bbe4e8f9cd8fbc629c724)) +* **lms:** add safeguard to LmsUserlist dispatch running twice, thus ending LMS prematurely ([a8df40d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a8df40d9f8943f2e0c4e219074486dbbf0eaf0fe)) +* **lms:** correct lms table column sorting key ([9ee4767](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9ee476736ccd361559edd3570dc27ba83ff8a334)) +* **lms:** direct upload did not commit to DB ([e7cea4a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e7cea4aa6c5b05285e5c47d815067a4d45315024)) +* **lms:** disable workaround for late lms success ([cb9e09d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cb9e09d071d22f41a92ab8140d7aaa643c748373)) +* **lms:** do not mark lms users with open status as ended ([a848126](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a84812640f02981875275c96e37338de4ab49996)) +* **lms:** ensure lms uniqueness across all qualifications ([b85c8bd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b85c8bd74f8db526fb1cbb43ff12a24b93c07eb3)) +* **lms:** filter by status ([a74c3d8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a74c3d80cada4f9d224365727dab9676cc905f54)) +* **lms:** filtering qualifications by supervisor works properly now ([15f7a75](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/15f7a7576ab48a362a479f43034510b4e80bb1b2)) +* **lms:** improve sorting for firm all ([3865bda](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3865bda64d488c161b55e1f6eb48ca1b742dff98)) +* **lms:** lms admin renew pin actions were ignored ([242dd0b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/242dd0b8d46566e67d9a9e75c6f35650cd6da27e)) +* **lms:** LMS restart failing due to old LmsUser entry ([6761767](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6761767c6ca8cab62a22aa6f755e6231e07ab411)) +* **lms:** lms-direct/deletion-days setting now represent #days to presever lms (used to be #days+1) ([d02e62e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d02e62ec20b8cdc9dd6144de558895885ad1e692)) +* **lms:** mark as ended only if not seen for at least one day ([8165892](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8165892b2e4f945780bb8420cfc4eed50fdd294d)) +* **lms:** mark expired learners as ended with status expired ([db9ffa1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/db9ffa18302bf56649466ed78b5040f3c46e5e09)) +* **lms:** negate learner locking condition ([a452b03](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a452b032c43dbdfd086ffa4793c83ecc32c450f8)) +* **lms:** negating unsigned word auditDuration bug squashed ([7b152b6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7b152b67edfc20f9d2a5dd3573c2bd52e710ff41)) +* **lms:** prevent duplicated LmsIdents and Letter sending ([1731d22](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1731d22ba56045fd1c636e2897748faa735053e6)) +* **lms:** report log did not match qualification ([390ff31](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/390ff317ea3bb4ef8918c9cda858f5f228e4a882)) +* **lms:** reset e-learning more lenient ([8b0737e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8b0737e2aabc7153ae3a3df4f97f86ffc8592e7a)) +* **lms:** send e-learning failed qualification only once ([c62a42d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c62a42d5c2175c4a2fbfcb47e54cbff273441b51)) +* **lms:** simultaneous block/unblock lets unblock win in all situations ([ecd1a0f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ecd1a0fc210d1340bff5c79d8bb676a47654b509)) +* **lms:** sorting and filtering lms status ([f48862e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f48862efbcb95e92203a200267e1bcc613af4af1)) +* **lms:** sorting and filtering lms status works throughout now ([ae44703](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ae4470333e2b1b5c271b38092210c094822f4a19)) +* **lms:** transmit renewed pins to lms ([be3fb39](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/be3fb39171c1eb5d015ae006286bed747055a7a6)) +* **lms:** treat simultaneous blocks/unblocks correctly ([11752dc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/11752dc5ac96f36ebf9a4cad43fa4e4b55c1b21c)) +* **lms:** trigger userlist job after upload ([cceb600](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cceb60074fbb26d7ed2d10a1c37297fa6e52292a)) +* **lpr:** fix [#96](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/96) by various minor improvements to PrintCenter ([80c632d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/80c632df1ca4871c10cdac1141d87f92a7646cf7)) +* **mail:** add debug info why setting reply to instead of sender does not work ([3453fc3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3453fc34598581f88dd5696fd28ddd726b389ed1)) +* **mail:** better separation of sender/from/envelope-from ([0dbf4f8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0dbf4f8bde99431cafeec954dc164a73227154ad)) +* **mail:** fix various minor email attachment problems ([90a5f07](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/90a5f07c0412c6820f935b483db8645bcefba160)) +* **mail:** honor userCsvOptions and userDisplayEmail ([89adf7f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/89adf7f2dc1caa90fc71adbcf0dc04936b685bd3)) +* **mail:** mail-reroute-to now changes envelope-recipients as expected ([86d947f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/86d947f7e80b96362be8d662318c0140055d4786)) +* **mails:** prevent emails being resent to due archiving errors ([8cf39dc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8cf39dcbe68cefcc50691ae8a7194315d18420d6)) +* **mail:** use only RFC822-timezones ([59b8bb9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/59b8bb982d33b14a01133819c375884a8a7f7ce9)) +* make migration idempotent again ([9778404](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/977840446e5a9b5836c6f7370c6134b144b8902e)) +* make sure it compiles again + add 2-letter name ([d60f935](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d60f93561f5ee84d460645a945db35ac6b55e97d)) +* make sure line-break algorithm respects available lines ([e487cef](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e487ceff5858671eb0bcbd813e9de0d3b4c74f75)) +* make sure to report NoUsers, regardless of rule ([9c928b0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9c928b0375c1aab0c46768101849ce8daeae9b81)) +* make sure unfortunate combination doesn't only produce 0-9 ranges for matrikelnummer ([8e4cb09](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8e4cb0917db1098f5b19be0dfad4c6fafb900c49)) +* **many occurrences throughout the project:** Fix typo: occurence -> occurrence everywhere ([96387cb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/96387cbed5bda9b901706318e1931e6e718a0680)) +* mappingDescription doesn't overlap for the first n rooms/with small names/matrikelnummer ([fc35fd2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fc35fd26c1eb699d6eb8aa1b9febb48641c26d05)) +* **mass-input:** defaultValue is safe ([03f36ae](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/03f36aea1f1cb1998a030d1e3cf360faedea58c7)) +* **mass-input:** properly escape query selector ([9a3f401](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9a3f401b38e86e2f9e7fa722698a437d853b422e)) +* **massinput:** properly render massInputList ([7c28448](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7c2844807f217b675b1730b128a3a418caee92d1)) +* **memcached:** don't 500 upon hitting item size limit ([d79a539](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d79a539f71e8250f677ac4e0b42c9ffd4de50af5)) +* **memcached:** navAccess & quick actions cache invalidations ([d05306a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d05306a39a5324b2b09503bfc09ca4b7f2ee38f8)) +* merge ([a9636af](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a9636af13a86d405b03b538e5489ecb2d30c4294)) +* **merge:** fix build ([0bd0260](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0bd0260a3e916b6541f43e036744e80b8d0f00bb)) +* **metrics:** allow free access to metrics during development only ([085c841](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/085c841035b3f808ce6d8ae3f6e0e9e6452028df)) +* **metrics:** larger range for worker_state_duration ([34a5265](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/34a52653d71140bcc664cbe864cad069441b5c6e)) +* **metrics:** sort metrics ([e5ae152](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e5ae1521a0577df35abe13b6bcc602f3a38a6f9c)) +* migrate so as not to resend allocation notifications ([132a510](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/132a510a2372f15db671c05c84b5a815fdc0e0a1)) +* migration ([dd23559](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/dd235590b47a90d70753458ffc7ab61c771f3d9b)) +* migration ([4383eb1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4383eb1359c7ddb6d2cf9cbcd8d92523522c7d8b)) +* **migration:** don't consider changelog in requiresMigration ([ea95d74](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ea95d74cb5572688531ba0fdeed3983fb70ab236)) +* **migration:** drop more tables in w.a. for inconsistent 21→22 ([d79dca6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d79dca6be9a00c5dc1671e4779418f2fdc54aa02)) +* **migration:** fix [#133](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/133) by removing old outdated migrations irrelevant to FRADrive ([d4f0d69](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d4f0d69428a4f7fc887cb6854cb59e3dea83b9bc)) +* **migration:** handle deleted courses & users ([35621df](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/35621df03ece390d9513871c9def990828a51ecf)) +* **migration:** ignore superfluous migration entries gracefully ([1d48b62](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1d48b627f6b8cf1b03e2ef63850c36c429c9d3d6)) +* **migration:** make index migration truly idempotent ([7a17535](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7a17535600ef9408af2da5e0b01bea4b6e2fb63b)) +* **migration:** omit index for old versions of postgres ([cf412a4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cf412a4b54f7159601187305ad34f188a7e3e9a0)) +* **migration:** typo ([fb7c7ef](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fb7c7efebd84ac46c1d1463e6cdb53d277834ef3)) +* **migration:** typos ([e508277](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e508277496f7aa4114ab9685166e91caab941226)) +* minor corrections, also fix luatex dependencies ([5015dba](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5015dba5e3dc287a8b6042ef43ed6a3952e9d9d1)) +* minor heat correction for correction overview ([5546849](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/55468496e0842ca014af6d6b93e87c1c0f46f222)) +* missing translations ([dcfdb51](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/dcfdb5130d19e737147bfe9065a6ccb5edf49a77)) +* **missing-files:** properly account for workflows ([c272618](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c272618aa6dd68a1acb5b959c6d905978b26eb07)) +* **models:** correct erroneous default values ([282a7d4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/282a7d44b24b70df0bcfa65a31c2c8c48bdee021)) +* more verbose watchdog notification failures ([48028c4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/48028c40532577f74430340ed924af7116b8bd96)) +* **navbar:** restore border to language buttons ([a2e9a9c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a2e9a9c32ddb78a487b2d69f048922c405d14ee5)) +* **new-submissions:** always check for existing sub ([c7d23e6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c7d23e64ff565ac6920c2f4dc2ab4da20a1fb70c)) +* **news-allocations:** i18n ([5a23d87](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5a23d87380badfe1ee8e6b4c93730050cc42305f)) +* next input area is now selected via a css query ([1aaf254](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1aaf254c3c3c07f95b63bdf760791859a80aa4a4)) +* nix eval ([effddc7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/effddc7bfb3beed997ff342e707b49b88a31c395)) +* non-dev build ([dfea399](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/dfea39907cd114e6d8aea29ae3835dd323ca4df8)) +* non-exhaustive patterns ([5bff34e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5bff34ed0a1b2d4d160c506cbe7090209d28da66)) +* nonmoving-gc still segfaults ([c404ce9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c404ce9b3529cf402a0f9d649ca3299df09ba089)) +* **notification-form:** define rules for all notification-triggers ([0261b39](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0261b3979df73e1b24a920371682cea14ea6d1fe)), closes [#561](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/561) +* **notifications:** direct notifications now respect user triggers ([3e5f271](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3e5f271cacfcc5dbd95aa68a342f56db566f8dee)) +* **notifications:** qualification renewals are more robust and not sent multiple times at once ([1cdd52e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1cdd52e96c727139d6cd630da5117fd3b4aa5a7f)) +* **number-input-fields:** number inputs made HTML5 compatible ([6098215](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/609821595b547999a571b4c0d1aa5a10ed58aa9a)), closes [#412](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/412) +* occurence exception end times not shown correctly ([725468b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/725468bfd3e27787875e8d2bf21693b3145da77f)) +* oops ([f6cbf99](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f6cbf99245ffdd19a2d6c9acc7c0b9a7f8df45ca)) +* order of on in exam office auth ([f44f150](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f44f1507471a9310a9c88738ca5b3d8268afc136)) +* ordinalPriorities ([d4ab6f6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d4ab6f64e24109892b5665d154d8811420452038)) +* **pageaction:** fixes [#463](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/463) ([849c6c4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/849c6c49ca254e493538685f2ca82e052d4aa931)) +* **pdf:** embed din5008 templates within binary ([b76c414](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b76c414220bd73ea8fb67b226a007cdcb0bbd4fc)) +* **personalised-sheet-files:** don't delete files when "keep" ([6008cb0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6008cb040dea268e0a096f6c2fafa87f321d115f)) +* **personalised-sheet-files:** more thorough check wrt sub-warnings ([0b0eaff](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0b0eaff20daf9f38e42678d7ab159a0e75ebec66)) +* possible workaround? ([757e148](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/757e1480329d11521c1ef7afb78702a251fd5b89)) +* prevent deleting sheet-referenced exam parts ([9859c2e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9859c2e99c1e0c7531ee38864a24ff279a8e6a7c)), closes [#681](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/681) +* **print-center:** fix syntax ([957bf4c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/957bf4c966cfd4bccd7da443d02de559f58dc703)) +* **print:** apc ident aliases did not stop at first success ([b7d4f69](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b7d4f6913d8b1a70c1b7ef73782cf29861dc11a7)) +* **print:** disable default filter for print acknowledged ([f0b20a1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f0b20a1b263a072a9811ff677f25e6518d314133)) +* **print:** keep print jobs on user merge and lms id deletion ([a15862e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a15862ea72bc374af870ef3a23f86ae32c2c67a9)) +* **profile:** bad email indicator ([6699f1d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6699f1d72f148ccd2c82bebb3f582cf61d711425)) +* **profile:** email validation inverted ([799f1fe](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/799f1fe184276aea2eb3659e5d439cd76f4ca4d8)) +* properly apply auth to corrections in sheet table ([d59f686](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d59f6860215ebbffde61062a501b5eeeabdb58ae)), closes [#700](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/700) +* **qualification:** new block/unblock mechanism working now ([5397c7b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5397c7be353fc1b1e8310f66b49a9b93ee890253)) +* **qualification:** prevent qualification mixups ([88d4356](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/88d43560ae8de1480502914d9c95d6376a3c68cc)) +* **qualifications:** counts for lms/quals correct now ([33a847b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/33a847baa3310e6e261409f2cda9d964cf5a821d)) +* **qualifications:** fix [#78](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/78) block/unblock no longer deletes company association ([3cb66c6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3cb66c6211b9f15127d88f448557acb4a3a2dd5c)) +* **qualifications:** latest block could ignore itself ([bb708ca](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bb708ca540557b41d33996cfea9a390a457ed855)) +* **rating files:** better descriptions & tests ([5f04593](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5f04593b30c14fffc58e513b79ce1c98e75328b1)) +* **rating-files:** support integral points values ([62dd7b9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/62dd7b9f047e504db783b2ceef19307c21d5550b)), closes [#604](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/604) +* **ratings:** disallow ratings for graded sheets without point value ([c0b90c4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c0b90c4c4ab9e26143c0ac76ad7af0fb4ac5fb0e)) +* **ratings:** disallow ratings for graded sheets without point value ([463b2b7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/463b2b78780ecf24aa3b48f0740c18fce45e8d3c)) +* **ratings:** improve decoding error reporting ([c873150](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c87315006df39550a58d89bcb5491a0afe0e4481)) +* **ratio:** more attempts to fix ratio bug ([b813442](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b813442012cab26edb6e04552eb77aaea4103e03)) +* **reachability:** account for e-users being assigned a useless company department ([bb27324](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bb27324ee8dff257da09c1575468048d793bec8e)) +* **release:** ought to fix issue [#4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/4) faulty version numbers for demo container ([934026f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/934026fc79e93d2aeb2d46f5697288ee2374e06f)) +* remove cached-db-runner ([ff82700](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ff8270042f74d8019e121aebf8636472e1e4d79e)) +* remove link icon on table sorting links ([e7e7d2b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e7e7d2bc6b4a96ce3dc6735b4a869e0cfe2bf4fe)) +* remove manually inserted error for testing ([8c17f33](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8c17f3354a6e7768ecf427e4c0a899cbff9c7e0a)) +* remove merge artifacts ([99e39bc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/99e39bc27ab1e68aed565751ae395cb2a4c8cf2a)) +* removed duplicated code from merge ([9fb9540](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9fb9540bf7fd16334eeaf09d22c05a1ce80b3737)) +* restore behaviour of waiting asynchronously for job-management ([5ebcd89](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5ebcd89e11841fd777f9ab6fbe1c4c46b02313a7)) +* restore storting for exam-office exams ([5698e9c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5698e9ca0bb19585b9a9d2d3c10f8b5f99ae5db9)) +* restore workflowWorkflowList columns ([e55c6d7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e55c6d795fd724bdb732e22d13c96d6b67ea7da1)) +* restrict guessUser to consistent queries ([bcd5326](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bcd532612914f33fc3bb053d00a3319ce2748d29)) +* revert wrong hlint suggestion ([ba2ed97](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ba2ed97731a5ca8d95a9118785c9cce163244267)) +* **rights:** split applicant off participant ([9d709ca](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9d709ca400ab39957e0c5b6b7a4c466b4587dc83)) +* **rooms:** honor roomHidden ([ed5d871](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ed5d871182954e2f0a9a5063f61277d925628c40)) +* **route:** correct typo in route /lms/../userlist/upload ([89be36e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/89be36e35b82713e20b3665396d551ca1788fdd8)) +* **routes:** change ex to sheet ([9d9ead9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9d9ead95d847a96927b3c8d66d1adff9f31af2f4)) +* **routes:** remove redundant auth tag ([5ef36f1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5ef36f1d1c0bd92773bbb58af417bae8307a3610)) +* **sap:** combine immediate next day licence chnages for SAP ([f4adfdf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f4adfdf87270930d4ca6611f2a9956613fcace53)) +* **sap:** combine immediate next day licence chnages for SAP ([cbb44f1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cbb44f106ad59e0a53ca04963ade5544120b7e21)) +* **sap:** combineBlocks yet another bug squashed ([3924d14](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3924d14abd868305b42c9d04913536b4999dc45b)) +* **sap:** compileBlocks ([b4a88ab](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b4a88abcf85783c350ad2bf3a5e973d13d1eb1f6)) +* **sap:** do not export e-accounts ([086e49e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/086e49e2ae126f6acb9be774b0351d37443c31d8)) +* **sap:** yet another fix for finding date intervals ([fde97b0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fde97b048ab04ab59c9e3f2a2f74bb2c1e996b22)) +* **school:** fix [#133](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/133) by adjusting default value ([2509358](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/25093588784381a19f34e5b091677b908420ddea)) +* **schools:** fix schools form wrt. discouraged modes ([53a8f1b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/53a8f1ba122466312947cdbdb49749a61acab37c)) +* **schools:** insert correct authorship statement definition for exam-unrelated sheets ([2272647](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/227264743e0e8d0acf76839300a034b4bb1bf2a6)) +* **schools:** perform authorship statement inserts ([579371c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/579371cffd87c247805bf4ead8bc2c278269a5ee)) +* **schools:** rename messages ([0e62073](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0e6207376043af8fe0929019e3c39f80bcfea9a6)) +* **schools:** switch authorship modes to required in form ([8fb49dd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8fb49dd602f4eb854b300b5b399206aa2fbca87b)) +* **schools:** use StoredMarkup instead of Html for authorship statement ([67c3016](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/67c30165ae90603e8a97ad2661d2bacb92e2e53f)) +* **serversession-backend-memcached:** don't throw on deleteSession ([bcd3e46](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bcd3e467d6a9e4f3ba210d0303412b3657530eb7)) +* **set-serializable:** logging limit ([60be62b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/60be62b63bf328407e4ba0f01221d87020e89f24)) +* **settings:** disable lms jobs by default ([daa1fe1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/daa1fe1a37b075ce420607723e4255fd0ff7979f)) +* **settings:** memcached host defaults to localhost, because why not? ([3d5e532](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3d5e532e2d963cacdd74c1b3a7237f37d1fd3751)) +* **sheet corrector assigment:** minor bugfix ([749cd2f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/749cd2f7bcf990f5eee18d90099843151cb56716)) +* **sheet list:** do not show icons for inaccessible items ([0bb9a0f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0bb9a0fa60d83e91c91bb97833126a23a6f03989)), closes [#421](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/421) +* **sheet list:** only show corrections after they are finished ([d4907cd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d4907cd776467dcd863ea761f9c0c88408e7248a)), closes [#533](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/533) +* **sheet type info:** give better tooltips and name to sheet types ([9dbef1f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9dbef1fe0f2d69eef5f6ff830d5ac338b84aa0f7)), closes [#402](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/402) +* **sheet-inactive-notification:** improve wording ([8af6bde](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8af6bde8a6efd35ec2c534eabe92c5aa6c3a87b0)), closes [#514](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/514) +* **sheet-show:** move message ([1d8a2ce](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1d8a2cef60a688bd514d529f8e1230e462811f1e)) +* **sheets:** fixhance sheet authship form section ([7192cb5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7192cb527c7f66c320308a80de9906a6edc6e9ec)) +* **sheets:** integrate corrector interface into SheetEdit ([acfd312](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/acfd3129ec561725dded5a24c7f293086c9087e5)) +* shown ranges "include" special mappings ([7e1b75c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7e1b75c2e167c75ebc3a05f881ad7fb07c29af55)) +* shutdown behaviour & tests ([19b8b06](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/19b8b0616f306b57390b7a6e26023e8d59aa1239)) +* **smtp:** case-insensitive from-domain comparison for reply-to instead option ([859f5b8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/859f5b8494ce326fcdf13ed8fcca9355273fb42e)) +* **smtp:** use full email with name in reply-to field ([8cdc2b5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8cdc2b5267095ecb816398037bc830c996250456)) +* sort occurrences in the right order ([732df50](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/732df5053033c3533f52850cc6220dd06a7e3500)) +* **specific file submission:** swap labels ([7fadcf5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7fadcf52b7c99c6259e36f1caf46b92e08b2aafa)) +* spelling plugin had a suggestion; actually Hello World commit :p ([7b0fd61](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7b0fd61f7f8bf1e995209bec7b44231b5ba011a6)) +* **sql:** fix transaction behaviour of setSerializable ([e5acdad](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e5acdad134a7c4d8457c1cf8755d69306a52dd9e)), closes [#535](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/535) +* **sql:** quiet warnings in setSerializable ([859ae5e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/859ae5eea103cce3dee84d6ba9d104f21d120f43)) +* **standard-version:** properly reset staging area before release ([5aa906e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5aa906e7eb3798d590a38ae3e18ce4c18741d9b4)) +* **status:** module imports fixed ([c59ecf5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c59ecf5019af67c849f32962b8ce9485a7adab1c)) +* **status:** nix files inaccessible on build server ([1bb500a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1bb500ab027993a97848d357a3382c8975f113eb)) +* **status:** route status exempt from approot normalisation, might not fix the issue yet ([074a33d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/074a33dc51bd7e9ed72434223ceb06d70f1044c5)) +* **storage-key:** fix types ([a0d067f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a0d067fabfa91027831e86fc5c52a676e63ea9f7)) +* **storage-key:** fix types ([a23a473](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a23a4735c2a4a8a372b6479d79223099d59e3bea)) +* **storage-manager:** correctly use encryption key in decrypt call ([2667aac](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2667aac1a382c52d9dc6c465ee8ccb173e893a28)) +* **storage-manager:** correctly use encryption key in decrypt call ([9e9726e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9e9726e173dbfa5a0a4dff0402a19af6ca8dfa51)) +* **storage-manager:** post salt and timestamp only when fetching key ([6340509](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/63405093c4fc2fd30b919da7b26ad7f984c0ba9d)) +* **storage-manager:** post salt and timestamp only when fetching key ([301c88f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/301c88f2ea9dd0b430e982f11adcf6fd29d74096)) +* **storage-manager:** remove and clear SessionStorage ([e42452e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e42452e4da3eb6182f792f0711a94395ee430eee)) +* **storage-manager:** remove and clear SessionStorage ([38b0a8e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/38b0a8eebc2e0774fb80e11e18736492e6ae2755)) +* **storage-manager:** save salt and timestamp ([0282918](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0282918c2e3ce50b471dcff80a6438ba1f9fd197)) +* **storage-manager:** save salt and timestamp ([8bee033](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8bee033efaee308731dd62486fee7aba2ae3ddc0)) +* **study-features:** account for existing StudyFeatures ([b6cada4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b6cada43f218f3c688360c114f020e9037a87a21)) +* **study-features:** also apply caching to table columns ([564c0b9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/564c0b975ae65881cb3a168855b36e4b1614a6cb)) +* **style:** breadcrumb bar width ([7340fc1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7340fc1fa60c241b2b5a054386a3484e724e9681)) +* **style:** padding of language buttons ([e704b23](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e704b23a53f0af2a1e474c181ebd079063e5e469)) +* submission download token generation broke viewing ([e1b6084](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e1b60844cb77b1fd41900d0a3c4829ba21b6b3fe)) +* submission user notification recipients for pseudonym subs ([a7b7bdb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a7b7bdbea754873e11fea8d2af42bf3aacaff3f2)) +* **submission-create:** ensure number of buddies is acceptable ([ec24a04](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ec24a04c9b1dfaefe8f95548206278a2d6ac9774)) +* **submission-create:** sanity check submittors in form ([3bf37a4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3bf37a4c1ab89379794c57acd5c30516072c721a)) +* **submission-form:** fix display of all courseParticipants ([b67819d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b67819d061fb3409fa9978a31cb94b700e9e86fb)) +* **submission-groups:** prevent deleting group before insert ([f87cf7a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f87cf7a378ec2641ed3a9a13182b39b170f61c1f)) +* **submission-groups:** wrong sql query for finding buddies ([0679626](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/06796269d4da73f9c31c978fc2e05e32fbe04b2f)) +* **submission-multi-archive:** fix cleanup & improve ([27731ac](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/27731ac077ae6eee31eeb5cd39d24b0a0ea8f490)) +* **submission-users:** properly delete old invitations ([91c926b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/91c926b1c5eb92a4d8bbf3077020a0121165f3eb)) +* **submission:** allow non-group-subs when user isn't in sub-group ([9a35c85](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9a35c8542c358fbb8e88e6661e981631ba4c1fbb)) +* **submission:** allow not modifying submissionUsers ([030fd7a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/030fd7abf1bdcd700d45bfa14cc192ac98dee24e)) +* **submission:** ignore extension case within zips ([f8442cf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f8442cfea9f5ab0c4b8b2b6959153034f390839e)) +* **submission:** race condition allowed creating multiple subs ([02fc0d4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/02fc0d476f07c786cb4ef23600baaed36530fa24)) +* **submissions:** allow user to resolve themself for auth'stmt' ([5bbb86a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5bbb86aa7750dd907f49cb3ba5daf2cee8485bae)) +* **submissions:** cascade delete to authorship statements ([fcce16d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fcce16d838e5cba3187a82a5762b831d7df54cd0)) +* **submissions:** don't leak info from corrected versions of files ([66f5e96](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/66f5e96eca4cbcb6cb092092b1b1b069ce30f159)) +* **submissions:** fix ambiguity with multiple past co-submissions ([6e4f469](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6e4f4690237625280d24ce6cdfb6f3e57bc16d38)) +* **submissions:** fix distribution without consideration for deficit ([5035dff](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5035dff9021260cd45dabfc175bb535bdc19dc71)), closes [#713](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/713) +* **submissions:** fix users being deleted for other submissions ([2462c68](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2462c68f49d9952eeb4c9f5413c53d307f10975a)) +* **submissions:** hide correction-only files ([575fadc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/575fadcd8cbc4d899ed0ab5d58e3fa8aa64df111)) +* **submissions:** improve submission process ([7219131](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/72191315b6daed78cd0f31b02627e1d27db620f3)), closes [#675](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/675) +* **submissions:** maintain anonymity ([0184a5f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0184a5fe3b1af635318fa0fa317e3497f24fbc90)) +* **submissions:** more precise feedback ([d151b6f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d151b6fc14e5b32d9f07923149923d5ab7ea4880)) +* **submissions:** off-by-one when isLecturer ([01e61f9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/01e61f9bfda777c09c5b64c4bf4368e590328545)) +* **submissions:** only notify submittors if rating changes doneness ([4f1162c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4f1162c363d15d9577302d064e4dd352111fd628)) +* **submissions:** only notify submittors if rating is done ([8e0c379](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8e0c379c71ca1226590b333f9a740c6cc0aa98be)) +* **submissions:** submitting produces an success alert now ([bf20d6f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bf20d6f4e84353d7d83626377ccf41204832ac2c)), closes [#286](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/286) +* **submissions:** take care when to display corrections ([a6390ec](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a6390eccbd164ee5e821d3ecb0fab794a417425a)) +* **supervisors:** reroute to non-avs supervisors too ([1cc6240](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1cc62403541404e4ab4c448841ff5fa0da508ce8)) +* suppress exceptions relating to expired sessions ([d47d6aa](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d47d6aa6ccaa3007aae64f555ceec519dd03f029)) +* syntax ([7afd569](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7afd569eaa363487f1775489ab1fe667aee84fe7)) +* **system-message:** lastChanged & unhide logic error ([36abb3e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/36abb3ee2675e4da5e9baeccd1057db6d20303fb)) +* **termidentifier:** rational not working use derived day instances instead ([ecdb22a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ecdb22aa613757ee6f0197a2d4191dcb3d603da1)) +* **test:** build ([443b871](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/443b87168074b60d0b7806450dfbf512ad5b2135)) +* **test:** fixed compiler errors (oops) ([bc42f30](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bc42f3072fd37ee6f37c70a0b3999d9ac793b240)) +* **test:** isNullResultJustified reported false positives ([292f5cf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/292f5cf91b56953189ee72e42b822d66761ff3bb)) +* **test:** LmsStatus is no longer a semigroup ([bf8cd4f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bf8cd4fa899bccd4a37906a4d899aca6ca25d726)) +* **test:** resepct uniqueness for ldap primary keys ([d1badf1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d1badf16fc9c45ee547ec1e3fe677e16645683f0)) +* **test:** resepect uniqueness for ldap, 2nd attempt ([d06448a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d06448a4a8c194368c077d5ca7bf8d0feca86d60)) +* tests ([4803026](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4803026a2c091128a7370c12f0c06de9bd7b9180)) +* tests ([3c322af](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3c322af49e2021b2963fef9fbe303fa70ec77e18)) +* tests ([65e0688](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/65e06882d2491da5e30b1401db6ecc81efcac58b)) +* tests ([ca81f3b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ca81f3b0f2913431cbaf399c33ed30a21979ce69)) +* tests ([018d26f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/018d26f4a1a1cf411324aeac56ce4d4203670942)) +* tests ([5541619](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5541619372f4a4e46ccc403004e869afdfaed7b0)) +* tests ([b4b4a96](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b4b4a96aaeb468881c8fe510a9a871e4931eeb1a)) +* tests ([4854d83](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4854d830fb14ecff54d32aa93a95eaaf67c0499f)) +* tests ([96b3ba4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/96b3ba4392ff76e48e032a08fff36808e006d0f2)) +* tests ([daa1f83](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/daa1f837c78e19ab5dd0f9a79363ba9227707083)) +* tests & hlint ([4e9b618](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4e9b618b61a2e35577dc9414d4c8c923b01b783f)) +* **tests:** explicit post parameter name for dummy login ([2ccd50f](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2ccd50fa85b05751de6b36185bf52a1386458992)) +* **tests:** fix build ([b0f2304](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b0f2304273506947922637fa29132135cf11931f)) +* **tests:** generate sensible WorkflowPayloadLabels ([8a888d3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8a888d3945f0fd0d67ef83bae621744c943b99de)) +* **tests:** i18n changes ([9ba0e27](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/9ba0e27ba2208ef835538f6fecc092aab85411ea)) +* **tests:** remove invalid claim of commutativity ([d2f0361](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/d2f0361e49114e6dc6c55e64b677b8c842e93bee)) +* **test:** test for applyMetas handles duplicate keys in correct order now ([0366f8c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0366f8cccaa7cf644d25d99c5a27c0d73a5714b0)) +* **time:** midnight timezone conversion bug eliminated ([dfa07a9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/dfa07a95eb29f1fceec258a466e1e7c779ff6e5c)) +* **tokens:** introduce clock leniency and remove start for downloads ([8939a8b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8939a8b90a39a26614da18dd3985aee253cd191f)) +* **tooltips:** add dark variants of theme independent colors ([e5c7aa0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e5c7aa03dbe59060a2303d378229b2de3a2ee3c6)) +* **tooltips:** fixes font-color when used in tableheaders ([f4bb70e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f4bb70e19161afffb396da182df5aeda0191285e)) +* translation ([80960f4](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/80960f42c578c201f78e226653431e9dd965cfce)) +* **translation:** fix typos in translations; add bug to known bugs ([ac3f7bb](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ac3f7bb8b48d64b0db05f292211b6c7df955649b)) +* **tutorial:** fix [#94](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/94) tutorial renaming (de) and template naming ([1ce8f75](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/1ce8f75c2d192051929b1a74b17f4e6494961901)) +* **tutorials:** improve creation interface ([bc248d0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bc248d0fc21d6b8361d66e3bd6fa17b368da71b5)) +* **tutorial:** template moving works now ([b982e59](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b982e59b630fbdb3fe8f37c979de8e8726b78ea9)) +* tweak debouncing & canceling ([6b51cc5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/6b51cc5e53ab7686f2394cd80bc4ee4fc426c8d5)) +* **txt:** delete old txt file ([0c639b9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0c639b9c53591e8c68d9c288ffddd72117ca3711)) +* **types:** move term identifier start/end information to type definition; simplifies fill ([aeafe31](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/aeafe3118bb6111cc6f5d4ff012b0fc6c70fe23b)) +* typo ([26c3a60](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/26c3a60592c02570ceeed42cc977ad223baa16ae)) +* typo ([f155a4b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f155a4bf08d169309c05e3efbb47a246f3010816)) +* typo ([f931c67](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f931c67a9ecf37bd9a6c9814ee61de7cb054dcc5)) +* typo ([a1b03e8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a1b03e819fc41da7ca83be8d27955a29a4e73904)) +* typo ([52670bc](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/52670bc90526490b3b11b639cc3e4bd27bb4a184)) +* typo ([c06a472](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c06a4723591cc3d716b2d6b39f2757e17387ae47)) +* typo ([4c58699](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4c58699d1f2efa0695909de8be4ec660578696ae)) +* typo ([ad5494e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ad5494ef03604250fbec63d4e48f0d6bbd66f87f)) +* typo ([23f4eb3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/23f4eb3f2b8154e412d280ab22eb881941d7e736)) +* typo ([a6e40f1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a6e40f1be8dff7fc9e2711988aba0e431b3eb6dd)) +* typo ([fb1e42d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fb1e42dc6994e79692f38b93a14eeaaaf9d53578)) +* typo ([fc5ffb7](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fc5ffb7c5231302c478999cb944821d0cbf5bbf7)) +* typo course-assistant ([c7ce167](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c7ce1679de799285ec7a9a0a62c0a202b9078eb3)) +* typos ([97f62b9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/97f62b92c1cc8a68682f6df3b104bd20e0e035b7)) +* typos ([b9c284c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b9c284cde268f0865cc32d2c973206b227042700)) +* ui improvements for (external-)exams ([b3ce3dd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b3ce3dd93a576dd3b5c6a8ecb1b278556067806a)) +* unbreak arc ([8ecb460](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8ecb460f39f48557b5935b1cd18709ba197d3490)) +* uniworxdb ([e5608d2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e5608d2d5bf5349f33d83dbd2f54af84442fd93d)) +* update imprint & add instructions for help ([eec9a39](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/eec9a3974fc4cde5cc70ab650d018667ce044a92)) +* **uploadcache:** set default to localhost ([eeb22de](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/eeb22dec9737e014c20b852438da4373219884b0)) +* use extraUsers instead of extraCapacity for unrestricted pseudo-capacity ([2be9d76](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2be9d76af2b3e9fd52284c639a4c3f6dc1c51779)) +* use recent locales & tzdata ([bedb47e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/bedb47e9d47e98621efb56db0cc24615cb7a8de4)) +* user with a pre-assigned room count towards the capacity limit ([4fc0535](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4fc05351fa8048752f2ec3260dcaac64f962c9a3)) +* **user-deregister:** remove tutorial participation ([cfcb28d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cfcb28d1d491f1cbc77b0c4d4d522c44c5f6b807)) +* **user:** add new user failed due to AuthNoLogin not treated in notification template ([8456f18](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8456f18bf688ad475f8f5d78c83df9f393c11ae3)) +* **user:** add new user failed due to AuthNoLogin not treated in notification template ([a1516d9](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a1516d9116451fb9a24761cdaee8b22dcab58680)) +* **user:** check reachability by post or email did not account for department ([ed147db](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ed147dbd20b89d32281dbcaed3a1ba7cb00c347b)) +* **user:** display name may omit hyphenated given name parts ([ddb1a15](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ddb1a15c183f25b81153baaec51033e32436e98b)) +* **users-add:** upsert tutorial only if users not empty ([e65d388](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/e65d38898e78dffa3dedf89292bf28e39a2ce3cf)) +* **users:** allow prefer postal setting for users with fraport department ([a9d56c5](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a9d56c51dcc727f8637b09a0e849372e75032f5e)) +* **users:** assimilate merges possibly incomplete user fields ([52afd13](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/52afd13b6dc2b870ab8dbba956874e8950e07973)) +* **users:** fallback email to name ([7bf018c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/7bf018c2a4cc8cd2d087da1d1c6cfff755bd3003)) +* **users:** fix [#112](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/112) and also add some convenience ([35096ac](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/35096ace01a2bc2a2d666794bb1ff92f52b3edec)) +* **users:** fix [#112](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/112) working now ([88bf21c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/88bf21c9c5de3755ea6591c97dc1f99a928914d5)) +* **users:** fix broken email fallback ([f4e9f2c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/f4e9f2c973f4c3eccda0a7997d25696fbe286e5c)) +* **users:** prevent accidental user hijacking ([014d479](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/014d479df8f36515915bc7991bb97bad24dcbef9)) +* **users:** synchronise sex ([25912e0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/25912e0616e1b771b0d76fa7ffb85ed7f5f676c0)) +* **util-registry:** fix initAll and tests ([2620fb2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2620fb2f9569368fdaafe3924c02f2f5a2671818)) +* **util-registry:** start setup instances and not all active instances ([ddf94bf](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ddf94bf5650addbf6de40894ecda9ba6ef36e143)) +* valid binary ci instance ([8cfdd28](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8cfdd286517e0a9ca99dd31b9d220560adc6c93d)) +* **volatile-cluster-config:** fix pathpiece instance ([dcd5ddd](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/dcd5dddec82da359a2100360cfeb6845ed320821)) +* **watchdog:** improve status&watchdog notification ([2d4ccd6](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2d4ccd693394ac75aef291cdadf5bdbc72e173ac)) +* weight random token impersonation towards active users ([a314f64](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/a314f64a70d9e7e427383c8d656d9bdceed5f9f3)) +* weird sql casting ([eb9c676](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/eb9c6760b9a62d263f0c30531a643d43c7318b3f)) +* work around conduit-bug releasing fh to early ([3ff2cf1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3ff2cf1fec1bf582fe1d5e1f6ee08dcc85d6bc00)) +* work around regression in esqueleto ([25cf946](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/25cf94657067dfc60e9acdb370274873ae0b6a6e)) +* **workflow-types:** fix Int64 workaround; update test defs ([ce9648e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ce9648e47a870e3a051591631c2eb3a26c6b4b3c)) +* **workflow-types:** minor import fix ([b19c1b3](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b19c1b31b7b079f3abe6aff93e3b5603050c6131)) +* **workflow-workflow-list:** restore default sorting ([454a917](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/454a91702bdbbed7e473ef94a603bcea2e716406)) +* **workflow:** add missing optional ([8608e83](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8608e83ef80497b7ddcc451759a98a07b435fc08)) +* **workflow:** fix false instance with atrocious instances ([8812f24](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/8812f24d9060314d60c3ae495ea7daccdabff30d)) +* **workflow:** fix node and graph FromJSON instances ([263fee1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/263fee19f25a4782bf426347e385eedd1742c8da)) +* **workflow:** fix types ([ce1acec](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ce1acec444762d254ccf07b37c280ffb02934669)) +* **workflow:** fix types ([4334253](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/4334253122f4208fb4dc61f5cbf4436f122b14e2)) +* **workflows:** add missing import/reexport ([5e92a6e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5e92a6e04aeb9a54ab361f83c7168e57ae5e9c33)) +* **workflows:** cleanup ([0a3eaa2](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0a3eaa29946ba00ba0c9597d124f4ca5cc25620d)) +* **workflows:** disabled warning for top workflows/instances ([17ed2fa](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/17ed2fad2230944c629c6a0c8d8181f6fec8983f)) +* **workflows:** don't cache instance-list empty for correctness ([cb1e715](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cb1e715e9b2da2f5ac0bd03b636de0f961307efd)) +* **workflows:** integrate in new master ([99f3fca](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/99f3fca6d08f098b996931c8c4736eefbc9db77c)) +* **workflows:** navigation order ([c5eea64](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c5eea64b270369ef69e1aa368ec87f0a8846e1fd)) +* **workflows:** prefer payload label from target state ([2619b08](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/2619b08ad1be2921d2cdd568f9419852c374df10)) +* **workflows:** properly offer previous payload files ([aa0404a](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/aa0404a0075acbcd4c6f94984acdbb4d68f08d0a)) +* **workflows:** refer by id in model ([94f78a0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/94f78a07d9376670122a2adce01cf7180a64d33d)) +* **workflows:** ui improvements ([c7f4fa0](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c7f4fa0e412d2b920a3819ffed5b79b8aeea2842)) +* **workflows:** workflow-definition edit translations ([5c5cbad](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/5c5cbaddf8b33f455ff18789806a3e0f9ac447ed)) +* **xss-sanitize:** use forked version ([fb50d5b](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/fb50d5b9d002b979d59b9f11c64048d335090082)) +* zip handling & tests ([350ee79](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/350ee79af3c8fcc480970166a559596873beab2a)) + + +* bump esqueleto & redo StudySubTerms ([0e027b1](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/0e027b129eada45ce90f6b32223aab3fde8cf9cd)) +* bump to lts-15.0 ([cfaea9c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/cfaea9c08bcc52b2db33f24efe4967ef9bfbe9d2)) +* bump versions ([67e3b38](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/67e3b38834ae079ec601633a60799359853f9b5e)) +* remove applications and allocations ([66b4cf8](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/66b4cf8542b1e8c16346861ceed2833d9a56f35f)) +* split foundation & llvm ([c68a01d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c68a01d7ae26bfa61306e143d663d28f641d0998)) +* **sub-study-fields:** reformulate as superStudyField ([b7d6f3c](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/b7d6f3c9e991790cda7920ced039a3d8b4ffa8ac)), closes [#531](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/531) +======= * **form:** multiSelectField working with grouped options ([3aa8901](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/3aa89019a8b4393da0eca715871a3793c1e3abb2)) * **health:** fix [#151](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/151) by offering route /health/interface/* ([c71814d](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/c71814d1ef1efc16c278136dfd6ebd86bd1d20db)) * **health:** fix [#153](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/issues/153) and offer interface health route matching ([ce3852e](https://gitlab2.rz.ifi.lmu.de/uni2work/uni2work/commit/ce3852e3d365e62b32d181d58b7cbcc749e49373)) diff --git a/is-clean.sh b/is-clean.sh index b50600b68..4d92d4be0 100755 --- a/is-clean.sh +++ b/is-clean.sh @@ -16,8 +16,13 @@ fi branch="$(git rev-parse --abbrev-ref HEAD)" if [[ $branch != "master" && $branch != "test" ]]; then + if echo $@ | grep -xqe '--dev'; + then + : # dev-releases possible on any branch + else echo "Not on master or test" >&2 exit 1 + fi fi ourHash=$(git rev-parse HEAD) diff --git a/nix/docker/default.nix b/nix/docker/default.nix index 98ec639da..8a8c2c8f4 100644 --- a/nix/docker/default.nix +++ b/nix/docker/default.nix @@ -14,8 +14,8 @@ let ''); in if self ? lastModified then fromDate else "1970-01-01T00:00:01Z"; - mkUniworxDocker = { isTest }: prev.dockerTools.buildImage { - name = "uniworx${optionalString isTest "-test"}"; + mkUniworxDocker = { scope, isTest }: prev.dockerTools.buildImage { + name = "uniworx" + (if scope == null then "" else "-${scope}"); tag = let versionFile = if isTest then ./test-version.json else ./version.json; @@ -111,6 +111,7 @@ let }; in mapAttrs (_name: mkUniworxDocker) { - uniworxTestDocker = { isTest = true; }; - uniworxDocker = { isTest = false; }; + uniworxDocker = { isTest = false; scope = null; }; + uniworxTestDocker = { isTest = false; scope = "test"; }; + uniworxDevDocker = { isTest = false; scope = "dev"; }; } diff --git a/nix/docker/version.json b/nix/docker/version.json index 9fe33d929..eca96eb1c 100644 --- a/nix/docker/version.json +++ b/nix/docker/version.json @@ -1,3 +1,3 @@ { - "version": "28.0.0" + "version": "28.0.7" } diff --git a/package-lock.json b/package-lock.json index 4cd4483fe..02a7c425a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "uni2work", - "version": "28.0.0", + "version": "28.0.7", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index b5f592764..0a0abcb9c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "uni2work", - "version": "28.0.0", + "version": "28.0.7", "description": "", "keywords": [], "author": "", @@ -25,7 +25,9 @@ "i18n:test": "./missing-translations.sh", "prerelease": "./is-clean.sh && npm run test", "release": "./release.sh", + "release-dev": "./release.sh --dev", "postrelease": "git push --follow-tags", + "postrelease-dev": "git push --follow-tags", "parse-changelog": "changelog-parser ./CHANGELOG.md > changelog.json" }, "husky": { diff --git a/package.yaml b/package.yaml index 9f2b550d4..29ce85cb7 100644 --- a/package.yaml +++ b/package.yaml @@ -1,5 +1,5 @@ name: uniworx -version: 28.0.0 +version: 28.0.7 dependencies: - base - yesod diff --git a/release.sh b/release.sh index 80b2f17f0..d76de93d3 100755 --- a/release.sh +++ b/release.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash -# SPDX-FileCopyrightText: 2023 Sarah Vaupel +# SPDX-FileCopyrightText: 2023-2024 Sarah Vaupel # # SPDX-License-Identifier: AGPL-3.0-or-later @@ -14,7 +14,12 @@ case "$(git rev-parse --abbrev-ref HEAD)" in standard-version -a -t t ;; *) - echo "Current branch not supported for release!" - exit 1 + if echo $@ | grep -xqe '--dev'; + then + standard-version -a -t d + else + echo "Current branch not supported for release!" + exit 1 + fi ;; esac