Commit Graph

1641 Commits

Author SHA1 Message Date
2559346d96 fix(avs): new AVS from existing LDAP user no longer misses fields 2024-06-26 15:08:38 +02:00
f108c6cfec fix(avs): match mobile number better between LDAP and AVS 2024-06-25 17:36:33 +02:00
e4fa1ddd68 fix(avs): priority for picking primary email demote superior 2024-06-25 15:54:55 +02:00
f8c36636ff fix(letter): expiry and valid dates were wrong 2024-06-25 14:11:50 +02:00
766b8589d6 fix(avs): keep company on unchange address/email only if either is non-empty 2024-06-21 13:47:05 +02:00
822c43c8a7 fix(avs): fix type causing avs surname upate not working 2024-06-21 08:45:16 +00:00
ab5e432b77 refactor(avs): use associated type family to consistently produce CheckUpdate 2024-06-19 15:10:23 +02:00
a6d0105903 fix(avs): fix rare avs update bug involving values optional in avs but compulsory in user entity 2024-06-17 17:50:41 +02:00
0eac40457b chore(avs): add more auto update indicators to profile page 2024-06-13 14:51:05 +02:00
76e0710c7b fix(avs): fix #165 by updating userCompanyDepartmen and userCompanyPersonalNumer
- Die interne Firma Assoziation im User-Eintrag wird gelöscht, sobald der letzte erfolgreiche LDAP Sync älter ist als der eingestellte SYNCHRONISE_LDAP_EXPIRE (default = halbes Jahr).
- Firmen-Assoziation wird ebenfalls gelöscht, falls vorhanden
- Die Personalnummer bleibt erhalten, wenn das AVS diese noch liefert; ansonsten wird sie ebenfalls gelöscht.
- UserLdapPrimaryKey wird ggf. von AVS aktualisiert
2024-06-12 17:48:17 +02:00
a3beca87d1 chore(firm): filter associates by valid qualficiations
towards #157
2024-06-12 15:06:14 +02:00
996e6a0ce5 fix(avs): repeated avs sync enqueue no longe violates duplicate db uniqueness constraints 2024-06-12 11:47:23 +02:00
da74b95729 fix(avs): fix #164 by removing companyPersonalNumber and companyDepartment upon ldap sync expiry
SYNCHRONISE_LDAP_EXPIRE may be null (do nothing) or some seconds (15897600 = half a year). If no successful LDAP synch happened for the specified time, a successful AVS (sic!) update will delete the companyPersonalNumber and companyDepartment
2024-06-11 15:42:24 +02:00
64b21d6fe6 chore(cache): add caching for simpleLinks and modal access 2024-06-11 12:53:17 +02:00
9fd80f2552 fix(avs): update email on manual company switch
towards #164
2024-06-11 12:12:56 +02:00
e6c57035f9 chore(firm): only show/link primary company for a user in several places
contributes to #164
2024-06-10 18:40:58 +02:00
bb101dee7b fix(avs): company update no longer fails on duplicate key 2024-06-10 14:56:33 +02:00
e553ad4358 fix(avs): profile page correctly indicates automatic email and postal addresses 2024-06-07 17:42:05 +02:00
aa1d230e49 fix(avs): steps towards #164
- link avs nr to status on profile page
- link companies on profile page
- swap icons for isAutomatic
- improve jsonWidget number display for integers and small floats
2024-06-07 12:31:54 +02:00
ea0fa9a3fa chore(avs): add more debug message for company updates failing 2024-05-27 17:21:28 +02:00
9451d90a9e fix(avs): company update checks uniques and ignores those updates if necessary 2024-05-23 17:08:30 +02:00
ff2347b1c9 fix(avs): avs update on company shorthands working now 2024-05-17 18:06:16 +02:00
ccf9340449 fix(avs): deal gracefully with empty card status results 2024-05-17 12:05:08 +02:00
3c4a0b86c1 fix(avs): fix #76 allowing company changes and fix #69 2024-05-06 19:35:59 +02:00
5944efcb86 chore(avs): change to secondary company (WIP) form missing 2024-05-02 17:29:04 +02:00
fdbaa3c9d4 chore(avs): add function to change to secondary company 2024-04-30 17:45:29 +02:00
697979c277 fix(avs): fix #69 by redesigning live avs status page 2024-04-26 17:55:29 +02:00
a5dfd5e10f refactor(avs): add more logging to AVS synch ops 2024-04-26 16:04:28 +02:00
6fd45f6896 refactor(avs): complete rewrite AVS synch
Three former background jobs could be removed
2024-04-25 17:07:12 +02:00
2e4e1a94c9 refactor(avs): rewrite AVS synch (WIP) 2024-04-24 18:01:44 +02:00
a52c8a6ad7 fix(avs): several minor bugfixes
- See notes in #158 for details on update change policy
- fieldLensVal was not working
- create index for deleted table prevented start
- some hlint errors
2024-04-22 18:19:07 +02:00
4f8850b3b4 fix(avs): fix #36 and remove dead code 2024-04-18 18:30:23 +02:00
b7af6312f9 refactor(avs): complete createAvsUserById 2024-04-18 18:02:16 +02:00
234dd28f48 refactor(avs): rework fraport email recognition 2024-04-18 13:32:00 +02:00
cb2778e206 refactor(avs): rework createAvsUserById, dealing with supervision (WIP) 2024-04-16 17:31:55 +02:00
a373abad26 refactor(avs): safe old card-no to perform pdf pin pass updates 2024-04-16 12:56:03 +02:00
3b7762f451 refactor(avs): rework createAvsUserById (WIP) 2024-04-16 11:40:55 +02:00
54c08cc64b refactor(avs): rework upsertAvsUserByCard/Id 2024-04-12 17:27:46 +02:00
1f7c175a58 refactor(avs): rework guessAvsUser 2024-04-11 17:54:45 +02:00
4c29150371 chore(AVS): implement user avs update to primary company as outlined in graph in wiki 2024-04-08 18:31:29 +02:00
d213c8e4a1 chore(AVS): (WIP) implement user avs update to primary company 2024-03-22 12:24:08 +01:00
7a5917131c chore(avs): WIP properly update userCompany upon AVS change 2024-03-21 16:55:23 +01:00
1c5ca24dc5 chore(avs): WIP keep supervision if company keeps email or address 2024-03-20 18:07:27 +01:00
4a51f94a8f chore(avs): WIP update UserCompany accodring to AVS 2024-03-19 18:29:38 +01:00
b51f8a454a chore(log): display admin problem table with actions on admin problem view 2024-03-18 18:01:36 +01:00
08d2f8c2fc chore(log): add admin problem table 2024-03-13 18:00:39 +01:00
66eaa4f7dc fix(build): minor error non-development code 2024-03-13 11:23:25 +01:00
724e4a0bec fix(build): add import needed for production only 2024-03-13 08:30:54 +01:00
dcb947b1fb refactor(email): eliminate userAddress function due to user company linked email 2024-03-12 13:02:38 +01:00
09d10e1ba2 refactor(user): empty postal uses high priority company address instead working 2024-03-08 18:06:52 +01:00
9985151002 refactor(user): empty postal uses high priority company address instead (WIP) 2024-03-07 18:43:43 +01:00
c179c03f9d chore(avs): update company supervisors on avs user update 2024-03-06 13:41:18 +01:00
0b7175c26c refactor(avs): company upsert done
updating supervision is still a todo
2024-02-27 17:56:58 +01:00
c382be9325 fix(avs): invalidate contact cache after licence writes 2024-02-19 17:28:40 +01:00
d578e80282 fix(avs): disable caching by 0s no longer causes an exception 2024-02-19 10:57:09 +01:00
57a4aeb475 refactor(avs): remove need for undecideable super classes by simply using a sensible class definition 2024-02-19 09:39:06 +01:00
66ef4066b3 chore(avs): undecidableSuperclasses to sidestep consequences of type erasure 2024-02-14 13:28:19 +01:00
b39f69df12 chore(avs): remove avs_cards, add generic queries WIP 2024-02-13 19:05:10 +01:00
ad2375b338 fix(avs): fix #152 by providing new online avs card filter throughout 2024-02-13 17:05:30 +01:00
ef36e22f76 chore(avs): make avs timeouts setting configurable 2024-02-13 16:25:58 +01:00
ce4869f155 Merge branch 'master' into fradrive/cr3 2024-02-13 10:21:09 +01:00
d4f7dce716 chore(avs): card no filter basic functionality WIP compiles 2024-02-12 19:02:57 +01:00
42695cf5ef fix(sql): remove potential bug in relation to missing parenthesis after not_ 2024-02-12 12:00:40 +01:00
482dbe5c4e chore(dbtable): add FilterColumnIO and proof-of-concept
This commit adds a new type of filter to dbtables in module Pagination. The filter can perform an arbitrary IO action on its arguments before producing an sql/esqueleto filter expression.

