d6b4afe975
chore(firm): add working view for supervision discrepancy by firm
...
show if a supervisionship-company is unrelated to either supervisor or supervisee
2025-02-28 17:09:03 +01:00
cce4b2b27d
chore(lms): fix #2605
...
- Implement a mechanism that deletes those users after a short while
- Never delete numerical LMS logins
- Allow admins to terminate an E-Learning manually
- Option to terminate E-Learning upon longtime renewal
- Detection of unnecessary E-Learning (i.e. long valid durations)
2025-02-28 17:08:59 +01:00
12e01238c4
fix(lms): do not delete orphans with all numerical idents
...
lms idents with all numerical idents are used for testing and thus should not be deleted, even if orphaned
2025-02-28 17:08:05 +01:00
130f592491
chore(lms): add longter,m validity filter, towards #2605
2025-02-28 17:08:05 +01:00
d1dcdcfe91
fix(avs): updateReceivers should not re-insert formerly known receivers
2025-02-28 17:08:05 +01:00
5e0df28444
chore(mail): view page for receivers working now and polished
2025-02-28 17:08:05 +01:00
0a4ad611c7
chore(mail): add i18n for mail receivers view
2025-02-28 17:08:05 +01:00
2109996387
Added de-de-formal.hamlet for receivers
2025-02-28 17:08:05 +01:00
4f5c7d56b0
chore(mail): add modal computing actual receivers at postal pref columns
2025-02-28 17:08:05 +01:00
05bc06df47
chore(firm): add company preference for email pin passwords
...
companies may be set such that their users have no email pin password by default
switching to such a company deletes the pin password
2025-02-28 17:07:51 +01:00
38606949b0
chore(lms): implement lms termination action
...
also:
- track last LmsSate for orphans
- make note searchable
towards #2605
2025-02-28 17:06:33 +01:00
f3f2f397fc
fix(audit): add user id who caused company superior change to audit log
2025-02-28 17:06:12 +01:00
d06bc10408
fix(tutorial): truly fix #2696 template choice respects school, course, term, etc.
...
Template course names may contain Vorlage or Template and the type in any order somewhere within the name
2025-02-28 17:05:54 +01:00
490b89e174
refactor(lms): use runDBRead and caching for FilterColumnHandler used in LMS Orphans
2025-02-28 17:05:54 +01:00
d5bbec9fa3
chore(lms): complete view for orphaned lms logins
...
towards #2605
2025-02-28 17:05:54 +01:00
fbd99f2394
chore(lms): add note to orphans and create working filter
2025-02-28 17:05:54 +01:00
593ee2cf76
fix(build): remove erroneous + from settings.yml
2025-02-28 17:05:54 +01:00
2360375385
chore(lms): add route and breadcrumbs for lms oprhan view
2025-02-28 17:05:54 +01:00
56aa06097b
chore(lms): create stub for lms oprhan view
2025-02-28 17:05:54 +01:00
e9fefa75bd
refactor(lms): ensure days/months in qualification settings are always used correctly and implement settings for orphans
...
- extensive refactoring for qualification lms settings
- qualificationAuditDuration changed from months to days
- qualificationAuditDuration no longer optional
- qualificationAuditDuration is only used for LMS; clarified
- three new settings:
+ orphan-deletion-days:
+ orphan-deletion-batch:
+ orphan-deletion-repeat-hours:
2025-02-28 17:05:50 +01:00
0ffd594a04
chore(lms): register and display orphaned LMS idents
...
towards #2605
2025-02-28 17:03:26 +01:00
ab340aa715
chore(avs): test AVSneo problems
...
AVSneo will no longer have unique AVS CardNo: PersonSearch will return one card per company, all having the same CardNo, but possibly different colors
Test shows that FRADrive will handle this just fine, provided the old AVS workaround firing several requests at once remain in place
2025-02-28 17:02:04 +01:00
5128f9b74c
fix(i18n): disambiguate between course-type and type of course both in german and english
...
- english: course type -> course category = Kursart
- german: Art des Kurses-> Kurstyp = Tutorial-Type
2025-02-28 17:01:03 +01:00
558402ac47
fix(avs): prevent empty contact and status queries
2025-02-28 17:01:03 +01:00
1b35c57660
fix(tutorial): fix #2696 template choice respects school, course, term, etc.
2025-02-28 17:00:55 +01:00
56b8a8de86
refactor(lms): remove now obsolete lms edit stub
2025-02-28 17:00:20 +01:00
48096c6b81
fix(hlint): remove superfluous dollar
2025-02-28 16:59:09 +01:00
e8a21610a4
chore(tutorial): convenience button to show tutorial exam results
...
required new filter on exam participants page
2025-02-28 16:59:09 +01:00
c1ed89a30b
various minor code refactors
2025-02-28 16:59:09 +01:00
cf8fc90db7
chore(qualification): finish qualification edit handler
2025-02-28 16:59:09 +01:00
b26dd285df
chore(form): create calendarDiffDaysField
2025-02-28 16:58:46 +01:00
e5cf120af2
refactor(UniWorxMessages): eliminate superfluous whitespace
...
also: some tutorial code cleaning
2025-02-28 16:56:11 +01:00
ad12b8f927
refactor(tutorial): fix and complete exam occurrence form function
2025-02-28 16:56:11 +01:00
9fe78541d7
refactor(tutorial): exam occurrence form function and appearance
2025-02-28 16:56:11 +01:00
a0604637bd
refactor(tutorial): exam occurrence editing received specialised page
2025-02-28 16:56:11 +01:00
5e41c2073f
chore(tutorial): add separate exam occurrence edit page (WIP)
2025-02-28 16:56:11 +01:00
50c7d18b53
chore(exam): add convenience function to duplicate exam occurrences to another day
2025-02-28 16:56:11 +01:00
f996976f65
chore(exam): auto name generation for examOccurrences
2025-02-28 16:56:11 +01:00
f04a40c0a3
chore(tutorial): add covenience button to full exam editing
2025-02-28 16:56:11 +01:00
6cc929e377
fix(tutorial): fix exam occurrence form
...
works better, but still not 100%
some debugging added
2025-02-28 16:56:11 +01:00
11bcef67f8
chore(tutorial): switch relevant exams from registerFrom/To to examStart/End
...
registering is of users/supervisors, but this page is for admins, so examStart/examEnd are only relevant for when it is actually happening
2025-02-28 16:56:11 +01:00
7b7ffab109
chore(tutorial): towards #2347 exam occurrence form design finished, but buggy somehow (WIP)
...
Propably due to multiActionAForm badly interacting with contained massInputForm
2025-02-28 16:56:11 +01:00
afbeb86762
chore(pathpiecel): PathPiece instance for lists of exam occurrence ids
...
towards #2347
2025-02-28 16:56:11 +01:00
9af4a3a22e
chore(tutorial): towards #2347 exam occurrence form mostly working (WIP)
...
form is completed, but the initial call needs proper arguments from DB about all apropriate exams
2025-02-28 16:56:11 +01:00
4241c75afe
chore(tutorial): towards #2347 exam occurrence form added (WIP)
2025-02-28 16:56:11 +01:00
afa2f9bf0e
chore(tutorial): towards #2347 add convenience buttons to add exam tutorial (STUB)
...
This is STUB add a multiform action that is not yet evaluated. Form Handler is to be implemented next.
2025-02-28 16:56:11 +01:00
f44d66cb91
chore(tutorial): assign exam rooms for tutorial users ad hoc
2025-02-28 16:56:11 +01:00
1d68ed9c5e
refactor(saltine): fix hlint and ghc warnings
2025-02-28 16:56:07 +01:00
cd84d0a932
refactor(daily): move caching into own submodule
...
we need those methods in Handler.Tutorial.Users as well
2025-02-28 16:54:19 +01:00
f467f6086e
chore(daily): add function to retrieve all exam occurrences for given days
...
the function uses the memcachedByClass mechanism, which was slightly refined as well to include the class within the memcached keys for added correctness
2025-02-28 16:53:34 +01:00