Compare commits
32 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
94f90ecc27 | ||
|
|
5180e881b5 | ||
|
|
be30aa7a2e | ||
|
|
0ef3f4e314 | ||
|
|
3c20e3a89f | ||
|
|
47c7158aae | ||
|
|
17b77646e0 | ||
|
|
9eb712d760 | ||
|
|
0e26244a53 | ||
|
|
c778dc8cd7 | ||
|
|
9d23b923cb | ||
|
|
43cf813e42 | ||
|
|
29cb1ffcb4 | ||
|
|
487ee02849 | ||
|
|
766278e848 | ||
|
|
d367f1c9ca | ||
|
|
8bd1eea244 | ||
|
|
5fbe22f201 | ||
|
|
e90b6f54e1 | ||
|
|
d49a128bf5 | ||
|
|
8728303389 | ||
|
|
2df9ca62da | ||
|
|
5bc5486d74 | ||
|
|
d87244b909 | ||
|
|
790094f459 | ||
|
|
5ccbf6b6e9 | ||
|
|
169aaeb9d7 | ||
|
|
7a11f07513 | ||
|
|
fd8d612950 | ||
|
|
01f97383d3 | ||
|
|
87d622d3f0 | ||
|
|
0e315ba0d7 |
194
APPL/ALG/alg.inc
194
APPL/ALG/alg.inc
@@ -20,6 +20,8 @@
|
||||
RegioInScope etc. zou een beel betere benaming zijn geweest
|
||||
*/
|
||||
|
||||
FCLTHeader.Requires({ lcl: ["ALG"] });
|
||||
|
||||
alg = {
|
||||
// merk op: ALGMAN heeft geen PRS-scope, ALGUSE wel maar die negeren we
|
||||
checkAutorisation: function (isOptional)
|
||||
@@ -48,78 +50,35 @@ alg = {
|
||||
var uALGreadlevel = 9;
|
||||
var uALGwritelevel = 9;
|
||||
}
|
||||
|
||||
// From now use the highest authorisations (lowest values)
|
||||
|
||||
var ALGreadlevel = mALGreadlevel < uALGreadlevel? mALGreadlevel : uALGreadlevel ;
|
||||
var ALGwritelevel = mALGwritelevel < uALGwritelevel? mALGwritelevel: uALGwritelevel;
|
||||
|
||||
var autfunction = "WEB_RUIMAN";
|
||||
var authparams = user.checkAutorisation(autfunction, true);
|
||||
if (authparams) {
|
||||
|
||||
var rmALGreadlevel = authparams.ALGreadlevel;
|
||||
var rmALGwritelevel = authparams.ALGwritelevel;
|
||||
}
|
||||
else {
|
||||
var rmALGreadlevel = 9;
|
||||
var rmALGwritelevel = 9;
|
||||
}
|
||||
|
||||
var autfunction = "WEB_TERMAN";
|
||||
var authparams = user.checkAutorisation(autfunction, true);
|
||||
if (authparams) {
|
||||
|
||||
var tmALGreadlevel = authparams.ALGreadlevel;
|
||||
var tmALGwritelevel = authparams.ALGwritelevel;
|
||||
}
|
||||
else {
|
||||
var tmALGreadlevel = 9;
|
||||
var tmALGwritelevel = 9;
|
||||
}
|
||||
|
||||
return ({ALGreadlevel: ALGreadlevel, ALGwritelevel: ALGwritelevel,
|
||||
mALGreadlevel: mALGreadlevel, mALGwritelevel: mALGwritelevel,
|
||||
uALGreadlevel: uALGreadlevel, uALGwritelevel: uALGwritelevel,
|
||||
rmALGreadlevel: rmALGreadlevel, rmALGwritelevel: rmALGwritelevel,
|
||||
tmALGreadlevel: tmALGreadlevel, tmALGwritelevel: tmALGwritelevel
|
||||
uALGreadlevel: uALGreadlevel, uALGwritelevel: uALGwritelevel
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
func_enabled: function alg_func_enabled (alg_key, p_onrgoedlvl)
|
||||
func_enabled: function alg_func_enabled (alg_key, onrgoedlvl)
|
||||
{
|
||||
var onrgoedlvl = (p_onrgoedlvl ? p_onrgoedlvl.toUpperCase() : "");
|
||||
if (alg_key < 0 ||
|
||||
onrgoedlvl == "G" || onrgoedlvl == "T" || onrgoedlvl == "V" || onrgoedlvl == "R")
|
||||
{
|
||||
var rresult = user.func_enabled("ALG",
|
||||
null, // geen disciplines
|
||||
alg_key,
|
||||
null); // nooit prs-scope
|
||||
null, // geen disciplines
|
||||
alg_key,
|
||||
null); // nooit prs-scope
|
||||
|
||||
var autfunctionMAN = "WEB_ALGMAN";
|
||||
var autfunctionUSE = "WEB_ALGUSE";
|
||||
|
||||
// Met ALG* bepaal je wat je ziet (Read).
|
||||
rresult.readman = rresult.canRead (autfunctionMAN);
|
||||
rresult.readman = rresult.canRead (onrgoedlvl == "T"?"WEB_TERMAN":"WEB_ALGMAN");
|
||||
rresult.writeman = rresult.canWrite(onrgoedlvl == "T"?"WEB_TERMAN":"WEB_ALGMAN");
|
||||
if (onrgoedlvl != "T")
|
||||
rresult.readuse = rresult.canRead (autfunctionUSE);
|
||||
|
||||
// Met RUI* en TER* bepaal je wat je kunt wijzigen (Write).
|
||||
switch (onrgoedlvl)
|
||||
{
|
||||
case "T": autfunctionMAN = "WEB_TERMAN";
|
||||
break;
|
||||
case "R": autfunctionMAN = "WEB_RUIMAN";
|
||||
autfunctionUSE = "WEB_RUIUSE";
|
||||
break;
|
||||
rresult.readuse = rresult.canRead ("WEB_ALGUSE");
|
||||
rresult.writeuse = rresult.canWrite("WEB_ALGUSE");
|
||||
}
|
||||
rresult.writeman = rresult.canWrite(autfunctionMAN);
|
||||
|
||||
if (onrgoedlvl != "T")
|
||||
rresult.writeuse = rresult.canWrite(autfunctionUSE);
|
||||
else
|
||||
rresult.writeuse = false;
|
||||
}
|
||||
else // iets meer werk
|
||||
{
|
||||
@@ -156,7 +115,6 @@ alg = {
|
||||
rresult.readuse = rresult.authparams("WEB_ALGUSE").ALGreadlevel <= level;
|
||||
rresult.writeuse = rresult.authparams("WEB_ALGUSE").ALGwritelevel <= level;
|
||||
}
|
||||
rresult.canCndAggr = rresult.writeuse;
|
||||
return rresult;
|
||||
},
|
||||
|
||||
@@ -284,55 +242,45 @@ alg = {
|
||||
alg_gebouwinfo: function _alg_gebouw(alg_gebouw_key)
|
||||
{
|
||||
var sql = "SELECT g.alg_gebouw_naam"
|
||||
+ " , g.alg_gebouw_toon_telefoon"
|
||||
+ " , g.alg_gebouw_toon_email"
|
||||
+ " , g.alg_gebouw_toon_kenteken"
|
||||
+ " , g.alg_gebouw_code"
|
||||
+ " , g.alg_gebouw_omschrijving"
|
||||
+ " , g.alg_srtgebouw_key"
|
||||
+ " , g.prs_kostenplaats_key"
|
||||
+ " , g.mld_adres_key"
|
||||
+ " , g.alg_gebouw_opmerking"
|
||||
+ " , g.alg_gebouw_ordernr"
|
||||
+ " , g.alg_gebouw_bez"
|
||||
+ " , g.alg_locatie_key"
|
||||
+ " , k.prs_kostenplaats_module"
|
||||
+ " , " + S("prs_kpn_string") + " kpstring"
|
||||
+ " , " + S("prs_pers_string") + " budgethouder"
|
||||
+ " , p.prs_perslid_key"
|
||||
+ " , COALESCE(g.alg_gebouw_beginuur, -1) alg_gebouw_beginuur"
|
||||
+ " , COALESCE(g.alg_gebouw_einduur, -1) alg_gebouw_einduur"
|
||||
+ " FROM alg_gebouw g"
|
||||
+ " , prs_kostenplaats k"
|
||||
+ " , prs_perslid p"
|
||||
+ " WHERE g.prs_kostenplaats_key = k.prs_kostenplaats_key(+)"
|
||||
+ " AND k.prs_perslid_key = p.prs_perslid_key(+)"
|
||||
+ " AND g.alg_gebouw_key = " + alg_gebouw_key;
|
||||
+ ", g.alg_gebouw_code"
|
||||
+ ", g.alg_gebouw_omschrijving"
|
||||
+ ", g.alg_srtgebouw_key"
|
||||
+ ", g.prs_kostenplaats_key"
|
||||
+ ", g.mld_adres_key"
|
||||
+ ", g.alg_gebouw_opmerking"
|
||||
+ ", g.alg_gebouw_ordernr"
|
||||
+ ", g.alg_gebouw_bez"
|
||||
+ ", g.alg_locatie_key"
|
||||
+ ", k.prs_kostenplaats_module"
|
||||
+ ", " + S("prs_kpn_string") + " kpstring"
|
||||
+ ", " + S("prs_pers_string") + " budgethouder"
|
||||
+ ", p.prs_perslid_key"
|
||||
+ " FROM alg_gebouw g"
|
||||
+ ", prs_kostenplaats k"
|
||||
+ ", prs_perslid p"
|
||||
+ " WHERE g.prs_kostenplaats_key = k.prs_kostenplaats_key"
|
||||
+ " AND k.prs_perslid_key = p.prs_perslid_key"
|
||||
+ " AND g.alg_gebouw_key = " + alg_gebouw_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
|
||||
var result = {};
|
||||
if (!oRs.eof)
|
||||
{
|
||||
result = { alg_gebouw_key: alg_gebouw_key,
|
||||
alg_gebouw_naam: oRs("alg_gebouw_naam").Value,
|
||||
alg_gebouw_toon_telefoon: oRs("alg_gebouw_toon_telefoon").Value,
|
||||
alg_gebouw_toon_email: oRs("alg_gebouw_toon_email").Value,
|
||||
alg_gebouw_toon_kenteken: oRs("alg_gebouw_toon_kenteken").Value,
|
||||
alg_gebouw_code: oRs("alg_gebouw_code").Value,
|
||||
alg_gebouw_omschrijving: oRs("alg_gebouw_omschrijving").Value,
|
||||
alg_srtgebouw_key: oRs("alg_srtgebouw_key").Value,
|
||||
alg_kostenplaats_key: oRs("prs_kostenplaats_key").Value,
|
||||
mld_adres_key: oRs("mld_adres_key").Value,
|
||||
alg_gebouw_opmerking: oRs("alg_gebouw_opmerking").Value,
|
||||
alg_gebouw_ordernr: oRs("alg_gebouw_ordernr").Value,
|
||||
alg_gebouw_bez: oRs("alg_gebouw_bez").Value == "1",
|
||||
alg_locatie_key: oRs("alg_locatie_key").Value,
|
||||
kostenplaats_omschrijving: oRs("kpstring").Value,
|
||||
kostenplaats_module: oRs("prs_kostenplaats_module").Value,
|
||||
kostenplaats_budgethouder_key: oRs("prs_perslid_key").Value,
|
||||
kostenplaats_budgethouder: oRs("budgethouder").Value,
|
||||
gebouw_beginuur: oRs("alg_gebouw_beginuur").Value,
|
||||
gebouw_einduur: oRs("alg_gebouw_einduur").Value
|
||||
alg_gebouw_naam: oRs("alg_gebouw_naam").value,
|
||||
alg_gebouw_code: oRs("alg_gebouw_code").value,
|
||||
alg_gebouw_omschrijving: oRs("alg_gebouw_omschrijving").value,
|
||||
alg_srtgebouw_key: oRs("alg_srtgebouw_key").value,
|
||||
alg_kostenplaats_key: oRs("prs_kostenplaats_key").value,
|
||||
mld_adres_key: oRs("mld_adres_key").value,
|
||||
alg_gebouw_opmerking: oRs("alg_gebouw_opmerking").value,
|
||||
alg_gebouw_ordernr: oRs("alg_gebouw_ordernr").value,
|
||||
alg_gebouw_bez: oRs("alg_gebouw_bez").value == "1",
|
||||
alg_locatie_key: oRs("alg_locatie_key").value,
|
||||
kostenplaats_omschrijving: oRs("kpstring").value,
|
||||
kostenplaats_module: oRs("prs_kostenplaats_module").value,
|
||||
kostenplaats_budgethouder_key: oRs("prs_perslid_key").value,
|
||||
kostenplaats_budgethouder: oRs("budgethouder").value
|
||||
};
|
||||
}
|
||||
oRs.Close();
|
||||
@@ -365,17 +313,17 @@ alg = {
|
||||
if (!oRs.eof)
|
||||
{
|
||||
result = { alg_terreinsector_key: alg_terreinsector_key,
|
||||
alg_terreinsector_naam: oRs("alg_terreinsector_naam").Value,
|
||||
alg_terreinsector_code: oRs("alg_terreinsector_code").Value,
|
||||
alg_terreinsector_omschrijving: oRs("alg_terreinsector_omschrijving").Value,
|
||||
alg_srtterreinsector_key: oRs("alg_srtterreinsector_key").Value,
|
||||
alg_kostenplaats_key: oRs("prs_kostenplaats_key").Value,
|
||||
alg_terreinsector_ordernr: oRs("alg_terreinsector_ordernr").Value,
|
||||
alg_locatie_key: oRs("alg_locatie_key").Value,
|
||||
kostenplaats_omschrijving: oRs("kpstring").Value,
|
||||
kostenplaats_module: oRs("prs_kostenplaats_module").Value,
|
||||
kostenplaats_budgethouder_key: oRs("prs_perslid_key").Value,
|
||||
kostenplaats_budgethouder: oRs("budgethouder").Value
|
||||
alg_terreinsector_naam: oRs("alg_terreinsector_naam").value,
|
||||
alg_terreinsector_code: oRs("alg_terreinsector_code").value,
|
||||
alg_terreinsector_omschrijving: oRs("alg_terreinsector_omschrijving").value,
|
||||
alg_srtterreinsector_key: oRs("alg_srtterreinsector_key").value,
|
||||
alg_kostenplaats_key: oRs("prs_kostenplaats_key").value,
|
||||
alg_terreinsector_ordernr: oRs("alg_terreinsector_ordernr").value,
|
||||
alg_locatie_key: oRs("alg_locatie_key").value,
|
||||
kostenplaats_omschrijving: oRs("kpstring").value,
|
||||
kostenplaats_module: oRs("prs_kostenplaats_module").value,
|
||||
kostenplaats_budgethouder_key: oRs("prs_perslid_key").value,
|
||||
kostenplaats_budgethouder: oRs("budgethouder").value
|
||||
};
|
||||
}
|
||||
oRs.Close();
|
||||
@@ -397,34 +345,6 @@ alg = {
|
||||
aresult.canPRSBOFwrite = aresult.canWrite("WEB_PRSBOF"); // werkplekbeheer
|
||||
|
||||
return aresult;
|
||||
},
|
||||
|
||||
calc_algm2: function _calc_algm2(alg_key, lvl)
|
||||
{
|
||||
var sql = "SELECT SUM (alg_ruimte_bruto_vloeropp) opp1, "
|
||||
+ " SUM (alg_ruimte_opp_alt1) opp2, "
|
||||
+ " SUM (alg_ruimte_opp_alt2) opp3 "
|
||||
+ " FROM alg_ruimte r, alg_verdieping v "
|
||||
+ " WHERE v.alg_verdieping_key = r.alg_verdieping_key "
|
||||
+ " AND r.alg_ruimte_verwijder IS NULL";
|
||||
|
||||
if (lvl == "G")
|
||||
{
|
||||
sql += " AND alg_gebouw_key = " + alg_key;
|
||||
}
|
||||
|
||||
if (lvl == "V")
|
||||
{
|
||||
sql += " AND r.alg_verdieping_key = " + alg_key;
|
||||
}
|
||||
|
||||
var oRs = Oracle.Execute(sql);
|
||||
|
||||
var algm2 = { oppbruto: oRs("opp1").Value, oppalt1: oRs("opp2").Value, oppalt2: oRs("opp3").Value }
|
||||
|
||||
oRs.Close();
|
||||
|
||||
return algm2;
|
||||
}
|
||||
}
|
||||
}
|
||||
%>
|
||||
@@ -1,64 +0,0 @@
|
||||
<%@ LANGUAGE = JavaScript %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: alg_cnd_aggregate.asp
|
||||
Description: Laten berekenen van de geaggregeerde conditiescores
|
||||
|
||||
Parameters: keys (van het onroerend goed)
|
||||
level: "L", "G"
|
||||
Context: Vanuit show-schermen en of vanuit overzichten
|
||||
Result: JSON object
|
||||
Note:
|
||||
|
||||
*/
|
||||
var JSON_Result = true;
|
||||
%>
|
||||
<!--#include file="../Shared/common.inc"-->
|
||||
<!--#include file="alg.inc" -->
|
||||
<%
|
||||
protectRequest.validateToken();
|
||||
|
||||
var level = getFParam("level");
|
||||
var alg_key_arr = getFParamIntArray("key");
|
||||
|
||||
var autfunction = "WEB_ALGUSE"; // of iets met CND?
|
||||
|
||||
var authParams = user.checkAutorisation(autfunction);
|
||||
|
||||
var result = {};
|
||||
var tobecndaggr = 0;
|
||||
var ingesloten = [];
|
||||
for (var i = 0; i < alg_key_arr.length; i++)
|
||||
{
|
||||
var this_alg = alg.func_enabled(alg_key_arr[i], level);
|
||||
if (this_alg.canCndAggr)
|
||||
{
|
||||
ingesloten.push(alg_key_arr[i]);
|
||||
tobecndaggr++;
|
||||
}
|
||||
}
|
||||
user.anything_todo_or_abort(tobecndaggr > 0); // We klagen niet over enkele wel en enkele niet.
|
||||
|
||||
for (var i = 0; i < ingesloten.length; i++)
|
||||
{
|
||||
switch (level)
|
||||
{
|
||||
case "L":
|
||||
sql = "BEGIN cnd.update_aggr_scores(" + ingesloten[i] + "); END;";
|
||||
break;
|
||||
case "G":
|
||||
sql = "BEGIN cnd.update_aggr_scores(NULL," + ingesloten[i] + "); END;";
|
||||
break
|
||||
}
|
||||
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
|
||||
result.success = true;
|
||||
}
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
%>
|
||||
@@ -13,12 +13,11 @@
|
||||
Note:
|
||||
|
||||
*/
|
||||
var JSON_Result = true;
|
||||
DOCTYPE_Disable = 1;
|
||||
%>
|
||||
<!--#include file="../Shared/common.inc"-->
|
||||
<!--#include file="alg.inc" -->
|
||||
<!--#include file="../Shared/json2.js" -->
|
||||
<%
|
||||
protectRequest.validateToken();
|
||||
|
||||
var level = getFParam("level");
|
||||
var dis_key_arr = getFParamIntArray("key");
|
||||
@@ -26,70 +25,15 @@ 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).
|
||||
T : "WEB_ALGMAN",
|
||||
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).
|
||||
R : "WEB_ALGMAN",
|
||||
W : "WEB_PRSBOF",
|
||||
PW: "WEB_PRSBOF"}[level];
|
||||
|
||||
var authParams = user.checkAutorisation(autfunction);
|
||||
|
||||
var authparamsAlg = alg.checkAutorisation();
|
||||
|
||||
var tobedeleted = 0;
|
||||
var ingesloten = [];
|
||||
// Bepaal de opdrachten in de selectie die
|
||||
// ook echt geaccepteerd kunnen of mogen worden.
|
||||
for (var i = 0; i < dis_key_arr.length; i++)
|
||||
{
|
||||
var canDelete = false;
|
||||
switch (level)
|
||||
{
|
||||
case "RE": canDelete = alg.canWriteRegio(dis_key_arr[i], authparamsAlg.mALGwritelevel);
|
||||
break;
|
||||
case "D": canDelete = alg.canWriteDistrict(dis_key_arr[i], authparamsAlg.mALGwritelevel);
|
||||
break;
|
||||
case "L": canDelete = alg.canWriteLocatie(dis_key_arr[i], authparamsAlg.mALGwritelevel);
|
||||
break;
|
||||
case "T": var sql = "SELECT alg_locatie_key"
|
||||
+ " FROM alg_v_aanwezigterreinsector"
|
||||
+ " WHERE alg_terreinsector_key = " + dis_key_arr[i];
|
||||
oRs = Oracle.Execute(sql);
|
||||
canDelete = alg.canWriteLocatie(oRs("alg_locatie_key").Value, authparamsAlg.mALGwritelevel);
|
||||
oRs.Close()
|
||||
break;
|
||||
case "G": canDelete = alg.canWriteGebouw(dis_key_arr[i], authparamsAlg.mALGwritelevel);
|
||||
break;
|
||||
case "V": canDelete = alg.canWriteVerdieping(dis_key_arr[i], authparamsAlg.mALGwritelevel);
|
||||
break;
|
||||
case "R": canDelete = alg.canWriteRuimte(dis_key_arr[i], authparamsAlg.mALGwritelevel);
|
||||
break;
|
||||
case "W": var sql = "SELECT alg_ruimte_key"
|
||||
+ " FROM prs_v_werkplek_gegevens"
|
||||
+ " WHERE prs_werkplek_key = " + dis_key_arr[i];
|
||||
oRs = Oracle.Execute(sql);
|
||||
canDelete = alg.canWriteRuimte(oRs("alg_ruimte_key").Value, authparamsAlg.mALGwritelevel);
|
||||
oRs.Close()
|
||||
break;
|
||||
case "PW": var sql = "SELECT alg_ruimte_key"
|
||||
+ " FROM prs_v_werkplek_gegevens w, prs_perslidwerkplek pw"
|
||||
+ " WHERE pw.prs_werkplek_key = w.prs_werkplek_key"
|
||||
+ " AND prs_perslidwerkplek_key = " + dis_key_arr[i];
|
||||
oRs = Oracle.Execute(sql);
|
||||
canDelete = alg.func_enabled_ruimte(oRs("alg_ruimte_key").Value).canPRSBOFwrite;
|
||||
oRs.Close()
|
||||
break;
|
||||
}
|
||||
|
||||
if (canDelete)
|
||||
{
|
||||
ingesloten.push(dis_key_arr[i]);
|
||||
tobedeleted++;
|
||||
}
|
||||
}
|
||||
user.auth_required_or_abort(tobedeleted > 0); // We klagen niet over enkele wel en enkele niet
|
||||
|
||||
var table = {D : "ALG_DISTRICT",
|
||||
RE: "ALG_REGIO",
|
||||
L : "ALG_LOCATIE",
|
||||
@@ -100,42 +44,36 @@ var table = {D : "ALG_DISTRICT",
|
||||
W : "PRS_WERKPLEK",
|
||||
PW: "PRS_PERSLIDWERKPLEK"}[level];
|
||||
|
||||
result = { success: true, deleted: true };
|
||||
for (var i = 0; i < ingesloten.length; i++)
|
||||
result = { success: 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 (" + ingesloten[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 (" + ingesloten[i] + ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = "UPDATE " + table
|
||||
+ " SET " + table + "_VERWIJDER = " + "SYSDATE"
|
||||
+ " WHERE " + table + "_key IN (" + ingesloten[i] + ")";
|
||||
}
|
||||
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);
|
||||
{
|
||||
result.message = err.friendlyMsg;
|
||||
break;
|
||||
}
|
||||
|
||||
// Bij impliciet ook de werkplek weggooien die nu leeg is.
|
||||
if (result.success && level == "PW" && S("prs_werkplek_implicit") == 1)
|
||||
{
|
||||
sql = "UPDATE prs_werkplek"
|
||||
+ " SET prs_werkplek_verwijder = SYSDATE"
|
||||
+ " 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)
|
||||
{
|
||||
result.message = err.friendlyMsg;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
|
||||
@@ -28,9 +28,9 @@ if (dis_key > 0)
|
||||
+ " FROM alg_district "
|
||||
+ " WHERE alg_district_key = " + dis_key;
|
||||
|
||||
var oRs = Oracle.Execute(sql);
|
||||
oRs = Oracle.Execute(sql);
|
||||
|
||||
var dis_name = oRs("alg_district_omschrijving").value;
|
||||
oRs.Close()
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -42,7 +42,7 @@ else
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<script type="text/javascript" >
|
||||
FcltMgr.setTitle(L("lcl_district") + " " + "<%=safe.jsstring(dis_name)%>", {hot: false});
|
||||
FcltMgr.setTitle("<%=L("lcl_district")%> <%=safe.jsstring(dis_name)%> ", {hot: false});
|
||||
<% if (dis_key == -1) { %>FcltMgr.startEdit(window);<% } %>
|
||||
function algClose(params)
|
||||
{
|
||||
@@ -67,7 +67,7 @@ else
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<body id="editbody">
|
||||
<% if (dis_key == -1)
|
||||
var page="alg_edit_district.asp"; // Maak een nieuw
|
||||
else
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
Note:
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../Shared/disCxprs3d.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
||||
<!-- #include file="../Shared/getkenmerksql.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
@@ -34,37 +36,33 @@ function fnrowData(oRs)
|
||||
|
||||
function gotoDetails(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_locatie_search.asp?district_key=" + algData.detail_key + "&autosearch=" + autosearch;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_location")%>");
|
||||
}
|
||||
function gotoParent(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_regio_search.asp?regio_key=" + algData.parent_key + "&autosearch=" + autosearch;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_region")%>");
|
||||
}
|
||||
function districtEdit(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_district.asp?mode=viewUpdate&key=" + algData.key;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_district")%>" + ' ' + algData.oms);
|
||||
}
|
||||
|
||||
function doDelete(rowArray, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_district"), { autoconfirm: isMulti },
|
||||
function() {
|
||||
var disKeyString = getKeyString(rowArray);
|
||||
var data = { key: disKeyString,
|
||||
level: "D"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>+
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
}
|
||||
);
|
||||
var disKeyString = getKeyString(rowArray);
|
||||
if (isMulti || confirm(L("lcl_alg_del_txt_district")))
|
||||
$.post("alg_delete.asp",
|
||||
{ key: disKeyString,
|
||||
level: "D" },
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
|
||||
</script>
|
||||
<%
|
||||
|
||||
@@ -82,22 +80,13 @@ function district_list(pautfunction, params)
|
||||
var reg_key = params.reg_key;
|
||||
var dis_key = params.dis_key;
|
||||
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
var eDelete = false;
|
||||
if (alg.canWriteDistrict(oRs("alg_district_key").value, authparams.mALGwritelevel))
|
||||
eDelete = true;
|
||||
return ({eDelete: eDelete})
|
||||
}
|
||||
|
||||
function fnrowFlexParams(oRs)
|
||||
{
|
||||
var dis_key = oRs("alg_district_key").Value;
|
||||
var this_alg = alg.func_enabled(dis_key, "D");
|
||||
|
||||
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
|
||||
return flexParams;
|
||||
}
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
var eDelete = false;
|
||||
if (alg.canWriteDistrict(oRs("alg_district_key").value, authparams.mALGwritelevel))
|
||||
eDelete = true;
|
||||
return ({eDelete: eDelete})
|
||||
}
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
@@ -130,11 +119,6 @@ function district_list(pautfunction, params)
|
||||
sqln += " AND d.alg_district_key = " + dis_key;
|
||||
}
|
||||
|
||||
if (params.distr_descr)
|
||||
{
|
||||
sqln += " AND UPPER(d.alg_district_omschrijving) LIKE " + safe.quoted_sql_wild(params.distr_descr + "%");
|
||||
}
|
||||
|
||||
else if (reg_key)
|
||||
{
|
||||
sqln += " AND d.alg_regio_key = " + reg_key;
|
||||
@@ -157,7 +141,6 @@ function district_list(pautfunction, params)
|
||||
rowActionEnabler: fnrowActionEnabler,
|
||||
flexModule: "ALG",
|
||||
flexId: "alg_district_key",
|
||||
flexParams: fnrowFlexParams,
|
||||
filterParams: params,
|
||||
outputmode: outputmode,
|
||||
buttons: addButton
|
||||
|
||||
@@ -28,16 +28,16 @@ var authparams = alg.checkAutorisation();
|
||||
// Submitten met kenmerken
|
||||
doSubmitWithKenmerken();
|
||||
}
|
||||
function myModal(init)
|
||||
function myModal()
|
||||
{
|
||||
var lvl = "D";
|
||||
var key = 0;
|
||||
var bld_key = "";
|
||||
var url = "load_kenmerk.asp?disc=" + "&urole=bo" + "&advanced=1" + "&onrgoed_key=" +bld_key + "&onrgoed_niveau=" + lvl;
|
||||
var titel = "<%=L("lcl_properties")%>";
|
||||
showKenmerkModal(url, titel, init)
|
||||
showKenmerkModal(url, titel)
|
||||
}
|
||||
$(function() {<% if (autosearch) { %> document.forms.u2.submit();<%}%>});
|
||||
$(document).ready(function() {<% if (autosearch) { %> document.forms.u2.submit();<%}%>});
|
||||
</script>
|
||||
</head>
|
||||
<body id="searchbody">
|
||||
@@ -52,23 +52,19 @@ var authparams = alg.checkAutorisation();
|
||||
regiokey: regio_key,
|
||||
districtkey: district_key,
|
||||
startlevel: 0, // Regio
|
||||
eindlevel: 0, // Regio
|
||||
eindlevel: 1, // District
|
||||
whenEmpty: L("lcl_search_generic")
|
||||
});
|
||||
%>
|
||||
<tr class="primsearch">
|
||||
<td class="label"><label><%=L("lcl_estate_district_man_descr")%>:</label></td>
|
||||
<td><input type="text" class="wildcard" id="distr_descr" name="distr_descr" value=""></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td><!-- end column 1 -->
|
||||
<td class="searchkolom2">
|
||||
</td><!-- end column 1 -->
|
||||
</tr>
|
||||
<% BLOCK_END();
|
||||
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch", importance: 1 },
|
||||
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced", importance: 3 } ];
|
||||
CreateButtons(buttons, { entersubmit: true }); %>
|
||||
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch" },
|
||||
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced" } ];
|
||||
CreateButtons(buttons); %>
|
||||
</form>
|
||||
|
||||
</div> <!-- search -->
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
$Id$
|
||||
|
||||
File: alg_district_search_list.asp
|
||||
Description:
|
||||
Parameters:
|
||||
Context:
|
||||
Description:
|
||||
Parameters:
|
||||
Context:
|
||||
Note:
|
||||
*/ %>
|
||||
|
||||
@@ -23,14 +23,12 @@ var outputmode = getQParamInt("outputmode", 0); // 0 = screen, 1 = print, 2 = e
|
||||
var showall = getQParamInt("showall", 0) == 1;
|
||||
var reg_key = getQParamInt("regiokey", -1); // Regio
|
||||
var dis_key = getQParamInt("districtkey", -1); // District
|
||||
var distr_descr = getQParam("distr_descr", ""); // Districtomschrijving
|
||||
|
||||
district_list ( "*",
|
||||
{ outputmode: outputmode,
|
||||
showall: showall,
|
||||
reg_key: (reg_key != -1? reg_key : null),
|
||||
dis_key: (dis_key != -1? dis_key : null),
|
||||
distr_descr: distr_descr
|
||||
dis_key: (dis_key != -1? dis_key : null)
|
||||
}
|
||||
);
|
||||
%>
|
||||
@@ -83,7 +83,7 @@ if (this_alg.writeman)
|
||||
else
|
||||
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE of <self> dan zijn er veel readonly
|
||||
|
||||
BLOCK_START("algInfo", " ");
|
||||
BLOCK_START("algInfo", "");
|
||||
FCLTplaatsselector(this_alg.authparams("WEB_ALGMAN").ALGwritelevel, {
|
||||
districtkey: dis_key,
|
||||
startlevel: 0, // Regio
|
||||
@@ -103,7 +103,6 @@ generateFlexKenmerkBlock ({
|
||||
flexcolumns : S("alg_flexcolumns"),
|
||||
this_alg : this_alg
|
||||
});
|
||||
IFACE.FORM_END();
|
||||
%>
|
||||
</form>
|
||||
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>
|
||||
|
||||
@@ -7,22 +7,17 @@
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/kenmerk_common.inc"-->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
<% FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"],
|
||||
js: []
|
||||
}) %>
|
||||
<%
|
||||
var dis_key = getQParamInt( "dis_key" );
|
||||
var dis_key = getQParamInt( "dis_key" );
|
||||
|
||||
var onrgoedlvl = "D";
|
||||
var this_alg = alg.func_enabled(dis_key, onrgoedlvl);
|
||||
user.auth_required_or_abort(this_alg.readman || this_alg.readuse);
|
||||
|
||||
var fields = [ { dbs: "alg_district_omschrijving", typ: "varchar", frm: "dis_oms" },
|
||||
{ dbs: "alg_regio_key", typ: "number", frm: "regiokey" }];
|
||||
var fields = [ { dbs: "alg_district_omschrijving", typ: "varchar", frm: "dis_oms" },
|
||||
{ dbs: "alg_regio_key", typ: "number", frm: "regiokey" }];
|
||||
|
||||
var warning = "";
|
||||
if (dis_key > 0)
|
||||
@@ -48,42 +43,29 @@ else
|
||||
|
||||
if (!warning)
|
||||
{
|
||||
currentKenmerkenSQL = "SELECT k.alg_kenmerk_key"
|
||||
+ " , ok.alg_onrgoedkenmerk_waarde"
|
||||
+ " , k.alg_kenmerk_toonbaar"
|
||||
+ " FROM alg_onrgoedkenmerk ok"
|
||||
+ " , alg_kenmerk k"
|
||||
+ " WHERE k.alg_kenmerk_key = ok.alg_kenmerk_key"
|
||||
+ " AND alg_onrgoedkenmerk_verwijder IS NULL"
|
||||
+ " AND alg_onrgoed_niveau = 'D'"
|
||||
+ " AND alg_onrgoed_key = " + dis_key;
|
||||
saveFlexKenmerken(dis_key,
|
||||
{ kenmerkTable: "alg_onrgoedkenmerk",
|
||||
kenmerkParentKey : "alg_onrgoed_key",
|
||||
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
|
||||
kenmerkKey: "alg_kenmerk_key",
|
||||
kenmerkToonbaar: "alg_kenmerk_toonbaar",
|
||||
currentKenmerkenSQL: currentKenmerkenSQL,
|
||||
requestQF: Request.Form,
|
||||
flexPath: "ALG/D",
|
||||
module: "ALG",
|
||||
moduleName: "alg_onrgoed_niveau",
|
||||
moduleVal: "D",
|
||||
isNew: dis_key < 0
|
||||
});
|
||||
currentKenmerkenSQL = " SELECT k.ALG_kenmerk_key " +
|
||||
" , ok.alg_onrgoedkenmerk_waarde" +
|
||||
" FROM ALG_ONRGOEDKENMERK ok, ALG_KENMERK k " +
|
||||
" WHERE k.ALG_KENMERK_KEY = ok.ALG_KENMERK_KEY " +
|
||||
" AND ALG_ONRGOEDKENMERK_VERWIJDER IS NULL " +
|
||||
" AND ALG_ONRGOED_NIVEAU = 'D' " +
|
||||
" AND ALG_ONRGOED_KEY = " + dis_key;
|
||||
saveFlexKenmerken(dis_key, "ALG_ONRGOEDKENMERK", "ALG_ONRGOED_KEY",
|
||||
"ALG_ONRGOEDKENMERK_WAARDE", "ALG_KENMERK_KEY",
|
||||
currentKenmerkenSQL, false, //QueryForm, rest QueryString
|
||||
"ALG_ONRGOED_NIVEAU", "D",
|
||||
(dis_key<0),"ALG/D")
|
||||
}
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate() %>
|
||||
<script>
|
||||
$(function ()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { dis_key: <%=dis_key%>,
|
||||
warning: "<%=safe.jsstring(warning)%>",
|
||||
keepForm: <%=warning?"true":"false"%>
|
||||
});
|
||||
});
|
||||
$(document).ready(function () {
|
||||
FcltMgr.closeDetail(window, { dis_key: <%=dis_key%>,
|
||||
warning: "<%=safe.jsstring(warning)%>",
|
||||
keepForm: <%=warning?"true":"false"%>
|
||||
}); } );
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -7,16 +7,17 @@
|
||||
Description: edit of toevoegen van een gebouw
|
||||
Parameters: bld_key
|
||||
|
||||
|
||||
Context:
|
||||
Note:
|
||||
|
||||
*/ %>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/calendar.inc" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/adresselector.inc" -->
|
||||
<!-- #include file="../Shared/plaatsselector.inc" -->
|
||||
<!-- #include file="../Shared/kostenplaatsselector.inc" -->
|
||||
<!-- #include file="../Shared/persoonselector.inc" -->
|
||||
<!-- #include file="../API2/api2.inc" -->
|
||||
<!--#include file="../Shared/common.inc" -->
|
||||
<!--#include file="../Shared/iface.inc" -->
|
||||
<!--#include file="../Shared/selector.inc" -->
|
||||
|
||||
<!--#include file="../Shared/plaatsselector.inc" -->
|
||||
<!--#include file="../Shared/kostenplaatsselector.inc" -->
|
||||
<!-- #include file="alg_flexkenmerk.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
@@ -31,260 +32,193 @@ user.auth_required_or_abort(this_alg.writeman || (bld_key>0&&this_alg.writeuse))
|
||||
|
||||
if (bld_key > 0)
|
||||
{
|
||||
var sql = " SELECT *"
|
||||
+ " FROM alg_gebouw"
|
||||
+ " WHERE alg_gebouw_key = " + bld_key;
|
||||
sql = " select * "
|
||||
+ " FROM ALG_GEBOUW "
|
||||
+ " WHERE alg_gebouw_key = " + bld_key;
|
||||
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (oRs.Eof)
|
||||
shared.record_not_found("<!--"+bld_key+"-->");
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (oRs.Eof)
|
||||
shared.record_not_found("<!--"+bld_key+"-->");
|
||||
|
||||
var bld_srtkey = oRs("alg_srtgebouw_key").Value;
|
||||
var bld_naam = oRs("alg_gebouw_naam").Value;
|
||||
var bld_code = oRs("alg_gebouw_code").Value;
|
||||
var bld_descr = oRs("alg_gebouw_omschrijving").Value;
|
||||
var bld_maak = oRs("alg_gebouw_aanmaak").Value;
|
||||
var bld_email = oRs("alg_gebouw_email").Value;
|
||||
var bld_teken = oRs("alg_gebouw_getekend").Value;
|
||||
var bld_opp = oRs("alg_gebouw_bruto_vloeropp").Value;
|
||||
var bld_omtrek = oRs("alg_gebouw_omtrek").Value;
|
||||
var bld_inhoud = oRs("alg_gebouw_inhoud").Value;
|
||||
var bld_opmerk = oRs("alg_gebouw_opmerking").Value;
|
||||
var mld_adres = oRs("mld_adres_key").Value;
|
||||
var prs_kstpl = oRs("prs_kostenplaats_key").Value;
|
||||
var bld_ordrnr = oRs("alg_gebouw_ordernr").Value;
|
||||
var bld_dwgx = oRs("alg_gebouw_dwgx").Value;
|
||||
var bld_dwgy = oRs("alg_gebouw_dwgy").Value;
|
||||
var bld_x = oRs("alg_gebouw_x").Value;
|
||||
var bld_y = oRs("alg_gebouw_y").Value;
|
||||
var bld_bez = oRs("alg_gebouw_bez").Value;
|
||||
var bld_groep = oRs("alg_gebouw_groep").Value;
|
||||
var dienstniveau = oRs("mld_dienstniveau_key").Value;
|
||||
var beginuur = oRs("alg_gebouw_beginuur").Value;
|
||||
var einduur = oRs("alg_gebouw_einduur").Value;
|
||||
var werkdagen = oRs("alg_gebouw_werkdagen").Value;
|
||||
var toon_telefoon = oRs("alg_gebouw_toon_telefoon").Value;
|
||||
var toon_email = oRs("alg_gebouw_toon_email").Value;
|
||||
var toon_kenteken = oRs("alg_gebouw_toon_kenteken").Value;
|
||||
var verantw_key = oRs("prs_perslid_key_verantw").Value;
|
||||
var verantw_key2 = oRs("prs_perslid_key_verantw2").Value;
|
||||
var vervaldatum = oRs("alg_gebouw_vervaldatum").Value != null ? new Date(oRs("alg_gebouw_vervaldatum").Value) : null;
|
||||
var geb_score1 = oRs("alg_gebouw_mjb_score1").value;
|
||||
oRs.Close();
|
||||
var bld_srtkey = oRs("ALG_SRTGEBOUW_KEY").value;
|
||||
var bld_naam = oRs("ALG_GEBOUW_NAAM").value;
|
||||
var bld_code = oRs("ALG_GEBOUW_CODE").value;
|
||||
var bld_descr = oRs("ALG_GEBOUW_OMSCHRIJVING").value;
|
||||
var bld_maak = oRs("ALG_GEBOUW_AANMAAK").value;
|
||||
var bld_teken = oRs("ALG_GEBOUW_GETEKEND").value;
|
||||
var bld_opp = oRs("ALG_GEBOUW_BRUTO_VLOEROPP").value;
|
||||
var bld_omtrek = oRs("ALG_GEBOUW_OMTREK").value;
|
||||
var bld_inhoud = oRs("ALG_GEBOUW_INHOUD").value;
|
||||
var bld_opmerk = oRs("ALG_GEBOUW_OPMERKING").value;
|
||||
var mld_adres = oRs("MLD_ADRES_KEY").value;
|
||||
var prs_kstpl = oRs("PRS_KOSTENPLAATS_KEY").value;
|
||||
var bld_ordrnr = oRs("ALG_GEBOUW_ORDERNR").value;
|
||||
var bld_dwgx = oRs("ALG_GEBOUW_DWGX").value;
|
||||
var bld_dwgy = oRs("ALG_GEBOUW_DWGY").value;
|
||||
var bld_x = oRs("ALG_GEBOUW_X").value;
|
||||
var bld_y = oRs("ALG_GEBOUW_Y").value;
|
||||
var bld_bez = oRs("ALG_GEBOUW_BEZ").value;
|
||||
var dienstniveau = oRs("mld_dienstniveau_key").value;
|
||||
var beginuur = oRs("alg_gebouw_beginuur").value;
|
||||
var einduur = oRs("alg_gebouw_einduur").value;
|
||||
var werkdagen = oRs("alg_gebouw_werkdagen").value;
|
||||
oRs.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
var werkdagen = 1;
|
||||
var toon_telefoon = 0;
|
||||
var toon_email = 0;
|
||||
var toon_kenteken = 0;
|
||||
}
|
||||
werkdagen = 1;
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<head>
|
||||
<%
|
||||
FCLTHeader.Generate();
|
||||
%>
|
||||
<script>
|
||||
function alg_submit()
|
||||
{
|
||||
document.activeElement.blur(); // trigger laatste onChanges
|
||||
if (!validateForm("u2"))
|
||||
return false;
|
||||
document.forms.u2.submit();
|
||||
}
|
||||
function alg_cancel()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<script>
|
||||
function alg_submit()
|
||||
{
|
||||
document.activeElement.blur(); // trigger laatste onChanges
|
||||
if (!validateForm("u2"))
|
||||
return false;
|
||||
document.forms.u2.submit();
|
||||
}
|
||||
function alg_cancel()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body id="editbody">
|
||||
<body id="editbody">
|
||||
<%
|
||||
var buttons = [ {title: L("lcl_submit"), action:"alg_submit()", icon: "opslaan.png" },
|
||||
{title: L("lcl_cancel"), action:"alg_cancel()", icon: "undo.png" } ];
|
||||
IFRAMER_HEADER(L("lcl_alg_gebouw_frame"), buttons);
|
||||
var buttons = [ {title: L("lcl_submit"), action:"alg_submit()", icon: "opslaan.png" },
|
||||
{title: L("lcl_cancel"), action:"alg_cancel()", icon: "undo.png" } ];
|
||||
IFRAMER_HEADER(L("lcl_alg_gebouw_frame"), buttons);
|
||||
%>
|
||||
<div id="edit">
|
||||
<form name="u2"
|
||||
action="alg_edit_gebouw_save.asp?bld_key=<%=bld_key%>"
|
||||
method="post"
|
||||
target="hidFrameSubmit"
|
||||
onSubmit="alg_submit();">
|
||||
<div id="edit">
|
||||
<form name="u2"
|
||||
action="alg_edit_gebouw_save.asp?bld_key=<%=bld_key%>"
|
||||
method="post"
|
||||
target="hidFrameSubmit"
|
||||
onSubmit="alg_submit();">
|
||||
<%
|
||||
if (this_alg.writeman)
|
||||
manRWFIELD = RWFIELDTR;
|
||||
else
|
||||
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE of <self> dan zijn er veel readonly
|
||||
if (this_alg.writeman)
|
||||
manRWFIELD = RWFIELDTR;
|
||||
else
|
||||
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE of <self> dan zijn er veel readonly
|
||||
|
||||
BLOCK_START("algLoc1", L("lcl_alg_gebouw_algemeen"));
|
||||
FCLTplaatsselector(this_alg.authparams("WEB_ALGMAN").ALGwritelevel,
|
||||
{ gebouwkey: bld_key,
|
||||
startlevel: 2, //Locatie
|
||||
eindlevel: 2, // Locatie
|
||||
readonly: bld_key > 0,
|
||||
required: true
|
||||
});
|
||||
manRWFIELD("bld_naam", "fld", L("lcl_estate_gebouw_man_name"), bld_naam, {required: true, maxlength: 60});
|
||||
manRWFIELD("bld_code", "fld", L("lcl_estate_gebouw_man_code"), bld_code, {required: true, maxlength: 12});
|
||||
sql = "SELECT alg_srtgebouw_key, "
|
||||
+ " "+lcl.xsqla('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')
|
||||
+ " FROM alg_srtgebouw "
|
||||
+ " WHERE alg_srtgebouw_verwijder IS NULL "
|
||||
+ "ORDER BY UPPER("+lcl.xsql('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')+")";
|
||||
FCLTselector("bld_srtkey",
|
||||
sql,
|
||||
{ label: L("lcl_estate_gebouw_srtgebouw"),
|
||||
BLOCK_START("algLoc1", "");
|
||||
|
||||
FCLTplaatsselector(this_alg.authparams("WEB_ALGMAN").ALGwritelevel, {
|
||||
gebouwkey: bld_key,
|
||||
startlevel: 2, //Locatie
|
||||
eindlevel: 2, // Locatie
|
||||
readonly: bld_key > 0,
|
||||
required: true });
|
||||
|
||||
manRWFIELD("bld_naam", "fld", L("lcl_estate_gebouw_man_name"), bld_naam, {required: true, maxlength: 30});
|
||||
|
||||
sql = "SELECT alg_srtgebouw_key, "
|
||||
+ " "+lcl.xsqla('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')
|
||||
+ " FROM alg_srtgebouw "
|
||||
+ " WHERE alg_srtgebouw_verwijder IS NULL "
|
||||
+ "ORDER BY UPPER("+lcl.xsql('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')+")";
|
||||
|
||||
FCLTselector("bld_srtkey", sql,
|
||||
{ label: L("lcl_estate_gebouw_srtgebouw"),
|
||||
initKey: bld_srtkey,
|
||||
emptyOption: "",
|
||||
readonly: !this_alg.writeman
|
||||
});
|
||||
manRWFIELD("bld_opmerk", "fld", L("lcl_estate_gebouw_man_opmerk"), bld_opmerk, {maxlength: 50});
|
||||
manRWFIELD("bld_groep", "fld", L("lcl_estate_gebouw_groepkenmerk"), bld_groep, {maxlength: 60});
|
||||
}
|
||||
);
|
||||
|
||||
FCLTcalendar("vervaldatum",
|
||||
{ datum: vervaldatum,
|
||||
initEmpty: vervaldatum==null,
|
||||
label: L("lcl_alg_vervaldatum"),
|
||||
readonly: !this_alg.writeman
|
||||
});
|
||||
BLOCK_END();
|
||||
manRWFIELD("bld_code", "fld", L("lcl_estate_gebouw_man_code"), bld_code, {required: true, maxlength: 12});
|
||||
manRWFIELD("bld_opmerk", "fld", L("lcl_estate_gebouw_man_opmerk"), bld_opmerk, {maxlength: 50});
|
||||
|
||||
BLOCK_START("algLoc2", L("lcl_alg_gebouw_fysiek"));
|
||||
if (bld_key > 0)
|
||||
{
|
||||
var calcopp = alg.calc_algm2(bld_key, onrgoedlvl);
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_bruto_vloeropp") + L("lcl_estate_calc_vloeropp"), calcopp.oppbruto, {suppressEmpty: true, datatype: "float"});
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt1") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt1, {suppressEmpty: true, datatype: "float"});
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt2") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt2, {suppressEmpty: true, datatype: "float"});
|
||||
}
|
||||
manRWFIELD("bld_opp", "fld float", L("lcl_estate_gebouw_man_bruto_vloeropp"), bld_opp, {datatype: "float", maxlength: 15});
|
||||
manRWFIELD("bld_omtrek", "fld", L("lcl_estate_gebouw_man_omtrek"), bld_omtrek, {datatype: "float", maxlength: 15});
|
||||
manRWFIELD("bld_inhoud", "fld", L("lcl_estate_gebouw_man_inhoud"), bld_inhoud, {datatype: "float", maxlength: 15});
|
||||
manRWFIELD("bld_x", "fldshort", L("lcl_geoxcoord"), bld_x, {maxlength: 25});
|
||||
manRWFIELD("bld_y", "fldshort", L("lcl_geoycoord"), bld_y, {maxlength: 25});
|
||||
|
||||
ROFIELDTR("fld", L("lcl_alg_gebouw_mjb_score1"), geb_score1, {suppressEmpty: true});
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("algLoc3", L("lcl_alg_gebouw_administr"));
|
||||
|
||||
FCLTkostenplaatsselector( "prs_kstpl",
|
||||
"prs_kstpl",
|
||||
user_key,
|
||||
{ kostenplaatsKey: prs_kstpl,
|
||||
label: L("lcl_prs_dept_kosten"),
|
||||
filtercode: "G",
|
||||
readonly: !this_alg.writeman
|
||||
});
|
||||
manRWFIELD("bld_ordrnr", "fld", L("lcl_estate_gebouw_ordernr"), bld_ordrnr, {maxlength: 30});
|
||||
FCLTpersoonselector("verantw",
|
||||
"sgVerantw",
|
||||
{ perslidKey: verantw_key,
|
||||
label: L("lcl_alg_verantw"),
|
||||
readonly: !this_alg.writeuse,
|
||||
autlevel: this_alg.authparams("WEB_ALGMAN") && this_alg.authparams("WEB_ALGMAN").PRSwritelevel
|
||||
FCLTkostenplaatsselector( "prs_kstpl",
|
||||
"prs_kstpl",
|
||||
user_key,
|
||||
{ kostenplaatsKey: prs_kstpl,
|
||||
label: L("lcl_prs_dept_kosten"),
|
||||
filtercode: "G",
|
||||
readonly: !this_alg.writeman
|
||||
});
|
||||
FCLTpersoonselector("verantw2",
|
||||
"sgVerantw2",
|
||||
{ perslidKey: verantw_key2,
|
||||
label: L("lcl_alg_verantw2"),
|
||||
readonly: !this_alg.writeuse,
|
||||
autlevel: this_alg.authparams("WEB_ALGMAN") && this_alg.authparams("WEB_ALGMAN").PRSwritelevel
|
||||
});
|
||||
manRWFIELD("bld_email", "fld", L("lcl_alg_gebouw_email"), bld_email, {maxlength: 200});
|
||||
|
||||
BLOCK_END();
|
||||
manRWFIELD("bld_ordrnr", "fld", L("lcl_estate_gebouw_ordernr"), bld_ordrnr, {maxlength: 30});
|
||||
|
||||
BLOCK_START("algLoc4", L("lcl_alg_gebouw_facilitair"));
|
||||
sql = "SELECT mld_dienstniveau_key"
|
||||
+ " , " + lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
+ " FROM mld_dienstniveau"
|
||||
+ " ORDER BY UPPER(" + lcl.xsql("mld_dienstniveau_omschr", "mld_dienstniveau_key") + ")";
|
||||
FCLTselector("dienstniveau",
|
||||
sql,
|
||||
{ label: L("lcl_mld_dienst_niveau"),
|
||||
initKey: dienstniveau,
|
||||
emptyOption: "",
|
||||
readonly: !this_alg.writeuse
|
||||
});
|
||||
FCLTadresselector("mld_adres", "sgAdres",
|
||||
{
|
||||
label: L("lcl_delivery_address"),
|
||||
adresKey: mld_adres,
|
||||
emptyOption: "",
|
||||
filtercode: "A",
|
||||
readonly: !this_alg.writeman
|
||||
}) ;
|
||||
var times = [];
|
||||
for (i=0; i<24; i++)
|
||||
{
|
||||
sql = " SELECT " + String(i+0/4) + ", '" + String(i) + ":00' FROM DUAL"
|
||||
+ " UNION ALL SELECT " + String(i+1/4) + ", '" + String(i) + ":15' FROM DUAL"
|
||||
+ " UNION ALL SELECT " + String(i+2/4) + ", '" + String(i) + ":30' FROM DUAL"
|
||||
+ " UNION ALL SELECT " + String(i+3/4) + ", '" + String(i) + ":45' FROM DUAL"
|
||||
times.push(sql);
|
||||
}
|
||||
FCLTselector("bld_beginuur", times.join(" UNION ALL "),
|
||||
{ label: L("lcl_estate_gebouw_beginuur"),
|
||||
initKey: beginuur,
|
||||
emptyOption: "",
|
||||
readonly: !this_alg.writeman
|
||||
}
|
||||
);
|
||||
FCLTselector("bld_einduur", times.join(" UNION ALL "),
|
||||
{ label: L("lcl_estate_gebouw_einduur"),
|
||||
initKey: einduur,
|
||||
emptyOption: "",
|
||||
readonly: !this_alg.writeman
|
||||
}
|
||||
);
|
||||
if (this_alg.writeman)
|
||||
CHECKBOXTR(L("lcl_estate_gebouw_werkdagen"), "fldalgwerk", "bld_werkdagen", werkdagen==1)
|
||||
BLOCK_END();
|
||||
sql = "SELECT mld_dienstniveau_key, "
|
||||
+ lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
+ " FROM mld_dienstniveau "
|
||||
+ "ORDER BY UPPER("+lcl.xsql("mld_dienstniveau_omschr", "mld_dienstniveau_key")+")";
|
||||
|
||||
if (user.checkAutorisation("WEB_BEZMGT", true))
|
||||
{
|
||||
FCLTselector("dienstniveau", sql,
|
||||
{ label: L("lcl_mld_dienst_niveau"),
|
||||
initKey: dienstniveau,
|
||||
emptyOption: "",
|
||||
readonly: !this_alg.writeuse
|
||||
});
|
||||
|
||||
BLOCK_START("algLoc5", L("lcl_alg_gebouw_bezoek"));
|
||||
if (this_alg.writeman)
|
||||
CHECKBOXTR(L("lcl_estate_gebouw_bez"), "fldalgbez", "bld_bez", bld_bez==1);
|
||||
var sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toontelfLOV"));
|
||||
FCLTselector("toon_telefoon",
|
||||
sql,
|
||||
{ label: L("lcl_estate_gebouw_toon_telefoon"),
|
||||
initKey: toon_telefoon,
|
||||
extraclass: "notmulti"
|
||||
});
|
||||
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonmailLOV"));
|
||||
FCLTselector("toon_email",
|
||||
sql,
|
||||
{ label: L("lcl_estate_gebouw_toon_email"),
|
||||
initKey: toon_email,
|
||||
extraclass: "notmulti"
|
||||
});
|
||||
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonkentLOV"));
|
||||
FCLTselector("toon_kenteken",
|
||||
sql,
|
||||
{ label: L("lcl_estate_gebouw_toon_kenteken"),
|
||||
initKey: toon_kenteken,
|
||||
extraclass: "notmulti"
|
||||
});
|
||||
BLOCK_END();
|
||||
}
|
||||
BLOCK_END();
|
||||
BLOCK_START("algLoc2", "");
|
||||
|
||||
generateFlexKenmerkBlock ({ onrgoed_key : bld_key,
|
||||
onrgoed_niveau : onrgoedlvl,
|
||||
reado : false,
|
||||
flexcolumns : S("alg_flexcolumns"),
|
||||
this_alg : this_alg
|
||||
});
|
||||
IFACE.FORM_END();
|
||||
manRWFIELD("bld_opp", "fld", L("lcl_estate_gebouw_man_bruto_vloeropp"), bld_opp, {maxlength: 15});
|
||||
manRWFIELD("bld_omtrek", "fld", L("lcl_estate_gebouw_man_omtrek"), bld_omtrek, {maxlength: 15});
|
||||
manRWFIELD("bld_inhoud", "fld", L("lcl_estate_gebouw_man_inhoud"), bld_inhoud, {maxlength: 15});
|
||||
|
||||
sql ="SELECT mld_adres_key, "
|
||||
+ " mld_adres_naam "
|
||||
+ " FROM mld_v_afleveradres "
|
||||
+ "ORDER BY mld_adres_naam ";
|
||||
|
||||
FCLTselector("mld_adres", sql,
|
||||
{ label: L("lcl_delivery_address"),
|
||||
initKey: mld_adres,
|
||||
emptyOption: "",
|
||||
readonly: !this_alg.writeman
|
||||
});
|
||||
|
||||
manRWFIELD("bld_x", "fld", L("lcl_geoxcoord"), bld_x, {maxlength: 25});
|
||||
manRWFIELD("bld_y", "fld", L("lcl_geoycoord"), bld_y, {maxlength: 25});
|
||||
if (this_alg.writeman)
|
||||
CHECKBOXTR(L("lcl_estate_gebouw_bez"), "fldalgbez", "bld_bez", bld_bez==1)
|
||||
|
||||
var times = [];
|
||||
for (i=0; i<24; i++)
|
||||
{
|
||||
sql = " SELECT " + String(i+0/4) + ", '" + String(i) + ":00' FROM DUAL"
|
||||
+ " UNION ALL SELECT " + String(i+1/4) + ", '" + String(i) + ":15' FROM DUAL"
|
||||
+ " UNION ALL SELECT " + String(i+2/4) + ", '" + String(i) + ":30' FROM DUAL"
|
||||
+ " UNION ALL SELECT " + String(i+3/4) + ", '" + String(i) + ":45' FROM DUAL"
|
||||
times.push(sql);
|
||||
}
|
||||
FCLTselector("bld_beginuur", times.join(" UNION ALL "),
|
||||
{ label: L("lcl_estate_gebouw_beginuur"),
|
||||
initKey: beginuur,
|
||||
emptyOption: "",
|
||||
readonly: !this_alg.writeman
|
||||
}
|
||||
);
|
||||
FCLTselector("bld_einduur", times.join(" UNION ALL "),
|
||||
{ label: L("lcl_estate_gebouw_einduur"),
|
||||
initKey: einduur,
|
||||
emptyOption: "",
|
||||
readonly: !this_alg.writeman
|
||||
}
|
||||
);
|
||||
if (this_alg.writeman)
|
||||
CHECKBOXTR(L("lcl_estate_gebouw_werkdagen"), "fldalgwerk", "bld_werkdagen", werkdagen==1)
|
||||
|
||||
BLOCK_END();
|
||||
|
||||
generateFlexKenmerkBlock ({
|
||||
onrgoed_key : bld_key,
|
||||
onrgoed_niveau : onrgoedlvl,
|
||||
reado : false,
|
||||
flexcolumns : S("alg_flexcolumns"),
|
||||
this_alg : this_alg
|
||||
});
|
||||
%>
|
||||
</form>
|
||||
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>
|
||||
</div>
|
||||
</body>
|
||||
</form>
|
||||
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,315 +0,0 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: alg_edit_gebouw_multi.asp
|
||||
Description: Multi editten van gebouwen
|
||||
Parameters: key
|
||||
|
||||
Context: alg_gebouw_search_list.asp
|
||||
Note: De minimale multi-edit velden
|
||||
|
||||
*/ %>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/calendar.inc" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/persoonselector.inc" -->
|
||||
<!-- #include file="../Shared/kostenplaatsselector.inc" -->
|
||||
<!-- #include file="../Shared/kenmerk_common.inc" -->
|
||||
<!-- #include file="../API2/api2.inc" -->
|
||||
<!-- #include file="./alg_flexkenmerk.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["suggest", "jQuery", "kenmerk"] });
|
||||
|
||||
var bld_key_arr = getQParamIntArray("bld_keys");
|
||||
var submitting = getQParamInt("submit", 0) == 1;
|
||||
|
||||
var warning = "";
|
||||
var result = {};
|
||||
var tobeedited = 0;
|
||||
var ingesloten = [];
|
||||
// Bepaal de gebouwen in de selectie die
|
||||
// ook echt gewijzigd kunnen of mogen worden.
|
||||
var onrgoedlvl = "G";
|
||||
for (var i = 0; i < bld_key_arr.length; i++)
|
||||
{
|
||||
var this_alg = alg.func_enabled(bld_key_arr[i], onrgoedlvl);
|
||||
if (this_alg.writeman || this_alg.writeuse)
|
||||
{
|
||||
ingesloten.push(bld_key_arr[i]);
|
||||
tobeedited++;
|
||||
var last_this_alg = this_alg; // deze gebruiken we voor rechtencontrole. Niet 100% zuiver maar goed genoeg
|
||||
}
|
||||
}
|
||||
|
||||
user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele wel en enkele niet
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<%
|
||||
if (submitting)
|
||||
{
|
||||
var fields = [];
|
||||
if (Request.Form("prs_kstpl").Count == 1 && getFParam("check_prs_kstpl", "off") == "on")
|
||||
fields.push({ dbs: "prs_kostenplaats_key", typ: "key", frm: "prs_kstpl", track: L("lcl_prs_dept_kosten"), foreign: "prs_kostenplaats" });
|
||||
if (Request.Form("verantw").Count == 1 && getFParam("check_verantw", "off") == "on")
|
||||
fields.push({ dbs: "prs_perslid_key_verantw", typ: "key", frm: "verantw", track: L("lcl_alg_verantw"), foreign: "prs_perslid" });
|
||||
if (Request.Form("verantw2").Count == 1 && getFParam("check_verantw2", "off") == "on")
|
||||
fields.push({ dbs: "prs_perslid_key_verantw2", typ: "key", frm: "verantw2", track: L("lcl_alg_verantw2"), foreign: "prs_perslid" });
|
||||
if (Request.Form("groep").Count == 1 && getFParam("check_groep", "off") == "on")
|
||||
fields.push({ dbs: "alg_gebouw_groep", typ: "varchar", frm: "groep", track: L("lcl_estate_gebouw_groepkenmerk") });
|
||||
if (Request.Form("vervaldatum").Count == 1 && getFParam("check_vervaldatum", "off") == "on")
|
||||
fields.push({ dbs: "alg_gebouw_vervaldatum", typ: "date", frm: "vervaldatum", track: L("lcl_alg_vervaldatum") });
|
||||
if (Request.Form("toon_telefoon").Count == 1 && getFParam("check_toon_telefoon", "off") == "on")
|
||||
fields.push({ dbs: "alg_gebouw_toon_telefoon", typ: "number", frm: "toon_telefoon", track: L("lcl_estate_gebouw_toon_telefoon") });
|
||||
if (Request.Form("toon_email").Count == 1 && getFParam("check_toon_email", "off") == "on")
|
||||
fields.push({ dbs: "alg_gebouw_toon_email", typ: "number", frm: "toon_email", track: L("lcl_estate_gebouw_toon_email") });
|
||||
if (Request.Form("toon_kenteken").Count == 1 && getFParam("check_toon_kenteken", "off") == "on")
|
||||
fields.push({ dbs: "alg_gebouw_toon_kenteken", typ: "number", frm: "toon_kenteken", track: L("lcl_estate_gebouw_toon_kenteken") });
|
||||
|
||||
for (var i = 0; i < ingesloten.length; i++)
|
||||
{ // Ik mag het object wijzigen dus voer wijziging uit
|
||||
if (fields.length)
|
||||
{
|
||||
var algUpd = buildTrackingUpdate("alg_gebouw", " alg_gebouw_key = " + ingesloten[i], fields);
|
||||
// Submit the changed data
|
||||
var err = Oracle.Execute(algUpd.sql, true);
|
||||
if (err.friendlyMsg)
|
||||
warning = err.friendlyMsg;
|
||||
}
|
||||
else
|
||||
algUpd = { trackarray: [] };
|
||||
|
||||
currentKenmerkenSQL = "SELECT k.alg_kenmerk_key"
|
||||
+ " , ok.alg_onrgoedkenmerk_waarde"
|
||||
+ " , k.alg_kenmerk_toonbaar"
|
||||
+ " FROM alg_onrgoedkenmerk ok"
|
||||
+ " , alg_kenmerk k"
|
||||
+ " WHERE ok.alg_kenmerk_key = k.alg_kenmerk_key"
|
||||
+ " AND ok.alg_onrgoedkenmerk_verwijder IS NULL"
|
||||
+ " AND ok.alg_onrgoed_niveau = 'G'"
|
||||
+ " AND ok.alg_onrgoed_key = " + ingesloten[i];
|
||||
|
||||
allKenmerkenSQL = "SELECT " + lcl.xsql('k.alg_kenmerk_omschrijving', 'k.alg_kenmerk_key') + " kenmerk_omschrijving"
|
||||
+ " , k.alg_kenmerk_kenmerktype kenmerk_kenmerktype"
|
||||
+ " , k.alg_kenmerk_systeem kenmerk_systeem"
|
||||
+ " , k.alg_kenmerk_toonbaar kenmerk_readonly"
|
||||
+ " , k.alg_kenmerk_uniek kenmerk_uniek"
|
||||
+ " , fac_kenmerkdomein_key"
|
||||
+ " FROM alg_kenmerk k"
|
||||
+ " WHERE k.alg_kenmerk_key = "; /* wordt in saveFlexkenmerken uitgebreid */
|
||||
|
||||
var flextrack = saveFlexKenmerken(ingesloten[i],
|
||||
{ kenmerkTable: "alg_onrgoedkenmerk",
|
||||
kenmerkParentKey : "alg_onrgoed_key",
|
||||
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
|
||||
kenmerkKey: "alg_kenmerk_key",
|
||||
kenmerkToonbaar: "alg_kenmerk_toonbaar",
|
||||
currentKenmerkenSQL: currentKenmerkenSQL,
|
||||
allKenmerkenSQL: allKenmerkenSQL,
|
||||
requestQF: Request.Form,
|
||||
flexPath: "ALG/G",
|
||||
multiMode: true,
|
||||
tracking: true,
|
||||
module: "ALG",
|
||||
moduleName: "alg_onrgoed_niveau",
|
||||
moduleVal: "G",
|
||||
isNew: false
|
||||
});
|
||||
|
||||
// /* flextrackarray = */ ins.updateKenmerkdeel(ingesloten[i], {multimode: true});
|
||||
|
||||
var update_string = L("lcl_alg_is_alggup") + "\n" + algUpd.trackarray.join("\n");
|
||||
if (flextrack && flextrack.length)
|
||||
update_string += flextrack.join("\n");
|
||||
shared.trackaction("ALGGUP", ingesloten[i], update_string);
|
||||
}
|
||||
|
||||
%> <script type="text/javascript">
|
||||
$(function()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { success: true } )
|
||||
});
|
||||
</script>
|
||||
<% Response.End();
|
||||
}
|
||||
%>
|
||||
|
||||
<script type="text/javascript">
|
||||
function alg_submit()
|
||||
{ // Invoer van velden wordt realtime gevalideerd.
|
||||
document.forms.u2.submit();
|
||||
return true; // disable button
|
||||
}
|
||||
|
||||
function alg_cancel()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="modal" id="mod_algmultiedit">
|
||||
<form name="u2" action="alg_edit_gebouw_multi.asp?submit=1&bld_keys=<%=ingesloten.join(",")%>" method="post">
|
||||
<%
|
||||
BLOCK_START("algGebouw", L("lcl_alg_gebouw_frame"));
|
||||
FCLTkostenplaatsselector( "prs_kstpl",
|
||||
"prs_kstpl",
|
||||
user_key,
|
||||
{ kostenplaatsKey: -1,
|
||||
label: L("lcl_prs_dept_kosten"),
|
||||
filtercode: "G",
|
||||
readonly: !last_this_alg.writeman
|
||||
});
|
||||
FCLTpersoonselector("verantw",
|
||||
"sgVerantw",
|
||||
{ perslidKey: -1,
|
||||
label: L("lcl_alg_verantw"),
|
||||
readonly: !last_this_alg.writeuse,
|
||||
autlevel: last_this_alg.authparams("WEB_ALGMAN") && last_this_alg.authparams("WEB_ALGMAN").PRSwritelevel
|
||||
});
|
||||
FCLTpersoonselector("verantw2",
|
||||
"sgVerantw2",
|
||||
{ perslidKey: -1,
|
||||
label: L("lcl_alg_verantw2"),
|
||||
readonly: !last_this_alg.writeuse,
|
||||
autlevel: last_this_alg.authparams("WEB_ALGMAN") && last_this_alg.authparams("WEB_ALGMAN").PRSwritelevel
|
||||
});
|
||||
RWFIELDTR("groep", "fld", L("lcl_estate_gebouw_groepkenmerk"), "", {maxlength: 60});
|
||||
FCLTcalendar("vervaldatum",
|
||||
{ initEmpty: true,
|
||||
label: L("lcl_alg_vervaldatum"),
|
||||
volgnr: 1,
|
||||
onChange: "DateChangedVerval()",
|
||||
readonly: !last_this_alg.writeman
|
||||
});
|
||||
|
||||
var sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toontelfLOV"));
|
||||
FCLTselector("toon_telefoon",
|
||||
sql,
|
||||
{ label: L("lcl_estate_gebouw_toon_telefoon"),
|
||||
initEmpty: true
|
||||
});
|
||||
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonmailLOV"));
|
||||
FCLTselector("toon_email",
|
||||
sql,
|
||||
{ label: L("lcl_estate_gebouw_toon_email"),
|
||||
initEmpty: true
|
||||
});
|
||||
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonkentLOV"));
|
||||
FCLTselector("toon_kenteken",
|
||||
sql,
|
||||
{ label: L("lcl_estate_gebouw_toon_kenteken"),
|
||||
initEmpty: true
|
||||
});
|
||||
BLOCK_END();
|
||||
|
||||
generateFlexKenmerkBlock({
|
||||
fnpre: function () {BLOCK_START("algMultiEdit", L("lcl_flexible_properties"));},
|
||||
fnpost: BLOCK_END,
|
||||
onrgoed_niveau: "G",
|
||||
onrgoed_key: -1,
|
||||
this_alg: last_this_alg,
|
||||
reado: false,
|
||||
multi: true,
|
||||
flexcolumns: 1 // altijd want popup
|
||||
});
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
|
||||
function DateChangedVerval()
|
||||
{
|
||||
if ($("#show_vervaldatum").is(":checkbox"))
|
||||
var isgevuld = $("#show_vervaldatum").is(":checked")
|
||||
else
|
||||
var isgevuld = $("#show_vervaldatum").val();
|
||||
$("input[type=checkbox][name=check_vervaldatum]").prop("checked", isgevuld);
|
||||
}
|
||||
|
||||
function putCheckmarkSuggest(prs_key, prs_txt, obj)
|
||||
{
|
||||
thisobj = $("#"+obj.suggestid);
|
||||
if (thisobj.is(":checkbox"))
|
||||
var isgevuld = thisobj.is(":checked")
|
||||
else
|
||||
var isgevuld = thisobj.val();
|
||||
|
||||
if (thisobj.hasClass("flddate"))
|
||||
var cb_name = "check_" + thisobj.attr("id").substr("show_".length);
|
||||
else if (thisobj.hasClass("suggest"))
|
||||
var cb_name = "check_" + thisobj.attr("id").substr(0, thisobj.attr("id").length-5);
|
||||
else
|
||||
var cb_name = "check_" + thisobj.attr("name");
|
||||
$("input[type=checkbox][name=" + cb_name + "]").prop("checked", isgevuld);
|
||||
// Eventuele andere onChange acties van een selecter hieronder toevoegen.
|
||||
};
|
||||
|
||||
$(function()
|
||||
{ // Een vinkboxje voor de invoer velden toevoegen.
|
||||
// Niet een vinkboxje toevoegen voor de flexkenmerken. Dat doet generateFlexKenmerkBlock.listKenmerk wel.
|
||||
$("input[type=text],input[type=checkbox],input[type=number],input:not([type]),select, textarea").not(".fldtime").not("[class^='fldflex']").not("[class^='fldSflex']").not("[name^='check_']").each(
|
||||
function() {
|
||||
if ($(this).hasClass("flddate"))
|
||||
var cb_name = "check_" + $(this).attr("id").substr("show_".length);
|
||||
else if ($(this).hasClass("suggest"))
|
||||
var cb_name = "check_" + $(this).attr("id").substr(0, $(this).attr("id").length-5);
|
||||
else
|
||||
var cb_name = "check_" + $(this).attr("name");
|
||||
var cb = $("<input type='checkbox'>").attr("name", cb_name);
|
||||
var td = $("<td class='multi_cb'></td>").append(cb);
|
||||
$(this).closest("tr").find(" td.label").before(td);
|
||||
|
||||
// Zetten vinkje als je waarde invult
|
||||
if ($(this).hasClass('suggest'))
|
||||
{ // Suggest veld: Functie putCheckmarkSuggest() aan sgonchange koppelen.
|
||||
this.setAttribute("sgonchange", "putCheckmarkSuggest");
|
||||
}
|
||||
else if ($(this).hasClass("flddate"))
|
||||
{
|
||||
// De FCLTcalendar vervaldatum heeft zijn eigen onChange functie die wordt aangeroepen.
|
||||
// Geen change functie aan het datum veld koppelen.
|
||||
}
|
||||
else
|
||||
{ // Andere velden dan suggest veld.
|
||||
$(this).change(function()
|
||||
{
|
||||
if ($(this).is(":checkbox"))
|
||||
var isgevuld = $(this).is(":checked")
|
||||
else
|
||||
var isgevuld = $(this).val();
|
||||
$("input[type=checkbox][name=" + cb_name + "]").prop("checked", isgevuld);
|
||||
});
|
||||
}
|
||||
|
||||
// Wissen waarde als je vinkje weghaalt
|
||||
cb.change(function(deze) {
|
||||
return function() {
|
||||
if (!$(this).is(":checked"))
|
||||
$(deze).val("");
|
||||
else if ($(deze).hasClass("required"))
|
||||
// Vinkje is aangevinkt en waarde is leeg.
|
||||
// Als het veld verplicht is het vinkje er weer afhalen.
|
||||
$(this).prop("checked", false);
|
||||
}
|
||||
}(this));
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
<%
|
||||
var buttons = [];
|
||||
buttons.push({title: L("lcl_submit"), action:"alg_submit()", singlepress: true, id: "btn_edit_submit", importance: 1})
|
||||
buttons.push({title: L("lcl_cancel"), action:"alg_cancel()", importance: 3})
|
||||
CreateButtons(buttons)
|
||||
IFACE.FORM_END();
|
||||
%>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -7,9 +7,8 @@
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/kenmerk_common.inc"-->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
<% FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
js: []
|
||||
@@ -17,54 +16,31 @@
|
||||
<%
|
||||
var bld_key = getQParamInt( "bld_key" );;
|
||||
|
||||
var beginuur = getFParamFloat("bld_beginuur", -2);
|
||||
if (beginuur == -1)
|
||||
beginuur = "";
|
||||
|
||||
var einduur = getFParamFloat("bld_einduur", -2);
|
||||
if (einduur == -1)
|
||||
einduur = "";
|
||||
|
||||
var onrgoedlvl = "G";
|
||||
var this_alg = alg.func_enabled(bld_key, onrgoedlvl);
|
||||
user.auth_required_or_abort(this_alg.writeman || (bld_key>0&&this_alg.writeuse));
|
||||
|
||||
var fields = [ { dbs: "alg_locatie_key", typ: "key", frm: "locatiekey" },
|
||||
{ dbs: "alg_srtgebouw_key", typ: "key", frm: "bld_srtkey" },
|
||||
{ dbs: "alg_gebouw_naam", typ: "varchar", frm: "bld_naam" },
|
||||
{ dbs: "alg_gebouw_code", typ: "varchar", frm: "bld_code" },
|
||||
{ dbs: "alg_gebouw_omschrijving", typ: "varchar", frm: "bld_descr" },
|
||||
{ dbs: "alg_gebouw_email", typ: "varchar", frm: "bld_email" },
|
||||
{ dbs: "alg_gebouw_getekend", typ: "date", frm: "bld_teken" },
|
||||
{ dbs: "alg_gebouw_bruto_vloeropp", typ: "float", frm: "bld_opp" },
|
||||
{ dbs: "alg_gebouw_omtrek", typ: "float", frm: "bld_omtrek" },
|
||||
{ dbs: "alg_gebouw_inhoud", typ: "float", frm: "bld_inhoud" },
|
||||
{ dbs: "alg_gebouw_opmerking", typ: "varchar", frm: "bld_opmerk" },
|
||||
{ dbs: "alg_gebouw_groep", typ: "varchar", frm: "bld_groep" },
|
||||
{ dbs: "mld_adres_key", typ: "key", frm: "mld_adres" },
|
||||
{ dbs: "prs_kostenplaats_key", typ: "key", frm: "prs_kstpl" },
|
||||
{ dbs: "mld_dienstniveau_key", typ: "key", frm: "dienstniveau" },
|
||||
{ dbs: "alg_gebouw_ordernr", typ: "varchar", frm: "bld_ordrnr" },
|
||||
{ dbs: "alg_gebouw_dwgx", typ: "float", frm: "bld_dwgx" },
|
||||
{ dbs: "alg_gebouw_dwgy", typ: "float", frm: "bld_dwgy" },
|
||||
{ dbs: "alg_gebouw_x", typ: "float", frm: "bld_x" },
|
||||
{ dbs: "alg_gebouw_y", typ: "float", frm: "bld_y" },
|
||||
{ dbs: "alg_gebouw_bez", typ: "check", frm: "bld_bez" },
|
||||
{ dbs: "alg_gebouw_werkdagen", typ: "check0", frm: "bld_werkdagen" },
|
||||
{ dbs: "alg_gebouw_toon_telefoon", typ: "number", frm: "toon_telefoon" },
|
||||
{ dbs: "alg_gebouw_toon_email", typ: "number", frm: "toon_email" },
|
||||
{ dbs: "alg_gebouw_toon_kenteken", typ: "number", frm: "toon_kenteken" },
|
||||
{ dbs: "alg_gebouw_vervaldatum", typ: "date", frm: "vervaldatum", track: L("lcl_alg_vervaldatum") },
|
||||
{ dbs: "prs_perslid_key_verantw", typ: "key", frm: "verantw" },
|
||||
{ dbs: "prs_perslid_key_verantw2", typ: "key", frm: "verantw2" }];
|
||||
{ dbs: "ALG_SRTGEBOUW_KEY", typ: "key", frm: "bld_srtkey" },
|
||||
{ dbs: "ALG_GEBOUW_NAAM", typ: "varchar", frm: "bld_naam" },
|
||||
{ dbs: "ALG_GEBOUW_CODE", typ: "varchar", frm: "bld_code" },
|
||||
{ dbs: "ALG_GEBOUW_OMSCHRIJVING", typ: "varchar", frm: "bld_descr" },
|
||||
{ dbs: "ALG_GEBOUW_GETEKEND", typ: "date", frm: "bld_teken" },
|
||||
{ dbs: "ALG_GEBOUW_BRUTO_VLOEROPP", typ: "number", frm: "bld_opp" },
|
||||
{ dbs: "ALG_GEBOUW_OMTREK", typ: "number", frm: "bld_omtrek" },
|
||||
{ dbs: "ALG_GEBOUW_INHOUD", typ: "number", frm: "bld_inhoud" },
|
||||
{ dbs: "ALG_GEBOUW_OPMERKING", typ: "varchar", frm: "bld_opmerk" },
|
||||
{ dbs: "MLD_ADRES_KEY", typ: "key", frm: "mld_adres" },
|
||||
{ dbs: "PRS_KOSTENPLAATS_KEY", typ: "key", frm: "prs_kstpl" },
|
||||
{ dbs: "MLD_DIENSTNIVEAU_KEY", typ: "key", frm: "dienstniveau" },
|
||||
{ dbs: "ALG_GEBOUW_ORDERNR", typ: "varchar", frm: "bld_ordrnr" },
|
||||
{ dbs: "ALG_GEBOUW_DWGX", typ: "number", frm: "bld_dwgx" },
|
||||
{ dbs: "ALG_GEBOUW_DWGY", typ: "number", frm: "bld_dwgy" },
|
||||
{ dbs: "ALG_GEBOUW_X", typ: "number", frm: "bld_x" },
|
||||
{ dbs: "ALG_GEBOUW_Y", typ: "number", frm: "bld_y" },
|
||||
{ dbs: "ALG_GEBOUW_BEZ", typ: "check", frm: "bld_bez" },
|
||||
{ dbs: "alg_gebouw_beginuur", typ: "float", frm: "bld_beginuur" },
|
||||
{ dbs: "alg_gebouw_einduur", typ: "float", frm: "bld_einduur" },
|
||||
{ dbs: "ALG_GEBOUW_WERKDAGEN", typ: "check", frm: "bld_werkdagen" }];
|
||||
|
||||
if (beginuur != -2)
|
||||
fields.push({ dbs: "alg_gebouw_beginuur", typ: "float", val: beginuur });
|
||||
if (einduur != -2)
|
||||
fields.push({ dbs: "alg_gebouw_einduur", typ: "float", val: einduur });
|
||||
|
||||
var warning = "";
|
||||
if (bld_key > 0)
|
||||
var warning = "";
|
||||
if (bld_key > 0)
|
||||
{
|
||||
sql = buildUpdate("alg_gebouw", fields)
|
||||
+ " alg_gebouw_key = " + bld_key;
|
||||
@@ -73,7 +49,7 @@ user.auth_required_or_abort(this_alg.writeman || (bld_key>0&&this_alg.writeuse))
|
||||
if (err.friendlyMsg)
|
||||
warning = err.friendlyMsg;
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
fields.push({ dbs: "alg_gebouw_key", typ: "key", seq: "alg_s_alg_onroerendgoed_keys" });
|
||||
var regIns = buildInsert("alg_gebouw", fields);
|
||||
@@ -87,29 +63,18 @@ user.auth_required_or_abort(this_alg.writeman || (bld_key>0&&this_alg.writeuse))
|
||||
|
||||
if (!warning)
|
||||
{
|
||||
currentKenmerkenSQL = "SELECT k.alg_kenmerk_key"
|
||||
+ " , ok.alg_onrgoedkenmerk_waarde"
|
||||
+ " , k.alg_kenmerk_toonbaar"
|
||||
+ " FROM alg_onrgoedkenmerk ok"
|
||||
+ " , alg_kenmerk k"
|
||||
+ " WHERE k.alg_kenmerk_key = ok.alg_kenmerk_key"
|
||||
+ " AND alg_onrgoedkenmerk_verwijder IS NULL"
|
||||
+ " AND alg_onrgoed_niveau = 'G'"
|
||||
+ " AND alg_onrgoed_key = " + bld_key;
|
||||
saveFlexKenmerken(bld_key,
|
||||
{ kenmerkTable: "alg_onrgoedkenmerk",
|
||||
kenmerkParentKey : "alg_onrgoed_key",
|
||||
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
|
||||
kenmerkKey: "alg_kenmerk_key",
|
||||
kenmerkToonbaar: "alg_kenmerk_toonbaar",
|
||||
currentKenmerkenSQL: currentKenmerkenSQL,
|
||||
requestQF: Request.Form,
|
||||
flexPath: "ALG/G",
|
||||
module: "ALG",
|
||||
moduleName: "alg_onrgoed_niveau",
|
||||
moduleVal: "G",
|
||||
isNew: bld_key < 0
|
||||
});
|
||||
currentKenmerkenSQL = " SELECT k.ALG_kenmerk_key " +
|
||||
" , ok.alg_onrgoedkenmerk_waarde" +
|
||||
" FROM ALG_ONRGOEDKENMERK ok, ALG_KENMERK k " +
|
||||
" WHERE k.ALG_KENMERK_KEY = ok.ALG_KENMERK_KEY " +
|
||||
" AND ALG_ONRGOEDKENMERK_VERWIJDER IS NULL " +
|
||||
" AND ALG_ONRGOED_NIVEAU = 'G' " +
|
||||
" AND ALG_ONRGOED_KEY = " + bld_key;
|
||||
saveFlexKenmerken(bld_key, "ALG_ONRGOEDKENMERK", "ALG_ONRGOED_KEY",
|
||||
"ALG_ONRGOEDKENMERK_WAARDE", "ALG_KENMERK_KEY",
|
||||
currentKenmerkenSQL, false, //QueryForm, rest QueryString
|
||||
"ALG_ONRGOED_NIVEAU", "G",
|
||||
(bld_key<0),"ALG/G")
|
||||
}
|
||||
%>
|
||||
|
||||
@@ -117,13 +82,11 @@ user.auth_required_or_abort(this_alg.writeman || (bld_key>0&&this_alg.writeuse))
|
||||
<head>
|
||||
<% FCLTHeader.Generate() %>
|
||||
<script>
|
||||
$(function ()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { bld_key: <%=bld_key%>,
|
||||
warning: "<%=safe.jsstring(warning)%>",
|
||||
keepForm: <%=warning?"true":"false"%>
|
||||
});
|
||||
});
|
||||
$(document).ready(function () {
|
||||
FcltMgr.closeDetail(window, { bld_key: <%=bld_key%>,
|
||||
warning: "<%=safe.jsstring(warning)%>",
|
||||
keepForm: <%=warning?"true":"false"%>
|
||||
}); } );
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
*/ %>
|
||||
<!--#include file="../Shared/common.inc" -->
|
||||
<!--#include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/calendar.inc" -->
|
||||
|
||||
<!--#include file="../Shared/selector.inc" -->
|
||||
<!--#include file="../Shared/plaatsselector.inc" -->
|
||||
@@ -23,7 +22,6 @@
|
||||
<%
|
||||
FCLTHeader.Requires({plugins:["suggest","jQuery","kenmerk"], js: []})
|
||||
|
||||
var ins_score_enabled = S("ins_score_enabled") == 1;
|
||||
var loc_key = getQParamInt("loc_key", -1);
|
||||
var dis_key
|
||||
|
||||
@@ -55,9 +53,7 @@ if (loc_key > 0)
|
||||
var pst_adres = oRs("alg_locatie_post_adres").value;
|
||||
var pst_plaats = oRs("alg_locatie_post_plaats").value;
|
||||
var pst_land = oRs("alg_locatie_post_land").value;
|
||||
var dienstniveau = oRs("mld_dienstniveau_key").value;
|
||||
var loc_score1 = oRs("alg_locatie_mjb_score1").value;
|
||||
var vervaldatum = oRs("alg_locatie_vervaldatum").Value != null ? new Date(oRs("alg_locatie_vervaldatum").Value) : null;
|
||||
var dienstniveau = oRs("mld_dienstniveau_key").value;
|
||||
|
||||
oRs.Close();
|
||||
}
|
||||
@@ -101,7 +97,7 @@ if (this_alg.writeman)
|
||||
else
|
||||
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE of <self> dan zijn er veel readonly
|
||||
|
||||
BLOCK_START("algLoc1", " ");
|
||||
BLOCK_START("algLoc1", "");
|
||||
FCLTplaatsselector(this_alg.authparams("WEB_ALGMAN").ALGwritelevel, {
|
||||
districtkey: dis_key,
|
||||
locatiekey: loc_key,
|
||||
@@ -110,9 +106,9 @@ BLOCK_START("algLoc1", " ");
|
||||
readonly: !this_alg.writeman,
|
||||
required: true });
|
||||
|
||||
manRWFIELD("loc_omsch", "fld", L("lcl_estate_locatie_man_descr"), loc_omsch, {required: true, maxlength: 60});
|
||||
manRWFIELD("loc_omsch", "fld", L("lcl_estate_locatie_man_descr"), loc_omsch, {required: true, maxlength: 30});
|
||||
manRWFIELD("loc_code", "fld", L("lcl_estate_locatie_man_code"), loc_code, {required: true, maxlength: 10});
|
||||
manRWFIELD("bez_adres", "fld", L("lcl_prs_address_bezoek_adres"), bez_adres, {maxlength: 50});
|
||||
manRWFIELD("bez_adres", "fld", L("lcl_prs_address_bezoek_adres"), bez_adres, {maxlength: 35});
|
||||
manRWFIELD("bez_postc", "fld", L("lcl_prs_address_bezoek_postcode"), bez_postc, {maxlength: 12});
|
||||
manRWFIELD("bez_plaats", "fld", L("lcl_prs_address_bezoek_plaats"), bez_plaats, {maxlength: 30});
|
||||
manRWFIELD("bez_land", "fld", L("lcl_prs_address_bezoek_land"), bez_land, {maxlength: 30});
|
||||
@@ -133,24 +129,15 @@ manRWFIELD("loc_x", "fld", L("lcl_geoxcoord"), loc_x, {maxlengt
|
||||
manRWFIELD("loc_y", "fld", L("lcl_geoycoord"), loc_y, {maxlength: 25});
|
||||
|
||||
BLOCK_END();
|
||||
BLOCK_START("algLoc2", " ");
|
||||
BLOCK_START("algLoc2", "");
|
||||
|
||||
FCLTcalendar("vervaldatum",
|
||||
{ datum: vervaldatum,
|
||||
initEmpty: vervaldatum==null,
|
||||
label: L("lcl_alg_vervaldatum"),
|
||||
readonly: !this_alg.writeman
|
||||
});
|
||||
|
||||
manRWFIELD("pst_adres", "fld", L("lcl_prs_address_post_adres"), pst_adres, {maxlength: 50});
|
||||
manRWFIELD("pst_adres", "fld", L("lcl_prs_address_post_adres"), pst_adres, {maxlength: 35});
|
||||
manRWFIELD("pst_postc", "fld", L("lcl_prs_address_post_postcode"), pst_postc, {maxlength: 12});
|
||||
manRWFIELD("pst_plaats", "fld", L("lcl_prs_address_post_plaats"), pst_plaats, {maxlength: 30});
|
||||
manRWFIELD("pst_land", "fld", L("lcl_prs_address_post_land"), pst_land, {maxlength: 30});
|
||||
manRWFIELD("loc_vw", "fld", L("lcl_estate_locatie_man_verantw"), loc_vw, {maxlength: 30});
|
||||
manRWFIELD("loc_vwtel", "fld", L("lcl_estate_locatie_man_verantw_tel"), loc_vwtel, {maxlength: 15});
|
||||
manRWFIELD("loc_mail", "fld", L("lcl_noti_email"), loc_mail, {maxlength: 200});
|
||||
if (ins_score_enabled)
|
||||
ROFIELDTR("fld", L("lcl_alg_locatie_mjb_score1"), loc_score1, {suppressEmpty: true});
|
||||
|
||||
BLOCK_END();
|
||||
|
||||
@@ -161,7 +148,6 @@ generateFlexKenmerkBlock ({
|
||||
flexcolumns : S("alg_flexcolumns"),
|
||||
this_alg : this_alg
|
||||
});
|
||||
IFACE.FORM_END();
|
||||
%>
|
||||
</form>
|
||||
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>
|
||||
|
||||
@@ -7,9 +7,8 @@
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/kenmerk_common.inc"-->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
<% FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
js: []
|
||||
@@ -17,10 +16,6 @@
|
||||
<%
|
||||
var loc_key = getQParamInt( "loc_key" );
|
||||
|
||||
var onrgoedlvl = "L";
|
||||
var this_alg = alg.func_enabled(loc_key, onrgoedlvl);
|
||||
user.auth_required_or_abort(this_alg.writeman || (loc_key>0&&this_alg.writeuse));
|
||||
|
||||
var fields = [ { dbs: "alg_district_key", typ: "number", frm: "districtkey" },
|
||||
{ dbs: "alg_locatie_code", typ: "varchar", frm: "loc_code" },
|
||||
{ dbs: "alg_locatie_omschrijving", typ: "varchar", frm: "loc_omsch" },
|
||||
@@ -37,7 +32,6 @@ user.auth_required_or_abort(this_alg.writeman || (loc_key>0&&this_alg.writeuse))
|
||||
{ dbs: "MLD_DIENSTNIVEAU_KEY", typ: "key", frm: "dienstniveau" },
|
||||
{ dbs: "alg_locatie_x", typ: "float", frm: "loc_x" },
|
||||
{ dbs: "alg_locatie_y", typ: "float", frm: "loc_y" },
|
||||
{ dbs: "alg_locatie_vervaldatum", typ: "date", frm: "vervaldatum", track: L("lcl_alg_vervaldatum") },
|
||||
{ dbs: "alg_locatie_email", typ: "varchar", frm: "loc_mail" }];
|
||||
|
||||
var warning = "";
|
||||
@@ -64,29 +58,18 @@ else
|
||||
|
||||
if (!warning)
|
||||
{
|
||||
currentKenmerkenSQL = "SELECT k.alg_kenmerk_key"
|
||||
+ " , ok.alg_onrgoedkenmerk_waarde"
|
||||
+ " , k.alg_kenmerk_toonbaar"
|
||||
+ " FROM alg_onrgoedkenmerk ok"
|
||||
+ " , alg_kenmerk k"
|
||||
+ " WHERE k.alg_kenmerk_key = ok.alg_kenmerk_key"
|
||||
+ " AND alg_onrgoedkenmerk_verwijder IS NULL"
|
||||
+ " AND alg_onrgoed_niveau = 'L'"
|
||||
+ " AND alg_onrgoed_key = " + loc_key;
|
||||
saveFlexKenmerken(loc_key,
|
||||
{ kenmerkTable: "alg_onrgoedkenmerk",
|
||||
kenmerkParentKey : "alg_onrgoed_key",
|
||||
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
|
||||
kenmerkKey: "alg_kenmerk_key",
|
||||
kenmerkToonbaar: "alg_kenmerk_toonbaar",
|
||||
currentKenmerkenSQL: currentKenmerkenSQL,
|
||||
requestQF: Request.Form,
|
||||
flexPath: "ALG/L",
|
||||
module: "ALG",
|
||||
moduleName: "alg_onrgoed_niveau",
|
||||
moduleVal: "L",
|
||||
isNew: loc_key < 0
|
||||
});
|
||||
currentKenmerkenSQL = " SELECT k.ALG_kenmerk_key " +
|
||||
" , ok.alg_onrgoedkenmerk_waarde" +
|
||||
" FROM ALG_ONRGOEDKENMERK ok, ALG_KENMERK k " +
|
||||
" WHERE k.ALG_KENMERK_KEY = ok.ALG_KENMERK_KEY " +
|
||||
" AND ALG_ONRGOEDKENMERK_VERWIJDER IS NULL " +
|
||||
" AND ALG_ONRGOED_NIVEAU = 'L' " +
|
||||
" AND ALG_ONRGOED_KEY = " + loc_key;
|
||||
saveFlexKenmerken(loc_key, "ALG_ONRGOEDKENMERK", "ALG_ONRGOED_KEY",
|
||||
"ALG_ONRGOEDKENMERK_WAARDE", "ALG_KENMERK_KEY",
|
||||
currentKenmerkenSQL, false,
|
||||
"ALG_ONRGOED_NIVEAU", "L",
|
||||
(loc_key<0),"ALG/L")
|
||||
}
|
||||
%>
|
||||
|
||||
@@ -94,13 +77,11 @@ else
|
||||
<head>
|
||||
<% FCLTHeader.Generate() %>
|
||||
<script>
|
||||
$(function ()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { loc_key: <%=loc_key%>,
|
||||
warning: "<%=safe.jsstring(warning)%>",
|
||||
keepForm: <%=warning?"true":"false"%>
|
||||
});
|
||||
});
|
||||
$(document).ready(function () {
|
||||
FcltMgr.closeDetail(window, { loc_key: <%=loc_key%>,
|
||||
warning: "<%=safe.jsstring(warning)%>",
|
||||
keepForm: <%=warning?"true":"false"%>
|
||||
}); } );
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -12,78 +12,79 @@
|
||||
Note:
|
||||
|
||||
*/ %>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!--#include file="../Shared/common.inc" -->
|
||||
<!--#include file="../Shared/iface.inc" -->
|
||||
|
||||
<!-- #include file="alg_flexkenmerk.inc" -->
|
||||
<!-- #include file="../API2/api2.inc" -->
|
||||
<!-- #include file="../API2/model_regions.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({plugins:["suggest","jQuery"], js: []})
|
||||
|
||||
var regio_key = getQParamInt("regio_key");
|
||||
var regio_key = getQParamInt("regio_key", -1);
|
||||
|
||||
var params = { filter: { id: regio_key,
|
||||
isNew: (regio_key == -1 ? true : false)
|
||||
}
|
||||
};
|
||||
var regio_array = model_regions.REST_GET(params); // Roep de API2 GET aan
|
||||
var regio_data = (regio_array[0] ? regio_array[0] : {id: -1}); // GET kan meerdere records opleveren, maar we verwachten hier maar 1.
|
||||
var this_alg = params.func_enabled; // params bevat nu ook waarden die in API2 zijn bepaald.
|
||||
var action = (regio_key == -1 ? "I" : "U");
|
||||
var onrgoedlvl = "RG";
|
||||
var this_alg = alg.func_enabled(regio_key, onrgoedlvl);
|
||||
user.auth_required_or_abort(this_alg.writeman || (regio_key>0&&this_alg.writeuse));
|
||||
|
||||
if (regio_key > 0)
|
||||
{
|
||||
sql = " select * "
|
||||
+ " FROM alg_regio "
|
||||
+ " WHERE alg_regio_key = " + regio_key;
|
||||
|
||||
oRs = Oracle.Execute(sql);
|
||||
var reg_oms = oRs("alg_regio_omschrijving").value;
|
||||
|
||||
oRs.Close();
|
||||
}
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<head>
|
||||
<%
|
||||
FCLTHeader.Generate();
|
||||
FCLTHeader.Generate();
|
||||
%>
|
||||
<script>
|
||||
function alg_submit()
|
||||
{
|
||||
if (!validateForm("u2"))
|
||||
return false;
|
||||
<script>
|
||||
function alg_submit()
|
||||
{
|
||||
document.activeElement.blur(); // trigger laatste onChanges
|
||||
if (!validateForm("u2"))
|
||||
return false;
|
||||
document.forms.u2.submit();
|
||||
}
|
||||
function alg_cancel()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
var data = $("[name=u2]").serialize();
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post($("form[name=u2]")[0].action,
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
return true;
|
||||
}
|
||||
function alg_cancel()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body id="editbody">
|
||||
<body id="editbody">
|
||||
<%
|
||||
var buttons = [ {title: L("lcl_submit"), action:"alg_submit()", icon: "opslaan.png" },
|
||||
{title: L("lcl_cancel"), action:"alg_cancel()", icon: "undo.png" } ];
|
||||
IFRAMER_HEADER(L("lcl_alg_regio_frame"), buttons);
|
||||
var buttons = [ {title: L("lcl_submit"), action:"alg_submit()", icon: "opslaan.png" },
|
||||
{title: L("lcl_cancel"), action:"alg_cancel()", icon: "undo.png" } ];
|
||||
IFRAMER_HEADER(L("lcl_alg_regio_frame"), buttons);
|
||||
%>
|
||||
<div id="edit">
|
||||
<form name="u2"
|
||||
action="alg_edit_regio_save.asp?regio_key=<%=regio_data.id%>&action=<%=action%>"
|
||||
method="post"
|
||||
onSubmit="return false">
|
||||
<div id="edit">
|
||||
<form name="u2"
|
||||
action="alg_edit_regio_save.asp?regio_key=<%=regio_key%>"
|
||||
method="post"
|
||||
target="hidFrameSubmit"
|
||||
onSubmit="alg_submit();">
|
||||
<%
|
||||
if (this_alg.writeman)
|
||||
manRWFIELD = RWFIELDTR;
|
||||
else
|
||||
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE dan zijn er veel readonly
|
||||
if (this_alg.writeman)
|
||||
manRWFIELD = RWFIELDTR;
|
||||
else
|
||||
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE dan zijn er veel readonly
|
||||
BLOCK_START("algInfo", "");
|
||||
|
||||
BLOCK_START("algInfo", " ");
|
||||
manRWFIELD("reg_oms", "fld", L("lcl_region"), reg_oms, {required: true, maxlength: 30});
|
||||
|
||||
manRWFIELD("reg_oms", "fld", L("lcl_region"), regio_data.name, {required: true, maxlength: 30});
|
||||
|
||||
BLOCK_END();
|
||||
IFACE.FORM_END();
|
||||
BLOCK_END();
|
||||
%>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</form>
|
||||
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -5,45 +5,53 @@
|
||||
|
||||
SUBMIT-form
|
||||
*/ %>
|
||||
<%
|
||||
var JSON_Result = true;
|
||||
%>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../API2/api2.inc" -->
|
||||
<!-- #include file="../API2/model_regions.inc" -->
|
||||
<!-- #include file="../shared/save2db.inc" -->
|
||||
|
||||
<% FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
js: []
|
||||
}) %>
|
||||
<%
|
||||
protectRequest.validateToken();
|
||||
var regio_key = getQParamInt( "regio_key" );
|
||||
var action = getQParam( "action", "" );
|
||||
var reg_key = getQParamInt( "regio_key" );
|
||||
|
||||
var formfields = [ {name: "name", frm: "reg_oms" }];
|
||||
var params = { filter: { "id": regio_key }};
|
||||
var jsondata = api2.form2JSONdata(model_regions, params, formfields);
|
||||
var fields = [ { dbs: "alg_regio_omschrijving", typ: "varchar", frm: "reg_oms" }];
|
||||
|
||||
switch (action)
|
||||
{
|
||||
case "I":
|
||||
var regio_array = model_regions.REST_POST(params, jsondata);
|
||||
regio_key = regio_array.key;
|
||||
break;
|
||||
case "U":
|
||||
if (regio_key > 0)
|
||||
var regio_array = model_regions.REST_PUT(params, jsondata, params.filter.id);
|
||||
break;
|
||||
case "D":
|
||||
if (regio_key > 0)
|
||||
var regio_array = model_regions.REST_DELETE(params, params.filter.id);
|
||||
break;
|
||||
default :
|
||||
var regio_array = {warning: L("lcl_cnt_Del_Fails_Auth")};
|
||||
}
|
||||
var warning = regio_array.warning;
|
||||
var warning = "";
|
||||
if (reg_key > 0)
|
||||
{
|
||||
sql = buildUpdate("alg_regio", fields)
|
||||
+ " alg_regio_key = " + reg_key;
|
||||
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
warning = err.friendlyMsg;
|
||||
}
|
||||
else
|
||||
{
|
||||
fields.push({ dbs: "alg_regio_key", typ: "key", seq: "alg_s_alg_regio_key" });
|
||||
var regIns = buildInsert("alg_regio", fields);
|
||||
var reg_key = regIns.sequences["alg_regio_key"];
|
||||
|
||||
var result = { regio_key: regio_key,
|
||||
warning: warning,
|
||||
keepForm: !!warning,
|
||||
success: true };
|
||||
Response.Write(JSON.stringify(result));
|
||||
%>
|
||||
sql = regIns.sql;
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
warning = err.friendlyMsg;
|
||||
}
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate() %>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
FcltMgr.closeDetail(window, { regio_key: <%=reg_key%>,
|
||||
warning: "<%=safe.jsstring(warning)%>",
|
||||
keepForm: <%=warning?"true":"false"%>
|
||||
});
|
||||
} );
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -11,17 +11,16 @@
|
||||
Note:
|
||||
|
||||
*/ %>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/plaatsselector.inc" -->
|
||||
<!--#include file="../Shared/common.inc" -->
|
||||
<!--#include file="../Shared/iface.inc" -->
|
||||
<!--#include file="../Shared/selector.inc" -->
|
||||
|
||||
<!--#include file="../Shared/plaatsselector.inc" -->
|
||||
<!-- #include file="alg_flexkenmerk.inc" -->
|
||||
<!-- #include file="../API2/api2.inc" -->
|
||||
<!-- #include file="../API2/model_rooms.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({plugins:["suggest","jQuery", "kenmerk"],
|
||||
js: []})
|
||||
FCLTHeader.Requires({plugins:["suggest","jQuery", "kenmerk"], js: []})
|
||||
|
||||
var room_key = getQParamInt("room_key", -1);
|
||||
var loc_key = getQParamInt("loc_key", -1);
|
||||
@@ -29,203 +28,182 @@ var geb_key = getQParamInt("geb_key", -1);
|
||||
var ver_key = getQParamInt("ver_key", -1);
|
||||
var cad_ruimte_nr = getQParam("cad_ruimte_nr", ""); // default nummer
|
||||
|
||||
var onrgoedlvl = "R";
|
||||
var this_alg = alg.func_enabled(room_key, onrgoedlvl);
|
||||
user.auth_required_or_abort(this_alg.writeman || (room_key>0&&this_alg.writeuse));
|
||||
|
||||
var room_params = { filter: { id: room_key,
|
||||
scope: "fe",
|
||||
isNew: (room_key == -1 ? true : false)
|
||||
},
|
||||
include: ["cadcontours"]
|
||||
};
|
||||
var room_exists = false;
|
||||
if (room_key > 0)
|
||||
if (room_key > 0)
|
||||
{
|
||||
var rooms = new model_rooms(room_key, room_params); // Roep de API2 GET aan
|
||||
var room_data = rooms.data;
|
||||
room_exists = true;
|
||||
// Voorkom ellende met alg_ruimte_key ambigue gedefinieerd
|
||||
sqlSync = "SELECT sync.alg_ruimte_key cad_ar_key, c.cad_imp_contour_opp, "
|
||||
+ " c.cad_imp_contour_opp_alt1, c.cad_imp_contour_opp_alt2 "
|
||||
+ " FROM "+S("fg_syncruimteview")+" sync, cad_imp_contour c, cad_tekening t, alg_ruimte ar "
|
||||
+ " WHERE sync.cadlabel = c.cad_imp_contour_nr "
|
||||
+ " AND t.cad_tekening_key = c.cad_tekening_key "
|
||||
+ " AND t.alg_verdieping_key = sync.alg_verdieping_key "
|
||||
+ " AND sync.alg_ruimte_key = ar.alg_ruimte_key";
|
||||
|
||||
sql = "SELECT "
|
||||
+ " g.alg_ruimte_key"
|
||||
+ ", g.alg_ruimte_nr"
|
||||
+ ", g.alg_ruimte_omschrijving"
|
||||
+ ", g.alg_verdieping_key"
|
||||
+ ", g.alg_srtruimte_key"
|
||||
+ ", g.alg_ruimte_bruto_vloeropp"
|
||||
+ ", g.alg_ruimte_opp_alt1"
|
||||
+ ", g.alg_ruimte_opp_alt2"
|
||||
+ ", g.alg_ruimte_omtrek"
|
||||
+ ", g.alg_ruimte_inhoud"
|
||||
+ ", g.alg_ruimte_opmerking"
|
||||
+ ", sync.cad_imp_contour_opp"
|
||||
+ ", sync.cad_imp_contour_opp_alt1"
|
||||
+ ", sync.cad_imp_contour_opp_alt2"
|
||||
+ ", mld_dienstniveau_key"
|
||||
+ " FROM alg_ruimte g, ("+sqlSync+") sync"
|
||||
+ " WHERE sync.cad_ar_key (+)= g.alg_ruimte_key"
|
||||
+ " AND alg_ruimte_key = " + room_key;
|
||||
|
||||
|
||||
oRs = Oracle.Execute(sql);
|
||||
|
||||
var room_srt = oRs("ALG_SRTRUIMTE_KEY").value;
|
||||
var room_nr = oRs("ALG_RUIMTE_NR").value;
|
||||
var room_oms = oRs("ALG_RUIMTE_OMSCHRIJVING").value;
|
||||
var room_opp = oRs("ALG_RUIMTE_BRUTO_VLOEROPP").value;
|
||||
var room_omt = oRs("ALG_RUIMTE_OMTREK").value;
|
||||
var room_inh = oRs("ALG_RUIMTE_INHOUD").value;
|
||||
var room_opm = oRs("ALG_RUIMTE_OPMERKING").value;
|
||||
var room_oppa1 = oRs("ALG_RUIMTE_OPP_ALT1").value;
|
||||
var room_oppa2 = oRs("ALG_RUIMTE_OPP_ALT2").value;
|
||||
var contour_opp = oRs("cad_imp_contour_opp").value;
|
||||
var contour_opp1 = oRs("cad_imp_contour_opp_alt1").value;
|
||||
var contour_opp2 = oRs("cad_imp_contour_opp_alt2").value;
|
||||
var dienstniveau = oRs("mld_dienstniveau_key").value;
|
||||
|
||||
oRs.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
var rooms = new model_rooms(-1, room_params); // Roep de API2 GET aan
|
||||
var room_data = { id: -1, cadcontours: [] };
|
||||
}
|
||||
var this_alg = room_params.func_enabled; // room_params bevat nu ook waarden die in API2 zijn bepaald.
|
||||
|
||||
var room_deleted = room_exists && !!room_data.deleted;
|
||||
var room_action = (room_exists ? "U" : "I");
|
||||
|
||||
if (!room_data.cadcontours.length)
|
||||
room_data.cadcontours = [{}];
|
||||
|
||||
if (!room_exists)
|
||||
{
|
||||
if (cad_ruimte_nr != "")
|
||||
room_data.name = "[" + cad_ruimte_nr + "]";
|
||||
room_nr = "[" + cad_ruimte_nr + "]";
|
||||
}
|
||||
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<head>
|
||||
<%
|
||||
FCLTHeader.Generate();
|
||||
FCLTHeader.Generate();
|
||||
%>
|
||||
<script>
|
||||
function alg_submit()
|
||||
{
|
||||
document.activeElement.blur(); // trigger laatste onChanges
|
||||
if (!validateForm("u2"))
|
||||
return false;
|
||||
<script>
|
||||
function alg_submit()
|
||||
{
|
||||
document.activeElement.blur(); // trigger laatste onChanges
|
||||
|
||||
var data = $("[name=u2]").serialize();
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post($("form[name=u2]")[0].action,
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
return true;
|
||||
}
|
||||
function alg_cancel()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
if (!validateForm("u2"))
|
||||
return false;
|
||||
|
||||
<body id="editbody">
|
||||
document.forms.u2.submit();
|
||||
|
||||
}
|
||||
function alg_cancel()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body id="editbody">
|
||||
<%
|
||||
var buttons = [ {title: L("lcl_submit"), action:"alg_submit()", icon: "opslaan.png" },
|
||||
{title: L("lcl_cancel"), action:"alg_cancel()", icon: "undo.png" } ];
|
||||
IFRAMER_HEADER(L("lcl_alg_ruimte_frame"), buttons);
|
||||
var buttons = [ {title: L("lcl_submit"), action:"alg_submit()", icon: "opslaan.png" },
|
||||
{title: L("lcl_cancel"), action:"alg_cancel()", icon: "undo.png" } ];
|
||||
IFRAMER_HEADER(L("lcl_alg_ruimte_frame"), buttons);
|
||||
%>
|
||||
<div id="edit">
|
||||
<form name="u2"
|
||||
action="alg_edit_ruimte_save.asp?room_key=<%=room_data.id%>"
|
||||
method="post"
|
||||
onSubmit="return false">
|
||||
|
||||
<input type="hidden" id="room_action" name="room_action" value="<%=room_action%>">
|
||||
|
||||
|
||||
<div id="edit">
|
||||
<form name="u2" action="alg_edit_ruimte_save.asp?room_key=<%=room_key%>"
|
||||
method="post"
|
||||
target="hidFrameSubmit"
|
||||
onSubmit="alg_submit();">
|
||||
<%
|
||||
if (this_alg.writeman)
|
||||
manRWFIELD = RWFIELDTR;
|
||||
else
|
||||
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE of <self> dan zijn er veel readonly
|
||||
if (this_alg.writeman)
|
||||
manRWFIELD = RWFIELDTR;
|
||||
else
|
||||
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE of <self> dan zijn er veel readonly
|
||||
|
||||
if (this_alg.writeuse && S("alg_ruimtenr_aut_use")==1) // dan mag USE er ook een paar
|
||||
useRWFIELD = RWFIELDTR;
|
||||
else
|
||||
useRWFIELD = manRWFIELD
|
||||
if (this_alg.writeuse && S("alg_ruimtenr_aut_use")==1) // dan mag USE er ook een paar
|
||||
useRWFIELD = RWFIELDTR;
|
||||
else
|
||||
useRWFIELD = manRWFIELD
|
||||
|
||||
BLOCK_START("algLoc1", " ");
|
||||
BLOCK_START("algLoc1", "");
|
||||
|
||||
FCLTplaatsselector( this_alg.authparams("WEB_RUIMAN").ALGwritelevel,
|
||||
{ locatiekey: loc_key,
|
||||
gebouwkey: geb_key,
|
||||
verdiepingkey: ver_key,
|
||||
ruimtekey: room_key,
|
||||
startlevel: 2, //Locatie
|
||||
eindlevel: 4, //verdieping
|
||||
moreinfo: true,
|
||||
readonly: (room_key > 0),
|
||||
required: true
|
||||
});
|
||||
FCLTplaatsselector(this_alg.authparams("WEB_ALGMAN").ALGwritelevel, {
|
||||
locatiekey: loc_key,
|
||||
gebouwkey: geb_key,
|
||||
verdiepingkey: ver_key,
|
||||
ruimtekey: room_key,
|
||||
startlevel: 2, //Locatie
|
||||
eindlevel: 4, //verdieping
|
||||
moreinfo: true,
|
||||
readonly: (room_key > 0),
|
||||
required: true });
|
||||
|
||||
// alguse mag deze twee ook als S("alg_ruimtenr_aut_use")==1
|
||||
useRWFIELD("room_nr", "fldshort", L("lcl_estate_ruimte_man_nr"), room_data.name, {required: true, maxlength: 10});
|
||||
useRWFIELD("room_oms", "fld", L("lcl_estate_ruimte_man_descr"), room_data.description, {maxlength: 30});
|
||||
// alguse mag deze twee ook als S("alg_ruimtenr_aut_use")==1
|
||||
useRWFIELD("room_nr", "fldshort", L("lcl_estate_ruimte_man_nr"), room_nr, {required: true, maxlength: 10});
|
||||
useRWFIELD("room_oms", "fld", L("lcl_estate_ruimte_man_descr"), room_oms, {maxlength: 30});
|
||||
|
||||
sql = "SELECT alg_srtruimte_key"
|
||||
+ " , " + lcl.xsqla("alg_srtruimte_omschrijving", "alg_srtruimte_key")
|
||||
+ " FROM alg_v_aanwezigsrtruimte"
|
||||
+ " ORDER BY UPPER("+lcl.xsql("alg_srtruimte_omschrijving", "alg_srtruimte_key")+")";
|
||||
FCLTselector( "room_srt",
|
||||
sql,
|
||||
{ label: L("lcl_estate_ruimte_man_sort"),
|
||||
initKey: (room_data.roomtype ? room_data.roomtype.id : -1),
|
||||
emptyOption: "",
|
||||
readonly: !this_alg.writeman
|
||||
});
|
||||
sql = "SELECT alg_srtruimte_key, "
|
||||
+ lcl.xsqla("alg_srtruimte_omschrijving", "alg_srtruimte_key")
|
||||
+ " FROM alg_v_aanwezigsrtruimte "
|
||||
+ "ORDER BY UPPER("+lcl.xsql("alg_srtruimte_omschrijving", "alg_srtruimte_key")+")";
|
||||
|
||||
sql = "SELECT mld_dienstniveau_key"
|
||||
+ " , " + lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
+ " FROM mld_dienstniveau"
|
||||
+ " ORDER BY UPPER("+lcl.xsql("mld_dienstniveau_omschr", "mld_dienstniveau_key")+")";
|
||||
FCLTselector( "dienstniveau",
|
||||
sql,
|
||||
{ label: L("lcl_mld_dienst_niveau"),
|
||||
initKey: (room_data.servicelevel ? room_data.servicelevel.id : -1),
|
||||
emptyOption: "",
|
||||
readonly: !this_alg.writeuse
|
||||
});
|
||||
FCLTselector("room_srt", sql,
|
||||
{ label: L("lcl_estate_ruimte_man_sort"),
|
||||
initKey: room_srt,
|
||||
emptyOption: "",
|
||||
readonly: !this_alg.writeman
|
||||
});
|
||||
|
||||
BLOCK_END();
|
||||
BLOCK_START("algLoc2", " ");
|
||||
sql = "SELECT mld_dienstniveau_key, "
|
||||
+ lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
+ " FROM mld_dienstniveau "
|
||||
+ "ORDER BY UPPER("+lcl.xsql("mld_dienstniveau_omschr", "mld_dienstniveau_key")+")";
|
||||
|
||||
manRWFIELD("room_opp", "fldshort", L("lcl_estate_ruimte_bruto_vloeropp"), room_data.grossarea, {maxlength: 10, datatype: "float"});
|
||||
ROFIELDTR("fldshort", L("lcl_estate_ruimte_getekendopp"), room_data.cadcontours[0].cadarea, {datatype: "float"});
|
||||
if (S("fg_contourlayers_alt1")!="" && S("fg_labellayers_alt1")!="") {
|
||||
manRWFIELD("room_oppa1", "fldshort", L("lcl_estate_ruimte_opp_alt1"), room_data.area1, {maxlength: 10, datatype: "float"});
|
||||
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt1"), room_data.cadcontours[0].cadalt1, {datatype: "float"});
|
||||
}
|
||||
if (S("fg_contourlayers_alt2")!="" && S("fg_labellayers_alt2")!="") {
|
||||
manRWFIELD("room_oppa2", "fldshort", L("lcl_estate_ruimte_opp_alt2"), room_data.area2, {maxlength: 10, datatype: "float"});
|
||||
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt2"), room_data.cadcontours[0].cadalt2, {datatype: "float"});
|
||||
}
|
||||
manRWFIELD("room_omt", "fldshort", L("lcl_estate_ruimte_man_omtrek"), room_data.perimeter, {maxlength: 10, datatype: "float"});
|
||||
manRWFIELD("room_inh", "fldshort", L("lcl_estate_ruimte_man_inhoud"), room_data.volume, {maxlength: 13, datatype: "float"});
|
||||
manRWFIELD("room_opm", "fld", L("lcl_estate_ruimte_man_opmerk"), room_data.remark, {maxlength: 50});
|
||||
FCLTselector("dienstniveau", sql,
|
||||
{ label: L("lcl_mld_dienst_niveau"),
|
||||
initKey: dienstniveau,
|
||||
emptyOption: "",
|
||||
readonly: !this_alg.writeuse
|
||||
});
|
||||
|
||||
var times = [];
|
||||
for (i=0; i<24; i++)
|
||||
{
|
||||
sql = " SELECT " + String(i+0/4) + ", '" + String(i) + ":00' FROM DUAL"
|
||||
+ " UNION ALL SELECT " + String(i+1/4) + ", '" + String(i) + ":15' FROM DUAL"
|
||||
+ " UNION ALL SELECT " + String(i+2/4) + ", '" + String(i) + ":30' FROM DUAL"
|
||||
+ " UNION ALL SELECT " + String(i+3/4) + ", '" + String(i) + ":45' FROM DUAL"
|
||||
times.push(sql);
|
||||
}
|
||||
FCLTselector( "room_beginuur",
|
||||
times.join(" UNION ALL "),
|
||||
{ label: L("lcl_estate_gebouw_beginuur"),
|
||||
initKey: room_data.openfrom,
|
||||
emptyOption: "",
|
||||
readonly: !this_alg.writeman
|
||||
}
|
||||
);
|
||||
times.push(" SELECT 24, '24:00' FROM DUAL");
|
||||
FCLTselector( "room_einduur",
|
||||
times.join(" UNION ALL "),
|
||||
{ label: L("lcl_estate_gebouw_einduur"),
|
||||
initKey: room_data.opento,
|
||||
emptyOption: "",
|
||||
readonly: !this_alg.writeman
|
||||
}
|
||||
);
|
||||
sql = " SELECT null, " + safe.quoted_sql(L("lcl_alg_ruimte_volgens_gebouw")) + " FROM DUAL"
|
||||
+ " UNION ALL SELECT 0, " + safe.quoted_sql(L("lcl_No")) + " FROM DUAL"
|
||||
+ " UNION ALL SELECT 1, " + safe.quoted_sql(L("lcl_Yes")) + " FROM DUAL";
|
||||
FCLTselector( "room_werkdagen",
|
||||
sql,
|
||||
{ label: L("lcl_estate_gebouw_werkdagen"),
|
||||
initKey: room_data.workdays,
|
||||
readonly: !this_alg.writeman
|
||||
}
|
||||
);
|
||||
BLOCK_END();
|
||||
BLOCK_START("algLoc2", "");
|
||||
|
||||
BLOCK_END();
|
||||
manRWFIELD("room_opp", "fldshort", L("lcl_estate_ruimte_bruto_vloeropp"), room_opp, {maxlength: 10, datatype: "float"});
|
||||
ROFIELDTR("fldshort", L("lcl_estate_ruimte_getekendopp"), contour_opp);
|
||||
if (S("fg_contourlayers_alt1")!="" && S("fg_labellayers_alt1")!="") {
|
||||
manRWFIELD("room_oppa1", "fldshort", L("lcl_estate_ruimte_opp_alt1"), room_oppa1, {maxlength: 10, datatype: "float"});
|
||||
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt1"), contour_opp1);
|
||||
}
|
||||
if (S("fg_contourlayers_alt2")!="" && S("fg_labellayers_alt2")!="") {
|
||||
manRWFIELD("room_oppa2", "fldshort", L("lcl_estate_ruimte_opp_alt2"), room_oppa2, {maxlength: 10, datatype: "float"});
|
||||
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt2"), contour_opp2);
|
||||
}
|
||||
manRWFIELD("room_omt", "fldshort", L("lcl_estate_ruimte_man_omtrek"), room_omt, {maxlength: 10, datatype: "float"});
|
||||
manRWFIELD("room_inh", "fldshort", L("lcl_estate_ruimte_man_inhoud"), room_inh, {maxlength: 13, datatype: "float"});
|
||||
manRWFIELD("room_opm", "fld", L("lcl_estate_ruimte_man_opmerk"), room_opm, {maxlength: 50});
|
||||
|
||||
generateFlexKenmerkBlock ({
|
||||
onrgoed_key : room_key,
|
||||
onrgoed_niveau : rooms.defaults.onrgoedlvl,
|
||||
reado : false,
|
||||
flexcolumns : S("alg_flexcolumns"),
|
||||
this_alg : this_alg
|
||||
});
|
||||
BLOCK_END();
|
||||
|
||||
IFACE.FORM_END();
|
||||
generateFlexKenmerkBlock ({
|
||||
onrgoed_key : room_key,
|
||||
onrgoed_niveau : onrgoedlvl,
|
||||
reado : false,
|
||||
flexcolumns : S("alg_flexcolumns"),
|
||||
this_alg : this_alg
|
||||
});
|
||||
%>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</form>
|
||||
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,212 +0,0 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: alg_edit_ruimte_multi.asp
|
||||
Description: Multi editten van de flexkenmerken van ruimtes
|
||||
Parameters: alg_keys
|
||||
|
||||
Context:
|
||||
Note:
|
||||
|
||||
*/ %>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/kenmerk_common.inc" -->
|
||||
<!-- #include file="./alg_flexkenmerk.inc" -->
|
||||
<!-- #include file="./alg.inc" -->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["suggest", "jQuery", "kenmerk"] });
|
||||
|
||||
var alg_key_arr = getQParamIntArray("alg_keys");
|
||||
var alg_level = getQParam("alg_level");
|
||||
|
||||
var warning = "";
|
||||
var result = {};
|
||||
var tobeedited = 0;
|
||||
var ingesloten = [];
|
||||
// Bepaal de ruimtes in de selectie die
|
||||
// ook echt bewerkt kunnen of mogen worden.
|
||||
for (var i = 0; i < alg_key_arr.length; i++)
|
||||
{
|
||||
var this_alg = alg.func_enabled(alg_key_arr[i], "R");
|
||||
if (this_alg.writeman || this_alg.writeuse)
|
||||
{
|
||||
ingesloten.push(alg_key_arr[i]);
|
||||
tobeedited++;
|
||||
var last_this_alg = this_alg; // deze gebruiken we voor rechtencontrole. Niet 100% zuiver maar goed genoeg
|
||||
}
|
||||
}
|
||||
user.auth_required_or_abort(tobeedited > 0); // We klagen niet over enkele wel en enkele niet
|
||||
|
||||
/*
|
||||
var sql = "SELECT alg_srtruimte_key"
|
||||
+ " , mld_dienstniveau_key"
|
||||
+ " , alg_ruimte_omschrijving"
|
||||
+ " , alg_ruimte_opmerking"
|
||||
+ " , alg_ruimte_beginuur"
|
||||
+ " , alg_ruimte_einduur"
|
||||
+ " , alg_ruimte_werkdagen"
|
||||
+ " FROM alg_ruimte"
|
||||
+ " WHERE alg_ruimte_key in (" + ingesloten.join(",") + ")";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
var diff = { srtruimte_key: oRs("alg_srtruimte_key").Value,
|
||||
dienstniveau_key: oRs("mld_dienstniveau_key").Value,
|
||||
omschrijving: oRs("alg_ruimte_omschrijving").Value,
|
||||
opmerking: oRs("alg_ruimte_opmerking").Value,
|
||||
beginuur: oRs("alg_ruimte_beginuur").Value,
|
||||
einduur: oRs("alg_ruimte_einduur").Value,
|
||||
werkdagen: oRs("alg_ruimte_werkdagen").Value
|
||||
};
|
||||
var i = 0;
|
||||
while (!oRs.eof)
|
||||
{
|
||||
i++;
|
||||
if (diff.srtruimte_key != oRs("alg_srtruimte_key").Value) diff.srtruimte_key = null;
|
||||
if (diff.dienstniveau_key != oRs("mld_dienstniveau_key").Value) diff.dienstniveau_key = null;
|
||||
if (diff.omschrijving != oRs("alg_ruimte_omschrijving").Value) diff.omschrijving = null;
|
||||
if (diff.opmerking != oRs("alg_ruimte_opmerking").Value) diff.opmerking = null;
|
||||
if (diff.beginuur != oRs("alg_ruimte_beginuur").Value) diff.beginuur = null;
|
||||
if (diff.einduur != oRs("alg_ruimte_einduur").Value) diff.einduur = null;
|
||||
if (diff.werkdagen != oRs("alg_ruimte_werkdagen").Value) diff.werkdagen = null;
|
||||
oRs.MoveNext();
|
||||
}
|
||||
}
|
||||
oRs.Close();
|
||||
*/
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<script type="text/javascript">
|
||||
$(function () { $("select option[value=-1]").val(""); }); // prevents removal of values from listboxes
|
||||
function alg_submit()
|
||||
{
|
||||
$.post($("form[name=u2]")[0].action,
|
||||
$("[name=u2]").serialize(),
|
||||
FcltCallbackAndThenAlways(alg_submit_callback),
|
||||
"json");
|
||||
return true; // disable button
|
||||
}
|
||||
|
||||
function alg_submit_callback(json)
|
||||
{
|
||||
iface.button.enable("btn_alg_submit");
|
||||
if (json.success)
|
||||
FcltMgr.closeDetail(window, json);
|
||||
}
|
||||
|
||||
function alg_cancel()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="modal" id="mod_algmultiedit">
|
||||
<form name="u2" action="alg_edit_ruimte_multi_save.asp?alg_level=<%=safe.htmlattr(alg_level)%>&alg_keys=<%=ingesloten.join(",")%>" method="post">
|
||||
<%
|
||||
/*
|
||||
if (last_this_alg.writeman || last_this_alg.writeuse)
|
||||
{
|
||||
BLOCK_START("algFlex", L("lcl_ins_meta_data"));
|
||||
// ruimte specifieke velden
|
||||
if (last_this_alg.writeman)
|
||||
{
|
||||
sql = "SELECT alg_srtruimte_key"
|
||||
+ " , " + lcl.xsqla("alg_srtruimte_omschrijving", "alg_srtruimte_key")
|
||||
+ " FROM alg_v_aanwezigsrtruimte"
|
||||
+ " ORDER BY UPPER("+lcl.xsql("alg_srtruimte_omschrijving", "alg_srtruimte_key")+")";
|
||||
FCLTselector( "room_srt",
|
||||
sql,
|
||||
{ label: L("lcl_estate_ruimte_man_sort"),
|
||||
initKey: (diff.srtruimte_key ? diff.srtruimte_key : -1),
|
||||
emptyOption: ""
|
||||
});
|
||||
}
|
||||
|
||||
if (last_this_alg.writeuse)
|
||||
{
|
||||
sql = "SELECT mld_dienstniveau_key"
|
||||
+ " , " + lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
+ " FROM mld_dienstniveau"
|
||||
+ " ORDER BY UPPER("+lcl.xsql("mld_dienstniveau_omschr", "mld_dienstniveau_key")+")";
|
||||
FCLTselector( "dienstniveau",
|
||||
sql,
|
||||
{ label: L("lcl_mld_dienst_niveau"),
|
||||
initKey: (diff.dienstniveau_key ? diff.dienstniveau_key : -1),
|
||||
emptyOption: ""
|
||||
});
|
||||
|
||||
RWFIELDTR("room_oms", "fld", L("lcl_estate_ruimte_man_descr"), diff.omschrijving, {maxlength: 30});
|
||||
}
|
||||
|
||||
if (last_this_alg.writeman)
|
||||
{
|
||||
RWFIELDTR("room_opm", "fld", L("lcl_estate_ruimte_man_opmerk"), diff.opmerking, {maxlength: 50});
|
||||
|
||||
var times = [];
|
||||
for (i=0; i<24; i++)
|
||||
{
|
||||
sql = " SELECT " + String(i+0/4) + ", '" + String(i) + ":00' FROM DUAL"
|
||||
+ " UNION ALL SELECT " + String(i+1/4) + ", '" + String(i) + ":15' FROM DUAL"
|
||||
+ " UNION ALL SELECT " + String(i+2/4) + ", '" + String(i) + ":30' FROM DUAL"
|
||||
+ " UNION ALL SELECT " + String(i+3/4) + ", '" + String(i) + ":45' FROM DUAL"
|
||||
times.push(sql);
|
||||
}
|
||||
FCLTselector( "room_beginuur",
|
||||
times.join(" UNION ALL "),
|
||||
{ label: L("lcl_estate_gebouw_beginuur"),
|
||||
initKey: diff.beginuur,
|
||||
emptyOption: ""
|
||||
}
|
||||
);
|
||||
FCLTselector( "room_einduur",
|
||||
times.join(" UNION ALL "),
|
||||
{ label: L("lcl_estate_gebouw_einduur"),
|
||||
initKey: diff.einduur,
|
||||
emptyOption: ""
|
||||
}
|
||||
);
|
||||
|
||||
sql = " SELECT null, " + safe.quoted_sql(L("lcl_alg_ruimte_volgens_gebouw")) + " FROM DUAL"
|
||||
+ " UNION ALL SELECT 0, " + safe.quoted_sql(L("lcl_No")) + " FROM DUAL"
|
||||
+ " UNION ALL SELECT 1, " + safe.quoted_sql(L("lcl_Yes")) + " FROM DUAL";
|
||||
FCLTselector( "room_werkdagen",
|
||||
sql,
|
||||
{ label: L("lcl_estate_gebouw_werkdagen"),
|
||||
initKey: diff.werkdagen
|
||||
}
|
||||
);
|
||||
}
|
||||
BLOCK_END();
|
||||
}
|
||||
*/
|
||||
generateFlexKenmerkBlock({
|
||||
fnpre: function () {BLOCK_START("algMultiEdit", L("lcl_flexible_properties"));},
|
||||
fnpost: BLOCK_END,
|
||||
onrgoed_niveau: "R",
|
||||
onrgoed_key: -1,
|
||||
this_alg: last_this_alg,
|
||||
reado: false,
|
||||
multi: true,
|
||||
flexcolumns: 1 // altijd want popup
|
||||
});
|
||||
|
||||
var buttons = [];
|
||||
buttons.push({title: L("lcl_submit"), action: "alg_submit()", singlepress: true, id: "btn_alg_submit", importance: 1});
|
||||
buttons.push({title: L("lcl_cancel"), action: "alg_cancel()", importance: 3});
|
||||
CreateButtons(buttons);
|
||||
IFACE.FORM_END();
|
||||
%>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,93 +0,0 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: alg_edit_ruimte_multi_save.asp
|
||||
Description: save script van alg_edit_ruimte_multi.asp
|
||||
Globalen:
|
||||
Context:
|
||||
Note:
|
||||
*/
|
||||
var JSON_Result = true;
|
||||
%>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/kenmerk_common.inc" -->
|
||||
<!-- #include file="./alg.inc" -->
|
||||
|
||||
<%
|
||||
//protectRequest.validateToken();
|
||||
var alg_key_arr = getQParamIntArray("alg_keys");
|
||||
var alg_level = getQParam("alg_level");
|
||||
|
||||
var warning = "";
|
||||
var result = {};
|
||||
var nr_edited = 0;
|
||||
|
||||
for (var i = 0; i < alg_key_arr.length; i++)
|
||||
{
|
||||
var alg_key = alg_key_arr[i];
|
||||
var this_alg = alg.func_enabled(alg_key, "R");
|
||||
if (this_alg.writeman || this_alg.writeuse)
|
||||
{
|
||||
// Ik mag de ruimte wijzigen dus voer wijziging uit
|
||||
var fields = [];
|
||||
var algUpd = buildTrackingUpdate("alg_ruimte", " alg_ruimte_key = " + alg_key, fields);
|
||||
// // Submit the changed data
|
||||
// var err = Oracle.Execute(algUpd.sql, true);
|
||||
// if (err.friendlyMsg)
|
||||
// warning = err.friendlyMsg;
|
||||
|
||||
currentKenmerkenSQL = "SELECT k.alg_kenmerk_key"
|
||||
+ " , ok.alg_onrgoedkenmerk_waarde"
|
||||
+ " , k.alg_kenmerk_toonbaar"
|
||||
+ " FROM alg_onrgoedkenmerk ok"
|
||||
+ " , alg_kenmerk k"
|
||||
+ " WHERE ok.alg_kenmerk_key = k.alg_kenmerk_key"
|
||||
+ " AND ok.alg_onrgoedkenmerk_verwijder IS NULL"
|
||||
+ " AND ok.alg_onrgoed_niveau = " + safe.quoted_sql(alg_level)
|
||||
+ " AND ok.alg_onrgoed_key = " + alg_key;
|
||||
|
||||
|
||||
allKenmerkenSQL = "SELECT " + lcl.xsql('k.alg_kenmerk_omschrijving', 'k.alg_kenmerk_key') + " kenmerk_omschrijving"
|
||||
+ " , k.alg_kenmerk_kenmerktype kenmerk_kenmerktype"
|
||||
+ " , k.alg_kenmerk_systeem kenmerk_systeem"
|
||||
+ " , k.alg_kenmerk_toonbaar kenmerk_readonly"
|
||||
+ " , k.alg_kenmerk_uniek kenmerk_uniek"
|
||||
+ " , fac_kenmerkdomein_key"
|
||||
+ " FROM alg_kenmerk k"
|
||||
+ " WHERE k.alg_kenmerk_key = "; /* wordt in saveFlexkenmerken uitgebreid */
|
||||
|
||||
var flextrack = saveFlexKenmerken(alg_key,
|
||||
{ kenmerkTable: "alg_onrgoedkenmerk",
|
||||
kenmerkParentKey : "alg_onrgoed_key",
|
||||
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
|
||||
kenmerkKey: "alg_kenmerk_key",
|
||||
kenmerkToonbaar: "alg_kenmerk_toonbaar",
|
||||
currentKenmerkenSQL: currentKenmerkenSQL,
|
||||
allKenmerkenSQL: allKenmerkenSQL,
|
||||
requestQF: Request.Form,
|
||||
flexPath: "ALG/R",
|
||||
multiMode: true,
|
||||
tracking: true,
|
||||
module: "ALG",
|
||||
moduleName: "alg_onrgoed_niveau",
|
||||
moduleVal: alg_level
|
||||
});
|
||||
|
||||
if (flextrack && flextrack.length)
|
||||
{
|
||||
var update_string = L("lcl_alg_is_algrup") + "\n" + flextrack.join("\n");
|
||||
shared.trackaction("ALGRUP", alg_key, update_string);
|
||||
nr_edited++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
result = { success : true, refresh: true };
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
Response.End;
|
||||
%>
|
||||
@@ -6,66 +6,108 @@
|
||||
File: alg_edit_ruimte_save.asp
|
||||
|
||||
*/ %>
|
||||
<%
|
||||
var JSON_Result = true;
|
||||
%>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../API2/api2.inc" -->
|
||||
<!-- #include file="../API2/model_rooms.inc" -->
|
||||
<!-- #include file="../shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/kenmerk_common.inc"-->
|
||||
|
||||
<% FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
js: []
|
||||
}) %>
|
||||
<%
|
||||
protectRequest.validateToken();
|
||||
var room_key = getQParamInt( "room_key" );
|
||||
var room_action = getFParam( "room_action", "" );
|
||||
var room_key = getQParamInt( "room_key" );
|
||||
var isNew = (room_key < 0);
|
||||
|
||||
var formfields = [ { name: "name", frm: "room_nr" },
|
||||
{ name: "roomtype", frm: "room_srt" },
|
||||
{ name: "floor", frm: "verdiepingkey" },
|
||||
{ name: "description", frm: "room_oms" },
|
||||
{ name: "grossarea", frm: "room_opp" },
|
||||
{ name: "perimeter", frm: "room_omt" },
|
||||
{ name: "remark", frm: "room_opm" },
|
||||
{ name: "volume", frm: "room_inh" },
|
||||
{ name: "area1", frm: "room_oppa1" },
|
||||
{ name: "area2", frm: "room_oppa2" },
|
||||
{ name: "servicelevel", frm: "dienstniveau" },
|
||||
{ name: "workdays", frm: "room_werkdagen" },
|
||||
{ name: "openfrom", frm: "room_beginuur" },
|
||||
{ name: "opento", frm: "room_einduur" }
|
||||
];
|
||||
var params = { filter: { id: room_key,
|
||||
scope: "fe"
|
||||
},
|
||||
properties: { extraserie: false,
|
||||
nameprefix: "k"
|
||||
}
|
||||
};
|
||||
var rooms = new model_rooms();
|
||||
var jsondata = api2.form2JSONdata(rooms, params, formfields);
|
||||
jsondata.properties = flexkenmerken2jsondata(params.properties);
|
||||
var fields = [ { dbs: "ALG_VERDIEPING_KEY", typ: "key", frm: "verdiepingkey" },
|
||||
{ dbs: "ALG_SRTRUIMTE_KEY", typ: "key", frm: "room_srt", track: L("lcl_estate_ruimte_man_sort") , foreign: "alg_srtruimte" },
|
||||
{ dbs: "ALG_RUIMTE_NR", typ: "varchar", frm: "room_nr", track: L("lcl_estate_ruimte_man_nr") },
|
||||
{ dbs: "ALG_RUIMTE_ACADKEY", typ: "varchar", frm: "room_ackey" },
|
||||
{ dbs: "ALG_RUIMTE_OMSCHRIJVING", typ: "varchar", frm: "room_oms", track: L("lcl_estate_ruimte_man_descr") },
|
||||
{ dbs: "ALG_RUIMTE_GETEKEND", typ: "date", frm: "room_tek" },
|
||||
{ dbs: "ALG_RUIMTE_BRUTO_VLOEROPP", typ: "float", frm: "room_opp", track: L("lcl_estate_ruimte_bruto_vloeropp") },
|
||||
{ dbs: "ALG_RUIMTE_OMTREK", typ: "float", frm: "room_omt", track: L("lcl_estate_ruimte_man_omtrek") },
|
||||
{ dbs: "ALG_RUIMTE_INHOUD", typ: "float", frm: "room_inh", track: L("lcl_estate_ruimte_man_inhoud") },
|
||||
{ dbs: "ALG_RUIMTE_OPMERKING", typ: "varchar", frm: "room_opm", track: L("lcl_estate_ruimte_man_opmerk") },
|
||||
{ dbs: "ALG_RUIMTE_VLOER_OMSCHRIJVING", typ: "varchar", frm: "room_flrom" },
|
||||
{ dbs: "ALG_RUIMTE_OPP_GEVELGLAS", typ: "float", frm: "room_gegl" },
|
||||
{ dbs: "ALG_RUIMTE_OPP_SEPARATIEGLAS", typ: "float", frm: "room_segl" },
|
||||
{ dbs: "ALG_RUIMTE_OPP_GEVELBEKLEDING", typ: "float", frm: "room_gebe" },
|
||||
{ dbs: "ALG_RUIMTE_OPP_ALT1", typ: "float", frm: "room_oppa1", track: L("lcl_estate_ruimte_opp_alt1") },
|
||||
{ dbs: "ALG_RUIMTE_OPP_ALT2", typ: "float", frm: "room_oppa2", track: L("lcl_estate_ruimte_opp_alt2") },
|
||||
{ dbs: "MLD_DIENSTNIVEAU_KEY", typ: "key", frm: "dienstniveau", track: L("lcl_mld_dienst_niveau"), foreign: "mld_dienstniveau" }
|
||||
];
|
||||
var warning="";
|
||||
if (room_key > 0)
|
||||
{
|
||||
algUpd = buildTrackingUpdate("alg_ruimte", "alg_ruimte_key = " + room_key, fields);
|
||||
var err = Oracle.Execute(algUpd.sql, true);
|
||||
if (err.friendlyMsg)
|
||||
warning = err.friendlyMsg;
|
||||
}
|
||||
else
|
||||
{
|
||||
fields.push({ dbs: "alg_ruimte_key", typ: "key", seq: "alg_s_alg_onroerendgoed_keys" });
|
||||
var regIns = buildInsert("alg_ruimte", fields);
|
||||
var room_key = regIns.sequences["alg_ruimte_key"];
|
||||
|
||||
switch (room_action)
|
||||
{
|
||||
case "I":
|
||||
var room_array = rooms.REST_POST(params, jsondata);
|
||||
room_key = room_array.key;
|
||||
break;
|
||||
case "U":
|
||||
var room_array = rooms.REST_PUT(params, jsondata, params.filter.id);
|
||||
break;
|
||||
case "D":
|
||||
var room_array = rooms.REST_DELETE(params, params.filter.id);
|
||||
break;
|
||||
default :
|
||||
var room_array = {warning: L("lcl_cnt_Del_Fails_Auth")};
|
||||
}
|
||||
var warning = room_array.warning;
|
||||
sql = regIns.sql;
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
warning = err.friendlyMsg;
|
||||
}
|
||||
|
||||
if (!warning)
|
||||
{
|
||||
currentKenmerkenSQL = " SELECT k.alg_kenmerk_key,"
|
||||
+ " ok.alg_onrgoedkenmerk_waarde"
|
||||
+ " FROM alg_onrgoedkenmerk ok,"
|
||||
+ " alg_kenmerk k "
|
||||
+ " WHERE k.alg_kenmerk_key = ok.alg_kenmerk_key "
|
||||
+ " AND alg_onrgoedkenmerk_verwijder IS NULL "
|
||||
+ " AND alg_onrgoed_niveau = 'R' "
|
||||
+ " AND alg_onrgoed_key = " + room_key;
|
||||
|
||||
var result = { room_key: room_key,
|
||||
warning: warning,
|
||||
keepForm: !!warning,
|
||||
success: true };
|
||||
Response.Write(JSON.stringify(result));
|
||||
allKenmerkenSQL = " SELECT "+lcl.xsql('k.alg_kenmerk_omschrijving','k.alg_kenmerk_key')+" kenmerk_omschrijving, "
|
||||
+ " alg_kenmerk_key srtkenmerk_key"
|
||||
+ " FROM alg_kenmerk k"
|
||||
+ " WHERE k.alg_kenmerk_verwijder IS NULL"
|
||||
+ " AND k.alg_kenmerk_niveau = 'R'"
|
||||
+ " AND k.alg_kenmerk_key = "; /* wordt in saveFlexkenmerken uitgebreid */
|
||||
var flextrack =
|
||||
saveFlexKenmerken(room_key, { kenmerkTable: "alg_onrgoedkenmerk",
|
||||
kenmerkParentKey : "alg_onrgoed_key",
|
||||
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
|
||||
kenmerkKey: "alg_kenmerk_key",
|
||||
currentKenmerkenSQL: currentKenmerkenSQL,
|
||||
allKenmerkenSQL: allKenmerkenSQL,
|
||||
kenmerkOmschrijving: "alg_kenmerk_omschrijving",
|
||||
kenmerkSoortKey: "alg_kenmerk_key",
|
||||
requestQF: Request.Form,
|
||||
isNew: isNew, flexPath: "ALG/R",
|
||||
tracking: true,
|
||||
moduleName: "ALG_ONRGOED_NIVEAU",
|
||||
moduleVal: "R",
|
||||
module: "ALG"
|
||||
}
|
||||
)
|
||||
|
||||
if (!isNew && (algUpd.trackarray.length || flextrack.length))
|
||||
shared.trackaction("ALGRUP", room_key, algUpd.trackarray.concat(flextrack).join("\n"));
|
||||
}
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate() %>
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
FcltMgr.closeDetail(window, { room_key: <%=room_key%>,
|
||||
warning: "<%=safe.jsstring(warning)%>",
|
||||
keepForm: <%=warning?"true":"false"%>
|
||||
});
|
||||
} );
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -63,7 +63,7 @@ if (srtruimte_lg_key > -1)
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<script type="text/javascript">
|
||||
<script type="text/javascript" >
|
||||
function ruimtefunctie_submit()
|
||||
{
|
||||
document.activeElement.blur(); // trigger laatste onChanges
|
||||
@@ -79,10 +79,10 @@ if (srtruimte_lg_key > -1)
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
}
|
||||
|
||||
$(function()
|
||||
{
|
||||
FcltMgr.resized(window);
|
||||
});
|
||||
jQuery(document).ready(function()
|
||||
{
|
||||
FcltMgr.resized(window);
|
||||
});
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -128,7 +128,6 @@ if (srtruimte_lg_key > -1)
|
||||
RWFIELDTR("prijs5", "fldalgprijs", L("lcl_alg_alg_tariefD"), safe.editablefloat(prijs5, 5), {maxlength: 17, datatype: "float"});
|
||||
|
||||
BLOCK_END();
|
||||
IFACE.FORM_END();
|
||||
%>
|
||||
</form>
|
||||
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>
|
||||
|
||||
@@ -12,16 +12,12 @@
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
<!-- #include file="../shared/save2db.inc" -->
|
||||
|
||||
<% FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
js: []
|
||||
}) %>
|
||||
<%
|
||||
var autfunction = 'WEB_ALGMAN';
|
||||
var authparams = user.checkAutorisation(autfunction)
|
||||
|
||||
var srtruimte_lg_key = getQParamInt("srtruimte_lg_key", -1);
|
||||
var srtruimte_key = getFParamInt("srtruimte", -1);
|
||||
var loc_key = getFParamInt("locatiekey", -1);
|
||||
@@ -68,7 +64,7 @@ __Log("srtruimte_lg_key = " + srtruimte_lg_key);
|
||||
{
|
||||
sql = buildUpdate("alg_srtruimte_locatiegebouw", fields)
|
||||
+ " alg_srtruimte_lg_key = " + srtruimte_lg_key;
|
||||
|
||||
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
warning = err.friendlyMsg;
|
||||
@@ -78,7 +74,7 @@ __Log("srtruimte_lg_key = " + srtruimte_lg_key);
|
||||
fields.push({ dbs: "alg_srtruimte_lg_key", typ: "key", seq: "alg_s_alg_srtruimte_lg_key" });
|
||||
var regIns = buildInsert("alg_srtruimte_locatiegebouw", fields);
|
||||
var srtruimte_lg_key = regIns.sequences["alg_srtruimte_lg_key"];
|
||||
|
||||
|
||||
sql = regIns.sql;
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
@@ -90,12 +86,11 @@ __Log("srtruimte_lg_key = " + srtruimte_lg_key);
|
||||
<head>
|
||||
<% FCLTHeader.Generate() %>
|
||||
<script>
|
||||
$(function ()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { warning: "<%=safe.jsstring(warning)%>",
|
||||
refresh: true
|
||||
});
|
||||
});
|
||||
$(document).ready(function () {
|
||||
FcltMgr.closeDetail(window, { warning: "<%=safe.jsstring(warning)%>",
|
||||
refresh: true
|
||||
});
|
||||
} );
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -14,12 +14,10 @@
|
||||
<!--#include file="../Shared/common.inc" -->
|
||||
<!--#include file="../Shared/iface.inc" -->
|
||||
<!--#include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/calendar.inc" -->
|
||||
|
||||
<!--#include file="../Shared/plaatsselector.inc" -->
|
||||
<!--#include file="../Shared/kostenplaatsselector.inc" -->
|
||||
<!--#include file="../Shared/afdelingselector.inc" -->
|
||||
<!-- #include file="../API2/api2.inc" -->
|
||||
<!-- #include file="alg_flexkenmerk.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
@@ -44,10 +42,6 @@ if (ter_key > 0)
|
||||
+ ", alg_terreinsector_omtrek"
|
||||
+ ", alg_terreinsector_aanmaak"
|
||||
+ ", alg_terreinsector_ordernr"
|
||||
+ ", alg_terreinsector_toon_telef"
|
||||
+ ", alg_terreinsector_toon_email"
|
||||
+ ", alg_terreinsector_toon_kentk"
|
||||
+ ", alg_terreinsector_vervaldatum"
|
||||
+ ", prs_kostenplaats_key"
|
||||
+ ", prs_afdeling_key"
|
||||
+ " FROM alg_terreinsector "
|
||||
@@ -66,19 +60,9 @@ if (ter_key > 0)
|
||||
var ter_ordnr = oRs("ALG_TERREINSECTOR_ORDERNR").value;
|
||||
var prs_kstn = oRs("PRS_KOSTENPLAATS_KEY").value;
|
||||
var prs_afd = oRs("PRS_AFDELING_KEY").value;
|
||||
var toon_telefoon = oRs("ALG_TERREINSECTOR_TOON_TELEF").Value;
|
||||
var toon_email = oRs("ALG_TERREINSECTOR_TOON_EMAIL").Value;
|
||||
var toon_kenteken = oRs("ALG_TERREINSECTOR_TOON_KENTK").Value;
|
||||
var vervaldatum = oRs("ALG_TERREINSECTOR_VERVALDATUM").Value != null ? new Date(oRs("ALG_TERREINSECTOR_VERVALDATUM").Value) : null;
|
||||
|
||||
oRs.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
var toon_telefoon = 0;
|
||||
var toon_email = 0;
|
||||
var toon_kenteken = 0;
|
||||
}
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -163,35 +147,6 @@ BLOCK_START("algInfo", "");
|
||||
RWFIELDTR("ter_opp", "fld", L("lcl_estate_terreinsector_man_oppervlak"), ter_opp, {maxlength: 15});
|
||||
RWFIELDTR("ter_omt", "fld", L("lcl_estate_terreinsector_man_omtrek"), ter_omt, {maxlength: 15});
|
||||
|
||||
FCLTcalendar("vervaldatum",
|
||||
{ datum: vervaldatum,
|
||||
initEmpty: vervaldatum==null,
|
||||
label: L("lcl_alg_vervaldatum"),
|
||||
readonly: !this_alg.writeman
|
||||
});
|
||||
|
||||
var sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toontelfLOV"));
|
||||
FCLTselector("toon_telefoon",
|
||||
sql,
|
||||
{ label: L("lcl_estate_gebouw_toon_telefoon"),
|
||||
initKey: toon_telefoon,
|
||||
extraclass: "notmulti"
|
||||
});
|
||||
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonmailLOV"));
|
||||
FCLTselector("toon_email",
|
||||
sql,
|
||||
{ label: L("lcl_estate_gebouw_toon_email"),
|
||||
initKey: toon_email,
|
||||
extraclass: "notmulti"
|
||||
});
|
||||
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonkentLOV"));
|
||||
FCLTselector("toon_kenteken",
|
||||
sql,
|
||||
{ label: L("lcl_estate_gebouw_toon_kenteken"),
|
||||
initKey: toon_kenteken,
|
||||
extraclass: "notmulti"
|
||||
});
|
||||
|
||||
BLOCK_END();
|
||||
|
||||
generateFlexKenmerkBlock ({
|
||||
@@ -202,7 +157,6 @@ generateFlexKenmerkBlock ({
|
||||
this_alg : this_alg
|
||||
});
|
||||
|
||||
IFACE.FORM_END();
|
||||
%>
|
||||
</form>
|
||||
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>
|
||||
|
||||
@@ -7,19 +7,14 @@
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/kenmerk_common.inc"-->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
<% FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
js: []
|
||||
}) %>
|
||||
<%
|
||||
var ter_key = getQParamInt( "ter_key" );
|
||||
|
||||
var onrgoedlvl = "T";
|
||||
var this_alg = alg.func_enabled(ter_key, onrgoedlvl);
|
||||
user.auth_required_or_abort(this_alg.writeman || (ter_key>0&&this_alg.writeuse));
|
||||
var ter_key = getQParamInt( "ter_key" );
|
||||
|
||||
var fields = [ { dbs: "alg_locatie_key", typ: "key", frm: "locatiekey", track: true /* afzonderlijke tracking, wel oldjsval */ },
|
||||
{ dbs: "ALG_TERREINSECTOR_OMSCHRIJVING", typ: "varchar", frm: "ter_oms" },
|
||||
@@ -29,10 +24,6 @@ user.auth_required_or_abort(this_alg.writeman || (ter_key>0&&this_alg.writeuse))
|
||||
{ dbs: "ALG_TERREINSECTOR_OPPERVLAK", typ: "float", frm: "ter_opp" },
|
||||
{ dbs: "ALG_TERREINSECTOR_OMTREK", typ: "float", frm: "ter_omt" },
|
||||
{ dbs: "ALG_TERREINSECTOR_ORDERNR", typ: "varchar", frm: "ter_ordnr" },
|
||||
{ dbs: "ALG_TERREINSECTOR_VERVALDATUM", typ: "date", frm: "vervaldatum", track: L("lcl_alg_vervaldatum") },
|
||||
{ dbs: "ALG_TERREINSECTOR_TOON_TELEF", typ: "number", frm: "toon_telefoon" },
|
||||
{ dbs: "ALG_TERREINSECTOR_TOON_EMAIL", typ: "number", frm: "toon_email" },
|
||||
{ dbs: "ALG_TERREINSECTOR_TOON_KENTK", typ: "number", frm: "toon_kenteken" },
|
||||
{ dbs: "PRS_KOSTENPLAATS_KEY", typ: "key", frm: "prs_kstn" },
|
||||
{ dbs: "PRS_AFDELING_KEY", typ: "key", frm: "prs_afd" }];
|
||||
|
||||
@@ -85,29 +76,18 @@ else
|
||||
|
||||
if (!warning)
|
||||
{
|
||||
currentKenmerkenSQL = "SELECT k.alg_kenmerk_key"
|
||||
+ " , ok.alg_onrgoedkenmerk_waarde"
|
||||
+ " , k.alg_kenmerk_toonbaar"
|
||||
+ " FROM alg_onrgoedkenmerk ok"
|
||||
+ " , alg_kenmerk k"
|
||||
+ " WHERE k.alg_kenmerk_key = ok.alg_kenmerk_key"
|
||||
+ " AND alg_onrgoedkenmerk_verwijder IS NULL"
|
||||
+ " AND alg_onrgoed_niveau = 'T'"
|
||||
+ " AND alg_onrgoed_key = " + ter_key;
|
||||
saveFlexKenmerken(ter_key,
|
||||
{ kenmerkTable: "alg_onrgoedkenmerk",
|
||||
kenmerkParentKey : "alg_onrgoed_key",
|
||||
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
|
||||
kenmerkKey: "alg_kenmerk_key",
|
||||
kenmerkToonbaar: "alg_kenmerk_toonbaar",
|
||||
currentKenmerkenSQL: currentKenmerkenSQL,
|
||||
requestQF: Request.Form,
|
||||
flexPath: "ALG/T",
|
||||
module: "ALG",
|
||||
moduleName: "alg_onrgoed_niveau",
|
||||
moduleVal: "T",
|
||||
isNew: ter_key < 0
|
||||
});
|
||||
currentKenmerkenSQL = " SELECT k.ALG_kenmerk_key " +
|
||||
" , ok.alg_onrgoedkenmerk_waarde" +
|
||||
" FROM ALG_ONRGOEDKENMERK ok, ALG_KENMERK k " +
|
||||
" WHERE k.ALG_KENMERK_KEY = ok.ALG_KENMERK_KEY " +
|
||||
" AND ALG_ONRGOEDKENMERK_VERWIJDER IS NULL " +
|
||||
" AND ALG_ONRGOED_NIVEAU = 'T' " +
|
||||
" AND ALG_ONRGOED_KEY = " + ter_key;
|
||||
saveFlexKenmerken(ter_key, "ALG_ONRGOEDKENMERK", "ALG_ONRGOED_KEY",
|
||||
"ALG_ONRGOEDKENMERK_WAARDE", "ALG_KENMERK_KEY",
|
||||
currentKenmerkenSQL, false, //QueryForm, rest QueryString
|
||||
"ALG_ONRGOED_NIVEAU", "T",
|
||||
(ter_key<0),"ALG/T")
|
||||
}
|
||||
%>
|
||||
|
||||
@@ -115,13 +95,11 @@ else
|
||||
<head>
|
||||
<% FCLTHeader.Generate() %>
|
||||
<script>
|
||||
$(function ()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { ter_key: <%=ter_key%>,
|
||||
warning: "<%=safe.jsstring(warning)%>",
|
||||
keepForm: <%=warning?"true":"false"%>
|
||||
});
|
||||
});
|
||||
$(document).ready(function () {
|
||||
FcltMgr.closeDetail(window, { ter_key: <%=ter_key%>,
|
||||
warning: "<%=safe.jsstring(warning)%>",
|
||||
keepForm: <%=warning?"true":"false"%>
|
||||
}); } );
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -85,7 +85,7 @@ if (this_alg.writeman)
|
||||
else
|
||||
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE of <self> dan zijn er veel readonly
|
||||
|
||||
BLOCK_START("algLoc1", " ");
|
||||
BLOCK_START("algLoc1", "");
|
||||
FCLTplaatsselector(this_alg.authparams("WEB_ALGMAN").ALGwritelevel, {
|
||||
locatiekey: loc_key,
|
||||
gebouwkey: bld_key,
|
||||
@@ -113,16 +113,6 @@ BLOCK_START("algLoc1", " ");
|
||||
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("algLoc2", " ");
|
||||
if (flr_key > 0)
|
||||
{
|
||||
var calcopp = alg.calc_algm2(flr_key, onrgoedlvl);
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_bruto_vloeropp") + L("lcl_estate_calc_vloeropp"), calcopp.oppbruto, {suppressEmpty: true, datatype: "float"});
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt1") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt1, {suppressEmpty: true, datatype: "float"});
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt2") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt2, {suppressEmpty: true, datatype: "float"});
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
generateFlexKenmerkBlock ({
|
||||
onrgoed_key : flr_key,
|
||||
onrgoed_niveau : onrgoedlvl,
|
||||
@@ -131,7 +121,6 @@ generateFlexKenmerkBlock ({
|
||||
this_alg : this_alg
|
||||
});
|
||||
|
||||
IFACE.FORM_END();
|
||||
%>
|
||||
</form>
|
||||
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>
|
||||
|
||||
@@ -7,19 +7,14 @@
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/kenmerk_common.inc"-->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
<% FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
js: []
|
||||
}) %>
|
||||
<%
|
||||
var flr_key = getQParamInt( "flr_key" );
|
||||
|
||||
var onrgoedlvl = "V";
|
||||
var this_alg = alg.func_enabled(flr_key, onrgoedlvl);
|
||||
user.auth_required_or_abort(this_alg.writeman || (flr_key>0&&this_alg.writeuse));
|
||||
var flr_key = getQParamInt( "flr_key" );
|
||||
|
||||
var fields = [ { dbs: "alg_verdieping_omschrijving", typ: "varchar", frm: "flr_omschr" },
|
||||
{ dbs: "alg_verdieping_volgnr", typ: "number", frm: "flr_volgnr" },
|
||||
@@ -52,29 +47,18 @@ else
|
||||
|
||||
if (!warning)
|
||||
{
|
||||
currentKenmerkenSQL = "SELECT k.alg_kenmerk_key"
|
||||
+ " , ok.alg_onrgoedkenmerk_waarde"
|
||||
+ " , k.alg_kenmerk_toonbaar"
|
||||
+ " FROM alg_onrgoedkenmerk ok"
|
||||
+ " , alg_kenmerk k"
|
||||
+ " WHERE k.alg_kenmerk_key = ok.alg_kenmerk_key"
|
||||
+ " AND alg_onrgoedkenmerk_verwijder IS NULL"
|
||||
+ " AND alg_onrgoed_niveau = 'V'"
|
||||
+ " AND alg_onrgoed_key = " + flr_key;
|
||||
saveFlexKenmerken(flr_key,
|
||||
{ kenmerkTable: "alg_onrgoedkenmerk",
|
||||
kenmerkParentKey : "alg_onrgoed_key",
|
||||
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
|
||||
kenmerkKey: "alg_kenmerk_key",
|
||||
kenmerkToonbaar: "alg_kenmerk_toonbaar",
|
||||
currentKenmerkenSQL: currentKenmerkenSQL,
|
||||
requestQF: Request.Form,
|
||||
flexPath: "ALG/V",
|
||||
module: "ALG",
|
||||
moduleName: "alg_onrgoed_niveau",
|
||||
moduleVal: "V",
|
||||
isNew: flr_key < 0
|
||||
});
|
||||
currentKenmerkenSQL = " SELECT k.ALG_kenmerk_key " +
|
||||
" , ok.alg_onrgoedkenmerk_waarde" +
|
||||
" FROM ALG_ONRGOEDKENMERK ok, ALG_KENMERK k " +
|
||||
" WHERE k.ALG_KENMERK_KEY = ok.ALG_KENMERK_KEY " +
|
||||
" AND ALG_ONRGOEDKENMERK_VERWIJDER IS NULL " +
|
||||
" AND ALG_ONRGOED_NIVEAU = 'V' " +
|
||||
" AND ALG_ONRGOED_KEY = " + flr_key;
|
||||
saveFlexKenmerken(flr_key, "ALG_ONRGOEDKENMERK", "ALG_ONRGOED_KEY",
|
||||
"ALG_ONRGOEDKENMERK_WAARDE", "ALG_KENMERK_KEY",
|
||||
currentKenmerkenSQL, false, //QueryForm, rest QueryString
|
||||
"ALG_ONRGOED_NIVEAU", "V",
|
||||
(flr_key<0),"ALG/V")
|
||||
}
|
||||
%>
|
||||
|
||||
@@ -82,13 +66,10 @@ else
|
||||
<head>
|
||||
<% FCLTHeader.Generate() %>
|
||||
<script>
|
||||
$(function ()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { flr_key: <%=flr_key%>,
|
||||
warning: "<%=safe.jsstring(warning)%>",
|
||||
keepForm: <%=warning?"true":"false"%>
|
||||
});
|
||||
});
|
||||
$(document).ready(function ()
|
||||
{ FcltMgr.closeDetail(window, { flr_key: <%=flr_key%>,
|
||||
warning: "<%=safe.jsstring(warning)%>",
|
||||
keepForm: <%=warning?"true":"false"%> }); } );
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
<!--#include file="../Shared/iface.inc" -->
|
||||
<!--#include file="../Shared/selector.inc" -->
|
||||
<!--#include file="../Shared/plaatsselector.inc" -->
|
||||
<!--#include file="../Shared/json2.js" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
<%
|
||||
@@ -26,9 +27,6 @@ FCLTHeader.Requires({plugins:["jQuery"], js: []})
|
||||
|
||||
var authparams = alg.checkAutorisation();
|
||||
|
||||
var canAdd = (authparams.ALGwritelevel < 9); // TODO: fijner, ik denk 3. Ik moet voor deze locatie, dit district of deze regio schrijfrechten hebben.
|
||||
readonly = !canAdd;
|
||||
|
||||
if (wp_key > 0)
|
||||
{
|
||||
sql = " select * "
|
||||
@@ -48,10 +46,6 @@ if (wp_key > 0)
|
||||
|
||||
oRs.Close();
|
||||
}
|
||||
else if (S("prs_werkplek_implicit") == 1)
|
||||
{
|
||||
wp_type = 1; // Bij impliciet altijd flex
|
||||
}
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -74,7 +68,7 @@ else if (S("prs_werkplek_implicit") == 1)
|
||||
}
|
||||
function alg_next()
|
||||
{
|
||||
FcltMgr.alert("TODO: Next nog niet ondersteund")
|
||||
alert("TODO: Next nog niet ondersteund")
|
||||
}
|
||||
|
||||
function process_host_info(data)
|
||||
@@ -94,7 +88,7 @@ function onChangeVolgnr()
|
||||
}
|
||||
|
||||
<% if (wp_key<0) { %>
|
||||
$(function(){ onChangeRoom(<%=room_key%>)});
|
||||
$(document).ready(function(){ onChangeRoom(<%=room_key%>)});
|
||||
<% } %>
|
||||
|
||||
</script>
|
||||
@@ -120,8 +114,7 @@ BLOCK_START("algInfo", "");
|
||||
onRuiChange: "onChangeRoom(key)",
|
||||
startlevel: 2, // Regio
|
||||
eindlevel: 5, // District
|
||||
readonlylevel: 2, // Locatie niet readonly
|
||||
filtercode: "INCVR",
|
||||
readonly: (wp_key > 0),
|
||||
required: true });
|
||||
|
||||
RWFIELDTR("wp_volgnr", "fldshort", L("lcl_estate_wp_seq"), wp_volgnr, {required: true,
|
||||
@@ -144,19 +137,16 @@ BLOCK_START("algInfo", "");
|
||||
<%
|
||||
RWFIELDTR("wp_opp", "fld", L("lcl_estate_wp_area"), wp_opp, {maxlength: 10, float: true}); //TODO: in de toekomst ook kijken naar tussen 0 en 99999.99 ?
|
||||
|
||||
if (S("prs_werkplek_implicit")==0)
|
||||
CHECKBOXTR(L("lcl_estate_wp_virt"), "fldalgbez", "wp_virt", wp_virt==1);
|
||||
CHECKBOXTR(L("lcl_estate_wp_virt"), "fldalgbez", "wp_virt", wp_virt==1);
|
||||
|
||||
sql = "SELECT 0, "+safe.quoted_sql(L("lcl_wptype_0"))+ " FROM DUAL"
|
||||
+ " UNION SELECT 1, " + safe.quoted_sql(L("lcl_wptype_1")) + " FROM DUAL";
|
||||
FCLTselector("wp_type", sql,
|
||||
{ label: L("lcl_wptype"),
|
||||
initKey: wp_type,
|
||||
readonly: S("prs_werkplek_implicit") == 1
|
||||
initKey: wp_type
|
||||
});
|
||||
|
||||
BLOCK_END();
|
||||
IFACE.FORM_END();
|
||||
%>
|
||||
</form>
|
||||
<iframe src="../Shared/empty.html" name="hidFrameSubmit" style="display:none"></iframe>
|
||||
|
||||
@@ -8,9 +8,7 @@
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/WPFunctions.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
<!-- #include file="../shared/save2db.inc" -->
|
||||
|
||||
<% FCLTHeader.Requires({ plugins:["jQuery"] }); %>
|
||||
<%
|
||||
@@ -18,18 +16,13 @@ var wp_key = getQParamInt( "wp_key" );
|
||||
|
||||
var virtueel = (getFParamInt("has_wp_virt", 0) == 1) && (Request.Form("wp_virt").count == 1); // virtueel
|
||||
|
||||
// Bij impliciet altijd flex
|
||||
var wp_type = (S("prs_werkplek_implicit") == 1)?1:getFParamInt("wp_type");
|
||||
|
||||
var authparams = alg.checkAutorisation();
|
||||
|
||||
var fields = [// { dbs: "PRS_WERKPLEK_MODULE", typ: "varchar", frm: "" },
|
||||
{ dbs: "PRS_WERKPLEK_VOLGNR", typ: "number", frm: "wp_volgnr" },
|
||||
{ dbs: "PRS_WERKPLEK_OMSCHRIJVING", typ: "varchar", frm: "wp_oms" },
|
||||
{ dbs: "PRS_WERKPLEK_VASTOPP", typ: "number", frm: "wp_vstopp_v" },
|
||||
{ dbs: "PRS_WERKPLEK_OPP", typ: "number", frm: "wp_opp" },
|
||||
{ dbs: "PRS_WERKPLEK_VIRTUEEL", typ: "number", val: (virtueel? 1 : 0) },
|
||||
{ dbs: "PRS_WERKPLEK_TYPE", typ: "number", val: wp_type },
|
||||
{ dbs: "PRS_WERKPLEK_TYPE", typ: "number", frm: "wp_type" },
|
||||
{ dbs: "PRS_ALG_RUIMTE_KEY", typ: "key", frm: "ruimtekey" } /*,
|
||||
{ dbs: "PRS_WERKPLEK_GETEKEND", typ: "date", frm: "" },
|
||||
{ dbs: "PRS_WERKPLEK_DWGX", typ: "number", frm: "" },
|
||||
@@ -46,22 +39,7 @@ if (wp_key > 0)
|
||||
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
warning = err.friendlyMsg;
|
||||
|
||||
// Is de ruimte aangepast?
|
||||
var room_key_new = getFParamInt("ruimtekey");
|
||||
var sql = "SELECT prs_alg_ruimte_key"
|
||||
+ " FROM prs_werkplek"
|
||||
+ " WHERE prs_werkplek_key = " + wp_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var room_key_old = oRs("prs_alg_ruimte_key").Value;
|
||||
oRs.Close();
|
||||
|
||||
if (room_key_old != room_key_new)
|
||||
{ // Werkplek verplaatsen
|
||||
wp_key = WPMove_PRS_WERKPLEK(wp_key, room_key_new);
|
||||
}
|
||||
|
||||
warning = err.friendlyMsg;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -80,13 +58,11 @@ else
|
||||
<head>
|
||||
<% FCLTHeader.Generate() %>
|
||||
<script>
|
||||
$(function ()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { wp_key: <%=wp_key%>,
|
||||
warning: "<%=safe.jsstring(warning)%>",
|
||||
keepForm: <%=warning? "true" : "false"%>
|
||||
});
|
||||
});
|
||||
$(document).ready(function () {
|
||||
FcltMgr.closeDetail(window, { wp_key: <%=wp_key%>,
|
||||
warning: "<%=safe.jsstring(warning)%>",
|
||||
keepForm: <%=warning? "true" : "false"%>
|
||||
}); } );
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
@@ -20,18 +20,10 @@
|
||||
<%
|
||||
function generateFlexKenmerkBlock(params)
|
||||
{
|
||||
if (!params.fnpre) // Mobile geeft die zelf mee
|
||||
if (!params.fnpre) // Mobile geeft die zelf eme
|
||||
{
|
||||
if (params.advanced) // Simpel houden
|
||||
{
|
||||
params.fnpre = function () { Response.Write('<table id="flextable" cellpadding="0" cellspacing="0">'); };
|
||||
params.fnpost = function () { Response.Write('</table>'); };
|
||||
}
|
||||
else
|
||||
{
|
||||
params.fnpre = function () { BLOCK_START("algFlex"+(S("alg_flexcolumns")!=1?"2":""), L("lcl_alg_flexblok")); }
|
||||
params.fnpost = BLOCK_END;
|
||||
}
|
||||
params.fnpre = function () { BLOCK_START("algFlex"+(S("alg_flexcolumns")!=1?"2":""), L("lcl_alg_flexblok")); }
|
||||
params.fnpost = BLOCK_END;
|
||||
}
|
||||
var onrgoed_key = params.onrgoed_key; // Onroerendgoed key
|
||||
var onrgoed_niveau = params.onrgoed_niveau; // Onroerendgoed niveau
|
||||
@@ -49,15 +41,19 @@ function generateFlexKenmerkBlock(params)
|
||||
return true;
|
||||
}
|
||||
|
||||
function isInvisible(volgnummer, ktype)
|
||||
function isInvisible(volgnummer)
|
||||
{
|
||||
if (params.multi)
|
||||
return (ktype == 'M' || ktype == 'F' || ktype == 'E'); // onzichtbaar bij multi
|
||||
if (volgnummer<100 && !params.this_alg.readman )
|
||||
return true; // Invisible
|
||||
|
||||
if (volgnummer>100 && !params.this_alg.readuse)
|
||||
return true; // Invisible
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
var sql = "SELECT k.alg_kenmerk_key kenmerk_key, "
|
||||
+ " 1 kenmerk_key_count, "
|
||||
+ " NULL srtkenmerk_key, "
|
||||
+ lcl.xsql('k.alg_kenmerk_omschrijving', 'k.alg_kenmerk_key') +" kenmerk_omschrijving, "
|
||||
+ " k.alg_kenmerk_kenmerktype kenmerk_kenmerktype, "
|
||||
+ " k.fac_kenmerkdomein_key kenmerkdomein_key, "
|
||||
@@ -65,26 +61,20 @@ function generateFlexKenmerkBlock(params)
|
||||
+ " k.alg_kenmerk_dec kenmerk_dec, "
|
||||
+ " k.alg_kenmerk_nmin kenmerk_nmin, "
|
||||
+ " k.alg_kenmerk_nmax kenmerk_nmax, "
|
||||
+ " k.alg_kenmerk_systeem kenmerk_systeem, "
|
||||
+ (onrgoed_key > 0
|
||||
? " (SELECT MAX(CASE WHEN k.alg_kenmerk_kenmerktype = 'M'"
|
||||
+ " THEN NULL"
|
||||
+ " ELSE v.alg_onrgoedkenmerk_waarde"
|
||||
+ " END)"
|
||||
? " (SELECT v.alg_onrgoedkenmerk_waarde "
|
||||
+ " FROM alg_onrgoedkenmerk v "
|
||||
+ " WHERE v.alg_onrgoed_key = " + onrgoed_key
|
||||
+ " AND v.alg_onrgoed_niveau = " + safe.quoted_sql(onrgoed_niveau)
|
||||
+ " AND v.alg_kenmerk_key = k.alg_kenmerk_key"
|
||||
+ " AND v.alg_onrgoedkenmerk_verwijder IS NULL)"
|
||||
+ " WHERE v.alg_onrgoed_key = " + onrgoed_key
|
||||
+ " AND v.alg_onrgoed_niveau = " + safe.quoted_sql(onrgoed_niveau)
|
||||
+ " AND v.alg_kenmerk_key = k.alg_kenmerk_key"
|
||||
+ " AND v.alg_onrgoedkenmerk_verwijder IS NULL)"
|
||||
: lcl.xsql('k.alg_kenmerk_default', 'k.alg_kenmerk_key')
|
||||
) + " kenmerk_waarde, "
|
||||
+ " k.alg_kenmerk_volgnr kenmerk_volgnr, "
|
||||
+ lcl.xsql('k.alg_kenmerk_dimensie', 'k.alg_kenmerk_key') +" kenmerk_dimensie, "
|
||||
+ lcl.xsql('k.alg_kenmerk_hint', 'k.alg_kenmerk_key') +" kenmerk_hint, "
|
||||
+ lcl.xsql('k.alg_kenmerk_default', 'k.alg_kenmerk_key') +" kenmerk_default, "
|
||||
+ " k.alg_kenmerk_show_expr kenmerk_show_expr, "
|
||||
+ " k.alg_kenmerk_verplicht kenmerk_verplicht, "
|
||||
+ " k.alg_kenmerk_groep kenmerk_groep, "
|
||||
+ " NULL otherpath, "
|
||||
+ " k.alg_kenmerk_toonbaar kenmerk_toonbaar,"
|
||||
+ " k.alg_kenmerk_uniek kenmerk_uniek,"
|
||||
@@ -92,8 +82,6 @@ function generateFlexKenmerkBlock(params)
|
||||
+ " FROM alg_kenmerk k "
|
||||
+ " WHERE k.alg_kenmerk_niveau = " + safe.quoted_sql(onrgoed_niveau)
|
||||
+ " AND k.alg_kenmerk_verwijder IS NULL "
|
||||
+ (!params.this_alg.readman? " AND alg_kenmerk_volgnr >= 100":"")
|
||||
+ (!params.this_alg.readuse? " AND alg_kenmerk_volgnr <= 100":"")
|
||||
+ "ORDER BY k.alg_kenmerk_volgnr, "
|
||||
+ lcl.xsql('k.alg_kenmerk_omschrijving', 'k.alg_kenmerk_key');
|
||||
|
||||
@@ -105,15 +93,13 @@ function generateFlexKenmerkBlock(params)
|
||||
{ flexcolumns: (!advanced ? flexcolumns : 1), // advanced is een popup. Dan passen twee kolommen slecht
|
||||
kenmerk_search: advanced,
|
||||
fnIsReadonly: isReadonly,
|
||||
fnIsInvisible: isInvisible,
|
||||
hideVervallen: onrgoed_key<0,
|
||||
reado: reado,
|
||||
fnpre: params.fnpre,
|
||||
fnpost: params.fnpost,
|
||||
fnIsInvisible: isInvisible,
|
||||
multiMode: params.multi,
|
||||
mobile: params.mobile,
|
||||
parentKey: onrgoed_key,
|
||||
kenmerk_module: onrgoed_niveau }
|
||||
parentKey: onrgoed_key } //?????
|
||||
);
|
||||
}
|
||||
%>
|
||||
|
||||
|
||||
@@ -20,25 +20,21 @@
|
||||
FCLTHeader.Requires({plugins:["suggest","jQuery"], js: ["jquery-ui.js"]})
|
||||
|
||||
var bld_key = getQParamInt("key", -1);
|
||||
var cnt_full = getQParamInt("cnt_full", 0) == 1;
|
||||
|
||||
if (bld_key > 0)
|
||||
{
|
||||
sql = " select alg_gebouw_code, alg_locatie_key "
|
||||
sql = " select alg_gebouw_code "
|
||||
+ " FROM alg_gebouw "
|
||||
+ " WHERE alg_gebouw_key = " + bld_key;
|
||||
|
||||
oRs = Oracle.Execute(sql);
|
||||
|
||||
var bld_name = " " + oRs("alg_gebouw_code").value;
|
||||
var loc_key = oRs("alg_locatie_key").value;
|
||||
}
|
||||
else
|
||||
{
|
||||
var bld_name = "";
|
||||
var loc_key = -1;
|
||||
var bld_name = ""
|
||||
}
|
||||
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -70,7 +66,7 @@ else
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<body id="editbody">
|
||||
<% if (bld_key == -1)
|
||||
var page="alg_edit_gebouw.asp"; // Maak een nieuw
|
||||
else
|
||||
@@ -80,23 +76,6 @@ else
|
||||
IFRAMER("algFrame", page, { title: L("lcl_alg_gebouw_frame"),
|
||||
initHeight: "450px",
|
||||
FcltClose: "algClose" } );
|
||||
|
||||
if (bld_key > -1)
|
||||
{
|
||||
var authparamsCNTUSE = user.checkAutorisation("WEB_CNTUSE", true);
|
||||
var authparamsCNTMAN = user.checkAutorisation("WEB_CNTMAN", true);
|
||||
var curole = "bo";
|
||||
|
||||
if (!authparamsCNTMAN && authparamsCNTUSE)
|
||||
curole = "fe";
|
||||
|
||||
if (authparamsCNTMAN || authparamsCNTUSE)
|
||||
{
|
||||
var page1="../cnt/cnt_search_list.asp?embedded=1&tiny=1&collapsed=1&urole=" + curole + "&ffutu=1&fact=1&frap=1&fopz=1&sact=1&bld_key=" + bld_key
|
||||
page1 += (cnt_full ? "&cnt_full=1" : "");
|
||||
IFRAMER("cntFrame", page1, { initHide: true } );
|
||||
}
|
||||
}
|
||||
%>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
Note:
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../Shared/disCxprs3d.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
||||
<!-- #include file="../Shared/getkenmerksql.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
@@ -27,63 +29,6 @@ function fnrowData(oRs)
|
||||
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
var recent = new Date();
|
||||
function fnrowClass(oRs)
|
||||
{
|
||||
var lclass = "";
|
||||
// Tracking: hoe lang geleden voor het laatst gewijzigd?
|
||||
if (oRs.Fields("recentdatum").Value != null)
|
||||
{
|
||||
var ltrackdate1 = new Date();
|
||||
var ltrackdate10 = new Date();
|
||||
var ltrackdate100 = new Date();
|
||||
var alg_onrgoed_recent = S("alg_onrgoed_recent");
|
||||
ltrackdate1.setMinutes(recent.getMinutes() - alg_onrgoed_recent);
|
||||
ltrackdate10.setMinutes(recent.getMinutes() - alg_onrgoed_recent * 12);
|
||||
ltrackdate100.setMinutes(recent.getMinutes() - alg_onrgoed_recent*12*2);
|
||||
|
||||
var fac_recent = new Date(oRs.Fields("recentdatum").Value);
|
||||
if (fac_recent > ltrackdate1)
|
||||
{
|
||||
lclass += " updated";
|
||||
}
|
||||
else if (fac_recent > ltrackdate10)
|
||||
{
|
||||
lclass += " updated10";
|
||||
}
|
||||
else if (fac_recent > ltrackdate100)
|
||||
{
|
||||
lclass += " updated100";
|
||||
}
|
||||
}
|
||||
return lclass;
|
||||
}
|
||||
|
||||
var all_cnt = getQParamInt("cnt_full", 0);
|
||||
|
||||
// Fast check to see if any building responsibles have been set
|
||||
// If not, we can suppress the column
|
||||
sql = "SELECT 1 FROM alg_gebouw"
|
||||
+ " WHERE prs_perslid_key_verantw IS NOT NULL"
|
||||
+ " AND alg_gebouw_verwijder IS NULL AND ROWNUM = 1";
|
||||
oRs = Oracle.Execute(sql);
|
||||
var anybldresp = !oRs.eof;
|
||||
oRs.close()
|
||||
|
||||
// We gaan er vanuit dat verwantw2 niet is gezet als nergens verantw1 wordt getoond.
|
||||
// Als dat wel zo is, jammer maar dan tonen we die niet in de lijst.
|
||||
var anybldresp2 = false;
|
||||
if (anybldresp)
|
||||
{
|
||||
sql = "SELECT 1 FROM alg_gebouw"
|
||||
+ " WHERE prs_perslid_key_verantw2 IS NOT NULL"
|
||||
+ " AND alg_gebouw_verwijder IS NULL AND ROWNUM = 1";
|
||||
oRs = Oracle.Execute(sql);
|
||||
anybldresp2 = !oRs.eof;
|
||||
oRs.close()
|
||||
}
|
||||
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -91,65 +36,33 @@ var all_cnt = getQParamInt("cnt_full", 0);
|
||||
|
||||
function gotoDetails(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var url = "appl/alg/alg_verdieping_search.asp?gebouw_key=" + algData.detail_key + "&autosearch=" + autosearch + "&chkgeb=1";
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_verdieping_search.asp?gebouw_key=" + algData.detail_key + "&autosearch=" + autosearch;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_floor")%>");
|
||||
}
|
||||
|
||||
function gotoParent(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var url = "appl/alg/alg_locatie_search.asp?locatie_key=" + algData.parent_key + "&autosearch=" + autosearch;
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_locatie_search.asp?locatie_key=" + algData.parent_key + "&autosearch=" + autosearch;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_location")%>");
|
||||
}
|
||||
|
||||
function gebouwEdit(row)
|
||||
function gebouwEdit(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var v_all_cnt = <%=all_cnt%>;
|
||||
var url = "appl/alg/alg_gebouw.asp?mode=viewChange&key=" + algData.key + (v_all_cnt == 1 ? "&cnt_full=1" : "");
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_building")%>" + ' ' + algData.oms);
|
||||
}
|
||||
|
||||
function aggregateCNDscores(rowArray, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("cnd_aggregate_confirm"), { autoconfirm: isMulti }, function() {
|
||||
var locKeyString = getKeyString(rowArray);
|
||||
var data = { key: locKeyString,
|
||||
level: "G"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_cnd_aggregate.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
}
|
||||
|
||||
function doChange(rowArray, isMulti)
|
||||
{
|
||||
var bldKeyString = getKeyString(rowArray);
|
||||
var subject = L("lcl_alg_multi_edit");
|
||||
var url = "../alg/alg_edit_gebouw_multi.asp?bld_keys=" + bldKeyString;
|
||||
FcltMgr.openModalDetail(url, subject, {callback: FcltCallbackRefresh});
|
||||
}
|
||||
|
||||
function doDelete(rowArray, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_gebouw"), { autoconfirm: isMulti }, function() {
|
||||
var bldKeyString = getKeyString(rowArray);
|
||||
var data = { key: bldKeyString,
|
||||
level: "G"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
}
|
||||
|
||||
function toObjMan(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var url = "appl/ins/ins_search.asp?urole=bo&gebouw_key=" + algData.key;
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_gebouw.asp?mode=viewUpdate&key=" + algData.key;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_building")%>" + ' ' + algData.oms);
|
||||
}
|
||||
|
||||
function doDelete(rowArray, isMulti)
|
||||
{
|
||||
var bldKeyString = getKeyString(rowArray);
|
||||
if (isMulti || confirm(L("lcl_alg_del_txt_gebouw")))
|
||||
$.post("alg_delete.asp",
|
||||
{ key: bldKeyString,
|
||||
level: "G" },
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
</script>
|
||||
<%
|
||||
|
||||
@@ -166,45 +79,19 @@ function gebouw_list(pautfunction, params)
|
||||
|
||||
var noref = params.noref;
|
||||
|
||||
var ins_score_enabled = S("ins_score_enabled") == 1;
|
||||
var reg_key = params.reg_key;
|
||||
var dis_key = params.dis_key;
|
||||
var loc_key = params.loc_key;
|
||||
var bld_key = params.bld_key;
|
||||
var srtgebouw_key = params.srtgebouw_key;
|
||||
var verantw_key = params.verantw_key;
|
||||
var expalgincl = params.expalgincl;
|
||||
var fitness_score1_from = params.fitness_score1_from;
|
||||
var fitness_score1_through = params.fitness_score1_through;
|
||||
var bld_func = params.bld_func;
|
||||
|
||||
var autparamsINSUSE = user.checkAutorisation("WEB_INSUSE", true);
|
||||
var autparamsINSMAN = user.checkAutorisation("WEB_INSMAN", true);
|
||||
var readuse = autparamsINSUSE && autparamsINSUSE.PRSreadlevel < 9 && autparamsINSUSE.ALGreadlevel < 9; // Wijzigen Afgeronde gegevens.
|
||||
var readman = autparamsINSMAN && autparamsINSMAN.PRSreadlevel < 9 && autparamsINSMAN.ALGreadlevel < 9; // Wijzigen Afgeronde gegevens.
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
var eDelete = false;
|
||||
var eChange = false;
|
||||
var eObjMan = false;
|
||||
if (alg.canWriteGebouw(oRs("alg_gebouw_key").value, authparams.mALGwritelevel))
|
||||
{
|
||||
eDelete = true;
|
||||
eChange = true;
|
||||
}
|
||||
// Heb ik rechten om het objectenbeheer overzicht te zien?
|
||||
if (readuse || readman)
|
||||
eObjMan = true;
|
||||
return ({eDelete: eDelete, eChange: eChange, eObjMan: eObjMan});
|
||||
}
|
||||
|
||||
function fnrowFlexParams(oRs)
|
||||
{
|
||||
var bld_key = oRs("alg_gebouw_key").Value;
|
||||
var this_alg = alg.func_enabled(bld_key, "G");
|
||||
|
||||
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
|
||||
return flexParams;
|
||||
}
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
var eDelete = false;
|
||||
if (alg.canWriteGebouw(oRs("alg_gebouw_key").value, authparams.mALGwritelevel))
|
||||
eDelete = true;
|
||||
return ({eDelete: eDelete})
|
||||
}
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -213,96 +100,72 @@ function gebouw_list(pautfunction, params)
|
||||
</head>
|
||||
<body id="listbody">
|
||||
<%
|
||||
var sqln = "SELECT g.alg_gebouw_key"
|
||||
+ " , g.alg_locatie_key"
|
||||
+ " , g.alg_locatie_key"
|
||||
+ " , g.alg_srtgebouw_key"
|
||||
+ " , l.alg_locatie_omschrijving"
|
||||
+ " , " + lcl.xsqla('s.alg_srtgebouw_omschrijving', 's.alg_srtgebouw_key')
|
||||
+ " , g.alg_gebouw_code"
|
||||
+ " , g.alg_gebouw_naam"
|
||||
+ " , g.alg_gebouw_opmerking"
|
||||
+ " , g.alg_gebouw_bruto_vloeropp"
|
||||
+ " , g.alg_gebouw_omtrek"
|
||||
+ " , g.alg_gebouw_inhoud"
|
||||
+ " , g.alg_gebouw_x"
|
||||
+ " , g.alg_gebouw_y"
|
||||
+ " , g.alg_gebouw_vervaldatum"
|
||||
+ " , g.alg_gebouw_mjb_score1"
|
||||
+ " , (SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = prs_perslid_key_verantw) perslid_resp"
|
||||
+ " , (SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = prs_perslid_key_verantw2) perslid_resp2"
|
||||
+ " , g.alg_gebouw_email"
|
||||
+ " , (SELECT mld_adres_naam FROM mld_adres ma WHERE ma.mld_adres_key = g.mld_adres_key) delivery_adr"
|
||||
+ " , (SELECT MAX(t.fac_tracking_datum)"
|
||||
+ " FROM fac_tracking t"
|
||||
+ " , fac_srtnotificatie sn"
|
||||
+ " WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key"
|
||||
+ " AND t.fac_tracking_refkey = g.alg_gebouw_key"
|
||||
+ " AND sn.fac_srtnotificatie_xmlnode = 'gebouw'"
|
||||
+ " ) recentdatum"
|
||||
+ " FROM alg_gebouw g"
|
||||
+ " , alg_locatie l"
|
||||
+ " , alg_srtgebouw s"
|
||||
+ " WHERE l.alg_locatie_key(+) = g.alg_locatie_key"
|
||||
+ " AND s.alg_srtgebouw_key(+) = g.alg_srtgebouw_key"
|
||||
+ " AND g.alg_gebouw_verwijder IS NULL";
|
||||
var sqln = "SELECT g.alg_gebouw_key, "
|
||||
+ " g.alg_locatie_key, "
|
||||
+ " g.alg_locatie_key, "
|
||||
+ " g.alg_srtgebouw_key, "
|
||||
+ " l.alg_locatie_omschrijving, "
|
||||
+ lcl.xsqla('s.alg_srtgebouw_omschrijving', 's.alg_srtgebouw_key')+", "
|
||||
+ " g.alg_gebouw_code, "
|
||||
+ " g.alg_gebouw_naam, "
|
||||
+ " g.alg_gebouw_opmerking, "
|
||||
+ " g.alg_gebouw_bruto_vloeropp, "
|
||||
+ " g.alg_gebouw_omtrek, "
|
||||
+ " g.alg_gebouw_inhoud, "
|
||||
+ " g.alg_gebouw_x, "
|
||||
+ " g.alg_gebouw_y "
|
||||
+ " FROM alg_v_aanweziggebouw g, "
|
||||
+ " alg_locatie l, "
|
||||
+ " alg_srtgebouw s "
|
||||
+ " WHERE l.alg_locatie_key(+) = g.alg_locatie_key "
|
||||
+ " AND s.alg_srtgebouw_key(+) = g.alg_srtgebouw_key "
|
||||
+ " AND g.alg_gebouw_verwijder IS NULL ";
|
||||
|
||||
if ( authparams.ALGreadlevel > -1 )
|
||||
{ // Er is een scope-beperking van kracht
|
||||
sqln += " AND g.alg_gebouw_key IN (SELECT alg_gebouw_key FROM fac_v_my_buildings "
|
||||
+ " WHERE prs_perslid_key = " + user_key
|
||||
+ " AND niveau = " + authparams.ALGreadlevel + ")";
|
||||
}
|
||||
{ // Er is een scope-beperking van kracht
|
||||
sqln += " AND g.alg_gebouw_key IN "
|
||||
+ "(SELECT alg_gebouw_key FROM fac_v_my_buildings "
|
||||
+ "WHERE prs_perslid_key="+user_key
|
||||
+ " AND niveau=" + authparams.ALGreadlevel + ")";
|
||||
}
|
||||
|
||||
sqln += getKenmerkSql("ALG", "g.alg_gebouw_key");
|
||||
sqln += getKenmerkSql("ALG", "g.alg_gebouw_key");
|
||||
|
||||
if (bld_key)
|
||||
if (bld_key)
|
||||
{
|
||||
sqln += " AND g.alg_gebouw_key = " + bld_key;
|
||||
else if (loc_key)
|
||||
}
|
||||
|
||||
else if (loc_key)
|
||||
{
|
||||
sqln += " AND g.alg_locatie_key = " + loc_key;
|
||||
else if (dis_key)
|
||||
}
|
||||
else if (dis_key)
|
||||
{
|
||||
sqln += " AND l.alg_district_key = " + dis_key;
|
||||
else if (reg_key)
|
||||
}
|
||||
else if (reg_key)
|
||||
{
|
||||
sqln += " AND l.alg_district_key IN (SELECT alg_district_key FROM alg_district WHERE alg_regio_key = " + reg_key+")";
|
||||
}
|
||||
|
||||
if (params.bld_code)
|
||||
sqln += " AND UPPER(g.alg_gebouw_code) LIKE " + safe.quoted_sql_wild(params.bld_code + "%");
|
||||
if (params.bld_name)
|
||||
sqln += " AND UPPER(g.alg_gebouw_naam) LIKE " + safe.quoted_sql_wild(params.bld_name + "%");
|
||||
if (params.bld_email)
|
||||
sqln += " AND UPPER(g.alg_gebouw_email) LIKE " + safe.quoted_sql_wild("%" + params.bld_email + "%");
|
||||
if (params.bld_groep)
|
||||
sqln += " AND UPPER(g.alg_gebouw_groep) LIKE " + safe.quoted_sql_wild("%" + params.bld_groep + "%");
|
||||
if (bld_func)
|
||||
{
|
||||
sqln += " AND g.alg_srtgebouw_key = " + bld_func;
|
||||
}
|
||||
|
||||
if (srtgebouw_key)
|
||||
sqln += " AND g.alg_srtgebouw_key = " + srtgebouw_key;
|
||||
|
||||
if (verantw_key)
|
||||
sqln += " AND (g.prs_perslid_key_verantw = " + verantw_key + " OR g.prs_perslid_key_verantw2 = " + verantw_key + ")";
|
||||
|
||||
if (!expalgincl)
|
||||
sqln += " AND (g.alg_gebouw_vervaldatum IS NULL OR g.alg_gebouw_vervaldatum > TRUNC(SYSDATE)) ";
|
||||
|
||||
if (ins_score_enabled)
|
||||
{ // Conditiescore.
|
||||
// Niet gemeten objecten doen wel mee in dit filter. Deze objecten worden dus niet getoond als er een waarde is ingevuld.
|
||||
if (fitness_score1_from > 0)
|
||||
sqln += " AND alg_gebouw_mjb_score1 >= " + fitness_score1_from;
|
||||
if (fitness_score1_through > 0)
|
||||
sqln += " AND alg_gebouw_mjb_score1 <= " + fitness_score1_through;
|
||||
}
|
||||
|
||||
sqln += " ORDER BY l.alg_locatie_upper ASC, "
|
||||
sqln += " ORDER BY l.alg_locatie_upper ASC, "
|
||||
+ " g.alg_gebouw_upper ASC ";
|
||||
|
||||
var addurl = "appl/alg/alg_gebouw.asp";
|
||||
|
||||
if (canAdd)
|
||||
{
|
||||
addButton = [{ icon: "plus.png", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + L("lcl_add") + "')" }]
|
||||
}
|
||||
if (canAdd)
|
||||
{
|
||||
addButton = [{ icon: "plus.png", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + L("lcl_add") + "')" }]
|
||||
}
|
||||
|
||||
// addurl += buildTransitParam(["loc_key", "bld_key", "flo_key", "room_key"], params) // TODO: welke allemaal?
|
||||
// addurl += buildTransitParam(["loc_key", "bld_key", "flo_key", "room_key"], params) // TODO: welke allemaal?
|
||||
|
||||
var rst = new ResultsetTable({ sql:sqln,
|
||||
keyColumn: "alg_gebouw_key",
|
||||
@@ -310,11 +173,9 @@ function gebouw_list(pautfunction, params)
|
||||
title: L("lcl_menu_alg_gebouw"),
|
||||
showAll: showall,
|
||||
rowData: fnrowData,
|
||||
rowClass: fnrowClass,
|
||||
rowActionEnabler: fnrowActionEnabler,
|
||||
flexModule: "ALG",
|
||||
flexId: "alg_gebouw_key",
|
||||
flexParams: fnrowFlexParams,
|
||||
filterParams: params,
|
||||
outputmode: outputmode,
|
||||
buttons: addButton
|
||||
@@ -322,40 +183,29 @@ function gebouw_list(pautfunction, params)
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_descr"), content: "alg_locatie_omschrijving"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_code"), content: "alg_gebouw_code"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_name"), content: "alg_gebouw_naam" }));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_name"), content: "alg_gebouw_naam", hasActions: true}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_srtgebouw"), content: "alg_srtgebouw_omschrijving"}));
|
||||
if (anybldresp)
|
||||
{
|
||||
rst.addColumn(new Column({caption: L("lcl_alg_verantw"), content: "perslid_resp"}));
|
||||
if (anybldresp2)
|
||||
rst.addColumn(new Column({caption: L("lcl_alg_verantw2"), content: "perslid_resp2", combine: true}));
|
||||
}
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_bruto_vloeropp"), content: "alg_gebouw_bruto_vloeropp", datatype: "float", decimals: 2}));
|
||||
rst.addColumn(new Column({caption: L("lcl_alg_vervaldatum"), content: "alg_gebouw_vervaldatum", datatype: "date"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_bruto_vloeropp"), content: "alg_gebouw_bruto_vloeropp"}));
|
||||
|
||||
|
||||
if (outputmode != 0)
|
||||
{
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_opmerk"), content: "alg_gebouw_opmerking"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_alg_gebouw_email"), content: "alg_gebouw_email"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_omtrek"), content: "alg_gebouw_omtrek"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_inhoud"), content: "alg_gebouw_inhoud"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_delivery_address"), content: "delivery_adr"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_geoxcoord"), content: "alg_gebouw_x"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_geoycoord"), content: "alg_gebouw_y"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_opmerk"), content: "alg_gebouw_opmerking"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_omtrek"), content: "alg_gebouw_omtrek"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_inhoud"), content: "alg_gebouw_inhoud"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_geoxcoord"), content: "alg_gebouw_x"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_geoycoord"), content: "alg_gebouw_y"}));
|
||||
}
|
||||
if (ins_score_enabled)
|
||||
rst.addColumn(new Column({caption: L("lcl_alg_gebouw_mjb_score1"), content: "alg_gebouw_mjb_score1", datatype: "number"}));
|
||||
|
||||
rst.addAction({ action: "gebouwEdit", caption: L("lcl_edit"), isDefault: true});
|
||||
if (S("cnd_gebreken_srtdisc_key") > -1)
|
||||
rst.addAction({ action: "aggregateCNDscores", caption: L("cnd_aggr_conditiescores"), multi: true, multiOnce: true});
|
||||
rst.addAction({ action: "doChange", caption: L("lcl_change"), enabler: "eChange", single:!noref, multi: true, multiOnce: true});
|
||||
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", single:!noref, multi: true, multiOnce: true});
|
||||
rst.addAction({ action: "toObjMan", caption: L("lcl_ins_object_management"), enabler: "eObjMan"});
|
||||
if (!noref) {
|
||||
rst.addAction({ action: "gotoDetails", caption: L("lcl_goto_verdieping_list")});
|
||||
rst.addAction({ action: "gotoParent", caption: L("lcl_goto_locatie_list")});
|
||||
}
|
||||
var cnt = rst.processResultset();
|
||||
%>
|
||||
</body>
|
||||
</html>
|
||||
<%
|
||||
} %>
|
||||
<%}%>
|
||||
|
||||
|
||||
@@ -7,23 +7,17 @@
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/plaatsselector.inc" -->
|
||||
<!-- #include file="../Shared/persoonselector.inc" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"] });
|
||||
|
||||
var ins_score_enabled = S("ins_score_enabled") == 1;
|
||||
var locatie_key = getQParamInt("locatie_key", -1); // Locatie
|
||||
var gebouw_key = getQParamInt("gebouw_key", -1); // Gebouw
|
||||
var srtgebouw_key = getQParamInt("gebouw_func", -1); // Gebouwfunctie
|
||||
var verantw_key = getQParamInt("verantw", -1); // Gebouw verantwoordelijke
|
||||
var verantw_key2 = getQParamInt("verantw2", -1); // Gebouw verantwoordelijke 2
|
||||
var gebouw_func = getQParamInt("gebouw_func", -1); // Gebouwfunctie
|
||||
var autosearch = getQParamInt("autosearch", 0) == 1;
|
||||
var cnt_full = getQParamInt("cnt_full", 0) == 1;
|
||||
var authparams = alg.checkAutorisation();
|
||||
var this_alg = alg.func_enabled(gebouw_key);
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -36,142 +30,65 @@ var this_alg = alg.func_enabled(gebouw_key);
|
||||
doSubmitWithKenmerken();
|
||||
}
|
||||
|
||||
function myModal(init)
|
||||
function myModal()
|
||||
{
|
||||
var lvl = "G";
|
||||
var key = 0;
|
||||
var bld_key = "";
|
||||
var url = "load_kenmerk.asp?disc=" + "&urole=bo" + "&advanced=1" + "&onrgoed_key=" + bld_key + "&onrgoed_niveau=" + lvl;
|
||||
var titel = "<%=L("lcl_properties")%>";
|
||||
showKenmerkModal(url, titel, init)
|
||||
showKenmerkModal(url, titel)
|
||||
}
|
||||
|
||||
$(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
|
||||
$(document).ready(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
|
||||
</script>
|
||||
</head>
|
||||
<body id="searchbody">
|
||||
<div id="search">
|
||||
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
|
||||
<form name="u2" target="workFrame" action="alg_gebouw_search_list.asp" method="get">
|
||||
<% if (cnt_full) { %>
|
||||
<input type="hidden" id="cnt_full" name="cnt_full" value="1">
|
||||
<% } %>
|
||||
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
|
||||
<tr>
|
||||
<td class="searchkolom1">
|
||||
<table><!-- x rijen, 2 kolommen: label + veld -->
|
||||
<tr>
|
||||
<td class="searchkolom1">
|
||||
<table><!-- x rijen, 2 kolommen: label + veld -->
|
||||
|
||||
<% <!-- Locatie, gebouw en verdieping -->
|
||||
FCLTplaatsselector(authparams.ALGreadlevel, {
|
||||
locatiekey: locatie_key,
|
||||
gebouwkey: gebouw_key,
|
||||
startlevel: 2, // locatie
|
||||
eindlevel: 2, // locatie
|
||||
whenEmpty: L("lcl_search_generic")
|
||||
});
|
||||
<% <!-- Locatie, gebouw en verdieping -->
|
||||
FCLTplaatsselector(authparams.ALGreadlevel, {
|
||||
locatiekey: locatie_key,
|
||||
gebouwkey: gebouw_key,
|
||||
startlevel: 2, // locatie
|
||||
eindlevel: 3, // gebouw
|
||||
whenEmpty: L("lcl_search_generic")
|
||||
});
|
||||
%>
|
||||
<tr class="primsearch">
|
||||
<td class="label"><label><%=L("lcl_estate_gebouw_man_code")%>:</label></td>
|
||||
<td><input type="text" class="wildcard" id="bld_code" name="bld_code" value=""></td>
|
||||
</tr>
|
||||
<tr class="primsearch">
|
||||
<td class="label"><label><%=L("lcl_estate_gebouw_man_name")%>:</label></td>
|
||||
<td><input type="text" class="wildcard" id="bld_name" name="bld_name" value=""></td>
|
||||
</tr>
|
||||
<!-- Vervallen objecten -->
|
||||
<tr class="primsearch">
|
||||
<td></td>
|
||||
<td align=left>
|
||||
<input type="checkbox" class="fldexpalgincl" name="expAlgIncl" id="expAlgIncl" value="1" >
|
||||
<label for="expAlgIncl"><%=L("lcl_alg_gebouw_vervallen_incl")%></label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td><!-- end column 1 -->
|
||||
</table>
|
||||
</td><!-- end column 1 -->
|
||||
|
||||
<td class="searchkolom2">
|
||||
<table><!-- x rijen, 2 kolommen: label + veld -->
|
||||
<!-- Zoektekst -->
|
||||
<% sql = "SELECT alg_srtgebouw_key"
|
||||
+ ", "+lcl.xsqla('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')
|
||||
+ " FROM alg_srtgebouw"
|
||||
+ " WHERE alg_srtgebouw_verwijder IS NULL"
|
||||
+ " ORDER BY UPPER("+lcl.xsql('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')+")";
|
||||
<td class="searchkolom2">
|
||||
<table><!-- x rijen, 2 kolommen: label + veld -->
|
||||
<% // <!-- Zoektekst -->
|
||||
sql = "SELECT alg_srtgebouw_key"
|
||||
+ ", "+lcl.xsqla('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')
|
||||
+ " FROM alg_srtgebouw"
|
||||
+ " WHERE alg_srtgebouw_verwijder IS NULL"
|
||||
+ " ORDER BY UPPER("+lcl.xsql('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')+")";
|
||||
FCLTselector("srt",
|
||||
sql,
|
||||
{ initKey: srtgebouw_key,
|
||||
{ initKey: gebouw_func,
|
||||
label: L("lcl_estate_gebouw_srtgebouw"),
|
||||
trclass: "primsearch",
|
||||
emptyOption: ""
|
||||
});
|
||||
%> <!-- gebouw groeperingskenmerk -->
|
||||
<tr class="primsearch">
|
||||
<td class="label"><label><%=L("lcl_estate_gebouw_groepkenmerk")%>:</label></td>
|
||||
<td><input type="text" class="wildcard" id="bld_groep" name="bld_groep" value=""></td>
|
||||
</tr>
|
||||
|
||||
<!-- Gebouw verantwoordelijke -->
|
||||
<% // Dit veld is alleen zichtbaar indien er minimaal <20><>n gebouwverantwoordelijke geconfigureerd is (suppressNoValues).
|
||||
FCLTpersoonselector("verantw",
|
||||
"sgVerantw",
|
||||
{ perslidKey: verantw_key,
|
||||
label: L("lcl_alg_bld_verantw"),
|
||||
filtercode: "GV", // Gebouw Verantwoordelijke
|
||||
trclass: "primsearch",
|
||||
suppressNoValues: true,
|
||||
whenEmpty: L("lcl_search_generic") // want filter
|
||||
});
|
||||
%>
|
||||
<tr class="primsearch">
|
||||
<td class="label"><label><%=L("lcl_alg_gebouw_email")%>:</label></td>
|
||||
<td><input type="text" class="wildcard" id="bld_email" name="bld_email" value=""></td>
|
||||
</tr>
|
||||
<%
|
||||
if (ins_score_enabled)
|
||||
{ // Conditiescore
|
||||
%> <tr class="primsearch fldfitness_score" id="fitness_score">
|
||||
<td>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td class="label">
|
||||
<label for="show_fitness_score_from"><%=L("lcl_mjb_fitness_score")%>:</label>
|
||||
</td>
|
||||
<td style="text-align: right">
|
||||
<%=L("lcl_mjb_from")%>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="score">
|
||||
<input type="text"
|
||||
onChange="fvalid=checkKenmerk(this, false, 'N', 1, 0, 1, 6)"
|
||||
onBlur="checkKenmerk(this, true, 'N', 1, 0, 1, 6)"
|
||||
id="fitness_score1_from"
|
||||
name="fitness_score1_from"
|
||||
class="fldflexN number "
|
||||
value=""
|
||||
maxlength="1">
|
||||
<%=L("lcl_mjb_through")%>
|
||||
<input type="text"
|
||||
onChange="fvalid=checkKenmerk(this, false, 'N', 1, 0, 1, 6)"
|
||||
onBlur="checkKenmerk(this, true, 'N', 1, 0, 1, 6)"
|
||||
id="fitness_score1_through"
|
||||
name="fitness_score1_through"
|
||||
class="fldflexN number "
|
||||
value=""
|
||||
maxlength="1">
|
||||
</td>
|
||||
</tr>
|
||||
<% } %>
|
||||
</table>
|
||||
</td><!-- end column 1 -->
|
||||
</tr>
|
||||
<% BLOCK_END();
|
||||
|
||||
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch", importance: 1 },
|
||||
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced", importance: 3 } ];
|
||||
CreateButtons(buttons, { entersubmit: true });
|
||||
%>
|
||||
</table>
|
||||
</td><!-- end column 1 -->
|
||||
</tr>
|
||||
</form>
|
||||
<% BLOCK_END();
|
||||
|
||||
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch" },
|
||||
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced" } ];
|
||||
CreateButtons(buttons);
|
||||
%>
|
||||
</div> <!-- search -->
|
||||
|
||||
<div id="result">
|
||||
|
||||
@@ -26,37 +26,17 @@ var reg_key = getQParamInt("regiokey", -1); // Regio
|
||||
var dis_key = getQParamInt("districtkey", -1); // District
|
||||
var loc_key = getQParamInt("locatiekey", -1); // Locatie
|
||||
var bld_key = getQParamInt("gebouwkey", -1); // Gebouw
|
||||
var bld_code = getQParam("bld_code", ""); // Gebouwcode
|
||||
var bld_name = getQParam("bld_name", ""); // Gebouwnaam
|
||||
var srtgebouw_key = getQParamInt("srt", -1); // Gebouwfunctie
|
||||
var verantw_key = getQParamInt("verantw", -1); // Gebouw verantwoordelijke
|
||||
var verantw_key2 = getQParamInt("verantw2", -1); // Gebouw verantwoordelijke 2
|
||||
var expalgincl = getQParamInt("expAlgIncl", 0) == 1; // Ook vervallen gebouwen
|
||||
var cnt_full = getQParamInt("cnt_full", 0) == 1;
|
||||
var fitness_score1_from = getQParamInt("fitness_score1_from", -1); // Conditie score van.
|
||||
var fitness_score1_through = getQParamInt("fitness_score1_through", -1); // Conditie score t/m.
|
||||
var bld_email = getQParam("bld_email", ""); // Gebouw email.
|
||||
var bld_groep = getQParam("bld_groep", ""); // Gebouw groeperingskenmerk
|
||||
var bld_func = getQParamInt("srt", -1);
|
||||
|
||||
gebouw_list ( "*",
|
||||
{ outputmode: outputmode,
|
||||
showall: showall,
|
||||
cnt_full: cnt_full,
|
||||
srtgebouw_key: (srtgebouw_key != -1? srtgebouw_key: null),
|
||||
verantw_key: (verantw_key != -1? verantw_key: null),
|
||||
verantw_key2: (verantw_key2 != -1? verantw_key2: null),
|
||||
bld_func: (bld_func != -1? bld_func: null),
|
||||
reg_key: (reg_key != -1? reg_key : null),
|
||||
dis_key: (dis_key != -1? dis_key : null),
|
||||
loc_key: (loc_key != -1? loc_key : null),
|
||||
bld_key: (bld_key != -1? bld_key : null),
|
||||
bld_code: bld_code,
|
||||
bld_name: bld_name,
|
||||
fitness_score1_from : fitness_score1_from,
|
||||
fitness_score1_through : fitness_score1_through,
|
||||
bld_email : bld_email,
|
||||
bld_groep : bld_groep,
|
||||
noref: (noref != -1? noref : null),
|
||||
expalgincl: expalgincl
|
||||
noref: (noref != -1? noref : null)
|
||||
}
|
||||
);
|
||||
%>
|
||||
@@ -20,7 +20,6 @@ FCLTHeader.Requires({ plugins: ["suggest", "jQuery"],
|
||||
js: ["jquery-ui.js"]})
|
||||
|
||||
var loc_key = getQParamInt("key", -1);
|
||||
var cnt_full = getQParamInt("cnt_full", 0) == 1;
|
||||
|
||||
if (loc_key > 0)
|
||||
{
|
||||
@@ -66,7 +65,7 @@ else
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<body id="editbody">
|
||||
<%
|
||||
if (loc_key == -1)
|
||||
var page="alg_edit_locatie.asp"; // Maak een nieuw
|
||||
@@ -77,23 +76,6 @@ else
|
||||
IFRAMER("algFrame", page, { title: L("lcl_alg_locatie_frame"),
|
||||
initHeight: "450px",
|
||||
FcltClose: "algClose" } );
|
||||
|
||||
if (loc_key > -1)
|
||||
{
|
||||
var authparamsCNTUSE = user.checkAutorisation("WEB_CNTUSE", true);
|
||||
var authparamsCNTMAN = user.checkAutorisation("WEB_CNTMAN", true);
|
||||
var curole = "bo";
|
||||
|
||||
if (!authparamsCNTMAN && authparamsCNTUSE)
|
||||
curole = "fe";
|
||||
|
||||
if (authparamsCNTMAN || authparamsCNTUSE)
|
||||
{
|
||||
var page1="../cnt/cnt_search_list.asp?embedded=1&tiny=1&collapsed=1&urole=" + curole + "&ffutu=1&fact=1&frap=1&fopz=1&sact=1&loc_key=" + loc_key
|
||||
page1 += (cnt_full ? "&cnt_full=1" : "");
|
||||
IFRAMER("cntFrame", page1, { initHeight: "450px" } );
|
||||
}
|
||||
}
|
||||
%>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
Note:
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
||||
<!-- #include file="../Shared/getkenmerksql.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
@@ -25,92 +26,49 @@ function fnrowData(oRs)
|
||||
var key = oRs("alg_locatie_key").value;
|
||||
var oms = oRs("alg_locatie_omschrijving").value;
|
||||
|
||||
var data = {parent_key: parent_key, detail_key: detail_key, key: key, oms: oms};
|
||||
var data = {parent_key:parent_key, detail_key:detail_key, key:key, oms:oms};
|
||||
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
var recent = new Date();
|
||||
function fnrowClass(oRs)
|
||||
{
|
||||
var lclass = "";
|
||||
// Tracking: hoe lang geleden voor het laatst gewijzigd?
|
||||
if (oRs.Fields("recentdatum").Value != null)
|
||||
{
|
||||
var ltrackdate1 = new Date();
|
||||
var ltrackdate10 = new Date();
|
||||
var ltrackdate100 = new Date();
|
||||
var alg_onrgoed_recent = S("alg_onrgoed_recent");
|
||||
ltrackdate1.setMinutes(recent.getMinutes() - alg_onrgoed_recent);
|
||||
ltrackdate10.setMinutes(recent.getMinutes() - alg_onrgoed_recent * 12);
|
||||
ltrackdate100.setMinutes(recent.getMinutes() - alg_onrgoed_recent*12*2);
|
||||
|
||||
var fac_recent = new Date(oRs.Fields("recentdatum").Value);
|
||||
if (fac_recent > ltrackdate1)
|
||||
{
|
||||
lclass += " updated";
|
||||
}
|
||||
else if (fac_recent > ltrackdate10)
|
||||
{
|
||||
lclass += " updated10";
|
||||
}
|
||||
else if (fac_recent > ltrackdate100)
|
||||
{
|
||||
lclass += " updated100";
|
||||
}
|
||||
}
|
||||
return lclass;
|
||||
}
|
||||
|
||||
var all_cnt = getQParamInt("cnt_full", 0);
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
var autosearch = 1; //automatisch laden van resultaat op search pagina
|
||||
|
||||
function gotoDetails(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_gebouw_search.asp?locatie_key="+algData.detail_key+"&autosearch="+autosearch;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_building")%>");
|
||||
}
|
||||
|
||||
function gotoDetails2(row)
|
||||
{
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_terreinsector_search.asp?locatie_key="+algData.detail_key+"&autosearch="+autosearch;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_terra")%>");
|
||||
}
|
||||
function gotoParent(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_district_search.asp?district_key="+algData.parent_key+"&autosearch="+autosearch;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_district")%>");
|
||||
}
|
||||
|
||||
function locatieEdit(row)
|
||||
function locatieEdit(row)
|
||||
{
|
||||
var v_all_cnt = <%=all_cnt%>;
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var url = "appl/ALG/alg_locatie.asp?key="+algData.key + (v_all_cnt == 1 ? "&cnt_full=1" : "");
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_locatie.asp?key="+algData.key;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_location")%>" + ' ' + algData.oms);
|
||||
}
|
||||
|
||||
function aggregateCNDscores(rowArray, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("cnd_aggregate_confirm"), { autoconfirm: isMulti }, function() {
|
||||
var locKeyString = getKeyString(rowArray);
|
||||
var data = { key: locKeyString,
|
||||
level: "L"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_cnd_aggregate.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
}
|
||||
|
||||
function doDelete(rowArray, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_locatie"), { autoconfirm: isMulti }, function() {
|
||||
var locKeyString = getKeyString(rowArray);
|
||||
var data = { key: locKeyString,
|
||||
level: "L"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
var locKeyString = getKeyString(rowArray);
|
||||
if (isMulti || confirm(L("lcl_alg_del_txt_locatie")))
|
||||
$.post("alg_delete.asp",
|
||||
{ key: locKeyString,
|
||||
level: "L" },
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
</script>
|
||||
<%
|
||||
@@ -127,13 +85,9 @@ function locatie_list(pautfunction, params)
|
||||
|
||||
var noref = params.noref;
|
||||
|
||||
var ins_score_enabled = S("ins_score_enabled") == 1;
|
||||
var reg_key = params.reg_key;
|
||||
var dis_key = params.dis_key;
|
||||
var loc_key = params.loc_key;
|
||||
var expalgincl = params.expalgincl;
|
||||
var fitness_score1_from = params.fitness_score1_from;
|
||||
var fitness_score1_through = params.fitness_score1_through;
|
||||
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
@@ -142,15 +96,6 @@ function locatie_list(pautfunction, params)
|
||||
eDelete = true;
|
||||
return ({eDelete: eDelete})
|
||||
}
|
||||
|
||||
function fnrowFlexParams(oRs)
|
||||
{
|
||||
var loc_key = oRs("alg_locatie_key").Value;
|
||||
var this_alg = alg.func_enabled(loc_key, "L");
|
||||
|
||||
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
|
||||
return flexParams;
|
||||
}
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -158,36 +103,27 @@ function locatie_list(pautfunction, params)
|
||||
<% FCLTHeader.Generate({outputmode:outputmode}) %>
|
||||
</head>
|
||||
<body id="listbody">
|
||||
<% var sqln = "SELECT l.alg_locatie_key"
|
||||
+ " , l.alg_district_key"
|
||||
+ " , l.alg_locatie_code"
|
||||
+ " , l.alg_locatie_omschrijving"
|
||||
+ " , d.alg_district_omschrijving"
|
||||
+ " , l.alg_locatie_adres"
|
||||
+ " , l.alg_locatie_post_adres"
|
||||
+ " , l.alg_locatie_postcode"
|
||||
+ " , l.alg_locatie_post_postcode"
|
||||
+ " , l.alg_locatie_plaats"
|
||||
+ " , l.alg_locatie_post_plaats"
|
||||
+ " , l.alg_locatie_land"
|
||||
+ " , l.alg_locatie_post_land"
|
||||
+ " , l.alg_locatie_verantw"
|
||||
+ " , l.alg_locatie_verantw_tel"
|
||||
+ " , l.alg_locatie_vervaldatum"
|
||||
+ " , l.alg_locatie_x"
|
||||
+ " , l.alg_locatie_y"
|
||||
+ " , l.alg_locatie_mjb_score1"
|
||||
+ " , (SELECT MAX(t.fac_tracking_datum)"
|
||||
+ " FROM fac_tracking t"
|
||||
+ " , fac_srtnotificatie sn"
|
||||
+ " WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key"
|
||||
+ " AND t.fac_tracking_refkey = l.alg_locatie_key"
|
||||
+ " AND sn.fac_srtnotificatie_xmlnode = 'locatie'"
|
||||
+ " ) recentdatum"
|
||||
+ " FROM alg_v_aanweziglocatie l"
|
||||
+ " , alg_district d "
|
||||
+ " WHERE d.alg_district_key(+) = l.alg_district_key"
|
||||
+ " AND l.alg_locatie_verwijder IS NULL";
|
||||
<% var sqln = "SELECT l.alg_locatie_key, "
|
||||
+ " l.alg_district_key, "
|
||||
+ " l.alg_locatie_code, "
|
||||
+ " l.alg_locatie_omschrijving, "
|
||||
+ " d.alg_district_omschrijving, "
|
||||
+ " l.alg_locatie_adres, "
|
||||
+ " l.alg_locatie_post_adres, "
|
||||
+ " l.alg_locatie_postcode, "
|
||||
+ " l.alg_locatie_post_postcode, "
|
||||
+ " l.alg_locatie_plaats, "
|
||||
+ " l.alg_locatie_post_plaats, "
|
||||
+ " l.alg_locatie_land, "
|
||||
+ " l.alg_locatie_post_land, "
|
||||
+ " l.alg_locatie_verantw, "
|
||||
+ " l.alg_locatie_verantw_tel, "
|
||||
+ " l.alg_locatie_x, "
|
||||
+ " l.alg_locatie_y "
|
||||
+ " FROM alg_v_aanweziglocatie l, "
|
||||
+ " alg_district d "
|
||||
+ " WHERE d.alg_district_key(+) = l.alg_district_key "
|
||||
+ " AND l.alg_locatie_verwijder IS NULL ";
|
||||
|
||||
if (authparams.ALGreadlevel > -1)
|
||||
{ // Er is een scope-beperking van kracht
|
||||
@@ -212,24 +148,7 @@ function locatie_list(pautfunction, params)
|
||||
sqln += " AND d.alg_regio_key = " + reg_key;
|
||||
}
|
||||
|
||||
if (!expalgincl)
|
||||
sqln += " AND (l.alg_locatie_vervaldatum IS NULL OR l.alg_locatie_vervaldatum > TRUNC(SYSDATE)) ";
|
||||
|
||||
if (params.loc_code)
|
||||
sqln += " AND UPPER(l.alg_locatie_code) LIKE " + safe.quoted_sql_wild(params.loc_code + "%");
|
||||
if (params.loc_descr)
|
||||
sqln += " AND UPPER(l.alg_locatie_omschrijving) LIKE " + safe.quoted_sql_wild(params.loc_descr + "%");
|
||||
|
||||
if (ins_score_enabled)
|
||||
{ // Conditiescore.
|
||||
// Niet gemeten objecten doen wel mee in dit filter. Deze objecten worden dus niet getoond als er een waarde is ingevuld.
|
||||
if (fitness_score1_from > 0)
|
||||
sqln += " AND alg_locatie_mjb_score1 >= " + fitness_score1_from;
|
||||
if (fitness_score1_through > 0)
|
||||
sqln += " AND alg_locatie_mjb_score1 <= " + fitness_score1_through;
|
||||
}
|
||||
|
||||
sqln += " ORDER BY UPPER(alg_district_omschrijving), UPPER(alg_locatie_code)";
|
||||
sqln += " ORDER BY l.alg_locatie_upper ASC "
|
||||
|
||||
var addurl = "appl/alg/alg_locatie.asp";
|
||||
// addurl += buildTransitParam(["loc_key", "bld_key", "flo_key", "room_key"], params) // TODO: welke allemaal?
|
||||
@@ -245,25 +164,20 @@ function locatie_list(pautfunction, params)
|
||||
title: L("lcl_menu_alg_locatie"),
|
||||
showAll: showall,
|
||||
rowData: fnrowData,
|
||||
rowClass: fnrowClass,
|
||||
rowActionEnabler: fnrowActionEnabler,
|
||||
outputmode: outputmode,
|
||||
flexModule: "ALG",
|
||||
flexId: "alg_locatie_key",
|
||||
flexParams: fnrowFlexParams,
|
||||
filterParams: params,
|
||||
buttons: addButton
|
||||
});
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_district_man_descr"), content: "alg_district_omschrijving"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_code"), content: "alg_locatie_code"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_descr"), content: "alg_locatie_omschrijving" }));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_descr"), content: "alg_locatie_omschrijving", hasActions:true}));
|
||||
rst.addColumn(new Column({caption: L("lcl_prs_address_bezoek_adres"), content: "alg_locatie_adres"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_prs_address_bezoek_postcode"), content: "alg_locatie_postcode"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_prs_address_bezoek_plaats"), content: "alg_locatie_plaats"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_alg_vervaldatum"), content: "alg_locatie_vervaldatum", datatype: "date"}));
|
||||
if (ins_score_enabled)
|
||||
rst.addColumn(new Column({caption: L("lcl_alg_locatie_mjb_score1"), content: "alg_locatie_mjb_score1", datatype: "number"}));
|
||||
|
||||
if (outputmode != 0)
|
||||
{
|
||||
@@ -279,11 +193,10 @@ function locatie_list(pautfunction, params)
|
||||
|
||||
|
||||
rst.addAction({ action: "locatieEdit", caption: L("lcl_edit"), isDefault: true});
|
||||
if (S("cnd_gebreken_srtdisc_key") > -1)
|
||||
rst.addAction({ action: "aggregateCNDscores", caption: L("cnd_aggr_conditiescores"), multi: true, multiOnce: true});
|
||||
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", single:!noref, multi: true, multiOnce: true});
|
||||
if (!noref) {
|
||||
rst.addAction({ action: "gotoDetails", caption: L("lcl_goto_gebouw_list")});
|
||||
rst.addAction({ action: "gotoDetails2", caption: L("lcl_goto_terreinsector_list")});
|
||||
rst.addAction({ action: "gotoParent", caption: L("lcl_goto_district_list")});
|
||||
}
|
||||
var cnt = rst.processResultset();
|
||||
|
||||
@@ -12,11 +12,9 @@
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"] });
|
||||
|
||||
var ins_score_enabled = S("ins_score_enabled") == 1;
|
||||
var district_key = getQParamInt("district_key", -1); //district
|
||||
var locatie_key = getQParamInt("locatie_key", -1); //locatie
|
||||
var autosearch = getQParamInt("autosearch", 0) == 1;
|
||||
var cnt_full = getQParamInt("cnt_full", 0) == 1;
|
||||
var authparams = alg.checkAutorisation();
|
||||
%>
|
||||
|
||||
@@ -30,26 +28,23 @@ var authparams = alg.checkAutorisation();
|
||||
doSubmitWithKenmerken();
|
||||
}
|
||||
|
||||
function myModal(init)
|
||||
function myModal()
|
||||
{
|
||||
var lvl = "L";
|
||||
var key = 0;
|
||||
var bld_key = "";
|
||||
var url = "load_kenmerk.asp?disc=" + "&urole=bo" + "&advanced=1" + "&onrgoed_key=" + bld_key + "&onrgoed_niveau=" + lvl;
|
||||
var titel = "<%=L("lcl_properties")%>";
|
||||
showKenmerkModal(url, titel, init)
|
||||
showKenmerkModal(url, titel)
|
||||
}
|
||||
|
||||
$(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
|
||||
$(document).ready(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
|
||||
</script>
|
||||
</head>
|
||||
<body id="searchbody">
|
||||
<div id="search">
|
||||
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
|
||||
<form name="u2" target="workFrame" action="alg_locatie_search_list.asp" method="get">
|
||||
<% if (cnt_full) { %>
|
||||
<input type="hidden" id="cnt_full" name="cnt_full" value="1">
|
||||
<% } %>
|
||||
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
|
||||
<tr>
|
||||
<td class="searchkolom1">
|
||||
<table><!-- x rijen, 2 kolommen: label + veld -->
|
||||
@@ -58,78 +53,23 @@ var authparams = alg.checkAutorisation();
|
||||
districtkey: district_key,
|
||||
locatiekey: locatie_key,
|
||||
startlevel: 1, // District
|
||||
eindlevel: 2, // Locatie
|
||||
eindlevel: 2, // locatie
|
||||
whenEmpty: L("lcl_search_generic") // want filter
|
||||
});
|
||||
%>
|
||||
<tr class="primsearch">
|
||||
<td class="label"><label><%=L("lcl_estate_locatie_man_code")%>:</label></td>
|
||||
<td><input type="text" class="wildcard" id="loc_code" name="loc_code" value=""></td>
|
||||
</tr>
|
||||
<tr class="primsearch">
|
||||
<td class="label"><label><%=L("lcl_estate_locatie_man_descr")%>:</label></td>
|
||||
<td><input type="text" class="wildcard" id="loc_descr" name="loc_descr" value=""></td>
|
||||
</tr>
|
||||
<!-- Vervallen objecten -->
|
||||
<tr class="primsearch">
|
||||
<td></td>
|
||||
<td align=left>
|
||||
<input type="checkbox" class="fldexpalgincl" name="expAlgIncl" id="expAlgIncl" value="1" >
|
||||
<label for="expAlgIncl"><%=L("lcl_alg_locatie_vervallen_incl")%></label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td><!-- end column 1 -->
|
||||
|
||||
<!-- Second column -->
|
||||
<td class="searchkolom2">
|
||||
<table><!-- x rijen, 2 kolommen: label + veld -->
|
||||
<% if (ins_score_enabled)
|
||||
{ // Conditiescore
|
||||
%> <tr class="primsearch fldfitness_score" id="fitness_score">
|
||||
<td>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td class="label">
|
||||
<label for="show_fitness_score_from"><%=L("lcl_mjb_fitness_score")%>:</label>
|
||||
</td>
|
||||
<td style="text-align: right">
|
||||
<%=L("lcl_mjb_from")%>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="score">
|
||||
<input type="text"
|
||||
onChange="fvalid=checkKenmerk(this, false, 'N', 1, 0, 1, 6)"
|
||||
onBlur="checkKenmerk(this, true, 'N', 1, 0, 1, 6)"
|
||||
id="fitness_score1_from"
|
||||
name="fitness_score1_from"
|
||||
class="fldflexN number "
|
||||
value=""
|
||||
maxlength="1">
|
||||
<%=L("lcl_mjb_through")%>
|
||||
<input type="text"
|
||||
onChange="fvalid=checkKenmerk(this, false, 'N', 1, 0, 1, 6)"
|
||||
onBlur="checkKenmerk(this, true, 'N', 1, 0, 1, 6)"
|
||||
id="fitness_score1_through"
|
||||
name="fitness_score1_through"
|
||||
class="fldflexN number "
|
||||
value=""
|
||||
maxlength="1">
|
||||
</td>
|
||||
</tr>
|
||||
<% } %>
|
||||
</table>
|
||||
</td><!-- end column 2 -->
|
||||
</td><!-- end column 1 -->
|
||||
</tr>
|
||||
<% BLOCK_END();
|
||||
|
||||
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch", importance: 1 },
|
||||
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced", importance: 3 } ];
|
||||
CreateButtons(buttons, { entersubmit: true });
|
||||
%>
|
||||
</form>
|
||||
<% BLOCK_END();
|
||||
|
||||
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch" },
|
||||
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced" } ];
|
||||
CreateButtons(buttons);
|
||||
%>
|
||||
</div> <!-- search -->
|
||||
|
||||
<div id="result">
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File:
|
||||
Description:
|
||||
Parameters:
|
||||
Context:
|
||||
File:
|
||||
Description:
|
||||
Parameters:
|
||||
Context:
|
||||
Note:
|
||||
*/ %>
|
||||
|
||||
@@ -25,25 +25,13 @@ var noref = getQParamInt("noref", -1); // (voor onderdrukken horizontale verwijz
|
||||
var reg_key = getQParamInt("regiokey", -1); // Regio
|
||||
var dis_key = getQParamInt("districtkey", -1); // District
|
||||
var loc_key = getQParamInt("locatiekey", -1); // Locatie
|
||||
var loc_code = getQParam("loc_code", ""); // Locatiecode
|
||||
var loc_descr = getQParam("loc_descr", ""); // Locatienaam
|
||||
var cnt_full = getQParamInt("cnt_full", 0) == 1;
|
||||
var expalgincl = getQParamInt("expalgincl", 0) == 1;
|
||||
var fitness_score1_from = getQParamInt("fitness_score1_from", -1); // Conditie score van.
|
||||
var fitness_score1_through = getQParamInt("fitness_score1_through", -1); // Conditie score t/m.
|
||||
|
||||
locatie_list ( "*",
|
||||
{ outputmode: outputmode,
|
||||
showall: showall,
|
||||
cnt_full: cnt_full,
|
||||
reg_key: (reg_key != -1? reg_key : null),
|
||||
dis_key: (dis_key != -1? dis_key : null),
|
||||
loc_key: (loc_key != -1? loc_key : null),
|
||||
loc_code: loc_code,
|
||||
loc_descr: loc_descr,
|
||||
expalgincl: expalgincl,
|
||||
fitness_score1_from : fitness_score1_from,
|
||||
fitness_score1_through : fitness_score1_through,
|
||||
noref: (noref != -1? noref : null)
|
||||
}
|
||||
);
|
||||
|
||||
@@ -40,13 +40,17 @@ var reg_key = getQParamInt("key", -1);
|
||||
if (!params.keepForm)
|
||||
window.location.href = "alg_regio.asp?verynew=1&key=" + params.regio_key;
|
||||
<% } else { /* Bestaande regio bewerkt, switch naar show-mode */ %>
|
||||
if (params.close)
|
||||
{
|
||||
FcltMgr.closeDetail(window, { close: true})
|
||||
}
|
||||
if (!params.keepForm)
|
||||
$("#algFrame")[0].src = "alg_show_regio.asp?regio_key=<%=reg_key%>";
|
||||
<% } %>
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<body id="editbody">
|
||||
<% if (reg_key == -1)
|
||||
var page="alg_edit_regio.asp"; // Maak een nieuw
|
||||
else
|
||||
|
||||
@@ -9,25 +9,24 @@
|
||||
Note:
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../shared/data_recordset.inc" -->
|
||||
<!-- #include file="../Shared/disCxprs3d.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
||||
<!-- #include file="../Shared/getkenmerksql.inc" -->
|
||||
<!-- #include file="../API2/api2.inc" -->
|
||||
<!-- #include file="../API2/model_regions.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["jQuery"] });
|
||||
|
||||
|
||||
function fnrowData(oRs)
|
||||
{
|
||||
var detail_key = oRs.Fields("id").Value;
|
||||
var key = oRs.Fields("id").Value;
|
||||
var oms = oRs.Fields("name").Value;
|
||||
var detail_key = oRs("alg_regio_key").value;
|
||||
var key = oRs("alg_regio_key").value;
|
||||
var oms = oRs("alg_regio_omschrijving").value;
|
||||
|
||||
var data = {detail_key: detail_key, key: key, oms: oms};
|
||||
var data = {detail_key: detail_key, key: key, oms: oms};
|
||||
|
||||
return JSON.stringify(data);
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
%>
|
||||
@@ -37,28 +36,27 @@ function fnrowData(oRs)
|
||||
|
||||
function gotoDetails(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_district_search.asp?regio_key=" + algData.detail_key + "&autosearch=" + autosearch;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_district")%>");
|
||||
}
|
||||
|
||||
function districtEdit(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_regio.asp?mode=viewUpdate&key=" + algData.key;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_region")%>" + ' ' + algData.oms);
|
||||
}
|
||||
|
||||
function doDelete(rowArray, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_regio"), { autoconfirm: isMulti }, function() {
|
||||
var regKeyString = getKeyString(rowArray);
|
||||
var data = { key: regKeyString,
|
||||
level: "RE"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
var regKeyString = getKeyString(rowArray);
|
||||
if (isMulti || confirm(L("lcl_alg_del_txt_regio")))
|
||||
$.post("alg_delete.asp",
|
||||
{ key: regKeyString,
|
||||
level: "RE" },
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
</script>
|
||||
<%
|
||||
@@ -72,13 +70,14 @@ function regio_list(pautfunction, params)
|
||||
|
||||
// Voor resulttable de globalen zetten; zou ng anders moeten.
|
||||
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
|
||||
var showall = params.showall;
|
||||
var reg_key = params.reg_key;
|
||||
var showall = params.showall;
|
||||
|
||||
var reg_key = params.reg_key;
|
||||
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
var eDelete = false;
|
||||
if (alg.canWriteRegio(oRs.Fields("id").Value, authparams.mALGwritelevel))
|
||||
if (alg.canWriteRegio(oRs("alg_regio_key").value, authparams.mALGwritelevel))
|
||||
eDelete = true;
|
||||
return ({eDelete: eDelete})
|
||||
}
|
||||
@@ -89,25 +88,34 @@ function regio_list(pautfunction, params)
|
||||
</head>
|
||||
<body id="listbody">
|
||||
<%
|
||||
// Ophalen regio`s
|
||||
var regio_key = getQParamInt("regiokey");
|
||||
var filter = {};
|
||||
if (regio_key > -1)
|
||||
var filter = {id: regio_key};
|
||||
var params = { filter: filter }; // Alle regio`s ophalen, behalve de verwijderde.
|
||||
var regio_array = model_regions.REST_GET(params); // Roep de API2 GET aan
|
||||
//
|
||||
var sqln = "SELECT r.alg_regio_key, "
|
||||
+ " r.alg_regio_omschrijving "
|
||||
+ " FROM alg_regio r "
|
||||
+ " WHERE r.alg_regio_verwijder IS NULL ";
|
||||
|
||||
var addurl = "appl/alg/alg_regio.asp";
|
||||
// addurl += buildTransitParam(["loc_key", "bld_key", "flo_key", "room_key"], params) // TODO: welke allemaal?
|
||||
|
||||
if (canAdd)
|
||||
{
|
||||
addButton = [{ icon: "plus.png", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + L("lcl_add") + "')" }]
|
||||
if (authparams.ALGreadlevel > -1)
|
||||
{ // Er is een scope-beperking van kracht
|
||||
sqln += " AND r.alg_regio_key IN "
|
||||
+ "(SELECT alg_regio_key FROM fac_v_my_regions "
|
||||
+ "WHERE prs_perslid_key="+user_key
|
||||
+ " AND niveau=" + authparams.ALGreadlevel + ")";
|
||||
}
|
||||
|
||||
var rst = new ResultsetTable({ dataset: regio_array,
|
||||
keyColumn: "id",
|
||||
if (reg_key)
|
||||
{
|
||||
sqln += " AND r.alg_regio_key = " + reg_key;
|
||||
}
|
||||
|
||||
var addurl = "appl/alg/alg_regio.asp";
|
||||
// addurl += buildTransitParam(["loc_key", "bld_key", "flo_key", "room_key"], params) // TODO: welke allemaal?
|
||||
|
||||
if (canAdd)
|
||||
{
|
||||
addButton = [{ icon: "plus.png", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + L("lcl_add") + "')" }]
|
||||
}
|
||||
|
||||
var rst = new ResultsetTable({sql:sqln,
|
||||
keyColumn: "alg_regio_key",
|
||||
ID: "algtable",
|
||||
showAll: showall,
|
||||
rowData: fnrowData,
|
||||
@@ -115,10 +123,10 @@ function regio_list(pautfunction, params)
|
||||
outputmode: outputmode,
|
||||
filterParams: params,
|
||||
buttons: addButton
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_regio_descr"), content: "name"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_regio_descr"), content: "alg_regio_omschrijving"}));
|
||||
|
||||
rst.addAction({ action: "districtEdit", caption: L("lcl_edit"), isDefault: true});
|
||||
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", multi: true, multiOnce: true});
|
||||
|
||||
@@ -23,7 +23,7 @@ var authparams = alg.checkAutorisation();
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<script type="text/javascript">
|
||||
$(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
|
||||
$(document).ready(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
|
||||
</script>
|
||||
</head>
|
||||
<body id="searchbody">
|
||||
@@ -50,11 +50,11 @@ var authparams = alg.checkAutorisation();
|
||||
</tr>
|
||||
|
||||
<% BLOCK_END(); %>
|
||||
</form>
|
||||
<%
|
||||
var buttons = [{title: L("lcl_search"), action: "document.forms.u2.submit();", id: "bSearch" }];
|
||||
CreateButtons(buttons, { entersubmit: true });
|
||||
CreateButtons(buttons);
|
||||
%>
|
||||
</form>
|
||||
</div> <!-- search -->
|
||||
|
||||
<div id="result">
|
||||
|
||||
@@ -58,7 +58,7 @@ else
|
||||
addString = (loc_key > 0? "&loc_key=" + loc_key : "")
|
||||
+ (geb_key > 0? "&geb_key=" + geb_key : "")
|
||||
+ (ver_key > 0? "&ver_key=" + ver_key : "")
|
||||
+ (cad_ruimte_nr?"&cad_ruimte_nr="+safe.url(cad_ruimte_nr):"");
|
||||
+ (cad_ruimte_nr?"&cad_ruimte_nr="+cad_ruimte_nr:"");
|
||||
}
|
||||
}
|
||||
%>
|
||||
@@ -84,6 +84,10 @@ else
|
||||
if (!params.keepForm)
|
||||
window.location.href = "alg_ruimte.asp?verynew=1&key=" + params.room_key;
|
||||
<% } else { /* Bestaande ruimte bewerkt, switch naar show-mode */ %>
|
||||
if (params.close)
|
||||
{
|
||||
FcltMgr.closeDetail(window, { close: true})
|
||||
}
|
||||
if (!params.keepForm)
|
||||
$("#algFrame")[0].src = "alg_show_ruimte.asp?room_key=<%=room_key%>";
|
||||
|
||||
@@ -91,7 +95,7 @@ else
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<body id="editbody">
|
||||
<%
|
||||
if (room_key == -1)
|
||||
var page="alg_edit_ruimte.asp?room_key=" + room_key + addString; // Maak een nieuw
|
||||
@@ -109,24 +113,6 @@ else
|
||||
|
||||
var page3 ="../prs/prs_afdeling_search_list.asp?tiny=1&room_key=" + room_key;// Alle afdelingen van alle niveau's (1 en hoger) laten zien dus afd_niveau=nr niet meegegeven
|
||||
IFRAMER("wpFrame", page3, { initHeight: "450px" } );
|
||||
|
||||
var authparamsINSMAN = user.checkAutorisation("WEB_INSMAN", true);
|
||||
var insman_read = authparamsINSMAN;
|
||||
if (insman_read)
|
||||
{
|
||||
var page4="../INS/ins_list.asp?embedded=1&tiny=1&inacObjIncl=1&ruimtekey=" + room_key
|
||||
IFRAMER("insdeel", page4, { initHeight: "450px" } );
|
||||
}
|
||||
var authparamsCNTUSE = user.checkAutorisation("WEB_CNTUSE", true);
|
||||
var authparamsCNTMAN = user.checkAutorisation("WEB_CNTMAN", true);
|
||||
var curole = "bo";
|
||||
if (!authparamsCNTMAN && authparamsCNTUSE)
|
||||
curole = "fe";
|
||||
if (authparamsCNTMAN || authparamsCNTUSE)
|
||||
{
|
||||
var page5="../cnt/cnt_search_list.asp?embedded=1&tiny=1&collapsed=1&urole=" + curole + "&ffutu=1&fact=1&frap=1&fopz=1&sact=1&room_key="+ room_key
|
||||
IFRAMER("cntFrame", page5, { initHide: true } );
|
||||
}
|
||||
}
|
||||
%>
|
||||
</body>
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
Note:
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
||||
<!-- #include file="../Shared/getkenmerksql.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
@@ -21,24 +22,20 @@ function ruimte_list(pautfunction, params)
|
||||
// De functie checkAutorisation(autfunction) geeft een Response.End indien er geen autorisatie voor autfunction wordt gevonden
|
||||
var addButton = [];
|
||||
var authparams = alg.checkAutorisation();
|
||||
// Met ALG* bepaal je wat je ziet (Read), met RUI* en TER* bepaal je wat je kunt wijzigen (Write).
|
||||
var canAdd = (authparams.rmALGwritelevel < 9);
|
||||
var canAdd = (authparams.mALGwritelevel < 9);
|
||||
|
||||
// Voor resulttable de globalen zetten; zou ng anders moeten.
|
||||
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
|
||||
var showall = params.showall;
|
||||
|
||||
var noref = params.noref;
|
||||
var reg_key_arr = params.reg_key_arr;
|
||||
var dis_key_arr = params.dis_key_arr;
|
||||
var loc_key_arr = params.loc_key_arr;
|
||||
var bld_key_arr = params.bld_key_arr;
|
||||
var flr_key_arr = params.flr_key_arr;
|
||||
var room_key_arr = params.room_key_arr;
|
||||
var loc_key = params.loc_key;
|
||||
var bld_key = params.bld_key;
|
||||
var lvl_key = params.lvl_key;
|
||||
var room_key = params.room_key;
|
||||
var area_nr = params.area_nr;
|
||||
var area_descr = params.area_descr;
|
||||
var srtruimte_key = params.srtruimte_key
|
||||
var dept_key_arr = params.dept_key_arr;
|
||||
var chkgeb = params.chkgeb;
|
||||
var area_use = params.area_use
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -49,33 +46,25 @@ function ruimte_list(pautfunction, params)
|
||||
|
||||
function gotoDetails(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var url = "appl/alg/alg_werkplek_search.asp?ruimte_key="+algData.detail_key+"&autosearch="+autosearch;
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_werkplek_search.asp?ruimte_key="+algData.detail_key+"&autosearch="+autosearch;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_workspace")%>");
|
||||
}
|
||||
|
||||
function gotoParent(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var url = "appl/alg/alg_verdieping_search.asp?verdieping_key="+algData.parent_key+"&autosearch="+autosearch;
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_verdieping_search.asp?verdieping_key="+algData.parent_key+"&autosearch="+autosearch;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_floor")%>");
|
||||
}
|
||||
|
||||
function ruimteEdit(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var url = "appl/alg/alg_ruimte.asp?mode=viewUpdate&key="+algData.key;
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_ruimte.asp?mode=viewUpdate&key="+algData.key;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_room")%>" + ' ' + algData.oms);
|
||||
}
|
||||
|
||||
function ruimteEditMulti(rowArray)
|
||||
{
|
||||
var algKeyString = getKeyString(rowArray);
|
||||
var subject = L("lcl_alg_multi_edit");
|
||||
var url = "../alg/alg_edit_ruimte_multi.asp?alg_level=R&alg_keys=" + algKeyString;
|
||||
FcltMgr.openModalDetail(url, subject, {callback: FcltCallbackRefresh});
|
||||
}
|
||||
|
||||
function doRuimteAfdeling(rowArray)
|
||||
{
|
||||
var ruimteArr = [];
|
||||
@@ -86,27 +75,16 @@ function ruimte_list(pautfunction, params)
|
||||
FcltMgr.openModalDetail("alg_ruimteafdeling.asp?ruimte_keys=" + ruimteArr.join(","), L("lcl_alg_ruimte_bezetting"));
|
||||
}
|
||||
|
||||
function doRESScope(rowArray)
|
||||
{
|
||||
var ruimteArr = [];
|
||||
for (var i = 0; i < rowArray.length; i++)
|
||||
{
|
||||
ruimteArr.push(rowArray[i].getAttribute("ROWKEY"))
|
||||
}
|
||||
FcltMgr.openModalDetail("alg_ruimteresscope.asp?ruimte_keys=" + ruimteArr.join(","), L("res_srtartikel_onrgoed"));
|
||||
}
|
||||
|
||||
function doDelete(row, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_ruimte"), { autoconfirm: isMulti }, function() {
|
||||
$(row).addClass('dirty');
|
||||
var room_key = row.getAttribute("ROWKEY");
|
||||
var data = { key: room_key,
|
||||
level: "R"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
$(row).addClass('dirty');
|
||||
var room_key = row.getAttribute("ROWKEY");
|
||||
if (isMulti || confirm(L("lcl_alg_del_txt_ruimte")))
|
||||
$.post("alg_delete.asp",
|
||||
{ key: room_key,
|
||||
level: "R" },
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
@@ -151,30 +129,26 @@ function ruimte_list(pautfunction, params)
|
||||
|
||||
sqln += getKenmerkSql("ALG", "r.alg_ruimte_key");
|
||||
|
||||
if (room_key_arr && room_key_arr.length)
|
||||
if (room_key)
|
||||
{
|
||||
sqln += " AND r.alg_ruimte_key IN (" + room_key_arr.join(",") + ")";
|
||||
sqln += " AND r.alg_ruimte_key = " + room_key;
|
||||
}
|
||||
else if (flr_key_arr && flr_key_arr.length)
|
||||
else if (lvl_key)
|
||||
{
|
||||
sqln += " AND v.alg_verdieping_key IN (" + flr_key_arr.join(",") + ")";
|
||||
sqln += " AND v.alg_verdieping_key = " + lvl_key;
|
||||
}
|
||||
else if (bld_key_arr && bld_key_arr.length)
|
||||
else if (bld_key)
|
||||
{
|
||||
sqln += " AND v.alg_gebouw_key IN (" + bld_key_arr.join(",") + ")";
|
||||
sqln += " AND v.alg_gebouw_key = " + bld_key;
|
||||
}
|
||||
else if (loc_key_arr && loc_key_arr.length)
|
||||
else if (loc_key)
|
||||
{
|
||||
sqln += " AND g.alg_locatie_key IN (" + loc_key_arr.join(",") + ")";
|
||||
sqln += " AND g.alg_locatie_key = " + loc_key;
|
||||
}
|
||||
else if (dis_key_arr && dis_key_arr.length)
|
||||
sqln += " AND l.alg_district_key IN (" + dis_key_arr.join(",") + ")";
|
||||
else if (reg_key_arr && reg_key_arr.length)
|
||||
sqln += " AND l.alg_district_key IN (SELECT alg_district_key FROM alg_district WHERE alg_regio_key IN (" + reg_key_arr.join(",") + "))";
|
||||
|
||||
if (srtruimte_key)
|
||||
if (area_use)
|
||||
{
|
||||
sqln += " AND r.alg_srtruimte_key = " + srtruimte_key;
|
||||
sqln += " AND r.alg_srtruimte_key = " + area_use;
|
||||
}
|
||||
|
||||
if (area_nr)
|
||||
@@ -187,18 +161,6 @@ function ruimte_list(pautfunction, params)
|
||||
sqln += " AND UPPER(r.alg_ruimte_omschrijving) LIKE " + safe.quoted_sql_wild("%" + area_descr + "%");
|
||||
}
|
||||
|
||||
if (dept_key_arr && dept_key_arr.length)
|
||||
{
|
||||
sqln += " AND r.alg_ruimte_key in "
|
||||
+ " (SELECT alg_ruimte_key "
|
||||
+ " FROM prs_ruimteafdeling "
|
||||
+ " WHERE prs_ruimteafdeling_verwijder IS NULL "
|
||||
+ " AND prs_afdeling_key IN (" + dept_key_arr.join(",") + "))";
|
||||
}
|
||||
|
||||
if (!chkgeb)
|
||||
sqln += " AND (g.alg_gebouw_vervaldatum IS NULL OR g.alg_gebouw_vervaldatum > TRUNC(SYSDATE)) ";
|
||||
|
||||
sqln += " ORDER BY l.alg_locatie_upper ASC"
|
||||
+ ", g.alg_gebouw_upper ASC"
|
||||
+ ", v.alg_verdieping_volgnr ASC"
|
||||
@@ -206,10 +168,10 @@ function ruimte_list(pautfunction, params)
|
||||
|
||||
function fnrowData(oRs)
|
||||
{
|
||||
var parent_key = oRs("alg_verdieping_key").Value;
|
||||
var detail_key = oRs("alg_ruimte_key").Value;
|
||||
var key = oRs("alg_ruimte_key").Value;
|
||||
var oms = oRs("alg_ruimte_omschrijving").Value;
|
||||
var parent_key = oRs("alg_verdieping_key").value;
|
||||
var detail_key = oRs("alg_ruimte_key").value;
|
||||
var key = oRs("alg_ruimte_key").value;
|
||||
var oms = oRs("alg_ruimte_omschrijving").value;
|
||||
|
||||
var data = {parent_key:parent_key, detail_key:detail_key, key:key, oms:oms};
|
||||
return JSON.stringify(data);
|
||||
@@ -219,26 +181,17 @@ function ruimte_list(pautfunction, params)
|
||||
// Voor performance bekijken we de rechten per verdieping. In de praktijk nauwkeurig genoeg
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
if (!floorCache[oRs("alg_verdieping_key").Value])
|
||||
if (!floorCache[oRs("alg_verdieping_key").value])
|
||||
{
|
||||
eEditMulti = false; // TODO: write op ALGMAN
|
||||
floorCache[oRs("alg_verdieping_key").Value] =
|
||||
floorCache[oRs("alg_verdieping_key").value] =
|
||||
{
|
||||
eDelete: alg.canWriteVerdieping(oRs("alg_verdieping_key").Value, authparams.rmALGwritelevel),
|
||||
eDelete: alg.canWriteVerdieping(oRs("alg_verdieping_key").value, authparams.mALGwritelevel),
|
||||
// Bezetting moet per regel en is afhankelijk van WEB_PRSBOF (werkplekbeheer)
|
||||
eBezetting: alg.func_enabled_ruimte(oRs("alg_verdieping_key").Value).canPRSBOFwrite,
|
||||
eEditMulti: eEditMulti
|
||||
eBezetting: alg.func_enabled_ruimte(oRs("alg_verdieping_key").value).canPRSBOFwrite
|
||||
}
|
||||
}
|
||||
return (floorCache[oRs("alg_verdieping_key").Value]);
|
||||
}
|
||||
|
||||
function fnrowFlexParams(oRs)
|
||||
{
|
||||
var this_alg = alg.func_enabled(oRs("alg_ruimte_key").Value, "R");
|
||||
|
||||
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
|
||||
return flexParams;
|
||||
return (floorCache[oRs("alg_verdieping_key").value]);
|
||||
}
|
||||
|
||||
var addurl = "appl/alg/alg_ruimte.asp?a=1";
|
||||
@@ -259,18 +212,16 @@ function ruimte_list(pautfunction, params)
|
||||
outputmode: outputmode,
|
||||
flexModule: "ALG",
|
||||
flexId: "alg_ruimte_key",
|
||||
flexParams: fnrowFlexParams,
|
||||
filterParams: params,
|
||||
buttons: addButton
|
||||
});
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_descr"), content: "alg_locatie_omschrijving"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_descr"), content: "alg_gebouw_omschrijving"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_verdieping_man_descr"), content: "alg_verdieping_omschrijving"}));
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_man_nr"), content: "alg_ruimte_nr"}));
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_man_descr"), content: "alg_ruimte_omschrijving" }));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_man_descr"), content: "alg_ruimte_omschrijving", hasActions: true}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_man_sort"), content: "alg_srtruimte_omschrijving"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_bruto_vloeropp"), content: "alg_ruimte_bruto_vloeropp", datatype: "float", decimals: 2 }));
|
||||
|
||||
@@ -293,11 +244,8 @@ function ruimte_list(pautfunction, params)
|
||||
}
|
||||
|
||||
rst.addAction({ action: "ruimteEdit", caption: L("lcl_edit"), isDefault: true });
|
||||
rst.addAction({ action: "ruimteEditMulti", caption: L("lcl_alg_multi_edit"), multi: true, multiOnce: true, single: false, enabler: "eEditMulti"});
|
||||
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), multi: true, single: !noref, enabler: "eDelete" });
|
||||
rst.addAction({ action: "doRuimteAfdeling", caption: L("lcl_alg_bezetting"), multi: true, multiOnce: true, enabler: "eBezetting" });
|
||||
if (user.has("WEB_RESMSU"))
|
||||
rst.addAction({ action: "doRESScope", caption: L("res_srtartikel_onrgoed"), multi: true, single: false, multiOnce: true });
|
||||
if (!noref)
|
||||
{
|
||||
if (S("prs_werkplek_implicit") == 0)
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/plaatsselector.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
<!-- #include file="../Shared/afdelingselector.inc" -->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"] });
|
||||
@@ -22,7 +21,6 @@ var ruimte_nr = getQParam("ruimte_nr", "");
|
||||
var ruimte_use = getQParamInt("ruimte_use", -1); // Ruimtefunctie
|
||||
var ruimte_descr = getQParam("ruimte_descr", "");
|
||||
var autosearch = getQParamInt("autosearch", 0) == 1;
|
||||
var chkgeb = getQParamInt("chkgeb", 0) == 1;
|
||||
var authparams = alg.checkAutorisation();
|
||||
|
||||
%>
|
||||
@@ -36,24 +34,23 @@ var authparams = alg.checkAutorisation();
|
||||
doSubmitWithKenmerken();
|
||||
}
|
||||
|
||||
function myModal(init)
|
||||
function myModal()
|
||||
{
|
||||
var lvl = "R";
|
||||
var key = 0;
|
||||
var bld_key = "";
|
||||
var url = "load_kenmerk.asp?disc=" + "&urole=bo" + "&advanced=1" + "&onrgoed_key=" + bld_key + "&onrgoed_niveau=" + lvl;
|
||||
var titel = "<%=L("lcl_properties")%>";
|
||||
showKenmerkModal(url, titel, init)
|
||||
showKenmerkModal(url, titel)
|
||||
}
|
||||
|
||||
$(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
|
||||
$(document).ready(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
|
||||
</script>
|
||||
</head>
|
||||
<body id="searchbody">
|
||||
<div id="search">
|
||||
<form name="u2" target="workFrame" action="alg_ruimte_search_list.asp" method="get">
|
||||
<input type="hidden" id="chkgeb" name="chkgeb" value="<%=(chkgeb?1:0)%>">
|
||||
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
|
||||
<form name="u2" target="workFrame" action="alg_ruimte_search_list.asp" method="get">
|
||||
<tr>
|
||||
<td class="searchkolom1">
|
||||
<table><!-- x rijen, 2 kolommen: label + veld -->
|
||||
@@ -64,12 +61,11 @@ var authparams = alg.checkAutorisation();
|
||||
gebouwkey: gebouw_key,
|
||||
verdiepingkey: verdieping_key,
|
||||
ruimtekey: ruimte_key,
|
||||
multitoggle: 6, // true|false (=all) or till alg_level_# (0-6)
|
||||
startlevel: 2, // locatie
|
||||
eindlevel: 5, // ruimte
|
||||
filtercode: "INCVR",
|
||||
whenEmpty: L("lcl_search_generic") // want filter
|
||||
});
|
||||
|
||||
%>
|
||||
</table>
|
||||
</td><!-- end column 1 -->
|
||||
@@ -99,31 +95,16 @@ var authparams = alg.checkAutorisation();
|
||||
emptyOption: ""
|
||||
});
|
||||
|
||||
sql= "SELECT 1 FROM prs_ruimteafdeling WHERE prs_ruimteafdeling_verwijder is null AND ROWNUM = 1";
|
||||
oRs = Oracle.Execute(sql);
|
||||
var anyruimteafd = !oRs.eof;
|
||||
oRs.close();
|
||||
if (anyruimteafd)
|
||||
{
|
||||
FCLTafdelingselector("dept",
|
||||
"dept",
|
||||
{ label: L("lcl_prs_organisatie"),
|
||||
autlevel: authparams.PRSreadlevel, // Was voorheen niet aanwezig
|
||||
multitoggle: true,
|
||||
whenEmpty: L("lcl_search_generic"),
|
||||
filtercode: "AR"
|
||||
});
|
||||
}
|
||||
%> </table>
|
||||
</td><!-- end column 1 -->
|
||||
</tr>
|
||||
</form>
|
||||
<% BLOCK_END();
|
||||
|
||||
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch", importance: 1 },
|
||||
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced", importance: 3 } ];
|
||||
CreateButtons(buttons, { entersubmit: true });
|
||||
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch" },
|
||||
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced" } ];
|
||||
CreateButtons(buttons);
|
||||
%>
|
||||
</form>
|
||||
</div> <!-- search -->
|
||||
|
||||
<div id="result">
|
||||
|
||||
@@ -22,33 +22,25 @@
|
||||
var outputmode = getQParamInt("outputmode", 0) // 0 = screen, 1 = print, 2 = excel etc
|
||||
var showall = getQParamInt("showall", 0) == 1;
|
||||
var noref = getQParamInt("noref", -1); // (voor onderdrukken horizontale verwijzingen)
|
||||
var reg_key_arr = getQParamIntArray("regiokey", []); // Regio
|
||||
var dis_key_arr = getQParamIntArray("districtkey", []); // District
|
||||
var loc_key_arr = getQParamIntArray("locatiekey", []); // Locatie
|
||||
var bld_key_arr = getQParamIntArray("gebouwkey", []); // Gebouw
|
||||
var flr_key_arr = getQParamIntArray("verdiepingkey", []); // Verdieping
|
||||
var room_key_arr = getQParamIntArray("ruimtekey", []); // Ruimte
|
||||
var loc_key = getQParamInt("locatiekey", -1); // Locatie
|
||||
var bld_key = getQParamInt("gebouwkey", -1); // Gebouw
|
||||
var lvl_key = getQParamInt("verdiepingkey", -1); // Verdieping
|
||||
var room_key = getQParamInt("ruimtekey", -1); // Ruimte
|
||||
var area_nr = getQParam("nr", null); // Ruimte nr
|
||||
var area_descr = getQParam("descr", null); // Ruimte omschrijving
|
||||
var srtruimte_key = getQParamInt("srt", null); // Ruimtefunctie
|
||||
var dept_key_arr = getQParamIntArray("dept", []); // Afdeling
|
||||
var chkgeb = getQParamInt("chkgeb", 0) == 1; //Controleer tegen de vervallenstatus van het gebouw (vertrouw lvl_key/geb_key niet)
|
||||
var area_use = getQParamInt("srt", null); // Ruimtefunctie
|
||||
|
||||
ruimte_list ( "*",
|
||||
{ outputmode: outputmode,
|
||||
showall: showall,
|
||||
reg_key_arr: reg_key_arr,
|
||||
dis_key_arr: dis_key_arr,
|
||||
loc_key_arr: loc_key_arr,
|
||||
bld_key_arr: bld_key_arr,
|
||||
flr_key_arr: flr_key_arr,
|
||||
room_key_arr: room_key_arr,
|
||||
loc_key: (loc_key != -1? loc_key : null),
|
||||
bld_key: (bld_key != -1? bld_key : null),
|
||||
lvl_key: (lvl_key != -1? lvl_key : null),
|
||||
room_key: (room_key != -1? room_key : null),
|
||||
area_nr: (area_nr != -1? area_nr : null),
|
||||
area_descr: (area_descr != ""? area_descr : null),
|
||||
srtruimte_key: (srtruimte_key != -1? srtruimte_key : null),
|
||||
dept_key_arr: dept_key_arr,
|
||||
noref: (noref != -1? noref : null),
|
||||
chkgeb: chkgeb
|
||||
area_use: (area_use != -1? area_use : null),
|
||||
noref: (noref != -1? noref : null)
|
||||
}
|
||||
);
|
||||
%>
|
||||
@@ -20,7 +20,7 @@ k
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
js: ["./alg_ruimteafdeling.js" ]
|
||||
js: ["./alg_ruimteafdeling.js", "num2curr.js"]
|
||||
});
|
||||
|
||||
// TODO: Autorisatie controle "WEB_PRSBOF" op ruimte_keys
|
||||
@@ -29,27 +29,14 @@ var ruimte_key_arr = getQParamIntArray("ruimte_keys");
|
||||
var submitting = getQParamInt("submit", 0) == 1;
|
||||
if (submitting)
|
||||
{
|
||||
protectRequest.validateToken();
|
||||
|
||||
FCLTHeader.Generate();
|
||||
|
||||
var nrRows = getFParamInt("nrRows", 0);
|
||||
|
||||
var afdeling_key = -1;
|
||||
var bezetting = -1;
|
||||
var bezettingen = new Array();
|
||||
var afdeling_keys = new Array();
|
||||
var afdeling_names = [];
|
||||
|
||||
function shorttxt(txt, len)
|
||||
{
|
||||
len = len || S("max_tracking_length");
|
||||
if (txt.length < len)
|
||||
return txt;
|
||||
else
|
||||
return txt.substr(0, len-4) + "...";
|
||||
}
|
||||
|
||||
var afdeling_keys = [];
|
||||
var bezetting_keys = [];
|
||||
for (var i = 0; i < nrRows; i++)
|
||||
{
|
||||
afdeling_key = getFParamInt("afd" + i, 0);
|
||||
@@ -58,47 +45,10 @@ if (submitting)
|
||||
if (afdeling_key > 0 && bezetting >= 0)
|
||||
{
|
||||
afdeling_keys.push(afdeling_key);
|
||||
bezettingen.push(bezetting);
|
||||
bezetting_keys.push(bezetting);
|
||||
}
|
||||
}
|
||||
|
||||
if (afdeling_keys.length)
|
||||
{
|
||||
var sql = "SELECT prs_afdeling_key, prs_afdeling_omschrijving"
|
||||
+ " FROM prs_afdeling a"
|
||||
+ " WHERE prs_afdeling_key IN (" + afdeling_keys.join(",") + ")"
|
||||
+ " AND prs_afdeling_verwijder IS NULL";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (!oRs.Eof)
|
||||
{
|
||||
afdeling_names[oRs("prs_afdeling_key").value] = oRs("prs_afdeling_omschrijving").value;
|
||||
oRs.MoveNext();
|
||||
}
|
||||
}
|
||||
|
||||
var oldvals = [];
|
||||
var sql = "SELECT ra.alg_ruimte_key, ra.prs_afdeling_key, a.prs_afdeling_omschrijving, ra.prs_ruimteafdeling_bezetting"
|
||||
+ " FROM prs_ruimteafdeling ra, prs_afdeling a"
|
||||
+ " WHERE ra.alg_ruimte_key IN (" + ruimte_key_arr.join(",") + ")"
|
||||
+ " AND ra.prs_afdeling_key = a.prs_afdeling_key"
|
||||
+ " AND ra.prs_ruimteafdeling_verwijder IS NULL"
|
||||
+ " AND a.prs_afdeling_verwijder IS NULL";
|
||||
|
||||
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (!oRs.Eof)
|
||||
{
|
||||
var tempTuple = { afd_key: oRs("prs_afdeling_key").value, bez: oRs("prs_ruimteafdeling_bezetting").value };
|
||||
if (typeof oldvals[oRs("alg_ruimte_key").value] === 'undefined') // New ruimte
|
||||
oldvals[oRs("alg_ruimte_key").value] = [tempTuple];
|
||||
else
|
||||
oldvals[oRs("alg_ruimte_key").value].push(tempTuple);
|
||||
|
||||
if (typeof afdeling_names[oRs("prs_afdeling_key").value] === 'undefined')
|
||||
afdeling_names[oRs("prs_afdeling_key").value] = oRs("prs_afdeling_omschrijving").value;
|
||||
oRs.MoveNext();
|
||||
}
|
||||
|
||||
for (var j = 0; j < ruimte_key_arr.length; j++)
|
||||
{ // Verwijderen
|
||||
var sql = "DELETE prs_ruimteafdeling"
|
||||
@@ -121,7 +71,7 @@ if (submitting)
|
||||
if (!oRs.eof)
|
||||
{ // Update
|
||||
var sql = "UPDATE prs_ruimteafdeling SET"
|
||||
+ " prs_ruimteafdeling_bezetting = " + bezettingen[i]
|
||||
+ " prs_ruimteafdeling_bezetting = " + bezetting_keys[i]
|
||||
+ " WHERE prs_ruimteafdeling_key = " + oRs("prs_ruimteafdeling_key").Value;
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
@@ -131,60 +81,11 @@ if (submitting)
|
||||
+ " (alg_ruimte_key, prs_afdeling_key, prs_ruimteafdeling_bezetting)"
|
||||
+ " VALUES (" + ruimte_key_arr[j] + ","
|
||||
+ afdeling_keys[i] + ","
|
||||
+ bezettingen[i] + ")";
|
||||
+ bezetting_keys[i] + ")";
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
}
|
||||
|
||||
var trackingArr = new Object();
|
||||
var fromLbl = "";
|
||||
var toLbl = "";
|
||||
var rowNr = -1;
|
||||
var doneAfdeling = new Array();
|
||||
|
||||
for (var i = 0; i < ruimte_key_arr.length; i++)
|
||||
{
|
||||
if (typeof oldvals[ruimte_key_arr[i]] !== 'undefined')
|
||||
for (var x = 0; x < oldvals[ruimte_key_arr[i]].length; x++)
|
||||
{
|
||||
fromLbl = shorttxt(afdeling_names[oldvals[ruimte_key_arr[i]][x].afd_key]) + " (" + oldvals[ruimte_key_arr[i]][x].bez + "%) ";
|
||||
|
||||
rowNr = sharedIndexOf(oldvals[ruimte_key_arr[i]][x].afd_key, afdeling_keys);
|
||||
if (rowNr > -1) // Update
|
||||
{
|
||||
doneAfdeling[rowNr] = true;
|
||||
if (oldvals[ruimte_key_arr[i]][x].bez == bezettingen[rowNr]) // No change
|
||||
continue;
|
||||
toLbl = " " + shorttxt(afdeling_names[afdeling_keys[rowNr]]) + " (" + bezettingen[rowNr] + "%)";
|
||||
}
|
||||
else // Delete
|
||||
toLbl = " " + L("lcl_tracktoempty");
|
||||
|
||||
if (typeof trackingArr[ruimte_key_arr[i]] === 'undefined')
|
||||
trackingArr[ruimte_key_arr[i]] = new Array();
|
||||
trackingArr[ruimte_key_arr[i]].push(fromLbl + L("lcl_trackto") + toLbl);
|
||||
}
|
||||
|
||||
for (var y = 0; y < afdeling_keys.length; y++)
|
||||
{
|
||||
if (doneAfdeling[y])
|
||||
continue;
|
||||
else if (typeof trackingArr[ruimte_key_arr[i]] === 'undefined')
|
||||
trackingArr[ruimte_key_arr[i]] = new Array();
|
||||
// Insert
|
||||
fromLbl = L("lcl_trackfromempty") + " ";
|
||||
toLbl = " " + shorttxt(afdeling_names[afdeling_keys[y]]) + " (" + bezettingen[y] + "%)";
|
||||
trackingArr[ruimte_key_arr[i]].push(fromLbl + L("lcl_trackto") + toLbl);
|
||||
}
|
||||
}
|
||||
|
||||
for (var i = 0; i < ruimte_key_arr.length; i++)
|
||||
{
|
||||
if (typeof trackingArr[ruimte_key_arr[i]] !== 'undefined')
|
||||
shared.trackaction("ALGRUP", ruimte_key_arr[i], L("lcl_alg_is_algrup") + "\n" + trackingArr[ruimte_key_arr[i]].join("\n"));
|
||||
}
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
FcltMgr.closeDetail(window, { success: true });
|
||||
@@ -282,11 +183,9 @@ else
|
||||
</tr>
|
||||
|
||||
<% BLOCK_END();
|
||||
/* deze Add is niet fraai zo, maar soi. Of: er is geen cancel ook */
|
||||
var buttons = [ {title: L("lcl_add"), icon: "submit.png", action: "alg_add('"+ safe.displayfloat(tot_oppervlak, 2) +"')", importance: 1 },
|
||||
{title: L("lcl_submit"), icon: "undo.png", action: "alg_submit()", importance: 1 } ];
|
||||
var buttons = [ {title: L("lcl_add"), icon: "submit.png", action: "alg_add('"+ safe.displayfloat(tot_oppervlak, 2) +"')" },
|
||||
{title: L("lcl_submit"), icon: "undo.png", action: "alg_submit()" } ];
|
||||
CreateButtons(buttons);
|
||||
IFACE.FORM_END();
|
||||
%>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -39,7 +39,7 @@ function CreateRow(afd_key, afd_name, bezetting, oppervlak, bruto)
|
||||
cell = tr.insertCell(-1);
|
||||
cell.className = "result";
|
||||
cell.align = "center";
|
||||
cell.innerHTML = "<i class='fa fa-fw fa-times' OnClick='delRow(this)' style='cursor:pointer'></i>";
|
||||
cell.innerHTML = "<img src='../Pictures/order_cancel.gif' OnClick='delRow(this)' style='cursor:pointer'>";
|
||||
|
||||
// innerHTML opent een htmlparser die overbodige spaties en line breaks verwijderd in IE, daarom met innerText oplossen
|
||||
// Input velden moeten wel met innerHTML of outerHTML anders wordt het text
|
||||
@@ -73,22 +73,18 @@ function CreateRow(afd_key, afd_name, bezetting, oppervlak, bruto)
|
||||
function delRow(img)
|
||||
{
|
||||
// Verwijder de aangeklikte afdeling uit de lijst (de regel)
|
||||
FcltMgr.confirm(L("lcl_alg_cancelDepartment"), function() {
|
||||
var tr = $(img).closest("tr")[0];
|
||||
if (tr.myData.afd_key != null) {
|
||||
document.getElementById("afdbezettingtable").deleteRow(tr.rowIndex);
|
||||
}
|
||||
});
|
||||
if (!confirm(L("lcl_alg_cancelDepartment")))
|
||||
return;
|
||||
var tr = $(img).closest("tr")[0];
|
||||
if (tr.myData.afd_key != null)
|
||||
{
|
||||
document.getElementById("afdbezettingtable").deleteRow(tr.rowIndex);
|
||||
}
|
||||
}
|
||||
|
||||
function alg_submit()
|
||||
{
|
||||
if ($(document).has('span.bad').length)
|
||||
{
|
||||
FcltMgr.alert(L("lcl_shared_validator_invalid"));
|
||||
return false;
|
||||
}
|
||||
var percValid = true;
|
||||
var percValid = true;
|
||||
var i=0;
|
||||
while (percValid && (i<=rowIndex))
|
||||
{
|
||||
@@ -98,7 +94,7 @@ function alg_submit()
|
||||
if (oppPerc > 100)
|
||||
{
|
||||
percValid = false;
|
||||
FcltMgr.alert(L("lcl_alg_bezetting_ongeldig"));
|
||||
alert(L("lcl_alg_bezetting_ongeldig"));
|
||||
$("#bez"+i).select();
|
||||
$("#bez"+i).focus();
|
||||
}
|
||||
@@ -116,9 +112,9 @@ function alg_add(oppervlak)
|
||||
if ($("#afdeling_key").val() > 0)
|
||||
{
|
||||
var exist = false;
|
||||
$("#afdbezettingtable tr").each(function(i, value)
|
||||
$("tr[value]").each(function(i, value)
|
||||
{
|
||||
if (this.myData && $("#afdeling_key").val() == this.myData.afd_key)
|
||||
if ($("#afdeling_key").val() == $(value)[0].myData.afd_key)
|
||||
exist = true;
|
||||
});
|
||||
if (!exist)
|
||||
@@ -133,41 +129,49 @@ function alg_add(oppervlak)
|
||||
|
||||
function changeOppervlak(prowIndex)
|
||||
{
|
||||
var $thisObj = $("#bezopp"+prowIndex);
|
||||
var valid = isGoodNumber($thisObj.val(), false,false,8,2);
|
||||
validateField($thisObj, valid, L("lcl_alg_bezetting_ongeldig"))
|
||||
var bereken = true;
|
||||
if (!isGoodNumber($("#bezopp"+prowIndex).val(), false,false,8,2))
|
||||
{
|
||||
bereken = false;
|
||||
alert(L("lcl_alg_bezetting_ongeldig"));
|
||||
$("#bezopp"+prowIndex).select();
|
||||
$("#bezopp"+prowIndex).focus();
|
||||
}
|
||||
if (bereken && (!isGoodNumber($("#totaalopp"+prowIndex).val(), false,false,8,2)))
|
||||
$("#totaalopp"+prowIndex).val($("#bezopp"+prowIndex).val());
|
||||
|
||||
if (valid)
|
||||
{
|
||||
if (!isGoodNumber($("#totaalopp"+prowIndex).val(), false,false,8,2))
|
||||
$("#totaalopp"+prowIndex).val($thisObj.val());
|
||||
var oppBezet = parseFloat($thisObj.val().replace(',', '.'));
|
||||
var oppBruto = parseFloat($("#totaalopp"+prowIndex).val().replace(',', '.'));
|
||||
if (oppBruto > 0)
|
||||
{
|
||||
var oppPercF = (oppBezet * 100) / oppBruto;
|
||||
var oppPerc = num2currEditable(oppPercF);
|
||||
$("#bez" + prowIndex).val(oppPerc);
|
||||
}
|
||||
}
|
||||
if (bereken)
|
||||
{
|
||||
var oppBezet = parseFloat($("#bezopp" +prowIndex).val().replace(',', '.'));
|
||||
var oppBruto = parseFloat($("#totaalopp"+prowIndex).val().replace(',', '.'));
|
||||
if (oppBruto > 0)
|
||||
{
|
||||
var oppPercF = (oppBezet * 100) / oppBruto;
|
||||
var oppPerc = num2currEditable(oppPercF);
|
||||
$("#bez" + prowIndex).val(oppPerc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function changeBezetting(prowIndex)
|
||||
{
|
||||
var $thisObj = $("#bez"+prowIndex);
|
||||
var valid = isGoodNumber($thisObj.val(), false,false,8,2) &&
|
||||
parseFloat($thisObj.val().replace(',', '.')) <= 100 &&
|
||||
parseFloat($thisObj.val().replace(',', '.')) >= 0;
|
||||
validateField($thisObj, valid, L("lcl_alg_bezetting_ongeldig"));
|
||||
|
||||
if (valid && !multiRuimte)
|
||||
{
|
||||
var oppPerc = parseFloat($thisObj.val().replace(',', '.'));
|
||||
if (isGoodNumber($("#totaalopp"+prowIndex).val(), false,false,8,2))
|
||||
{
|
||||
var oppBruto = parseFloat($("#totaalopp"+prowIndex).val().replace(',', '.'));
|
||||
var oppBezet = num2currEditable( ((oppPerc * oppBruto) / 100) );
|
||||
$("#bezopp" + prowIndex).val(oppBezet);
|
||||
}
|
||||
if (!isGoodNumber($("#bez"+prowIndex).val(), false,false,8,2) || parseFloat($("#bez"+prowIndex).val().replace(',', '.')) > 100)
|
||||
{
|
||||
alert(L("lcl_alg_bezetting_ongeldig"));
|
||||
$("#bez"+prowIndex).select();
|
||||
$("#bez"+prowIndex).focus();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!multiRuimte)
|
||||
{
|
||||
var oppPerc = parseFloat($("#bez" +prowIndex).val().replace(',', '.'));
|
||||
if (isGoodNumber($("#totaalopp"+prowIndex).val(), false,false,8,2))
|
||||
{
|
||||
var oppBruto = parseFloat($("#totaalopp"+prowIndex).val().replace(',', '.'));
|
||||
var oppBezet = num2currEditable( ((oppPerc * oppBruto) / 100) );
|
||||
$("#bezopp" + prowIndex).val(oppBezet);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ FCLTHeader.Requires({plugins:["suggest","jQuery"], js: ["jQuery-ui.js"]})
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="modal" id="mod_ruimtefunctie">
|
||||
<body id="editbody">
|
||||
<%
|
||||
var page="alg_edit_ruimtefunctie.asp?srtruimte_lg_key=" + srtruimte_lg_key; // Edit
|
||||
//if (srtruimte_lg_key == -1)
|
||||
@@ -59,7 +59,7 @@ FCLTHeader.Requires({plugins:["suggest","jQuery"], js: ["jQuery-ui.js"]})
|
||||
//else
|
||||
// var page="alg_show_ruimtefunctie.asp?srtruimte_lg_key=" + srtruimte_lg_key ;
|
||||
|
||||
IFRAMER("algrfFrame", page, { title: L("lcl_prs_dienst_frame"),
|
||||
IFRAMER("prsFrame", page, { title: L("lcl_prs_dienst_frame"),
|
||||
initHeight: "450px",
|
||||
FcltClose: "algClose" } );
|
||||
%>
|
||||
|
||||
@@ -6,18 +6,18 @@
|
||||
File: alg_ruimtefunctie_delete.asp
|
||||
Description: Verwijderen ruimtefunctie locatie/gebouw relatie
|
||||
|
||||
Parameters:
|
||||
Parameters:
|
||||
key Strin van ruimtefunctie locatie/gebouw keys (required)
|
||||
Context: Vanuit show-schermen en of vanuit overzichten
|
||||
Result: JSON object
|
||||
Note:
|
||||
|
||||
*/
|
||||
var JSON_Result = true;
|
||||
DOCTYPE_Disable = 1;
|
||||
%>
|
||||
<!--#include file="../Shared/common.inc"-->
|
||||
<!--#include file="../Shared/json2.js" -->
|
||||
<%
|
||||
protectRequest.validateToken();
|
||||
|
||||
var autfunction = "WEB_ALGMAN";
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
Note:
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
||||
<!-- #include file="../Shared/getkenmerksql.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
@@ -43,23 +44,22 @@ function ruimtefunctie_list(pautfunction, params)
|
||||
function ruimtefunctie_edit(row)
|
||||
{
|
||||
var srtruimte_lg_key = row.getAttribute("ROWKEY");
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
|
||||
var subject = "<%=L("lcl_estate_ruimte_man_sort")%>" + ' ' + algData.oms;
|
||||
var url = "alg_ruimtefunctie.asp?srtruimte_lg_key=" + srtruimte_lg_key;
|
||||
FcltMgr.openModalDetail(url, subject, { width: 650, callback: FcltMgr.reload });
|
||||
FcltMgr.openModalDetail(url, subject, { width: 700, callback: FcltMgr.reload });
|
||||
}
|
||||
|
||||
function ruimtefunctie_delete(row, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_ruimtefunctie"), { autoconfirm: isMulti }, function() {
|
||||
$(row).addClass('dirty');
|
||||
var srtruimte_lg_key = row.getAttribute("ROWKEY");
|
||||
var data = { key: srtruimte_lg_key
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_ruimtefunctie_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
$(row).addClass('dirty');
|
||||
var srtruimte_lg_key = row.getAttribute("ROWKEY");
|
||||
if (isMulti || confirm(L("lcl_alg_del_txt_ruimtefunctie")))
|
||||
$.post("alg_ruimtefunctie_delete.asp",
|
||||
{ key: srtruimte_lg_key },
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
<%@language = "javascript"%>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: alg_ruimteresscope.asp
|
||||
Description: Laat een ruimtes x res_catalogus kiezen bulk kiezen
|
||||
Parameters: ruimte_keys: komma separated lijst met alg_ruimte_keys
|
||||
Context:
|
||||
Note:
|
||||
|
||||
k
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["jQuery"]
|
||||
});
|
||||
|
||||
user.checkAutorisation('WEB_RESMSU');
|
||||
|
||||
var ruimte_key_arr = getQParamIntArray("ruimte_keys");
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<script>
|
||||
function alg_submit(scopemode)
|
||||
{
|
||||
if ($('select#objcatmulti option:selected').length == 0)
|
||||
return;
|
||||
FcltMgr.confirm(L(scopemode == "A" ? "lcl_add" : "lcl_delete") + "\n" + L("lcl_R_U_sure"), function() {
|
||||
$('input#scopemode').val(scopemode);
|
||||
$.post($("form[name=u2]")[0].action, $("[name=u2]").serialize(), FcltCallbackClose, "json");;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="modal" id="mod_ruimteresscope">
|
||||
<form name="u2" method="post" action="alg_ruimteresscope_save.asp?ruimte_keys=<%=ruimte_key_arr.join(",")%>">
|
||||
<input type='hidden' name='scopemode' id='scopemode'>
|
||||
<% BLOCK_START("alg_ruimteresscope", L("lcl_alg_geselecteerde_ruimten") + ": " + ruimte_key_arr.length);
|
||||
var sql = "SELECT rd.ins_discipline_key"
|
||||
+ ", "+ lcl.xsql('rd.ins_discipline_omschrijving','rd.ins_discipline_key') +" omschrijving"
|
||||
+ " FROM res_v_aanwezigdiscipline rd"
|
||||
+ " WHERE rd.ins_discipline_min_level = 2"
|
||||
+ " ORDER BY ins_discipline_volgnr, 2";
|
||||
|
||||
FCLTselector("objcatmulti",
|
||||
sql,
|
||||
{
|
||||
label: L("lcl_res_objcat"),
|
||||
size: 10,
|
||||
multi: true,
|
||||
startmulti: true
|
||||
});
|
||||
BLOCK_END();
|
||||
var buttons = [ {title: L("lcl_add"), action: "alg_submit('A')", importance: 1 },
|
||||
{title: L("lcl_delete"), action: "alg_submit('D')", importance: 1 },
|
||||
{title: L("lcl_cancel"), action: "gen_cancel()", importance: 3} ];
|
||||
CreateButtons(buttons);
|
||||
|
||||
IFACE.FORM_END();
|
||||
%>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,58 +0,0 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
SUBMIT-form
|
||||
*/ %>
|
||||
<%
|
||||
var JSON_Result = true;
|
||||
%>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../API2/api2.inc" -->
|
||||
<%
|
||||
protectRequest.validateToken();
|
||||
|
||||
user.checkAutorisation('WEB_RESMSU');
|
||||
|
||||
var ruimte_key_arr = getQParamIntArray("ruimte_keys");
|
||||
var scope_key_arr = getFParamIntArray("objcatmulti");
|
||||
var scopemode = getFParamSafe("scopemode"); // A=Add, D=Delete
|
||||
|
||||
var toaster;
|
||||
if (scopemode == 'A')
|
||||
{
|
||||
var sql = "INSERT INTO res_srtartikel_onrgoed"
|
||||
+ " (alg_onrgoed_niveau, alg_onrgoed_key, res_discipline_key)"
|
||||
+ " SELECT 'R', alg_ruimte_key, ins_discipline_key"
|
||||
+ " FROM alg_ruimte,"
|
||||
+ " res_discipline"
|
||||
+ " WHERE alg_ruimte_key IN ({0})".format(ruimte_key_arr.join(", "))
|
||||
+ " AND ins_discipline_key IN ({0})".format(scope_key_arr.join(", "))
|
||||
+ " AND NOT EXISTS ("
|
||||
+ " SELECT 1 FROM res_srtartikel_onrgoed"
|
||||
+ " WHERE res_srtartikel_og_verwijder IS NULL"
|
||||
+ " AND alg_onrgoed_niveau = 'R'"
|
||||
+ " AND alg_onrgoed_key = alg_ruimte_key"
|
||||
+ " AND res_discipline_key = ins_discipline_key"
|
||||
+ " )";
|
||||
Oracle.Execute(sql);
|
||||
//var toaster = L("lcl_scf_is_added").format(L("res_srtartikel_onrgoed_m"));
|
||||
}
|
||||
else if (scopemode == 'D')
|
||||
{
|
||||
var sql = "UPDATE res_srtartikel_onrgoed"
|
||||
+ " SET res_srtartikel_og_verwijder = SYSDATE"
|
||||
+ " WHERE res_srtartikel_og_verwijder IS NULL"
|
||||
+ " AND alg_onrgoed_niveau = 'R'"
|
||||
+ " AND alg_onrgoed_key IN ({0})".format(ruimte_key_arr.join(", "))
|
||||
+ " AND res_discipline_key IN ({0})".format(scope_key_arr.join(", "));
|
||||
Oracle.Execute(sql);
|
||||
var toaster = L("lcl_scf_is_deleted").format(L("res_srtartikel_onrgoed_m"));
|
||||
}
|
||||
|
||||
var result = { toaster: toaster,
|
||||
success: true };
|
||||
Response.Write(JSON.stringify(result));
|
||||
%>
|
||||
@@ -49,8 +49,8 @@ var authparams = alg.checkAutorisation();
|
||||
</head>
|
||||
<body id="searchbody">
|
||||
<div id="search">
|
||||
<form name="u2" id="algform" target="workFrame" action="dynamischbepaald" method="get" onsubmit="return false;">
|
||||
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
|
||||
<form name="u2" id="algform" target="workFrame" action="dynamischbepaald" method="get">
|
||||
<tr>
|
||||
<td class="searchkolom1">
|
||||
<table>
|
||||
@@ -68,9 +68,10 @@ var authparams = alg.checkAutorisation();
|
||||
%>
|
||||
</table>
|
||||
</td><!-- end column 1 -->
|
||||
<td class="searchkolom2"><input type="hidden" name="noref" value="1"><input type="hidden" name="chkgeb" value="1">
|
||||
</td><!-- end column 1 -->
|
||||
<td class="searchkolom2"><input type="hidden" name="noref" value="1">
|
||||
</td><!-- end column 1 -->
|
||||
</tr>
|
||||
</form>
|
||||
<% BLOCK_END();
|
||||
|
||||
var buttons = [
|
||||
@@ -80,10 +81,8 @@ var authparams = alg.checkAutorisation();
|
||||
{title: L("lcl_menu_alg_ruimte"), action: "doSubmit('R')"},
|
||||
{title: L("lcl_menu_alg_terreinsector"), action: "doSubmit('T')"}
|
||||
];
|
||||
CreateButtons(buttons, { entersubmit: true });
|
||||
%>
|
||||
</form>
|
||||
</div> <!-- search -->
|
||||
CreateButtons(buttons);
|
||||
%></div> <!-- search -->
|
||||
|
||||
<div id="result">
|
||||
<iframe width="100%" height="100%"
|
||||
|
||||
@@ -47,17 +47,12 @@ oRs.Close();
|
||||
}
|
||||
function dis_delete()
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_district"), function() {
|
||||
var data = {
|
||||
key: <%=dis_key%>,
|
||||
level: "D"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
});
|
||||
if (confirm(L("lcl_alg_del_txt_district")))
|
||||
$.post("alg_delete.asp",
|
||||
{ key: <%=dis_key%>,
|
||||
level: "D" },
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
@@ -81,7 +76,7 @@ oRs.Close();
|
||||
}
|
||||
%>
|
||||
<form name=u2 onSubmit="return false;">
|
||||
<% BLOCK_START("algInfo", " ");
|
||||
<% BLOCK_START("algInfo", "");
|
||||
FCLTplaatsselector(-1,
|
||||
{ regiokey: reg_key,
|
||||
districtkey: dis_key,
|
||||
|
||||
@@ -16,8 +16,6 @@
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/plaatsselector.inc" -->
|
||||
<!-- #include file="../Shared/persoonselector.inc" -->
|
||||
<!-- #include file="../API2/api2.inc" -->
|
||||
<!-- #include file="alg_flexkenmerk.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
@@ -25,7 +23,6 @@
|
||||
FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
js: [] })
|
||||
|
||||
var ins_score_enabled = S("ins_score_enabled") == 1;
|
||||
var bld_key = getQParamInt("bld_key");
|
||||
var onrgoedlvl = "G";
|
||||
var this_alg = alg.func_enabled(bld_key, onrgoedlvl);
|
||||
@@ -35,38 +32,29 @@ var sql = " SELECT * "
|
||||
+ " FROM alg_gebouw "
|
||||
+ " WHERE alg_gebouw_key = " + bld_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var bld_srtkey = oRs("alg_srtgebouw_key").Value;
|
||||
var bld_naam = oRs("alg_gebouw_naam").Value;
|
||||
var bld_code = oRs("alg_gebouw_code").Value;
|
||||
var bld_descr = oRs("alg_gebouw_omschrijving").Value;
|
||||
var bld_maak = oRs("alg_gebouw_aanmaak").Value;
|
||||
var bld_email = oRs("alg_gebouw_email").Value;
|
||||
var bld_teken = oRs("alg_gebouw_getekend").Value;
|
||||
var bld_opp = oRs("alg_gebouw_bruto_vloeropp").Value;
|
||||
var bld_omtrek = oRs("alg_gebouw_omtrek").Value;
|
||||
var bld_inhoud = oRs("alg_gebouw_inhoud").Value;
|
||||
var bld_opmerk = oRs("alg_gebouw_opmerking").Value;
|
||||
var mld_adres = oRs("mld_adres_key").Value;
|
||||
var prs_kstpl = oRs("prs_kostenplaats_key").Value;
|
||||
var bld_ordrnr = oRs("alg_gebouw_ordernr").Value;
|
||||
var bld_dwgx = oRs("alg_gebouw_dwgx").Value;
|
||||
var bld_dwgy = oRs("alg_gebouw_dwgy").Value;
|
||||
var bld_x = oRs("alg_gebouw_x").Value;
|
||||
var bld_y = oRs("alg_gebouw_y").Value;
|
||||
var bld_bez = oRs("alg_gebouw_bez").Value;
|
||||
var bld_deleted = oRs("alg_gebouw_verwijder").Value != null;
|
||||
var bld_groep = oRs("alg_gebouw_groep").Value;
|
||||
var dienstniveau_key = oRs("mld_dienstniveau_key").Value;
|
||||
var beginuur = oRs("alg_gebouw_beginuur").Value;
|
||||
var einduur = oRs("alg_gebouw_einduur").Value;
|
||||
var werkdagen = oRs("alg_gebouw_werkdagen").Value;
|
||||
var toon_telefoon = oRs("alg_gebouw_toon_telefoon").Value;
|
||||
var toon_email = oRs("alg_gebouw_toon_email").Value;
|
||||
var toon_kenteken = oRs("alg_gebouw_toon_kenteken").Value;
|
||||
var verantw = oRs("prs_perslid_key_verantw").Value;
|
||||
var verantw2 = oRs("prs_perslid_key_verantw2").Value;
|
||||
var vervaldatum = oRs("alg_gebouw_vervaldatum").Value;
|
||||
var geb_score1 = oRs("alg_gebouw_mjb_score1").value;
|
||||
var bld_srtkey = oRs("alg_srtgebouw_key").value;
|
||||
var bld_naam = oRs("alg_gebouw_naam").value;
|
||||
var bld_code = oRs("alg_gebouw_code").value;
|
||||
var bld_descr = oRs("alg_gebouw_omschrijving").value;
|
||||
var bld_maak = oRs("alg_gebouw_aanmaak").value;
|
||||
var bld_teken = oRs("alg_gebouw_getekend").value;
|
||||
var bld_opp = oRs("alg_gebouw_bruto_vloeropp").value;
|
||||
var bld_omtrek = oRs("alg_gebouw_omtrek").value;
|
||||
var bld_inhoud = oRs("alg_gebouw_inhoud").value;
|
||||
var bld_opmerk = oRs("alg_gebouw_opmerking").value;
|
||||
var mld_adres = oRs("mld_adres_key").value;
|
||||
var prs_kstpl = oRs("prs_kostenplaats_key").value;
|
||||
var bld_ordrnr = oRs("alg_gebouw_ordernr").value;
|
||||
var bld_dwgx = oRs("alg_gebouw_dwgx").value;
|
||||
var bld_dwgy = oRs("alg_gebouw_dwgy").value;
|
||||
var bld_x = oRs("alg_gebouw_x").value;
|
||||
var bld_y = oRs("alg_gebouw_y").value;
|
||||
var bld_bez = oRs("alg_gebouw_bez").value;
|
||||
var bld_deleted = oRs("alg_gebouw_verwijder").value != null;
|
||||
var dienstniveau = oRs("mld_dienstniveau_key").value;
|
||||
var beginuur = oRs("alg_gebouw_beginuur").value;
|
||||
var einduur = oRs("alg_gebouw_einduur").value;
|
||||
var werkdagen = oRs("alg_gebouw_werkdagen").value;
|
||||
oRs.Close();
|
||||
%>
|
||||
|
||||
@@ -81,37 +69,20 @@ oRs.Close();
|
||||
}
|
||||
function bld_delete()
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_gebouw"), function() {
|
||||
var data = {
|
||||
key: <%=bld_key%>,
|
||||
level: "G"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
});
|
||||
if (confirm(L("lcl_alg_del_txt_gebouw")))
|
||||
{
|
||||
$.post("alg_delete.asp",
|
||||
{ key: <%=bld_key%>,
|
||||
level: "G" },
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
<% if (S("alg_fg_remote_maps") != "" && bld_x && bld_y) { %>
|
||||
function openMaps(bldKey)
|
||||
{
|
||||
FcltMgr.windowopen('../cad/ShowGoogleMap.asp?bld_key=' + bldKey, 'FGShow',
|
||||
"width=800, height=600, directories=no, location=no, menubar=no,"
|
||||
+ "resizable=yes, status=no, titlebar=yes, toolbar=no");
|
||||
return;
|
||||
}
|
||||
<% } %>
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body id="showbody">
|
||||
<% var buttons = [];
|
||||
|
||||
if (S("alg_fg_remote_maps") != "" && bld_x && bld_y) {
|
||||
buttons.push({title: L("lcl_maps"), action:"openMaps("+bld_key+")", icon: "map.png" });
|
||||
}
|
||||
|
||||
if (!bld_deleted)
|
||||
{
|
||||
if (this_alg.writeman || this_alg.writeuse)
|
||||
@@ -130,166 +101,87 @@ oRs.Close();
|
||||
%>
|
||||
<div id="show">
|
||||
<form name=u2 onSubmit="return false;">
|
||||
<% BLOCK_START("algLoc1", L("lcl_alg_gebouw_algemeen"));
|
||||
<% BLOCK_START("algLoc1", "");
|
||||
FCLTplaatsselector(-1,
|
||||
{ gebouwkey: bld_key,
|
||||
startlevel: 2, //Locatie
|
||||
eindlevel: 3, // Gebouw
|
||||
moreinfo: true, // wel beetje suf om door te linken naar jezelf
|
||||
readonly: true
|
||||
});
|
||||
params = { infoPointer: { Url: "appl/shared/status_info.asp?bld_key=" + bld_key,
|
||||
Title: L("lcl_status_details") + " " + bld_naam
|
||||
}
|
||||
}
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_man_code"), bld_code, params);
|
||||
sql = "SELECT alg_srtgebouw_key"
|
||||
+ " , " + lcl.xsqla('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')
|
||||
+ " FROM alg_srtgebouw"
|
||||
+ " WHERE alg_srtgebouw_verwijder IS NULL"
|
||||
+ " ORDER BY alg_srtgebouw_upper"
|
||||
FCLTselector("bld_srtkey",
|
||||
sql,
|
||||
readonly: true });
|
||||
sql = "SELECT alg_srtgebouw_key, "
|
||||
+ " "+lcl.xsqla('alg_srtgebouw_omschrijving', 'alg_srtgebouw_key')
|
||||
+ " FROM alg_srtgebouw "
|
||||
+ " WHERE alg_srtgebouw_verwijder IS NULL "
|
||||
+ "ORDER BY alg_srtgebouw_upper "
|
||||
FCLTselector("bld_srtkey", sql,
|
||||
{ label: L("lcl_estate_gebouw_srtgebouw"),
|
||||
initKey: bld_srtkey,
|
||||
emptyOption: "",
|
||||
suppressEmpty: true,
|
||||
readonly: true
|
||||
});
|
||||
readonly: true });
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_man_code"), bld_code, {suppressEmpty:true});
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_man_opmerk"), bld_opmerk, {suppressEmpty:true});
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_groepkenmerk"), bld_groep, {suppressEmpty:true});
|
||||
sql = "SELECT prs_kostenplaats_key, "
|
||||
+ " k.prs_kostenplaats_nr || ' ' || k.prs_kostenplaats_omschrijving "
|
||||
+ " FROM prs_kostenplaats k "
|
||||
+ " WHERE k.prs_kostenplaats_module = 'ALG' "
|
||||
+ "ORDER BY prs_kostenplaats_upper ";
|
||||
FCLTselector("prs_kstpl", sql,
|
||||
{ label: L("lcl_prs_dept_kosten"),
|
||||
initKey: prs_kstpl,
|
||||
emptyOption: "",
|
||||
readonly: true });
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_ordernr"), bld_ordrnr, {suppressEmpty:true});
|
||||
if (dienstniveau)
|
||||
{
|
||||
sql = "SELECT mld_dienstniveau_key, "
|
||||
+ lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
+ " FROM mld_dienstniveau "
|
||||
+ " WHERE mld_dienstniveau_key = " + dienstniveau;
|
||||
oRs = Oracle.Execute(sql);
|
||||
ROFIELDTR("fld", L("lcl_mld_dienst_niveau"), oRs("mld_dienstniveau_omschr").value);
|
||||
oRs.Close();
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
sql = "SELECT prs_kostenplaats_key"
|
||||
+ " , k.prs_kostenplaats_nr || ' ' || k.prs_kostenplaats_omschrijving"
|
||||
+ " FROM prs_kostenplaats k"
|
||||
+ " WHERE k.prs_kostenplaats_module = 'ALG'"
|
||||
+ " ORDER BY prs_kostenplaats_upper";
|
||||
var fldcls = "fld";
|
||||
if (vervaldatum <= new Date())
|
||||
fldcls += " expired2";
|
||||
ROFIELDTR(fldcls, L("lcl_alg_vervaldatum"), toDateString(vervaldatum), {suppressEmpty: true});
|
||||
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("algLoc2", L("lcl_alg_gebouw_fysiek"));
|
||||
var calcopp = alg.calc_algm2(bld_key, onrgoedlvl);
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_bruto_vloeropp") + L("lcl_estate_calc_vloeropp"), calcopp.oppbruto, {suppressEmpty: true, datatype: "float"});
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt1") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt1, {suppressEmpty: true, datatype: "float"});
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt2") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt2, {suppressEmpty: true, datatype: "float"});
|
||||
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_man_bruto_vloeropp"), bld_opp, {suppressEmpty: true, datatype: "float"});
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_man_omtrek"), bld_omtrek, {suppressEmpty: true, datatype: "float"});
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_man_inhoud"), bld_inhoud, {suppressEmpty: true, datatype: "float"});
|
||||
BLOCK_START("algLoc2", "");
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_man_bruto_vloeropp"), bld_opp, {suppressEmpty:true});
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_man_omtrek"), bld_omtrek, {suppressEmpty:true});
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_man_inhoud"), bld_inhoud, {suppressEmpty:true});
|
||||
sql ="SELECT mld_adres_key, "
|
||||
+ " mld_adres_naam "
|
||||
+ " FROM mld_v_afleveradres "
|
||||
+ "ORDER BY mld_adres_naam ";
|
||||
FCLTselector("del_address", sql,
|
||||
{ label: L("lcl_delivery_address"),
|
||||
initKey: mld_adres,
|
||||
emptyOption: "",
|
||||
readonly: true
|
||||
}
|
||||
);
|
||||
ROFIELDTR("fld", L("lcl_geoxcoord"), bld_x, {suppressEmpty:true});
|
||||
ROFIELDTR("fld", L("lcl_geoycoord"), bld_y, {suppressEmpty:true});
|
||||
ROFIELDTR("fld", L("lcl_alg_gebouw_mjb_score1"), geb_score1, {suppressEmpty: true});
|
||||
BLOCK_END();
|
||||
ROCHECKBOXTR("fldalgbez", L("lcl_estate_gebouw_bez"), bld_bez==1);
|
||||
|
||||
// suppressempty explicits
|
||||
if (!(prs_kstpl==null && bld_ordrnr == null && verantw==null && verantw2 == null && bld_email ==null))
|
||||
{
|
||||
BLOCK_START("algLoc3", L("lcl_alg_gebouw_administr"));
|
||||
FCLTselector("prs_kstpl",
|
||||
sql,
|
||||
{ label: L("lcl_prs_dept_kosten"),
|
||||
initKey: prs_kstpl,
|
||||
emptyOption: "",
|
||||
suppressEmpty: true,
|
||||
readonly: true
|
||||
});
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_ordernr"), bld_ordrnr, {suppressEmpty:true});
|
||||
FCLTpersoonselector("verantw",
|
||||
"sgVerantw",
|
||||
{ perslidKey: verantw,
|
||||
label: L("lcl_alg_verantw"),
|
||||
readonly: true,
|
||||
suppressEmpty: true,
|
||||
moreinfo: this_alg.readman
|
||||
});
|
||||
FCLTpersoonselector("verantw2",
|
||||
"sgVerantw2",
|
||||
{ perslidKey: verantw2,
|
||||
label: L("lcl_alg_verantw2"),
|
||||
readonly: true,
|
||||
suppressEmpty: true,
|
||||
moreinfo: this_alg.readman
|
||||
});
|
||||
if (beginuur >= 0 && einduur > 0)
|
||||
{
|
||||
var dd = new Date();
|
||||
var hh = Math.floor(beginuur);
|
||||
var mm = (beginuur*60) % 60;
|
||||
dd.setHours(hh,mm,0,0);
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_beginuur"), toTimeString(dd), {suppressEmpty:true});
|
||||
var hh = Math.floor(einduur);
|
||||
var mm = (beginuur*60) % 60;
|
||||
dd.setHours(hh,mm,0,0);
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_einduur"), toTimeString(dd), {suppressEmpty:true});
|
||||
}
|
||||
ROCHECKBOXTR("fldalgwerk", L("lcl_estate_gebouw_werkdagen"), werkdagen==1);
|
||||
|
||||
ROFIELDTR("fld", L("lcl_alg_gebouw_email"), bld_email, { suppressEmpty: true, type: "email" });
|
||||
BLOCK_END();
|
||||
}
|
||||
if (!(dienstniveau_key == null && mld_adres == null && beginuur == null && einduur == null && werkdagen == 0))
|
||||
{
|
||||
BLOCK_START("algLoc4", L("lcl_alg_gebouw_facilitair"));
|
||||
|
||||
if (dienstniveau_key)
|
||||
{
|
||||
sql = "SELECT mld_dienstniveau_key"
|
||||
+ " , " + lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
+ " FROM mld_dienstniveau"
|
||||
+ " WHERE mld_dienstniveau_key = " + dienstniveau_key;
|
||||
oRs = Oracle.Execute(sql);
|
||||
ROFIELDTR("fld", L("lcl_mld_dienst_niveau"), oRs("mld_dienstniveau_omschr").value);
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
sql = "SELECT mld_adres_naam"
|
||||
+ " FROM mld_adres"
|
||||
+ " WHERE mld_adres_key = " + mld_adres;
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
ROFIELDTR("fld", L("lcl_delivery_address"), oRs("mld_adres_naam").value, {suppressEmpty: true});
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_beginuur"), toTimeString(beginuur), {suppressEmpty:true} );
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_einduur"), toTimeString(einduur), {suppressEmpty:true} );
|
||||
ROCHECKBOXTR("fldalgwerk", L("lcl_estate_gebouw_werkdagen"), werkdagen==1);
|
||||
BLOCK_END();
|
||||
}
|
||||
|
||||
if (user.checkAutorisation("WEB_BEZMGT", true) && bld_bez==1)
|
||||
{
|
||||
BLOCK_START("algLoc5", L("lcl_alg_gebouw_bezoek"));
|
||||
|
||||
ROCHECKBOXTR("fldalgbez", L("lcl_estate_gebouw_bez"), bld_bez==1);
|
||||
var sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toontelfLOV"));
|
||||
FCLTselector("toon_telefoon",
|
||||
sql,
|
||||
{ label: L("lcl_estate_gebouw_toon_telefoon"),
|
||||
initKey: toon_telefoon,
|
||||
readonly: true,
|
||||
suppressEmpty: true,
|
||||
extraclass: "notmulti"
|
||||
});
|
||||
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonmailLOV"));
|
||||
FCLTselector("toon_email",
|
||||
sql,
|
||||
{ label: L("lcl_estate_gebouw_toon_email"),
|
||||
initKey: toon_email,
|
||||
readonly: true,
|
||||
suppressEmpty: true,
|
||||
extraclass: "notmulti"
|
||||
});
|
||||
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonkentLOV"));
|
||||
FCLTselector("toon_kenteken",
|
||||
sql,
|
||||
{ label: L("lcl_estate_gebouw_toon_kenteken"),
|
||||
initKey: toon_kenteken,
|
||||
readonly: true,
|
||||
suppressEmpty: true,
|
||||
extraclass: "notmulti"
|
||||
});
|
||||
BLOCK_END();
|
||||
}
|
||||
|
||||
generateFlexKenmerkBlock ({ onrgoed_key : bld_key,
|
||||
onrgoed_niveau : onrgoedlvl,
|
||||
reado : true,
|
||||
flexcolumns : S("alg_flexcolumns"),
|
||||
this_alg : this_alg
|
||||
});
|
||||
generateFlexKenmerkBlock ({ onrgoed_key : bld_key,
|
||||
onrgoed_niveau : onrgoedlvl,
|
||||
reado : true,
|
||||
flexcolumns : S("alg_flexcolumns"),
|
||||
this_alg : this_alg });
|
||||
%>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
<%
|
||||
FCLTHeader.Requires({plugins:["jQuery"], js: []})
|
||||
|
||||
var ins_score_enabled = S("ins_score_enabled") == 1;
|
||||
var loc_key = getQParamInt("loc_key");
|
||||
var onrgoedlvl = "L";
|
||||
var this_alg = alg.func_enabled(loc_key, onrgoedlvl);
|
||||
@@ -41,30 +40,27 @@ var loc_vwtel = oRs("alg_locatie_verantw_tel").value;
|
||||
var loc_x = oRs("alg_locatie_x").value;
|
||||
var loc_y = oRs("alg_locatie_y").value;
|
||||
var loc_mail = oRs("alg_locatie_email").value;
|
||||
var loc_score1 = oRs("alg_locatie_mjb_score1").value;
|
||||
var pst_adres = oRs("alg_locatie_post_adres").value;
|
||||
var pst_postc = oRs("alg_locatie_post_postcode").value;
|
||||
var pst_adres = oRs("alg_locatie_post_adres").value;
|
||||
var pst_plaats = oRs("alg_locatie_post_plaats").value;
|
||||
var pst_land = oRs("alg_locatie_post_land").value;
|
||||
var loc_deleted = oRs("alg_locatie_verwijder").value != null;
|
||||
var vervaldatum = oRs("alg_locatie_vervaldatum").Value;
|
||||
var dienstniveau_key = oRs("mld_dienstniveau_key").value;
|
||||
var dienstniveau = oRs("mld_dienstniveau_key").value;
|
||||
oRs.Close();
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<script type="text/javascript" >
|
||||
$(function()
|
||||
{
|
||||
$('textarea').resize(function () { FcltMgr.resized(window) } );
|
||||
$('textarea').autogrow();
|
||||
jQuery(document).ready(function() {
|
||||
$('textarea').resize(function () { FcltMgr.resized(window) } );
|
||||
$('textarea').autogrow();
|
||||
});
|
||||
|
||||
function alg_showphotos()
|
||||
{
|
||||
FcltMgr.openDetail("appl/shared/show_foto.asp?urole=bo&loc_key=<%=loc_key%>", "<%=L("lcl_photos")%>");
|
||||
FcltMgr.openDetail("appl/shared/show_foto.asp?urole=bo&root_path=<%=custpath%>/location_images/&loc_key=<%=loc_key%>", "<%=L("lcl_photos")%>");
|
||||
}
|
||||
|
||||
function loc_change()
|
||||
@@ -75,41 +71,24 @@ oRs.Close();
|
||||
|
||||
function loc_delete()
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_locatie"), function() {
|
||||
var data = {
|
||||
key: <%=loc_key%>,
|
||||
level: "L"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
});
|
||||
if (confirm(L("lcl_alg_del_txt_locatie")))
|
||||
{
|
||||
$.post("alg_delete.asp",
|
||||
{ key: <%=loc_key%>,
|
||||
level: "L" },
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
<% if (S("alg_fg_remote_maps") != "" && loc_x && loc_y) { %>
|
||||
function openMaps(locKey)
|
||||
{
|
||||
FcltMgr.windowopen('../cad/ShowGoogleMap.asp?loc_key=' + locKey, 'FGShow',
|
||||
"width=800, height=600, directories=no, location=no, menubar=no,"
|
||||
+ "resizable=yes, status=no, titlebar=yes, toolbar=no");
|
||||
return;
|
||||
}
|
||||
<% } %>
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body id="showbody">
|
||||
<% var buttons = [];
|
||||
buttons.push({title: L("lcl_photos"), icon: "camera.png", action: "alg_showphotos()"});
|
||||
|
||||
if (S("alg_fg_remote_maps") != "" && loc_x && loc_y) {
|
||||
buttons.push({title: L("lcl_maps"), action:"openMaps("+loc_key+")", icon: "map.png" });
|
||||
}
|
||||
|
||||
if (!loc_deleted)
|
||||
{
|
||||
if (this_alg.writeman || this_alg.writeuse)
|
||||
if (this_alg.writeman || this_alg.writeman)
|
||||
buttons.push({title: L("lcl_change"), action: "loc_change()", icon: "wijzigen.png"});
|
||||
if (this_alg.writeman) // ALGMAN nodig
|
||||
buttons.push({title: L("lcl_delete"), action: "loc_delete()", icon: "delete.png"});
|
||||
@@ -124,7 +103,7 @@ oRs.Close();
|
||||
}
|
||||
%>
|
||||
<form name=u2 onSubmit="return false;">
|
||||
<% BLOCK_START("algLoc1", " ");
|
||||
<% BLOCK_START("algLoc1", "");
|
||||
FCLTplaatsselector(-1,
|
||||
{ locatiekey: loc_key,
|
||||
startlevel: 1, //District
|
||||
@@ -136,12 +115,12 @@ oRs.Close();
|
||||
ROFIELDTR("fld", L("lcl_prs_address_bezoek_postcode"), bez_postc, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_prs_address_bezoek_plaats"), bez_plaats, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_prs_address_bezoek_land"), bez_land, {suppressEmpty: true});
|
||||
if (dienstniveau_key)
|
||||
if (dienstniveau)
|
||||
{
|
||||
sql = "SELECT mld_dienstniveau_key, "
|
||||
+ lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
+ " FROM mld_dienstniveau "
|
||||
+ " WHERE mld_dienstniveau_key = " + dienstniveau_key;
|
||||
+ " WHERE mld_dienstniveau_key = " + dienstniveau;
|
||||
oRs = Oracle.Execute(sql);
|
||||
ROFIELDTR("fld", L("lcl_mld_dienst_niveau"), oRs("mld_dienstniveau_omschr").value);
|
||||
oRs.Close();
|
||||
@@ -150,21 +129,15 @@ oRs.Close();
|
||||
ROFIELDTR("fld", L("lcl_geoycoord"), loc_y, {suppressEmpty: true});
|
||||
|
||||
BLOCK_END();
|
||||
BLOCK_START("algLoc2", " ");
|
||||
BLOCK_START("algLoc2", "");
|
||||
|
||||
var fldcls = "fld";
|
||||
if (vervaldatum <= new Date())
|
||||
fldcls += " expired2";
|
||||
ROFIELDTR(fldcls, L("lcl_alg_vervaldatum"), toDateString(vervaldatum), {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_prs_address_post_adres"), pst_adres, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_prs_address_post_postcode"), pst_postc, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_prs_address_post_plaats"), pst_plaats, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_prs_address_post_land"), pst_land, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_locatie_man_verantw"), loc_vw, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_locatie_man_verantw_tel"), loc_vwtel, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_noti_email"), loc_mail, { suppressEmpty: true, type: "email" });
|
||||
if (ins_score_enabled)
|
||||
ROFIELDTR("fld", L("lcl_alg_locatie_mjb_score1"), loc_score1, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_noti_email"), loc_mail, {suppressEmpty: true});
|
||||
|
||||
BLOCK_END();
|
||||
|
||||
|
||||
@@ -18,23 +18,22 @@
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/plaatsselector.inc" -->
|
||||
<!-- #include file="alg_flexkenmerk.inc" -->
|
||||
<!-- #include file="../API2/api2.inc" -->
|
||||
<!-- #include file="../API2/model_regions.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({plugins:["jQuery"], js: []})
|
||||
|
||||
var regio_key = getQParamInt("regio_key");
|
||||
var onrgoedlvl = "RG";
|
||||
var this_alg = alg.func_enabled(regio_key, onrgoedlvl);
|
||||
user.auth_required_or_abort(this_alg.readman || this_alg.readuse);
|
||||
|
||||
var regio_params = { filter: { id: regio_key
|
||||
, show_deleted: true // Ook indien verwijderd ophalen.
|
||||
}};
|
||||
var regio_array = model_regions.REST_GET(regio_params); // Roep de API2 GET aan
|
||||
var regio_data = (regio_array[0] ? regio_array[0] : {id: -1}); // GET kan meerdere records opleveren, maar we verwachten hier maar 1.
|
||||
var this_alg = regio_params.func_enabled; // regio_params bevat nu ook waarden die in API2 zijn bepaald.
|
||||
|
||||
var regio_exists = (regio_array.length ? true : false);
|
||||
var regio_deleted = regio_exists && !!regio_data.deleted;
|
||||
var sql = "SELECT *"
|
||||
+ " FROM alg_regio"
|
||||
+ " WHERE alg_regio_key = " + regio_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var reg_deleted = oRs("alg_regio_verwijder").value != null;
|
||||
oRs.Close();
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -44,30 +43,28 @@ var regio_deleted = regio_exists && !!regio_data.deleted;
|
||||
function reg_change()
|
||||
{
|
||||
if (FcltMgr.startEdit(window))
|
||||
window.location.href = "alg_edit_regio.asp?regio_key=<%=regio_data.id%>&embedded=1"
|
||||
window.location.href = "alg_edit_regio.asp?regio_key=<%=regio_key%>&embedded=1"
|
||||
}
|
||||
|
||||
function reg_delete()
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_regio"), function() {
|
||||
var data = {
|
||||
action: "D"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post($("form[name=u2]")[0].action,
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
});
|
||||
if (confirm(L("lcl_alg_del_txt_regio")))
|
||||
{
|
||||
$.post("alg_delete.asp",
|
||||
{ key: <%=regio_key%>,
|
||||
level: "RE" },
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body id="showbody">
|
||||
<% var buttons = [];
|
||||
if (!regio_deleted)
|
||||
if (!reg_deleted)
|
||||
{
|
||||
if (this_alg.writeman || this_alg.writeuse)
|
||||
if (this_alg.writeman || this_alg.writeman)
|
||||
buttons.push({title: L("lcl_change"), action:"reg_change()", icon: "wijzigen.png" });
|
||||
if (this_alg.writeman) // ALGMAN nodig
|
||||
buttons.push({title: L("lcl_delete"), action:"reg_delete()", icon: "delete.png" });
|
||||
@@ -76,17 +73,15 @@ var regio_deleted = regio_exists && !!regio_data.deleted;
|
||||
IFRAMER_HEADER(L("lcl_alg_regio_frame"), buttons);
|
||||
%>
|
||||
<div id="show">
|
||||
<% if (regio_deleted)
|
||||
<% if (reg_deleted == 1)
|
||||
{
|
||||
%> <div class="alg_deleted"><%=L("lcl_record_is_deleted")%></div><%
|
||||
}
|
||||
%>
|
||||
<form name=u2
|
||||
action="alg_edit_regio_save.asp?regio_key=<%=regio_data.id%>"
|
||||
onSubmit="return false">
|
||||
<% BLOCK_START("algInfo", " ");
|
||||
<form name=u2 onSubmit="return false;">
|
||||
<% BLOCK_START("algInfo", "");
|
||||
FCLTplaatsselector(-1,
|
||||
{ regiokey: regio_data.id,
|
||||
{ regiokey: regio_key,
|
||||
startlevel: 0, // Regio
|
||||
eindlevel: 0, // Regio
|
||||
readonly: true });
|
||||
|
||||
@@ -16,59 +16,92 @@
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/plaatsselector.inc" -->
|
||||
<!-- #include file="alg_flexkenmerk.inc" -->
|
||||
<!-- #include file="../API2/api2.inc" -->
|
||||
<!-- #include file="../API2/model_rooms.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
js: [] })
|
||||
|
||||
var room_key = getQParamInt("room_key");
|
||||
|
||||
var room_params = { filter: { id: room_key
|
||||
, scope: "fe"
|
||||
, show_deleted: true // Ook indien verwijderd ophalen.
|
||||
},
|
||||
include: ["cadcontours"]
|
||||
};
|
||||
var rooms = new model_rooms(room_key, room_params);
|
||||
|
||||
var room_data = rooms.data
|
||||
var this_alg = room_params.func_enabled; // room_params bevat nu ook waarden die in API2 zijn bepaald.
|
||||
var room_deleted = !!room_data.deleted;
|
||||
|
||||
if (!room_data.cadcontours.length)
|
||||
room_data.cadcontours = [{}];
|
||||
var room_key = getQParamInt("room_key");
|
||||
var onrgoedlvl = "R";
|
||||
var this_alg = alg.func_enabled(room_key, onrgoedlvl);
|
||||
user.auth_required_or_abort(this_alg.readman || this_alg.readuse);
|
||||
|
||||
// Voorkom ellende met alg_ruimte_key ambigue gedefinieerd
|
||||
var sqlSync = "SELECT sync.alg_ruimte_key cad_ar_key"
|
||||
+ " , c.cad_imp_contour_opp"
|
||||
+ " , c.cad_imp_contour_opp_alt1"
|
||||
+ " , c.cad_imp_contour_opp_alt2"
|
||||
+ " FROM " + S("fg_syncruimteview") + " sync"
|
||||
+ " , cad_imp_contour c"
|
||||
+ " , cad_tekening t"
|
||||
+ " , alg_ruimte ar "
|
||||
+ " WHERE sync.cadlabel = c.cad_imp_contour_nr"
|
||||
+ " AND t.cad_tekening_key = c.cad_tekening_key"
|
||||
+ " AND t.alg_verdieping_key = sync.alg_verdieping_key"
|
||||
+ " AND sync.alg_ruimte_key = ar.alg_ruimte_key";
|
||||
var sql = "SELECT g.alg_ruimte_key"
|
||||
+ " , g.alg_ruimte_nr"
|
||||
+ " , g.alg_ruimte_omschrijving"
|
||||
+ " , g.alg_srtruimte_key"
|
||||
+ " , g.alg_ruimte_bruto_vloeropp"
|
||||
+ " , g.alg_ruimte_opp_alt1"
|
||||
+ " , g.alg_ruimte_opp_alt2"
|
||||
+ " , g.alg_ruimte_omtrek"
|
||||
+ " , g.alg_ruimte_inhoud"
|
||||
+ " , g.alg_ruimte_opmerking"
|
||||
+ " , g.alg_ruimte_verwijder"
|
||||
+ " , sync.cad_imp_contour_opp"
|
||||
+ " , sync.cad_imp_contour_opp_alt1"
|
||||
+ " , sync.cad_imp_contour_opp_alt2"
|
||||
+ " , mld_dienstniveau_key"
|
||||
+ " FROM alg_ruimte g"
|
||||
+ " , (" + sqlSync + ") sync"
|
||||
+ " WHERE sync.cad_ar_key (+)= g.alg_ruimte_key"
|
||||
+ " AND alg_ruimte_key = " + room_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var room_srt = oRs("alg_srtruimte_key").value;
|
||||
var room_nr = oRs("alg_ruimte_nr").value;
|
||||
var room_oms = oRs("alg_ruimte_omschrijving").value;
|
||||
var room_opp = oRs("alg_ruimte_bruto_vloeropp").value;
|
||||
var room_omt = oRs("alg_ruimte_omtrek").value;
|
||||
var room_inh = oRs("alg_ruimte_inhoud").value;
|
||||
var room_opm = oRs("alg_ruimte_opmerking").value;
|
||||
var room_oppa1 = oRs("alg_ruimte_opp_alt1").value;
|
||||
var room_oppa2 = oRs("alg_ruimte_opp_alt2").value;
|
||||
var room_deleted = oRs("alg_ruimte_verwijder").value != null;
|
||||
var contour_opp = oRs("cad_imp_contour_opp").value;
|
||||
var contour_opp1 = oRs("cad_imp_contour_opp_alt1").value;
|
||||
var contour_opp2 = oRs("cad_imp_contour_opp_alt2").value;
|
||||
var dienstniveau = oRs("mld_dienstniveau_key").value;
|
||||
oRs.Close();
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<script type="text/javascript" >
|
||||
function room_change()
|
||||
{
|
||||
if (FcltMgr.startEdit(window))
|
||||
window.location.href = "alg_edit_ruimte.asp?room_key=<%=room_key%>"
|
||||
}
|
||||
function room_delete()
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_ruimte"), function() {
|
||||
var data = {
|
||||
room_action: "D"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post($("form[name=u2]")[0].action,
|
||||
data,
|
||||
function room_change()
|
||||
{
|
||||
if (FcltMgr.startEdit(window))
|
||||
window.location.href = "alg_edit_ruimte.asp?room_key=<%=room_key%>"
|
||||
}
|
||||
function room_delete()
|
||||
{
|
||||
if (confirm(L("lcl_alg_del_txt_ruimte")))
|
||||
{
|
||||
$.post("alg_delete.asp",
|
||||
{ key: <%=room_key%>,
|
||||
level: "R" },
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
});
|
||||
}
|
||||
function openFG()
|
||||
{
|
||||
var url = '../cad/ShowRoom.asp?rKey=' + <%=room_key%>;
|
||||
FcltMgr.openModalDetail(url, { titel: L("lcl_prs_wp_fgraph" ) + ": <%=safe.jsstring(room_data.name) %>"});
|
||||
}
|
||||
}
|
||||
}
|
||||
function openFG()
|
||||
{
|
||||
var url = '../cad/ShowRoom.asp?rKey=' + <%=room_key%>;
|
||||
FcltMgr.openModalDetail(url, { titel: L("lcl_prs_wp_fgraph" ) + ": <%=safe.jsstring(room_nr) %>"});
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -82,78 +115,84 @@ if (!room_data.cadcontours.length)
|
||||
var xfunc = user.func_enabled2("CAD", { isOptional: true });
|
||||
if (xfunc && xfunc.canRead("WEB_CADUSE"))
|
||||
buttons.push({title: L("lcl_prs_wp_fgraph"), action:"openFG()", icon: "zone.png" });
|
||||
if (this_alg.writeman) // RUIMAN nodig
|
||||
if (this_alg.writeman) // ALGMAN nodig
|
||||
buttons.push({title: L("lcl_delete"), action:"room_delete()", icon: "delete.png" });
|
||||
}
|
||||
|
||||
IFRAMER_HEADER(L("lcl_alg_ruimte_frame"), buttons);
|
||||
%>
|
||||
<div id="show">
|
||||
<%
|
||||
if (room_deleted)
|
||||
<% if (room_deleted)
|
||||
{
|
||||
%> <div class="alg_deleted"><%=L("lcl_record_is_deleted")%></div><%
|
||||
}
|
||||
%>
|
||||
<form name=u2
|
||||
action="alg_edit_ruimte_save.asp?room_key=<%=room_data.id%>"
|
||||
onSubmit="return false">
|
||||
<form name=u2 onSubmit="return false;">
|
||||
<%
|
||||
BLOCK_START("algLoc1", " ");
|
||||
BLOCK_START("algLoc1", "");
|
||||
|
||||
FCLTplaatsselector(-1, {
|
||||
ruimtekey: room_key,
|
||||
startlevel: 2, //Locatie
|
||||
eindlevel: 4, //Verdieping
|
||||
moreinfo: true,
|
||||
readonly: true });
|
||||
FCLTplaatsselector(-1, {
|
||||
ruimtekey: room_key,
|
||||
startlevel: 2, //Locatie
|
||||
eindlevel: 4, //Verdieping
|
||||
moreinfo: true,
|
||||
readonly: true });
|
||||
|
||||
var params = { infoPointer: { Url: "appl/shared/status_info.asp?room_key=" + room_key + "&urole=bo",
|
||||
Title: L("lcl_status_details") + " " + room_data.name
|
||||
}
|
||||
}
|
||||
var params = { infoPointer: { Url: "appl/shared/status_info.asp?room_key=" + room_key + "&urole=bo",
|
||||
Title: L("lcl_status_details") + " " + room_nr
|
||||
}
|
||||
}
|
||||
|
||||
ROFIELDTR("fldshort", L("lcl_estate_ruimte_man_nr"), room_data.name, params);
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_man_descr"), room_data.description);
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_man_sort"), (room_data.roomtype ? room_data.roomtype.name : ""), {suppressEmpty:true});
|
||||
ROFIELDTR("fld", L("lcl_mld_dienst_niveau"), (room_data.servicelevel ? room_data.servicelevel.name : ""), {suppressEmpty:true});
|
||||
ROFIELDTR("fldshort", L("lcl_estate_ruimte_man_nr"), room_nr, params);
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_man_descr"), room_oms);
|
||||
|
||||
if (room_srt)
|
||||
{
|
||||
sql = "SELECT alg_srtruimte_key, "
|
||||
+ lcl.xsqla("alg_srtruimte_omschrijving", "alg_srtruimte_key")
|
||||
+ " FROM alg_srtruimte "
|
||||
+ " WHERE alg_srtruimte_key="+room_srt ;
|
||||
oRs = Oracle.Execute(sql);
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_man_sort"), oRs("alg_srtruimte_omschrijving").value);
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
if (dienstniveau)
|
||||
{
|
||||
sql = "SELECT mld_dienstniveau_key, "
|
||||
+ lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
+ " FROM mld_dienstniveau "
|
||||
+ " WHERE mld_dienstniveau_key = " + dienstniveau;
|
||||
oRs = Oracle.Execute(sql);
|
||||
ROFIELDTR("fld", L("lcl_mld_dienst_niveau"), oRs("mld_dienstniveau_omschr").value);
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
BLOCK_END();
|
||||
BLOCK_START("algLoc2", " ");
|
||||
BLOCK_START("algLoc2", "");
|
||||
|
||||
ROFIELDTR("fldshort", L("lcl_estate_ruimte_bruto_vloeropp"), room_data.grossarea, {suppressEmpty:true, datatype: "float"});
|
||||
if (room_data.grossarea != room_data.cadcontours[0].cadarea)
|
||||
ROFIELDTR("fldshort", L("lcl_estate_ruimte_getekendopp"), room_data.cadcontours[0].cadarea, {suppressEmpty:true, datatype: "float"});
|
||||
ROFIELDTR("fldshort", L("lcl_estate_ruimte_opp_alt1"), room_data.area1, {suppressEmpty:true, datatype: "float"});
|
||||
if (room_data.area1 != room_data.cadcontours[0].cadalt1)
|
||||
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt1"), room_data.cadcontours[0].cadalt1, {suppressEmpty:true, datatype: "float"});
|
||||
ROFIELDTR("fldshort", L("lcl_estate_ruimte_opp_alt2"), room_data.area2, {suppressEmpty:true, datatype: "float"});
|
||||
if (room_data.area2 != room_data.cadcontours[0].cadalt2)
|
||||
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt2"), room_data.cadcontours[0].cadalt2, {suppressEmpty:true, datatype: "float"});
|
||||
ROFIELDTR("fldshort", L("lcl_estate_ruimte_man_omtrek"), room_data.perimeter, {suppressEmpty:true, datatype: "float"});
|
||||
ROFIELDTR("fldshort", L("lcl_estate_ruimte_man_inhoud"), room_data.volume, {suppressEmpty:true, datatype: "float"});
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_man_opmerk"), room_data.remark, {suppressEmpty:true});
|
||||
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_beginuur"), toTimeString(room_data.openfrom), {suppressEmpty:true});
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_einduur"), room_data.opento==24?"24:00":toTimeString(room_data.opento), {suppressEmpty:true});
|
||||
|
||||
switch (room_data.workdays)
|
||||
{
|
||||
case 0: werkdagentekst = L("lcl_No"); break;
|
||||
case 1: werkdagentekst = L("lcl_Yes"); break;
|
||||
default: werkdagentekst = L("lcl_alg_ruimte_volgens_gebouw");
|
||||
}
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_werkdagen"), werkdagentekst);
|
||||
ROFIELDTR("fldshort", L("lcl_estate_ruimte_bruto_vloeropp"), room_opp, {suppressEmpty:true});
|
||||
if (room_opp != contour_opp)
|
||||
ROFIELDTR("fldshort", L("lcl_estate_ruimte_getekendopp"), contour_opp, {suppressEmpty:true});
|
||||
ROFIELDTR("fldshort", L("lcl_estate_ruimte_opp_alt1"), room_oppa1, {suppressEmpty:true});
|
||||
if (room_oppa1 != contour_opp1)
|
||||
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt1"), contour_opp1, {suppressEmpty:true});
|
||||
ROFIELDTR("fldshort", L("lcl_estate_ruimte_opp_alt2"), room_oppa2, {suppressEmpty:true});
|
||||
if (room_oppa2 != contour_opp2)
|
||||
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt2"), contour_opp2, {suppressEmpty:true});
|
||||
ROFIELDTR("fldshort", L("lcl_estate_ruimte_man_omtrek"), room_omt, {suppressEmpty:true});
|
||||
ROFIELDTR("fldshort", L("lcl_estate_ruimte_man_inhoud"), room_inh, {suppressEmpty:true});
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_man_opmerk"), room_opm, {suppressEmpty:true});
|
||||
|
||||
BLOCK_END();
|
||||
|
||||
generateFlexKenmerkBlock ({
|
||||
onrgoed_key : room_key,
|
||||
onrgoed_niveau : rooms.defaults.onrgoedlvl,
|
||||
reado : true,
|
||||
flexcolumns : S("alg_flexcolumns"),
|
||||
this_alg : this_alg
|
||||
});
|
||||
onrgoed_key : room_key,
|
||||
onrgoed_niveau : onrgoedlvl,
|
||||
reado : true,
|
||||
flexcolumns : S("alg_flexcolumns"),
|
||||
this_alg : this_alg
|
||||
});
|
||||
%>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/plaatsselector.inc" -->
|
||||
<!-- #include file="../API2/api2.inc" -->
|
||||
<!-- #include file="alg_flexkenmerk.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
@@ -26,7 +25,7 @@ FCLTHeader.Requires({ plugins: ["jQuery"],
|
||||
|
||||
var ter_key = getQParamInt("ter_key");
|
||||
var onrgoedlvl = "T";
|
||||
var this_alg = alg.func_enabled(ter_key, onrgoedlvl);
|
||||
var this_alg = alg.func_enabled(loc_key, onrgoedlvl);
|
||||
user.auth_required_or_abort(this_alg.readman || this_alg.readuse);
|
||||
|
||||
var sql = "SELECT ts.alg_locatie_key"
|
||||
@@ -42,9 +41,6 @@ var sql = "SELECT ts.alg_locatie_key"
|
||||
+ " , ts.alg_terreinsector_aanmaak"
|
||||
+ " , ts.alg_terreinsector_omschrijving"
|
||||
+ " , ts.alg_terreinsector_ordernr"
|
||||
+ " , ts.alg_terreinsector_toon_telef"
|
||||
+ " , ts.alg_terreinsector_toon_email"
|
||||
+ " , ts.alg_terreinsector_toon_kentk"
|
||||
+ " , ts.prs_kostenplaats_key"
|
||||
+ " ,(SELECT " + S("prs_kpn_string") + " kpstring"
|
||||
+ " FROM prs_kostenplaats k"
|
||||
@@ -53,7 +49,6 @@ var sql = "SELECT ts.alg_locatie_key"
|
||||
+ " , (SELECT prs_afdeling_omschrijving"
|
||||
+ " FROM prs_afdeling a"
|
||||
+ " WHERE a.prs_afdeling_key = ts.prs_afdeling_key) afdeling_oms"
|
||||
+ " , ts.alg_terreinsector_vervaldatum"
|
||||
+ " , ts.alg_terreinsector_verwijder"
|
||||
+ " FROM alg_terreinsector ts"
|
||||
+ " WHERE ts.alg_terreinsector_key = " + ter_key;
|
||||
@@ -69,50 +64,39 @@ var ter_omt = oRs("alg_terreinsector_omtrek").value;
|
||||
var ter_aanmk = oRs("alg_terreinsector_aanmaak").value;
|
||||
var ter_oms = oRs("alg_terreinsector_omschrijving").value;
|
||||
var ter_ordnr = oRs("alg_terreinsector_ordernr").value;
|
||||
var toon_telefoon = oRs("alg_terreinsector_toon_telef").Value;
|
||||
var toon_email = oRs("alg_terreinsector_toon_email").Value;
|
||||
var toon_kenteken = oRs("alg_terreinsector_toon_kentk").Value;
|
||||
var prs_kstn = oRs("prs_kostenplaats_key").value;
|
||||
var prs_kstpl = oRs("kostenplaats_oms").value;
|
||||
var prs_afd = oRs("afdeling_oms").value;
|
||||
var ter_deleted = oRs("alg_terreinsector_verwijder").value != null;
|
||||
var vervaldatum = oRs("alg_terreinsector_vervaldatum").Value;
|
||||
oRs.Close();
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<script type="text/javascript">
|
||||
|
||||
$(function()
|
||||
{
|
||||
$('textarea').resize(function () { FcltMgr.resized(window) } );
|
||||
$('textarea').autogrow();
|
||||
<script type="text/javascript" >
|
||||
jQuery(document).ready(function() {
|
||||
$('textarea').resize(function () { FcltMgr.resized(window) } );
|
||||
$('textarea').autogrow();
|
||||
});
|
||||
|
||||
function ter_change()
|
||||
{
|
||||
if (FcltMgr.startEdit(window))
|
||||
window.location.href = "alg_edit_terreinsector.asp?ter_key=<%=ter_key%>"
|
||||
if (FcltMgr.startEdit(window))
|
||||
window.location.href = "alg_edit_terreinsector.asp?ter_key=<%=ter_key%>"
|
||||
}
|
||||
|
||||
function ter_delete()
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_terreinsector"), function() {
|
||||
var data = {
|
||||
key: <%=ter_key%>,
|
||||
level: "T"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
var ter_key = <%=ter_key%>
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
});
|
||||
if (confirm(L("lcl_alg_del_txt_terreinsector")))
|
||||
{
|
||||
var ter_key = <%=ter_key%>
|
||||
$.post("alg_delete.asp",
|
||||
{ key: <%=ter_key%>,
|
||||
level: "T" },
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -144,45 +128,14 @@ oRs.Close();
|
||||
readonly: true
|
||||
});
|
||||
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_sort"), ter_sroms, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_sort"), ter_sroms);
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_code"), ter_code);
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_name"), ter_naam);
|
||||
ROFIELDTR("fld", L("lcl_prs_dept_kosten"), prs_kstpl, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_prs_dept_kosten"), prs_kstpl);
|
||||
ROFIELDTR("fld", L("lcl_dep_name_level2"), prs_afd);
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_ordernr"), ter_ordnr, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_oppervlak"), ter_opp, {suppressEmpty: true, datatype: "float"});
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_omtrek"), ter_omt, {suppressEmpty: true, datatype: "float"});
|
||||
var fldcls = "fld";
|
||||
if (vervaldatum <= new Date())
|
||||
fldcls += " expired2";
|
||||
ROFIELDTR(fldcls, L("lcl_alg_vervaldatum"), toDateString(vervaldatum), {suppressEmpty: true});
|
||||
var sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toontelfLOV"));
|
||||
FCLTselector("toon_telefoon",
|
||||
sql,
|
||||
{ label: L("lcl_estate_gebouw_toon_telefoon"),
|
||||
initKey: toon_telefoon,
|
||||
readonly: true,
|
||||
suppressEmpty: true,
|
||||
extraclass: "notmulti"
|
||||
});
|
||||
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonmailLOV"));
|
||||
FCLTselector("toon_email",
|
||||
sql,
|
||||
{ label: L("lcl_estate_gebouw_toon_email"),
|
||||
initKey: toon_email,
|
||||
readonly: true,
|
||||
suppressEmpty: true,
|
||||
extraclass: "notmulti"
|
||||
});
|
||||
sql = api2.splitLOV2sql(L("lcl_estate_gebouw_toonkentLOV"));
|
||||
FCLTselector("toon_kenteken",
|
||||
sql,
|
||||
{ label: L("lcl_estate_gebouw_toon_kenteken"),
|
||||
initKey: toon_kenteken,
|
||||
readonly: true,
|
||||
suppressEmpty: true,
|
||||
extraclass: "notmulti"
|
||||
});
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_ordernr"), ter_ordnr);
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_oppervlak"), ter_opp);
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_omtrek"), ter_omt);
|
||||
|
||||
BLOCK_END();
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ var flr_omschr = oRs("alg_verdieping_omschrijving").value;
|
||||
var flr_volgnr = oRs("alg_verdieping_volgnr").value;
|
||||
var flr_code = oRs("alg_verdieping_code").value;
|
||||
var flr_deleted = oRs("alg_verdieping_verwijder").value != null;
|
||||
var dienstniveau_key = oRs("mld_dienstniveau_key").value;
|
||||
var dienstniveau = oRs("mld_dienstniveau_key").value;
|
||||
oRs.Close();
|
||||
%>
|
||||
|
||||
@@ -52,17 +52,14 @@ oRs.Close();
|
||||
|
||||
function flr_delete()
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_verdieping"), function() {
|
||||
var data = {
|
||||
key: <%=flr_key%>,
|
||||
level: "V"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
});
|
||||
if (confirm(L("lcl_alg_del_txt_verdieping")))
|
||||
{
|
||||
$.post("alg_delete.asp",
|
||||
{ key: <%=flr_key%>,
|
||||
level: "V" },
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
@@ -86,35 +83,27 @@ oRs.Close();
|
||||
}
|
||||
%>
|
||||
<form name=u2 onSubmit="return false;">
|
||||
<% BLOCK_START("algLoc1", " ");
|
||||
<% BLOCK_START("algLoc1", "");
|
||||
FCLTplaatsselector(-1, {
|
||||
verdiepingkey: flr_key,
|
||||
startlevel: 2, //locatie
|
||||
eindlevel: 4, // Verdieping
|
||||
moreinfo: true,
|
||||
readonly: true });
|
||||
|
||||
ROFIELDTR("fld", L("lcl_estate_verdieping_man_code"), flr_code);
|
||||
ROFIELDTR("fld", L("lcl_estate_verdieping_man_volgnr"), flr_volgnr);
|
||||
if (dienstniveau_key)
|
||||
if (dienstniveau)
|
||||
{
|
||||
sql = "SELECT mld_dienstniveau_key, "
|
||||
+ lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
+ " FROM mld_dienstniveau "
|
||||
+ " WHERE mld_dienstniveau_key = " + dienstniveau_key;
|
||||
+ " WHERE mld_dienstniveau_key = " + dienstniveau;
|
||||
oRs = Oracle.Execute(sql);
|
||||
ROFIELDTR("fld", L("lcl_mld_dienst_niveau"), oRs("mld_dienstniveau_omschr").value);
|
||||
oRs.Close();
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("algLoc2", " ");
|
||||
var calcopp = alg.calc_algm2(flr_key, onrgoedlvl);
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_bruto_vloeropp") + L("lcl_estate_calc_vloeropp"), calcopp.oppbruto, {suppressEmpty: true, datatype: "float"});
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt1") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt1, {suppressEmpty: true, datatype: "float"});
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt2") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt2, {suppressEmpty: true, datatype: "float"});
|
||||
BLOCK_END();
|
||||
|
||||
generateFlexKenmerkBlock ({
|
||||
onrgoed_key : flr_key,
|
||||
onrgoed_niveau : onrgoedlvl,
|
||||
|
||||
@@ -40,6 +40,7 @@ var wp_opp = oRs("prs_werkplek_opp").value;
|
||||
var wp_vstopp = oRs("prs_werkplek_vastopp").value;
|
||||
var wp_virt = oRs("prs_werkplek_virtueel").value;
|
||||
var room_key = oRs("prs_alg_ruimte_key").value;
|
||||
var wp_deleted = oRs("prs_werkplek_verwijder").value != null;
|
||||
var wp_type = oRs("PRS_WERKPLEK_TYPE").value;
|
||||
oRs.Close();
|
||||
|
||||
@@ -58,31 +59,34 @@ var wp_typ_str = (wp_type == 1 ? L("lcl_wptype_1") : L("lcl_wptype_0"));
|
||||
function wp_delete()
|
||||
{
|
||||
var wp_key = <%=wp_key%>;
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_werkplek"), function() {
|
||||
var data = {
|
||||
key: <%=wp_key%>,
|
||||
level: "W"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
if (confirm(L("lcl_alg_del_txt_werkplek")))
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
});
|
||||
{ key: <%=wp_key%>,
|
||||
level: "W" },
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body id="showbody">
|
||||
<% var buttons = [];
|
||||
if (alg.canWriteRuimte(room_key, authparams.rmALGwritelevel)) // ALGUSE schrijfrechten nodig
|
||||
if (!wp_deleted)
|
||||
{
|
||||
var buttons = [ {title: L("lcl_change"), action:"wp_change()", icon: "wijzigen.png" },
|
||||
{title: L("lcl_delete"), action:"wp_delete()", icon: "delete.png" } ];
|
||||
if (alg.canWriteRuimte(room_key, authparams.uALGwritelevel)) // ALGUSE schrijfrechten nodig
|
||||
{
|
||||
var buttons = [ {title: L("lcl_change"), action:"wp_change()", icon: "wijzigen.png" },
|
||||
{title: L("lcl_delete"), action:"wp_delete()", icon: "delete.png" } ];
|
||||
}
|
||||
}
|
||||
IFRAMER_HEADER(L("lcl_alg_wp_frame"), buttons);
|
||||
%>
|
||||
<div id="show">
|
||||
<% if (wp_deleted == 1)
|
||||
{
|
||||
%> <div class="prs_deleted"><%=L("lcl_record_is_deleted")%></div><%
|
||||
}
|
||||
%>
|
||||
<form name=u2 onSubmit="return false;">
|
||||
<% BLOCK_START("algInfo", "");
|
||||
FCLTplaatsselector(authparams.ALGreadlevel,
|
||||
@@ -106,10 +110,13 @@ var wp_typ_str = (wp_type == 1 ? L("lcl_wptype_1") : L("lcl_wptype_0"));
|
||||
</label>
|
||||
</td>
|
||||
</tr>
|
||||
<% ROFIELDTR("fld", L("lcl_estate_wp_area"), wp_opp, {suppressEmpty:true, datatype: "float"});
|
||||
if (wp_virt==1)
|
||||
CHECKBOXTR(L("lcl_estate_wp_virt"), "fldalgbez", "wp_virt", wp_virt, { suppressEmpty:true, html: " disabled" });
|
||||
ROFIELDTR("wp_type", L("lcl_wptype"), wp_typ_str);
|
||||
<% ROFIELDTR("fld", L("lcl_estate_wp_area"), wp_opp, {suppressEmpty:true});
|
||||
%>
|
||||
<tr>
|
||||
<td class="label"><label><%=L("lcl_estate_wp_virt")%>:</label></td>
|
||||
<td><input class="fldalgbez" type="checkbox" id="wp_virt" name="wp_virt" value="<%=wp_virt%>" <%= wp_virt==1 ? " checked " : "" %>disabled></td>
|
||||
</tr>
|
||||
<% ROFIELDTR("wp_type", L("lcl_wptype"), wp_typ_str);
|
||||
%>
|
||||
</table>
|
||||
<% BLOCK_END();
|
||||
|
||||
@@ -1,338 +0,0 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: alg_srtruimte.asp
|
||||
Description: Wijzigen van srtruimte gegevens
|
||||
Parameters:
|
||||
Context:
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/disciplineselector.inc" -->
|
||||
<!-- #include file="../Shared/stdmeldingselector.inc" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({js: ["jquery-ui.js"]});
|
||||
|
||||
var srtruimte_key = getQParamInt("alg_srtruimte_key", -1); // default is nieuwe
|
||||
var mode = getQParam("mode", "show");
|
||||
|
||||
if (srtruimte_key == -1 && mode == "show")
|
||||
mode = "new";
|
||||
|
||||
var authparams = user.checkAutorisation("WEB_ALGMSU");
|
||||
|
||||
var srtr_info = {};
|
||||
|
||||
if (srtruimte_key > 0)
|
||||
{ // bestaande ruimtesoort
|
||||
var sql = "SELECT r.alg_srtruimte_key"
|
||||
+ " , r.alg_srtruimte_omschrijving"
|
||||
+ " , r.alg_srtruimte_prijs"
|
||||
+ " , r.alg_srtruimte_prijs2"
|
||||
+ " , r.alg_srtruimte_prijs3"
|
||||
+ " , r.alg_srtruimte_prijs4"
|
||||
+ " , r.alg_srtruimte_prijs5"
|
||||
+ " , r.alg_srtruimte_code"
|
||||
+ " , r.prs_bevat_werkplek"
|
||||
+ " , r.prs_verhuurbaar"
|
||||
+ " , r.alg_srtruimte_t_uitvoertijd.tijdsduur uitvoertijd_t"
|
||||
+ " , r.alg_srtruimte_t_uitvoertijd.eenheid uitvoertijd_e"
|
||||
+ " , r.alg_srtruimte_verwijder"
|
||||
+ " FROM alg_srtruimte r"
|
||||
+ " WHERE alg_srtruimte_key = " + srtruimte_key;
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
var srtr_info = { alg_srtruimte_omschrijving: oRs("alg_srtruimte_omschrijving").Value,
|
||||
alg_srtruimte_prijs: oRs("alg_srtruimte_prijs").Value,
|
||||
alg_srtruimte_prijs2: oRs("alg_srtruimte_prijs2").Value,
|
||||
alg_srtruimte_prijs3: oRs("alg_srtruimte_prijs3").Value,
|
||||
alg_srtruimte_prijs4: oRs("alg_srtruimte_prijs4").Value,
|
||||
alg_srtruimte_prijs5: oRs("alg_srtruimte_prijs5").Value,
|
||||
alg_srtruimte_code: oRs("alg_srtruimte_code").Value,
|
||||
prs_bevat_werkplek: oRs("prs_bevat_werkplek").Value,
|
||||
prs_verhuurbaar: oRs("prs_verhuurbaar").Value,
|
||||
tijd_uitvoertijd: oRs("uitvoertijd_t").Value,
|
||||
eenh_uitvoertijd: oRs("uitvoertijd_e").Value
|
||||
};
|
||||
var srtruimte_deleted = oRs("alg_srtruimte_verwijder").value != null;
|
||||
}
|
||||
oRs.close();
|
||||
}
|
||||
else
|
||||
{ // nieuwe ruimtesoort
|
||||
var srtr_info = { alg_srtruimte_omschrijving: "",
|
||||
alg_srtruimte_code: "",
|
||||
tijd_uitvoertijd: null,
|
||||
eenh_uitvoertijd: null
|
||||
};
|
||||
}
|
||||
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
<%
|
||||
FCLTHeader.Generate();
|
||||
|
||||
if (mode == "save")
|
||||
{
|
||||
var fields = [ { dbs: "alg_srtruimte_omschrijving", typ: "varchar", frm: "omschrijving" },
|
||||
{ dbs: "alg_srtruimte_prijs", typ: "float", frm: "prijs" },
|
||||
{ dbs: "alg_srtruimte_prijs2", typ: "float", frm: "prijs2" },
|
||||
{ dbs: "alg_srtruimte_prijs3", typ: "float", frm: "prijs3" },
|
||||
{ dbs: "alg_srtruimte_prijs4", typ: "float", frm: "prijs4" },
|
||||
{ dbs: "alg_srtruimte_prijs5", typ: "float", frm: "prijs5" },
|
||||
{ dbs: "alg_srtruimte_code", typ: "varchar", frm: "code" },
|
||||
{ dbs: "prs_bevat_werkplek", typ: "check", frm: "bevatwerkplek" },
|
||||
{ dbs: "prs_verhuurbaar", typ: "check", frm: "verhuurbaar" }
|
||||
];
|
||||
|
||||
// Checken of het eenheden selectveld met dagen/uren bij "Uitvoertijd" niet readonly was en wel is meegegeven.
|
||||
// Als dit eenheden selectieveld readonly was dan is er geen waarde voor uitvoertijd ingevuld en moeten beide waarden null worden.
|
||||
fields = shared.add_time_field(fields, "alg_srtruimte_t_uitvoertijd", "uitvoertijd", "dayshours_urg");
|
||||
|
||||
// Update, delete of insert uitvoeren.
|
||||
if (srtruimte_key > 0)
|
||||
{
|
||||
var sql = buildUpdate("alg_srtruimte", fields)
|
||||
+ " alg_srtruimte_key = " + srtruimte_key;
|
||||
var err = Oracle.Execute(sql, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
fields.push( { dbs: "alg_srtruimte_key", typ: "key", seq: "alg_s_alg_srtruimte_key" } );
|
||||
var algIns = buildInsert("alg_srtruimte", fields);
|
||||
var alg_srtruimte_key = algIns.sequences["alg_srtruimte_key"];
|
||||
var err = Oracle.Execute(algIns.sql, true);
|
||||
srtruimte_key = alg_srtruimte_key;
|
||||
}
|
||||
|
||||
if (err.friendlyMsg)
|
||||
{
|
||||
%>
|
||||
<script>
|
||||
FcltMgr.alert("<%=safe.jsstring(err.friendlyMsg)%>");
|
||||
</script>
|
||||
<%
|
||||
}
|
||||
else
|
||||
{
|
||||
%>
|
||||
<script>
|
||||
$(function () {parent.window.location.href="alg_srtruimte.asp?mode=show&alg_srtruimte_key=<%=srtruimte_key%>";} );
|
||||
</script>
|
||||
<%
|
||||
}
|
||||
Response.End;
|
||||
}
|
||||
else if (srtruimte_key > 0 && mode == "delete")
|
||||
{
|
||||
var sql = "UPDATE alg_srtruimte"
|
||||
+ " SET alg_srtruimte_verwijder = SYSDATE"
|
||||
+ " WHERE alg_srtruimte_verwijder IS NULL"
|
||||
+ " AND alg_srtruimte_key = " + srtruimte_key;
|
||||
var err = Oracle.Execute(sql, true);
|
||||
%>
|
||||
<script>
|
||||
$(function ()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { alg_srtruimte_key: <%=srtruimte_key%>,
|
||||
warning: "<%=safe.jsstring(err.friendlyMsg)%>",
|
||||
keepForm: <%=err.friendlyMsg? "true" : "false"%>
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<%
|
||||
Response.End;
|
||||
}
|
||||
%>
|
||||
<script type="text/javascript" >
|
||||
|
||||
function alg_submit()
|
||||
{
|
||||
$("#verhuurbaar").prop("disabled", false); // Weer enabled zodat waarde ook gesubmit wordt.
|
||||
if (!validateForm("u2"))
|
||||
return false;
|
||||
|
||||
document.forms.u2.submit();
|
||||
}
|
||||
|
||||
function alg_edit()
|
||||
{
|
||||
window.location.href = "alg_srtruimte.asp?mode=edit&alg_srtruimte_key=<%=srtruimte_key%>";
|
||||
}
|
||||
|
||||
function alg_delete()
|
||||
{
|
||||
FcltMgr.confirm("<%=safe.jsstring(L("lcl_R_U_sure"))%>",
|
||||
function() {
|
||||
window.location.href = "../alg/alg_srtruimte.asp?mode=delete&alg_srtruimte_key=<%=srtruimte_key%>";
|
||||
});
|
||||
}
|
||||
|
||||
function alg_cancel()
|
||||
{
|
||||
if (<%=srtruimte_key%> > 0)
|
||||
{
|
||||
window.location.href = "alg_srtruimte.asp?mode=show&alg_srtruimte_key=<%=srtruimte_key%>";
|
||||
}
|
||||
else
|
||||
{
|
||||
FcltMgr.closeDetail(window, { cancel: true });
|
||||
}
|
||||
}
|
||||
|
||||
function alg_close(params)
|
||||
{
|
||||
<% if (srtruimte_key == -1)
|
||||
{
|
||||
%>
|
||||
if (params.cancel)
|
||||
{
|
||||
FcltMgr.closeDetail(window, params);
|
||||
return true;
|
||||
}
|
||||
<% }
|
||||
else
|
||||
{ // Bestaand ruimtesoort bewerkt, switch naar show-mode
|
||||
%>
|
||||
if (params.close)
|
||||
{
|
||||
FcltMgr.closeDetail(window, { close: true})
|
||||
}
|
||||
<% }
|
||||
%>
|
||||
if (!params.keepForm)
|
||||
window.location.href = "alg_srtruimte.asp?mode=show&alg_srtruimte_key=" + params.srtruimte_key;
|
||||
}
|
||||
|
||||
function onChangeBevatWerkplek()
|
||||
{
|
||||
// Als bevat_werkplek is aangevinkt, moet verhuurbaar ook aangevinkt worden (constraint ALG_C_PRS_WERKPLEK_VERHUURBAAR)
|
||||
if ($("#bevatwerkplek").is(":checked"))
|
||||
{
|
||||
$("#verhuurbaar").prop("checked", "checked");
|
||||
$("#verhuurbaar").prop("disabled", true);
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#verhuurbaar").prop("disabled", false);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function onChangeUitvoertijd()
|
||||
{
|
||||
if (isNaN(parseFloat($("#uitvoertijd").val())))
|
||||
$("#dayshours_urg").prop("disabled", true);
|
||||
else
|
||||
$("#dayshours_urg").prop("disabled", false);
|
||||
}
|
||||
|
||||
$(function()
|
||||
{
|
||||
$('textarea').resize(function () { FcltMgr.resized(window) } );
|
||||
$('textarea').autogrow();
|
||||
});
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body id="<%=((mode == "show")? "showbody" : "editbody")%>">
|
||||
<%
|
||||
var buttons = [];
|
||||
|
||||
if (!srtruimte_deleted)
|
||||
{
|
||||
if (mode == "show")
|
||||
{
|
||||
buttons.push( {title: L("lcl_change"), action:"alg_edit()", icon: "wijzigen.png" } );
|
||||
buttons.push( {title: L("lcl_delete"), action:"alg_delete()", icon: "delete.png" } );
|
||||
}
|
||||
else
|
||||
{
|
||||
buttons.push( {title: L("lcl_submit"), action:"alg_submit()", icon: "opslaan.png" } );
|
||||
buttons.push( {title: L("lcl_cancel"), action:"alg_cancel()", icon: "undo.png" } );
|
||||
}
|
||||
}
|
||||
IFRAMER_HEADER(L("lcl_alg_srtruimte_details"), buttons);
|
||||
|
||||
if (mode == "show")
|
||||
{
|
||||
myFIELD = function (a, b, c, d, e) { ROFIELDTR(b, c, d, e) };
|
||||
myTEXTAREA = function (a, b, c, d, e) { ROTEXTAREATR(b, c, d, e) };
|
||||
myCHECKBOX = function (a, b, c, d, e) { ROCHECKBOXTR(b, c, d, e) };
|
||||
}
|
||||
else
|
||||
{
|
||||
myFIELD = RWFIELDTR;
|
||||
myTEXTAREA = RWTEXTAREATR;
|
||||
myCHECKBOX = RWCHECKBOXTR;
|
||||
}
|
||||
|
||||
if (srtruimte_deleted)
|
||||
{
|
||||
%> <div class="alg_deleted"><%=L("lcl_record_is_deleted")%></div><%
|
||||
}
|
||||
|
||||
%>
|
||||
<div id="show">
|
||||
<form name="u2"
|
||||
action="alg_srtruimte.asp?mode=save&alg_srtruimte_key=<%=srtruimte_key%>"
|
||||
method="post"
|
||||
target="hidFrameSubmit"
|
||||
onSubmit="alg_submit()">
|
||||
<%
|
||||
BLOCK_START("algInfo", L("lcl_general_properties"));
|
||||
|
||||
ROFIELDTR( "fld", L("lcl_key"), srtruimte_key);
|
||||
myFIELD("omschrijving", "fld", L("lcl_descr"), srtr_info.alg_srtruimte_omschrijving, { translate: {fld: "mld_afmeldtekst_naam", key: srtruimte_key} });
|
||||
myFIELD("prijs", "fld", L("lcl_alg_alg_tarief")+" (m2)", safe.editablefloat(srtr_info.alg_srtruimte_prijs), {datatype: "float", suppressEmpty: true} );
|
||||
myFIELD("prijs2", "fld", L("lcl_alg_alg_tariefA")+" (m2)", safe.editablefloat(srtr_info.alg_srtruimte_prijs2), {datatype: "float", suppressEmpty: true} );
|
||||
myFIELD("prijs3", "fld", L("lcl_alg_alg_tariefB")+" (m2)", safe.editablefloat(srtr_info.alg_srtruimte_prijs3), {datatype: "float", suppressEmpty: true} );
|
||||
myFIELD("prijs4", "fld", L("lcl_alg_alg_tariefC")+" (m2)", safe.editablefloat(srtr_info.alg_srtruimte_prijs4), {datatype: "float", suppressEmpty: true} );
|
||||
myFIELD("prijs5", "fld", L("lcl_alg_alg_tariefD")+" (m2)", safe.editablefloat(srtr_info.alg_srtruimte_prijs5), {datatype: "float", suppressEmpty: true} );
|
||||
myFIELD("code", "fld", L("lcl_alg_srtruimte_code"), srtr_info.alg_srtruimte_code);
|
||||
myCHECKBOX("bevatwerkplek", "fldcheck", L("lcl_prs_has_workplace"), srtr_info.prs_bevat_werkplek, {html: "onChange='onChangeBevatWerkplek();'"});
|
||||
myCHECKBOX("verhuurbaar", "fldcheck", L("lcl_prs_rentable"), srtr_info.prs_verhuurbaar);
|
||||
|
||||
sql = "SELECT 'U', " + safe.quoted_sql(L("lcl_mld_hours")) + " FROM DUAL"
|
||||
+ " UNION "
|
||||
+ "SELECT 'D', " + safe.quoted_sql(L("lcl_mld_days")) + " FROM DUAL"
|
||||
+ " ORDER BY 2";
|
||||
var selectparams = { fieldName: "dayshours_urg",
|
||||
sql: sql,
|
||||
params: { id: "dayshours_urg",
|
||||
initKey: srtr_info.eenh_uitvoertijd,
|
||||
readonly: (mode == "show"),
|
||||
disable: !srtr_info.tijd_uitvoertijd
|
||||
}
|
||||
}
|
||||
myFIELD("uitvoertijd", "fldalg_uitvtijd", L("lcl_mld_stduitvoertijd"), srtr_info.tijd_uitvoertijd? Math.round(srtr_info.tijd_uitvoertijd * 100000) / 100000 : ""
|
||||
, {maxlength: 8, datatype: "float", html: "onChange='onChangeUitvoertijd();'", suppressEmpty: true, selector: selectparams});
|
||||
|
||||
BLOCK_END();
|
||||
|
||||
IFACE.FORM_END();
|
||||
|
||||
if (srtruimte_key > -1 && (user.checkAutorisation("WEB_MLDMGT", true)))
|
||||
{ // 2. De overruling van de SLA (acceptatietijd en uitvoertijd)
|
||||
page = "../mld/mld_stdmsrtruimte_search_list.asp?embedded=1&srtruimte_key=" + srtruimte_key;
|
||||
IFRAMER("mldstdmsrtruimte", page, { refreshOnClose: true, initHide: false } );
|
||||
}
|
||||
%>
|
||||
</form>
|
||||
</div>
|
||||
<iframe src="../Shared/empty.html"
|
||||
name="hidFrameSubmit"
|
||||
FcltClose="alg_close"
|
||||
style="display:none"></iframe>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,84 +0,0 @@
|
||||
<%@ LANGUAGE = JavaScript %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: alg_srtruimte_search.asp
|
||||
Description: Zoekscherm ruimtesoort
|
||||
Parameters:
|
||||
Context:
|
||||
Note:
|
||||
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["jQuery"]});
|
||||
|
||||
var autosearch = getQParamInt("autosearch", 0) == 1;
|
||||
|
||||
var authparams = user.checkAutorisation("WEB_ALGMSU");
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<%
|
||||
FCLTHeader.Generate();
|
||||
%>
|
||||
|
||||
<script type="text/javascript">
|
||||
|
||||
function doSubmit()
|
||||
{
|
||||
document.forms.u2.submit();
|
||||
}
|
||||
|
||||
$(function()
|
||||
{
|
||||
<% if (autosearch) { %> document.forms.u2.submit();<%}%>
|
||||
});
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body id="searchbody">
|
||||
<div id="search">
|
||||
<form name="u2" target="workFrame" action="alg_srtruimte_search_list.asp" method="get">
|
||||
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
|
||||
<tr>
|
||||
<td class="searchkolom1">
|
||||
<table><!-- x rijen, 2 kolommen: label + veld -->
|
||||
<tr class="primsearch">
|
||||
<td class="label"><label for="searchtext"><%=L("lcl_descr")%>:</label></td>
|
||||
<td><input type="text" class="fldsrch wildcard" name="searchtext" id="searchtext"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td><!-- end column 1 -->
|
||||
|
||||
<td class="searchkolom2">
|
||||
<table><!-- x rijen, 2 kolommen: label + veld -->
|
||||
<%
|
||||
%>
|
||||
</table>
|
||||
</td><!-- end column 2 -->
|
||||
</tr>
|
||||
<% BLOCK_END();
|
||||
|
||||
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch" } ];
|
||||
CreateButtons(buttons, { entersubmit: true});
|
||||
%>
|
||||
</form>
|
||||
</div> <!-- search -->
|
||||
|
||||
<div id="result">
|
||||
<iframe width="100%" height="100%"
|
||||
src="../Shared/empty.asp"
|
||||
name="workFrame" id="workFrame"
|
||||
onload="FcltMgr.iframeLoaded(this)"
|
||||
frameborder="0" scrolling="no">
|
||||
</iframe>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,114 +0,0 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: alg_srtruimte_search_list.asp
|
||||
Description: Vangt de parameters van alg_srtruimte_search op en verwerkt die tot een lijst
|
||||
Parameters:
|
||||
Context: Vanuit alg_srtruimte_search.asp
|
||||
Note:
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
||||
|
||||
<%
|
||||
var searchtext = getQParam("searchtext", null);
|
||||
//var fkdmodule = getQParamSafe("fkdmodule", -1);
|
||||
|
||||
var outputmode = getQParamInt("outputmode", 0); // 0 = screen, 1 = print, 2 = excel etc
|
||||
var showall = getQParamInt("showall", 0) == 1;
|
||||
|
||||
var authparams = user.checkAutorisation("WEB_ALGMSU");
|
||||
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
<%
|
||||
FCLTHeader.Generate({outputmode: outputmode});
|
||||
%>
|
||||
|
||||
<script>
|
||||
function fkd_edit(row)
|
||||
{
|
||||
var srtruimte_key = row.getAttribute("ROWKEY");
|
||||
var url = "appl/alg/alg_srtruimte.asp?alg_srtruimte_key="+srtruimte_key;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_alg_srtruimte_details")%>", {callback: FcltMgr.reload } );
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<%
|
||||
|
||||
var sql = "SELECT sr.alg_srtruimte_key"
|
||||
+ " , sr.alg_srtruimte_omschrijving"
|
||||
+ " , sr.alg_srtruimte_prijs"
|
||||
+ " , sr.alg_srtruimte_prijs2"
|
||||
+ " , sr.alg_srtruimte_prijs3"
|
||||
+ " , sr.alg_srtruimte_prijs4"
|
||||
+ " , sr.alg_srtruimte_prijs5"
|
||||
+ " , sr.alg_srtruimte_code"
|
||||
+ " , CASE WHEN sr.prs_bevat_werkplek = 1"
|
||||
+ " THEN " + safe.quoted_sql(L("lcl_yes"))
|
||||
+ " ELSE " + safe.quoted_sql(L("lcl_no"))
|
||||
+ " END bevat_werkplek"
|
||||
+ " , CASE WHEN sr.prs_verhuurbaar = 1"
|
||||
+ " THEN " + safe.quoted_sql(L("lcl_yes"))
|
||||
+ " ELSE " + safe.quoted_sql(L("lcl_no"))
|
||||
+ " END verhuurbaar"
|
||||
+ " , sr.alg_srtruimte_t_uitvoertijd.tijdsduur tijdsduur"
|
||||
+ " , sr.alg_srtruimte_t_uitvoertijd.eenheid eenheid"
|
||||
+ " FROM alg_srtruimte sr"
|
||||
+ " WHERE sr.alg_srtruimte_verwijder IS NULL"
|
||||
+ (searchtext
|
||||
? " AND sr.alg_srtruimte_upper LIKE " + safe.quoted_sql_wild("%" + searchtext + "%")
|
||||
: ""
|
||||
)
|
||||
+ " ORDER BY sr.alg_srtruimte_omschrijving";
|
||||
|
||||
function fnUitvoertijdKolom(oRs)
|
||||
{
|
||||
var tmp = "";
|
||||
if (oRs("tijdsduur").Value)
|
||||
tmp = oRs("tijdsduur").Value + " " + (oRs("eenheid").Value == "U" ? L("lcl_mld_hours") : L("lcl_mld_days"))
|
||||
|
||||
return tmp;
|
||||
}
|
||||
|
||||
buttons = {};
|
||||
//if (canAdd)
|
||||
{
|
||||
var addurl = "appl/alg/alg_srtruimte.asp?mode=edit";
|
||||
buttons = [{ icon: "plus.png", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + L("lcl_add") + "', {callback: FcltMgr.reload })" }]
|
||||
}
|
||||
|
||||
var rst = new ResultsetTable({ sql: sql,
|
||||
keyColumn: "alg_srtruimte_key",
|
||||
ID: "algsrtruimtetable",
|
||||
showAll: showall,
|
||||
outputmode: outputmode,
|
||||
title: L("lcl_menu_alg_ruimtefuncties"),
|
||||
buttons: buttons
|
||||
});
|
||||
|
||||
rst.addColumn(new Column({caption: "Key", content: "alg_srtruimte_key", datatype: "number"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_descr"), content: "alg_srtruimte_omschrijving"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_alg_alg_tarief"), content: "alg_srtruimte_prijs", datatype: "currency"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_alg_alg_tariefA"), content: "alg_srtruimte_prijs2", datatype: "currency"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_alg_alg_tariefB"), content: "alg_srtruimte_prijs3", datatype: "currency"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_alg_alg_tariefC"), content: "alg_srtruimte_prijs4", datatype: "currency"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_alg_alg_tariefD"), content: "alg_srtruimte_prijs5", datatype: "currency"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_alg_srtruimte_code"), content: "alg_srtruimte_code"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_prs_has_workplace"), content: "bevat_werkplek"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_prs_rentable"), content: "verhuurbaar"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_mld_stduitvoertijd"), content: fnUitvoertijdKolom}));
|
||||
|
||||
rst.addAction({ action: "fkd_edit", caption: L("lcl_edit"), isDefault: true});
|
||||
|
||||
var cnt = rst.processResultset();
|
||||
|
||||
%>
|
||||
</body>
|
||||
</html>
|
||||
@@ -71,7 +71,7 @@ else
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<body id="editbody">
|
||||
<% if (ter_key == -1)
|
||||
var page = "alg_edit_terreinsector.asp"; // Maak een nieuw
|
||||
else
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
*/
|
||||
%>
|
||||
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
||||
<!-- #include file="../Shared/getkenmerksql.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
@@ -19,9 +20,9 @@ FCLTHeader.Requires({ plugins:["jQuery"] });
|
||||
|
||||
function fnrowData(oRs)
|
||||
{
|
||||
var parent_key = oRs("alg_locatie_key").Value;
|
||||
var key = oRs("alg_terreinsector_key").Value;
|
||||
var oms = oRs("alg_terreinsector_omschrijving").Value;
|
||||
var parent_key = oRs("alg_locatie_key").value;
|
||||
var key = oRs("alg_terreinsector_key").value;
|
||||
var oms = oRs("alg_terreinsector_omschrijving").value;
|
||||
|
||||
var data = {parent_key: parent_key, key: key, oms: oms};
|
||||
|
||||
@@ -34,28 +35,27 @@ function fnrowData(oRs)
|
||||
|
||||
function gotoParent(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_locatie_search.asp?locatie_key=" + algData.parent_key + "&autosearch=" + autosearch;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_location")%>");
|
||||
}
|
||||
|
||||
function terreinEdit(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_terreinsector.asp?mode=viewUpdate&ter_key="+algData.key;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_terra")%>" + ' ' + algData.oms);
|
||||
}
|
||||
|
||||
function doDelete(rowArray, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_terreinsector"), { autoconfirm: isMulti }, function() {
|
||||
var terKeyString = getKeyString(rowArray);
|
||||
var data = { key: terKeyString,
|
||||
level: "T"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
var terKeyString = getKeyString(rowArray);
|
||||
if (isMulti || confirm(L("lcl_alg_del_txt_terreinsector")))
|
||||
$.post("alg_delete.asp",
|
||||
{ key: terKeyString,
|
||||
level: "T" },
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
</script>
|
||||
<%
|
||||
@@ -65,8 +65,7 @@ function terrein_list(pautfunction, params)
|
||||
// De functie checkAutorisation(autfunction) geeft een Response.End indien er geen autorisatie voor autfunction wordt gevonden
|
||||
var addButton = [];
|
||||
var authparams = alg.checkAutorisation();
|
||||
// Met ALG* bepaal je wat je ziet (Read), met RUI* en TER* bepaal je wat je kunt wijzigen (Write).
|
||||
var canAdd = (authparams.tmALGwritelevel < 9); //wat moet het zijn voor terriensector
|
||||
var canAdd = (authparams.mALGwritelevel < 9); //wat moet het zijn voor terriensector
|
||||
|
||||
// Voor resulttable de globalen zetten; zou ng anders moeten.
|
||||
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
|
||||
@@ -74,29 +73,17 @@ function terrein_list(pautfunction, params)
|
||||
|
||||
var noref = params.noref;
|
||||
|
||||
var reg_key = params.reg_key;
|
||||
var dis_key = params.dis_key;
|
||||
var loc_key = params.loc_key;
|
||||
var ter_code = params.ter_code;
|
||||
var ter_func_key = params.ter_func_key;
|
||||
var expalgincl = params.expalgincl;
|
||||
var ter_func = params.ter_func;
|
||||
|
||||
function fnrowActionEnabler(oRs) // klopt dit voor terreinsector?
|
||||
{
|
||||
var eDelete = false;
|
||||
if (alg.canWriteLocatie(oRs("alg_locatie_key").Value, authparams.tmALGwritelevel))
|
||||
eDelete = true;
|
||||
return ({eDelete: eDelete})
|
||||
}
|
||||
|
||||
function fnrowFlexParams(oRs)
|
||||
{
|
||||
var ter_key = oRs("alg_terreinsector_key").Value;
|
||||
var this_alg = alg.func_enabled(ter_key, "T");
|
||||
|
||||
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
|
||||
return flexParams;
|
||||
}
|
||||
function fnrowActionEnabler(oRs) // klopt dit voor terreinsector?
|
||||
{
|
||||
var eDelete = false;
|
||||
if (alg.canWriteLocatie(oRs("alg_locatie_key").value, authparams.mALGwritelevel))
|
||||
eDelete = true;
|
||||
return ({eDelete: eDelete})
|
||||
}
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -113,7 +100,6 @@ function terrein_list(pautfunction, params)
|
||||
+ " g.alg_terreinsector_code, "
|
||||
+ " g.alg_terreinsector_oppervlak, "
|
||||
+ " g.alg_terreinsector_omtrek, "
|
||||
+ " g.alg_terreinsector_vervaldatum, "
|
||||
+ " g.alg_srtterreinsector_key, "
|
||||
+ lcl.xsqla('s.alg_srtterreinsec_omschrijving', 's.alg_srtterreinsector_key')
|
||||
+ " FROM alg_v_aanwezigterreinsector g, "
|
||||
@@ -137,25 +123,18 @@ function terrein_list(pautfunction, params)
|
||||
{
|
||||
sqln += " AND g.alg_locatie_key = " + loc_key;
|
||||
}
|
||||
else if (dis_key)
|
||||
sqln += " AND l.alg_district_key = " + dis_key;
|
||||
else if (reg_key)
|
||||
sqln += " AND l.alg_district_key IN (SELECT alg_district_key FROM alg_district WHERE alg_regio_key = " + reg_key+")";
|
||||
|
||||
if (ter_func_key)
|
||||
if (ter_func)
|
||||
{
|
||||
sqln += " AND g.alg_srtterreinsector_key = " + ter_func_key;
|
||||
sqln += " AND g.ALG_SRTTERREINSECTOR_KEY = " + ter_func;
|
||||
}
|
||||
|
||||
if (ter_code)
|
||||
{
|
||||
sqln += " AND UPPER(g.alg_terreinsector_code) LIKE " + safe.quoted_sql_wild("%" + ter_code + "%");
|
||||
sqln += " AND UPPER(g.ALG_TERREINSECTOR_CODE) LIKE " + safe.quoted_sql_wild("%" + ter_code + "%");
|
||||
}
|
||||
|
||||
if (!expalgincl)
|
||||
sqln += " AND (g.alg_terreinsector_vervaldatum IS NULL OR g.alg_terreinsector_vervaldatum > TRUNC(SYSDATE)) ";
|
||||
|
||||
sqln += " ORDER BY g.alg_terreinsector_upper ASC "
|
||||
sqln += " ORDER BY g.alg_terreinsector_upper ASC "
|
||||
|
||||
var addurl = "appl/alg/alg_terreinsector.asp";
|
||||
|
||||
@@ -174,7 +153,6 @@ function terrein_list(pautfunction, params)
|
||||
outputmode: outputmode,
|
||||
flexModule: "ALG",
|
||||
flexId: "alg_terreinsector_key",
|
||||
flexParams: fnrowFlexParams,
|
||||
filterParams: params,
|
||||
buttons: addButton
|
||||
});
|
||||
@@ -185,7 +163,6 @@ function terrein_list(pautfunction, params)
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_terreinsector_man_sort"), content: "alg_srtterreinsec_omschrijving"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_terreinsector_man_oppervlak"), content: "alg_terreinsector_oppervlak"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_terreinsector_man_omtrek"), content: "alg_terreinsector_omtrek"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_alg_vervaldatum"), content: "alg_terreinsector_vervaldatum", datatype: "date"}));
|
||||
|
||||
rst.addAction({ action: "terreinEdit", caption: L("lcl_edit"), isDefault: true});
|
||||
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", single: !noref, multi: true, multiOnce: true});
|
||||
|
||||
@@ -15,7 +15,7 @@ FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"] });
|
||||
|
||||
var locatie_key = getQParamInt("locatie_key", -1); // locatie
|
||||
var vak_code = getQParam("vak_code", "");
|
||||
var ter_func_key = getQParamInt("ter_func_key", -1);
|
||||
var ter_func = getQParamInt("ter_func", -1);
|
||||
var autosearch = getQParamInt("autosearch", 0) == 1;
|
||||
var authparams = alg.checkAutorisation();
|
||||
|
||||
@@ -24,25 +24,22 @@ var authparams = alg.checkAutorisation();
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<script type="text/javascript">
|
||||
|
||||
function doSubmit()
|
||||
{
|
||||
function doSubmit()
|
||||
{
|
||||
// Submitten met kenmerken
|
||||
doSubmitWithKenmerken();
|
||||
}
|
||||
}
|
||||
|
||||
function myModal(init)
|
||||
function myModal()
|
||||
{
|
||||
var lvl = "T";
|
||||
var key = 0;
|
||||
var bld_key = "";
|
||||
var url = "load_kenmerk.asp?disc=" + "&urole=bo" + "&advanced=1" + "&onrgoed_key=" + bld_key + "&onrgoed_niveau=" + lvl;
|
||||
var titel = "<%=L("lcl_properties")%>";
|
||||
showKenmerkModal(url, titel, init)
|
||||
showKenmerkModal(url, titel)
|
||||
}
|
||||
|
||||
$(function() {<% if (autosearch) { %> document.forms.u2.submit();<%}%>});
|
||||
|
||||
$(document).ready(function() {<% if (autosearch) { %> document.forms.u2.submit();<%}%>});
|
||||
</script>
|
||||
</head>
|
||||
<body id="searchbody">
|
||||
@@ -67,7 +64,7 @@ var authparams = alg.checkAutorisation();
|
||||
|
||||
FCLTselector("srt",
|
||||
sql,
|
||||
{ initKey: ter_func_key,
|
||||
{ initKey: ter_func,
|
||||
label: L("lcl_estate_terreinsector_man_sort"),
|
||||
emptyOption: "",
|
||||
trclass: "primsearch",
|
||||
@@ -75,14 +72,6 @@ var authparams = alg.checkAutorisation();
|
||||
});
|
||||
%>
|
||||
</tr>
|
||||
<!-- Vervallen terreinen -->
|
||||
<tr class="primsearch">
|
||||
<td></td>
|
||||
<td align=left>
|
||||
<input type="checkbox" class="fldexpalgincl" name="expAlgIncl" id="expAlgIncl" value="1" >
|
||||
<label for="expAlgIncl"><%=L("lcl_alg_terreinsector_vervallen_incl")%></label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td><!-- end column 1 -->
|
||||
|
||||
@@ -98,9 +87,9 @@ var authparams = alg.checkAutorisation();
|
||||
</tr>
|
||||
<% BLOCK_END(); %>
|
||||
<%
|
||||
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch", importance: 1 },
|
||||
{title: L("lcl_obj_advanced"), action: "myModal()", id:"bAdvanced", importance: 3 } ];
|
||||
CreateButtons(buttons, { entersubmit: true });
|
||||
var buttons = [ {title: L("lcl_search"), action: "doSubmit()", id: "bSearch" },
|
||||
{title: L("lcl_obj_advanced"), action: "myModal()", id:"bAdvanced" } ];
|
||||
CreateButtons(buttons);
|
||||
%>
|
||||
</form>
|
||||
</div> <!-- search -->
|
||||
|
||||
@@ -22,23 +22,17 @@
|
||||
var outputmode = getQParamInt("outputmode", 0) // 0 = screen, 1 = print, 2 = excel etc
|
||||
var showall = getQParamInt("showall", 0) == 1;
|
||||
var noref = getQParamInt("noref", -1); // (voor onderdrukken horizontale verwijzingen)
|
||||
var reg_key = getQParamInt("regiokey", -1); // Regio
|
||||
var dis_key = getQParamInt("districtkey", -1); // District
|
||||
var loc_key = getQParamInt("locatiekey", -1); // Locatie
|
||||
var ter_code = getQParam("descr", null);
|
||||
var expalgincl = getQParamInt("expAlgIncl", 0) == 1; // Ook vervallen terreinen
|
||||
var ter_func_key = getQParamInt("srt", -1);
|
||||
var ter_func = getQParamInt("srt", -1);
|
||||
|
||||
terrein_list ( "*",
|
||||
{ outputmode: outputmode,
|
||||
showall: showall,
|
||||
reg_key: (reg_key != -1? reg_key : null),
|
||||
dis_key: (dis_key != -1? dis_key : null),
|
||||
loc_key: (loc_key != -1? loc_key : null),
|
||||
ter_code: (ter_code != ""? ter_code : null),
|
||||
ter_func_key: (ter_func_key != -1? ter_func_key : null),
|
||||
noref: (noref != -1? noref : null),
|
||||
expalgincl: expalgincl
|
||||
ter_func: (ter_func != -1? ter_func : null),
|
||||
noref: (noref != -1? noref : null)
|
||||
}
|
||||
);
|
||||
%>
|
||||
@@ -75,27 +75,16 @@ else
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<% if (flr_key == -1)
|
||||
<body id="editbody">
|
||||
<% if (flr_key == -1)
|
||||
var page="alg_edit_verdieping.asp"; // Maak een nieuw
|
||||
else
|
||||
else
|
||||
var page="alg_show_verdieping.asp";
|
||||
page += "?flr_key="+flr_key;
|
||||
page += "?flr_key="+flr_key;
|
||||
|
||||
IFRAMER("algFrame", page, { title: L("lcl_alg_verdieping_frame"),
|
||||
IFRAMER("algFrame", page, { title: L("lcl_alg_verdieping_frame"),
|
||||
initHeight: "450px",
|
||||
FcltClose: "algClose" } );
|
||||
|
||||
var authparamsCNTUSE = user.checkAutorisation("WEB_CNTUSE", true);
|
||||
var authparamsCNTMAN = user.checkAutorisation("WEB_CNTMAN", true);
|
||||
var curole = "bo";
|
||||
if (!authparamsCNTMAN && authparamsCNTUSE)
|
||||
curole = "fe";
|
||||
if (authparamsCNTMAN || authparamsCNTUSE)
|
||||
{
|
||||
var page2="../cnt/cnt_search_list.asp?embedded=1&tiny=1&collapsed=1&urole=" + curole + "&ffutu=1&fact=1&frap=1&fopz=1&sact=1&flr_key="+ flr_key
|
||||
IFRAMER("cntFrame", page2, { initHide: true } );
|
||||
}
|
||||
%>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
Note:
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../Shared/disCxprs3d.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
||||
<!-- #include file="../Shared/getkenmerksql.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
@@ -34,33 +36,32 @@ function fnrowData(oRs)
|
||||
|
||||
function gotoDetails(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var url = "appl/ALG/alg_ruimte_search.asp?verdieping_key=" + algData.detail_key + "&autosearch=" + autosearch + "&chkgeb=1";
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_ruimte_search.asp?verdieping_key=" + algData.detail_key + "&autosearch=" + autosearch;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_room")%>");
|
||||
}
|
||||
function gotoParent(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_gebouw_search.asp?gebouw_key=" + algData.parent_key + "&autosearch=" + autosearch;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_building")%>");
|
||||
}
|
||||
function verdiepingEdit(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_verdieping.asp?mode=viewUpdate&key=" + algData.key;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_floor")%>" + ' ' + algData.oms);
|
||||
}
|
||||
|
||||
function doDelete(rowArray, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_verdieping"), { autoconfirm: isMulti }, function() {
|
||||
var flrKeyString = getKeyString(rowArray);
|
||||
var data = { key: flrKeyString,
|
||||
level: "V"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
var flrKeyString = getKeyString(rowArray);
|
||||
if (isMulti || confirm(L("lcl_alg_del_txt_verdieping")))
|
||||
$.post("alg_delete.asp",
|
||||
{ key: flrKeyString,
|
||||
level: "V" },
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
|
||||
</script>
|
||||
@@ -79,29 +80,17 @@ function verdiepingen_list(pautfunction, params)
|
||||
|
||||
var noref = params.noref;
|
||||
|
||||
var reg_key = params.reg_key;
|
||||
var dis_key = params.dis_key;
|
||||
var loc_key = params.loc_key;
|
||||
var bld_key = params.bld_key;
|
||||
var lvl_key = params.lvl_key;
|
||||
var chkgeb = params.chkgeb;
|
||||
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
var eDelete = false;
|
||||
if (alg.canWriteVerdieping(oRs("alg_verdieping_key").value, authparams.mALGwritelevel))
|
||||
eDelete = true;
|
||||
return ({eDelete: eDelete})
|
||||
}
|
||||
|
||||
function fnrowFlexParams(oRs)
|
||||
{
|
||||
var ver_key = oRs("alg_verdieping_key").Value;
|
||||
var this_alg = alg.func_enabled(ver_key, "V");
|
||||
|
||||
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
|
||||
return flexParams;
|
||||
}
|
||||
{
|
||||
var eDelete = false;
|
||||
if (alg.canWriteVerdieping(oRs("alg_verdieping_key").value, authparams.mALGwritelevel))
|
||||
eDelete = true;
|
||||
return ({eDelete: eDelete})
|
||||
}
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -122,7 +111,7 @@ function verdiepingen_list(pautfunction, params)
|
||||
+ " alg_locatie l "
|
||||
+ " WHERE g.alg_gebouw_key = v.alg_gebouw_key "
|
||||
+ " AND l.alg_locatie_key(+) = g.alg_locatie_key "
|
||||
+ " AND v.alg_verdieping_verwijder IS NULL ";
|
||||
+ " AND v.alg_verdieping_verwijder IS NULL "
|
||||
|
||||
if ( authparams.ALGreadlevel > -1 )
|
||||
{ // Er is een scope-beperking van kracht
|
||||
@@ -148,13 +137,7 @@ function verdiepingen_list(pautfunction, params)
|
||||
{
|
||||
sqln += " AND g.alg_locatie_key = " + loc_key;
|
||||
}
|
||||
else if (dis_key)
|
||||
sqln += " AND l.alg_district_key = " + dis_key;
|
||||
else if (reg_key)
|
||||
sqln += " AND l.alg_district_key IN (SELECT alg_district_key FROM alg_district WHERE alg_regio_key = " + reg_key+")";
|
||||
|
||||
if (!chkgeb)
|
||||
sqln += " AND (g.alg_gebouw_vervaldatum IS NULL OR g.alg_gebouw_vervaldatum > TRUNC(SYSDATE)) ";
|
||||
|
||||
sqln += " ORDER BY l.alg_locatie_upper ASC, "
|
||||
+ " g.alg_gebouw_upper ASC, "
|
||||
@@ -176,7 +159,6 @@ function verdiepingen_list(pautfunction, params)
|
||||
outputmode: outputmode,
|
||||
flexModule: "ALG",
|
||||
flexId: "alg_verdieping_key",
|
||||
flexParams: fnrowFlexParams,
|
||||
filterParams: params,
|
||||
rowData: fnrowData,
|
||||
rowActionEnabler: fnrowActionEnabler,
|
||||
@@ -186,7 +168,7 @@ function verdiepingen_list(pautfunction, params)
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_descr"), content: "alg_locatie_omschrijving"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_descr"), content: "alg_gebouw_omschrijving"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_verdieping_man_code"), content: "alg_verdieping_code"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_verdieping_man_descr"), content: "alg_verdieping_omschrijving" }));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_verdieping_man_descr"), content: "alg_verdieping_omschrijving", hasActions: true}));
|
||||
|
||||
rst.addAction({ action: "verdiepingEdit", caption: L("lcl_edit"), isDefault: true});
|
||||
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", single: !noref, multi: true, multiOnce: true});
|
||||
|
||||
@@ -17,7 +17,6 @@ var locatie_key = getQParamInt("locatie_key", -1); // Locatie
|
||||
var gebouw_key = getQParamInt("gebouw_key", -1); // Gebouw
|
||||
var verdieping_key = getQParamInt("verdieping_key", -1); // Verdieping
|
||||
var autosearch = getQParamInt("autosearch", 0) == 1;
|
||||
var chkgeb = getQParamInt("chkgeb", 0) == 1;
|
||||
var authparams = alg.checkAutorisation();
|
||||
%>
|
||||
|
||||
@@ -25,33 +24,30 @@ var authparams = alg.checkAutorisation();
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<script>
|
||||
|
||||
function doSubmit()
|
||||
{
|
||||
// Submitten met kenmerken
|
||||
doSubmitWithKenmerken();
|
||||
}
|
||||
|
||||
function myModal(init)
|
||||
function myModal()
|
||||
{
|
||||
var lvl = "V";
|
||||
var key = 0;
|
||||
var bld_key = "";
|
||||
var url = "load_kenmerk.asp?disc=" + "&urole=bo" + "&advanced=1" + "&onrgoed_key=" + bld_key + "&onrgoed_niveau=" + lvl;
|
||||
var titel = "<%=L("lcl_properties")%>";
|
||||
showKenmerkModal(url, titel, init)
|
||||
showKenmerkModal(url, titel)
|
||||
}
|
||||
|
||||
$(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
|
||||
|
||||
$(document).ready(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body id="searchbody">
|
||||
<div id="search">
|
||||
<form name="u2" target="workFrame" action="alg_verdieping_search_list.asp" method="get">
|
||||
<input type="hidden" id="chkgeb" name="chkgeb" value="<%=(chkgeb?1:0)%>">
|
||||
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
|
||||
<form name="u2" target="workFrame" action="alg_verdieping_search_list.asp" method="get">
|
||||
<td valign=top>
|
||||
<table>
|
||||
<% // <!-- Locatie, gebouw en verdieping -->
|
||||
@@ -68,13 +64,13 @@ var authparams = alg.checkAutorisation();
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<% BLOCK_END();
|
||||
|
||||
var buttons = [ {title: L("lcl_search"), action: "doSubmit();", id: "bSearch", importance: 1 },
|
||||
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced", importance: 3 } ];
|
||||
CreateButtons(buttons, { entersubmit: true });
|
||||
var buttons = [ {title: L("lcl_search"), action: "doSubmit();", id: "bSearch" },
|
||||
{title: L("lcl_obj_advanced"), action: "myModal()", id: "bAdvanced" } ];
|
||||
CreateButtons(buttons);
|
||||
%>
|
||||
</form>
|
||||
</div> <!-- search -->
|
||||
|
||||
<div id="result">
|
||||
|
||||
@@ -22,24 +22,17 @@
|
||||
var outputmode = getQParamInt("outputmode", 0) // 0 = screen, 1 = print, 2 = excel etc
|
||||
var showall = getQParamInt("showall", 0) == 1;
|
||||
var noref = getQParamInt("noref", -1); // (voor onderdrukken horizontale verwijzingen)
|
||||
var reg_key = getQParamInt("regiokey", -1); // Regio
|
||||
var dis_key = getQParamInt("districtkey", -1); // District
|
||||
var loc_key = getQParamInt("locatiekey", -1); // Locatie
|
||||
var bld_key = getQParamInt("gebouwkey", -1); // Gebouw
|
||||
var lvl_key = getQParamInt("verdiepingkey", -1); // Verdieping
|
||||
var chkgeb = getQParamInt("chkgeb", 0) == 1; //Controleer tegen de vervallenstatus van het gebouw (vertrouw geb_key niet)
|
||||
|
||||
|
||||
verdiepingen_list ( "*",
|
||||
{ outputmode: outputmode,
|
||||
showall: showall,
|
||||
reg_key: (reg_key != -1? reg_key : null),
|
||||
dis_key: (dis_key != -1? dis_key : null),
|
||||
loc_key: (loc_key != -1? loc_key : null),
|
||||
bld_key: (bld_key != -1? bld_key : null),
|
||||
lvl_key: (lvl_key != -1? lvl_key : null),
|
||||
noref: (noref != -1? noref : null),
|
||||
chkgeb: chkgeb
|
||||
noref: (noref != -1? noref : null)
|
||||
}
|
||||
);
|
||||
%>
|
||||
@@ -10,6 +10,7 @@
|
||||
Note:
|
||||
*/
|
||||
%>
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
@@ -24,9 +25,7 @@ FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
var key = oRs("prs_werkplek_key").value;
|
||||
var oms = oRs("prs_werkplek_omschrijving").value;
|
||||
|
||||
var data = {parent_key:parent_key, key:key, oms:oms,
|
||||
wp_type: oRs("prs_werkplek_type").Value
|
||||
};
|
||||
var data = {parent_key:parent_key, key:key, oms:oms};
|
||||
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
@@ -36,26 +35,15 @@ FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
|
||||
function gotoParent(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_ruimte_search.asp?ruimte_key="+algData.parent_key+"&autosearch="+autosearch;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_room")%>");
|
||||
}
|
||||
|
||||
function werkplekEdit(row)
|
||||
function werkplekEdit(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
<% if (S("prs_werkplek_implicit") == 1) { %>
|
||||
if (algData.wp_type == 0) // Een vaste. Bewerk de bezetting van de ene persoon erop
|
||||
{
|
||||
var url = "../prs/prs_edit_perslidwerkplek.asp?wp_key=" + algData.key;
|
||||
FcltMgr.openModalDetail(url, "<%=L("lcl_change")%>", {callback: refreshall });
|
||||
}
|
||||
else
|
||||
<% } %>
|
||||
{
|
||||
var url = "appl/ALG/alg_wp.asp?mode=viewUpdate&key="+algData.key;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_workspace")%>" + ' ' + algData.oms);
|
||||
}
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_wp.asp?mode=viewUpdate&key="+algData.key;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_workspace")%>" + ' ' + algData.oms);
|
||||
}
|
||||
|
||||
function refreshall(data)
|
||||
@@ -66,14 +54,13 @@ FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
|
||||
function doDelete(rowArray, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_werkplek"), { autoconfirm: isMulti }, function() {
|
||||
var wpKeyString = getKeyString(rowArray);
|
||||
var data = { key: wpKeyString,
|
||||
level: "W"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
var wpKeyString = getKeyString(rowArray);
|
||||
if (isMulti || confirm(L("lcl_alg_del_txt_werkplek")))
|
||||
$.post("alg_delete.asp",
|
||||
{ key: wpKeyString,
|
||||
level: "W" },
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
|
||||
function doAddWP(room_key) // als impliciet==0
|
||||
@@ -88,6 +75,12 @@ FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
FcltMgr.openModalDetail(addurl, "<%=L("lcl_add")%>", {callback: refreshall });
|
||||
}
|
||||
|
||||
function doEditWPBezeting(row) // als impliciet==1
|
||||
{
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "../prs/prs_edit_perslidwerkplek.asp?wp_key=" + algData.key;
|
||||
FcltMgr.openModalDetail(url, "<%=L("lcl_add")%>", {callback: refreshall });
|
||||
}
|
||||
</script>
|
||||
<%
|
||||
|
||||
@@ -96,7 +89,7 @@ function werkplek_list(pautfunction, params)
|
||||
// De functie checkAutorisation(autfunction) geeft een Response.End indien er geen autorisatie voor autfunction wordt gevonden
|
||||
var buttons = [];
|
||||
var authparams = alg.checkAutorisation();
|
||||
var canAdd = (authparams.rmALGwritelevel < 6); // TODO: fijner, ik denk 3. Ik moet voor deze locatie, dit district of deze regio schrijfrechten hebben
|
||||
var canAdd = (authparams.mALGwritelevel < 6); // TODO: fijner, ik denk 3. Ik moet voor deze locatie, dit district of deze regio schrijfrechten hebben
|
||||
|
||||
// Voor resulttable de globalen zetten; zou ng anders moeten.
|
||||
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
|
||||
@@ -112,7 +105,7 @@ function werkplek_list(pautfunction, params)
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
var eDelete = false;
|
||||
if (alg.canWriteRuimte(oRs("alg_ruimte_key").value, authparams.rmALGwritelevel))
|
||||
if (alg.canWriteRuimte(oRs("alg_ruimte_key").value, authparams.mALGwritelevel))
|
||||
eDelete = true;
|
||||
return ({eDelete: eDelete})
|
||||
}
|
||||
@@ -151,7 +144,6 @@ function werkplek_list(pautfunction, params)
|
||||
+ " p.prs_werkplek_opp, "
|
||||
+ " p.prs_perslidwerkplek_bezetting, "
|
||||
+ " p.prs_afd_perslid_naam, "
|
||||
+ " w.prs_werkplek_type, "
|
||||
+ " w.prs_werkplek_virtueel "
|
||||
+ " FROM prs_v_perslidwerkplek_gegevens p, "
|
||||
+ " alg_locatie l, "
|
||||
@@ -206,32 +198,9 @@ function werkplek_list(pautfunction, params)
|
||||
if (canAdd)
|
||||
{
|
||||
buttons.push({ icon: "page_refresh.png", title: L("lcl_refresh"), action: "FcltMgr.reload()" });
|
||||
if (S("prs_werkplek_implicit") == 1)
|
||||
{
|
||||
buttons.push({ icon: "plus.png", title: L("lcl_add")+ " " + L("lcl_occupation"), action: "doAddWPBezeting("+room_key+")"});
|
||||
buttons.push({ icon: "plus.png", title: L("lcl_add") + " " + L("lcl_prs_workplace"), action: "doAddWP("+room_key+")"});
|
||||
}
|
||||
else // Altijd werkplek knop
|
||||
buttons.push({ icon: "plus.png", title: L("lcl_add"), action: "doAddWP("+room_key+")"});
|
||||
buttons.push({ icon: "plus.png", title: L("lcl_add"), action: S("prs_werkplek_implicit") == 1?"doAddWPBezeting("+room_key+")":"doAddWP("+room_key+")"});
|
||||
}
|
||||
|
||||
function fnWPType(oRs)
|
||||
{
|
||||
switch (oRs("prs_werkplek_type").Value)
|
||||
{
|
||||
case 0: return L("lcl_wptype_0");
|
||||
case 1: return L("lcl_wptype_1") + (S("prs_werkplek_implicit")==1?" "+safe.html(oRs("prs_werkplek_omschrijving").Value):""); // Impliciet flex de code erachter
|
||||
};
|
||||
}
|
||||
function fnBezetting(oRs)
|
||||
{
|
||||
switch (oRs("prs_werkplek_type").Value)
|
||||
{
|
||||
case 0: return oRs("prs_perslidwerkplek_bezetting").Value;
|
||||
case 1: return "";
|
||||
};
|
||||
}
|
||||
|
||||
var rst = new ResultsetTable({sql:sqln,
|
||||
keyColumn: "prs_werkplek_key",
|
||||
ID: "algtable",
|
||||
@@ -241,21 +210,19 @@ function werkplek_list(pautfunction, params)
|
||||
noPrint: tiny,
|
||||
outputmode: outputmode,
|
||||
filterParams: params,
|
||||
title: L("lcl_workplace") + "/" + L("lcl_prs_werkplekbezetting"),
|
||||
title: L("lcl_workplace"),
|
||||
buttons: buttons
|
||||
});
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_room"), content: "Samengesteld", nowrap: true}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_man_descr"), content: "alg_ruimte_omschrijving"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_wp_seq"), content: "prs_werkplek_volgnr", datatype: "number"}));
|
||||
if (S("prs_werkplek_implicit")==0)
|
||||
{
|
||||
rst.addColumn(new Column({caption: L("lcl_workplace"), content: "prs_werkplek_omschrijving" }));
|
||||
rst.addColumn(new Column({caption: L("lcl_workplace"), content: "prs_werkplek_omschrijving", hasActions: true}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_wp_fixed"), content: "decode_vastopp"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_wp_area"), content: prepareArea}));
|
||||
}
|
||||
rst.addColumn(new Column({caption: L("lcl_wptype"), content: fnWPType}));
|
||||
rst.addColumn(new Column({caption: L("lcl_occupation")+" (%)", content: fnBezetting }));
|
||||
rst.addColumn(new Column({caption: L("lcl_occupation")+" (%)", content: "prs_perslidwerkplek_bezetting"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_name"), content: "prs_afd_perslid_naam"}));
|
||||
|
||||
function prepareArea(oRs)
|
||||
@@ -269,7 +236,7 @@ function werkplek_list(pautfunction, params)
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_wp_virt"), content: "prs_werkplek_virtueel"}));
|
||||
}
|
||||
|
||||
rst.addAction({ action: "werkplekEdit", caption: L("lcl_edit"), isDefault: true});
|
||||
rst.addAction({ action: S("prs_werkplek_implicit") == 1?"doEditWPBezeting":"werkplekEdit", caption: L("lcl_edit"), isDefault: true});
|
||||
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", single: !tiny, multi: !tiny, multiOnce: true});
|
||||
if (!tiny)
|
||||
rst.addAction({ action: "gotoParent", caption: L("lcl_goto_ruimte_list")});
|
||||
|
||||
@@ -34,13 +34,13 @@ var authparams = alg.checkAutorisation();
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<script>
|
||||
$(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
|
||||
$(document).ready(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
|
||||
</script>
|
||||
</head>
|
||||
<body id="searchbody">
|
||||
<div id="search">
|
||||
<form name="u2" target="workFrame" action="alg_werkplek_search_list.asp" method="get">
|
||||
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
|
||||
<form name="u2" target="workFrame" action="alg_werkplek_search_list.asp" method="get">
|
||||
<tr>
|
||||
<td class="searchkolom1">
|
||||
<table><!-- x rijen, 2 kolommen: label + veld -->
|
||||
@@ -69,12 +69,12 @@ var authparams = alg.checkAutorisation();
|
||||
</table>
|
||||
</td><!-- end column 1 -->
|
||||
</tr>
|
||||
</form>
|
||||
<% BLOCK_END();
|
||||
|
||||
var buttons = [ {title: L("lcl_search"), action: "document.forms.u2.submit();", id: "bSearch" } ];
|
||||
CreateButtons(buttons, { entersubmit: true });
|
||||
CreateButtons(buttons);
|
||||
%>
|
||||
</form>
|
||||
</div> <!-- search -->
|
||||
|
||||
<div id="result">
|
||||
|
||||
@@ -57,14 +57,14 @@ if (wp_key > 0)
|
||||
{
|
||||
FcltMgr.closeDetail(window, { close: true})
|
||||
}
|
||||
if (!params.keepForm && !params.deleted)
|
||||
if (!params.keepForm)
|
||||
$("#algFrame")[0].src = "alg_show_wp.asp?wp_key=<%=wp_key%>";
|
||||
<% } %>
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<body id="editbody">
|
||||
<% if (wp_key == -1)
|
||||
var page="alg_edit_wp.asp"; // Maak een nieuw
|
||||
else
|
||||
@@ -76,11 +76,8 @@ if (wp_key > 0)
|
||||
FcltClose: "algClose" } );
|
||||
if (wp_key > -1)
|
||||
{
|
||||
var page2 ="../prs/prs_perslidwerkplek_search_list.asp?embedded=1&wp_key=" + wp_key;
|
||||
var page2 ="../prs/prs_perslidwerkplek_search_list.asp?embedded=1&wp_key=" + wp_key
|
||||
IFRAMER("algFrame", page2, { initHeight: "450px" } );
|
||||
|
||||
var page3 ="../ins/ins_search_list.asp?urole=bo&tiny=1&werkplekkey=" + wp_key;
|
||||
IFRAMER("algFrame", page3, { initHeight: "450px" } );
|
||||
}
|
||||
%>
|
||||
</body>
|
||||
|
||||
@@ -15,10 +15,11 @@
|
||||
*/ %>
|
||||
|
||||
<%
|
||||
var JSON_Result = true;
|
||||
DOCTYPE_Disable = 1;
|
||||
%>
|
||||
|
||||
<!-- #include file="../Shared/common.inc"-->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="./alg.inc" -->
|
||||
|
||||
<%
|
||||
|
||||
@@ -11,15 +11,16 @@
|
||||
|
||||
*/ %>
|
||||
<%
|
||||
var JSON_Result = true;
|
||||
DOCTYPE_Disable = 1;
|
||||
%>
|
||||
<!--#include file="../Shared/common.inc"-->
|
||||
<!--#include file="../Shared/json2.js" -->
|
||||
<%
|
||||
|
||||
var room_key = getQParamInt("room_key");
|
||||
|
||||
var sql = "SELECT COALESCE(MAX (prs_werkplek_volgnr),0) newvolg"
|
||||
+ " FROM prs_werkplek"
|
||||
+ " FROM prs_v_aanwezigwerkplek"
|
||||
+ " WHERE prs_alg_ruimte_key = " + room_key
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var result = { volgnr: oRs("newvolg").Value+1 };
|
||||
|
||||
@@ -22,7 +22,6 @@ var DOCTYPE_Disable = true;
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
<!-- #include file="alg_flexkenmerk.inc" -->
|
||||
|
||||
<%
|
||||
@@ -31,7 +30,6 @@ generateFlexKenmerkBlock ({ urole: getQParamSafe("urole"),
|
||||
onrgoed_niveau: getQParam("onrgoed_niveau", ""), // Onroerendgoed niveau
|
||||
reado: getQParam("reado", 0) == 1, // Readonly
|
||||
flexcolumns : getQParamInt("advanced", 0) == 1?1:S("alg_flexcolumns"),
|
||||
this_alg : alg.func_enabled(-1, getQParam("onrgoed_niveau", "")),
|
||||
advanced: getQParam("advanced", 0) == 1 // Geavanceerd
|
||||
});
|
||||
%>
|
||||
|
||||
1
APPL/API/.gitignore
vendored
1
APPL/API/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
TESTER
|
||||
@@ -14,14 +14,14 @@ DOCTYPE_Disable = 1;
|
||||
LCL_Disable = 1;
|
||||
ANONYMOUS_Allowed = 1;
|
||||
FCLTEXPIRES = 8*60; // geen database interactie tenslotte
|
||||
NO_ADDHEADER = 1; // common.inc voert wat globale acties hierdoor niet meer uit
|
||||
var EXPIRED_PASSWORD_OK = true; // performance
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc"-->
|
||||
<!-- #include file="../api/api.inc" -->
|
||||
<%
|
||||
var API = new API_func(); // controleert vanzelf
|
||||
var APIname = getQParam("API");
|
||||
var APIKEY = getQParam("APIKEY");
|
||||
var API = new API_func(APIname, APIKEY); // controleert vanzelf
|
||||
|
||||
__Log("Transferring to: " + API.apidata.file);
|
||||
//__DoLog("Transferring to: " + API.apidata.file);
|
||||
Server.Transfer(API.apidata.file);
|
||||
%>
|
||||
247
APPL/API/api.inc
247
APPL/API/api.inc
@@ -3,222 +3,51 @@
|
||||
$Id$
|
||||
|
||||
File: api.inc
|
||||
Description: Functies voor API's
|
||||
Description:
|
||||
Parameters:
|
||||
Context:
|
||||
Notes:
|
||||
|
||||
|
||||
*/
|
||||
|
||||
function API_func()
|
||||
{
|
||||
this.APIname = getQParam("API");
|
||||
var sql = "SELECT *"
|
||||
+ " FROM fac_api"
|
||||
+ " WHERE fac_api_name = " + safe.quoted_sql(this.APIname);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs.Eof)
|
||||
%>
|
||||
<%
|
||||
function API_func(APIname, APIKEY)
|
||||
{
|
||||
this.error("Invalid API: " + this.APIname);
|
||||
oRs.Close();
|
||||
Response.End;
|
||||
}
|
||||
this.APIname = APIname;
|
||||
this.APIKEY = APIKEY;
|
||||
|
||||
if (user_key < 0)
|
||||
{
|
||||
this.APIKEY = getQParam("APIKEY", "");
|
||||
if (!this.APIKEY && S("basic_auth_realm"))
|
||||
var sql = "SELECT *"
|
||||
+ " FROM fac_api"
|
||||
+ " WHERE fac_api_name = " + safe.quoted_sql(APIname);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs.Eof)
|
||||
{
|
||||
Response.Write("Unknown API: " + APIname);
|
||||
Response.End;
|
||||
}
|
||||
else if (oRs("fac_api_apikey").Value != APIKEY)
|
||||
{
|
||||
Response.Write("Invalid APIKEY for: " + APIname);
|
||||
Response.End;
|
||||
};
|
||||
this.apidata =
|
||||
{
|
||||
Response.Status = "401 Unauthorized";
|
||||
Response.AddHeader("WWW-Authenticate", "Basic realm=\"" + S("basic_auth_realm") + "\"");
|
||||
Response.End;
|
||||
APIname: APIname,
|
||||
APIKEY: APIKEY,
|
||||
file: oRs("fac_api_filepath").Value,
|
||||
// niet meer gebruikt. API=machine2machine is nooit session
|
||||
// no_session: oRs("fac_api_no_session").Value,
|
||||
prs_perslid_key: oRs("prs_perslid_key").Value,
|
||||
loglevel: oRs("fac_api_loglevel").Value,
|
||||
usrrap_key: oRs("fac_usrrap_key").Value,
|
||||
stylesheet: oRs("fac_api_stylesheet").Value,
|
||||
import_app_key: oRs("fac_import_app_key").Value,
|
||||
options: eval("("+oRs("fac_api_options_json").Value+")"),
|
||||
viewmapping: eval("("+oRs("fac_api_viewmapping_json").Value+")")
|
||||
}
|
||||
else
|
||||
{
|
||||
var sql2 = "SELECT prs_perslid_key, prs_perslid_naam"
|
||||
+ " FROM prs_perslid"
|
||||
+ " WHERE prs_perslid_apikey = " + safe.quoted_sql(this.APIKEY)
|
||||
+ " AND prs_perslid_verwijder IS NULL"; // Eigenlijk zou de trigger APIKEY moeten wissen bij verwijderen
|
||||
var oRs2 = Oracle.Execute(sql2);
|
||||
if (oRs2.Eof)
|
||||
{
|
||||
this.error("Invalid APIKEY: " + this.APIKEY);
|
||||
oRs2.Close();
|
||||
Response.End;
|
||||
};
|
||||
__Log("API User is: " + oRs2("prs_perslid_naam"));
|
||||
user_key = oRs2("prs_perslid_key").Value;
|
||||
oRs2.Close();
|
||||
}
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
this.apidata =
|
||||
{
|
||||
APIname: this.APIname,
|
||||
APIKEY: this.APIKEY,
|
||||
file: oRs("fac_api_filepath").Value,
|
||||
prs_perslid_key: user_key,
|
||||
loglevel: oRs("fac_api_loglevel").Value,
|
||||
usrrap_key: oRs("fac_usrrap_key").Value,
|
||||
stylesheet: oRs("fac_api_stylesheet").Value,
|
||||
stylesheet_out: oRs("fac_api_stylesheet_out").Value,
|
||||
import_app_key: oRs("fac_import_app_key").Value
|
||||
};
|
||||
|
||||
if (this.apidata.loglevel > 1) // Zet maar op 3 als je HTML logging wilt
|
||||
{
|
||||
__Logging = this.apidata.loglevel || __Logging || 0; // Voor de rest van dit bestand
|
||||
__Log("Logging for this API ({0}) is forced on".format(this.APIname), '#f00');
|
||||
// We doen niets met eventuele prs_perslid_key; dat doet loginTry.asp maar voor ons
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
if (oRs("fac_api_options_json").Value)
|
||||
this.apidata.options = JSON.parse(oRs("fac_api_options_json").Value);
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
__DoLog(e);
|
||||
this.error("Invalid api 'options': " + e.description);
|
||||
}
|
||||
try
|
||||
{
|
||||
if (oRs("fac_api_viewmapping_json").Value)
|
||||
this.apidata.viewmapping = JSON.parse(oRs("fac_api_viewmapping_json").Value);
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
this.error("Invalid api 'viewmapping': " + e.description);
|
||||
}
|
||||
|
||||
oRs.Close();
|
||||
// Wij doen niets met eventuele prs_perslid_key; dat doet loginTry.asp maar voor ons
|
||||
}
|
||||
|
||||
API_func.prototype.error = function (msg)
|
||||
{
|
||||
if (JSON_Result && JSON) // Merk op dat 'invalid APIKEY' al door /default.asp
|
||||
{ // is onderschept en dus niet hier komt.
|
||||
Response.Write(JSON.stringify({ success: false, message: msg }));
|
||||
}
|
||||
else
|
||||
{
|
||||
Response.Status = "500 Internal server error"; // 500_error.asp blijkt hier niet op in te grijpen
|
||||
Response.Write(safe.html(msg));
|
||||
// Op productie zie je bovenstaande Response.Write ook niet terug in Fiddler omdat
|
||||
// 'detailed error messages' uit staat. Daarom ook maar loggen voor het gemak.
|
||||
__DoLog(safe.html(msg), "ff0000");
|
||||
}
|
||||
Response.End;
|
||||
}
|
||||
|
||||
// LET OP: Verwacht wordt dat de JSON-code in de body utf-8 encoded is, niet windows-1252!
|
||||
// (in de praktijk moet je *moeite* doen om windows-1252 te krijgen dus dit is handiger)
|
||||
function RequestJSON()
|
||||
{
|
||||
var jvraag;
|
||||
if(Request.TotalBytes > 0)
|
||||
{
|
||||
var lngBytesCount = Request.TotalBytes;
|
||||
jvraag = BytesToStr(Request.BinaryRead(lngBytesCount));
|
||||
}
|
||||
__Log("Vraag: " + jvraag);
|
||||
try
|
||||
{
|
||||
var vraag = myJSON.parse(jvraag);
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
__DoLog("eval faalt met: {0}<br>{1}".format(e.description, jvraag), "ffff00");
|
||||
return null;
|
||||
}
|
||||
return vraag;
|
||||
}
|
||||
|
||||
function RequestXML(API)
|
||||
{
|
||||
var xvraag;
|
||||
if(Request.TotalBytes > 0)
|
||||
{
|
||||
var lngBytesCount = Request.TotalBytes;
|
||||
xvraag = BytesToStr(Request.BinaryRead(lngBytesCount));
|
||||
if (API.apidata.loglevel)
|
||||
__Log2File(xvraag, API.APIname + "_IN");
|
||||
}
|
||||
__Log("Request body: " + xvraag);
|
||||
try
|
||||
{
|
||||
var inputXML = Server.CreateObject("MSXML2.DOMDocument.6.0");
|
||||
inputXML.loadXML(xvraag); // inputXML.load(Request) zou nog niet vertalen naar Windows-1252
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
return { error: e.description };
|
||||
}
|
||||
if (inputXML.parseError.errorCode)
|
||||
{
|
||||
return { error: inputXML.parseError.reason + " @ " + inputXML.parseError.line + "." + inputXML.parseError.linepos };
|
||||
}
|
||||
return { xml: inputXML };
|
||||
}
|
||||
|
||||
// Eventuele input stylesheet is er overheen
|
||||
function styledRequestXML(API)
|
||||
{
|
||||
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.6.0");
|
||||
var parsed = RequestXML(API);
|
||||
if (parsed.error)
|
||||
{
|
||||
__DoLog( "Error loading XML: " + parsed.error, "#ff0000");
|
||||
API.error("Error loading XML: " + parsed.error);
|
||||
}
|
||||
|
||||
if (API.apidata.stylesheet)
|
||||
{
|
||||
var iXsl = Server.CreateObject("MSXML2.DOMDocument.6.0");
|
||||
iXsl.resolveExternals = true; // XSL kan includes hebben (MARX#51709)
|
||||
if( ! iXsl.load(Server.MapPath(API.apidata.stylesheet)) )
|
||||
{
|
||||
API.error("Could not load XSL " + API.apidata.stylesheet + "\n" + iXsl.parseError.reason);
|
||||
}
|
||||
var inputXML = Server.CreateObject("MSXML2.DOMDocument.6.0");
|
||||
inputXML = parsed.xml;
|
||||
inputXML.transformNodeToObject(iXsl, xmlReq);
|
||||
if (API.apidata.loglevel) __Log2File(xmlReq.xml, API.APIname + "_TUSSEN");
|
||||
}
|
||||
else
|
||||
var xmlReq = parsed.xml;
|
||||
|
||||
return xmlReq;
|
||||
}
|
||||
|
||||
function BytesToStr(bytes)
|
||||
{
|
||||
var stream = Server.CreateObject("ADODB.STREAM");
|
||||
stream.type = 1;
|
||||
stream.open;
|
||||
stream.write(bytes);
|
||||
stream.position = 0;
|
||||
stream.type = 2; // Text
|
||||
stream.charset = "utf-8";
|
||||
|
||||
// Mogelijk was het nog utf-8. Dat is riskant met unicode quotes (FCLT#60591)
|
||||
// Daarom expliciete conversie
|
||||
var win1252Stream = new ActiveXObject("ADODB.Stream");
|
||||
win1252Stream.Open();
|
||||
win1252Stream.CharSet = "Windows-1252"; // het doel
|
||||
stream.copyTo(win1252Stream);
|
||||
stream.close;
|
||||
|
||||
win1252Stream.position = 0;
|
||||
|
||||
var ReadBytes = 131072; // optimaal volgens https://docs.microsoft.com/en-us/sql/ado/reference/ado-api/readtext-method?view=sql-server-ver15
|
||||
var sOut = "";
|
||||
while (!win1252Stream.EOS)
|
||||
{
|
||||
sOut = sOut + win1252Stream.ReadText(ReadBytes);
|
||||
}
|
||||
win1252Stream.close;
|
||||
|
||||
return sOut;
|
||||
}
|
||||
|
||||
%>
|
||||
@@ -4,80 +4,53 @@
|
||||
$Id$
|
||||
|
||||
File: api_SOAP.asp
|
||||
Description: API om een SOAP-achtige service te bieden
|
||||
Parameters:
|
||||
Context:
|
||||
Notes: Zie UWVA/KASPRS voor voorbeeld gebruik
|
||||
TODO: Parameters uit Request-SOAP bericht ook via een XLS er uit vogelen
|
||||
|
||||
Description: API om een SOAP-achtige service te bieden gebaseerd op een bestaande view.
|
||||
Dat is informatie in XML op te leveren (of een ander formaat dat je via een XSL
|
||||
kunt bewerkstelligen) uit een view en bepaalde toegestande filters.
|
||||
Wat de API kan en doet (view, filters, limiet) moet in fac_api gedefinieerd zijn,
|
||||
geidentificeerd door de apiname.
|
||||
Parameters: apiname, apikey
|
||||
Context: Door een remote systeem (geen persoon) om info uit FACILITOR te halen aan te roepen
|
||||
|
||||
Notes: De readrechten van de user die met de meegegeven apikey wordt geidentificeerd
|
||||
gehanteerd worden. TODO!
|
||||
Het is Oracle die in eerste instantie de XML fabriceert.
|
||||
|
||||
BELANGRIJK:
|
||||
De bedoeling is dat de DE M2M SOAP/Machine manier is om info uit FACILITOR te krijgen.
|
||||
De enige manier.
|
||||
Dit mechanisme is dus zo generiek mogelijk, en er worden zoveel mogelijk conventies gehanteerd
|
||||
Iedere aanpassing of gewenste customisation moet kunnen ZONDER dit mechanisme aan te passen en
|
||||
ZONDER een ander mechanisme te gebruiken. Om een dergelijke service te kunnen gebruiken moet:
|
||||
- een view bestaan (gebruik bij voorkeur een bestaande voorgedefinieerde MOD_V_API_XXX view)
|
||||
- een definitierecord (API) in fac_api bestaan/worden toegevoegd die per request aan die views linkt
|
||||
- een user (met APIKEY) de juiste rechten krijgen
|
||||
Vervolgens kan de service worden aangeroepen met API en APIKEY, en bevat de geposte XML
|
||||
de criteria. Een resulterende XML met een Response is het resultaat, alsmede een HTTP-statuscode
|
||||
waarbij 200 Ok is.
|
||||
|
||||
Status: Autorisatie tegen de API_KEY-user checken
|
||||
*/
|
||||
var logall=0; // handig met testen
|
||||
DOCTYPE_Disable = 1;
|
||||
LCL_Disable = 1
|
||||
THIS_FILE = "appl/api/api_soap.asp";
|
||||
|
||||
// __Logging = 1;
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/xml_converter.inc" -->
|
||||
<!-- #include file="../api/api.inc" -->
|
||||
|
||||
<%
|
||||
Session.Codepage = 65001;
|
||||
Response.Charset = 'utf-8';
|
||||
Session.Abandon(); // Voor de zekerheid
|
||||
|
||||
try
|
||||
{
|
||||
var API = new API_func(); // Valideert ook
|
||||
|
||||
var asJSON = getQParam("json","0")!="0";
|
||||
|
||||
var parsed = RequestXML(API);
|
||||
if (parsed.error)
|
||||
function XML2TEMP(xml, postfix)
|
||||
{
|
||||
__DoLog("Error " + parsed.error);
|
||||
}
|
||||
var xmlReq = parsed.xml;
|
||||
if (!logall) return;
|
||||
var in_file = Server.MapPath("./temp") + "/" + customerId + "_" + APIname + "_" + postfix + "_";
|
||||
var jsDate = new Date();
|
||||
var s = jsDate.getFullYear() + padout(jsDate.getMonth() + 1) + padout(jsDate.getDate())
|
||||
+ padout(jsDate.getHours()) + padout(jsDate.getMinutes()) + padout(jsDate.getSeconds())
|
||||
in_file = in_file + s + ".xml";
|
||||
//Response.Write(in_file);Response.End;
|
||||
|
||||
if (xmlReq.documentElement.firstChild.prefix)
|
||||
var soapns = xmlReq.documentElement.firstChild.prefix + ":";
|
||||
else
|
||||
var soapns = "";
|
||||
var body = xmlReq.getElementsByTagName(soapns+"Body");
|
||||
if (!body.length) {
|
||||
throw("Invalid request: No XML body");
|
||||
var fs = Server.CreateObject("Scripting.FileSystemObject");
|
||||
var ts = fs.CreateTextFile(in_file, true);
|
||||
ts.WriteLine (xml);
|
||||
ts.Close();
|
||||
}
|
||||
var GetReq = body[0].firstChild.baseName;
|
||||
// req heeft vorm GetXXX, met XXX is de req van de definitie in fac_api
|
||||
var req = GetReq.substring(3);
|
||||
|
||||
var APIname = getQParam("API");
|
||||
var APIKEY = getQParam("APIKEY");
|
||||
var API = new API_func(APIname, APIKEY);
|
||||
|
||||
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.4.0");
|
||||
xmlReq.load(Request);
|
||||
|
||||
XML2TEMP(xmlReq.xml, "IN");
|
||||
|
||||
var body = xmlReq.getElementsByTagName("soap:Body");
|
||||
var req = body[0].firstChild.nodeName;
|
||||
var requestData = null;
|
||||
// de apidata.viewmapping is een JSON string met (voorbeeld)
|
||||
// {"req": "Reserveringen",
|
||||
// "node": "reservering",
|
||||
// "view": "res_v_api_reserveringen",
|
||||
// "filter":{"locatiecode":"locatiecode", "catalogus": "catalogus", "begindatumtijd": {"colName": "van", "operand":"GT", "datatype": "date"}, "einddatumtijd": {"colName": "tot", "operand":"LT", "datatype": "date"}},
|
||||
// "limit":75}
|
||||
for (i=0; i < API.apidata.viewmapping.length; i++)
|
||||
{
|
||||
if (API.apidata.viewmapping[i].req == req)
|
||||
@@ -85,200 +58,21 @@ try
|
||||
requestData = API.apidata.viewmapping[i];
|
||||
}
|
||||
}
|
||||
if (requestData == null) {
|
||||
API.error("Invalid request: " + GetReq);
|
||||
}
|
||||
|
||||
var viewname = requestData.view;
|
||||
var resnodename = requestData.node;
|
||||
|
||||
var autfunction = requestData.autfunction; // optioneel
|
||||
if (!autfunction)
|
||||
{
|
||||
autfunction =
|
||||
{"regio": "WEB_ALGUSE",
|
||||
"district": "WEB_ALGUSE",
|
||||
"locatie": "WEB_ALGUSE",
|
||||
"gebouw": "WEB_ALGUSE",
|
||||
"verdieping": "WEB_ALGUSE",
|
||||
"ruimte": "WEB_ALGUSE",
|
||||
"bestelling": "WEB_BESUSE",
|
||||
"bestelopdracht": "WEB_BESUSE",
|
||||
"afspraak": "WEB_BEZUSE",
|
||||
"contract": "WEB_CNTUSE",
|
||||
"factuur": "WEB_EXTFIN",
|
||||
"deel": "WEB_INSUSE",
|
||||
"melding": "WEB_MLDUSE",
|
||||
"opdracht": "WEB_MLDUSE",
|
||||
"afdeling": "WEB_PRSUSE",
|
||||
"persoon": "WEB_PRSUSE",
|
||||
"reservering": "WEB_RESUSE",
|
||||
"voorziening": "WEB_RESUSE"}[resnodename];
|
||||
}
|
||||
viewname = requestData.view;
|
||||
|
||||
// Nu filters zoeken
|
||||
var wheres = [];
|
||||
var filters = body[0].firstChild.childNodes;
|
||||
for (i=0; i < filters.length; i++)
|
||||
{
|
||||
var filterName = filters[i].baseName;
|
||||
var found = false;
|
||||
for (xx in requestData.filter) // kennen we dit filter?
|
||||
var filterName = filters[i].nodeName;
|
||||
for (xx in requestData.filter) // kennen we deze filter?
|
||||
{
|
||||
if (filterName == xx)
|
||||
{
|
||||
var found = true;
|
||||
var wildtext = filters[i].text;
|
||||
var colHash = requestData.filter[xx];
|
||||
if (typeof colHash == "string") // backwards compatible
|
||||
{
|
||||
colHash = { colName: colHash,
|
||||
datatype: "string",
|
||||
operand : "LIKE"
|
||||
};
|
||||
wildtext += "%";
|
||||
}
|
||||
else
|
||||
{
|
||||
// heeft colHash de volgende structuur
|
||||
/*
|
||||
res_datum: { colName: "res_rsv_ruimte_van",
|
||||
datatype: "date",
|
||||
operand: "LT"
|
||||
}
|
||||
*/
|
||||
}
|
||||
var criterium = safe.quoted_sql(filters[i].text);
|
||||
switch(colHash.datatype)
|
||||
{
|
||||
case "string" :
|
||||
criterium = safe.quoted_sql_upper(filters[i].text);
|
||||
break;
|
||||
case "date" :
|
||||
// Er zijn regels over datums
|
||||
// http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/datatypes.html#isoformats
|
||||
// We willen natuurlijk dat het datatype in de view gewoon datum is
|
||||
// en dan moeten we van de string van het criterium volgens conventie een date maken
|
||||
// TODO: Oracle vindt dat standaard Date niet DateTime is...
|
||||
// Voor filtering is dit perfect zo, maar de presentatie in de XML moet ..?
|
||||
// TOCH TODO: wel of geen seconden??!?
|
||||
criterium = "TO_DATE("+safe.quoted_sql(filters[i].text)+", 'yyyy-mm-dd\"T\"hh24:mi:ss')";
|
||||
break;
|
||||
}
|
||||
switch(colHash.operand)
|
||||
{
|
||||
case "EQ":
|
||||
wheres.push("UPPER("+colHash.colName + ") = " + criterium)
|
||||
break;
|
||||
case "LIKE":
|
||||
// altijd case-insensitive vind ik oke, maar de wildcard zou IMO in het filter moeten worden meegegeven.
|
||||
wheres.push("UPPER("+colHash.colName + ") LIKE " + safe.quoted_sql_wild(wildtext))
|
||||
break;
|
||||
case "LT":
|
||||
wheres.push(""+colHash.colName + " < " + criterium)
|
||||
break;
|
||||
case "GT":
|
||||
wheres.push(""+colHash.colName + " > " + criterium)
|
||||
break;
|
||||
case "LTE":
|
||||
wheres.push(""+colHash.colName + " <= " + criterium)
|
||||
break;
|
||||
case "GTE":
|
||||
wheres.push(""+colHash.colName + " >= " + criterium)
|
||||
break;
|
||||
}
|
||||
wheres.push("UPPER("+requestData.filter[xx] + ") LIKE " + safe.quoted_sql_wild(filters[i].text + "%"))
|
||||
}
|
||||
}
|
||||
if (!found && (filterName.match(/\_KEY$/i) || filterName.toUpperCase() == "KEY") // fallback: op _KEY velden mag je automatisch filteren met EQ
|
||||
&& parseInt(filters[i].text, 10))
|
||||
{
|
||||
var sql = "SELECT data_type"
|
||||
+ " , data_length"
|
||||
+ " , data_precision"
|
||||
+ " , data_scale"
|
||||
+ " FROM user_tab_columns"
|
||||
+ " WHERE table_name = " + safe.quoted_sql_upper(viewname)
|
||||
+ " AND column_name = " + safe.quoted_sql_upper(filterName);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.Eof)
|
||||
{
|
||||
wheres.push(filterName + " = " + parseInt(filters[i].text, 10))
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
}
|
||||
|
||||
// Bu: 3D scope toepassen
|
||||
|
||||
// Check for our special 3D column names
|
||||
var has3D = {};
|
||||
var any3D = false;
|
||||
sql = "SELECT UPPER(column_name) column_name"
|
||||
+ " FROM user_tab_columns"
|
||||
+ " WHERE table_name = " + safe.quoted_sql_upper(viewname)
|
||||
+ " AND UPPER(column_name) LIKE 'FCLT_3D_%'";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (!oRs.eof)
|
||||
{
|
||||
any3D = true;
|
||||
has3D[oRs("column_name").Value] = true;
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
if (any3D)
|
||||
{
|
||||
if (!autfunction)
|
||||
API.error("3d yet autfunction undefined"); // Strict genomen niet nodig voor FCLT_3D_USER_KEY
|
||||
|
||||
var authparams = user.checkAutorisation(autfunction);
|
||||
// TODO: Onderstaande code gaan delen met fac_usrrap.inc?
|
||||
if (has3D["FCLT_3D_DISCIPLINE_KEY"])
|
||||
{
|
||||
var disc_3d = " FCLT_3D_DISCIPLINE_KEY IN"
|
||||
+ " (SELECT ins_discipline_key FROM fac_v_webgebruiker "
|
||||
+ " WHERE fac_functie_key = " + authparams.autfunctionkey
|
||||
+ " AND prs_perslid_key = " + user_key + ")";
|
||||
|
||||
if (has3D["FCLT_3D_DISCIPLINE2_KEY"])
|
||||
disc_3d = " (" + disc_3d + " OR "
|
||||
+ " FCLT_3D_DISCIPLINE2_KEY IN"
|
||||
+ " (SELECT ins_discipline_key FROM fac_v_webgebruiker "
|
||||
+ " WHERE fac_functie_key = " + authparams.autfunctionkey
|
||||
+ " AND prs_perslid_key = " + user_key + ")"
|
||||
+ ")";
|
||||
|
||||
wheres.push(disc_3d);
|
||||
}
|
||||
if (has3D["FCLT_3D_LOCATIE_KEY"] && authparams.ALGreadlevel > -1)
|
||||
{
|
||||
wheres.push(" FCLT_3D_LOCATIE_KEY IN"
|
||||
+ " (SELECT alg_locatie_key FROM fac_v_my_locations "
|
||||
+ " WHERE niveau ="+authparams.ALGreadlevel
|
||||
+ " AND prs_perslid_key="+user_key+")");
|
||||
|
||||
}
|
||||
if (has3D["FCLT_3D_GEBOUW_KEY"] && authparams.ALGreadlevel > -1)
|
||||
{
|
||||
wheres.push(" FCLT_3D_GEBOUW_KEY IN"
|
||||
+ " (SELECT alg_gebouw_key FROM fac_v_my_buildings "
|
||||
+ " WHERE niveau ="+authparams.ALGreadlevel
|
||||
+ " AND prs_perslid_key="+user_key+")");
|
||||
|
||||
}
|
||||
if (has3D["FCLT_3D_AFDELING_KEY"] && authparams.PRSreadlevel > 0)
|
||||
{
|
||||
wheres.push(" FCLT_3D_AFDELING_KEY IN"
|
||||
+ " (SELECT prs_afdeling_key FROM prs_v_afdeling_familie a"
|
||||
+ " WHERE a.prs_afdeling_elder_key IN"
|
||||
+ " (SELECT aa.prs_afdeling_elder_key"
|
||||
+ " FROM prs_v_afdeling_familie aa"
|
||||
+ " WHERE aa.prs_afdeling_key = " + user.prs_afdeling_key()
|
||||
+ " AND aa.niveau = " + authparams.PRSreadlevel + "))");
|
||||
}
|
||||
if (has3D["FCLT_3D_USER_KEY"] )
|
||||
{
|
||||
wheres.push(" FCLT_3D_USER_KEY = " + user_key);
|
||||
}
|
||||
}
|
||||
|
||||
if (requestData.limit)
|
||||
@@ -288,87 +82,30 @@ try
|
||||
if (wheres.length)
|
||||
where = "WHERE " + wheres.join(" AND ");
|
||||
|
||||
var resultnode = GetReq+'Response'; // Dit is volgens onze eigen conventie zo
|
||||
var stylesheet = API.apidata.stylesheet;
|
||||
|
||||
var mode = req;
|
||||
var key = -1;
|
||||
var xtrakey = -1;
|
||||
var sql_params = safe.quoted_sql(viewname) + ", "
|
||||
+ key + " , "
|
||||
+ safe.quoted_sql(customerId) + ", "
|
||||
+ "'$AspSession$', "
|
||||
+ xtrakey + ", "
|
||||
+ safe.quoted_sql(where)
|
||||
+ ", " + safe.quoted_sql(resultnode)
|
||||
+ ", " + safe.quoted_sql(resnodename);
|
||||
|
||||
var sql = "SELECT xml.make_view_xml2(" + sql_params + ") xml_blob FROM dual";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var xml_content = oRs("xml_blob").Value;
|
||||
oRs.Close();
|
||||
__Log("XML blob is {0} karakters.".format(xml_content.length));
|
||||
Oracle.Execute("BEGIN DBMS_SESSION.free_unused_user_memory; END;");
|
||||
|
||||
if (API.apidata.loglevel) __Log2File(xml_content, API.APIname + "_DATA");
|
||||
|
||||
if (asJSON)
|
||||
Response.ContentType = "application/json";
|
||||
else
|
||||
Response.ContentType = "text/xml";
|
||||
|
||||
Response.AddHeader("Access-Control-Allow-Origin", "*"); // Opdat FireFox cross-domain toestaat
|
||||
|
||||
// Als er geen afwijkende xsl is gedefinieerd dan leveren we gewoon generiek de rapport_data node
|
||||
// op van het resultaat,dus maar zonder de metadata, dus alleen de facilitor/[resultnode]/
|
||||
if (stylesheet == null)
|
||||
{
|
||||
var xmldoc = new ActiveXObject("Msxml2.DOMDocument.6.0");
|
||||
xmldoc.async = false;
|
||||
xmldoc.loadXML(xml_content);
|
||||
if (xmldoc.parseError.errorCode != 0)
|
||||
{
|
||||
var myErr = xmldoc.parseError;
|
||||
throw("Error in xmlfile: " + myErr.reason);
|
||||
}
|
||||
else
|
||||
{
|
||||
var resultdoc = xmldoc.getElementsByTagName(resultnode)[0];
|
||||
if (resultdoc)
|
||||
{
|
||||
if (asJSON)
|
||||
{
|
||||
var antwoord = JSON.stringify(xmlToJson(resultdoc),null, getQParam("pretty","0")=="1"?2:0);
|
||||
}
|
||||
else
|
||||
var antwoord = resultdoc.xml;
|
||||
|
||||
var oCrypto = new ActiveXObject("SLNKDWF.Crypto");
|
||||
var eTag = '"' + oCrypto.hex_sha1(antwoord).toLowerCase() + '"';
|
||||
Response.AddHeader("ETag", eTag);
|
||||
if (Request.ServerVariables("HTTP_IF_NONE_MATCH") == eTag)
|
||||
{ // We hebben een match!
|
||||
Response.Clear();
|
||||
Response.Status = "304 Not modified";
|
||||
Response.End;
|
||||
}
|
||||
if (API.apidata.loglevel) __Log2File(antwoord, API.APIname + "_OUT");
|
||||
Response.write(antwoord);
|
||||
}
|
||||
}
|
||||
var stylesheet = API.apidata.stylesheet;
|
||||
sql = "BEGIN xml.make_view_xml(" + safe.quoted_sql(viewname) + ", " + key + " , "
|
||||
+ safe.quoted_sql(customerId) + ", " + safe.quoted_sql(Session.SessionId)
|
||||
+ ", " + xtrakey + ", " + safe.quoted_sql(where) + "); END;";
|
||||
Oracle.Execute(sql);
|
||||
sql = "SELECT fac_xml_xml FROM fac_xml WHERE fac_session_id = " + safe.quoted_sql(Session.SessionId) + " ORDER BY fac_xml_volgnr";
|
||||
oRs = Oracle.Execute( sql);
|
||||
var xml_content = "";
|
||||
while (!oRs.eof) {
|
||||
xml_content = xml_content + oRs(0).value;
|
||||
oRs.moveNext();
|
||||
}
|
||||
else
|
||||
{
|
||||
// die req-parameter is waarschijnlijk vrij zinloos
|
||||
var params = { mode: req };
|
||||
if (API.apidata.loglevel)
|
||||
params.log_postfix = API.APIname + "_OUT";
|
||||
STR2Stream(xml_content, stylesheet, Response, params);
|
||||
}
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
API.error(typeof e == "string"? e : e.description);
|
||||
}
|
||||
__Log("XML is " + xml_content.length + " karakters");
|
||||
|
||||
ASPPAGE_END();
|
||||
XML2TEMP(xml_content, "DATA");
|
||||
|
||||
//stylesheet = GetStylesheet(pcompany);
|
||||
var srtnotificatie = "";
|
||||
|
||||
Response.ContentType = "text/xml";
|
||||
STR2Stream(xml_content,stylesheet, Response, mode, srtnotificatie);
|
||||
|
||||
Session.Abandon(); // Voor de zekerheid
|
||||
%>
|
||||
@@ -8,7 +8,7 @@
|
||||
Parameters:
|
||||
Context:
|
||||
Notes: Zie UWVA/KASPRS voor voorbeeld gebruik
|
||||
TODO: Parameters uit Request-SOAP bericht ook via een XSL er uit vogelen
|
||||
TODO: Parameters uit Request-SOAP bericht ook via een XLS er uit vogelen
|
||||
|
||||
*/
|
||||
DOCTYPE_Disable = 1;
|
||||
@@ -19,8 +19,6 @@
|
||||
<!-- #include file="../api/api.inc" -->
|
||||
|
||||
<%
|
||||
var API = new API_func();
|
||||
|
||||
Session.Codepage = 65001;
|
||||
Response.Charset = 'utf-8';
|
||||
|
||||
@@ -28,7 +26,7 @@
|
||||
function XML2TEMP(xml, postfix)
|
||||
{
|
||||
if (!API.apidata.loglevel) return;
|
||||
var in_file = shared.tempFolder() + "/" + customerId + "_" + API.APIname + "_" + postfix + "_";
|
||||
var in_file = Server.MapPath("./temp") + "/" + customerId + "_" + APIname + "_" + postfix + "_";
|
||||
var jsDate = new Date();
|
||||
var s = String(jsDate.getFullYear()) + padout(jsDate.getMonth() + 1) + padout(jsDate.getDate())
|
||||
+ padout(jsDate.getHours()) + padout(jsDate.getMinutes()) + padout(jsDate.getSeconds())
|
||||
@@ -41,12 +39,13 @@
|
||||
ts.Close();
|
||||
}
|
||||
|
||||
var parsed = RequestXML(API);
|
||||
if (parsed.error)
|
||||
{
|
||||
__DoLog("Error " + xmlReq.parseError.reason);
|
||||
}
|
||||
var xmlReq = parsed.xml;
|
||||
var APIname = getQParam("API");
|
||||
var APIKEY = getQParam("APIKEY");
|
||||
var API = new API_func(APIname, APIKEY);
|
||||
Session("logging") = API.apidata.loglevel||0;
|
||||
|
||||
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.4.0");
|
||||
xmlReq.load(Request);
|
||||
|
||||
XML2TEMP(xmlReq.xml, "IN");
|
||||
|
||||
@@ -76,25 +75,36 @@
|
||||
|
||||
var oRsW = Oracle.Execute(whichSQL);
|
||||
var xml_nodes_arr = [];
|
||||
var xml_nodes_dom = new ActiveXObject("MSXML2.DOMDocument.6.0");
|
||||
var xml_nodes_dom = new ActiveXObject("MSXML2.DOMDocument.4.0");
|
||||
|
||||
var FCLTElement = xml_nodes_dom.createElement("facilitor");
|
||||
var headerDone = false;
|
||||
where = "";
|
||||
while (!oRsW.Eof)
|
||||
{
|
||||
var xml_content = make_xml({ xmlnode: oRsW("xmlnode").Value,
|
||||
key: oRsW("fac_tracking_refkey").Value,
|
||||
xtrakey: xtrakey,
|
||||
where: where
|
||||
});
|
||||
sql = "BEGIN xml.make_xml(" + safe.quoted_sql(oRsW("xmlnode").Value) + ", " + oRsW("fac_tracking_refkey").Value + " , "
|
||||
+ safe.quoted_sql(customerId) + ", " + safe.quoted_sql(Session.SessionId)
|
||||
+ ", " + xtrakey + ", " + safe.quoted_sql(where) + "); END;";
|
||||
|
||||
Oracle.Execute(sql);
|
||||
sql = "SELECT fac_xml_xml FROM fac_xml WHERE fac_session_id = " + safe.quoted_sql(Session.SessionId) + " ORDER BY fac_xml_volgnr";
|
||||
oRs = Oracle.Execute( sql);
|
||||
var xml_content_arr = [];
|
||||
while (!oRs.eof)
|
||||
{
|
||||
xml_content_arr.push(oRs(0).value);
|
||||
oRs.moveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
var xml_content = xml_content_arr.join("");
|
||||
|
||||
// Loggen van de individuele XMLNODE's
|
||||
// XML2TEMP(xml_content, "XML_" + oRsW("xmlnode").Value + "_" + oRsW("fac_tracking_refkey").Value);
|
||||
|
||||
__Log("XML '" + oRsW("xmlnode").Value + "' voor key " + oRsW("fac_tracking_refkey").Value + " is " + xml_content.length + " karakters");
|
||||
|
||||
xml_nodes_arr.push(xml_content); // E<>n node
|
||||
var xmldoc = new ActiveXObject("Msxml2.DOMDocument.6.0");
|
||||
var xmldoc = new ActiveXObject("Msxml2.DOMDocument.4.0");
|
||||
xmldoc.async = false;
|
||||
xmldoc.loadXML(xml_content);
|
||||
xmldoc.setProperty("SelectionLanguage", "XPath");
|
||||
|
||||
@@ -23,5 +23,7 @@
|
||||
Session.Codepage = 65001;
|
||||
Response.Charset = 'utf-8';
|
||||
|
||||
var API = new API_func();
|
||||
var APIname = getQParam("API");
|
||||
var APIKEY = getQParam("APIKEY");
|
||||
var API = new API_func(APIname, APIKEY);
|
||||
%>
|
||||
@@ -16,7 +16,7 @@
|
||||
Notes:
|
||||
*/
|
||||
DOCTYPE_Disable = 1;
|
||||
THIS_FILE = "appl/api/api_besordsoap.asp";
|
||||
THIS_FILE = "appl/api/api_mldsoap.asp";
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/xml_converter.inc" -->
|
||||
@@ -28,15 +28,17 @@
|
||||
Session.Codepage = 65001;
|
||||
Response.Charset = 'utf-8';
|
||||
|
||||
var API = new API_func();
|
||||
var APIname = getQParam("API");
|
||||
var APIKEY = getQParam("APIKEY");
|
||||
var API = new API_func(APIname, APIKEY);
|
||||
var tsql = "-"; // Voor tijdelijke statement(s)
|
||||
var sql = "-"; // De uiteindelijke update-sql
|
||||
var resultcode = -1; /* Zolang deze -1 is, is het nog goed. Uiteindelijk eindigt het met 0 (als goed). */
|
||||
var resulttekst = "";
|
||||
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.4.0");
|
||||
xmlReq.load(Request);
|
||||
|
||||
var xmlReq = styledRequestXML(API);
|
||||
|
||||
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.6.0");
|
||||
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.4.0");
|
||||
xmlResp.appendChild(xmlResp.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\""))
|
||||
|
||||
// The response
|
||||
@@ -45,7 +47,7 @@
|
||||
var now = new Date();
|
||||
var nowtxt = now.getFullYear()+'-'+padout(now.getMonth()+1) +'-'+padout(now.getDate()) +' '
|
||||
+padout(now.getHours()) +':'+padout(now.getMinutes())+':'+padout(now.getSeconds());
|
||||
var elmHeader = xmlResp.createElement("header");
|
||||
var FCLTHeader = xmlResp.createElement("header");
|
||||
var headerinfo = {
|
||||
// file: String(Request.ServerVariables("SCRIPT_NAME")).toLowerCase(),
|
||||
datum: nowtxt,
|
||||
@@ -57,9 +59,22 @@
|
||||
{
|
||||
var FCLTdata = xmlResp.createElement(param);
|
||||
FCLTdata.appendChild(xmlResp.createTextNode(headerinfo[param]));
|
||||
elmHeader.appendChild(FCLTdata);
|
||||
FCLTHeader.appendChild(FCLTdata);
|
||||
}
|
||||
FCLTElement.appendChild(elmHeader);
|
||||
FCLTElement.appendChild(FCLTHeader);
|
||||
|
||||
function XMLval(xml, tag)
|
||||
{
|
||||
if (!xml)
|
||||
return null;
|
||||
var xx = xml.getElementsByTagName(tag);
|
||||
if (!xx || !xx.length)
|
||||
return null;
|
||||
xx = xx[0].childNodes
|
||||
if (!xx || !xx.length)
|
||||
return null;
|
||||
return xx[0].nodeValue;
|
||||
}
|
||||
|
||||
// Hier zou het echte werk moeten gebeuren nav. xmlReq
|
||||
// en FCLTElement moeten we uitbreiden met antwoorden.
|
||||
@@ -86,41 +101,34 @@
|
||||
var bes_key = parseInt(idarr[0], 10);
|
||||
var opdrvolgnr = parseInt(idarr[1], 10);
|
||||
|
||||
if (isNaN (bes_key) || isNaN (opdrvolgnr))
|
||||
{
|
||||
resultcode = 2;
|
||||
resulttekst = "Invalid ID (key="+ opdrid +")";
|
||||
}
|
||||
else if (opdraction != "update")
|
||||
{
|
||||
resultcode = 2;
|
||||
resulttekst = "Invalid action (type="+ opdraction +")";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isNaN (bes_key) || isNaN (opdrvolgnr)) {
|
||||
resultcode = 2;
|
||||
resulttekst = "Invalid ID (key="+ opdrid +")";
|
||||
} else if (opdraction != "update") {
|
||||
resultcode = 2;
|
||||
resulttekst = "Invalid action (type="+ opdraction +")";
|
||||
} else {
|
||||
tsql = "SELECT bes_bestelopdr_key, prs_bedrijf_key, bes_bestelopdr_status "
|
||||
+ " FROM bes_bestelopdr"
|
||||
+ " WHERE bes_bestelopdr_id="+ safe.quoted_sql(opdrid);
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
if (!oRs.eof) {
|
||||
opdr_key = oRs("bes_bestelopdr_key").value;
|
||||
lev_key = oRs("prs_bedrijf_key").value;
|
||||
curstatus = oRs("bes_bestelopdr_status").value;
|
||||
}
|
||||
|
||||
if (opdr_key == -1)
|
||||
{
|
||||
if (opdr_key == -1) {
|
||||
resultcode = 3;
|
||||
resulttekst = "Unknown order";
|
||||
}
|
||||
else
|
||||
{ // Hier heb ik een geldige bes_bestelling_key + bes_bestelopdr_key.
|
||||
// Bericht bevat statuswijziging of artikellijst; nooit beide!
|
||||
if (opdrstatus != null)
|
||||
{ // Hier is dus een status meegegeven; evt. artikellijst wordt genegeerd!
|
||||
switch (opdrstatus)
|
||||
{
|
||||
} else {
|
||||
// Hier heb ik een geldige bes_bestelling_key + bes_bestelopdr_key.
|
||||
// Bericht bevat statuswijziging of artikellijst met "geleverde" aantallen;
|
||||
// in principe nooit beide!
|
||||
if (opdrstatus != null) // Statuswijziging; evt. artikellijst wordt genegeerd!
|
||||
{
|
||||
// Er is dus wel een status meegegeven.
|
||||
switch (opdrstatus) {
|
||||
case 'BES2CO':
|
||||
case 'BES2RE':
|
||||
var opdropm_kolom = "BES_BESTELOPDR_OPMERKING";
|
||||
@@ -129,29 +137,22 @@
|
||||
tsql = "SELECT prs_bedrijf_order_confirm "
|
||||
+ " FROM prs_bedrijf"
|
||||
+ " WHERE prs_bedrijf_key="+ lev_key;
|
||||
oRs = Oracle.Execute(tsql);
|
||||
if (oRs("prs_bedrijf_order_confirm").value == 1)
|
||||
{
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
|
||||
if (oRs("prs_bedrijf_order_confirm").value == 1) {
|
||||
if (curstatus == 5) { // Ter bevestiging
|
||||
if (opdrstatus == 'BES2CO')
|
||||
{
|
||||
if (opdrstatus == 'BES2CO') {
|
||||
tsql = "BEGIN BES.acceptopdracht(" + opdr_key + ", " + user_key +", ''); END;";
|
||||
Oracle.Execute(tsql);
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
tsql = "BEGIN BES.rejectopdracht(" + opdr_key + ", " + user_key +", ''); END;";
|
||||
Oracle.Execute(tsql);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
resultcode = 5;
|
||||
resulttekst = "Invalid status change";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
resultcode = 4;
|
||||
resulttekst = "Remote confirmation not enabled";
|
||||
}
|
||||
@@ -166,17 +167,16 @@
|
||||
+ " AND bi.bes_srtdeel_key=sd.bes_srtdeel_key"
|
||||
+ " AND sd.bes_srtgroep_key=sg.bes_srtgroep_key"
|
||||
+ " AND sg.ins_discipline_key=dp.bes_ins_discipline_key";
|
||||
oRs = Oracle.Execute(tsql);
|
||||
if (oRs("bes_disc_params_remoteconfirm").value == 1)
|
||||
{
|
||||
if (curstatus == 4 )
|
||||
{ // In bestelling
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
|
||||
if (oRs("bes_disc_params_remoteconfirm").value == 1) {
|
||||
if (curstatus == 4 ) { // In bestelling
|
||||
// Zeg dat alles geleverd is wat besteld is.
|
||||
tsql = "UPDATE bes_bestelopdr_item "
|
||||
+ " SET bes_bestelopdr_item_aantalontv=bes_bestelopdr_item_aantal"
|
||||
+ " , bes_bestelopdr_item_ontvangen=SYSDATE"
|
||||
+ " WHERE bes_bestelopdr_key="+ opdr_key;
|
||||
Oracle.Execute(tsql);
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
bes.updatebestelopdrstatus(opdr_key, user_key);
|
||||
|
||||
// Sluit alle aanvraagregels af die nu geheel geleverd zijn.
|
||||
@@ -191,17 +191,13 @@
|
||||
+ " AND bi.bes_bestelopdr_item_key=boi.bes_bestelopdr_item_key"
|
||||
+ " AND boi.bes_bestelopdr_key="+ opdr_key
|
||||
+ " AND boi.bes_bestelopdr_item_aantal=boi.bes_bestelopdr_item_aantalontv)";
|
||||
Oracle.Execute(tsql);
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
bes.updatebestellingstatus (bes_key, user_key);
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
resultcode = 5;
|
||||
resulttekst = "Invalid status change";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
} else {
|
||||
resultcode = 4;
|
||||
resulttekst = "Remote delivery not enabled";
|
||||
}
|
||||
@@ -210,162 +206,108 @@
|
||||
resultcode = 2;
|
||||
resulttekst = "Invalid status";
|
||||
} // switch
|
||||
}
|
||||
else
|
||||
{ // Hier is dus een artikellijst meegegeven (prijswijzigingen, aantallen en/of alleen opmerking)!
|
||||
} else { // Artikellijst met "geleverde" aantallen (of alleen opmerking).
|
||||
var artikelen = opdrachten[i].getElementsByTagName("artikel");
|
||||
if (artikelen.length > 0)
|
||||
{ // Loop door artikelen.
|
||||
if (curstatus == 4 )
|
||||
{ // In bestelling; alleen in deze toestand mogen - via API - artikelen worden bijgewerkt!
|
||||
var opdropm_kolom = "BES_BESTELOPDR_DELIVERY_OPMERK";
|
||||
if (artikelen.length > 0) { // Loop door artikelen.
|
||||
var opdropm_kolom = "BES_BESTELOPDR_DELIVERY_OPMERK";
|
||||
|
||||
for (i=0; i < artikelen.length && resultcode == -1; i++)
|
||||
{ // Lees per node weer de tags en waarden.
|
||||
var artikelnr = artikelen[i].getAttribute("nummer");
|
||||
var newprijs = XMLval(artikelen[i], "prijs");
|
||||
var newprijsval = parseFloat(XMLval(artikelen[i], "prijs"));
|
||||
var newink = XMLval(artikelen[i], "inkprijs");
|
||||
var newinkval = parseFloat(XMLval(artikelen[i], "inkprijs"));
|
||||
var newbruto = XMLval(artikelen[i], "brutoprijs");
|
||||
var newbrutoval = parseFloat(XMLval(artikelen[i], "brutoprijs"));
|
||||
var newontv = XMLval(artikelen[i], "aantalontv");
|
||||
var newontvval = parseInt(XMLval(artikelen[i], "aantalontv"), 10);
|
||||
// Check of vinkje bij catalogus registratie van levering toestaat.
|
||||
tsql = "SELECT MAX(dp.bes_disc_params_remoteconfirm) bes_disc_params_remoteconfirm "
|
||||
+ " FROM bes_bestelling_item bi, bes_srtdeel sd, bes_srtgroep sg, bes_disc_params dp"
|
||||
+ " WHERE bi.bes_bestelling_key="+ bes_key
|
||||
+ " AND bi.bes_srtdeel_key=sd.bes_srtdeel_key"
|
||||
+ " AND sd.bes_srtgroep_key=sg.bes_srtgroep_key"
|
||||
+ " AND sg.ins_discipline_key=dp.bes_ins_discipline_key";
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
|
||||
// Bepaal item-keys plus huidige aantallen besteld/geleverd voor artikel.
|
||||
tsql = "SELECT bi.bes_bestelling_item_key, bi.bes_bestelopdr_item_key, "
|
||||
+ " boi.bes_bestelopdr_item_aantal curaant, "
|
||||
+ " COALESCE(boi.bes_bestelopdr_item_aantalontv, 0) curontv "
|
||||
+ " FROM bes_bestelopdr_item boi, bes_bestelling_item bi, bes_srtdeel sd"
|
||||
+ " WHERE boi.bes_bestelopdr_key="+ opdr_key
|
||||
+ " AND boi.bes_bestelopdr_item_key=bi.bes_bestelopdr_item_key"
|
||||
+ " AND bi.bes_srtdeel_key=sd.bes_srtdeel_key"
|
||||
+ " AND sd.bes_srtdeel_nr="+ safe.quoted_sql(artikelnr);
|
||||
oRs = Oracle.Execute(tsql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
var bi_key = oRs("bes_bestelling_item_key").value;
|
||||
var boi_key = oRs("bes_bestelopdr_item_key").value;
|
||||
var curaant = oRs("curaant").value;
|
||||
var curontv = oRs("curontv").value;
|
||||
if (oRs("bes_disc_params_remoteconfirm").value == 1) {
|
||||
if (curstatus == 4 ) { // In bestelling
|
||||
for (i=0; i < artikelen.length; i++)
|
||||
{
|
||||
// Lees per node weer de tags en waarden.
|
||||
var artikelnr = artikelen[i].getAttribute("nummer");
|
||||
var newontv = parseInt(XMLval(artikelen[i], "aantalontv"), 10);
|
||||
|
||||
if ((newprijs && (isNaN (newprijsval) || newprijsval < 0)) ||
|
||||
(newink && (isNaN (newinkval) || newinkval < 0)) ||
|
||||
(newbruto && (isNaN (newbrutoval) || newbrutoval < 0)))
|
||||
{
|
||||
resultcode = 8;
|
||||
resulttekst = "Invalid price(s)";
|
||||
}
|
||||
else if (newprijs || newink || newbruto)
|
||||
{ // Werk de eventuele prijzen bij; zover meegegeven zijn die geldig.
|
||||
// In de bestelaanvraag!
|
||||
tsql = "UPDATE bes_bestelling_item "
|
||||
+ " SET bes_srtdeel_key=bes_srtdeel_key"
|
||||
+ (newprijs ? ", bes_bestelling_item_prijs="+ newprijsval : "")
|
||||
+ (newink ? ", bes_bestelling_item_inkprijs="+ newinkval : "")
|
||||
+ (newbruto ? ", bes_bestelling_item_brutoprijs="+ newbrutoval : "")
|
||||
+ " WHERE bes_bestelling_item_key="+ bi_key;
|
||||
Oracle.Execute(tsql);
|
||||
shared.trackaction("BESUPD", bes_key, L("lcl_bes_is_besupdtrackprice").format(S("bes_bestelling_prefix") + bes_key, safe.curr(newprijsval)));
|
||||
// Bepaal huidige aantallen besteld/geleverd voor artikel.
|
||||
tsql = "SELECT boi.bes_bestelopdr_item_aantal curaant, COALESCE(boi.bes_bestelopdr_item_aantalontv, 0) curontv "
|
||||
+ " FROM bes_bestelopdr_item boi, bes_bestelling_item bi, bes_srtdeel sd"
|
||||
+ " WHERE boi.bes_bestelopdr_key="+ opdr_key
|
||||
+ " AND boi.bes_bestelopdr_item_key=bi.bes_bestelopdr_item_key"
|
||||
+ " AND bi.bes_srtdeel_key=sd.bes_srtdeel_key"
|
||||
+ " AND sd.bes_srtdeel_nr="+ safe.quoted_sql(artikelnr);
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
if (!oRs.eof) {
|
||||
var curaant = oRs("curaant").value;
|
||||
var curontv = oRs("curontv").value;
|
||||
|
||||
// En de bestelopdracht!
|
||||
tsql = "UPDATE bes_bestelopdr_item "
|
||||
+ " SET bes_bestelopdr_item_posnr=bes_bestelopdr_item_posnr"
|
||||
+ (newprijs ? ", bes_bestelopdr_item_prijs="+ newprijsval : "")
|
||||
+ (newink ? ", bes_bestelopdr_item_inkprijs="+ newinkval : "")
|
||||
+ (newbruto ? ", bes_bestelopdr_item_brutoprijs="+ newbrutoval : "")
|
||||
+ " WHERE bes_bestelopdr_item_key="+ boi_key;
|
||||
Oracle.Execute(tsql);
|
||||
shared.trackaction("BES2UP", opdr_key, L("lcl_bes_is_bes2uptrackprice").format(S("bes_bestelopdr_prefix") + opdrid, safe.curr(newprijsval)));
|
||||
}
|
||||
|
||||
if (newontv && resultcode == -1)
|
||||
{ // Nieuw aantal ontvangen en nog steeds geen fouten.
|
||||
// Check of vinkje bij catalogus registratie van levering toestaat.
|
||||
tsql = "SELECT MAX(dp.bes_disc_params_remoteconfirm) bes_disc_params_remoteconfirm "
|
||||
+ " FROM bes_bestelling_item bi, bes_srtdeel sd, bes_srtgroep sg, bes_disc_params dp"
|
||||
+ " WHERE bi.bes_bestelling_key="+ bes_key
|
||||
+ " AND bi.bes_srtdeel_key=sd.bes_srtdeel_key"
|
||||
+ " AND sd.bes_srtgroep_key=sg.bes_srtgroep_key"
|
||||
+ " AND sg.ins_discipline_key=dp.bes_ins_discipline_key";
|
||||
oRs = Oracle.Execute(tsql);
|
||||
if (oRs("bes_disc_params_remoteconfirm").value == 1)
|
||||
{ // Correcties of (deel)registratie retouren met negatieve <aantalontv> niet toegestaan; wel via BES2AF!
|
||||
if (isNaN (newontvval) || newontvval < 0 || (curontv + newontvval) > curaant)
|
||||
{
|
||||
resultcode = 8;
|
||||
resulttekst = "Invalid delivery count";
|
||||
}
|
||||
else
|
||||
{ // Werk het geleverde aantal bij.
|
||||
tsql = "UPDATE bes_bestelopdr_item "
|
||||
+ " SET bes_bestelopdr_item_ontvangen=SYSDATE"
|
||||
+ " , bes_bestelopdr_item_aantalontv=COALESCE(bes_bestelopdr_item_aantalontv,0)+"+ newontvval
|
||||
+ " WHERE bes_bestelopdr_item_key="+ boi_key;
|
||||
Oracle.Execute(tsql);
|
||||
bes.updatebestelopdrstatus(opdr_key, user_key);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
resultcode = 4;
|
||||
resulttekst = "Remote delivery not enabled";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
resultcode = 7;
|
||||
resulttekst = "Unknown article number";
|
||||
if (!isNaN (newontv) && (curontv + newontv) <= curaant) {
|
||||
// Werk het geleverde aantal bij.
|
||||
tsql = "UPDATE bes_bestelopdr_item boi "
|
||||
+ " SET boi.bes_bestelopdr_item_aantalontv=COALESCE(boi.bes_bestelopdr_item_aantalontv, 0)+"+ newontv
|
||||
+ " , bes_bestelopdr_item_ontvangen=SYSDATE"
|
||||
+ " WHERE boi.bes_bestelopdr_key="+ opdr_key
|
||||
+ " AND COALESCE(boi.bes_bestelopdr_item_aantalontv, 0)+"+ newontv + ">0"
|
||||
+ " AND EXISTS"
|
||||
+ " (SELECT 1 FROM bes_bestelling_item bi, bes_srtdeel sd "
|
||||
+ " WHERE bi.bes_bestelopdr_item_key=boi.bes_bestelopdr_item_key"
|
||||
+ " AND bi.bes_srtdeel_key=sd.bes_srtdeel_key"
|
||||
+ " AND sd.bes_srtdeel_nr="+ safe.quoted_sql(artikelnr) +")";
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
bes.updatebestelopdrstatus(opdr_key, user_key);
|
||||
} else {
|
||||
resultcode = 7;
|
||||
resulttekst = "Invalid delivery count";
|
||||
}
|
||||
} else {
|
||||
resultcode = 6;
|
||||
resulttekst = "Unknown article number";
|
||||
}
|
||||
}
|
||||
|
||||
// Sluit alle aanvraagregels af die - mogelijk - nu geheel geleverd zijn.
|
||||
tsql = "UPDATE bes_bestelling_item "
|
||||
+ " SET bes_bestelling_item_aantalontv = bes_bestelling_item_aantal"
|
||||
+ " WHERE bes_bestelling_item_key IN"
|
||||
+ " (SELECT bi.bes_bestelling_item_key "
|
||||
+ " FROM bes_bestelling b, bes_bestelling_item bi, bes_bestelopdr_item boi"
|
||||
+ " WHERE b.bes_bestelling_key="+ bes_key
|
||||
+ " AND b.bes_bestelling_status=5" // Besteld
|
||||
+ " AND b.bes_bestelling_key=bi.bes_bestelling_key"
|
||||
+ " AND bi.bes_bestelopdr_item_key=boi.bes_bestelopdr_item_key"
|
||||
+ " AND boi.bes_bestelopdr_key="+ opdr_key
|
||||
+ " AND boi.bes_bestelopdr_item_aantal=boi.bes_bestelopdr_item_aantalontv)";
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
bes.updatebestellingstatus (bes_key, user_key);
|
||||
} else {
|
||||
resultcode = 5;
|
||||
resulttekst = "Invalid delivery timing";
|
||||
}
|
||||
|
||||
// Sluit alle aanvraagregels af die - mogelijk - nu geheel geleverd zijn.
|
||||
tsql = "UPDATE bes_bestelling_item "
|
||||
+ " SET bes_bestelling_item_aantalontv = bes_bestelling_item_aantal"
|
||||
+ " WHERE bes_bestelling_item_key IN"
|
||||
+ " (SELECT bi.bes_bestelling_item_key "
|
||||
+ " FROM bes_bestelling b, bes_bestelling_item bi, bes_bestelopdr_item boi"
|
||||
+ " WHERE b.bes_bestelling_key="+ bes_key
|
||||
+ " AND b.bes_bestelling_status=5" // Besteld
|
||||
+ " AND b.bes_bestelling_key=bi.bes_bestelling_key"
|
||||
+ " AND bi.bes_bestelopdr_item_key=boi.bes_bestelopdr_item_key"
|
||||
+ " AND boi.bes_bestelopdr_key="+ opdr_key
|
||||
+ " AND boi.bes_bestelopdr_item_aantal=boi.bes_bestelopdr_item_aantalontv)";
|
||||
Oracle.Execute(tsql);
|
||||
bes.updatebestellingstatus (bes_key, user_key);
|
||||
}
|
||||
else
|
||||
{
|
||||
resultcode = 6;
|
||||
resulttekst = "Invalid update timing";
|
||||
}
|
||||
}
|
||||
else
|
||||
{ // Raar, alleen opmerking, heeft dan vast niets met levering te maken?
|
||||
} else {
|
||||
resultcode = 4;
|
||||
resulttekst = "Remote delivery not enabled";
|
||||
}
|
||||
} else {
|
||||
// Raar, alleen opmerking, heeft dan vast niets met levering te maken?
|
||||
var opdropm_kolom = "BES_BESTELOPDR_OPMERKING";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Dit zijn de overige wijzigingen (alleen opmerking), die voeren we alleen uit
|
||||
// bij geen of een geldige statuswijziging.
|
||||
if (resultcode == -1)
|
||||
{ // Nog steeds geen fouten.
|
||||
if (opdropm != null )
|
||||
{
|
||||
if (resultcode == -1) { // Nog steeds geen fouten.
|
||||
if (opdropm != null ) {
|
||||
tsql = "UPDATE bes_bestelopdr "
|
||||
+ " SET "+ opdropm_kolom
|
||||
+ "=DECODE ("+ opdropm_kolom
|
||||
+ " , NULL, "+ safe.quoted_sql(opdropm, 320)
|
||||
+ " , SUBSTR ("+ opdropm_kolom +"||CHR(13)||CHR(10)||"+ safe.quoted_sql(opdropm, 320) +", 1, 320))"
|
||||
+ " , NULL, "+ safe.quoted_sql(opdropm)
|
||||
+ " , SUBSTR ("+ opdropm_kolom +"||CHR(13)||CHR(10)||"+ safe.quoted_sql(opdropm) +", 1, 4000))"
|
||||
+ " WHERE bes_bestelopdr_key="+ opdr_key;
|
||||
Oracle.Execute(tsql);
|
||||
oRs = Oracle.Execute(tsql);
|
||||
}
|
||||
|
||||
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze bestelopdracht.
|
||||
}
|
||||
} // end geldige opdrachtkey
|
||||
oRs.Close();
|
||||
} // end geldige opdrid
|
||||
|
||||
var binfo = {
|
||||
@@ -392,13 +334,5 @@
|
||||
xmlResp.appendChild(FCLTElement);
|
||||
|
||||
Response.ContentType = "text/xml";
|
||||
if (API.apidata.stylesheet)
|
||||
{
|
||||
// Niet super efficient dat we eerst naar tekstuele xml gaan maar ach...
|
||||
STR2Stream(xmlResp.xml, API.apidata.stylesheet, Response, {});
|
||||
}
|
||||
else
|
||||
{
|
||||
Response.Write(xmlResp.xml)
|
||||
}
|
||||
Response.Write(xmlResp.xml)
|
||||
%>
|
||||
|
||||
@@ -1,272 +0,0 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: api_bes_soap.asp
|
||||
Description: API voor bes-soap berichten (bestelAANVRAGEN)
|
||||
Interpreteert bericht zodanig dat een bestelaanvraag wordt aangemaakt/aangepast.
|
||||
|
||||
Parameters: Een xml
|
||||
Status: Eerste implementatie in kader FSN#26296 (tbv Corsa/BCT)
|
||||
Context:
|
||||
Notes:
|
||||
*/
|
||||
DOCTYPE_Disable = 1;
|
||||
THIS_FILE = "appl/api/api_bessoap.asp";
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/xml_converter.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/flexfiles.inc" -->
|
||||
<!-- #include file="../api/api.inc" -->
|
||||
<!-- #include file="../shared/kpl_ksrt_validate.inc" -->
|
||||
<!-- #include file="../bes/bes.inc" -->
|
||||
<%
|
||||
// We sturen het antwoord in UTF-8.
|
||||
Session.Codepage = 65001;
|
||||
Response.Charset = 'utf-8';
|
||||
|
||||
var API = new API_func();
|
||||
var tsql = "-"; // Voor tijdelijke statement(s)
|
||||
var sql = "-"; // De uiteindelijke insert/update-sql
|
||||
|
||||
var xmlReq = styledRequestXML(API);
|
||||
|
||||
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.6.0");
|
||||
xmlResp.appendChild(xmlResp.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\""))
|
||||
|
||||
// The response.
|
||||
var FCLTElement = xmlResp.createElement("facilitor");
|
||||
// The response header.
|
||||
var now = new Date();
|
||||
var nowtxt = now.getFullYear()+'-'+padout(now.getMonth()+1) +'-'+padout(now.getDate()) +' '
|
||||
+padout(now.getHours()) +':'+padout(now.getMinutes())+':'+padout(now.getSeconds());
|
||||
var FCLTHeader = xmlResp.createElement("header");
|
||||
var headerinfo = {
|
||||
// file: String(Request.ServerVariables("SCRIPT_NAME")).toLowerCase(),
|
||||
datum: nowtxt,
|
||||
naam: user.naam(),
|
||||
custId: customerId,
|
||||
language: user.lang()
|
||||
}
|
||||
for (param in headerinfo)
|
||||
{
|
||||
var FCLTdata = xmlResp.createElement(param);
|
||||
FCLTdata.appendChild(xmlResp.createTextNode(headerinfo[param]));
|
||||
FCLTHeader.appendChild(FCLTdata);
|
||||
}
|
||||
FCLTElement.appendChild(FCLTHeader);
|
||||
|
||||
// Hier zou het echte werk moeten gebeuren nav. xmlReq
|
||||
// en FCLTElement moeten we uitbreiden met antwoorden.
|
||||
var detected ="?";
|
||||
// xmlReq.setProperty("SelectionLanguage", "XPath"); // Weet niet of noodzakelijk
|
||||
|
||||
// Dit is de bestellingenloop (mochten er ooit nog anderen gaan volgen).
|
||||
var bestellingen = xmlReq.getElementsByTagName("bestelling");
|
||||
for (i=0; i < bestellingen.length; i++)
|
||||
{
|
||||
var resultcode = -1; /* Zolang deze -1 is, is het nog goed. Uiteindelijk eindigt het met 0 (als goed). */
|
||||
var resulttekst = "";
|
||||
|
||||
// Lees per node de (optionele) tags en waarden.
|
||||
var fields = []; // Bij te werken velden.
|
||||
var besid = bestellingen[i].getAttribute("key"); // Bij type=update/delete
|
||||
var besaction = bestellingen[i].getAttribute("type").toLowerCase();
|
||||
var nwStatus = XMLval(bestellingen[i], "status");
|
||||
|
||||
if (besid == null) { // Voorkom problemen als key-attribuut ontbreekt!
|
||||
besid = '';
|
||||
}
|
||||
var bestelling_key = parseInt(besid, 10); // En anders bepaald bij insert!
|
||||
|
||||
user.checkAutorisation("WEB_BESUSE"); // Dit is nog ongeacht de reservering
|
||||
|
||||
if (besaction == 'insert') {
|
||||
resultcode = 999;
|
||||
resulttekst = "Insert unsupported";
|
||||
}
|
||||
else if (besaction == 'update')
|
||||
{
|
||||
if (besid == '') {
|
||||
resultcode = 2;
|
||||
resulttekst = "Undefined bestelling (key)";
|
||||
}
|
||||
else if (isNaN (bestelling_key)) {
|
||||
resultcode = 2;
|
||||
resulttekst = "Invalid bestelling (key) "+besid;
|
||||
}
|
||||
else {
|
||||
tsql = "SELECT bes_bestelling_key"
|
||||
+ " FROM bes_bestelling"
|
||||
+ " WHERE bes_bestelling_key="+bestelling_key
|
||||
+ " AND 1=1"; // Niet verwijderd, ...???
|
||||
var toRs = Oracle.Execute(tsql);
|
||||
if (!toRs.eof) {
|
||||
// Hier heb ik een geldige bes_bestelling_key.
|
||||
bes_bestelling_key = toRs("bes_bestelling_key").value;
|
||||
|
||||
var bes_info = bes.bestelling_info(bes_bestelling_key); // Globale variabele met alle bes_bestelling informatie
|
||||
var this_bes = bes.func_enabled_bestelling(bes_info); // Wat heb ik zoal aan rechten op deze specifieke reservering
|
||||
var bes_disc_info = bes.disc_info(bes_info.dis_key); // alle discipline informatie
|
||||
if(!this_bes.canChange) {
|
||||
resultcode = 9;
|
||||
resulttekst = "Niet geautoriseerd voor bestelling "+besid;
|
||||
}
|
||||
else {
|
||||
if (nwStatus != null) { // Bij update optioneel
|
||||
// statusdiagram afdwingen:
|
||||
// * BESFIT alleen vanuit status 2 als bes_disc_info.disc_params_fiatflow == 0.
|
||||
// vanuit sattus 4 als bes_disc_info.disc_params_fiatflow == 1.
|
||||
// * BESREJ alleen vanuit status 2 en 3 als bes_disc_info.disc_params_fiatflow == 0.
|
||||
// vanuit status 2 en 4 als bes_disc_info.disc_params_fiatflow == 1.
|
||||
sql = "SELECT bes_bestelling_status"
|
||||
+ " FROM bes_bestelling"
|
||||
+ " WHERE bes_bestelling_key="+bestelling_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof) {
|
||||
curStatus = oRs("bes_bestelling_status").value;
|
||||
|
||||
// Feitelijke UPDATE status.
|
||||
// BESFIT: alleen vanuit status 2 als bes_disc_info.disc_params_fiatflow == 0.
|
||||
// vanuit sattus 4 als bes_disc_info.disc_params_fiatflow == 1.
|
||||
if (nwStatus == "BESFIT") {
|
||||
if ((bes_disc_info.disc_params_fiatflow == 0 && curStatus == 2) ||
|
||||
(bes_disc_info.disc_params_fiatflow == 1 && curStatus == 4))
|
||||
{
|
||||
bes.setbestellingstatus(bes_bestelling_key, 3); // Gefiatteerd
|
||||
sql = "SELECT bes_bestelling_status"
|
||||
+ " FROM bes_bestelling"
|
||||
+ " WHERE bes_bestelling_key="+bestelling_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof) {
|
||||
var bes_status = oRs("bes_bestelling_status").value;
|
||||
if (bes_status == 3) {
|
||||
resulttekst = "Bestelling "+bes_bestelling_key+" gefiatteerd";
|
||||
resultcode = 0;
|
||||
}
|
||||
else {
|
||||
resulttekst = "Bestelling "+bes_bestelling_key+" niet gefiatteerd";
|
||||
resultcode = 308;
|
||||
}
|
||||
}
|
||||
else {
|
||||
resulttekst = "Fout bij ophalen nieuwe status";
|
||||
resultcode = 307;
|
||||
}
|
||||
}
|
||||
else if (curStatus == 3) {
|
||||
resulttekst = "Bestelling "+bes_bestelling_key+" is al gefiatteerd";
|
||||
resultcode = 306;
|
||||
}
|
||||
else {
|
||||
resulttekst = "Kan niet fiatteren; ongeldige beginstatus";
|
||||
resultcode = 305;
|
||||
}
|
||||
}
|
||||
// BESREJ: alleen vanuit status 2 en 3 als bes_disc_info.disc_params_fiatflow == 0.
|
||||
// vanuit status 2 en 4 als bes_disc_info.disc_params_fiatflow == 1.
|
||||
else if (nwStatus == "BESREJ") {
|
||||
if ((bes_disc_info.disc_params_fiatflow == 0 && (curStatus == 2 || curStatus == 3)) ||
|
||||
(bes_disc_info.disc_params_fiatflow == 1 && (curStatus == 2 || curStatus == 4)))
|
||||
{
|
||||
bes.setbestellingstatus(bes_bestelling_key, 1); // Afgewezen
|
||||
sql = "SELECT bes_bestelling_status"
|
||||
+ " FROM bes_bestelling"
|
||||
+ " WHERE bes_bestelling_key="+bestelling_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof) {
|
||||
var bes_status = oRs("bes_bestelling_status").value;
|
||||
if (bes_status == 1) {
|
||||
resulttekst = "Bestelling "+bes_bestelling_key+" afgewezen";
|
||||
resultcode = 0;
|
||||
} else {
|
||||
resulttekst = "Bestelling "+bes_bestelling_key+" niet afgewezen";
|
||||
resultcode = 108;
|
||||
}
|
||||
} else {
|
||||
resulttekst = "Fout bij ophalen nieuwe status";
|
||||
resultcode = 107;
|
||||
}
|
||||
}
|
||||
else if (curStatus == 1) {
|
||||
resulttekst = "Bestelling "+bes_bestelling_key+" is al afgewezen";
|
||||
resultcode = 106;
|
||||
}
|
||||
else {
|
||||
resulttekst = "Kan niet afwijzen; ongeldige beginstatus";
|
||||
resultcode = 105;
|
||||
}
|
||||
}
|
||||
else {
|
||||
resultcode = 3;
|
||||
resulttekst = "Ongeldige status "+nwStatus;
|
||||
}
|
||||
|
||||
} else {
|
||||
resultcode = 4;
|
||||
resulttekst = "Ongedefinieerde huidige status";
|
||||
}
|
||||
} // nwStatus != null
|
||||
|
||||
if (resultcode == -1) { // nog steeds geen fouten
|
||||
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze bestelling.
|
||||
}
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
} else {
|
||||
resultcode = 5;
|
||||
resulttekst = "Not updatable bestelling "+besid;
|
||||
}
|
||||
toRs.Close();
|
||||
}
|
||||
}
|
||||
else if (besaction == 'delete')
|
||||
{
|
||||
resultcode = 999;
|
||||
resulttekst = "Delete unsupported";
|
||||
}
|
||||
else {
|
||||
resultcode = 2;
|
||||
resulttekst = "Undefined operation (type)";
|
||||
}
|
||||
|
||||
var binfo = {
|
||||
returncode: resultcode,
|
||||
returntekst: resulttekst,
|
||||
// executed:sql, // debug
|
||||
datum: nowtxt, // TODO: Beter ook xml-datum???
|
||||
besid: besid
|
||||
}
|
||||
|
||||
var FCLTBody = xmlResp.createElement("bestelling"); // type=response
|
||||
FCLTBody.setAttribute('key', besid);
|
||||
FCLTBody.setAttribute('type', 'response');
|
||||
for (param in binfo)
|
||||
{
|
||||
var FCLTdata = xmlResp.createElement(param);
|
||||
FCLTdata.appendChild(xmlResp.createTextNode(binfo[param]));
|
||||
FCLTBody.appendChild(FCLTdata);
|
||||
}
|
||||
|
||||
FCLTElement.appendChild(FCLTBody);
|
||||
} // end for
|
||||
// Alle bestelling-nodes zijn behandeld.
|
||||
|
||||
xmlResp.appendChild(FCLTElement);
|
||||
|
||||
//__DoLog("Ik gebruik stylesheet '"+API.apidata.stylesheet+"'");
|
||||
if (API.apidata.stylesheet)
|
||||
{
|
||||
var outputXML = Server.CreateObject("MSXML2.DOMDocument.6.0");
|
||||
xmlResp.transformNodeToObject(iXsl, outputXML);
|
||||
Response.ContentType = "text/xml";
|
||||
Response.Write(outputXML.xml)
|
||||
}
|
||||
else
|
||||
{
|
||||
Response.ContentType = "text/xml";
|
||||
Response.Write(xmlResp.xml)
|
||||
}
|
||||
%>
|
||||
@@ -10,283 +10,20 @@
|
||||
Status:
|
||||
Context:
|
||||
Notes:
|
||||
Onderstaand het voorstel van RWSN/MOOP. Wij doen XML ipv JSON, daar moet getransformeerd worden
|
||||
|
||||
(2) Versturen van de bezoekersregistraties
|
||||
Voor het versturen van de registraties stel ik voor om een HTTP-POST service te maken, deze is bijvoorbeeld te bereiken op ~/visitations
|
||||
In de request header geef ik de Api Key mee:
|
||||
Api-Key: 'te_bepalen_door_facilitor'
|
||||
In de body stel ik voor <20><>n key-value pair mee te geven met de naam jsonData waarin de hele json van de bezoekersregistratie in verwerkt zit:
|
||||
json_data={
|
||||
"start":"Fri, 03 Aug 2012 10:09:39 +0200", //begindatum in RFC2822 formaat
|
||||
"end":"HH:MM",
|
||||
"host_id":2934, //id van de ingelogde gebruiker
|
||||
"building_id":4712, //id van gekozen locatie
|
||||
"visitors":
|
||||
[
|
||||
{
|
||||
"name":"Pietje Puk",
|
||||
"company":"RUG"
|
||||
},
|
||||
{
|
||||
"name":"Jan Janssen",
|
||||
"company":"Achmea"
|
||||
},
|
||||
{...}
|
||||
]
|
||||
}
|
||||
Bij een juiste verwerking wordt http status code 201 teruggegeven met enkel een succes json:
|
||||
{
|
||||
"success":true,
|
||||
}
|
||||
|
||||
Anders een 4xx of 5xx code met daarin een json geformatteerde fout:
|
||||
{
|
||||
"success":false,
|
||||
"errors":
|
||||
[
|
||||
{
|
||||
"description":"start is not a valied RFC2822 format"
|
||||
},
|
||||
{
|
||||
"description":"building_id cannot be null"
|
||||
},
|
||||
{...}
|
||||
]
|
||||
}
|
||||
|
||||
*/
|
||||
DOCTYPE_Disable = 1;
|
||||
THIS_FILE = "appl/api/api_bezsoap.asp";
|
||||
DOCTYPE_Disable = 1;
|
||||
THIS_FILE = "appl/api/api_bezsoap.asp";
|
||||
%>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/xml_converter.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../api/api.inc" -->
|
||||
|
||||
<%
|
||||
// We sturen het antwoord in UTF-8.
|
||||
Session.Codepage = 65001;
|
||||
Response.Charset = 'utf-8';
|
||||
// We sturen het antwoord in UTF-8.
|
||||
Session.Codepage = 65001;
|
||||
Response.Charset = 'utf-8';
|
||||
|
||||
var API = new API_func();
|
||||
|
||||
// XML Omzetten naar equivalente JSON
|
||||
// var xmlReq = Server.CreateObject("MSXML2.DOMDocument.6.0");
|
||||
// xmlReq.load(Request);
|
||||
|
||||
// The response.
|
||||
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.6.0");
|
||||
xmlResp.appendChild(xmlResp.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\""))
|
||||
|
||||
var FCLTElement = xmlResp.createElement("facilitor");
|
||||
// The response header.
|
||||
var now = new Date();
|
||||
var nowtxt = now.getFullYear() + '-' + padout(now.getMonth() + 1) + '-' + padout(now.getDate()) + ' '
|
||||
+ padout(now.getHours()) + ':' + padout(now.getMinutes()) + ':' + padout(now.getSeconds());
|
||||
var elmHeader = xmlResp.createElement("header");
|
||||
var headerinfo = {datum: nowtxt,
|
||||
naam: user.naam(),
|
||||
custId: customerId,
|
||||
language: user.lang()
|
||||
}
|
||||
|
||||
for (param in headerinfo)
|
||||
{
|
||||
var FCLTdata = xmlResp.createElement(param);
|
||||
FCLTdata.appendChild(xmlResp.createTextNode(headerinfo[param]));
|
||||
elmHeader.appendChild(FCLTdata);
|
||||
}
|
||||
FCLTElement.appendChild(elmHeader);
|
||||
|
||||
// Hier zou het echte werk moeten gebeuren nav. xmlReq
|
||||
// en FCLTElement moeten we uitbreiden met antwoorden.
|
||||
|
||||
//var afspraken = xmlReq.getElementsByTagName("afspraak");
|
||||
|
||||
user.checkAutorisation("WEB_BEZUSE"); // Dit is nog ongeacht de bestelling
|
||||
|
||||
var resultcode = -1; /* Zolang deze -1 is, is het nog goed. Uiteindelijk eindigt het met 0 (als goed). */
|
||||
var resulttekst = "";
|
||||
var json_txt = Request.Form;
|
||||
var json_data = JSON.parse(json_txt);
|
||||
|
||||
|
||||
SaveOneAfspraak(json_data); // The one and only
|
||||
|
||||
// TODO: onderstaande code moet een generieke bez.afspraak_create (of afspraak_save) worden
|
||||
// en ook gebruikt worden door bez_edit_afspraak_save.asp. Zo ver zijn we nog niet...
|
||||
|
||||
function SaveOneAfspraak(json_data)
|
||||
{
|
||||
var afspr_key;
|
||||
var bez_actie;
|
||||
var alg_locatie_key;
|
||||
var alg_onrg_key;
|
||||
var date_to;
|
||||
var date_from = new Date(json_data.start);
|
||||
if (json_data.start == "undefined" || typeof date_from != "object" || isNaN(date_from))
|
||||
{
|
||||
resultcode = 2;
|
||||
resulttekst = "Undefined aankomst datum";
|
||||
}
|
||||
else
|
||||
{
|
||||
date_to = date_from;
|
||||
date_to = new Date(date_from.getTime());
|
||||
|
||||
var time_end = json_data.end;
|
||||
if (json_data.time_end != "undefined" && typeof time_end == "string")
|
||||
var time_end = time_end.split(":");
|
||||
date_to.setHours(time_end[0], time_end[1]);
|
||||
|
||||
if (time_end.length != 2 || typeof date_to != "object" || isNaN(date_to))
|
||||
{
|
||||
resultcode = 2;
|
||||
resulttekst = "Undefined vertrek tijd";
|
||||
}
|
||||
else if (date_to < date_from)
|
||||
{
|
||||
resultcode = 2;
|
||||
resulttekst = "Vertrek tijd voor aankomst tijd";
|
||||
}
|
||||
else
|
||||
{
|
||||
// Standaard actie voor mobile: Opbellen en op laten halen.
|
||||
var sql = " SELECT bez_actie_key FROM bez_actie WHERE bez_actie_omschrijving LIKE 'Op laten halen (bellen)'"
|
||||
var oRs = Oracle.Execute(sql);
|
||||
bez_actie = oRs("bez_actie_key").Value;
|
||||
|
||||
var alg_gebouw_key = json_data.building_id;
|
||||
if (!alg_gebouw_key || alg_gebouw_key < 0)
|
||||
{
|
||||
resultcode = 2;
|
||||
resulttekst = "Undefined alg_gebouw_key";
|
||||
}
|
||||
else if (S("vis_afspraak_onrgoed_uses_keys") == 0)
|
||||
{
|
||||
sql = "SELECT SUBSTR (alg_plaatsaanduiding, 1, 30) plaats"
|
||||
+ " FROM alg_v_plaatsaanduiding_all"
|
||||
+ " WHERE alg_onroerendgoed_keys = " + alg_gebouw_key
|
||||
+ " AND alg_onroerendgoed_type <> 'L'";
|
||||
if (!oRs.eof)
|
||||
var plaats = oRs("plaats").Value;
|
||||
else
|
||||
{
|
||||
resultcode = 5;
|
||||
resulttekst = "Building_id not found";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = "SELECT alg_locatie_key FROM alg_gebouw WHERE alg_gebouw_key = " + alg_gebouw_key;
|
||||
oRs = Oracle.Execute(sql);
|
||||
alg_locatie_key = oRs("alg_locatie_key").Value;
|
||||
|
||||
if (!alg_locatie_key || alg_locatie_key < 0)
|
||||
{
|
||||
resultcode = 2;
|
||||
resulttekst = "Undefined alg_locatie_key";
|
||||
}
|
||||
else
|
||||
{
|
||||
var fields = []; // Bij te werken velden.
|
||||
// Altijd nieuwe afspraak vooralsnog
|
||||
fields.push({ dbs: "bez_afspraak_key", typ: "key", seq: "bez_s_bez_afspraak_key" });
|
||||
fields.push({ dbs: "bez_afspraak_opmerking", typ: "varchar", val: "Created by mobile", len: 320 });
|
||||
|
||||
// Deze velden altijd opslaan (geen bez_afspraak_telefoonnr)
|
||||
var fields = [ { dbs: "prs_perslid_key", typ: "key", val: user_key /* invoerder, notrack */ },
|
||||
{ dbs: "bez_afspraak_datum", typ: "datetime", val: date_from, track: L("lcl_vis_start_date") },
|
||||
{ dbs: "bez_actie_key", typ: "key", val: bez_actie, track: L("lcl_action"), foreign: "bez_actie" },
|
||||
{ dbs: "bez_afspraak_eind", typ: "datetime", val: date_to, track: L("lcl_vis_end_date") },
|
||||
{ dbs: "alg_locatie_key", typ: "key", val: alg_locatie_key, track: true /* afzonderlijke tracking, wel oldjsval */ },
|
||||
{ dbs: "bez_afspraak_contact_key", typ: "key", val: user_key, track: L("lcl_vis_contactperson"), foreign: "prs_perslid" }
|
||||
];
|
||||
|
||||
if (S("vis_afspraak_host_uses_keys") == 0)
|
||||
fields.push({ dbs: "bez_afspraak_gastheer", typ: "varchar", val: user.naam(), track: L("lcl_vis_visit") });
|
||||
else
|
||||
fields.push({ dbs: "bez_afspraak_host_key", typ: "key", val: user_key, track: L("lcl_vis_visit"), foreign: "prs_perslid" });
|
||||
|
||||
if (S("vis_afspraak_onrgoed_uses_keys") == 0)
|
||||
{
|
||||
fields.push({ dbs: "bez_afspraak_ruimte", typ: "varchar", val: plaats, track: true /* afzonderlijke tracking, wel oldjsval */ });
|
||||
}
|
||||
else
|
||||
{
|
||||
alg_onrg_key = alg_gebouw_key; // Building_id is meegegeven
|
||||
fields.push({ dbs: "alg_onrgoed_keys", typ: "key", val: alg_onrg_key, track: true /* afzonderlijke tracking, wel oldjsval */ });
|
||||
}
|
||||
|
||||
fields.push({ dbs: "bez_afspraak_key", typ: "key", seq: "bez_s_bez_afspraak_key" });
|
||||
|
||||
var bezIns = buildInsert("bez_afspraak", fields, { noValidateToken: true });
|
||||
afspr_key = bezIns.sequences["bez_afspraak_key"];
|
||||
Oracle.Execute(bezIns.sql);
|
||||
|
||||
for (var i = 0; i < json_data.visitors.length; i++)
|
||||
{
|
||||
var visitor_data = json_data.visitors[i];
|
||||
var naam = visitor_data.name;
|
||||
var bedrijf = visitor_data.company;
|
||||
|
||||
// Geen prs_contactpersoon_key, prs_perslid_key en bez_bezoekers_pasnr
|
||||
var bezfields = [ { dbs: "bez_afspraak_key", typ: "key", val: afspr_key },
|
||||
{ dbs: "bez_afspraak_naam", typ: "varchar", val: naam, track: L("lcl_vis_name"), len: 30 },
|
||||
{ dbs: "bez_afspraak_bedrijf", typ: "varchar", val: bedrijf, track: L("lcl_vis_company") + (S("bez_sel_internpersoon") == 1? "/" + L("lcl_department") : ""), len: 60 }
|
||||
];
|
||||
|
||||
bezfields.push({ dbs: "bez_bezoekers_key", typ: "key", seq: "bez_s_bez_bezoekers_key" });
|
||||
// Niet door BO aangemeld. Niet direct 'in' boeken.
|
||||
|
||||
var bezIns = buildInsert("bez_bezoekers", bezfields, { noValidateToken: true });
|
||||
var bez_key = bezIns.sequences["bez_bezoekers_key"];
|
||||
Oracle.Execute(bezIns.sql);
|
||||
//var bezUpd = {trackarray: [L("lcl_bez_is_bezadd") + ": " + naam + "/" + bedrijf]};
|
||||
}
|
||||
shared.trackaction("BEZMUT", afspr_key);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (resultcode == -1) // nog steeds geen fouten
|
||||
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze reservering.
|
||||
|
||||
var ainfo = {returncode: resultcode,
|
||||
returntekst: resulttekst,
|
||||
// executed:sql, // debug
|
||||
user_key: user_key,
|
||||
afspr_key: afspr_key,
|
||||
bez_afspraak_datum: date_from, // TODO: Beter ook xml-datum???
|
||||
bez_afspraak_eind: date_to,
|
||||
bez_actie_key: bez_actie,
|
||||
alg_locatie_key: alg_locatie_key,
|
||||
alg_onrgoed_keys: alg_onrg_key
|
||||
}
|
||||
|
||||
if (S("vis_afspraak_host_uses_keys") == 0)
|
||||
ainfo.gastheer = user.naam();
|
||||
else
|
||||
ainfo.host_key = user_key;
|
||||
|
||||
var FCLTBody = xmlResp.createElement("afspraak"); // type=response
|
||||
FCLTBody.setAttribute('key', afspr_key);
|
||||
FCLTBody.setAttribute('type', 'response');
|
||||
for (param in ainfo)
|
||||
{
|
||||
var FCLTdata = xmlResp.createElement(param);
|
||||
FCLTdata.appendChild(xmlResp.createTextNode(ainfo[param]));
|
||||
FCLTBody.appendChild(FCLTdata);
|
||||
}
|
||||
|
||||
FCLTElement.appendChild(FCLTBody);
|
||||
}
|
||||
|
||||
xmlResp.appendChild(FCLTElement);
|
||||
|
||||
Response.ContentType = "text/xml";
|
||||
Response.Write(xmlResp.xml)
|
||||
var APIname = getQParam("API");
|
||||
var APIKEY = getQParam("APIKEY");
|
||||
var API = new API_func(APIname, APIKEY);
|
||||
%>
|
||||
@@ -25,15 +25,17 @@
|
||||
Session.Codepage = 65001;
|
||||
Response.Charset = 'utf-8';
|
||||
|
||||
var API = new API_func();
|
||||
var APIname = getQParam("API");
|
||||
var APIKEY = getQParam("APIKEY");
|
||||
var API = new API_func(APIname, APIKEY);
|
||||
var tsql = "-"; // Voor tijdelijke statement(s)
|
||||
var sql = "-"; // De uiteindelijke insert/update-sql
|
||||
var resultcode = -1; /* Zolang deze -1 is, is het nog goed. Uiteindelijk eindigt het met 0 (als goed). */
|
||||
var resulttekst = "";
|
||||
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.4.0");
|
||||
xmlReq.load(Request);
|
||||
|
||||
var xmlReq = styledRequestXML(API);
|
||||
|
||||
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.6.0");
|
||||
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.4.0");
|
||||
xmlResp.appendChild(xmlResp.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\""))
|
||||
|
||||
// The response.
|
||||
@@ -42,7 +44,7 @@
|
||||
var now = new Date();
|
||||
var nowtxt = now.getFullYear()+'-'+padout(now.getMonth()+1) +'-'+padout(now.getDate()) +' '
|
||||
+padout(now.getHours()) +':'+padout(now.getMinutes())+':'+padout(now.getSeconds());
|
||||
var elmHeader = xmlResp.createElement("header");
|
||||
var FCLTHeader = xmlResp.createElement("header");
|
||||
var headerinfo = {
|
||||
// file: String(Request.ServerVariables("SCRIPT_NAME")).toLowerCase(),
|
||||
datum: nowtxt,
|
||||
@@ -54,9 +56,32 @@
|
||||
{
|
||||
var FCLTdata = xmlResp.createElement(param);
|
||||
FCLTdata.appendChild(xmlResp.createTextNode(headerinfo[param]));
|
||||
elmHeader.appendChild(FCLTdata);
|
||||
FCLTHeader.appendChild(FCLTdata);
|
||||
}
|
||||
FCLTElement.appendChild(FCLTHeader);
|
||||
|
||||
// Luie oplossing: Oracle kan dit simpeler dan JavaScript.
|
||||
function XMLtoJsDate(xmlDate)
|
||||
{
|
||||
var sql = "SELECT TO_DATE("+safe.quoted_sql(xmlDate)+", 'YYYY-MM-DD HH24:MI:SS') FROM DUAL";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var dt = new Date(oRs(0).Value);
|
||||
oRs.Close();
|
||||
return dt;
|
||||
}
|
||||
|
||||
function XMLval(xml, tag)
|
||||
{
|
||||
if (!xml)
|
||||
return null;
|
||||
var xx = xml.getElementsByTagName(tag);
|
||||
if (!xx || !xx.length)
|
||||
return null;
|
||||
xx = xx[0].childNodes
|
||||
if (!xx || !xx.length)
|
||||
return null;
|
||||
return xx[0].nodeValue;
|
||||
}
|
||||
FCLTElement.appendChild(elmHeader);
|
||||
|
||||
// Hier zou het echte werk moeten gebeuren nav. xmlReq
|
||||
// en FCLTElement moeten we uitbreiden met antwoorden.
|
||||
@@ -108,15 +133,8 @@
|
||||
if (this_cnt.canChange) {
|
||||
// Bepaal de door te voeren wijzigingen.
|
||||
if (van_datum != null) {
|
||||
try {
|
||||
var looptijd_van = XMLtoJsDate(van_datum);
|
||||
var looptijd_tot = XMLtoJsDate(tot_datum);
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
__Log2File(xmlReq.xml, API.APIname + "_IN");
|
||||
Response.End;
|
||||
}
|
||||
if (looptijd_van <= looptijd_tot) {
|
||||
fields.push({ dbs: "cnt_contract_looptijd_van", typ: "date", val: looptijd_van, track: L("lcl_cnt_date_start") });
|
||||
}
|
||||
@@ -134,7 +152,7 @@ catch (e)
|
||||
if (resultcode == -1) { // Nog steeds geen fouten.
|
||||
if (fields.length > 0) {
|
||||
// Construct/uitvoeren update.
|
||||
var cntUpd = buildTrackingUpdate("cnt_contract", "cnt_contract_key = " + cnt_key, fields, { noValidateToken: true });
|
||||
var cntUpd = buildTrackingUpdate("cnt_contract", "cnt_contract_key = " + cnt_key, fields);
|
||||
oRs = Oracle.Execute(cntUpd.sql);
|
||||
|
||||
// Tot slot nog de tracking toevoegen.
|
||||
|
||||
@@ -21,7 +21,9 @@
|
||||
<!-- #include file="../api/api.inc" -->
|
||||
|
||||
<%
|
||||
var API = new API_func();
|
||||
var APIname = getQParam("API");
|
||||
var APIKEY = getQParam("APIKEY");
|
||||
var API = new API_func(APIname, APIKEY);
|
||||
|
||||
var usrrap_key = API.apidata.usrrap_key;
|
||||
//var viewname = API.apidata.viewname;
|
||||
|
||||
@@ -23,5 +23,7 @@
|
||||
Session.Codepage = 65001;
|
||||
Response.Charset = 'utf-8';
|
||||
|
||||
var API = new API_func();
|
||||
var APIname = getQParam("API");
|
||||
var APIKEY = getQParam("APIKEY");
|
||||
var API = new API_func(APIname, APIKEY);
|
||||
%>
|
||||
@@ -1,43 +0,0 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: api_flex.asp
|
||||
Description: API voor opvragen van flexfiles
|
||||
|
||||
Parameters: Een xml
|
||||
Status:
|
||||
Context: (alleen) door Putorders
|
||||
Notes: Zie flexfiles.inc/flexProps2 voor ondersteunde coderingen
|
||||
*/
|
||||
JSON_Result = true;
|
||||
THIS_FILE = "appl/api/api_flex.asp";
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/flexfiles.inc" -->
|
||||
<!-- #include file="../api/api.inc" -->
|
||||
<%
|
||||
|
||||
var API = new API_func();
|
||||
|
||||
// TODO checkAuthorization("WEB_PUOxxx") ?
|
||||
|
||||
var flexcode = getQParam("flexcode");
|
||||
if (flexcode.match(/^M=CAD/))
|
||||
{
|
||||
// <xsl:element name="img">
|
||||
// <xsl:attribute name="frc">M=CAD&labelPos=2&vKey=<xsl:value-of select="//afspraak/plaats/regio/district/locatie/gebouw/verdieping/key"/>&highlight=<xsl:value-of select="//afspraak/plaats/regio/district/locatie/gebouw/verdieping/ruimte/key"/>&mode=0&discs=981&sizeX=700&sizeY=400&offsetX=10&offsetY=10&scale=950&paperColor=16777215
|
||||
// </xsl:attribute>
|
||||
// </xsl:element>
|
||||
Server.Transfer(rooturl + "/APPL/CAD/mySlnk2IMG.asp"); // Die kan het ook wel oplossen
|
||||
}
|
||||
|
||||
// Else gewone flexfiles
|
||||
var props = flexProps2(flexcode);
|
||||
|
||||
__Log(props);
|
||||
|
||||
Response.Write(JSON.stringify(props));
|
||||
Response.End;
|
||||
%>
|
||||
@@ -1,5 +1,4 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% Server.ScriptTimeout=6000; %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
@@ -17,62 +16,39 @@
|
||||
%>
|
||||
<!-- #include file="../../appl/Shared/common.inc" -->
|
||||
<!-- #include file="../../appl/api/api.inc" -->
|
||||
<!-- #include file="../../appl/shared/FlexFiles.inc" -->
|
||||
<!-- #include file="../Shared/xml_converter.inc" -->
|
||||
<script language="javascript" src="../imp/imp_shared.js" runat="server"></script>
|
||||
<%
|
||||
// We sturen het antwoord in UTF-8.
|
||||
Session.Codepage = 65001;
|
||||
Response.Charset = 'utf-8';
|
||||
|
||||
var API = new API_func();
|
||||
var APIname = getQParam("API");
|
||||
var APIKEY = getQParam("APIKEY");
|
||||
var API = new API_func(APIname, APIKEY);
|
||||
|
||||
var import_app_key = API.apidata.options['import_app_key'];
|
||||
var bytes = Request.TotalBytes;
|
||||
if (bytes == 0)
|
||||
{
|
||||
__DoLog("api_gen_import empty body posted", "#ffff00");
|
||||
Response.Write("Error: no data posted for API import");
|
||||
Response.End; // Grof maar anders AiAi, dat is nog erger
|
||||
}
|
||||
|
||||
fileStream = Server.CreateObject("ADODB.Stream");
|
||||
fileStream.Type = 1; // adTypeBinary eerst nog
|
||||
fileStream.Open();
|
||||
fileStream.Write(Request.BinaryRead(bytes));
|
||||
fileStream.Write(Request.BinaryRead(Request.TotalBytes));
|
||||
|
||||
if (API.apidata.loglevel & 1 || __Logging > 0)
|
||||
{
|
||||
var savename = __Log2FileName("{0}_{1}".format(API.APIname, user_key));
|
||||
fileStream.SaveToFile(savename, 2); // 2=adSaveCreateOverWrite
|
||||
__DoLog("Import file was saved in {0}".format(savename), "#ff4");
|
||||
}
|
||||
if (API.apidata.loglevel & 1)
|
||||
fileStream.SaveToFile(Server.MapPath(rooturl + "/temp/") + "/" + customerId + "_" + APIname + ".tmp", 2); // 2=create
|
||||
|
||||
var res = impReadStream(fileStream, import_app_key,
|
||||
{ fac_home: Server.MapPath(rooturl + "/") + "/",
|
||||
filepathname: "API " + API.APIname,
|
||||
customerId: customerId,
|
||||
keep_old: 300, // Parallelle import 300 seconden ondersteunen
|
||||
user_key: user_key,
|
||||
stylesheet: API.apidata.stylesheet,
|
||||
keep_backup: true // mits fac_import_app_folder gezet
|
||||
});
|
||||
var import_key = res.import_key;
|
||||
|
||||
filepathname: "API " + APIname,
|
||||
customerId: customerId});
|
||||
if (res.success)
|
||||
{
|
||||
var warn = L("lcl_imp_read_lines") + res.read_lines;
|
||||
var res = impProcessStream(res.import_key, { customerId: customerId,
|
||||
user_key: user_key });
|
||||
var res = impProcessStream(res.import_key, { customerId: customerId });
|
||||
}
|
||||
else
|
||||
{
|
||||
var warn = res.warning;
|
||||
__DoLog("Import (app_key={0}) mislukt: {1}".format(import_app_key, warn), "#ffff00");
|
||||
API.error(warn); // Abort met 500-status
|
||||
}
|
||||
|
||||
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.6.0");
|
||||
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.4.0");
|
||||
xmlResp.appendChild(xmlResp.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\""));
|
||||
|
||||
// The response
|
||||
@@ -82,56 +58,8 @@
|
||||
var elementResultText = xmlResp.createTextNode(warn);
|
||||
elementResult.appendChild(elementResultText);
|
||||
FCLTElement.appendChild(elementResult);
|
||||
|
||||
if (import_key > 0)
|
||||
{
|
||||
var elementDetails = xmlResp.createElement("details");
|
||||
var sql = "SELECT imp_log_status,"
|
||||
+ " imp_log_omschrijving,"
|
||||
+ " imp_log_hint"
|
||||
+ " FROM imp_log"
|
||||
+ " WHERE fac_import_key = " + import_key
|
||||
+ " AND imp_log_status <> 'I'";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (!oRs.Eof)
|
||||
{
|
||||
var elementDetail = xmlResp.createElement("detail");
|
||||
var elementStatus = xmlResp.createElement("status");
|
||||
var elementStatusText = xmlResp.createTextNode(oRs("imp_log_status").Value);
|
||||
elementStatus.appendChild(elementStatusText);
|
||||
elementDetail.appendChild(elementStatus);
|
||||
if (oRs("imp_log_omschrijving").Value != null )
|
||||
{
|
||||
var elementOms = xmlResp.createElement("omschrijving");
|
||||
var elementOmsText = xmlResp.createTextNode(oRs("imp_log_omschrijving").Value);
|
||||
elementOms.appendChild(elementOmsText);
|
||||
elementDetail.appendChild(elementOms);
|
||||
}
|
||||
if (oRs("imp_log_hint").Value != null )
|
||||
{
|
||||
var elementHint = xmlResp.createElement("hint");
|
||||
var elementHintText = xmlResp.createTextNode(oRs("imp_log_hint").Value);
|
||||
elementHint.appendChild(elementHintText);
|
||||
elementDetail.appendChild(elementHint);
|
||||
}
|
||||
elementDetails.appendChild(elementDetail);
|
||||
oRs.moveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
FCLTElement.appendChild(elementDetails);
|
||||
}
|
||||
|
||||
xmlResp.appendChild(FCLTElement);
|
||||
|
||||
Response.ContentType = "text/xml";
|
||||
if (API.apidata.stylesheet_out)
|
||||
{
|
||||
var params = {};
|
||||
STR2Stream(xmlResp.xml, API.apidata.stylesheet_out, Response, params);
|
||||
}
|
||||
else
|
||||
Response.Write(xmlResp.xml);
|
||||
|
||||
ASPPAGE_END();
|
||||
Response.Write(xmlResp.xml);
|
||||
%>
|
||||
|
||||
@@ -1,356 +0,0 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: api_hmail.asp
|
||||
Description: API voor opvangen van hMailserver e-mails
|
||||
|
||||
Parameters: Een xml
|
||||
Status:
|
||||
Context: 1-op-1 met \UTILS\mail_receive\EventHandlers.js
|
||||
Notes: Deze API krijgen we XML binnen, en geven JSON terug.
|
||||
Dat was het eenvoudigst
|
||||
*/
|
||||
JSON_Result = true;
|
||||
THIS_FILE = "appl/api/api_hmail.asp";
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/xml_converter.inc" -->
|
||||
<!-- #include file="../Shared/flexfiles.inc" -->
|
||||
<!-- #include file="../api/api.inc" -->
|
||||
<%
|
||||
|
||||
var API = new API_func();
|
||||
|
||||
function abortRejectMail(tekst, maillog)
|
||||
{
|
||||
var result = { success: false,
|
||||
message: tekst,
|
||||
maillog: maillog||tekst
|
||||
}
|
||||
__Log(result.maillog); // komt altijd ook in hmail log
|
||||
Response.Write(JSON.stringify(result));
|
||||
Response.End;
|
||||
}
|
||||
function stripHtml(html)
|
||||
{
|
||||
html = (html||"");
|
||||
html = stripStyle(html);
|
||||
// verwijder html-tags
|
||||
html = html.replace(/(<([^>]+)>)/ig,"");
|
||||
// naar spatie
|
||||
html = html.replace(/\ \;/ig, " ");
|
||||
//verwijder leading spaces and tabs
|
||||
html = html.replace(/^[ \t]+/gm,"");
|
||||
// verwijder lege regels
|
||||
html = html.replace(/[(\n\r)]+/g,"\n\r");
|
||||
// zet een regel die begint met : maar achter de vorige
|
||||
html = html.replace(/(\n\r:)/g,":");
|
||||
return html;
|
||||
}
|
||||
|
||||
function stripStyle(html)
|
||||
{
|
||||
html = (html||"");
|
||||
html = html.replace(/<style>[^<]*<\/style>/igm, "");
|
||||
return html;
|
||||
}
|
||||
|
||||
function get_XMLval(psessionid, pxml, ptag, pindex)
|
||||
{
|
||||
var tag_value = XMLval(pxml, ptag);
|
||||
var sql_ins = "INSERT INTO fac_result"
|
||||
+ " (fac_result_sessionid, fac_result_naam, fac_result_waarde)"
|
||||
+ " VALUES"
|
||||
+ " (" + safe.quoted_sql(psessionid)
|
||||
+ " ," + safe.quoted_sql(ptag + (pindex ? "_"+pindex : ""), 30) // Een mail kan meerdere bijlagen bevatten. Voor elke bijlage is er dan een filename en size.
|
||||
+ " ," + safe.quoted_sql(tag_value, 1000)
|
||||
+ " )";
|
||||
Oracle.Execute(sql_ins);
|
||||
return tag_value;
|
||||
}
|
||||
|
||||
// puur intern gebruik dus geen stylesheet conversie nodig
|
||||
var parsed = RequestXML(API);
|
||||
if (parsed.error)
|
||||
{
|
||||
abortRejectMail("Error " + parsed.error);
|
||||
}
|
||||
var xmlReq = parsed.xml;
|
||||
|
||||
var psession_id = Session.SessionID;
|
||||
// verwijder entries in de FAC_RESULT table zodat de action nieuwe resultaten kan schrijven
|
||||
var sql = "DELETE fac_result WHERE fac_result_sessionid = " + safe.quoted_sql(psession_id);
|
||||
Oracle.Execute(sql);
|
||||
|
||||
var Subject = get_XMLval(psession_id, xmlReq, "subject");
|
||||
var fromAddr = get_XMLval(psession_id, xmlReq, "fromaddr"); // "Returns the address that the sender gave in the MAIL FROM SMTP-command."
|
||||
var from = get_XMLval(psession_id, xmlReq, "from"); // "This property returns the content of the From MIME-header of the email."
|
||||
var toAddr = get_XMLval(psession_id, xmlReq, "to");
|
||||
var RecipientNr = get_XMLval(psession_id, xmlReq, "RecipientNr"); // 0 voor 1e recipient, soms 1 voor tweede
|
||||
var htmlBody = get_XMLval(psession_id, xmlReq, "htmlbody");
|
||||
var Body = get_XMLval(psession_id, xmlReq, "body");
|
||||
var CC = get_XMLval(psession_id, xmlReq, "CC");
|
||||
//htmlBody = stripStyle(htmlBody);
|
||||
//Body = stripStyle(Body);
|
||||
|
||||
// functie om velden in fac_result te zetten
|
||||
__Log("To: " + toAddr);
|
||||
|
||||
var mailuser = toAddr.split("@")[0];
|
||||
|
||||
sql = "SELECT fac_email_setting_key,"
|
||||
+ " fac_email_setting_action,"
|
||||
+ " fac_email_setting_expire,"
|
||||
+ " fac_email_setting_from,"
|
||||
+ " fac_email_setting_frommode,"
|
||||
+ " fac_email_setting_attachpath,"
|
||||
+ " fac_email_setting_attachext,"
|
||||
+ " fac_email_setting_loglevel,"
|
||||
+ " prs_perslid_key_auth"
|
||||
+ " FROM fac_email_setting"
|
||||
+ " WHERE upper(fac_email_setting_user) = upper("+safe.quoted_sql(mailuser)+")";
|
||||
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs.Eof)
|
||||
{
|
||||
abortRejectMail(L("lcl_fac_hmail_unknown_user").format(mailuser), "E-mail user niet ontvankelijk: " + mailuser);
|
||||
}
|
||||
var allowed_attachext = oRs("fac_email_setting_attachext").Value;
|
||||
var email_setting_key = oRs("fac_email_setting_key").Value;
|
||||
var prs_perslid_key_auth = oRs("prs_perslid_key_auth").Value;
|
||||
var email_setting_loglevel = oRs("fac_email_setting_loglevel").Value;
|
||||
|
||||
if (email_setting_loglevel > 0)
|
||||
/* global */ __Logging = email_setting_loglevel || __Logging || 0; // Voor de rest van dit bestand
|
||||
|
||||
__Log("Subject: " + Subject);
|
||||
__Log("From: " + from);
|
||||
__Log("FromAddr: " + fromAddr);
|
||||
__Log("To: " + toAddr);
|
||||
__Log("RecipientNr: " + RecipientNr);
|
||||
__Log("htmlBody: " + htmlBody);
|
||||
__Log("body: " + Body);
|
||||
|
||||
__Log("E-mail user ontvankelijk: " + mailuser);
|
||||
if (oRs("fac_email_setting_expire").Value != null)
|
||||
{
|
||||
var expire = new Date(oRs("fac_email_setting_expire").Value);
|
||||
if (expire.getTime() < (new Date).getTime())
|
||||
{
|
||||
abortRejectMail(L("lcl_fac_hmail_expired"), "Te laat, moest voor: " + expire);
|
||||
}
|
||||
}
|
||||
var theFrom = fromAddr; // SMTP communicatie, werkt matig bij forwards
|
||||
if (oRs("fac_email_setting_frommode").Value == 1)
|
||||
theFrom = from; // uit email MIME-header
|
||||
else if (oRs("fac_email_setting_frommode").Value == 2)
|
||||
{
|
||||
// example srs address: servicedesk+SRS=kWNyq=RW=manutan.nl=Paul.Gozeling@hsleiden.nl
|
||||
// output groups of RegExp: 1. servicedesk 2. kWNyq 3. manutan.nl 4. Paul.Gozeling
|
||||
// from e-mail address when SRS is detected: Paul.Gozeling@manutan.nl
|
||||
var regExpr = RegExp("(.+)[+]SRS=(.+)[=].+=(.+)=(.+)[@]");
|
||||
if (regExpr.test(fromAddr)) // test whether the fromAddr is a SRS address
|
||||
theFrom = regExpr.exec(fromAddr)[4] + "@" + regExpr.exec(fromAddr)[3]; // concat (group-4 @ group-3) as the fromAddr
|
||||
}
|
||||
var shouldFrom = oRs("fac_email_setting_from").Value;
|
||||
if (shouldFrom)
|
||||
{
|
||||
if (String(shouldFrom).toUpperCase() != String(theFrom).toUpperCase())
|
||||
{
|
||||
abortRejectMail(L("lcl_fac_hmail_wrong_sender").format(theFrom), "Foute afzender. Verwacht: " + shouldFrom + ", kreeg: " + theFrom);
|
||||
}
|
||||
}
|
||||
var action = oRs("fac_email_setting_action").Value; // Package aanroep
|
||||
var setting_attachpath = oRs("fac_email_setting_attachpath").Value;
|
||||
var path = setting_attachpath;
|
||||
if (path && path.substr(0,1) == "@") // @/?API=OPDR_VO&APIKEY=**** zet automatisch de huidige url ervoor
|
||||
{
|
||||
path = HTTP.urlzelf() + path.substr(1);
|
||||
}
|
||||
|
||||
if (path && path.substr(0, 1) == "*") // Bijvoorbeeld '*flexfilespath'
|
||||
{
|
||||
path = S(path.substr(1)) + "/";
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
var result = { success: true
|
||||
, path: path
|
||||
, attachments: []
|
||||
, tempfolder: shared.tempFolder()
|
||||
, loglevel: email_setting_loglevel || 0
|
||||
};
|
||||
|
||||
var kenmerkpath = "";
|
||||
|
||||
if (action) // Bijv "fac.processemail" of "uwva.closeorder-sample"
|
||||
{
|
||||
if (!Body || Body == "") // Voorkeur voor plaintekst
|
||||
{
|
||||
var v_body = L("lcl_fac_hmail_empty_body") + stripHtml(htmlBody);
|
||||
}
|
||||
else
|
||||
{
|
||||
var v_body = Body;
|
||||
}
|
||||
|
||||
sql = "BEGIN " + action + " (" + safe.quoted_sql(theFrom) + ","
|
||||
+ safe.quoted_sql(toAddr) + ","
|
||||
+ safe.quoted_sql(Subject || L("lcl_fac_hmail_no_subject")) + "," // de actions kunnen slecht tegen lege subject
|
||||
+ safe.quoted_sql(v_body, 3990) + "," // HSLE#33588 10 karakters speling
|
||||
+ safe.quoted_sql(psession_id) + ","
|
||||
+ email_setting_key + ");"
|
||||
+ "END;";
|
||||
Oracle.Execute(sql);
|
||||
|
||||
// Nog iets specifieks terug te melden voor de logging?
|
||||
sql = "SELECT fac_result_waarde"
|
||||
+ " FROM fac_result"
|
||||
+ " WHERE fac_result_naam = 'maillog'"
|
||||
+ " AND fac_result_sessionid = " + safe.quoted_sql(psession_id);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.Eof)
|
||||
{
|
||||
result.maillog = oRs("fac_result_waarde").Value;
|
||||
}
|
||||
else
|
||||
result.maillog = "E-mail afgehandeld via: " + action;
|
||||
oRs.Close();
|
||||
|
||||
sql = "SELECT fac_result_waarde"
|
||||
+ " FROM fac_result"
|
||||
+ " WHERE fac_result_naam = 'errormsg'"
|
||||
+ " AND fac_result_sessionid = " + safe.quoted_sql(psession_id);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.Eof)
|
||||
{
|
||||
abortRejectMail(oRs("fac_result_waarde").Value, result.maillog);
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
sql = "SELECT fac_result_waarde"
|
||||
+ " FROM fac_result"
|
||||
+ " WHERE fac_result_naam = 'kenmerkpath'"
|
||||
+ " AND fac_result_sessionid = " + safe.quoted_sql(psession_id);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.Eof)
|
||||
{
|
||||
kenmerkpath = oRs("fac_result_waarde").Value;
|
||||
result.path = result.path + kenmerkpath;
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
else
|
||||
result.maillog = "Verder geen e-mail action gedefinieerd";
|
||||
|
||||
// debug
|
||||
//kenmerkpath = "MLD\\M1180___\\M1180706\\2803\\";
|
||||
//result.path = result.path + kenmerkpath;
|
||||
|
||||
__Log(result.maillog);
|
||||
|
||||
var isUrl = false;
|
||||
if (result.path && (result.path.substr(0,5) == "http:" || result.path.substr(0,6) == "https:"))
|
||||
{
|
||||
isUrl = true;
|
||||
result.path = result.path.format(safe.url(theFrom), safe.url(toAddr), safe.url(Subject)); // supports &from={0}&to={1}&subject={2}
|
||||
// bij de echte aanroep wordt &filename={filename} nog ingevuld met de echte filenaam
|
||||
var fso = Server.CreateObject("Scripting.FileSystemObject");
|
||||
if (!fso.FolderExists(result.tempfolder))
|
||||
fso.CreateFolder(result.tempfolder);
|
||||
}
|
||||
|
||||
// opruimen
|
||||
var sql = "DELETE fac_result WHERE fac_result_sessionid = " + safe.quoted_sql(psession_id);
|
||||
Oracle.Execute(sql);
|
||||
|
||||
if (result.path)
|
||||
{
|
||||
var Attachments = xmlReq.getElementsByTagName("attachment");
|
||||
for (i=0; i < Attachments.length; i++)
|
||||
{
|
||||
var safefilename = safe.filename(XMLval(Attachments[i], "filename", i));
|
||||
var attsize = parseInt(XMLval(Attachments[i], "size", i), 10);
|
||||
if (safefilename == 'tmpl_logo.gif')
|
||||
{ // Waarschijnlijk een FACILITOR bon gereply'd
|
||||
__Log("Bijlage {0} genegeerd.".format(safefilename));
|
||||
}
|
||||
else if (attsize < S("flex_min_size"))
|
||||
{
|
||||
__Log("Bijlage {0} genegeerd, te klein met {1} bytes.".format(safefilename, attsize));
|
||||
}
|
||||
else if (!new RegExp(S("flexallowedext"), "ig").test(safefilename))
|
||||
{
|
||||
// TODO: Misschien ook terugkoppelen aan zender?
|
||||
__DoLog("Onbekende extensie e-mail bijlage: {0} ({1} bytes) van {2}. Bestand is niet opgeslagen.".format(safefilename, attsize, theFrom));
|
||||
}
|
||||
else if (allowed_attachext && !new RegExp(allowed_attachext, "ig").test(safefilename))
|
||||
{
|
||||
__Log("Ongewenste extensie e-mail bijlage: {0} ({1} bytes) van {2}. Bestand is niet opgeslagen.".format(safefilename, attsize, theFrom));
|
||||
}
|
||||
else if (isUrl)
|
||||
{
|
||||
__Log('{0} bijlage ({1} bytes) verwerken met {2}'.format(safefilename, attsize, result.path));
|
||||
var tempfilename = result.tempfolder + "\\" + shared.random(32);
|
||||
__Log('Tijdelijk bewaard onder {0}'.format(tempfilename));
|
||||
result.attachments.push ({ sequence: i,
|
||||
safefilename: safefilename,
|
||||
tempfilename: tempfilename,
|
||||
safeurl: result.path,
|
||||
headers: { "Content-Type": "application/json" } // meer extensies her/onderkennen?
|
||||
})
|
||||
}
|
||||
else
|
||||
{
|
||||
if (setting_attachpath == "*flexfilespath" && kenmerkpath)
|
||||
{ // Dan ook alvast registreren in fac_bijlagen.
|
||||
// kenmerkpath zal iets zijn met MLD\M1180___\M1180707\2803\, helaas hier weer terugparsen
|
||||
// naar module, kenmerkkey en melding_key
|
||||
kenmerkpath = kenmerkpath.replace(/\\/g, "/"); // altijd forward slashed
|
||||
kenmerkpath = kenmerkpath.replace(/\/$/, ""); // laatste er af
|
||||
// Nu MLD/M1180___/M1180707/2803
|
||||
var mm = kenmerkpath.match(/(.*)\/.*\/([A-Z])(\d+)\/(\d+)/);
|
||||
__Log(mm);
|
||||
if (mm && mm.length == 5)
|
||||
{
|
||||
var module = mm[1];
|
||||
var niveau = mm[2];
|
||||
var key = mm[3];
|
||||
var kenmerk_key = mm[4];
|
||||
var sql = "BEGIN "
|
||||
+ " flx.setflexbijlage"
|
||||
+ "(" + safe.quoted_sql(module)
|
||||
+ ", " + kenmerk_key
|
||||
+ ", " + key
|
||||
+ ", " + safe.quoted_sql(kenmerkpath)
|
||||
+ ", " + "NULL"
|
||||
+ ", " + safe.quoted_sql(safefilename)
|
||||
+ ", " + attsize
|
||||
+ ", " + "SYSDATE"
|
||||
+ ", " + "NULL" // Helaas (nog) zonder digest omdat we het bestand nog niet hebben
|
||||
+ ");"
|
||||
+ " END;";
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
}
|
||||
__Log('{0} bijlage ({1} bytes) mag naar {2}'.format(safefilename, attsize, result.path));
|
||||
CreateFullPath(result.path); // Hoeft hMailserver dat niet meer te doen. Eist wel dat hMail op 'onze' webserver draait
|
||||
result.attachments.push ({ sequence: i,
|
||||
safefilename: result.path + safefilename
|
||||
})
|
||||
}
|
||||
}
|
||||
// Strikt genomen filtert allowed_attachext alleen maar. In de praktijk zetten we hem echter op XML
|
||||
// als we een XML-bijlage ter importeren verwachten dan kan er maar beter ook eentje zijn ook!
|
||||
if (allowed_attachext && !result.attachments.length)
|
||||
{
|
||||
__DoLog("Vreemd: ik had eigenlijk een '{0}' bijlage verwacht van {1}".format(allowed_attachext, theFrom), "#ff4");
|
||||
}
|
||||
}
|
||||
|
||||
__Log(result);
|
||||
Response.Write(JSON.stringify(result));
|
||||
Response.End;
|
||||
%>
|
||||
@@ -7,255 +7,23 @@
|
||||
Description: API voor INS-soap berichten
|
||||
|
||||
Parameters: Een xml
|
||||
Status: Opzet. Vereist bevestiging van SOAP-aanroepers en dan afmaken
|
||||
Status:
|
||||
Context:
|
||||
Notes:
|
||||
|
||||
Wat is het idee momenteel? Deze service is vooralsnog voor sensoren.
|
||||
De bedoeling is dat een sensor (een ins_deel) bij het relevant veranderen van de status
|
||||
een aanroep doet, met in essentie
|
||||
- id (key en/of omschrijving)
|
||||
- (nieuwe) waarde => alfanumeriek
|
||||
- (nieuwe) status => INSOUT/INSINN
|
||||
- optioneel: tijdstip
|
||||
De waarde wordt in ins_deel_state opgeslagen. Dat is het, maar daarop wordt elders
|
||||
indien de sensor in een reserveerbare ruimte zit gekeken of er een reservering
|
||||
bezig is/zou moeten zijn, en dan wordt daarop geacteerd, in de hoek van
|
||||
noshow en zo.
|
||||
Het meegegeven tijdstip kan worden gebruikt ipv sysdate om vertragingen te corrigeren..
|
||||
*/
|
||||
DOCTYPE_Disable = 1;
|
||||
THIS_FILE = "appl/api/api_inssoap.asp";
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/xml_converter.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../api/api.inc" -->
|
||||
<%
|
||||
// We sturen het antwoord in UTF-8.
|
||||
Session.Codepage = 65001;
|
||||
Response.Charset = 'utf-8';
|
||||
|
||||
var API = new API_func();
|
||||
|
||||
var asJSON = getQParam("json","0")!="0";
|
||||
|
||||
var tsql = "-"; // Voor tijdelijke statement(s)
|
||||
var sql = "-"; // De uiteindelijke insert/update-sql
|
||||
var xmlReq = styledRequestXML(API);
|
||||
|
||||
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.6.0");
|
||||
xmlResp.appendChild(xmlResp.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\""))
|
||||
|
||||
// The response.
|
||||
var FCLTElement = xmlResp.createElement("facilitor");
|
||||
// The response header.
|
||||
var now = new Date();
|
||||
var nowtxt = now.getFullYear()+'-'+padout(now.getMonth()+1) +'-'+padout(now.getDate()) +' '
|
||||
+padout(now.getHours()) +':'+padout(now.getMinutes())+':'+padout(now.getSeconds());
|
||||
var elmHeader = xmlResp.createElement("header");
|
||||
var headerinfo = {
|
||||
// file: String(Request.ServerVariables("SCRIPT_NAME")).toLowerCase(),
|
||||
datum: nowtxt,
|
||||
naam: user.naam(),
|
||||
custId: customerId,
|
||||
language: user.lang()
|
||||
}
|
||||
for (param in headerinfo)
|
||||
{
|
||||
var FCLTdata = xmlResp.createElement(param);
|
||||
FCLTdata.appendChild(xmlResp.createTextNode(headerinfo[param]));
|
||||
elmHeader.appendChild(FCLTdata);
|
||||
}
|
||||
//FCLTElement.appendChild(elmHeader);
|
||||
|
||||
// Hier zou het echte werk moeten gebeuren nav. xmlReq
|
||||
// en FCLTElement moeten we uitbreiden met antwoorden.
|
||||
var detected ="?";
|
||||
|
||||
// Dit is de objecteenloop (mochten er ooit nog anderen gaan volgen).
|
||||
var delen = xmlReq.getElementsByTagName("deel");
|
||||
for (i=0; i < delen.length; i++)
|
||||
{
|
||||
var resultcode = -1; /* Zolang deze -1 is, is het nog goed. Uiteindelijk eindigt het met 0 (als goed). */
|
||||
var resulttekst = "";
|
||||
|
||||
// Lees per node de (optionele) tags en waarden.
|
||||
var fields = []; // Bij te werken velden.
|
||||
var deel_key = delen[i].getAttribute("key"); // Bij type=update/delete
|
||||
var insaction = delen[i].getAttribute("type").toLowerCase();
|
||||
var deel_omschrijving = XMLval(delen[i], "omschrijving"); // soort van foreign ID
|
||||
var tijd = XMLval(delen[i], "tijd");
|
||||
var waarde = XMLval(delen[i], "waarde");
|
||||
var outinn = XMLval(delen[i], "status");
|
||||
|
||||
if (deel_key == null) { // Voorkom problemen als key-attribuut ontbreekt!
|
||||
deel_key = '';
|
||||
}
|
||||
|
||||
user.checkAutorisation("WEB_INSUSE");
|
||||
|
||||
if (insaction == 'update') // of specifiek signal?
|
||||
{
|
||||
if (deel_key == '' && deel_omschrijving == '') {
|
||||
resultcode = 2;
|
||||
resulttekst = "Undefined object (key/omschrijving)";
|
||||
}
|
||||
else {
|
||||
// Waar hoort-ie bij?
|
||||
tsql = "SELECT MAX(ins_deel_key) deel_key, MAX(ins_deel_omschrijving) deel_oms, MAX(ins_deel_state) cur_state, MAX(ins_alg_ruimte_key_org) org_place, COUNT (*) aantal"
|
||||
+ " FROM ins_deel"
|
||||
+ " WHERE ins_deel_verwijder IS NULL"
|
||||
+ (deel_key
|
||||
? " AND ins_deel_key=" + safe.quoted_sql(deel_key)
|
||||
: "")
|
||||
+ (deel_omschrijving
|
||||
? " AND ins_deel_upper = " + safe.quoted_sql(deel_omschrijving.toUpperCase())
|
||||
: "");
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
var aantal = oRs("aantal").value;
|
||||
if (aantal == 0) {
|
||||
resultcode = 2;
|
||||
resulttekst = "Invalid object (key/omschrijving)";
|
||||
}
|
||||
else if (aantal > 1) {
|
||||
resultcode = 3;
|
||||
resulttekst = "Object cannot be identified uniquely";
|
||||
}
|
||||
else {
|
||||
// Hier heb ik een geldige deel_key.
|
||||
deel_key = oRs("deel_key").value;
|
||||
var deel_oms = oRs("deel_oms").value;
|
||||
var cur_state = oRs("cur_state").value;
|
||||
var org_place = oRs("org_place").value;
|
||||
//var old_statedate = new Date(oRs("deel_statedate").Value);
|
||||
|
||||
//var this_res = res.func_enabled(rsv_ruimte_key); // Wat heb ik zoal aan rechten op dit object
|
||||
//user.auth_required_or_abort(this_res.canChange);
|
||||
|
||||
// Meegegeven meetdatumtijd of anders now als laatste teken van leven!
|
||||
//if (tijd != null) { // Bij update optioneel
|
||||
// try {
|
||||
// var new_statedate = XMLtoJsDate(tijd);
|
||||
// }
|
||||
// catch (e) {
|
||||
// // Verkeerde datum-formaat, dan now gebruiken!
|
||||
// __DoLog("Formaat ontvangen XML-datum incorrect: "+tijd, "#00FF00");
|
||||
// new_statedate = now;
|
||||
// }
|
||||
//} else {
|
||||
// var new_statedate = now;
|
||||
//}
|
||||
|
||||
if (waarde) {
|
||||
// Alleen bij wijziging!
|
||||
if (waarde != cur_state) {
|
||||
// te kiezen: moet de datum altijd aangepast worden (als laatste teken van leven) of
|
||||
// juist niet (als recentste moment van verandering)
|
||||
// veilig kan zijn dit met een waarde in het bericht te sturen, maar ik wil wel graag
|
||||
// dat wij een beste default gekozen hebben: wat is logisch?
|
||||
sql = "UPDATE ins_deel"
|
||||
+ " SET ins_deel_state=" + safe.quoted_sql(waarde)
|
||||
+ " , ins_deel_statedate=SYSDATE" // TODO: de meegegeven meetdatumtijd nemen
|
||||
+ " WHERE ins_deel_key=" + deel_key;
|
||||
Oracle.Execute(sql);
|
||||
// FSN#28896: state-changes worden automatisch getrackt in ins_deel_state_history; geen updtracking meer
|
||||
//shared.trackaction("INSUPD", deel_key, L("lcl_deel_state")+" "+safe.quoted_sql(waarde));
|
||||
}
|
||||
}
|
||||
else { // outinn != ''
|
||||
// Er zou dus een status moet zijn meegegeven.
|
||||
switch (outinn) {
|
||||
case 'INSOUT':
|
||||
// Alleen bij wijziging; object was ingenomen en wordt uitgegeven!
|
||||
if (!org_place) {
|
||||
sql = "UPDATE ins_deel "
|
||||
+ " SET ins_alg_ruimte_key_org=ins_alg_ruimte_key"
|
||||
+ " , ins_alg_ruimte_type_org=ins_alg_ruimte_type"
|
||||
+ " , ins_alg_ruimte_key=" + user_key
|
||||
+ " , ins_alg_ruimte_type='P'"
|
||||
+ " WHERE ins_deel_key=" + deel_key;
|
||||
Oracle.Execute(sql);
|
||||
|
||||
// Object [Fiets 1] is uitgegeven aan [Pseudo-user tbv. XXX-API]
|
||||
shared.trackaction("INSOUT", deel_key, L("lcl_obj_is_uitgegeven_to").format(user.naam(), deel_oms));
|
||||
}
|
||||
break;
|
||||
case 'INSINN':
|
||||
// Alleen bij wijziging; object was uitgegeven en wordt ingenomen!
|
||||
if (org_place) {
|
||||
sql = "UPDATE ins_deel "
|
||||
+ " SET ins_alg_ruimte_key=ins_alg_ruimte_key_org"
|
||||
+ " , ins_alg_ruimte_type=ins_alg_ruimte_type_org"
|
||||
+ " , ins_alg_ruimte_key_org=NULL"
|
||||
+ " , ins_alg_ruimte_type_org=NULL"
|
||||
+ " WHERE ins_deel_key=" + deel_key;
|
||||
Oracle.Execute(sql);
|
||||
|
||||
// Object is ingenomen
|
||||
shared.trackaction("INSINN", deel_key, L("lcl_obj_is_ingenomen"));
|
||||
shared.trackaction("INSIN2", deel_key, L("lcl_obj_is_ingenomen2").format(deel_oms));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
resultcode = 4;
|
||||
resulttekst = "Invalid waarde/status";
|
||||
} // switch
|
||||
}
|
||||
|
||||
if (resultcode == -1) { // nog steeds geen fouten
|
||||
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor dit object.
|
||||
}
|
||||
} // if aantal
|
||||
oRs.Close();
|
||||
} // if deel_key
|
||||
}
|
||||
else {
|
||||
resultcode = 2;
|
||||
resulttekst = "Undefined operation (type)";
|
||||
} // if insaction
|
||||
|
||||
var binfo = {
|
||||
returncode: resultcode,
|
||||
returntekst: resulttekst,
|
||||
// executed:sql, // debug
|
||||
datum: nowtxt, // TODO: Beter ook xml-datum??? Of de teruggequeriede datumtijd?
|
||||
deel_key: deel_key
|
||||
}
|
||||
|
||||
var FCLTBody = xmlResp.createElement("deel"); // type=response
|
||||
FCLTBody.setAttribute('key', deel_key);
|
||||
FCLTBody.setAttribute('type', 'response');
|
||||
for (param in binfo)
|
||||
{
|
||||
var FCLTdata = xmlResp.createElement(param);
|
||||
FCLTdata.appendChild(xmlResp.createTextNode(binfo[param]));
|
||||
FCLTBody.appendChild(FCLTdata);
|
||||
}
|
||||
|
||||
FCLTElement.appendChild(FCLTBody);
|
||||
} // end for
|
||||
// Alle deel-nodes zijn behandeld.
|
||||
|
||||
xmlResp.appendChild(FCLTElement);
|
||||
|
||||
if (API.apidata.loglevel) __Log2File(xmlResp.xml, API.APIname + "_TUSSEN_OUT");
|
||||
if (API.apidata.stylesheet)
|
||||
{
|
||||
// Niet super efficient dat we eerst naar tekstuele xml gaan maar ach...
|
||||
Response.ContentType = "text/xml";
|
||||
STR2Stream(xmlResp.xml, API.apidata.stylesheet, Response, {});
|
||||
}
|
||||
else
|
||||
{
|
||||
if (asJSON)
|
||||
Response.ContentType = "application/json";
|
||||
else
|
||||
Response.ContentType = "text/xml";
|
||||
|
||||
if (asJSON)
|
||||
var antwoord = JSON.stringify(xmlToJson(xmlResp), null, getQParam("pretty","0")=="1"?2:0);
|
||||
else
|
||||
var antwoord = xmlResp.xml;
|
||||
Response.Write(antwoord);
|
||||
}
|
||||
%>
|
||||
var APIname = getQParam("API");
|
||||
var APIKEY = getQParam("APIKEY");
|
||||
var API = new API_func(APIname, APIKEY);
|
||||
%>
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,171 +0,0 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: api_perslid.asp
|
||||
|
||||
Description: API om een perslid te kunnen muteren.
|
||||
Parameters: apiname, apikey
|
||||
Context: Door een remote systeem (geen persoon) om info uit FACILITOR te halen aan te roepen
|
||||
|
||||
Notes:
|
||||
|
||||
Status:
|
||||
*/
|
||||
DOCTYPE_Disable = 1;
|
||||
LCL_Disable = 1
|
||||
THIS_FILE = "appl/api/api_perslid.asp";
|
||||
|
||||
INTERNAL_ERROR_api_perslid_ISUNSAFE; // abort abort.....
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../api/api.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc"-->
|
||||
<%
|
||||
Session.Codepage = 65001;
|
||||
Response.Charset = 'utf-8';
|
||||
Session.Abandon(); // Voor de zekerheid
|
||||
|
||||
try
|
||||
{
|
||||
var API = new API_func(); // Valideert ook
|
||||
|
||||
var asJSON = getQParam("json","0")!="0";
|
||||
|
||||
var params = RequestJSON();
|
||||
if (!params)
|
||||
API.error("Error parsing input JSON");
|
||||
|
||||
// FAC_API_OPTIONS_JSON
|
||||
var urole = "fe"; // Altijd?
|
||||
var autfunction = urole == "fe"? "WEB_RESUSE" : "WEB_RESFOF";
|
||||
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
|
||||
|
||||
/*
|
||||
params = {
|
||||
externId: "AAFM_12345", // Zelf zorgen dat het uniek is in het doel-systeem
|
||||
voornaam: "Jos",
|
||||
achternaam: "Groot Lipman",
|
||||
email: "user@example.com",
|
||||
telefoon: "053-1234567",
|
||||
mobiel: "06-12345678"
|
||||
};
|
||||
*/
|
||||
warning = "";
|
||||
// TODO: Autorisatie
|
||||
prs_key = -1;
|
||||
switch (params.request)
|
||||
{
|
||||
case "select": // zoekt een persoon op basis van params.externId
|
||||
var sql = "SELECT prs_perslid_key"
|
||||
+ " FROM prs_perslid"
|
||||
+ " WHERE prs_perslid_oslogin = " + safe.quoted_sql("_" + params.externId);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.Eof)
|
||||
{
|
||||
prs_key = oRs("prs_perslid_key").Value;
|
||||
}
|
||||
oRs.Close();
|
||||
break;
|
||||
case "update": // doet desnoods een insert
|
||||
var fields = [];
|
||||
|
||||
if ("voornaam" in params)
|
||||
fields.push({ dbs: "prs_perslid_voornaam", typ: "varchar", val: params.voornaam });
|
||||
if ("achternaam" in params)
|
||||
fields.push({ dbs: "prs_perslid_naam", typ: "varchar", val: params.achternaam });
|
||||
if ("tussenvoegsel" in params)
|
||||
fields.push({ dbs: "prs_perslid_tussenvoegsel", typ: "varchar", val: params.tussenvoegsel });
|
||||
if ("email" in params)
|
||||
fields.push({ dbs: "prs_perslid_email", typ: "varchar", val: params.email });
|
||||
if ("geslacht" in params)
|
||||
fields.push({ dbs: "geslacht", typ: "varchar", val: params.geslacht });
|
||||
if ("prs_perslid_mobiel" in params)
|
||||
fields.push({ dbs: "prs_perslid_mobiel", typ: "varchar", val: params.mobiel });
|
||||
|
||||
var sql = "SELECT prs_perslid_key"
|
||||
+ " FROM prs_perslid"
|
||||
+ " WHERE prs_perslid_oslogin = " + safe.quoted_sql("_" + params.externId);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.Eof)
|
||||
{
|
||||
prs_key = oRs("prs_perslid_key").Value;
|
||||
sql = buildUpdate("prs_perslid", fields, { noValidateToken: true })
|
||||
+ " prs_perslid_key = " + prs_key;
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
warning = err.friendlyMsg;
|
||||
//else
|
||||
// shared.trackaction("PRSUPD", prs_key);
|
||||
}
|
||||
else // Nieuwe
|
||||
{ /// TODO: Speciale flags?
|
||||
/// TODO: _default groep (door de trigger) is te veel. Misschien _defaultextern?
|
||||
fields.push({ dbs: "prs_perslid_key", typ: "key", seq: "prs_s_prs_alluitvoerende_keys" });
|
||||
fields.push({ dbs: "prs_perslid_oslogin", typ: "varchar", val: "_" + params.externId }); // De underscore voorkomt nagenoeg volledig dat ze ergens in beeld komen
|
||||
fields.push({ dbs: "prs_afdeling_key", typ: "key", val: user.prs_afdeling_key() }); // Vooralsnog altijd zelfde als de API-user!
|
||||
fields.push({ dbs: "prs_srtperslid_key", typ: "key", val: user.prs_srtperslid_key() });
|
||||
fields.push({ dbs: "prs_perslid_ingids", typ: "check", val: 0 });
|
||||
|
||||
var prsIns = buildInsert("prs_perslid", fields, { noValidateToken: true });
|
||||
prs_key = prsIns.sequences["prs_perslid_key"];
|
||||
var err = Oracle.Execute(prsIns.sql, true);
|
||||
if (err.friendlyMsg)
|
||||
warning = err.friendlyMsg;
|
||||
else
|
||||
{
|
||||
shared.trackaction("PRSNEW", prs_key);
|
||||
// We willen niet in authgroep _default maar in _defaultextern
|
||||
var sql = "DELETE FROM fac_gebruikersgroep"
|
||||
+ " WHERE prs_perslid_key = " + prs_key;
|
||||
Oracle.Execute(sql);
|
||||
var sql = " INSERT INTO fac_gebruikersgroep"
|
||||
+ " (fac_groep_key, prs_perslid_key)"
|
||||
+ " SELECT fac_groep_key, " + prs_key
|
||||
+ " FROM fac_groep"
|
||||
+ " WHERE fac_groep_upper = '_DEFAULTEXTERN'";
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
}
|
||||
oRs.Close();
|
||||
break;
|
||||
default:
|
||||
API.error("Unknown API request");
|
||||
}
|
||||
// We hebben nu een prs_key
|
||||
|
||||
Response.ContentType = "application/json";
|
||||
Response.AddHeader("Access-Control-Allow-Origin", "*"); // Opdat FireFox cross-domain toestaat
|
||||
|
||||
var result = { success: true };
|
||||
if (warning)
|
||||
result = { succes: false, error: warning };
|
||||
else
|
||||
{
|
||||
result.prs_key = prs_key;
|
||||
if (prs_key > 0)
|
||||
{ // plak prs_auth achter een deeplink en deze gebruiker kan daarmee (vandaag) inloggen
|
||||
result.prs_auth = "userauth=" + prs_key + "&userhmac=" + safe.url(protectHMAC.create(String(prs_key)));
|
||||
}
|
||||
}
|
||||
|
||||
var antwoord = JSON.stringify(result, null, getQParam("pretty","0")=="1"?2:0);
|
||||
|
||||
var oCrypto = new ActiveXObject("SLNKDWF.Crypto");
|
||||
var eTag = '"' + oCrypto.hex_sha1(antwoord).toLowerCase() + '"';
|
||||
Response.AddHeader("ETag", eTag);
|
||||
if (Request.ServerVariables("HTTP_IF_NONE_MATCH") == eTag)
|
||||
{ // We hebben een match!
|
||||
Response.Clear();
|
||||
Response.Status = "304 Not modified";
|
||||
Response.End;
|
||||
}
|
||||
if (API.apidata.loglevel) __Log2File(antwoord, API.APIname + "_OUT");
|
||||
Response.write(antwoord);
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
API.error(typeof e == "string"? e : "API_error: " + e.description);
|
||||
}
|
||||
%>
|
||||
23
APPL/API/api_phonebook_sample.html
Normal file
23
APPL/API/api_phonebook_sample.html
Normal file
@@ -0,0 +1,23 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
|
||||
"http://www.w3.org/TR/html4/strict.dtd">
|
||||
<html>
|
||||
<head>
|
||||
<style>
|
||||
#phonebookdetails * { font-size:9pt; font-family: Verdana, Arial; }
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
function initPhonebook()
|
||||
{
|
||||
var phone = new facilitor.phonebook(document.getElementById("phone_canvas"), { } );
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript"
|
||||
src="http://dit03/Facilitor5iwork/?fac_id=XXXX&API=PHONEBOOK&APIKEY=0123456789ABCDEF">
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body onload="initPhonebook();">
|
||||
<div id="phone_canvas"></div>
|
||||
Andere tekst
|
||||
</body>
|
||||
</html>
|
||||
@@ -23,5 +23,7 @@
|
||||
Session.Codepage = 65001;
|
||||
Response.Charset = 'utf-8';
|
||||
|
||||
var API = new API_func();
|
||||
var APIname = getQParam("API");
|
||||
var APIKEY = getQParam("APIKEY");
|
||||
var API = new API_func(APIname, APIKEY);
|
||||
%>
|
||||
@@ -17,7 +17,9 @@
|
||||
<!-- #include file="../api/api.inc" -->
|
||||
|
||||
<%
|
||||
var API = new API_func();
|
||||
var APIname = getQParam("API");
|
||||
var APIKEY = getQParam("APIKEY");
|
||||
var API = new API_func(APIname, APIKEY);
|
||||
|
||||
var BOOKMARK = getQParam("BOOKMARK", "");
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
aangemaakt.
|
||||
|
||||
Parameters: Een xml
|
||||
Status: Eerste implementatie in kader AAEN#25223 (tbv. TIBCO/Smart Signs)
|
||||
Status: GEEN
|
||||
Context:
|
||||
Notes:
|
||||
*/
|
||||
@@ -19,22 +19,24 @@
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/xml_converter.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/flexfiles.inc" -->
|
||||
<!-- #include file="../api/api.inc" -->
|
||||
<!-- #include file="../shared/kpl_ksrt_validate.inc" -->
|
||||
<!-- #include file="../res/res.inc" -->
|
||||
<!-- #include file="../mld/mld.inc" -->
|
||||
<%
|
||||
// We sturen het antwoord in UTF-8.
|
||||
Session.Codepage = 65001;
|
||||
Response.Charset = 'utf-8';
|
||||
|
||||
var API = new API_func();
|
||||
var APIname = getQParam("API");
|
||||
var APIKEY = getQParam("APIKEY");
|
||||
var API = new API_func(APIname, APIKEY);
|
||||
var tsql = "-"; // Voor tijdelijke statement(s)
|
||||
var sql = "-"; // De uiteindelijke insert/update-sql
|
||||
var resultcode = -1; /* Zolang deze -1 is, is het nog goed. Uiteindelijk eindigt het met 0 (als goed). */
|
||||
var resulttekst = "";
|
||||
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.4.0");
|
||||
xmlReq.load(Request);
|
||||
|
||||
var xmlReq = styledRequestXML(API);
|
||||
|
||||
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.6.0");
|
||||
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.4.0");
|
||||
xmlResp.appendChild(xmlResp.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\""))
|
||||
|
||||
// The response.
|
||||
@@ -43,7 +45,7 @@
|
||||
var now = new Date();
|
||||
var nowtxt = now.getFullYear()+'-'+padout(now.getMonth()+1) +'-'+padout(now.getDate()) +' '
|
||||
+padout(now.getHours()) +':'+padout(now.getMinutes())+':'+padout(now.getSeconds());
|
||||
var elmHeader = xmlResp.createElement("header");
|
||||
var FCLTHeader = xmlResp.createElement("header");
|
||||
var headerinfo = {
|
||||
// file: String(Request.ServerVariables("SCRIPT_NAME")).toLowerCase(),
|
||||
datum: nowtxt,
|
||||
@@ -55,363 +57,83 @@
|
||||
{
|
||||
var FCLTdata = xmlResp.createElement(param);
|
||||
FCLTdata.appendChild(xmlResp.createTextNode(headerinfo[param]));
|
||||
elmHeader.appendChild(FCLTdata);
|
||||
FCLTHeader.appendChild(FCLTdata);
|
||||
}
|
||||
FCLTElement.appendChild(FCLTHeader);
|
||||
|
||||
// Luie oplossing: Oracle kan dit simpeler dan JavaScript.
|
||||
function XMLtoJsDate(xmlDate)
|
||||
{
|
||||
var sql = "SELECT TO_DATE("+safe.quoted_sql(xmlDate)+", 'YYYY-MM-DD HH24:MI:SS') FROM DUAL";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var dt = new Date(oRs(0).Value);
|
||||
oRs.Close();
|
||||
return dt;
|
||||
}
|
||||
|
||||
function XMLval(xml, tag)
|
||||
{
|
||||
if (!xml)
|
||||
return null;
|
||||
var xx = xml.getElementsByTagName(tag);
|
||||
if (!xx || !xx.length)
|
||||
return null;
|
||||
xx = xx[0].childNodes
|
||||
if (!xx || !xx.length)
|
||||
return null;
|
||||
return xx[0].nodeValue;
|
||||
}
|
||||
FCLTElement.appendChild(elmHeader);
|
||||
|
||||
// Hier zou het echte werk moeten gebeuren nav. xmlReq
|
||||
// en FCLTElement moeten we uitbreiden met antwoorden.
|
||||
var detected ="?";
|
||||
// xmlReq.setProperty("SelectionLanguage", "XPath"); // Weet niet of noodzakelijk
|
||||
|
||||
// Dit is de reserveringenloop (mochten er ooit nog anderen gaan volgen).
|
||||
// Dit is de meldingenloop (mochten er ooit nog anderen gaan volgen).
|
||||
var reserveringen = xmlReq.getElementsByTagName("reservering");
|
||||
for (i=0; i < reserveringen.length; i++)
|
||||
{
|
||||
var resultcode = -1; /* Zolang deze -1 is, is het nog goed. Uiteindelijk eindigt het met 0 (als goed). */
|
||||
var resulttekst = "";
|
||||
|
||||
// Lees per node de (optionele) tags en waarden.
|
||||
var fields = []; // Bij te werken velden.
|
||||
var resid = reserveringen[i].getAttribute("key"); // Bij type=update/delete
|
||||
var resaction = reserveringen[i].getAttribute("type").toLowerCase();
|
||||
var ruimtekey = parseInt(XMLval(reserveringen[i], "ruimtekey"), 10); // res_ruimte_key
|
||||
var van = XMLval(reserveringen[i], "van");
|
||||
var tot = XMLval(reserveringen[i], "tot");
|
||||
var res_oms = XMLval(reserveringen[i], "omschrijving");
|
||||
var shown = XMLval(reserveringen[i], "shown");
|
||||
//var reskenmerken = (reserveringen[i].getElementsByTagName("kenmerk")); // Unsupported yet
|
||||
var ext_id = reserveringen[i].getAttribute("key");
|
||||
var meldaction = reserveringen[i].getAttribute("type").toLowerCase();
|
||||
var melddatum = XMLval(reserveringen[i], "datum");
|
||||
var stdmld_key = parseInt(XMLval(reserveringen[i], "stdmelding"), 10); // Numeriek
|
||||
var stdmld_sla = -1; // Normale uitvoertijd (prio door melder nog unsupported)
|
||||
var meldloc = XMLval(reserveringen[i], "locatiecode");
|
||||
var meldgeb = XMLval(reserveringen[i], "gebouwcode");
|
||||
var meldver = XMLval(reserveringen[i], "verdiepingcode");
|
||||
var meldrnr = XMLval(reserveringen[i], "ruimtecode");
|
||||
var locatie_key = -1; // Bepaald op basis van meldloc
|
||||
var plaats_key = -1; // Bepaald op basis van meldgeb/meldver/meldrnr
|
||||
var meld_oms = XMLval(reserveringen[i], "omschrijving");
|
||||
//var meldkenmerken = (reserveringen[i].getElementsByTagName("kenmerk"))[0].childNodes[0].nodeValue; // Unsupported yet
|
||||
var mld_key = -1; // Bepaald na insert
|
||||
|
||||
if (resid == null) { // Voorkom problemen als key-attribuut ontbreekt!
|
||||
resid = '';
|
||||
}
|
||||
if (isNaN(ruimtekey) ) { // Voorkom problemen als ruimtekey ontbreekt!
|
||||
ruimtekey = -1;
|
||||
}
|
||||
var idarr = resid.split('/');
|
||||
var reservering_key = parseInt(idarr[0], 10); // En anders bepaald bij insert!
|
||||
var rsv_ruimte_volgnr = parseInt(idarr[1], 10); // En anders 1 bij insert!
|
||||
var rsv_ruimte_key = -1; // Bepalen we later bij insert/update/delete!
|
||||
user.checkAutorisation("WEB_RESUSE"); // Dit is nog ongeacht de melding
|
||||
|
||||
user.checkAutorisation("WEB_RESFOF"); // Dit is nog ongeacht de reservering
|
||||
|
||||
if (resaction == 'insert') {
|
||||
tsql = " SELECT rad.res_discipline_key, rad.res_activiteit_key, rro.res_ruimte_opstel_key,"
|
||||
+ " COALESCE(rr.res_ruimte_begintijd, " + S("res_t1") + ") begintijd,"
|
||||
+ " COALESCE(rr.res_ruimte_eindtijd, " + S("res_t2") + ") eindtijd"
|
||||
+ " FROM res_ruimte_opstelling rro, res_ruimte rr, res_activiteitdiscipline rad,"
|
||||
+ " (SELECT * FROM res_activiteit ra1"
|
||||
+ " WHERE NOT EXISTS"
|
||||
+ " (SELECT 1 FROM res_activiteit ra2"
|
||||
+ " WHERE COALESCE (ra2.res_activiteit_volgnr, 999 + ra2.res_activiteit_key) <"
|
||||
+ " COALESCE (ra1.res_activiteit_volgnr, 999 + ra1.res_activiteit_key))) ra"
|
||||
+ " WHERE rro.res_ruimte_key="+ruimtekey
|
||||
+ " AND rro.res_ruimte_key = rr.res_ruimte_key"
|
||||
+ " AND res_ruimte_verwijder IS NULL"
|
||||
+ " AND rr.res_discipline_key = rad.res_discipline_key"
|
||||
+ " AND rad.res_activiteit_key = ra.res_activiteit_key"
|
||||
+ " ORDER BY rro.res_ruimte_opstel_default DESC NULLS LAST"; // die met '1' komt vooraan
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
if (oRs.eof) {
|
||||
resultcode = 3;
|
||||
resulttekst = "Invalid/undefined ruimtekey";
|
||||
}
|
||||
else {
|
||||
// Hier heb ik een geldige res_ruimte_key en weet ik de discipline, default activiteit en default opstelling!
|
||||
var disc_key = oRs("res_discipline_key").value;
|
||||
var act_key = oRs("res_activiteit_key").value;
|
||||
var opstel_key = oRs("res_ruimte_opstel_key").value;
|
||||
|
||||
if (van != null) {
|
||||
try {
|
||||
var vandate = XMLtoJsDate(van);
|
||||
}
|
||||
catch (e) {
|
||||
__DoLog("Formaat ontvangen XML-datum incorrect (van): "+van, "#00FF00");
|
||||
// Datum-formaat niet volgens spec.? Dan exit!
|
||||
resultcode = 4;
|
||||
resulttekst = "Invalid date format";
|
||||
}
|
||||
}
|
||||
else {
|
||||
__DoLog("Geen XML-datum ontvangen (van): ", "#00FF00");
|
||||
// Geen van-datum, dan exit!
|
||||
resultcode = 4;
|
||||
resulttekst = "Missing parameter(s)";
|
||||
}
|
||||
|
||||
if (tot != null) {
|
||||
try {
|
||||
var totdate = XMLtoJsDate(tot);
|
||||
}
|
||||
catch (e) {
|
||||
__DoLog("Formaat ontvangen XML-datum incorrect (tot): "+tot, "#00FF00");
|
||||
// Datum-formaat niet volgens spec.? Dan exit!
|
||||
resultcode = 4;
|
||||
resulttekst = "Invalid date format";
|
||||
}
|
||||
}
|
||||
else {
|
||||
__DoLog("Geen XML-datum ontvangen (tot): ", "#00FF00");
|
||||
// Geen tot-datum, dan exit!
|
||||
resultcode = 4;
|
||||
resulttekst = "Missing parameter(s)";
|
||||
}
|
||||
|
||||
if (res_oms == null) { // Geen/lege omschrijving wordt gezien als ongeplande reservering!
|
||||
res_oms = "Ongeplande reservering";
|
||||
}
|
||||
|
||||
if (resultcode == -1) { // nog steeds geen fouten
|
||||
// Check van-dag = tot-dag = vandaag!
|
||||
if (1==0) {
|
||||
resultcode = 6;
|
||||
resulttekst = "Illegal reservering (date)";
|
||||
}
|
||||
}
|
||||
|
||||
if (resultcode == -1) { // nog steeds geen fouten
|
||||
// Check van < tot en beide tegen openingstijden ruimte!
|
||||
var df = vandate.getHours() + vandate.getMinutes()/60;
|
||||
var dt = totdate.getHours() + totdate.getMinutes()/60;
|
||||
if (vandate > totdate ||
|
||||
df < oRs("begintijd").value || df > oRs("eindtijd").value ||
|
||||
dt < oRs("begintijd").value || dt > oRs("eindtijd").value) {
|
||||
resultcode = 6;
|
||||
resulttekst = "Illegal reservering (time)";
|
||||
}
|
||||
}
|
||||
|
||||
if (resultcode == -1) { // nog steeds geen fouten
|
||||
// Combinatievalidatie ruimte discipline!
|
||||
if (!kpl_ksrt_validate(user.afdeling().prs_kostenplaats_key(), null, disc_key)) {
|
||||
resultcode = 6;
|
||||
resulttekst = "Illegal reservering (cost)";
|
||||
}
|
||||
}
|
||||
|
||||
if (resultcode == -1) { // nog steeds geen fouten
|
||||
// Feitelijke ad-hoc of ongeplande insert! Eerst ook altijd een res_reservering record aanmaken!
|
||||
var resfields = [ { dbs: "res_reservering_key", typ: "key", seq: "res_s_res_reservering_key" },
|
||||
{ dbs: "res_reservering_aanmaak", typ: "datetime", val: new Date() }
|
||||
];
|
||||
var resIns = buildInsert("res_reservering", resfields, { noValidateToken: true });
|
||||
reservering_key = resIns.sequences["res_reservering_key"];
|
||||
Oracle.Execute(resIns.sql);
|
||||
|
||||
resid = reservering_key+"/1";
|
||||
|
||||
fields.push({ dbs: "res_activiteit_key", typ: "key", val: act_key });
|
||||
fields.push({ dbs: "res_status_fo_key", typ: "key", val: 2 }); // definitief = 2???
|
||||
fields.push({ dbs: "res_ruimte_opstel_key", typ: "key", val: opstel_key });
|
||||
fields.push({ dbs: "res_rsv_ruimte_van", typ: "datetime", val: vandate });
|
||||
fields.push({ dbs: "res_rsv_ruimte_tot", typ: "datetime", val: totdate });
|
||||
fields.push({ dbs: "res_rsv_ruimte_bezoekers", typ: "number", val: 1 }); // altijd 1
|
||||
fields.push({ dbs: "prs_kostenplaats_key", typ: "key", val: user.afdeling().prs_kostenplaats_key() });
|
||||
fields.push({ dbs: "res_rsv_ruimte_host_key", typ: "key", val: user_key });
|
||||
fields.push({ dbs: "res_rsv_ruimte_contact_key", typ: "key", val: user_key });
|
||||
fields.push({ dbs: "res_rsv_ruimte_omschrijving", typ: "varchar", val: res_oms, len: 4000 });
|
||||
|
||||
fields = fields.concat(
|
||||
[ { dbs: "res_rsv_ruimte_key", typ: "key", seq: "res_s_res_rsv_ruimte_key" },
|
||||
{ dbs: "res_reservering_key", typ: "key", val: reservering_key },
|
||||
{ dbs: "res_rsv_ruimte_volgnr", typ: "number", val: 1 }, // altijd 1
|
||||
{ dbs: "res_status_bo_key", typ: "key", val: 2 } // ingevoerd
|
||||
]);
|
||||
|
||||
var resIns = buildInsert("res_rsv_ruimte", fields, { noValidateToken: true });
|
||||
rsv_ruimte_key = resIns.sequences["res_rsv_ruimte_key"];
|
||||
sql = "BEGIN "
|
||||
+ resIns.sql + ";"
|
||||
+ "res.set_ruimte_dirty (" + rsv_ruimte_key + "); " // Zelf dirty geworden?
|
||||
+ "END;";
|
||||
Oracle.Execute(sql);
|
||||
|
||||
// RESNEW-tracking toevoegen!
|
||||
shared.trackaction("RESNEW", rsv_ruimte_key);
|
||||
|
||||
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze reservering.
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
}
|
||||
else if (resaction == 'update')
|
||||
{
|
||||
if (resid == '') {
|
||||
if (ext_id == null) {
|
||||
resultcode = 1;
|
||||
resulttekst = "Undefined external ID (key)";
|
||||
} else if (meldaction != 'insert') {
|
||||
resultcode = 2;
|
||||
resulttekst = "Undefined reservering (key)";
|
||||
}
|
||||
else if (isNaN (reservering_key) || isNaN (rsv_ruimte_volgnr)) {
|
||||
resultcode = 2;
|
||||
resulttekst = "Invalid reservering (key) "+resid;
|
||||
}
|
||||
else {
|
||||
tsql = "SELECT res_rsv_ruimte_key, res_rsv_ruimte_van, res_rsv_ruimte_tot"
|
||||
+ " FROM res_v_aanwezigrsv_ruimte"
|
||||
+ " WHERE res_reservering_key="+reservering_key
|
||||
+ " AND res_rsv_ruimte_volgnr="+rsv_ruimte_volgnr
|
||||
+ " AND TRUNC(res_rsv_ruimte_van)>=TRUNC(SYSDATE)" // Alleen vandaag of in de toekomst???
|
||||
+ " AND 1=1"; // Niet dirty, niet verwijderd, ...???
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
if (!oRs.eof) {
|
||||
// Hier heb ik een geldige res_rsv_ruimte_key.
|
||||
rsv_ruimte_key = oRs("res_rsv_ruimte_key").value;
|
||||
resulttekst = "Undefined operation (type)";
|
||||
} else {
|
||||
|
||||
var this_res = res.func_enabled(rsv_ruimte_key); // Wat heb ik zoal aan rechten op deze specifieke reservering
|
||||
user.auth_required_or_abort(this_res.canChange);
|
||||
DO OUT THING HERE
|
||||
|
||||
if (shown != null) { // Bij update optioneel
|
||||
// Feitelijke UPDATE shown.
|
||||
// Verder geen checks (Oracle fout als shown < 0 of shown > 999 niet afvangen???)!
|
||||
if (S("res_noshow_detailed") == 1) {
|
||||
sql = "UPDATE res_rsv_ruimte"
|
||||
+ " SET res_rsv_ruimte_bezoekers_shown="+parseInt(shown, 10)
|
||||
+ " WHERE res_rsv_ruimte_key="+rsv_ruimte_key
|
||||
+ " AND 1=1"; // Niet dirty, niet verwijderd, ...???
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
else {
|
||||
if (parseInt(shown, 10) == 0) {
|
||||
sql = "UPDATE res_rsv_ruimte"
|
||||
+ " SET res_rsv_ruimte_noshow = 1"
|
||||
+ " WHERE res_rsv_ruimte_key="+rsv_ruimte_key
|
||||
+ " AND 1=1"; // Niet dirty, niet verwijderd, ...???
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
}
|
||||
// RESNOS-tracking toevoegen!
|
||||
shared.trackaction("RESNOS", rsv_ruimte_key);
|
||||
}
|
||||
|
||||
var oldvan = new Date(oRs("res_rsv_ruimte_van").Value);
|
||||
var oldtot = new Date(oRs("res_rsv_ruimte_tot").Value);
|
||||
if (tot != null) { // Bij update optioneel
|
||||
try {
|
||||
var totdate = XMLtoJsDate(tot);
|
||||
}
|
||||
catch (e) {
|
||||
__DoLog("Formaat ontvangen XML-datum incorrect (tot): "+tot, "#00FF00");
|
||||
// Datum-formaat niet volgens spec.? Dan exit!
|
||||
resultcode = 4;
|
||||
resulttekst = "Invalid date format";
|
||||
}
|
||||
|
||||
if (resultcode == -1) { // nog steeds geen fouten
|
||||
// Check van-dag = tot-dag = vandaag!
|
||||
if (1==0) {
|
||||
resultcode = 6;
|
||||
resulttekst = "Illegal update (tot-date)";
|
||||
}
|
||||
}
|
||||
|
||||
if (resultcode == -1) { // nog steeds geen fouten
|
||||
// Check oldvan < tot (openingstijden ruimte niet afvangen???)!
|
||||
if (oldvan > totdate) {
|
||||
resultcode = 6;
|
||||
resulttekst = "Illegal update (tot-time)";
|
||||
}
|
||||
}
|
||||
|
||||
if (resultcode == -1) { // nog steeds geen fouten
|
||||
// Feitelijke UPDATE tot-tijd (tijd in minuten/seconden niet afvangen???)!
|
||||
// Meerdaags op dit moment hieronder nog in UPDATE voorkomen.
|
||||
sql = "UPDATE res_rsv_ruimte"
|
||||
+ " SET res_rsv_ruimte_tot="+totdate.toSQL(true)
|
||||
+ " WHERE res_rsv_ruimte_key="+rsv_ruimte_key
|
||||
+ " AND TRUNC(res_rsv_ruimte_tot)=TRUNC("+totdate.toSQL(true)+")"
|
||||
+ " AND 1=1"; // Niet dirty, niet verwijderd, niet meerdaags, niet overlappend, ...???
|
||||
Oracle.Execute(sql);
|
||||
|
||||
sql = "BEGIN "
|
||||
+ "res.set_ruimte_dirty (" + rsv_ruimte_key + "); " // Zelf dirty geworden?
|
||||
+ "res.set_ruimtes_clean (" + oldvan.toSQL() + "); " // Anderen clean geworden
|
||||
+ "res.follow_artikel (" + rsv_ruimte_key + ", " + oldvan.toSQL(true) + ", " + oldtot.toSQL(true) + "); " // catering mee verplaatsen
|
||||
+ "res.follow_deel (" + rsv_ruimte_key + ", " + oldvan.toSQL(true) + ", " + oldtot.toSQL(true) + "); " // objecten mee verplaatsen
|
||||
+ "res.follow_afspraak (" + rsv_ruimte_key + ", " + S("res_copy_to_bez") + "); " // bezoekers mee verplaatsen
|
||||
+ "END;";
|
||||
Oracle.Execute(sql);
|
||||
|
||||
// TODO: Nog iets met parkeerplaatsen???
|
||||
|
||||
// RESUPD-tracking toevoegen!
|
||||
shared.trackaction("RESUPD", rsv_ruimte_key);
|
||||
}
|
||||
}
|
||||
|
||||
if (resultcode == -1) { // nog steeds geen fouten
|
||||
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze reservering.
|
||||
}
|
||||
} else {
|
||||
resultcode = 5;
|
||||
resulttekst = "Not updatable reservering "+resid;
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
}
|
||||
else if (resaction == 'delete')
|
||||
{
|
||||
if (resid == '') {
|
||||
resultcode = 2;
|
||||
resulttekst = "Undefined reservering (key)";
|
||||
}
|
||||
else if (isNaN (reservering_key) || isNaN (rsv_ruimte_volgnr)) {
|
||||
resultcode = 2;
|
||||
resulttekst = "Invalid reservering (key) "+resid;
|
||||
}
|
||||
else {
|
||||
tsql = "SELECT r.res_rsv_ruimte_key"
|
||||
+ " FROM res_v_aanwezigrsv_ruimte r, fac_tracking t, fac_srtnotificatie sn"
|
||||
+ " WHERE r.res_reservering_key="+reservering_key
|
||||
+ " AND r.res_rsv_ruimte_volgnr="+rsv_ruimte_volgnr
|
||||
+ " AND TRUNC(r.res_rsv_ruimte_van)>=TRUNC(SYSDATE)" // Alleen vandaag of in de toekomst???
|
||||
+ " AND 1=1" // Niet dirty, niet verwijderd, geen voorzieningen, ...???
|
||||
+ " AND r.res_rsv_ruimte_key=t.fac_tracking_refkey"
|
||||
+ " AND t.fac_srtnotificatie_key=sn.fac_srtnotificatie_key"
|
||||
+ " AND sn.fac_srtnotificatie_code='RESNEW'"
|
||||
+ " AND t.prs_perslid_key="+user_key;
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
if (!oRs.eof) {
|
||||
// Hier heb ik een geldige res_rsv_ruimte_key die kan/mag worden verwijderd!
|
||||
rsv_ruimte_key = oRs("res_rsv_ruimte_key").value;
|
||||
|
||||
var this_res = res.func_enabled(rsv_ruimte_key); // Wat heb ik zoal aan rechten op deze specifieke reservering
|
||||
user.auth_required_or_abort(this_res.canDelete);
|
||||
|
||||
// Feitelijke delete (voorlopig?) alleen toegestaan voor eerder via API aangemaakte ad-hoc/ongeplande reservering!
|
||||
sql = "UPDATE res_rsv_ruimte r"
|
||||
+ " SET r.res_rsv_ruimte_verwijder=SYSDATE"
|
||||
+ " WHERE r.res_rsv_ruimte_key="+rsv_ruimte_key;
|
||||
Oracle.Execute(sql);
|
||||
|
||||
// TODO: Nog iets met anderen clean geworden???
|
||||
|
||||
// RESDEL-tracking toevoegen (zonder opmerking???)!
|
||||
shared.trackaction("RESDEL", rsv_ruimte_key);
|
||||
|
||||
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze reservering.
|
||||
}
|
||||
else {
|
||||
resultcode = 5;
|
||||
resulttekst = "Not deletable reservering "+resid;
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
}
|
||||
else {
|
||||
resultcode = 2;
|
||||
resulttekst = "Undefined operation (type)";
|
||||
}
|
||||
} // end geldige ext_id
|
||||
|
||||
var binfo = {
|
||||
returncode: resultcode,
|
||||
returntekst: resulttekst,
|
||||
// executed:sql, // debug
|
||||
datum: nowtxt, // TODO: Beter ook xml-datum???
|
||||
resid: resid
|
||||
// executed:sql, // debug
|
||||
datum: nowtxt,
|
||||
meldingnr: mld_key
|
||||
}
|
||||
|
||||
var FCLTBody = xmlResp.createElement("reservering"); // type=response
|
||||
FCLTBody.setAttribute('key', resid);
|
||||
FCLTBody.setAttribute('key', ext_id);
|
||||
FCLTBody.setAttribute('type', 'response');
|
||||
for (param in binfo)
|
||||
{
|
||||
@@ -422,18 +144,10 @@
|
||||
|
||||
FCLTElement.appendChild(FCLTBody);
|
||||
} // end for
|
||||
// Alle reservering-nodes zijn behandeld.
|
||||
// Alle melding-nodes zijn behandeld.
|
||||
|
||||
xmlResp.appendChild(FCLTElement);
|
||||
|
||||
Response.ContentType = "text/xml";
|
||||
if (API.apidata.stylesheet)
|
||||
{
|
||||
// Niet super efficient dat we eerst naar tekstuele xml gaan maar ach...
|
||||
STR2Stream(xmlResp.xml, API.apidata.stylesheet, Response, {});
|
||||
}
|
||||
else
|
||||
{
|
||||
Response.Write(xmlResp.xml)
|
||||
}
|
||||
Response.Write(xmlResp.xml)
|
||||
%>
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user