ALLR#78097 Toevoegen hookfunctie aan bezoekers alvorens de bezoeker wordt verwijderd.
svn path=/Website/trunk/; revision=60570
This commit is contained in:
@@ -206,14 +206,26 @@ function model_visitors()
|
||||
|
||||
this.REST_DELETE = function (params, the_key) /* delete visitors */
|
||||
{
|
||||
var pResult = new HookResult();
|
||||
|
||||
if (!custfunc.bez_predelete(the_key, pResult))
|
||||
{
|
||||
abort_with_warning(pResult.errmsg);
|
||||
}
|
||||
|
||||
var wheres = [" bez_bezoekers_key = " + the_key];
|
||||
// TODO: Autorisatie
|
||||
//wheres.push("(bez_afspraak_contact_key = " + user_key // Altijd fe vooralnog
|
||||
// + " OR bez_afspraak_host_key = " + user_key + ")");
|
||||
|
||||
var sql = "DELETE FROM bez_bezoekers"
|
||||
+ " WHERE " + wheres.join(" AND " );
|
||||
|
||||
Oracle.Execute(sql); // Parkeerplaats (res_rsv_deel) cascadeert wel mee
|
||||
|
||||
if (!custfunc.bez_postdelete(the_key, pResult))
|
||||
{
|
||||
abort_with_warning(pResult.errmsg);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -452,6 +452,7 @@ bez =
|
||||
deleteBezoekers:
|
||||
function _deleteBezoekers(pBez_key, clean, moveTracking)
|
||||
{
|
||||
var pResult = new HookResult();
|
||||
var lmessage;
|
||||
// Gooi een bezoeker weg. Als het de enige is, dan wordt de
|
||||
// afspraak ook verwijderd, anders niet
|
||||
@@ -463,11 +464,22 @@ bez =
|
||||
if (!oRs.eof)
|
||||
{
|
||||
var afspr_key = oRs(0).Value;
|
||||
|
||||
if (!custfunc.bez_predelete(pBez_key, pResult))
|
||||
{
|
||||
abort_with_warning(pResult.errmsg);
|
||||
}
|
||||
|
||||
// delete parking place is done by database cascade constraint
|
||||
sql = "DELETE FROM bez_bezoekers"
|
||||
+ " WHERE bez_bezoekers_key = " + pBez_key;
|
||||
Oracle.Execute(sql);
|
||||
|
||||
if (!custfunc.bez_postdelete(pBez_key, pResult))
|
||||
{
|
||||
abort_with_warning(pResult.errmsg);
|
||||
}
|
||||
|
||||
if (clean)
|
||||
var afspr_deleted = bez.cleanAfspraak(afspr_key, moveTracking);
|
||||
} else {
|
||||
|
||||
@@ -51,16 +51,35 @@ res = {
|
||||
// (JGL: Eigenlijk moet dit gewoon cascading door een trigger gebeuren)
|
||||
DeleteResAfspraak: function DeleteResAfspraak (rsv_ruimte_key)
|
||||
{
|
||||
var pResult = new HookResult();
|
||||
var sql;
|
||||
// delete parkeerplaatsen gebeurt wel met behulp van CASCADE (bez_bezoekers)
|
||||
|
||||
// delete bezoekers
|
||||
var sql = "DELETE FROM bez_bezoekers"
|
||||
var sql = "SELECT bez_bezoekers_key"
|
||||
+ " FROM bez_bezoekers"
|
||||
+ " WHERE bez_afspraak_key in "
|
||||
+ " (SELECT ba.bez_afspraak_key"
|
||||
+ " FROM bez_afspraak ba"
|
||||
+ " WHERE ba.res_rsv_ruimte_key = " + rsv_ruimte_key + ")";
|
||||
Oracle.Execute(sql);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (!oRs.eof)
|
||||
{
|
||||
var bez_key = oRs("bez_bezoekers_key").Value;
|
||||
if (!custfunc.bez_predelete(bez_key, pResult))
|
||||
{
|
||||
abort_with_warning(pResult.errmsg);
|
||||
}
|
||||
sql = "DELETE FROM bez_bezoekers"
|
||||
+ " WHERE bez_bezoekers_key = " + bez_key;
|
||||
Oracle.Execute(sql);
|
||||
if (!custfunc.bez_postdelete(bez_key, pResult))
|
||||
{
|
||||
abort_with_warning(pResult.errmsg);
|
||||
}
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
// delete afspraak
|
||||
sql = "DELETE FROM bez_afspraak"
|
||||
|
||||
@@ -91,6 +91,35 @@ custfunc.bez_postsave =
|
||||
return result;
|
||||
};
|
||||
|
||||
custfunc.bez_predelete =
|
||||
function (pbezoek_key, presult)
|
||||
{
|
||||
var result = true;
|
||||
var hook = custfunc.gethook();
|
||||
if (hook)
|
||||
{
|
||||
if ('bez_predelete' in hook)
|
||||
result = hook.bez_predelete(pbezoek_key, presult);
|
||||
hook = null; // zorg dat de GC het object kan opruimen.
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
custfunc.bez_postdelete =
|
||||
function (pbezoek_key, presult)
|
||||
{
|
||||
var result = true;
|
||||
var hook = custfunc.gethook();
|
||||
if (hook)
|
||||
{
|
||||
if ('bez_postdelete' in hook)
|
||||
result = hook.bez_postdelete(pbezoek_key, 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: -
|
||||
|
||||
Reference in New Issue
Block a user