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_dienstverband,
|
||||
prs_perslid_ingangsdatum,
|
||||
prs_perslid_opmerking
|
||||
prs_perslid_opmerking,
|
||||
prs_perslid_flags
|
||||
)
|
||||
VALUES ('PRS',
|
||||
(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 */
|
||||
100,
|
||||
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
|
||||
@@ -2123,7 +2125,7 @@ INSERT INTO prs_perslid (prs_perslid_module,
|
||||
'API-user tbv. hMail-koppeling',
|
||||
'_HMAIL',
|
||||
DBMS_RANDOM.string ('a', 32),
|
||||
4,
|
||||
36,
|
||||
'System account for incoming email.'||CHR(13)||'For Facilitor internal use'
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_oslogin = '_FACILITOR';
|
||||
@@ -2143,7 +2145,7 @@ INSERT INTO prs_perslid (prs_perslid_module,
|
||||
'API-user tbv. Putorders-koppeling',
|
||||
'_PUTORDERS',
|
||||
DBMS_RANDOM.string ('a', 32),
|
||||
4,
|
||||
36,
|
||||
'System account for outgoing email.'||CHR(13)||'For Facilitor internal use'
|
||||
FROM prs_perslid
|
||||
WHERE prs_perslid_oslogin = '_FACILITOR';
|
||||
|
||||
@@ -119,8 +119,15 @@ BEFORE INSERT OR UPDATE ON prs_perslid
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_UPPER(prs_perslid_naam, prs_perslid_upper,prs_perslid);
|
||||
IF (BITAND(:old.prs_perslid_flags,32) = 32 OR BITAND(:new.prs_perslid_flags,32) = 32)
|
||||
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);
|
||||
-- If this perslid belongs to the primary company of an xd-environment
|
||||
-- it gets a default apikey to get synced across the domains
|
||||
@@ -143,8 +150,15 @@ BEGIN
|
||||
NULL; -- persoon hoort niet bij de serviceorganisatie
|
||||
END;
|
||||
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
|
||||
:new.prs_perslid_verwijder := :old.prs_perslid_verwijder;
|
||||
ELSE
|
||||
DECLARE
|
||||
dummy VARCHAR2(1);
|
||||
BEGIN
|
||||
@@ -246,12 +260,14 @@ BEGIN
|
||||
:new.fac_profiel_key := NULL;
|
||||
END IF;
|
||||
|
||||
IF fac.getsetting ('login_use_email') = 0 AND
|
||||
( :new.prs_perslid_oslogin IS NULL AND :old.prs_perslid_oslogin IS NOT NULL
|
||||
IF fac.getsetting ('login_use_email') = 0
|
||||
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 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 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
|
||||
THEN -- Merk op: anno 5.3.2 wordt een persoon die *nu* is ingelogd hier niet
|
||||
-- automatisch door uitgelogd
|
||||
:new.prs_perslid_credentials_datum := SYSDATE;
|
||||
@@ -296,6 +312,10 @@ CREATE_TRIGGER(prs_t_prs_perslid_B_D)
|
||||
BEFORE DELETE ON prs_perslid
|
||||
FOR EACH ROW
|
||||
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';
|
||||
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 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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user