MARX#57726 Hookfunction op contactpersoon update/delete

svn path=/Website/branches/v2019.1/; revision=42426
This commit is contained in:
Jos Groot Lipman
2019-05-07 14:01:53 +00:00
parent 03bc5d6849
commit fdf75082b6
4 changed files with 147 additions and 22 deletions

View File

@@ -193,5 +193,14 @@ else
}
}
if (result.deleted && table != "PRS_BEDRIJFDIENSTLOCATIE")
{
var pResult = new HookResult();
if (!custfunc.xxx_postdelete(table, ingesloten, pResult))
{
abort_with_warning(pResult.errmsg);
}
}
Response.Write(JSON.stringify(result));
%>

View File

@@ -59,30 +59,36 @@ else
if (err.friendlyMsg)
warning = err.friendlyMsg;
}
if (!warning)
if (!warning)
{
currentKenmerkenSQL = "SELECT kl.prs_kenmerk_key " +
" , kl.prs_kenmerklink_waarde" +
" FROM prs_kenmerklink kl, prs_kenmerk k " +
" WHERE k.prs_kenmerk_key = kl.prs_kenmerk_key " +
" AND prs_kenmerklink_verwijder IS NULL " +
" AND prs_link_key = " + cps_key;
saveFlexKenmerken(cps_key, { kenmerkTable: "prs_kenmerklink",
kenmerkParentKey : "prs_link_key",
kenmerkWaarde: "prs_kenmerklink_waarde",
kenmerkKey: "prs_kenmerk_key",
currentKenmerkenSQL: currentKenmerkenSQL,
requestQF: Request.Form,
module: "PRS",
moduleName: "prs_kenmerklink_niveau",
moduleVal: "C",
isNew: isNew,
flexPath: "PRS/C"
});
var pResult = new HookResult();
if (!custfunc.prs_contact_postsave(cps_key, pResult))
{
currentKenmerkenSQL = "SELECT kl.prs_kenmerk_key " +
" , kl.prs_kenmerklink_waarde" +
" FROM prs_kenmerklink kl, prs_kenmerk k " +
" WHERE k.prs_kenmerk_key = kl.prs_kenmerk_key " +
" AND prs_kenmerklink_verwijder IS NULL " +
" AND prs_link_key = " + cps_key;
saveFlexKenmerken(cps_key, { kenmerkTable: "prs_kenmerklink",
kenmerkParentKey : "prs_link_key",
kenmerkWaarde: "prs_kenmerklink_waarde",
kenmerkKey: "prs_kenmerk_key",
currentKenmerkenSQL: currentKenmerkenSQL,
requestQF: Request.Form,
module: "PRS",
moduleName: "prs_kenmerklink_niveau",
moduleVal: "C",
isNew: isNew,
flexPath: "PRS/C"
});
abort_with_warning(pResult.errmsg);
}
}
var result = {success: true,
cps_key: cps_key,
warning: warning,

View File

@@ -107,6 +107,23 @@ custfunc.bez_checkout =
return result;
};
// ======================================================================================
// PRS CUSTFUNCTIONS
//
custfunc.prs_contact_postsave =
function (cps_key, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('prs_contact_postsave' in hook)
result = hook.prs_contact_postsave(cps_key, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
}
// ======================================================================================
// BES CUSTFUNCTIONS
//
@@ -298,6 +315,23 @@ custfunc.fin_postsave =
return result;
};
// Let op: array met key's!
custfunc.xxx_postdelete =
function (p_table, p_key_arr, presult)
{
p_table = p_table.toUpperCase();
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('xxx_postdelete' in hook)
result = hook.xxx_postdelete(p_table, p_key_arr, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
};
// Called for API_PHONEBOOK
custfunc.API_PHONEBOOK =
function (prs_key, data)

View File

@@ -0,0 +1,76 @@
<?xml version="1.0"?>
<component>
<?component error="true" debug="true"?>
<registration
description="custfunctions"
progid="custfunction.wsc"
version="1.00"
classid="{4F51571C-1DFC-4769-B8DD-37B356378F12}"
>
</registration>
<public>
<!-- properties -->
<property name="Oracle">
<put/>
</property>
<property name="__Log">
<put/>
</property>
<property name="__DoLog">
<put/>
</property>
<property name="safe">
<put/>
</property>
<!-- methods -->
<method name="prs_contact_postsave">
<PARAMETER name="cps_key"/>
</method>
<method name="xxx_postdelete">
<PARAMETER name="p_table"/>
<PARAMETER name="p_key_arr"/>
</method>
</public>
<script language="javascript">
<![CDATA[
/* properties */
function put_Oracle(newValue) {Oracle = newValue};
function put___Log(newValue) {__Log = newValue};
function put___DoLog(newValue) {__DoLog = newValue};
function put_safe(newValue) {safe = newValue};
/* methods */
/*
$Revision$
$Id$
File: MARXcustfunction.wsc
*/
/* Dit zijn de enige view functies die je mag gebruiken */
var Oracle;
var __Log;
var __DoLog;
var safe;
prs_contact_postsave = function (cps_key, pResult)
{
__Log("In prs_contact_postsave met cps_key: " + cps_key);
return true;
}
xxx_postdelete = function (p_table, p_key_arr, presult)
{
__Log("In xxx_postdelete met p_table " + p_table + " en p_key_arr ["+p_key_arr.join(",")+"]");
return true;
}
]]>
</script>
</component>