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
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
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
6f3dd408bb
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
c2e0f6b2b8
chore(form): add knownUserField accepting known users only
2025-02-28 16:53:20 +01:00
b42e93e891
chore(daily): implement left-over todos and i18n
2025-02-28 16:53:17 +01:00
e53be8ddf9
fix(icons): fix some botched icon definitions, for real
2025-02-28 16:52:22 +01:00
6d583fe8c4
fix(icons): fix some botched icon definitions
2025-02-28 16:52:22 +01:00
f47528c741
chore(daily): fix #2349 completing daily sanity check
2025-02-28 16:51:10 +01:00
ad1d235bea
chore(daily): towards #2347 check complete, except i18n
...
also missing: displaying memcached check results in each line of day view
2025-02-28 16:50:23 +01:00
d4d915bd60
chore(daily): towards #2347 by caching and sorting results
2025-02-28 16:47:46 +01:00
07cfc0adcb
fix(hlint): implement some hlint suggestions
2025-02-28 16:42:37 +01:00
c08d6ae0d0
chore(daily): properly implement note suggestion caching and invalidation
2025-02-28 16:42:37 +01:00
6a0876ae55
chore(daily): basic functionality #1939 completed and checked - filters now work as intended - textField suggestions now work as intended
2025-02-28 16:42:37 +01:00
1f7e9b6a2f
chore(daily): adjust css, improve suggestions
2025-02-28 16:42:03 +01:00
564488d5fa
chore(day): attempt to fix participant note suggestions
2025-02-28 16:40:57 +01:00
500c9a749a
chore(daily): add suggestions to note fiels (WIP)
2025-02-28 16:40:57 +01:00
ede00deb86
refactor(daily): user company discrepancies
2025-02-28 16:40:16 +01:00
9eb075836f
fix(daily): form submit now works as intended
2025-02-28 16:39:33 +01:00
0a29540089
fix(doc): Update outdated GitLab references to DevOps work items
2025-02-28 16:39:33 +01:00
6f1ad811f7
chore(firm): add action to add non-avs firm associates
2025-02-28 16:39:33 +01:00
cd76bdd4e7
chore(day): complete form columns for daily view (untested)
...
unfortunately `make start` does not enter DEVELOPMENT mode currently, so this is not yet testeted.
2025-02-28 16:39:33 +01:00
e1dca7d6b0
chore(day): make form columns compile eventually
2025-02-28 16:39:33 +01:00
7e09636a2b
chore(day): add missing form columns
2025-02-28 16:38:42 +01:00
8317f682d8
chore(tutorial): (WIP) towards #90 write form columns
2025-02-28 16:38:41 +01:00
02d10006fc
fix(build)
2025-02-28 16:38:41 +01:00
2fdb132140
chore(tutorial): show additional columns for #90
...
columns are distinguished by user and the entities given in parenthesis:
- driving permit (tutorial)
- eye exam (tutrial)
- tutorial note (tutorial)
- attendance (tutorial & day)
- attendance-note (tutorial & day)
- parking permit (day)
2025-02-28 16:38:41 +01:00
fba0b71d50
chore(tutorial): build model for #90
2025-02-28 16:38:41 +01:00
4934f5f89d
fix(room): deduplicate room column and fix order
2025-02-28 16:38:41 +01:00
133a8d3739
chore(daily): show rooms for tutorial lessons
2025-02-28 16:38:41 +01:00
ac766ea217
refactor(TH): add sqlMIXproj' using reify on TableExpr for more comfort
2025-02-28 16:38:41 +01:00
a113d43089
chore(TH): add sqlMIXproj to improve dbTable usage, also add card-nos to DayTask Table
2025-02-28 16:38:41 +01:00
14140c982b
refactor(memcached): checking memcached key security mechanisms
...
RESULTS:
Keys for memcached use their Binary representation!
This means that the following three are all interchangeable as a key:
newtype Foo1 = Foo1 { someInt1 :: Int } deriving newtype (Binary)
data Foo2 = Foo2 { someInt2 :: Int } deriving (Binary)
type Foo3 = Int
Therefore it is best to use $(memcachedHere) or $(memcachedByHere) if possible or add another type
2025-02-28 16:38:41 +01:00
ce125b6495
chore(daily): show course associated qualifications
2025-02-28 16:38:41 +01:00
0c78996260
fix(avs): fix #225 by skipping firm updates entirely if AVS FirmInfo is unchanged for previously seen values for AVS User to be updated
2025-02-28 16:38:18 +01:00
b78c898ebf
fix(avs): fix #224 repeated superior changes no longer occur
...
furthermore AdminProblems are only inserted if the same problem does not exist unsolved
2025-02-28 16:35:13 +01:00
4bca7580d0
refactor(occurrences): fold RoomReference into Occurrences, completed
2025-02-28 16:32:52 +01:00
46f777740f
fix(memcached): using memcachedHere did not compile due to staging problems
2025-02-28 16:32:52 +01:00
a7b08b1ae5
fix(occurrences): room occurrence form works now
2025-02-28 16:32:52 +01:00
3e6717904a
chore(occurrences): workaround provide simple room field with least recent suggestions
2025-02-28 16:32:52 +01:00
2059d678ee
refactor(memcached): remove ARC cache and LRU logic some more
...
more leftover dead code was removed, especially cache prewarm options that no longer had an effect on a non-existing ARC cache
2025-02-28 16:32:52 +01:00
225af31943
chore(occurrences): add GIN index for JSONB columns
2025-02-28 16:32:52 +01:00
22d6cf737e
refactor(occurrences): remove RoomReference from model and add migration
2025-02-28 16:32:52 +01:00
35cadda2e8
refactor(occurrences): fold RoomReference into Occurrences (WIP)
...
Each Occurrence now has its own RoomReference, i.e. Mondays may have a different Room assigned than Tuesdays
WIP Problem: occurrencesAFrom does not work, always insists on Room missing
2025-02-28 16:32:52 +01:00
692350677f
fix(build): minor
2025-02-28 16:32:52 +01:00
36b481a548
fix(occurrences): occurringLessons had an erroneously inverted condition
2025-02-28 16:32:52 +01:00
cb58c20ca1
chore(occurrences): add datatype LessonTime for dealing timetable intervals
2025-02-28 16:32:52 +01:00
e757209b80
refactor(memcached): remove ARC cache entirely
...
NOTE: this was a crude surgery, removing everything ARC related; some dead code artifacts may have remained.
Especially check PrewarmCacheConf
Reason for removall: adding `memcachedInvalidateClass` was difficult to implement with ARC active; ARC was known to be problematic; removal was easier (see #2 2024-09-23)
2025-02-28 16:32:25 +01:00
74c330bd24
chore(memcached): add key classes for easy invalidation
2025-02-28 16:29:45 +01:00
cac0a47d01
refactor(daily): factor our tutorial selection function
2025-02-28 16:25:43 +01:00
5c70b1099c
fix(firm): filtering by active supervisor working
2025-02-28 16:25:43 +01:00
26ea39dc67
fix(lpr): print log sorting works now
2025-02-28 16:25:43 +01:00
2385d989a8
fix(build)
2025-02-28 16:25:43 +01:00
3bae365b37
chore(lpr): improve lpr log display
2025-02-28 16:25:43 +01:00
1d01897757
chore(daily): make company a property of TutorialParticipant, towards #90
2025-02-28 16:25:43 +01:00
ce62b99d2b
chore(daily): add more columns #90
2025-02-28 16:25:43 +01:00
4dbe005709
chore(daily): add page actions #90
2025-02-28 16:25:43 +01:00
11ef856b2b
refactor(jsonb): change DB using JSONB, to improve stub #90
2025-02-28 16:25:43 +01:00
5a03d1cabe
chore(daily): improve stub #90 change DB to JSONB (WIP)
2025-02-28 16:25:43 +01:00
0264c87510
chore(daily): create stub in preparation for #90
2025-02-28 16:25:43 +01:00
e9a4c838a8
refactor(map): clarify some unnecessarily obfuscated code
...
also, using Map.fromList is more efficient if the list happens to be ordered
2025-02-28 16:25:43 +01:00
ce35c8efc9
Merge branch '145-build-system-rewrite'
2025-02-28 15:37:36 +01:00
e90d11682b
fix(lms): eliminate unlikely possible discrepancy for LMS deletion indicator
...
It was theoretically possible for LMS Learner deletion tag to be not correctly shown in LMS table.
Also see #2605 for further related issues.
2025-01-10 16:49:53 +01:00
1ab8a93b53
refactor: backport saltine (0.2.0.0->0.1.1.1) for compatibility with proper lts-18.0 stack snapshot image
2024-12-15 01:02:45 +01:00
9a281f040e
fix(print): apcidents somehow include newlines after DB update; strip these
2024-11-18 12:36:05 +01:00
0b70036a02
fix(LMS): fix #2235 by notifying LMS user upon reset
2024-11-08 13:47:16 +01:00
3b0029ba04
fix(avs): fix #225 by skipping firm updates entirely if AVS FirmInfo is unchanged for previously seen values for AVS User to be updated
2024-10-09 12:50:32 +02:00
e554048f5a
fix(avs): avs firm update no longer may update wrong company
...
Note: noticed while working on #225
2024-10-09 12:50:32 +02:00
e59fff352f
fix(avs): fix #224 repeated superior changes no longer occur
...
furthermore AdminProblems are only inserted if the same problem does not exist unsolved
2024-10-09 12:50:32 +02:00
6a070a6775
fix(supervision): fix #181 by unifying deletion of supervision
2024-09-10 17:47:09 +02:00
6ffc49ae0e
chore(avs): auto licence synch preview show AVS-No as well
2024-09-10 12:36:52 +02:00
ab8b17229a
chore(health): show db time on status page and status time diffs in a human readable format
2024-09-09 16:41:43 +02:00
74f7633837
fix(notifications): fix #180 qualification expiry notification are sent only once
2024-09-09 15:34:41 +02:00
ade27e6479
fix(avs): fix #178 by deleting old superiors for individual users
2024-09-05 17:53:18 +02:00
cbadef0a73
chore(mail): fix #179 reorder attachments and guess PDF pin password in Text display
2024-09-05 16:28:20 +02:00
2a27a1efa6
fix(avs): fix #124 avs auto synch filter working
...
also, provide test facility for auto synch
2024-09-05 16:27:10 +02:00
620e3e4700
fix(mail): fix #179 by adding download links for PDF attachments
2024-09-05 14:09:50 +02:00
f0798e8836
chore(avs): debug automatic avs licence synch within admin avs test page
2024-09-04 18:08:08 +02:00
1e896da4a3
chore(avs): prepare superior update shortcircuit for future
2024-09-02 09:08:44 +02:00
7e5c256b4c
fix(avs): company superiors are now irregular supervisors and old ones are deleted
...
DETAILS:
Superiors:
- Superiors do not become Company-Default-Supervisors automatically
- Superiors become irregular supervisors without rerouting, existing supervisions are not changed
- Superiors become company users at equal-to-max priority, if not already
For each AVN User update:
- if superior change for unchanged company:
all company supervisions with remark "Vorgesetzter" are removed
create admin problem that notifies about superior change (special if new superior could not be created)
- all company associates are irregularly supervised by the new superior with remark "Vorgesetzer"
Questions:
- company had superior, but no longer: just remove superior-supervisions, do not report admin problem?
- Problem: superior changed, but we first encounter this through a user changing company. Change is not detected at this point, old superiors remain until an old company associate is updated too
2024-08-30 17:41:33 +02:00
43319fbcca
chore(admin): unreachable page offers convient avs and ldap synch buttons
2024-08-29 18:12:10 +02:00
f946e99da3
fix(ldap): no more timeout for ldap synch all button
2024-08-29 16:45:39 +02:00
cfe2318f81
fix(avs): attempt LDAP upsert before creating avs users
2024-08-29 16:15:16 +02:00
64ff002ffb
chore(firm): provide more filters for supervisors
...
also fix build #175
2024-08-29 14:34:37 +02:00
8397c468a0
fix(firm): fix #175 by separating superiors in firm tables and selections
2024-08-28 17:50:44 +02:00
81721b0794
chore(status): improve readability of time spans
2024-08-28 10:45:11 +02:00
40dadd5876
fix(firm): fix #174 by adding address search filter to all company view
2024-08-28 10:44:27 +02:00
8ec2875590
fix(avs): switch company did not always increase priority
2024-08-27 16:23:42 +02:00
9c82558d71
fix(user): fix pagination and count for supervision tables
2024-08-26 17:40:57 +02:00
e8f9c21b7c
chore(problem): admin problem filtering works on full text now
2024-08-26 15:17:01 +02:00
109e845db6
chore(problem): towards admin problem filtering
2024-08-22 17:44:19 +02:00
53abdb7cc3
chore(health): augement #154 by adding option to disable interface warnings
...
Also:
- add usage explanation
- show intervals in a human readable form
2024-08-22 17:28:28 +02:00
407ba543a1
chore(health): fix #154 by adding interface warning threshold edit handler
2024-08-21 17:34:19 +02:00
f61c35cfe7
refactor(companies): mark table columns showing only prime company as such, fix #5
...
- also improve performance by changing dbtProj/selectList into a subselect
- fix #5 no longer sensible, as most are single values to be displayed right away
2024-08-21 11:52:29 +02:00
b0972bb154
fix(mail): display html emails no longer distorts page
...
html is filtered once through pandoc, as proposed in #2
2024-08-20 12:35:16 +02:00