FSN#30208 voor usersync hebben we masterbedrijfkey en apikeys nodig
DCOL#29886 automatische interne contractkey svn path=/Database/trunk/; revision=22508
This commit is contained in:
@@ -103,7 +103,27 @@ CREATE_TRIGGER(prs_t_prs_perslid_B_I)
|
||||
BEFORE INSERT ON prs_perslid
|
||||
FOR EACH ROW
|
||||
BEGIN
|
||||
UPDATE_PRIMARY_KEY(prs_perslid_key, prs_s_prs_alluitvoerende_keys);
|
||||
UPDATE_PRIMARY_KEY(prs_perslid_key, prs_s_prs_alluitvoerende_keys);
|
||||
-- If this perslid belongs to the primary company of an xd-environment
|
||||
-- it gets a default apikey to get synced across the domains
|
||||
IF :new.prs_perslid_apikey IS NULL AND fac.getsetting ('xd_primary_bedrijfkey') > 0
|
||||
THEN
|
||||
DECLARE
|
||||
dummy prs_afdeling.prs_bedrijf_key%TYPE;
|
||||
BEGIN
|
||||
SELECT prs_bedrijf_key
|
||||
INTO dummy
|
||||
FROM prs_afdeling
|
||||
WHERE prs_afdeling_key = :new.prs_afdeling_key
|
||||
AND prs_afdeling.prs_bedrijf_key = fac.getsetting ('xd_primary_bedrijfkey');
|
||||
-- 52 lower en uppercase letters*32 is 182 bits equivalent
|
||||
SELECT DBMS_RANDOM.string ('a', 32) INTO :new.prs_perslid_apikey FROM DUAL;
|
||||
EXCEPTION
|
||||
WHEN NO_DATA_FOUND
|
||||
THEN
|
||||
NULL; -- persoon hoort niet bij de serviceorganisatie
|
||||
END;
|
||||
END IF;
|
||||
END;
|
||||
/
|
||||
|
||||
|
||||
Reference in New Issue
Block a user