AAVL#29104 fac_deeplike bookmarks

svn path=/Database/trunk/; revision=23043
This commit is contained in:
Jos Groot Lipman
2014-10-21 12:42:05 +00:00
parent ef5e7e0ea0
commit a4a9ae3eb2
3 changed files with 65 additions and 22 deletions

View File

@@ -2251,6 +2251,7 @@ FACXSL_LCL('lcl_faclike_statisf5', 'Perfect!', 'Perfect!', 'Perfekt!', '@Parfait
FACXSL_LCL('lcl_fac_help_improve', 'Bedankt voor uw mening!', 'Thank you for your opinion!', 'Wir danken Sie f<>r Ihre Meinung.', 'Merci pour votre avis!')
FACXSL_LCL('lcl_fac_like', 'Geef uw mening!', 'We want your opinion!', 'Empfehlen', 'J''aime')
FACXSL_LCL('lcl_fac_like_block', 'Wat is uw oordeel?', 'What do you think?', 'Meinung', 'Aviz')
FACXSL_LCL('lcl_fac_liked_deep', 'Bedankt voor uw mening!', 'Thank you for your opinion!', 'Wir danken Sie f<>r Ihre Meinung.', 'Merci pour votre avis!')
FACXSL_LCL('lcl_bkm_prskey_auth', 'Fallback user', 'Fallback user', 'Fallback user', 'Fallback user')
FACXSL_LCL('lcl_bkm_unauth', 'Fallback url', 'Fallback url', 'Fallback url', 'Fallback url')
FACXSL_LCL('lcl_bkm_refresh' , 'Verversingtijd', 'Refresh time', 'Refresh-Zeit', 'Temps de rafra<72>chissement')

View File

@@ -129,7 +129,7 @@ CREATE OR REPLACE PACKAGE fac AS
FUNCTION nextcyclusdatesteps (p_insdeel IN NUMBER, p_srtcontrole IN NUMBER, p_steps IN NUMBER DEFAULT 1) RETURN NUMBER;
FUNCTION makehash (p_in VARCHAR2, method IN VARCHAR2 DEFAULT 'MD5') RETURN VARCHAR2;
FUNCTION testhash (p_hash VARCHAR2, p_in VARCHAR2) RETURN NUMBER;
PROCEDURE createlikebookmark (pxmlnode VARCHAR2, prefkey NUMBER, expiresetting VARCHAR2, puserkey NUMBER);
PROCEDURE createlikebookmark (pxmlnode VARCHAR2, prefkey NUMBER);
END fac;
/
@@ -4501,30 +4501,64 @@ CREATE OR REPLACE PACKAGE BODY fac AS
END;
PROCEDURE createlikebookmark (pxmlnode VARCHAR2,
prefkey NUMBER,
expiresetting VARCHAR2,
puserkey NUMBER)
prefkey NUMBER)
IS
expiredays NUMBER (10);
likerkey NUMBER(10);
bookmark_id fac_bookmark.fac_bookmark_id%TYPE;
BEGIN
expiredays := fac.safe_To_Number (fac.getsetting ('expiresetting'));
CASE pxmlnode
WHEN 'melding'
THEN
expiredays := fac.safe_To_Number (fac.getsetting ('fac_mld_deeplike_expire'));
SELECT prs_perslid_key_voor
INTO likerkey
FROM mld_melding
WHERE mld_melding_key = prefkey;
WHEN 'bestelling'
THEN
SELECT prs_perslid_key_voor
INTO likerkey
FROM bes_bestelling
WHERE bes_bestelling_key = prefkey;
WHEN 'reservering'
THEN
SELECT res_rsv_ruimte_host_key
INTO likerkey
FROM res_rsv_ruimte
WHERE res_rsv_ruimte_key = prefkey;
END CASE;
IF expiredays IS NOT NULL AND expiredays > 0
IF expiredays > 0
THEN
INSERT INTO fac_bookmark (fac_bookmark_id,
fac_bookmark_naam,
fac_bookmark_path,
fac_bookmark_query,
fac_bookmark_refkey,
fac_bookmark_expire,
prs_perslid_key_auth)
VALUES (DBMS_RANDOM.string ('a', 16),
'fac-like deeplink',
'appl/fac/fac_deep_like.asp',
'node=' || pxmlnode || '&key=' || prefkey, -- is straks beschermd met HMAC
prefkey,
fac.datumtijdplusuitvoertijd (SYSDATE, expiredays, 'DAGEN'),
puserkey);
BEGIN
-- Als onvoorzien de bookmark er al was geven we weer iets meer tijd
-- We laten hem wel staan omdat er mogelijk al een bon bestaat die hem gebruikt.
UPDATE fac_bookmark
SET fac_bookmark_expire = fac.datumtijdplusuitvoertijd (SYSDATE, expiredays, 'DAGEN')
WHERE fac_bookmark_xmlnode = pxmlnode
AND fac_bookmark_refkey = prefkey
AND fac_bookmark_naam = 'faclikedeeplink';
IF sql%rowcount = 0
THEN
INSERT INTO fac_bookmark (fac_bookmark_id,
fac_bookmark_naam,
fac_bookmark_path,
fac_bookmark_query,
fac_bookmark_xmlnode,
fac_bookmark_refkey,
fac_bookmark_expire,
prs_perslid_key_auth)
VALUES (DBMS_RANDOM.string ('a', 16),
'faclikedeeplink',
'appl/fac/fac_like_deep.asp',
'node=' || pxmlnode || '&key=' || prefkey, -- is straks beschermd met HMAC
pxmlnode,
prefkey,
fac.datumtijdplusuitvoertijd (SYSDATE, expiredays, 'DAGEN'),
likerkey);
END IF;
END;
END IF;
END;
END fac;

View File

@@ -176,7 +176,7 @@ CREATE OR REPLACE PACKAGE BODY mld AS
RETURN perslid_key;
END;
-- Geef meldingkey, gewenste status en userkey, en de status wortdt
-- Geef meldingkey, gewenste status en userkey, en de status wordt
-- gezet, waarbij zonodig (indien verandering) een trackrecord wordt gemaakt
-- Als de status niet wijzigt, wordt ook geen trackrecord gemaakt
-- ZIE schema StateDiagramOpdrachten.vsd
@@ -284,8 +284,12 @@ CREATE OR REPLACE PACKAGE BODY mld AS
UPDATE mld_melding
SET mld_melding_status = newstatus
WHERE mld_melding_key = pmeldingkey;
IF eventcode = 'MLDAFM'
THEN
fac.createlikebookmark ('melding', pmeldingkey);
END IF;
-- We know that trackaction doesnt do tracking if eventcode is null
-- We know that trackaction doesn't do tracking if eventcode is null
fac.trackaction (eventcode, pmeldingkey, puserkey, NULL, NULL);
FOR r IN c_mldchilderen
@@ -293,6 +297,10 @@ CREATE OR REPLACE PACKAGE BODY mld AS
UPDATE mld_melding
SET mld_melding_status = newstatus
WHERE mld_melding_key = r.mld_melding_key;
IF eventcode = 'MLDAFM'
THEN
fac.createlikebookmark ('melding', r.mld_melding_key);
END IF;
fac.trackaction (eventcode, r.mld_melding_key, puserkey, NULL, NULL);
END LOOP;