Files
Facilitor/APPL/Shared/hookfunctions.inc
Jos Groot Lipman 960a4eb661 Merge 2022.2 Gold B patches
svn path=/Website/trunk/; revision=56485
2022-07-06 07:44:56 +00:00

468 lines
14 KiB
PHP

<% /*
$Revision$
$Id$
File: hookfunctions.inc
Description: This file contains the default Facilitor hookfunctions.
Parameters:
Context:
Note: Maak een XXXX/custfunctions.wsc en die wordt
automagisch gevonden.
*/ %>
<%
// If needed you can or may overrule some or all of these functions
// In your own custfunctions.wsc file.
// Invalid changes to this file may lead to unexpected results.
function HookResult(value, errmsg)
{
this.value = value;
this.errmsg = errmsg;
}
var DEZE = this;
custfunc = {
gethook: function ()
{
if (!S("custfunctionspath"))
return false;
var fso = Server.CreateObject("Scripting.FileSystemObject");
var hookfile = Server.MapPath(rooturl + "/" + S("custfunctionspath"));
__Log("Looking for hookfile: " + hookfile);
if (!fso.FileExists(hookfile))
return false;
__Log("Found!");
try
{
var hook = GetObject("script:"+hookfile);
}
catch (e)
{
_AiAi("Unable to read " + hookfile + "\n" + e.description);
}
// Deze mogen de hookfiles gebruiken
hook.Oracle = Oracle;
hook.__Log = __Log;
hook.__DoLog = __DoLog;
hook.safe = safe;
hook.DEZE = DEZE;
hook.hookfile = hookfile;
return hook;
}
};
// Returnvalues for all functions:
// return true = success
// return false = failed
// Optional resultvalues in presult:
// presult.value containing a resultvalue, valid only if success
// presult.errmsg string containing errormessage, only if fail
// ======================================================================================
// BEZ CUSTFUNCTIONS
//
// Called after bezoekers has been updated
// Used for UWV-check ARO
// parameters: bezkeyArr just saved (Array van bezoekers)
// result: -
custfunc.bez_postsave =
function (bezkeyArr, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('bez_postsave' in hook)
result = hook.bez_postsave(bezkeyArr, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
};
// Called when user has clicked the Done checkbox in the backoffice visitors.
// parameters: pbezoek_key key van de bez_bezoeker
// result: -
custfunc.bez_checkdone =
function (pbezoek_key, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('bez_checkdone' in hook)
result = hook.bez_checkdone(pbezoek_key, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
};
// Called when user has clicked the Out checkbox in the backoffice visitors.
// parameters: pbezoek_key key van de bez_bezoeker
// result: -
custfunc.bez_checkout =
function (pbezoek_key, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('bez_checkout' in hook)
result = hook.bez_checkout(pbezoek_key, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
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
//
// Called before the RFO is inserted or changed. Used to check custommer
// specific checks on flex fields.
// parameters: disc key of the catalog
// srtdeel_keys array of ordered srtdeel
// amount_arr array of orders amounts
// result: -
custfunc.bes_checkrfo =
function (disc, srtdeel_keys, amount_arr, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('bes_checkrfo' in hook)
result = hook.bes_checkrfo(disc, srtdeel_keys, amount_arr, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
};
// Called when receiving de hookurl information from a punchout order.
// Used to check custommer specific hook parameters.
// parameters: srtdeel key of the article
// result: -
custfunc.bes_punch_receive =
function (RequestForm, bes_srtdeel_key, item, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('bes_punch_receive' in hook)
{
result = hook.bes_punch_receive(RequestForm, bes_srtdeel_key, item, presult);
if (result && result.flex_defaults)
result.orderurl += "&flex_defaults=" + Server.URLencode(result.flex_defaults);
}
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
};
// Called after bestelling has been updated
// parameters: bes_bestelling_key just saved
// Note: bestelregels zijn ook al opgeslagen
// result: -
custfunc.bes_postsave =
function (bes_bestelling_key, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('bes_postsave' in hook)
result = hook.bes_postsave(bes_bestelling_key, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
};
// Called upon bes_bestelling save to check whether there has been
// a remote approval function defined for this discipline
// parameters: discipline_key
// Note: ALTERNATIEF ZOU EEN BES_DISC_PARAMS_REMOTE KUNNEN ZIJN..??
// Result: -
custfunc.bes_hasremoteapproval =
function (discipline_key, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('bes_hasremoteapproval' in hook)
result = hook.bes_hasremoteapproval(discipline_key, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
else
presult.value = false; //standaard interne approval
return result;
};
// Called upon bes_bestelling save to initiate
// a remote approval for this bestelling
// parameters: bestelling_key
// Note:
// Result: -
custfunc.bes_getremoteapproval =
function (bestelling_key, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('bes_getremoteapproval' in hook)
result = hook.bes_getremoteapproval(bestelling_key, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
};
// ======================================================================================
// RES CUSTFUNCTIONS
//
// Called just before actual saving of reservering
// parameters: rsv_ruimte_key just saved
// other paramaters available via DEZE parameter
// result: -
custfunc.res_presave =
function (presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('res_presave' in hook)
result = hook.res_presave(DEZE, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
};
// Called after reservering has been updated
// Used for UWV-check ARO
// parameters: rsv_ruimte_key just saved
// result: -
custfunc.res_postsave =
function (rsv_ruimte_key, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('res_postsave' in hook)
result = hook.res_postsave(rsv_ruimte_key, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
};
// Called after reservering has been deleted
// parameters: rsv_ruimte_key just deleted
// result: -
custfunc.res_postdelete =
function (rsv_ruimte_key, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('res_postdelete' in hook)
result = hook.res_postdelete(rsv_ruimte_key, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
};
// ======================================================================================
// MLD CUSTFUNCTIONS
//
// Called after weekbrief-cell (uren) has been updated
// Used for CARE: doorloop de week van deze persoon en bepaal de dagtotaalkilometers
// om op te slaan in mld_opdruren_dagkosten
//custfunc.mld_urenpost2save = function (p_prskey, p_datumfrom, presult) {return true};
custfunc.mld_urenpostsave =
function (p_prs_key, p_datum, p_opdr_key, p_impropdr_key, p_actie, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('mld_urenpostsave' in hook)
result = hook.mld_urenpostsave(p_prs_key, p_datum, p_opdr_key, p_impropdr_key, p_actie, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
};
// Called after weekbrief-cell (kosten) has been updated
custfunc.mld_urenkostenpostsave =
function (p_mld_opdruren_kosten_key, p_mld_opdruren_key, p_kosten_key, p_kosten, p_actie, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('mld_urenkostenpostsave' in hook)
result = hook.mld_urenkostenpostsave(p_mld_opdruren_kosten_key, p_mld_opdruren_key, p_kosten_key, p_kosten, p_actie, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
};
custfunc.mld_postsave =
function (mld_melding, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('mld_postsave' in hook)
result = hook.mld_postsave(mld_melding, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
};
custfunc.mld_ord_postsave =
function (opdr_key, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('mld_ord_postsave' in hook)
result = hook.mld_ord_postsave(opdr_key, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
};
custfunc.prsself_postsave =
function (prs_key, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('prsself_postsave' in hook)
result = hook.prsself_postsave(prs_key, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
};
custfunc.prs_postsave =
function (prs_key, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('prs_postsave' in hook)
result = hook.prs_postsave(prs_key, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
};
custfunc.prs_validatepassword =
function (prs_key, wachtwoord, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('prs_validatepassword' in hook)
result = hook.prs_validatepassword(prs_key, wachtwoord, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
};
custfunc.fin_postsave =
function (fin_factuur, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('fin_postsave' in hook)
result = hook.fin_postsave(fin_factuur, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
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)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('API_PHONEBOOK' in hook)
result = hook.API_PHONEBOOK(prs_key, data);
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
};
custfunc.aut_process_claim =
function (p_user_key, persdata, claim, idp_data, presult)
{
var result = true;
var hook = custfunc.gethook();
if (hook)
{
if ('aut_process_claim' in hook)
result = hook.aut_process_claim(p_user_key, persdata, claim, idp_data, presult);
hook = null; // zorg dat de GC het object kan opruimen.
}
return result;
};
%>