FCLT#59433 Harder voorkomen dat _FACILITOR wordt verwijderd
svn path=/Database/trunk/; revision=44512
This commit is contained in:
@@ -2089,7 +2089,8 @@ INSERT INTO prs_perslid
|
|||||||
prs_perslid_otpsecret,
|
prs_perslid_otpsecret,
|
||||||
prs_perslid_dienstverband,
|
prs_perslid_dienstverband,
|
||||||
prs_perslid_ingangsdatum,
|
prs_perslid_ingangsdatum,
|
||||||
prs_perslid_opmerking
|
prs_perslid_opmerking,
|
||||||
|
prs_perslid_flags
|
||||||
)
|
)
|
||||||
VALUES ('PRS',
|
VALUES ('PRS',
|
||||||
(SELECT prs_srtperslid_key
|
(SELECT prs_srtperslid_key
|
||||||
@@ -2105,7 +2106,8 @@ INSERT INTO prs_perslid
|
|||||||
'1$30$6$0$' || RAWTOHEX(DBMS_RANDOM.string ('p', 20)), /* printable characters geeft zo'n 130 bits */
|
'1$30$6$0$' || RAWTOHEX(DBMS_RANDOM.string ('p', 20)), /* printable characters geeft zo'n 130 bits */
|
||||||
100,
|
100,
|
||||||
SYSDATE,
|
SYSDATE,
|
||||||
'System account for Facilitor maintenance.'||CHR(13)||'For use by Facilitor support'
|
'System account for Facilitor maintenance.'||CHR(13)||'For use by Facilitor support',
|
||||||
|
32
|
||||||
);
|
);
|
||||||
|
|
||||||
-- Toevoegen gebruiker om HMAIL-API uit te voeren
|
-- Toevoegen gebruiker om HMAIL-API uit te voeren
|
||||||
@@ -2123,7 +2125,7 @@ INSERT INTO prs_perslid (prs_perslid_module,
|
|||||||
'API-user tbv. hMail-koppeling',
|
'API-user tbv. hMail-koppeling',
|
||||||
'_HMAIL',
|
'_HMAIL',
|
||||||
DBMS_RANDOM.string ('a', 32),
|
DBMS_RANDOM.string ('a', 32),
|
||||||
4,
|
36,
|
||||||
'System account for incoming email.'||CHR(13)||'For Facilitor internal use'
|
'System account for incoming email.'||CHR(13)||'For Facilitor internal use'
|
||||||
FROM prs_perslid
|
FROM prs_perslid
|
||||||
WHERE prs_perslid_oslogin = '_FACILITOR';
|
WHERE prs_perslid_oslogin = '_FACILITOR';
|
||||||
@@ -2143,7 +2145,7 @@ INSERT INTO prs_perslid (prs_perslid_module,
|
|||||||
'API-user tbv. Putorders-koppeling',
|
'API-user tbv. Putorders-koppeling',
|
||||||
'_PUTORDERS',
|
'_PUTORDERS',
|
||||||
DBMS_RANDOM.string ('a', 32),
|
DBMS_RANDOM.string ('a', 32),
|
||||||
4,
|
36,
|
||||||
'System account for outgoing email.'||CHR(13)||'For Facilitor internal use'
|
'System account for outgoing email.'||CHR(13)||'For Facilitor internal use'
|
||||||
FROM prs_perslid
|
FROM prs_perslid
|
||||||
WHERE prs_perslid_oslogin = '_FACILITOR';
|
WHERE prs_perslid_oslogin = '_FACILITOR';
|
||||||
|
|||||||
@@ -119,8 +119,15 @@ BEFORE INSERT OR UPDATE ON prs_perslid
|
|||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
UPDATE_UPPER(prs_perslid_naam, prs_perslid_upper,prs_perslid);
|
UPDATE_UPPER(prs_perslid_naam, prs_perslid_upper,prs_perslid);
|
||||||
UPDATE_UPPER(prs_perslid_oslogin, prs_perslid_oslogin,prs_perslid);
|
IF (BITAND(:old.prs_perslid_flags,32) = 32 OR BITAND(:new.prs_perslid_flags,32) = 32)
|
||||||
UPDATE_UPPER(prs_perslid_oslogin2, prs_perslid_oslogin2,prs_perslid);
|
THEN
|
||||||
|
-- Zet de waarde weer terug alsof er niets gewijzigd is.
|
||||||
|
:new.prs_perslid_oslogin := :old.prs_perslid_oslogin;
|
||||||
|
:new.prs_perslid_oslogin2 := :new.prs_perslid_oslogin2;
|
||||||
|
ELSE
|
||||||
|
UPDATE_UPPER(prs_perslid_oslogin, prs_perslid_oslogin,prs_perslid);
|
||||||
|
UPDATE_UPPER(prs_perslid_oslogin2, prs_perslid_oslogin2,prs_perslid);
|
||||||
|
END IF;
|
||||||
UPDATE_AANMAAKDATUM(prs_perslid, prs_perslid_aanmaak);
|
UPDATE_AANMAAKDATUM(prs_perslid, prs_perslid_aanmaak);
|
||||||
-- If this perslid belongs to the primary company of an xd-environment
|
-- If this perslid belongs to the primary company of an xd-environment
|
||||||
-- it gets a default apikey to get synced across the domains
|
-- it gets a default apikey to get synced across the domains
|
||||||
@@ -143,8 +150,15 @@ BEGIN
|
|||||||
NULL; -- persoon hoort niet bij de serviceorganisatie
|
NULL; -- persoon hoort niet bij de serviceorganisatie
|
||||||
END;
|
END;
|
||||||
END IF;
|
END IF;
|
||||||
IF :new.prs_perslid_verwijder IS NOT NULLDATUM AND :old.prs_perslid_verwijder IS NULLDATUM
|
IF ( :new.prs_perslid_verwijder IS NOT NULLDATUM
|
||||||
|
AND :old.prs_perslid_verwijder IS NULLDATUM
|
||||||
|
AND ( BITAND(:old.prs_perslid_flags,32) = 32
|
||||||
|
OR BITAND(:new.prs_perslid_flags,32) = 32
|
||||||
|
)
|
||||||
|
)
|
||||||
THEN
|
THEN
|
||||||
|
:new.prs_perslid_verwijder := :old.prs_perslid_verwijder;
|
||||||
|
ELSE
|
||||||
DECLARE
|
DECLARE
|
||||||
dummy VARCHAR2(1);
|
dummy VARCHAR2(1);
|
||||||
BEGIN
|
BEGIN
|
||||||
@@ -234,32 +248,34 @@ BEGIN
|
|||||||
WHEN OTHERS THEN NULL;
|
WHEN OTHERS THEN NULL;
|
||||||
END;
|
END;
|
||||||
-- Wis alle authenticatiemogelijkheden
|
-- Wis alle authenticatiemogelijkheden
|
||||||
:new.prs_perslid_oslogin := '';
|
:new.prs_perslid_oslogin := '';
|
||||||
:new.prs_perslid_oslogin2 := '';
|
:new.prs_perslid_oslogin2 := '';
|
||||||
:new.prs_perslid_apikey := NULL;
|
:new.prs_perslid_apikey := NULL;
|
||||||
-- And do what prs.setpassword(:new.prs_perslid_key, NULL) would do:
|
-- And do what prs.setpassword(:new.prs_perslid_key, NULL) would do:
|
||||||
:new.prs_perslid_salt := NULL;
|
:new.prs_perslid_salt := NULL;
|
||||||
:new.prs_perslid_wachtwoord_hash := NULL;
|
:new.prs_perslid_wachtwoord_hash := NULL;
|
||||||
:new.prs_perslid_wachtwoord_exp := NULL;
|
:new.prs_perslid_wachtwoord_exp := NULL;
|
||||||
:new.prs_perslid_otpsecret := NULL;
|
:new.prs_perslid_otpsecret := NULL;
|
||||||
-- Wis profiel (dat kan anders nooit opgeruimd worden)
|
-- Wis profiel (dat kan anders nooit opgeruimd worden)
|
||||||
:new.fac_profiel_key := NULL;
|
:new.fac_profiel_key := NULL;
|
||||||
END IF;
|
END IF;
|
||||||
|
|
||||||
IF fac.getsetting ('login_use_email') = 0 AND
|
IF fac.getsetting ('login_use_email') = 0
|
||||||
( :new.prs_perslid_oslogin IS NULL AND :old.prs_perslid_oslogin IS NOT NULL
|
AND ( :new.prs_perslid_oslogin IS NULL AND :old.prs_perslid_oslogin IS NOT NULL
|
||||||
OR :new.prs_perslid_oslogin2 IS NULL AND :old.prs_perslid_oslogin2 IS NOT NULL
|
OR :new.prs_perslid_oslogin2 IS NULL AND :old.prs_perslid_oslogin2 IS NOT NULL
|
||||||
OR NVL(:new.prs_perslid_wachtwoord_hash, 'X') <> NVL(:old.prs_perslid_wachtwoord_hash, 'X'))
|
OR NVL(:new.prs_perslid_wachtwoord_hash, 'X') <> NVL(:old.prs_perslid_wachtwoord_hash, 'X')
|
||||||
OR fac.getsetting ('login_use_email') = 1 AND
|
)
|
||||||
:new.prs_perslid_email IS NULL AND :old.prs_perslid_email IS NOT NULL
|
OR fac.getsetting ('login_use_email') = 1
|
||||||
THEN -- Merk op: anno 5.3.2 wordt een persoon die *nu* is ingelogd hier niet
|
AND :new.prs_perslid_email IS NULL
|
||||||
-- automatisch door uitgelogd
|
AND :old.prs_perslid_email IS NOT NULL
|
||||||
:new.prs_perslid_credentials_datum := SYSDATE;
|
THEN -- Merk op: anno 5.3.2 wordt een persoon die *nu* is ingelogd hier niet
|
||||||
DELETE FROM fac_session
|
-- automatisch door uitgelogd
|
||||||
WHERE prs_perslid_key = :new.prs_perslid_key;
|
:new.prs_perslid_credentials_datum := SYSDATE;
|
||||||
DELETE FROM aut_client_perslid
|
DELETE FROM fac_session
|
||||||
WHERE prs_perslid_key = :old.prs_perslid_key;
|
WHERE prs_perslid_key = :new.prs_perslid_key;
|
||||||
END IF;
|
DELETE FROM aut_client_perslid
|
||||||
|
WHERE prs_perslid_key = :old.prs_perslid_key;
|
||||||
|
END IF;
|
||||||
|
|
||||||
END;
|
END;
|
||||||
/
|
/
|
||||||
@@ -296,6 +312,10 @@ CREATE_TRIGGER(prs_t_prs_perslid_B_D)
|
|||||||
BEFORE DELETE ON prs_perslid
|
BEFORE DELETE ON prs_perslid
|
||||||
FOR EACH ROW
|
FOR EACH ROW
|
||||||
BEGIN
|
BEGIN
|
||||||
|
IF (BITAND(:old.prs_perslid_flags,32) = 32 OR BITAND(:new.prs_perslid_flags,32) = 32)
|
||||||
|
THEN
|
||||||
|
raise_application_error(-20000, 'Delete not allowed');
|
||||||
|
END IF;
|
||||||
DELETE FROM prs_kenmerklink KL WHERE KL.prs_link_key=:old.prs_perslid_key AND KL.prs_kenmerklink_niveau='P';
|
DELETE FROM prs_kenmerklink KL WHERE KL.prs_link_key=:old.prs_perslid_key AND KL.prs_kenmerklink_niveau='P';
|
||||||
END;
|
END;
|
||||||
/
|
/
|
||||||
|
|||||||
@@ -58,7 +58,10 @@ ALTER TABLE fac_menu ADD fac_menu_message
|
|||||||
ALTER TABLE fac_menu ADD fac_menu_color VARCHAR2 (60 CHAR);
|
ALTER TABLE fac_menu ADD fac_menu_color VARCHAR2 (60 CHAR);
|
||||||
--ALTER TABLE mld_stdmelding ADD mld_stdmelding_color VARCHAR2 (60 CHAR);
|
--ALTER TABLE mld_stdmelding ADD mld_stdmelding_color VARCHAR2 (60 CHAR);
|
||||||
|
|
||||||
|
/////////////////////////////////////////////////////////////////////////////////////////// FCLT#59433
|
||||||
|
UPDATE prs_perslid
|
||||||
|
SET prs_perslid_flags = prs_perslid_flags + 32
|
||||||
|
WHERE prs_perslid_oslogin IN ('_FACILITOR','_HMAIL','_PUTORDERS');
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////////////// XXXX#nnnnn
|
/////////////////////////////////////////////////////////////////////////////////////////// XXXX#nnnnn
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user