87 lines
3.2 KiB
Plaintext
87 lines
3.2 KiB
Plaintext
<%@ LANGUAGE = JavaScript %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: alg_delete.asp (formerly setAlgverwijder.asp)
|
|
Description: Verwijderen alg-object en deels PRS
|
|
|
|
Parameters: key (van het onroerend goed)
|
|
level: "D", "RE", "L", "G", "V", "R", "W" (werkplek) of "PW" (perslid_werkplek)
|
|
Context: Vanuit show-schermen en of vanuit overzichten
|
|
Result: JSON object
|
|
Note:
|
|
|
|
*/
|
|
var JSON_Result = true;
|
|
%>
|
|
<!--#include file="../Shared/common.inc"-->
|
|
<!--#include file="../Shared/json2.js" -->
|
|
<%
|
|
protectRequest.validateToken();
|
|
|
|
var level = getFParam("level");
|
|
var dis_key_arr = getFParamIntArray("key");
|
|
|
|
var autfunction = {D : "WEB_ALGMAN",
|
|
RE: "WEB_ALGMAN",
|
|
L : "WEB_ALGMAN",
|
|
T : "WEB_TERMAN", // Met ALG* bepaal je wat je ziet (Read), met RUI* en TER* bepaal je wat je kunt wijzigen (Write).
|
|
G : "WEB_ALGMAN",
|
|
V : "WEB_ALGMAN",
|
|
R : "WEB_RUIMAN", // Met ALG* bepaal je wat je ziet (Read), met RUI* en TER* bepaal je wat je kunt wijzigen (Write).
|
|
W : "WEB_PRSBOF",
|
|
PW: "WEB_PRSBOF"}[level];
|
|
|
|
var authParams = user.checkAutorisation(autfunction);
|
|
|
|
var table = {D : "ALG_DISTRICT",
|
|
RE: "ALG_REGIO",
|
|
L : "ALG_LOCATIE",
|
|
T : "ALG_TERREINSECTOR",
|
|
G : "ALG_GEBOUW",
|
|
V : "ALG_VERDIEPING",
|
|
R : "ALG_RUIMTE",
|
|
W : "PRS_WERKPLEK",
|
|
PW: "PRS_PERSLIDWERKPLEK"}[level];
|
|
|
|
result = { success: true, deleted: true };
|
|
for (var i = 0; i < dis_key_arr.length; i++)
|
|
{
|
|
// W en WP hebben geen verwijderveld (meer), die gaan echt weg.
|
|
if (level == "W" || level == "PW")
|
|
{
|
|
// Een WP gooit via de cascade zijn bezetting mee weg.
|
|
// Een bezetting verwijderen doet niets extra
|
|
// Bij impliciet verwijderen van wp-bezetting dus ook de werkplek weggooien
|
|
// die nu (per definitie) leeg wordt. Dit moet eerst, want straks weet
|
|
// ik niet meer genoeg
|
|
if (level == "PW" && S("prs_werkplek_implicit") == 1)
|
|
{
|
|
sql = "DELETE FROM prs_werkplek"
|
|
+ " WHERE prs_werkplek_key IN "
|
|
+ " (SELECT prs_werkplek_key "
|
|
+ " FROM prs_perslidwerkplek"
|
|
+ " WHERE prs_perslidwerkplek_key IN (" + dis_key_arr[i] + "))"
|
|
var err = Oracle.Execute(sql, true);
|
|
if (err.friendlyMsg)
|
|
abort_with_warning(err.friendlyMsg);
|
|
}
|
|
// En dit moet ongeacht impliciet of expliciet.
|
|
// Alleen bij PW&implicit zal dit niets meer verwijderen vanwege de cascade hiervoor
|
|
sql = "DELETE FROM " + table
|
|
+ " WHERE " + table + "_key IN (" + dis_key_arr[i] + ")";
|
|
}
|
|
else
|
|
{
|
|
sql = "UPDATE " + table
|
|
+ " SET " + table + "_VERWIJDER = " + "SYSDATE"
|
|
+ " WHERE " + table + "_key IN (" + dis_key_arr[i] + ")";
|
|
}
|
|
var err = Oracle.Execute(sql, true);
|
|
if (err.friendlyMsg)
|
|
abort_with_warning(err.friendlyMsg);
|
|
}
|
|
|
|
Response.Write(JSON.stringify(result));
|
|
%> |