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
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
d209a110e8
refactor(linter): implement minor hlit suggestion
2024-08-08 17:30:03 +02:00
c3d27c25b5
chore(mail): add decoder for MIME encoded word
2024-08-08 16:52:02 +02:00
1e6547e903
refactor(comm): clean CommCenterR and MailCenterR handlers and unify these
2024-08-08 13:56:10 +02:00
6299612adc
refactor: various minor changes, mostly some comments
2024-08-07 17:51:33 +02:00
8f54ea1051
refactor(qualifications): unify qualification selectField mechanics
2024-08-07 17:50:38 +02:00
c1dbd61c14
chore(mail): minor code cleanup mailCenterR
...
-- hiding currently unneded dbtForm
-- slightly better formatting for MIME encoded word
2024-08-07 13:52:47 +02:00
e35a5e99a6
fix(user): format userDisplayNames having umlaut substitutes with respect to userSurname correctly
...
we often have displayNames like "Steffen Joest" and surname "Jöst" which were previously displayed as "Steffen Joest (**Jöst**)" and which are now displayed as "Steffen **Jöst**".
Also, the case of surname is left unchanged, while the displayName is converted to title
2024-08-07 11:44:39 +02:00
ab00a4f665
chore(mail): fix #171 by adding a route for all notifications to users and displaying them
2024-08-06 17:42:27 +02:00
21d32fd4cf
chore(mail): mail display towards #171
2024-08-05 18:15:56 +02:00
4df8bd2fa5
chore(mail): stub towards #171
...
new routes /mail and /mail/show/UUID to eventually display all sent emails by the system
2024-08-02 18:28:16 +02:00
d1fa01fcc5
fix(avs): towards #117 update if current value is Nothing even if oldval == newval
...
Damit sollten zumindest die ganzen NULL Fälle bein einem neuen Update erledigt sein. Unklar, wo diese aber herkamen.
2024-08-02 16:13:09 +02:00
ec02767552
fix(course): fix #150 no longer allow duplicated associated qualifications and orders due to editing existing
2024-08-02 15:40:25 +02:00
cfd25348ad
fix(course): fix #148 course qualification ordering
...
some refactoring done along the way, fixing a bug in relation to #150 as well
2024-08-01 17:45:18 +02:00
e1419766f3
fix(course): fix #149 course cloning proposes associated qualifications
...
This commit required a massInput form, using massInputAccumEditA, which turned out to difficult to use.
2024-08-01 17:09:05 +02:00
5b6e4e60e7
fix(course): fix #150 course edit for associated qualifications requires school admin or lecturer rights
2024-08-01 11:41:27 +02:00
bc47387c91
fix(course): WIP course cloning should propose same associated qualifications, towards #149
2024-07-31 19:03:30 +02:00
0fde59c19a
chore(profile): show user courses among enrolled course type list
...
(Recall: course = tutorial, course type = course)
2024-07-31 17:51:13 +02:00
507a7e02fc
fix(avs): using firm superior as UserEmail is a no-go due to uniqueness constraints
...
Thus, we do not save the firm superior as `UserEmail` any more. The firm superior email is still used as a fallback for `CompanyEmail` which in turn is used as a fallback email, if a `CompanyUser` has no valid email at all.
2024-07-31 15:03:26 +02:00
43f5c5f485
fix(avs): fix #173 by not using firm superior email as display email
...
Instead, a valid firm superior email is used as `UserEmail` so that it can be used as a fallback address.
2024-07-31 14:16:40 +02:00
b9f70c7796
chore(avs): ensure supervisor reroutes are correct upon company switch
2024-07-30 15:58:12 +02:00
d853e8559b
fix(lms): allow 2nd reminders to be independent of renewal period
2024-07-12 17:14:48 +02:00
e6f0454e78
Merge branch 'fradrive/newletter'
2024-07-12 14:01:12 +02:00
8c8ffa5183
chore(avs): remove company superior, if there is none anymore
2024-07-12 13:44:21 +02:00
fee14edf36
refactor(firm): fix #157 refactor duplicated code
...
also ensures that supervisor default reaons filters are obeyed.
2024-07-12 12:21:17 +02:00
0bbb679a43
chore(profile): indicate linked postal addresses
2024-07-12 12:12:26 +02:00
28e2739e51
fix(firm): fix #157 by removing redundant duplicated code in firm user and supervision handling
2024-07-11 18:37:40 +02:00
c17c18f924
fix(build): make linter happy again
2024-07-11 15:28:58 +02:00
d65fb2f4cd
chore(firm): add reason for user company association
2024-07-10 15:54:15 +02:00
6e2d545772
chore(users): allow profile edits with invalid display_email address, if unchanged
2024-07-10 12:23:37 +02:00
fa0541aa4e
fix(job): change some queueJob' to queueJob instead
2024-07-10 11:47:01 +02:00
a1668f891a
fix(users): nameHtml no longer complains about differing case for surname and displayname
2024-07-09 17:06:33 +02:00
c813c665ed
fix(users): remove users with company post address from list of unreachable users
2024-07-09 11:56:58 +02:00
9a0e8988fa
refactor(health): avoid duplicate interface health check speficiations
2024-07-09 10:45:30 +02:00
9d3198f49b
chore(health): avoid duplicate interface health check speficiations
2024-07-08 18:11:46 +02:00
2caa5aec5b
chore(health): add option to mark certain interface health checks to remain indefinitely
2024-07-08 15:34:19 +02:00
3def8ca916
chore(letter): add number of tries as qualification property
2024-07-08 14:22:54 +02:00
468af9de9d
fix(lms): move lms reuse info from QualificationR to LmsR
...
LmsR is intended to be seen by Fraport Admins only, while QualificationR is intended to be seen by Supervisors (in the future).
The LMS reuse information might confuse non-admins and is irrelevant to them.
2024-07-05 17:40:12 +02:00
3a66bed173
chore(firm): towards #169 distinct icon for avs firm superior (user-tie)
2024-07-04 14:38:31 +02:00
f869a829d2
fix(lms): fix #161 lms for multiple joint qualifications
2024-07-04 14:15:05 +02:00
feb8d92bc1
chore(log): add more filter options to admin problem log
2024-07-03 17:56:13 +02:00
0725a9a908
chore(lms): towards #169 option to prevent qualifications to renew automatically upon e-learning
2024-07-03 15:51:42 +02:00
357e943f21
chore(avs): towards #169 - filter users by last avs synch
2024-07-02 18:15:27 +02:00
5bf85394d4
fix(avs): towards #169 - superiors are elevated to max priority for that company
...
this entails that users may have multiple equal priority companies
2024-07-02 18:14:54 +02:00
99f03078a1
chore(db): use runDBRead more often
2024-07-02 17:37:34 +02:00
7ca3237ad0
chore(profile): towards #169
...
- only one matrikelnumber
- proper update indication for matrikelnumber and pin
- only display tables with data in profile
- refactor supervision overviews
2024-07-02 16:55:12 +02:00
9e2f2214ce
fix(avs): do not associate users by AvsInfoPersonEmail
2024-07-02 15:27:56 +02:00
ff9014ce05
fix(avs): fix superfluous quotes for matriculation numbers on newly created users
2024-07-02 13:20:34 +02:00
622c01b9be
chore(profile): towards #169
...
- profile supervison streamlined (WIP)
2024-07-01 18:04:25 +02:00
6d49ea092b
chore(profile): towards #169
...
- distinguished reroute icon
- profile cleaned/reordered
2024-07-01 16:24:38 +02:00
d4f3ce7bf3
fix(firm): supervisor secondary did not work as intended
...
also, adding company link to secondary supervisors
2024-06-28 11:26:55 +02:00
45bc5ca9f5
chore(firm): various contributions towards #157
2024-06-27 17:42:13 +02:00
3dfc7f8c8b
fix(doc): fix erroneous unintentional haddock annotations
2024-06-27 16:48:47 +02:00
e25a8569c5
chore(lms): add action to manually enqueue qual holder for e-learning
2024-06-27 16:29:25 +02:00
37efc89e07
fix(avs): company superior emails become company wide supervisors
2024-06-27 12:40:35 +02:00
975bf13d9c
chore(avs): proper company superiors as company wide default APs (WIP)
2024-06-26 17:18:41 +02:00
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
b3d1dabfc2
refactor(profile): clean ui, reduce unnecessary routes
2024-06-25 11:16:20 +02:00
c212f2e8d7
fix(i18n): add missing translation for new primary company
2024-06-25 08:30:39 +02:00
f425bd9afe
chore(avs): add covenience clean up to avs admin person search
2024-06-24 11:30:17 +02:00
d161c296ad
Merge branch 'master' into fradrive/newletter
2024-06-24 09:06:33 +02:00
07663516e5
fix(build): hlint wants a newtype instead
2024-06-21 23:34:58 +02:00
18cdc52df0
fix(build): hlint wants a newtype instead
2024-06-21 23:33:58 +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
f37c08099c
chore(jobs): add option to manually delete old jobs
2024-06-21 13:45:08 +02:00
822c43c8a7
fix(avs): fix type causing avs surname upate not working
2024-06-21 08:45:16 +00:00
73aecc2df8
fix(print): fix #167 by sotring affected user in PrintJob
2024-06-20 18:22:35 +02:00
dfe4352575
chore(letter): switch to new letters
...
- contributes towards #64 and #82
2024-06-20 17:04:51 +02:00
34199a37fd
chore(users): multiple name filter and remove subordinates
2024-06-20 12:58:34 +02:00
e5cbd096ce
Merge branch 'master' into fradrive/newletter
2024-06-19 17:53:16 +02:00
ab5e432b77
refactor(avs): use associated type family to consistently produce CheckUpdate
2024-06-19 15:10:23 +02:00
d83cb66c8b
Merge branch 'fradrive/cr3'
2024-06-17 17:51:48 +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
ad8e67dab1
Merge branch 'fradrive/cr3'
2024-06-12 17:51:15 +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
f5754cd6b1
chore(users): add convenience buttons for ldap avs sync on profile page
...
towards #164
2024-06-11 15:22: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
ac3271242d
chore(firm): filter firm users by primary company
...
towards #157
2024-06-11 12:04:26 +02:00
ab2e81f34d
Merge branch 'fradrive/cr3'
2024-06-10 18:42:46 +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
5b9d757ca4
chore(avs): person search triggers status and contact search for unique results for added convenience
2024-06-07 12:57:35 +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
396312092a
Merge branch 'fradrive/cr3'
2024-05-27 17:23:12 +02:00
ea0fa9a3fa
chore(avs): add more debug message for company updates failing
2024-05-27 17:21:28 +02:00
b77e9e1d1c
Merge branch 'fradrive/cr3'
2024-05-23 18:19:08 +02:00
9814712c61
refactor(letter): first test version of new letters
2024-05-23 18:18:13 +02:00
9451d90a9e
fix(avs): company update checks uniques and ignores those updates if necessary
2024-05-23 17:08:30 +02:00
f47134c2f0
Merge branch 'fradrive/cr3'
2024-05-19 09:00:12 +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
7fd13677d3
Merge branch 'fradrive/cr3'
2024-05-06 20:01:26 +02:00
3c4a0b86c1
fix(avs): fix #76 allowing company changes and fix #69
2024-05-06 19:35:59 +02:00
29182cb6dd
chore(avs): switch company (WIP)
2024-05-06 16:58:58 +02:00
6084f92ad7
chore(avs): switch prime company
2024-05-06 16:33:57 +02:00
2fbd28154c
fix(build): workaround non modal form result handler
2024-05-06 09:42:17 +02:00
21273e361a
chore(avs): fix #76 allowing admins to switch to secondary company
2024-05-03 17:17:24 +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
b8d41d10c9
Merge branch 'fradrive/cr3'
2024-04-26 18:14:17 +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
13a648de18
refactor(avs): first steps towards #69
2024-04-25 18:14:53 +02:00
6fd45f6896
refactor(avs): complete rewrite AVS synch
...
Three former background jobs could be removed
2024-04-25 17:07:12 +02:00
fea749f367
refactor(avs): rewrite AVS synch (WIP)
2024-04-25 09:55:40 +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
fd6a5384d3
fix(qualification): fix #159 by removing an misleadingly named column for user qualification table
...
The columns QualificationUserLastNotified is misleading, since it only reflects notifications due to actual validity changes. This is necessary for the notification mechanism.
In case this column is reinstatiated, a better column name and a proper tooltip was added to the column.
2024-04-22 11:50:13 +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