92ff99a36e
chore(tutorial): granting qualification automatically picks better expiry date
...
Previously, the form for granting tutorial users a qualification suggested the minimum of all expiry dates, if there where several course qualficiations. This lead to some users being granted driving licences being valid for only one month.
The expiry date can now be left blank, using the validDuration of the selected qualification instead.
The default is blank, if there are more than one course qualification having disagreeing qualification dates.
2025-03-26 16:58:07 +01:00
9d1a97172e
fix(tutorial): fix #2978 by having one column per course qualification
2025-03-10 15:57:06 +01:00
24196cc2cd
fix(mail): day filtering working in comms center
2025-03-10 12:01:43 +01:00
9ba7a82449
fix(mail): fix #2979 by completing simple mail resent function
2025-03-10 11:41:48 +01:00
1fc948711a
Manual copy from branch merge-rewrite-jost due to botched-merge
2025-03-03 11:32:14 +01:00
095002637f
chore(qualification): prepare stub for edit handler
...
also fix some minor navigation issues
2025-02-28 17:29:23 +01:00
2ad61c73f1
fix(day): fix #2347 by adding repeated examiner check to day consistency check for day exam occurrences
2025-02-28 17:12:48 +01:00
7dcd0b7297
chore(profile): show examiners in profile data, towards #2347
2025-02-28 17:12:48 +01:00
9fbab25ecc
chore(tutorial): assigning exam occurrences may check duplicate examiners
...
towards #2347
2025-02-28 17:12:48 +01:00
be18af08c6
chore(tutorial): user view warns against duplicate examiners
...
towards #2347
2025-02-28 17:12:48 +01:00
b12de8be15
refactor(admin): problem caching indicator made human readable
2025-02-28 17:12:48 +01:00
6441bc5562
chore(firm): finalize supervision discrepancy view
2025-02-28 17:09:03 +01:00
aefafa32d1
chore(firm): filter working on supervision discrepancy view
2025-02-28 17:09:03 +01:00
8adcdf69fe
refactor(db): widen the type for DBRead for more flexibility also - change some AdminProblemR DB actions to DBRead instead - add insane supervision warning to AdminProblem page
2025-02-28 17:09:03 +01:00
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
130f592491
chore(lms): add longter,m validity filter, towards #2605
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
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
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
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
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
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
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
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
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
6cc929e377
fix(tutorial): fix exam occurrence form
...
works better, but still not 100%
some debugging added
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
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
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
4f524bd8d2
refactor(form): make all userField variants consistent with each other
2025-02-28 16:53:20 +01:00
aaf72f7255
chore(exam): show exam occurrences in participants views for tutorial and course
2025-02-28 16:53:20 +01:00
36a3b04ad8
chore(exam): add examiner to occurrence options
...
we intend to use the exam examiner for adding occurrences through tutorials
2025-02-28 16:53:20 +01:00
ae6d3b0fc3
fix(form): knownUserField not working as intended (WIP)
2025-02-28 16:53:20 +01:00
c0c1665ccb
refactor(form): knownUserField not working as intended (WIP)
2025-02-28 16:53:20 +01:00