Commit Graph

1632 Commits

Author SHA1 Message Date
7503a55039 refactor(tutorial): exam occurrence form function and appearance 2025-01-24 17:28:58 +01:00
516e8cc849 refactor(tutorial): exam occurrence editing received specialised page 2025-01-15 17:59:24 +01:00
d275e465c8 chore(exam): add convenience function to duplicate exam occurrences to another day 2025-01-13 19:26:43 +01:00
3faf8017b6 chore(exam): auto name generation for examOccurrences 2025-01-13 17:53:22 +01:00
b095b4feed fix(tutorial): fix exam occurrence form
works better, but still not 100%
some debugging added
2025-01-09 19:24:35 +01:00
f954ebce43 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-01-09 12:57:33 +01:00
c218a55be8 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-01-08 19:01:59 +01:00
d37d39301c chore(tutorial): towards #2347 exam occurrence form added (WIP) 2025-01-08 15:28:10 +01:00
f9562c4a32 chore(tutorial): assign exam rooms for tutorial users ad hoc 2024-12-19 15:57:49 +01:00
032a344ed1 Merge branch 'fradrive/merge-jost-new-build' of https://dev.azure.com/fraport/Fahrerausbildung/_git/FRADrive into fradrive/merge-jost-new-build 2024-12-18 09:17:14 +01:00
52f361c24e refactor(daily): move caching into own submodule
we need those methods in Handler.Tutorial.Users as well
2024-12-18 09:06:39 +01:00
bd8630472b refactor: backport saltine (0.2.0.0->0.1.1.1) for compatibility with proper lts-18.0 stack snapshot image 2024-12-16 17:40:48 +01:00
92a43ac131 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
2024-12-13 17:27:02 +01:00
ed70a92856 refactor(form): make all userField variants consistent with each other 2024-12-13 16:21:53 +01:00
eab6b6363d chore(exam): show exam occurrences in participants views for tutorial and course 2024-12-12 18:28:15 +01:00
6d172c8259 chore(exam): add examiner to occurrence options
we intend to use the exam examiner for adding occurrences through tutorials
2024-12-09 17:38:34 +01:00
f81a99d224 fix(form): knownUserField not working as intended (WIP) 2024-12-06 14:16:24 +01:00
130140b60d fix(form): knownUserField not working as intended (WIP) 2024-12-06 12:41:18 +01:00
d6de55a886 refactor(form): knownUserField not working as intended (WIP) 2024-12-05 18:17:34 +01:00
a454ac9d32 chore(form): add knownUserField accepting known users only 2024-12-04 18:10:13 +01:00
e051557d3e chore(daily): towards #2347 check complete, except i18n
also missing: displaying memcached check results in each line of day view
2024-11-29 18:13:30 +01:00
612a931d36 chore(daily): towards #2347 by performing AVS queries/updates
actual checking of retrieved values is still a todo
2024-11-28 17:04:59 +01:00
6c50758800 fix(hlint): implement some hlint suggestions 2024-11-27 17:12:32 +01:00
59b945ce4c chore(daily): adjust css, improve suggestions 2024-11-26 18:03:43 +01:00
08b38af137 chore(daily): add suggestions to note fiels (WIP) 2024-11-22 18:54:08 +01:00
06fa34c938 chore(tutorial): build model for #90 2024-10-21 15:59:32 +02:00
d4d511a02f fix(room): deduplicate room column and fix order 2024-10-17 16:48:09 +02:00
ec2b09b20b chore(daily): show rooms for tutorial lessons 2024-10-15 17:48:36 +02:00
8506c4d7e0 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
2024-10-11 11:23:29 +02:00
ed44edc199 chore(daily): show course associated qualifications 2024-10-09 18:11:22 +02:00
ab46577b7e 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:21:31 +02:00
be7fc2e540 fix(avs): avs firm update no longer may update wrong company
Note: noticed while working on #225
2024-10-09 11:47:46 +02:00
3960931bb5 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-08 17:47:46 +02:00
56c2be7b79 refactor(occurrences): fold RoomReference into Occurrences, completed 2024-10-08 13:01:44 +02:00
4e171a7a1a fix(memcached): using memcachedHere did not compile due to staging problems 2024-10-08 10:08:04 +02:00
f642b9cccf fix(occurrences): room occurrence form works now 2024-10-07 18:31:02 +02:00
21592347b4 chore(occurrences): workaround provide simple room field with least recent suggestions 2024-10-04 16:13:01 +02:00
e625dca6ea 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
2024-10-04 12:19:27 +02:00
83fe750b15 refactor(occurrences): remove RoomReference from model and add migration 2024-09-30 13:56:45 +02:00
e29e6f3db8 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
2024-09-24 17:15:15 +02:00
4c2baa4e9f fix(occurrences): occurringLessons had an erroneously inverted condition 2024-09-24 13:05:16 +02:00
384c39b9ec chore(occurrences): add datatype LessonTime for dealing timetable intervals 2024-09-24 11:21:33 +02:00
a262921a7d 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)
2024-09-23 18:52:26 +02:00
05638c2b51 chore(memcached): add key classes for easy invalidation 2024-09-23 17:09:47 +02:00
53c68638da chore(daily): make company a property of TutorialParticipant, towards #90 2024-09-16 17:16:19 +02:00
6e3dd1c1f3 chore(daily): add more columns #90 2024-09-13 18:03:41 +02:00
d0eb3ddf92 refactor(jsonb): change DB using JSONB, to improve stub #90 2024-09-13 13:39:38 +02:00
faaaa18247 refactor(map): clarify some unnecessarily obfuscated code
also, using Map.fromList is more efficient if the list happens to be ordered
2024-09-11 17:43:56 +02:00
6a070a6775 fix(supervision): fix #181 by unifying deletion of supervision 2024-09-10 17:47:09 +02:00
ade27e6479 fix(avs): fix #178 by deleting old superiors for individual users 2024-09-05 17:53:18 +02:00