Also, we turn some unnecessarily monadic code pure.
2024-02-07 17:38:53 +01:00
bbb9f9fadb chore(health): telling interface table compiles 2024-02-02 17:16:19 +01:00
d1fce58ec2 refactor(utils): minor changes for timeoutHandler 2024-01-30 15:32:46 +01:00
4154b1f26b chore(utils): add timeoutHandler to run a sub-handler to be killed by timeout 2024-01-30 14:44:43 +01:00
de45731a9b refactor(company): supervison and company tables changed
- company avs id must be unique now, companies with id 0 are deleted
- user supervision can be annotated with company and or a reason, used to avoid accidental supervision relations; company supervision resets ignore non-company supervisions
2024-01-22 18:54:33 +01:00
f40448cd31 refactor(avs): minor code cleaning 2024-01-19 16:59:42 +01:00
9bf38d8198 chore(avs): email updating implemented 2024-01-18 17:19:44 +01:00
e8d66a4734 chore(avs): lenses for virtual avs fields created 2024-01-17 19:04:42 +01:00
45c3f11a83 chore(avs): add failure notices after contact update 2024-01-12 18:13:23 +01:00
cb807fce98 refactor(avs): using MaybeT 2024-01-12 16:57:17 +01:00
b5340a18a2 chore(avs): heterogeneous list working 2024-01-12 15:48:54 +01:00
61aba7e515 updateAvsUser (partial) requires migration 2024-01-11 19:23:35 +01:00
88f24fe6f1 fix(firm): improve supervisor filter by caching 2023-12-19 18:15:09 +01:00
f36f234c42 chore(firm): improve efficiency of foreign supervisor filter 2023-12-13 16:25:11 +01:00
0b9a1257db chore(admin): show lms and sap interface status on problem page 2023-12-07 13:16:55 +01:00
a15862ea72 fix(print): keep print jobs on user merge and lms id deletion 2023-12-04 16:03:31 +01:00
fcc802753a chore(lms): remove obsolete lms handlers v1 2023-12-01 18:11:17 +01:00
6aa06292b8 Merge branch 'fradrive/company' 2023-12-01 17:02:55 +01:00
b1ce55597e chore(lms): remove debug code 2023-12-01 13:29:38 +01:00
75e4975c52 refactor(mail): course and firm message are sent only once to each supervisor 2023-11-30 18:32:25 +01:00
92aca1b830 refactor(performance): disable modalAccess use for known admins
modalAccess displays a link to modal only
if the user has the rights to follow that link.
However, for large dbTables this checking takes
too long. So we use a conventional modal instead again.
Worst-case: some non-admins are shown links that they cannot follow
2023-11-28 15:32:33 +01:00
640a2e61d1 chore(messages): Add SomeMessages newtype
SomeMessages provides a RenderMessage instance for a list of messages.
2023-11-27 12:29:25 +01:00
fcceef265d Merge branch 'fradrive/company' 2023-11-24 17:45:04 +01:00
c5c4a62de0 chore(firm): various
- multiSelectField working
- section hiding demo working
- modal links access rights checking
2023-11-22 17:59:15 +01:00
60fc5f8b63 Merge branch 'fradrive/company' into 'master'
Fradrive/company

