Commit Graph

4426 Commits

Author SHA1 Message Date
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
d2f69dc023 fix(doc): minor haddock fixes 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
5d46479a33 chore(icons): add instructions on how to add icons 2025-02-28 16:39:28 +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
85511091cc fix(test): fix test problem and add tests for UserEyeExam and UserDrivingPermit 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
e8af2b8da9 refactor(TH): minor code clean up 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
9d26c1c171 refactor(occurrences): fix migration 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
0105aa8c3f refactor(model): move JSONB instance to proper module 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
733324a732 chore(config): add config/develop-settings.yml only active if DEVELOPMENT
Ensure that certain settings are NOT seen in production, but automatically active in development without using environment variables.
2025-02-28 16:25:43 +01:00
ce35c8efc9 Merge branch '145-build-system-rewrite' 2025-02-28 15:37:36 +01:00
4ea031ed6b refactor(backend): hlint 2025-01-27 13:37:49 +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
cc7fa8333c chore(icons): contribute to #2397 by improving the comment instructions 2024-11-26 09:02:53 +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
d4f264dc18 refactor: revisit static file embedding
remove memcached-based static caching, serve static files directly from binary embedding, remove frontend bundler entrypoint and widget generation (directly add js/css in siteLayout)
2024-10-25 04:40:24 +02:00
599c35c042 chore(backend): removed ref to widget file 2024-10-20 23:43:15 +02:00
41cb0c83eb chore(backend): include stylesheet in default layout 2024-10-20 23:41:03 +02:00
0f990db1ea build(frontend): rework bundler (esbuild) asset and static file embedding using manifest 2024-10-18 18:06:38 +02: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
ea113cf57a chore(login): limit number of suggestions for dummy development login for convenience 2024-09-10 17:45:27 +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
3c5edb1b97 fix(avs): typo in superior remark, towards #178 2024-09-04 16:29:12 +02:00
4f7855b9ee fix(avs): acs auto synch had inverted success/failure
also: some minor typo fixes
2024-09-03 12:53:51 +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
be5e609b1f fix(build): minor linter fix 2024-08-12 18:01:59 +02:00
cc5da9a2a9 fix(avs): fix #124 implement automatic avs driving licence synchronisation 2024-08-12 18:01:04 +02:00
e551fadd29 chore(sql): add regex match for sql 2024-08-12 12:36:27 +02:00
2ed626ea4a chore(avs): towards #124 add filter for multiple firm users with block reason '%firm%'
- also add warning to admin avs licence difference for AVS R licence holders about to be changed
2024-08-09 18:33:23 +02:00
f4823aaf28 refactor(avs): switch some runDB to runDBRead 2024-08-09 17:59:14 +02:00
760b102d52 chore(avs): flag AVS R-holders about to be revoked
- flag on admin problem view
- exempt from automatic avs licence synch for levels below 3
2024-08-09 17:01:10 +02:00