Commit Graph

3823 Commits

Author SHA1 Message Date
Steffen Jost
02bf1d9a2c fix(build): minor move parenthesis to make linter happy 2023-04-24 13:22:04 +02:00
Steffen Jost
118dac79e7 Merge remote-tracking branch 'origin/fradrive/localmaster' 2023-04-20 19:12:24 +02:00
352ee215b4 fix(avs): chunk avs status query automatically 2023-04-20 17:11:43 +00:00
7d5c4bff25 fix(letter): update receiver postal address before sending 2023-04-20 16:03:50 +00:00
Steffen Jost
791220fb02 chore(debug): enable profiling properly 2023-04-20 15:16:39 +02:00
3f759614b4 chore(email): fix case sensitivity for fraport-e-account email checks 2023-04-20 10:10:06 +00:00
13f53e3221 chore(tutorial): attempt to fix download 2023-04-19 16:35:45 +00:00
Steffen Jost
ac22ab2942 Merge remote-tracking branch 'origin/fradrive/localmaster' 2023-04-06 18:10:13 +02:00
97096727d6 chore(avs): add debug info for failing avsQueryStatus call on problem page 2023-04-06 16:09:41 +00:00
768f03f672 feat(letter): allow printing of multiple course certificates at once 2023-04-06 15:41:59 +00:00
5f536864a5 refactor(letter): change pdf download for course certificates and filename generation 2023-04-06 12:56:59 +00:00
879b8a72be chore(letter): improve certificate interpolation and styling 2023-04-05 16:10:53 +00:00
db0eadc746 chore(letter): print certificates linked to tutorium 2023-04-05 11:13:53 +00:00
b3f01ba3b1 chore(letter): allow letter language to be fixed by MDLetter instance 2023-04-05 07:47:30 +00:00
5c11664830 chore(letter): implement course qualification letter (done) 2023-04-05 07:35:35 +00:00
a827f46f0f chore(letter): implement course qualification letter (wip) 2023-04-04 11:52:21 +00:00
Steffen Jost
e1b2c8a17e Merge remote-tracking branch 'origin/fradrive/localmaster' 2023-04-04 13:37:46 +02:00
45daa5820e chore(i18n): matricle to avs number 2023-04-04 06:05:26 +00:00
c49b329d18 chore(avs): use AVSNO as matriculation 2023-04-03 15:04:01 +00:00
1633d7573a chore(lms): improve lms-status display within qualifications 2023-04-03 13:44:06 +00:00
97abc47cdf chore(json): generic json to widget function for pretty printing 2023-04-03 09:27:43 +00:00
b0c211da65 chore(avs): create and link avs contact info page 2023-03-31 16:11:01 +00:00
bb27324ee8 fix(reachability): account for e-users being assigned a useless company department 2023-03-31 13:22:28 +00:00
48e86fa578 chore(admin): show active card colors on problem resolution page 2023-03-30 16:38:59 +00:00
Steffen Jost
d02e62ec20 fix(lms): lms-direct/deletion-days setting now represent #days to presever lms (used to be #days+1) 2023-03-29 10:32:14 +02:00
c62a42d5c2 fix(lms): send e-learning failed qualification only once 2023-03-28 14:57:31 +00:00
9cc1d93f1c Revert "fix(email): remove test for E#@fraport.de"
This reverts commit 7c2226e138.
2023-03-28 12:43:20 +00:00
7c2226e138 fix(email): remove test for E#@fraport.de 2023-03-28 11:47:56 +00:00
731d0ce7c7 fix(email): invert invalid email error indicator 2023-03-28 11:41:11 +00:00
ed1ae8dae3 chore(apc): trim idents received from apc 2023-03-28 11:24:44 +00:00
ba8bcc5436 chore(tutorial): show user qualification info 2023-03-27 17:51:34 +00:00
d48d922a9c chore(print): change default sorting order for print center 2023-03-27 15:12:55 +00:00
f29055a91b chore(login): remove obselete search for lmu logins 2023-03-27 15:00:43 +00:00
d8a601b970 chore(lms): fix default sorting for qualifications and sort optional columns always with nulls last 2023-03-27 14:42:25 +00:00
88a85bb5b6 fix(email): reenable ldap logins with invalid email addresses (missing mail field problem) 2023-03-27 14:33:45 +00:00
3b0f27d4f2 chore(avs): improve print of avs test interface 2023-03-24 18:06:55 +00:00
db9ffa1830 fix(lms): mark expired learners as ended with status expired 2023-03-24 17:33:17 +00:00
3664c1988c chore(tutorial): actions on 0 users are marked as warning 2023-03-24 17:30:57 +00:00
9c8b09a633 chore(userlist): allow sorting by admin role or system function 2023-03-24 16:11:48 +00:00
2622d24f03 chore(tutorial): adjust default day for new tutorials 2023-03-23 16:55:10 +00:00
6ca02875c2 chore(avs): implement InfoPersonContact query and test 2023-03-23 16:53:31 +00:00
4a359c82dc chore(changelog): supervisors may revoke amd retire licences 2023-03-22 16:35:00 +00:00
fa5fd98619 fix(acs): fix overzealous avs error catching resulting in unnecessary error messages 2023-03-22 16:26:36 +00:00
ee9481ebd8 chore(letter): letters may choose attachment encryption 2023-03-22 15:36:18 +00:00
2b745a4520 chore(renewal): adjust email and letter content, encrypt with examinee password only 2023-03-22 15:23:23 +00:00
dd137da665 chore(apc): ensure apc ident format after discussion with Massente 2023-03-22 15:02:19 +00:00
326ca71875 chore(apc): fix acknowledging mechanism after tests 2023-03-22 15:01:33 +00:00
81a30fadc4 chore(apc): adjust print acknowledging to deal with apcident in a backward compatible way 2023-03-22 12:14:10 +00:00
583a0a254d chore(letter): test printing with new ident strings working again 2023-03-22 10:35:39 +00:00
799f1fe184 fix(profile): email validation inverted 2023-03-22 10:35:03 +00:00
b84a6f2cf9 refactor(letter): adapt test letter printing 2023-03-21 12:35:30 +00:00
2c3ae0ea83 refactor(letter): sending test letters (WIP) 2023-03-20 17:12:21 +00:00
c9806302db refactor(letter): pdf letter mechanics 2023-03-20 16:07:13 +00:00
83ec6d4a90 chore(lms): regular renewal for lms success only 2023-03-20 15:15:52 +00:00
41810dbd75 chore(lms): delay lms user deletion by setting 2023-03-17 15:52:03 +00:00
56c3c8fe40 fix(html): use non-breakable dash in menu and column translations 2023-03-17 14:30:57 +00:00
825e4271c1 chore(qualifications): show associated qualifications in course 2023-03-17 10:01:33 +00:00
bb9c2259e9 chore(print): rework templating and apc acknowledge id mechanism 2023-03-16 17:53:16 +00:00
d2020866a8 Merge branch 'fradrive/localmaster' into fradrive/course-qualifications 2023-03-16 13:58:57 +00:00
0ccb9a3ffb chore(qualification): blocking on qualification page implemented 2023-03-16 12:56:41 +00:00
921e5df9d9 chore(company): show company column for lms and quals, show lms blocked reason for admins in quals 2023-03-16 11:47:21 +00:00
09c4eb3a7b chore(qualifications): use blocking mechanism (WIP) 2023-03-15 17:10:32 +00:00
8cc04c8e11 chore(email): improve email validity checks 2023-03-13 16:31:08 +00:00
3865afbceb fix(email): ensure sending to valid emails only 2023-03-10 17:56:02 +00:00
f6bed7d0fa chore(email): automatic mail reroute for dev environment 2023-03-10 10:30:07 +00:00
05832681d3 chore(email): dont allow numeric fraport accounts 2023-03-09 14:32:35 +00:00
84481048df chore(date): revert time range formatter 2023-03-09 11:13:58 +00:00
b069282d0a chore(term): use time range formatter 2023-03-09 11:11:37 +00:00
446ab76286 chore(latex): rework templates for print varieties 2023-03-08 17:45:28 +00:00
32d56e30cc chore(print): prepare modules for more letters 2023-03-07 15:09:51 +00:00
5eb14c8512 chore(tutorial): ensure that course qualification form actions are stll valid upon reception 2023-03-06 17:59:00 +00:00
ffaaf9c86d feat(course): associate qualifications with courses 2023-03-06 17:27:57 +00:00
a9cccef1a5 chore(lms): fix renewal filter for lms-user-handler 2023-03-06 15:38:09 +00:00
f20cbbb5df chore(qualifications): allow filtering by avsno and company 2023-03-06 15:26:38 +00:00
4f8295d334 chore(lms): add single lms user modal to qualifications page 2023-03-06 15:11:06 +00:00
be3fb39171 fix(lms): transmit renewed pins to lms 2023-03-03 16:10:00 +00:00
cbf296ab04 chore(dbt): cellHasUserModel to show users in modal 2023-03-03 11:46:16 +00:00
109e2373a4 chore(lms): account for local timezone in LMS communication 2023-03-03 09:56:17 +00:00
Steffen Jost
fd2931be95 chore(lms): set default sorting for lms tables by desc date with nulls last 2023-03-02 12:08:50 +01:00
Steffen Jost
b43f2364bb fix(dbtable): fix pagination bug 2023-03-01 17:40:55 +01:00
Steffen Jost
6bbcc2006b Revert "chore(qualifications): workaround for pagination error"
This reverts commit d8d7b8ccc5.
2023-03-01 17:09:05 +01:00
Steffen Jost
d8d7b8ccc5 chore(qualifications): workaround for pagination error 2023-03-01 12:37:07 +01:00
Steffen Jost
a97c8168da chore(lms): workaround for simultaneous success and failure lms status 2023-02-28 17:19:13 +01:00
Steffen Jost
f226a2518a chore(filtering): company filter accepts numbers, avs nr filter changed to being exact 2023-02-28 13:11:58 +01:00
Steffen Jost
4d46d9d843 chore(lms): increase limit for pagination problem workaround 2023-02-27 12:39:22 +01:00
Steffen Jost
878c87a378 chore(tutorials): force qualification option order 2023-02-27 11:48:34 +01:00
Steffen Jost
0b545e4d0a chore(sap): filter failed LDAP synchs for 3 months 2023-02-24 18:20:08 +01:00
Steffen Jost
3406db1dfd chore(sap): filter internal personal numbers between 10000 and 99999 2023-02-24 16:09:28 +01:00
Steffen Jost
ed0925442c chore(lms): add filters by avsno and company 2023-02-24 15:47:38 +01:00
Steffen Jost
741b3f79fe chore(lms): add hidden pin column to e-learning page 2023-02-24 11:56:56 +01:00
Steffen Jost
5a886c9837 Merge branch 'fradrive/tutorial-overhaul' 2023-02-23 22:19:04 +01:00
Steffen Jost
0cecd7e07d chore(users): filter by avsno 2023-02-23 17:56:05 +01:00
Steffen Jost
e2a8feee3b fix(avs): update names from avs too 2023-02-23 12:17:49 +01:00
Steffen Jost
1c41a4991a chore(qualification): allow admins to see all qualifications 2023-02-22 16:54:41 +01:00
Steffen Jost
b2bdfb2ba2 Merge branch 'master' into fradrive/tutorial-overhaul 2023-02-22 16:32:52 +01:00
Steffen Jost
2ca99d7176 fix(build) 2023-02-22 16:27:19 +01:00
Steffen Jost
2b379a4f5e chore(qualifications): provide supervisor-usable user link 2023-02-22 14:42:23 +01:00
Steffen Jost
c7d6467878 Merge branch 'master' into fradrive/tutorial-overhaul 2023-02-22 12:46:23 +01:00
Steffen Jost
f412a467a8 Merge branch 'master' of gitlab.ifi.lmu.de:fradrive/fradrive 2023-02-22 12:39:02 +01:00
Steffen Jost
33574b4554 chore(letter): use DejaVu Sans Mono as tt font in letters for readability 2023-02-22 12:38:58 +01:00
Steffen Jost
5ab7102797 chore(lms): improve readability for lms passwords 2023-02-22 09:35:35 +01:00
Steffen Jost
b3861144aa chore(qualifications): renew regularly implemented 2023-02-21 13:45:34 +01:00
Steffen Jost
8c7158eac9 Merge branch 'master' into fradrive/tutorial-overhaul 2023-02-14 13:23:00 +01:00
Steffen Jost
c3b6d186c4 chore(avs): allow companies without postal address 2023-02-13 17:47:53 +01:00
Steffen Jost
430de83366 chore(email): use userDisplayEmail primarily, userEmail as fallback only 2023-02-13 16:46:41 +01:00
Steffen Jost
f0b20a1b26 fix(print): disable default filter for print acknowledged 2023-02-13 12:56:56 +01:00
Steffen Jost
4e4508b919 refactor(avs): reduce DB overhead in updateReceivers 2023-02-13 09:56:19 +01:00
Steffen Jost
e466f001d8 chore(qualficiation): proof of concept qualification renewal code 2023-02-10 19:14:25 +01:00
Steffen Jost
bf466c688d chore(email): obey email/postal preference even if no pin password is set 2023-02-10 12:51:08 +01:00
Steffen Jost
242dd0b8d4 fix(lms): lms admin renew pin actions were ignored 2023-02-10 12:12:53 +01:00
Steffen Jost
e68d05f3ee chore(profile): ignore PDF pin password if postal is preferred 2023-02-10 12:01:45 +01:00
Steffen Jost
1cc6240354 fix(supervisors): reroute to non-avs supervisors too 2023-02-10 12:00:54 +01:00
Steffen Jost
87e1219ebb Preset new tutorial name to today +1 2023-02-09 09:50:37 +01:00
Steffen Jost
eedb78664d chore(ldap): ldap sync uses prefers UserLdapPrimaryKey if available. Ref #29 2023-02-08 16:55:11 +01:00
Steffen Jost
d47e8c4909 fix(avs): strip trailing whitespace from avs names upon import only 2023-02-08 15:35:01 +01:00
Steffen Jost
935403ec4f chore(postal): count number of unreachables us 2023-02-08 14:45:19 +01:00
Steffen Jost
9fafb0b7c3 fix(ldap): improve debug message 2023-02-08 10:06:44 +01:00
Steffen Jost
71ccac0dfe fix(email): avoid sending to invalid email address 2023-02-07 18:31:35 +01:00
Steffen Jost
006ab632a3 fix(ldap): allow ldap update for mangled user entries 2023-02-07 18:31:13 +01:00
Steffen Jost
6098d4554d chore(qualifications): supervisor page finished with sorting and infos 2023-02-07 15:32:41 +01:00
Steffen Jost
80e5dad4aa chore(lms): qualifications view for supervisors 2023-02-06 20:16:18 +01:00
Steffen Jost
cc070ed21b chore(super): split view compiles again 2023-02-06 16:10:56 +01:00
Steffen Jost
2de8ee0ee6 chore(letter): use tt-font for pin and password 2023-02-06 10:27:45 +01:00
Steffen Jost
11cc45aacf fix(build): weird build error, probably whitespace in routes 2023-02-03 18:52:05 +01:00
Steffen Jost
882bd2a14b chore(qualification): create page for supervisors (WIP) 2023-02-03 18:07:05 +01:00
Steffen Jost
f9b9f79a9e Merge branch 'master' into fradrive/split-lms 2023-02-03 15:42:04 +01:00
Steffen Jost
1c02b85fa2 fix(letter): email wrapper for renewal letter reinstated in full again 2023-02-02 18:56:56 +01:00
Steffen Jost
451dcd0a09 chore(company): assign company supervisors for new users (model:add column) 2023-02-02 13:12:12 +01:00
Steffen Jost
ca59adee03 chore(lms): increase readability printed lms pins 2023-02-02 12:57:52 +01:00
Steffen Jost
394ce3066c chore(course): direct link for add participant to existing tutorial 2023-02-02 09:57:02 +01:00
Steffen Jost
e9eeaca229 chore(avs): set qu-renewal flag; tutorial add space separated 2023-02-01 18:00:53 +01:00
Steffen Jost
086e49e2ae fix(sap): do not export e-accounts 2023-02-01 13:20:51 +01:00
Steffen Jost
6ff26fcc6c core(avs): add tooltip about lms notifications 2023-01-31 18:36:15 +01:00
Steffen Jost
ed147dbd20 fix(user): check reachability by post or email did not account for department 2023-01-31 14:38:49 +01:00
Steffen Jost
f434eff083 refactor(notifications): change notifications defaults 2023-01-31 13:32:39 +01:00
Steffen Jost
f0170f0774 chore(qualifications): provide separate route for lms and qualifciations 2023-01-27 15:57:48 +01:00
Steffen Jost
01cc46c6e4 chore(avs): log postal address changes 2023-01-27 13:29:54 +01:00
Steffen Jost
d21d66781d chore(letter): make updateReceivers failsafe 2023-01-27 12:27:10 +01:00
Steffen Jost
43ace1c6a0 chore(users): allow multiple company-user associations at once 2023-01-27 11:48:37 +01:00
Steffen Jost
526b38027e workaround(pagination): add paginations workarounds to lms and avs synch 2023-01-25 17:10:09 +01:00
Steffen Jost
3d51f2ebdb chore(avs): upsertAvsUser now has a failsafe alternative 2023-01-20 17:54:46 +01:00
Steffen Jost
21fe05ea95 chore(letter): reactivate user update before sending 2023-01-20 17:49:40 +01:00
Steffen Jost
b3a87c440c chore(avs): remove dangerous test button 2023-01-20 10:43:58 +01:00
Steffen Jost
f208d2aa99 attempt to fix build by removing derive Typeable (likely no effect) 2023-01-20 09:17:50 +01:00
Steffen Jost
5e2931db9e another attempt to fix build 2023-01-19 22:36:47 +01:00
Steffen Jost
ad4fbc41c6 chore: refactor to fix circular depenency, update receivers before sending, improve company model 2023-01-19 17:59:58 +01:00
Steffen Jost
65ea64780f chore(users): add birthday field 2023-01-18 18:51:53 +01:00
Steffen Jost
53499fd637 chore(avs): ensure audit log usage for avs problem resolution 2023-01-18 18:04:30 +01:00
Steffen Jost
06f283be7e chore(avs): add safety catch for revoke unknown avs licences 2023-01-18 17:36:11 +01:00
Steffen Jost
86d947f7e8 fix(mail): mail-reroute-to now changes envelope-recipients as expected 2023-01-18 17:33:12 +01:00
Steffen Jost
cabecec99d chore(avs): preparations for avs synch confirmation 2023-01-17 18:45:06 +01:00
Steffen Jost
eb4e50b19c chore(avs): show avs config on test page 2023-01-17 18:13:46 +01:00
Steffen Jost
19012abd38 chore(users): add action to remove all supervisors 2023-01-17 15:53:59 +01:00
Steffen Jost
c42930d4d0 chore(lms): deactivate lms actions for supervisors 2023-01-17 15:52:38 +01:00
Steffen Jost
d6f7214b03 chore(lms): add arbritrary text to qualificationBlocked 2023-01-17 14:32:56 +01:00
Steffen Jost
9da61c10b5 chore(mail): add setting to reroute all mails (letters are generated but not sent) 2023-01-17 13:34:37 +01:00
Steffen Jost
18767aa968 chore(lms): introduce flag for cancelled qualifications that will no longer be renewed 2023-01-17 11:33:14 +01:00
Steffen Jost
771bcd6993 chore(users): change supervisors in user list 2023-01-13 19:04:36 +01:00
Steffen Jost
b503ced38f Merge branch 'master' of gitlab.ifi.lmu.de:fradrive/fradrive 2023-01-13 11:55:31 +01:00
Steffen Jost
92d520060f chore(users): clarify new user auth notifications options 2023-01-12 17:32:22 +01:00
Steffen Jost
a0338a40a1 Revert "Merge branch 'master' of gitlab.ifi.lmu.de:fradrive/fradrive"
This reverts commit b732479d89
2023-01-12 16:59:01 +01:00
Steffen Jost
a1516d9116 fix(user): add new user failed due to AuthNoLogin not treated in notification template 2023-01-12 16:52:23 +01:00
Steffen Jost
306b54fa3e chore(avs): attempts to fix pagination on avs synch resolve page 2023-01-12 11:55:01 +01:00
Steffen Jost
f69b9eef13 chore(avs): show only 200 avs synch diffs per table - workaround pagination 2023-01-11 17:32:14 +01:00
Steffen Jost
4214c164c4 chore(letter): default pdf passwort card no without leading zeros 2023-01-11 11:50:31 +01:00
Steffen Jost
850c52b496 fix(avs): import avs users without ldap entry 2023-01-10 18:11:42 +01:00
Steffen Jost
93c83f3833 chore(avs): refine display for unkown avs ids 2023-01-09 17:28:46 +01:00
Steffen Jost
76e9f7ff66 chore(avs): add company sorting and filtering in avs problem resolution 2022-12-23 17:13:32 +01:00
Steffen Jost
913efb70ba chore(avs): complete AVS synch resolutions options 2022-12-23 16:22:55 +01:00
Steffen Jost
71c141a08d chore(avs): fix #21 2022-12-22 17:13:29 +01:00
Steffen Jost
b97c28413b chore(avs): distinguish grant vorfeld between up and downgrade 2022-12-22 16:06:03 +01:00
Steffen Jost
6fcc48dea4 Merge branch 'master' into fradrive/api-avs 2022-12-22 10:37:18 +01:00
Steffen Jost
187a3b01ea chore(letter): fix english language renewal letter wording 2022-12-22 10:36:53 +01:00
Steffen Jost
cb94586265 Merge branch 'master' into fradrive/api-avs 2022-12-22 09:06:17 +01:00
Steffen Jost
92b28a7085 chore(avs): avs problem resolution revoke fradrives licences implemented 2022-12-21 18:04:17 +01:00
Steffen Jost
8a9d432a23 chore(mail): fix html meta head, 3rd attempt 2022-12-21 16:43:33 +01:00
Steffen Jost
fca52aa7e6 chore(mail): fix html meta head, 2nd attempt 2022-12-21 16:38:59 +01:00
Steffen Jost
473cc57727 chore(mail): fix html meta head 2022-12-21 16:23:43 +01:00
Steffen Jost
38e47a2e99 chore(mail): fix various typos and formatting problems 2022-12-21 16:03:53 +01:00
Steffen Jost
90a5f07c04 fix(mail): fix various minor email attachment problems 2022-12-20 17:39:21 +01:00
Steffen Jost
a748b499ae chore(avs): add licence choice to resolve avs synch 2022-12-20 16:04:52 +01:00
Steffen Jost
635532ec49 chore(avs): synch problems to avs implemented 2022-12-20 15:35:14 +01:00
Steffen Jost
0ffb85cb29 chore(avs): show avs person number on avs problems pages 2022-12-20 13:27:53 +01:00
Steffen Jost
bac476e266 chore(avs): fix qualification validity filtering 2022-12-20 12:52:22 +01:00
Steffen Jost
b203ededaa chore(avs): fix avs synch rowkey ident problem 2022-12-20 09:54:19 +01:00
Steffen Jost
d6cdda10c1 chore(avs): fix problem listing no fd licence but in avs 2022-12-19 16:15:17 +01:00
Steffen Jost
b83fbc114a chore(avs): add min valid duration end date in add tutorial participant 2022-12-16 18:44:01 +01:00
Steffen Jost
cdf6c181a9 chore(avs): add end day for problem resolve in FRADrive 2022-12-16 18:43:34 +01:00
Sarah Vaupel
e69821a56f chore: rename unused bindings 2022-12-15 19:25:14 +01:00
Sarah Vaupel
df28d9de4e chore: reintroduce warnings as errors 2022-12-15 19:11:47 +01:00
Sarah Vaupel
a7ed5d637b Merge branch 'master' into fradrive/frontend 2022-12-15 18:51:25 +01:00
Steffen Jost
ce88a2d170 chore(avs): add resolve actions to problems (WIP) 2022-12-15 17:38:46 +01:00
Steffen Jost
d365688ce9 Merge branch 'master' into fradrive/api-avs 2022-12-14 18:17:44 +01:00
Steffen Jost
37b46a3abb chore(avs): WIP fixing avs synch problems 2022-12-14 18:08:35 +01:00
Steffen Jost
df1a816d83 chore(avs): minor improve avs debugging printout 2022-12-14 16:05:03 +01:00
Steffen Jost
2163ed96d0 chore(lms): disable some content from lms overview page for non-admins 2022-12-14 15:37:43 +01:00
Steffen Jost
5f515d7420 Merge branch 'master' into fradrive/api-avs 2022-12-14 14:52:13 +01:00
Steffen Jost
f8d20cd9c8 chore(avs): add problem resolver for unknown avs driving licences 2022-12-14 14:50:35 +01:00
Steffen Jost
18af47b6d5 chore(ui): remove asidenav 2022-12-14 09:37:59 +01:00
Sarah Vaupel
5a2d2247ad Merge branch 'master' into fradrive/driving-course-participants 2022-12-13 22:23:19 +01:00