diff --git a/VBGO/vbgo.sql b/VBGO/vbgo.sql index 1a0f77351..cff4c41f2 100644 --- a/VBGO/vbgo.sql +++ b/VBGO/vbgo.sql @@ -1456,6 +1456,105 @@ END; / +CREATE OR REPLACE PROCEDURE vbgo_daily +AS + -- Alle personen die in de groep zitten dat ze alleen een emailadres hebben en geen windows login (geen laptop) + -- Waarbij geen wachtwoord is ingesteld. + CURSOR c_setpw IS + SELECT p.* + FROM prs_perslid p + WHERE prs_perslid_key IN + (SELECT prs_perslid_key + FROM fac_gebruikersgroep gg, fac_groep g + WHERE gg.fac_groep_key = g.fac_groep_key AND fac_groep_omschrijving = 'SG-VFS-NL-APP-FACPRD') + AND prs_perslid_salt IS NULL; + + -- Alle personen die in de groep zitten dat ze alleen een emailadres hebben en geen windows login (geen laptop) + -- Waarbij al wel een wachtwoord is ingesteld. + -- Bij deze mensen hoeven we alleen het vinkje te zetten. + CURSOR c_setpw_once (c_kenmerk_key NUMBER) + IS + SELECT p.* + FROM prs_perslid p + WHERE prs_perslid_key IN + (SELECT prs_perslid_key + FROM fac_gebruikersgroep gg, fac_groep g + WHERE gg.fac_groep_key = g.fac_groep_key AND fac_groep_omschrijving = 'SG-VFS-NL-APP-FACPRD') + AND prs_perslid_salt IS NOT NULL + AND NOT EXISTS + (SELECT 1 + FROM prs_kenmerklink kl, prs_kenmerk k + WHERE kl.prs_link_key = p.prs_perslid_key AND kl.prs_kenmerk_key = c_kenmerk_key); + + -- Alle personen die het vinkje hebben staan dat ze in de via wachtwoord inloggen maar die niet (meer) deel uitmaken van de autorisatiegroep + CURSOR c_delpw (c_kenmerk_key NUMBER) + IS + SELECT p.* + FROM prs_perslid p + WHERE prs_perslid_key NOT IN + (SELECT prs_perslid_key + FROM fac_gebruikersgroep gg, fac_groep g + WHERE gg.fac_groep_key = g.fac_groep_key AND fac_groep_omschrijving = 'SG-VFS-NL-APP-FACPRD') + AND EXISTS + (SELECT 1 + FROM prs_kenmerklink kl, prs_kenmerk k + WHERE kl.prs_link_key = p.prs_perslid_key AND kl.prs_kenmerk_key = c_kenmerk_key); + + + v_kenmerk_key NUMBER; +BEGIN + SELECT prs_kenmerk_key + INTO v_kenmerk_key + FROM prs_kenmerk + WHERE prs_kenmerk_code = 'WACHTWOORDACCOUNT'; + + FOR rec IN c_setpw + LOOP + PRS.setpassword (rec.prs_perslid_key, 'kPrqyyQcvaEUwhmqMoExSfQCGFs6-Egb'); + FLX.setflex ('PRS', + v_kenmerk_key, + rec.prs_perslid_key, + 'P', + 1); + FAC.trackaction ('PRSUPD', + rec.prs_perslid_key, + NULL, + NULL, + 'Logt in met wachtwoord: (leeg) --> 1'); + END LOOP; + + FOR rec IN c_setpw_once (v_kenmerk_key) + LOOP + FLX.setflex ('PRS', + v_kenmerk_key, + rec.prs_perslid_key, + 'P', + 1); + FAC.trackaction ('PRSUPD', + rec.prs_perslid_key, + NULL, + NULL, + 'Logt in met wachtwoord: (leeg) --> 1'); + END LOOP; + + FOR rec IN c_delpw (v_kenmerk_key) + LOOP + PRS.setpassword (rec.prs_perslid_key, NULL); + FLX.setflex ('PRS', + v_kenmerk_key, + rec.prs_perslid_key, + 'P', + NULL); + FAC.trackaction ('PRSUPD', + rec.prs_perslid_key, + NULL, + NULL, + 'Logt in met wachtwoord: 1 --> (leeg)'); + END LOOP; +END; +/ + + ------ payload end ------ SET DEFINE OFF