Closes #67

See merge request fradrive/fradrive!23
2023-11-22 08:08:48 +00:00
83bab6b86b chore(firm): implement fix #67 Maske Firmen 2023-11-21 18:45:51 +01:00
b9f2d3bda4 chore(firm): add setting for global communications cc 2023-11-21 16:53:06 +01:00
975c9c6c00 Merge branch 'fradrive/company' 2023-11-17 17:55:35 +00:00
44c4b3b6a8 chore(firm): implement several table actions; add supervisor form 2023-11-17 18:54:34 +01:00
715b751363 chore(firm): add columns and filters and refactor some 2023-11-16 18:49:41 +01:00
8c4f848675 fix(avs): preserve unset pin passwords in update 2023-11-15 15:30:37 +01:00
698a9c5497 refactor(firm): msg, titles and headings 2023-11-14 17:37:05 +01:00
65cdc8ddfe fix(firm): firm messaging now works fine 2023-11-14 16:55:14 +01:00
42ff02d27e fix(firm): sending messages works, but not test messages 2023-11-14 12:57:51 +01:00
25c4ba7136 chore(messaging): add debugging statements 2023-11-13 18:07:30 +01:00
a6fb00f072 minor refactor 2023-11-13 17:10:27 +01:00
674f6fd81f fix(build) 2023-11-10 08:01:02 +00:00
5d8802732a debug(firm): attempt to find error when using firm communication 2023-11-09 18:07:39 +01:00
f627de503e Merge branch 'master' into fradrive/company 2023-11-08 17:58:31 +01:00
9ee80f8f7f chore(lms): message action done for firm views 2023-11-08 17:41:59 +01:00
a98c3190e0 chore(firm): messaging almost complete - illegal variable name splicing dispatch 2023-11-08 13:00:31 +01:00
631d157688 chore(firm): add messaging action (WIP) 2023-11-07 18:38:21 +01:00
069561763c refactor(firm); supervisor table sorting and company column 2023-11-06 12:17:11 +01:00
d7a94b9619 chore(lms): include lms ids in qualification audit log events triggered by e-learning 2023-11-03 14:41:31 +01:00
ce7597238d fix build 2023-10-31 17:47:52 +01:00
13ee3e7315 chore(firm): separate firm name nr filters 2023-10-30 17:18:04 +01:00
ff176faa12 chore(users): remove duplicated link from company personal number 2023-10-27 17:28:00 +02:00
0ab1cd17be chore(firm): add contact preference column
and make firm nr filter exact
2023-10-27 13:34:37 +02:00
a28786412e chore(firm): add firm-all filters and code cleaning 2023-10-24 16:13:31 +00:00
dfa03f8ba8 refactor(firm): dbTable form for firm all with selection box working now 2023-10-24 10:07:12 +00:00
603f04f026 Merge branch 'master' into fradrive/company 2023-10-20 16:45:42 +00:00
5d8d8cf17e fix(course): grant qualifications now issues and unblocks 2023-10-19 11:21:35 +00:00
92e83475a9 chore(firm): link firms throughout 2023-10-18 15:45:59 +00:00
e3b6a7e4c6 chore(qualification): block expired qualification users explicitly 2023-10-06 11:16:49 +00:00
f776aaaef5 chore(lms): prefix lms-ident with qualification shorthand 2023-10-06 09:14:19 +00:00
60644528fc refactor(lms): show deletion days parameter and ensure audit log period is accounted for 2023-09-28 15:05:04 +00:00
8b0218ba89 refactor(qualification): more efficient correct code to discern expiry notifications 2023-09-28 11:29:02 +00:00
cdb23115ef refactor(lms): clean lms handling code 2023-09-27 15:36:05 +00:00
bb708ca540 fix(qualifications): latest block could ignore itself 2023-09-25 15:46:48 +00:00
f7b2f35421 refactor(lms): clean code for nicer links in lms status widget 2023-09-25 15:39:09 +00:00
81b821c88a chore(lms): better links in lms status widget 2023-09-25 15:25:38 +00:00
61d414e3d5 chore(qualifications): restrict regular renewal to half valid duration 2023-09-21 14:32:32 +00:00
e59a2fc373 Merge branch 'test' 2023-09-21 13:02:14 +00:00
a320ed498a chore(lms): fix build erroneous signature 2023-09-21 09:08:35 +00:00
273cc288d4 chore(lms): more discreet debug info for simultaneous blocks 2023-09-21 08:17:43 +00:00
11752dc5ac fix(lms): treat simultaneous blocks/unblocks correctly 2023-09-20 14:52:01 +00:00
29e5ed25df Merge branch 'test' 2023-09-20 12:29:41 +00:00
dfa07a95eb fix(time): midnight timezone conversion bug eliminated 2023-09-20 11:14:47 +00:00
520e649fc8 chore(lms): minor refactoring for selectValidQualifications 2023-09-20 09:51:43 +00:00
2bdb85faa1 chore(lms): full timestamps in LmsStatus too 2023-09-19 18:31:20 +00:00
ecd1a0fc21 fix(lms): simultaneous block/unblock lets unblock win in all situations 2023-09-19 12:56:19 +00:00
bf53c639e7 chore(table): allow compulsory multi filter criteria 2023-09-06 15:58:18 +00:00
4754ad4b80 chore(lms): allow table filtering by multiple LMS ids and names in several views 2023-09-01 15:11:26 +00:00
f7ad290053 chore(lms): clean learner icons and sorting 2023-08-31 12:22:47 +02:00
a452b032c4 fix(lms): negate learner locking condition 2023-08-30 07:44:38 +00:00
da26901f8b chore(lms): minor fix reset tries conditions 2023-08-29 15:26:13 +00:00
69d689fe90 chore(lms): fix #93 2023-08-29 11:27:35 +00:00
d9a6eab833 chore(lms): reset tries mechanism implemeneted, display still todo 2023-08-28 15:48:04 +00:00
2909deb4f6 chore(lms): WIP reset tries and lock logic part 1 2023-08-25 15:31:26 +00:00
c6f2b21927 Merge branch 'test' into fradrive/lms-type-refactor 2023-08-25 14:10:55 +00:00
34ada53de0 fix(build): refix test commits somehow 2023-08-25 13:58:21 +00:00
3085b8d91d chore(lms): implement report dispatch job DONE 2023-08-25 12:35:21 +00:00
12f4bcfa1b chore(lms): WIP implement report dispatch job, PART 2 2023-08-24 15:45:54 +00:00
9c156f1b58 chore(lms): WIP implement report dispatch job 2023-08-23 15:42:55 +00:00
8ecdaca4d6 Quickfix for apc sever seeing ligatures that do not exist 2023-08-22 08:56:43 +00:00
3014b68992 Merge branch 'master' into test 2023-07-26 08:59:44 +00:00
5397c7be35 fix(qualification): new block/unblock mechanism working now 2023-07-26 08:59:08 +00:00