Compare commits
109 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ebb5936377 | |||
| 5ef8fba144 | |||
| 969d178b9d | |||
|
|
cf33956175 | ||
|
|
26b3247fea | ||
|
|
2c6c5a726c | ||
|
|
12fc92b906 | ||
|
|
666e902ea9 | ||
|
|
2d39456578 | ||
|
|
94c9f4cef1 | ||
|
|
59f858fb76 | ||
| 943f7a681b | |||
| 89e0b6b366 | |||
| 43b3dd0f82 | |||
| 29b91963fa | |||
| fc13609e92 | |||
| 886c1ba0c9 | |||
| 7728ed87ee | |||
| f09afea57d | |||
|
|
a265670b4f | ||
|
|
3712b6c19e | ||
| 91a30de42c | |||
|
|
201a5cad4a | ||
|
|
9cf1349c50 | ||
| b2c129d945 | |||
|
|
576187c2d6 | ||
|
|
9b171120c5 | ||
| 7d9c9650cb | |||
|
|
8424ac811e | ||
|
|
3a4d5980cf | ||
|
|
7de2e7773f | ||
|
|
c7ce4b8c6d | ||
| 99c579e6b4 | |||
| f8bc90de46 | |||
| cb4545dbec | |||
| 52dab4cd8c | |||
|
|
e906a99068 | ||
|
|
30b310dbaa | ||
|
|
7878496362 | ||
|
|
4540f0b01a | ||
|
|
4ccf1cb544 | ||
| ef5d4fe51d | |||
| 30f78f6647 | |||
| 8bd35ff260 | |||
|
|
f13244110e | ||
| ad4dbaf278 | |||
| b9cd0321d3 | |||
| 919d8189ba | |||
| ac55fc3f44 | |||
| d12a184280 | |||
| 8f9e4cf196 | |||
| 934714d87d | |||
|
|
43d4440286 | ||
| e0ea34c55d | |||
| 38a6c76910 | |||
| 4833a51a40 | |||
| 1786d9682c | |||
| 8c6293a240 | |||
| 89547ce7c9 | |||
| bea17906ab | |||
| 65a7467d5d | |||
| 725bfff46b | |||
| b52673b8fb | |||
|
|
6ce0cd714e | ||
|
|
0a68aa29e3 | ||
| b3aeb56d84 | |||
| 6086329e46 | |||
| b1b879af84 | |||
| 4556c922cd | |||
|
|
fabc557c35 | ||
|
|
dde810396f | ||
| c8a07225bf | |||
| b988b2e556 | |||
| c775bf70fb | |||
| 54714f0f74 | |||
| f411f2166b | |||
| 23c8d0b931 | |||
|
|
e3794723bf | ||
|
|
a20549bb65 | ||
|
|
929ca587cb | ||
|
|
ddee5d09e0 | ||
| 73afcea85b | |||
|
|
d51da13462 | ||
| aba548c49b | |||
| 14ef6de023 | |||
|
|
12c974d9c9 | ||
|
|
4cd77c9456 | ||
| 08e7ac0b4c | |||
| 988c1e6557 | |||
| f48cafb3a1 | |||
|
|
5c8452264f | ||
| da85ef0938 | |||
|
|
694416465c | ||
|
|
83cf8849e7 | ||
| 1518a166e0 | |||
|
|
ae1e67dedc | ||
|
|
0199786b41 | ||
| 9951c5a8fe | |||
|
|
2ba947c433 | ||
| d556b94218 | |||
|
|
99d072d5f4 | ||
| 4e277821ae | |||
| 24bc25bff3 | |||
|
|
615d37e715 | ||
|
|
2ed587e00b | ||
|
|
c515520248 | ||
|
|
6b595eba50 | ||
|
|
bdeb500f10 | ||
|
|
c4625e1eee |
2
APPL/.gitignore
vendored
2
APPL/.gitignore
vendored
@@ -1,2 +0,0 @@
|
||||
/.vscode
|
||||
.vs
|
||||
161
APPL/ALG/alg.inc
161
APPL/ALG/alg.inc
@@ -99,6 +99,13 @@ alg = {
|
||||
|
||||
var autfunctionMAN = "WEB_ALGMAN";
|
||||
var autfunctionUSE = "WEB_ALGUSE";
|
||||
|
||||
// Met ALG* bepaal je wat je ziet (Read).
|
||||
rresult.readman = rresult.canRead (autfunctionMAN);
|
||||
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";
|
||||
@@ -107,15 +114,14 @@ alg = {
|
||||
autfunctionUSE = "WEB_RUIUSE";
|
||||
break;
|
||||
}
|
||||
|
||||
// Met ALG* bepaal je wat je ziet (Read).
|
||||
rresult.readman = rresult.canRead (autfunctionMAN);
|
||||
rresult.readuse = rresult.canRead (autfunctionUSE);
|
||||
// Met RUI* en TER* bepaal je wat je kunt wijzigen (Write).
|
||||
rresult.readmgt = rresult.canRead("WEB_ALGMGT");
|
||||
rresult.writemgt = rresult.canWrite("WEB_ALGMGT");
|
||||
rresult.writeman = rresult.canWrite(autfunctionMAN);
|
||||
rresult.writeuse = rresult.canWrite(autfunctionUSE);
|
||||
|
||||
if (onrgoedlvl != "T")
|
||||
rresult.writeuse = rresult.canWrite(autfunctionUSE);
|
||||
else
|
||||
rresult.writeuse = false;
|
||||
}
|
||||
else // iets meer werk
|
||||
{
|
||||
@@ -137,7 +143,7 @@ alg = {
|
||||
+ "WHERE prs_perslid_key = " + user_key
|
||||
+ " AND alg_district_key = " + alg_key;
|
||||
break;
|
||||
case "E":
|
||||
case "RG":
|
||||
sql = "SELECT MAX(niveau) FROM fac_v_my_regions "
|
||||
+ "WHERE prs_perslid_key = " + user_key
|
||||
+ " AND alg_regio_key = " + alg_key;
|
||||
@@ -155,8 +161,6 @@ alg = {
|
||||
rresult.writeuse = rresult.authparams("WEB_ALGUSE").ALGwritelevel <= level;
|
||||
}
|
||||
rresult.canCndAggr = rresult.writeuse;
|
||||
rresult.canReadNotes = (rresult.readuse || rresult.readman);
|
||||
rresult.canWriteNotes = rresult.canReadNotes;
|
||||
return rresult;
|
||||
},
|
||||
|
||||
@@ -303,7 +307,6 @@ alg = {
|
||||
+ " , p.prs_perslid_key"
|
||||
+ " , COALESCE(g.alg_gebouw_beginuur, -1) alg_gebouw_beginuur"
|
||||
+ " , COALESCE(g.alg_gebouw_einduur, -1) alg_gebouw_einduur"
|
||||
+ " , mld_vrije_dagen_id"
|
||||
+ " FROM alg_gebouw g"
|
||||
+ " , prs_kostenplaats k"
|
||||
+ " , prs_perslid p"
|
||||
@@ -335,27 +338,10 @@ alg = {
|
||||
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,
|
||||
vrije_dagen: {id: oRs("mld_vrije_dagen_id").Value}
|
||||
gebouw_einduur: oRs("alg_gebouw_einduur").Value
|
||||
};
|
||||
}
|
||||
oRs.Close();
|
||||
if (result.vrije_dagen.id && result.vrije_dagen.id.toUpperCase() != "DEFAULT")
|
||||
{
|
||||
var vrije_dagen_alt = [];
|
||||
var sql = "SELECT mld_vrije_dagen_datum"
|
||||
+ " FROM mld_vrije_dagen"
|
||||
+ " WHERE mld_vrije_dagen_id = " + safe.quoted_sql(result.vrije_dagen.id);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (!oRs.eof)
|
||||
{
|
||||
vrije_dagen_alt.push((new Date(oRs("mld_vrije_dagen_datum").Value)).getTime());
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
if (vrije_dagen_alt.length)
|
||||
result.vrije_dagen.alt = vrije_dagen_alt;
|
||||
}
|
||||
|
||||
return result;
|
||||
},
|
||||
@@ -455,125 +441,6 @@ alg = {
|
||||
oRs.Close();
|
||||
|
||||
return algm2;
|
||||
},
|
||||
|
||||
alg_onroerendgoed_flex_params: function(p_niveau, p_inlijst)
|
||||
{
|
||||
var sql = "SELECT DISTINCT " + lcl.xsqla("k.alg_kenmerk_omschrijving", "k.alg_kenmerk_key")
|
||||
+ " , k.alg_kenmerk_kenmerktype"
|
||||
+ " FROM alg_kenmerk k"
|
||||
+ " WHERE (BITAND(alg_kenmerk_inlijst, " + (p_inlijst? p_inlijst : 1) + ") = " + (p_inlijst? p_inlijst : 1) + ")"
|
||||
+ " AND (BITAND(alg_kenmerk_systeem, 4) = 0 OR k.alg_kenmerk_systeem IS NULL)"
|
||||
+ " AND k.alg_kenmerk_niveau = " + safe.quoted_sql_upper(p_niveau)
|
||||
+ " AND k.alg_kenmerk_verwijder IS NULL";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var v_flexParams = { anyflex: !oRs.eof};
|
||||
|
||||
if (v_flexParams.anyflex)
|
||||
{
|
||||
var multiflex = false;
|
||||
v_flexParams.bijlageflex = (oRs("alg_kenmerk_kenmerktype").Value == "M");
|
||||
v_flexParams.flexlabel = oRs("alg_kenmerk_omschrijving").Value;
|
||||
oRs.MoveNext();
|
||||
if (!oRs.eof)
|
||||
{
|
||||
multiflex = true;
|
||||
v_flexParams.flexlabel = L("lcl_flexlist_alg_" + p_niveau.toLowerCase());
|
||||
while (!oRs.eof)
|
||||
{
|
||||
if (oRs("alg_kenmerk_kenmerktype").Value == "M")
|
||||
v_flexParams.bijlageflex = true;
|
||||
oRs.MoveNext();
|
||||
}
|
||||
}
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
var onrgoed_fld = "";
|
||||
switch (p_niveau)
|
||||
{
|
||||
case "E": onrgoed_fld = "e.alg_regio_key"; break;
|
||||
case "D": onrgoed_fld = "d.alg_district_key"; break;
|
||||
case "L": onrgoed_fld = "l.alg_locatie_key"; break;
|
||||
case "T": onrgoed_fld = "g.alg_terreinsector_key"; break;
|
||||
case "G": onrgoed_fld = "g.alg_gebouw_key"; break;
|
||||
case "V": onrgoed_fld = "v.alg_verdieping_key"; break;
|
||||
case "R": onrgoed_fld = "r.alg_ruimte_key"; break;
|
||||
}
|
||||
v_flexParams.sql = (v_flexParams.anyflex
|
||||
? ", (SELECT LISTAGG(" + (multiflex
|
||||
? lcl.xsql("k.alg_kenmerk_omschrijving", "k.alg_kenmerk_key") + " || ':' || chr(160) || "
|
||||
: "")
|
||||
+ " CASE WHEN k.alg_kenmerk_kenmerktype = 'R' OR k.alg_kenmerk_kenmerktype = 'r' OR k.alg_kenmerk_kenmerktype = 'S'"
|
||||
+ " THEN flx.getdomeinwaarde(k.fac_kenmerkdomein_key, km.alg_onrgoedkenmerk_waarde)"
|
||||
+ " WHEN ( ( k.alg_kenmerk_kenmerktype = 'N'"
|
||||
+ " AND k.alg_kenmerk_lengte = 1"
|
||||
+ " AND k.alg_kenmerk_nmin = 0"
|
||||
+ " AND k.alg_kenmerk_nmax = 1"
|
||||
+ " AND (k.alg_kenmerk_dec = 0 OR k.alg_kenmerk_dec IS NULL)"
|
||||
+ " )"
|
||||
+ " OR (k.alg_kenmerk_kenmerktype = 'V')"
|
||||
+ " )"
|
||||
+ " THEN DECODE( km.alg_onrgoedkenmerk_waarde"
|
||||
+ " , 0, " + safe.qL("lcl_check_0")
|
||||
+ " , 1, " + safe.qL("lcl_check_1")
|
||||
+ " , km.alg_onrgoedkenmerk_waarde"
|
||||
+ " )"
|
||||
+ " ELSE km.alg_onrgoedkenmerk_waarde"
|
||||
+ " END"
|
||||
+ " , CHR(13)"
|
||||
+ " )"
|
||||
+ " WITHIN GROUP (ORDER BY k.alg_kenmerk_volgnr)"
|
||||
+ " FROM alg_kenmerk k"
|
||||
+ " , alg_onrgoedkenmerk km"
|
||||
+ " WHERE km.alg_onrgoed_key = " + onrgoed_fld
|
||||
+ " AND km.alg_onrgoed_niveau = " + safe.quoted_sql_upper(p_niveau)
|
||||
+ " AND k.alg_kenmerk_key = km.alg_kenmerk_key"
|
||||
+ " AND (BITAND(k.alg_kenmerk_inlijst, " + (p_inlijst? p_inlijst : 1) + ") = " + (p_inlijst? p_inlijst : 1) + ")"
|
||||
+ " AND (BITAND(k.alg_kenmerk_systeem, 4) = 0 OR k.alg_kenmerk_systeem IS NULL)" // -- niet als vertrouwelijk
|
||||
+ " AND k.alg_kenmerk_verwijder IS NULL"
|
||||
+ " AND km.alg_onrgoedkenmerk_verwijder IS NULL"
|
||||
+ ") algflex"
|
||||
: ""
|
||||
)
|
||||
return v_flexParams;
|
||||
},
|
||||
|
||||
alg_onroerendgoed_flex_bijlagen: function(p_niveau, p_alg_key, p_inlijst)
|
||||
{
|
||||
var bijlagen_aantal = 0;
|
||||
var bijlagen_oms = "";
|
||||
var bijlagen_lijst = [];
|
||||
var sql_k = "SELECT k.alg_kenmerk_key"
|
||||
+ " , " + lcl.xsqla("k.alg_kenmerk_omschrijving", "k.alg_kenmerk_key")
|
||||
+ " FROM alg_kenmerk k"
|
||||
+ " WHERE BITAND(k.alg_kenmerk_inlijst, " + (p_inlijst? p_inlijst : 1) + ") = " + (p_inlijst? p_inlijst : 1)
|
||||
+ " AND k.alg_kenmerk_verwijder IS NULL"
|
||||
+ " AND k.alg_kenmerk_kenmerktype= 'M'"
|
||||
+ " AND k.alg_kenmerk_niveau = " + safe.quoted_sql_upper(p_niveau);
|
||||
var oRs_k = Oracle.Execute(sql_k);
|
||||
while (!oRs_k.eof)
|
||||
{
|
||||
var kenmerk_key = oRs_k("alg_kenmerk_key").Value;
|
||||
var bijlagen_oms = oRs_k("alg_kenmerk_omschrijving").Value;
|
||||
var bestanden = flexProps("ALG", p_alg_key, kenmerk_key, "A", {getFiles: true});
|
||||
var km_aantal = bestanden.files.length;
|
||||
for (var i=0; i<km_aantal; i++)
|
||||
{
|
||||
bijlagen_lijst.push(bestanden.files[i].name);
|
||||
}
|
||||
bijlagen_aantal += km_aantal;
|
||||
|
||||
oRs_k.MoveNext();
|
||||
}
|
||||
oRs_k.Close();
|
||||
|
||||
return ( bijlagen_aantal > 0
|
||||
? "<span title='" + safe.htmlattr(bijlagen_lijst.join("\n")) + "'>"
|
||||
+ safe.html(bijlagen_oms) + ": " + bijlagen_aantal
|
||||
+ "</span>"
|
||||
: ""
|
||||
);
|
||||
}
|
||||
}
|
||||
%>
|
||||
@@ -16,6 +16,18 @@
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["jQuery"] });
|
||||
|
||||
function fnrowData(oRs)
|
||||
{
|
||||
var parent_key = oRs("alg_regio_key").value;
|
||||
var detail_key = oRs("alg_district_key").value;
|
||||
var key = oRs("alg_district_key").value;
|
||||
var oms = oRs("alg_district_omschrijving").value;
|
||||
|
||||
var data = {parent_key: parent_key, detail_key: detail_key, key: key, oms: oms};
|
||||
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
var autosearch = 1; // automatisch laden van resultaat op search pagina.
|
||||
@@ -47,7 +59,7 @@ FCLTHeader.Requires({ plugins:["jQuery"] });
|
||||
var data = { key: disKeyString,
|
||||
level: "D"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
<% protectRequest.dataToken("data"); %>+
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
}
|
||||
);
|
||||
@@ -69,6 +81,23 @@ 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;
|
||||
}
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
@@ -76,16 +105,15 @@ function district_list(pautfunction, params)
|
||||
</head>
|
||||
<body id="listbody">
|
||||
<%
|
||||
var flexParams = alg.alg_onroerendgoed_flex_params("D");
|
||||
var sqln = "SELECT d.alg_district_key"
|
||||
+ " , d.alg_regio_key"
|
||||
+ " , d.alg_district_omschrijving"
|
||||
+ " , r.alg_regio_omschrijving"
|
||||
+ flexParams.sql
|
||||
+ " FROM alg_district d"
|
||||
+ " , alg_regio r"
|
||||
+ " WHERE r.alg_regio_key = d.alg_regio_key"
|
||||
+ " AND d.alg_district_verwijder IS NULL";
|
||||
|
||||
var sqln = "SELECT d.alg_district_key, "
|
||||
+ " d.alg_regio_key, "
|
||||
+ " d.alg_district_omschrijving, "
|
||||
+ " r.alg_regio_omschrijving "
|
||||
+ " FROM alg_district d, "
|
||||
+ " alg_regio r "
|
||||
+ " WHERE r.alg_regio_key = d.alg_regio_key "
|
||||
+ " AND d.alg_district_verwijder IS NULL ";
|
||||
|
||||
if ( authparams.ALGreadlevel > -1 )
|
||||
{ // Er is een scope-beperking van kracht
|
||||
@@ -121,50 +149,6 @@ function district_list(pautfunction, params)
|
||||
addButton = [{ icon: "fa-plus", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + safe.jsstring(L("lcl_add")) + "')" }]
|
||||
}
|
||||
|
||||
/**********************************
|
||||
* Callback functies ResultsetTable
|
||||
*********************************/
|
||||
function fnrowData(oRs)
|
||||
{
|
||||
var parent_key = oRs("alg_regio_key").value;
|
||||
var detail_key = oRs("alg_district_key").value;
|
||||
var key = oRs("alg_district_key").value;
|
||||
var oms = oRs("alg_district_omschrijving").value;
|
||||
var data = {parent_key: parent_key, detail_key: detail_key, key: key, oms: oms};
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
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 fncolFlexBijlagen(oRs)
|
||||
{
|
||||
var flexval = oRs("algflex").Value;
|
||||
var alg_key = oRs("alg_district_key").Value;
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
: ""
|
||||
);
|
||||
if (flexParams.bijlageflex)
|
||||
{
|
||||
result += alg.alg_onroerendgoed_flex_bijlagen("D", alg_key);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
var rst = new ResultsetTable({sql:sqln,
|
||||
keyColumn: "alg_district_key",
|
||||
ID: "algtable",
|
||||
@@ -181,8 +165,6 @@ function district_list(pautfunction, params)
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_regio_descr"), content: "alg_regio_omschrijving"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_district_man_descr"), content: "alg_district_omschrijving", hasActions: true}));
|
||||
if (flexParams.anyflex)
|
||||
rst.addColumn(new Column({caption: flexParams.flexlabel, content: fncolFlexBijlagen, colName: "fncolFlexBijlagen"}));
|
||||
|
||||
rst.addAction({ action: "districtEdit", caption: L("lcl_edit"), isDefault: true});
|
||||
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", multi: true, multiOnce: true});
|
||||
@@ -194,3 +176,4 @@ function district_list(pautfunction, params)
|
||||
</body>
|
||||
</html>
|
||||
<%}%>
|
||||
|
||||
|
||||
@@ -15,7 +15,6 @@ FCLTHeader.Requires({ plugins: ["jQuery", "kenmerk"] });
|
||||
var regio_key = getQParamInt("regio_key", -1);
|
||||
var district_key = getQParamInt("district_key", -1);
|
||||
var autosearch = getQParamInt("autosearch", 0) == 1;
|
||||
var alg_startlevel = getQParamInt("alg_startlevel", 0); // Startlevel van plaatsselector, default Regio
|
||||
var authparams = alg.checkAutorisation();
|
||||
%>
|
||||
|
||||
@@ -54,7 +53,7 @@ var authparams = alg.checkAutorisation();
|
||||
FCLTplaatsselector(authparams.ALGreadlevel, {
|
||||
regiokey: regio_key,
|
||||
districtkey: district_key,
|
||||
startlevel: alg_startlevel, // Regio
|
||||
startlevel: 0, // Regio
|
||||
eindlevel: 0, // Regio
|
||||
whenEmpty: L("lcl_search_generic")
|
||||
});
|
||||
|
||||
@@ -78,7 +78,6 @@ if (bld_key > 0)
|
||||
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;
|
||||
var actie_grp_key = oRs("bez_actie_groep_key").Value;
|
||||
var kalender_id = oRs("mld_vrije_dagen_id").Value;
|
||||
oRs.Close();
|
||||
}
|
||||
else
|
||||
@@ -199,14 +198,14 @@ else
|
||||
"sgVerantw",
|
||||
{ perslidKey: verantw_key,
|
||||
label: L("lcl_alg_verantw"),
|
||||
readonly: !this_alg.writeman,
|
||||
readonly: !this_alg.writeuse,
|
||||
autlevel: this_alg.authparams("WEB_ALGMAN") && this_alg.authparams("WEB_ALGMAN").PRSwritelevel
|
||||
});
|
||||
FCLTpersoonselector("verantw2",
|
||||
"sgVerantw2",
|
||||
{ perslidKey: verantw_key2,
|
||||
label: L("lcl_alg_verantw2"),
|
||||
readonly: !this_alg.writeman,
|
||||
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});
|
||||
@@ -223,7 +222,7 @@ else
|
||||
{ label: L("lcl_mld_dienst_niveau"),
|
||||
initKey: dienstniveau,
|
||||
emptyOption: "",
|
||||
readonly: !this_alg.writeman
|
||||
readonly: !this_alg.writeuse
|
||||
});
|
||||
FCLTadresselector("mld_adres", "sgAdres",
|
||||
{
|
||||
@@ -233,17 +232,6 @@ else
|
||||
filtercode: "A",
|
||||
readonly: !this_alg.writeman
|
||||
}) ;
|
||||
var sql = "SELECT DISTINCT mld_vrije_dagen_id, mld_vrije_dagen_id"
|
||||
+ " FROM mld_vrije_dagen";
|
||||
FCLTselector("cal_id"
|
||||
, sql
|
||||
, { label: L("lcl_calendar")
|
||||
, initKey: kalender_id
|
||||
, emptyOption: ""
|
||||
, emptyKey: ""
|
||||
, readonly: !this_alg.writeman
|
||||
}
|
||||
);
|
||||
var times = [];
|
||||
for (i=0; i<24; i++)
|
||||
{
|
||||
|
||||
@@ -77,7 +77,7 @@ user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele we
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="fclt-modal" id="mod_algmultiedit">
|
||||
<body class="modal" id="mod_algmultiedit">
|
||||
<% MODAL_START(); %>
|
||||
<form name="u2" action="alg_edit_gebouw_multi_save.asp?bld_keys=<%=ingesloten.join(",")%>" method="post">
|
||||
<%
|
||||
@@ -147,15 +147,6 @@ user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele we
|
||||
initEmpty: true,
|
||||
readonly: !this_alg.writeuse
|
||||
});
|
||||
sql = "SELECT DISTINCT mld_vrije_dagen_id, mld_vrije_dagen_id"
|
||||
+ " FROM mld_vrije_dagen";
|
||||
FCLTselector("cal_id"
|
||||
, sql
|
||||
, { label: L("lcl_calendar")
|
||||
, emptyOption: ""
|
||||
, initEmpty: true
|
||||
, readonly: !this_alg.writeman
|
||||
});
|
||||
var times = [];
|
||||
for (i=0; i<24; i++)
|
||||
{
|
||||
|
||||
@@ -49,9 +49,6 @@ if (Request.Form("toon_kenteken").Count == 1 && getFParam("check_toon_kenteken",
|
||||
}
|
||||
if (Request.Form("dienstniveau").Count == 1 && getFParam("check_dienstniveau", "off") == "on")
|
||||
fields.push({ dbs: "mld_dienstniveau_key", typ: "key", frm: "dienstniveau", track: L("lcl_mld_dienst_niveau"), foreign: "mld_dienstniveau" });
|
||||
|
||||
if (Request.Form("cal_id").Count == 1 && getFParam("check_cal_id", "off") == "on")
|
||||
fields.push({ dbs: "mld_vrije_dagen_id", typ: "varchar", frm: "cal_id", track: L("lcl_calendar") });
|
||||
if (Request.Form("bld_beginuur").Count == 1 && getFParam("check_bld_beginuur", "off") == "on")
|
||||
fields.push({ dbs: "alg_gebouw_beginuur", typ: "float", frm: "bld_beginuur", track: L("lcl_estate_gebouw_beginuur") });
|
||||
if (Request.Form("bld_einduur").Count == 1 && getFParam("check_bld_einduur", "off") == "on")
|
||||
@@ -115,11 +112,9 @@ for (var i = 0; i < bld_key_arr.length; i++)
|
||||
isNew: false
|
||||
});
|
||||
|
||||
if ((algUpd.trackarray && algUpd.trackarray.length) || (flextrack && flextrack.length))
|
||||
if (flextrack && flextrack.length)
|
||||
{
|
||||
var update_string = L("lcl_alg_is_alglup") + "\n";
|
||||
if (algUpd.trackarray && algUpd.trackarray.length)
|
||||
update_string += algUpd.trackarray.join("\n");
|
||||
var update_string = L("lcl_alg_is_alglup") + "\n" + algUpd.trackarray.join("\n");
|
||||
if (flextrack && flextrack.length)
|
||||
update_string += flextrack.join("\n");
|
||||
shared.trackaction("ALGGUP", alg_key, update_string);
|
||||
|
||||
@@ -37,6 +37,14 @@ var fields = [ /* { dbs: "alg_gebouw_getekend", typ: "date", frm: "bld
|
||||
{ dbs: "alg_gebouw_dwgy", typ: "float", frm: "bld_dwgy" }, Deze 3 velden worden nergens meegegeven? */
|
||||
];
|
||||
|
||||
if (this_alg.writeuse)
|
||||
{
|
||||
fields.push({ dbs: "mld_dienstniveau_key", typ: "key", frm: "dienstniveau", track: L("lcl_mld_dienst_niveau"), foreign: "mld_dienstniveau" },
|
||||
// De gebouwverantwoordelijke(n) moeten eigenlijk nog een PRS-scope test ondergaan alvorens opgeslagen te worden, maar dat is voor nu teveel eer
|
||||
{ dbs: "prs_perslid_key_verantw", typ: "key", frm: "verantw", track: L("lcl_alg_verantw"), foreign: "prs_perslid" },
|
||||
{ dbs: "prs_perslid_key_verantw2", typ: "key", frm: "verantw2", track: L("lcl_alg_verantw2"), foreign: "prs_perslid" });
|
||||
}
|
||||
|
||||
if (user.checkAutorisation("WEB_BEZMGT", true))
|
||||
{
|
||||
fields.push({ dbs: "alg_gebouw_toon_telefoon", typ: "number", frm: "toon_telefoon", track: L("lcl_estate_gebouw_toon_telefoon") },
|
||||
@@ -64,16 +72,11 @@ if (this_alg.writeman)
|
||||
{ dbs: "alg_gebouw_image", typ: "varchar", frm: "bld_image", track: L("lcl_alg_gebouw_image") },
|
||||
{ dbs: "mld_adres_key", typ: "key", frm: "mld_adres", track: L("lcl_delivery_address"), foreign: "mld_v_factuuradres" },
|
||||
{ dbs: "prs_kostenplaats_key", typ: "key", frm: "prs_kstpl", track: L("lcl_prs_dept_kosten"), foreign: "prs_kostenplaats" },
|
||||
{ dbs: "mld_dienstniveau_key", typ: "key", frm: "dienstniveau", track: L("lcl_mld_dienst_niveau"), foreign: "mld_dienstniveau" },
|
||||
{ dbs: "alg_gebouw_bez", typ: "check", frm: "bld_bez", track: L("lcl_estate_gebouw_bez") },
|
||||
{ dbs: "alg_gebouw_mld", typ: "check", frm: "bld_mld", track: L("lcl_estate_gebouw_mld") },
|
||||
{ dbs: "alg_gebouw_werkdagen", typ: "check0", frm: "bld_werkdagen", track: L("lcl_estate_gebouw_werkdagen") },
|
||||
{ dbs: "alg_gebouw_vervaldatum", typ: "date", frm: "vervaldatum", track: L("lcl_alg_vervaldatum") },
|
||||
{ dbs: "bez_actie_groep_key", typ: "key", frm: "group", track: L("bez_actie_groep"), foreign: "bez_actie_groep" },
|
||||
{ dbs: "mld_vrije_dagen_id", typ: "varchar", frm: "cal_id", track: L("lcl_calendar")},
|
||||
// De gebouwverantwoordelijke(n) moeten eigenlijk nog een PRS-scope test ondergaan alvorens opgeslagen te worden, maar dat is voor nu teveel eer
|
||||
{ dbs: "prs_perslid_key_verantw", typ: "key", frm: "verantw", track: L("lcl_alg_verantw"), foreign: "prs_perslid" },
|
||||
{ dbs: "prs_perslid_key_verantw2", typ: "key", frm: "verantw2", track: L("lcl_alg_verantw2"), foreign: "prs_perslid" });
|
||||
{ dbs: "bez_actie_groep_key", typ: "key", frm: "group", track: L("bez_actie_groep"), foreign: "bez_actie_groep" });
|
||||
|
||||
if (beginuur != -2)
|
||||
fields.push({ dbs: "alg_gebouw_beginuur", typ: "float", val: beginuur, track: L("lcl_estate_gebouw_beginuur") });
|
||||
@@ -157,7 +160,7 @@ if (!warning)
|
||||
shared.trackaction("ALGGUP", bld_key, algUpd.trackarray.join("\n"));
|
||||
}
|
||||
else
|
||||
shared.trackaction("ALGGNE", bld_key);
|
||||
shared.trackaction("ALGGUP", bld_key, L("lcl_noti_ALGGNE")); // strikt genomen ALGGNE
|
||||
|
||||
}
|
||||
%>
|
||||
|
||||
@@ -11,12 +11,12 @@
|
||||
Note:
|
||||
|
||||
*/ %>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!--#include file="../Shared/common.inc" -->
|
||||
<!--#include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/calendar.inc" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/timezoneselector.inc" -->
|
||||
<!-- #include file="../Shared/plaatsselector.inc" -->
|
||||
|
||||
<!--#include file="../Shared/selector.inc" -->
|
||||
<!--#include file="../Shared/plaatsselector.inc" -->
|
||||
<!-- #include file="alg_flexkenmerk.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
@@ -50,7 +50,6 @@ if (loc_key > 0)
|
||||
var loc_y = oRs("alg_locatie_y").Value;
|
||||
var loc_mail = oRs("alg_locatie_email").Value;
|
||||
var loc_image = oRs("alg_locatie_image").Value;
|
||||
var loc_volgnr = oRs("alg_locatie_volgnr").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;
|
||||
@@ -59,7 +58,6 @@ if (loc_key > 0)
|
||||
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 alg_tz = oRs("alg_locatie_timezone").Value;
|
||||
|
||||
oRs.Close();
|
||||
}
|
||||
@@ -131,8 +129,6 @@ manRWFIELD("pst_land", "fld", L("lcl_prs_address_post_land"), pst_lan
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("facFM", L("lcl_operations_block"), {icon: "fa-users-cog"});
|
||||
manRWFIELD("loc_volgnr", "fld", L("lcl_alg_locatie_volgnr"), loc_volgnr, {maxlength: 3});
|
||||
FCLTtimezoneselector("alg_tz", { initVal: alg_tz });
|
||||
FCLTcalendar("vervaldatum",
|
||||
{ datum: vervaldatum,
|
||||
initEmpty: vervaldatum==null,
|
||||
@@ -154,7 +150,7 @@ FCLTcalendar("vervaldatum",
|
||||
|
||||
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: 20});
|
||||
manRWFIELD("loc_mail", "fld", L("lcl_alg_locatie_email"), loc_mail, {maxlength: 200});
|
||||
manRWFIELD("loc_mail", "fld", L("lcl_noti_email"), loc_mail, {maxlength: 200});
|
||||
FILEPICKERTR("loc_image", L("lcl_alg_locatie_image"), loc_image, { "key": loc_key, "module": "ALGPHL", "readonly": !this_alg.writeman });
|
||||
|
||||
if (ins_score_enabled)
|
||||
|
||||
@@ -74,7 +74,7 @@ user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele we
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="fclt-modal" id="mod_algmultiedit">
|
||||
<body class="modal" id="mod_algmultiedit">
|
||||
<% MODAL_START(); %>
|
||||
<form name="u2" action="alg_edit_locatie_multi_save.asp?loc_keys=<%=ingesloten.join(",")%>" method="post">
|
||||
<%
|
||||
@@ -98,8 +98,6 @@ user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele we
|
||||
initEmpty: true,
|
||||
readonly: !this_alg.writeuse,required: true
|
||||
});
|
||||
RWFIELDTR("loc_vw", "fld", L("lcl_estate_locatie_man_verantw"), "", {maxlength: 30});
|
||||
RWFIELDTR("loc_vwtel", "fld", L("lcl_estate_locatie_man_verantw_tel"), "", {maxlength: 20});
|
||||
|
||||
MODAL_BLOCK_END();
|
||||
|
||||
|
||||
@@ -29,10 +29,6 @@ if (Request.Form("vervaldatum").Count == 1 && getFParam("check_vervaldatum", "of
|
||||
fields.push({ dbs: "alg_locatie_vervaldatum", typ: "date", frm: "vervaldatum", track: L("lcl_alg_vervaldatum") });
|
||||
if (Request.Form("dienstniveau").Count == 1 && getFParam("check_dienstniveau", "off") == "on")
|
||||
fields.push({ dbs: "mld_dienstniveau_key", typ: "key", frm: "dienstniveau", track: L("lcl_mld_dienst_niveau"), foreign: "mld_dienstniveau" });
|
||||
if (Request.Form("loc_vw").Count == 1 && getFParam("check_loc_vw", "off") == "on")
|
||||
fields.push({ dbs: "alg_locatie_verantw", typ: "varchar", frm: "loc_vw", track: L("lcl_estate_locatie_man_verantw") });
|
||||
if (Request.Form("loc_vwtel").Count == 1 && getFParam("check_loc_vwtel", "off") == "on")
|
||||
fields.push({ dbs: "alg_locatie_verantw_tel", typ: "varchar", frm: "loc_vwtel", track: L("lcl_estate_locatie_man_verantw_tel") });
|
||||
|
||||
for (var i = 0; i < loc_key_arr.length; i++)
|
||||
{
|
||||
|
||||
@@ -48,10 +48,7 @@ if (this_alg.writeman)
|
||||
{ dbs: "alg_locatie_y", typ: "float", frm: "loc_y", track: L("lcl_geoycoord") },
|
||||
{ dbs: "alg_locatie_vervaldatum", typ: "date", frm: "vervaldatum", track: L("lcl_alg_vervaldatum") },
|
||||
{ dbs: "alg_locatie_email", typ: "varchar", frm: "loc_mail", track: L("lcl_noti_email") },
|
||||
{ dbs: "alg_locatie_image", typ: "varchar", frm: "loc_image", track: L("lcl_alg_locatie_image") },
|
||||
{ dbs: "alg_locatie_volgnr", typ: "number", frm: "loc_volgnr", track: L("lcl_alg_locatie_volgnr") },
|
||||
{ dbs: "alg_locatie_timezone", typ: "varchar", frm: "alg_tz", track: L("lcl_timezone") }
|
||||
);
|
||||
{ dbs: "alg_locatie_image", typ: "varchar", frm: "loc_image", track: L("lcl_alg_locatie_image") });
|
||||
|
||||
if (alg.canWriteDistrict(dis_key, this_alg.authparams("WEB_ALGMAN").ALGwritelevel))
|
||||
fields.push({ dbs: "alg_district_key", typ: "key", val: dis_key });
|
||||
@@ -131,9 +128,9 @@ else
|
||||
shared.trackaction("ALGLUP", loc_key, algUpd.trackarray.join("\n"));
|
||||
}
|
||||
else
|
||||
shared.trackaction("ALGLNE", loc_key);
|
||||
shared.trackaction("ALGLUP", loc_key, L("lcl_noti_ALGLNE")); // strikt genomen ALGLNE
|
||||
|
||||
}
|
||||
}
|
||||
%>
|
||||
|
||||
<html>
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
<%@language = "javascript"%>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: alg/alg_edit_note.asp
|
||||
Description: Bekijken en/of aanvullen van een notitie behorende bij een onroerendgoed
|
||||
in een apart blokje
|
||||
Parameters: fronto/backo
|
||||
Context: vanuit onroerendgoed-detail
|
||||
Note:
|
||||
*/
|
||||
var JSON_Result = true; %>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="./alg.inc" -->
|
||||
<!-- #include file="../Shared/notes.inc" -->
|
||||
|
||||
<%
|
||||
var alg_key = getQParamInt("alg_key");
|
||||
var alg_typ = getQParamSafe("alg_typ").toUpperCase();
|
||||
var note_key = getQParamInt("note_key", -1);
|
||||
var note = getFParam("note");
|
||||
|
||||
var this_alg = alg.func_enabled(alg_key, alg_typ); // Wat mag ik zoal op dit onroerendgoed.
|
||||
user.auth_required_or_abort(this_alg.canWriteNotes);
|
||||
|
||||
var saved_note_key = notes.note_save( alg_key
|
||||
, { note: note
|
||||
, note_key: note_key
|
||||
, module: "ALG"
|
||||
, typ: alg_typ
|
||||
, table: "alg_onroerendgoed"
|
||||
}
|
||||
);
|
||||
|
||||
var result = { success: true,
|
||||
alg_key: alg_key,
|
||||
alg_typ: alg_typ,
|
||||
note_key: saved_note_key
|
||||
};
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
|
||||
ASPPAGE_END();
|
||||
%>
|
||||
@@ -18,14 +18,12 @@
|
||||
FCLTHeader.Requires({plugins:["suggest","jQuery"], js: []})
|
||||
|
||||
var regio_key = getQParamInt("regio_key");
|
||||
var onrgoedlvl = "E";
|
||||
|
||||
var params = { filter: { id: regio_key,
|
||||
isNew: (regio_key == -1 ? true : false)
|
||||
}
|
||||
};
|
||||
var model = new model_regions();
|
||||
var regio_array = model.REST_GET(params); // Roep de API2 GET aan
|
||||
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");
|
||||
@@ -78,14 +76,6 @@ var action = (regio_key == -1 ? "I" : "U");
|
||||
manRWFIELD("reg_oms", "fld", L("lcl_name"), regio_data.name, {required: true, maxlength: 30});
|
||||
|
||||
BLOCK_END();
|
||||
|
||||
generateFlexKenmerkBlock ({
|
||||
onrgoed_key : regio_key,
|
||||
onrgoed_niveau : onrgoedlvl,
|
||||
reado : false,
|
||||
this_alg : this_alg
|
||||
});
|
||||
|
||||
IFACE.FORM_END();
|
||||
%>
|
||||
</form>
|
||||
|
||||
@@ -18,7 +18,7 @@ protectRequest.validateToken();
|
||||
var regio_key = getQParamInt("regio_key");
|
||||
var action = getQParam("action", "");
|
||||
|
||||
var onrgoedlvl = "E";
|
||||
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));
|
||||
|
||||
@@ -26,22 +26,21 @@ var formfields = [];
|
||||
if (this_alg.writeman)
|
||||
formfields.push({ name: "name", frm: "reg_oms" });
|
||||
var params = { filter: { "id": regio_key }};
|
||||
var model = new model_regions();
|
||||
var jsondata = api2.form2JSONdata(model, params, formfields);
|
||||
var jsondata = api2.form2JSONdata(model_regions, params, formfields);
|
||||
|
||||
switch (action)
|
||||
{
|
||||
case "I":
|
||||
var regio_array = model.REST_POST(params, jsondata);
|
||||
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.REST_PUT(params, jsondata, params.filter.id);
|
||||
var regio_array = model_regions.REST_PUT(params, jsondata, params.filter.id);
|
||||
break;
|
||||
case "D":
|
||||
if (regio_key > 0)
|
||||
var regio_array = model.REST_DELETE(params, params.filter.id);
|
||||
var regio_array = model_regions.REST_DELETE(params, params.filter.id);
|
||||
break;
|
||||
default :
|
||||
var regio_array = {warning: L("lcl_cnt_Del_Fails_Auth")};
|
||||
@@ -52,34 +51,5 @@ var result = { regio_key: regio_key,
|
||||
warning: warning,
|
||||
keepForm: !!warning,
|
||||
success: true };
|
||||
|
||||
if (!warning)
|
||||
{
|
||||
currentKenmerkenSQL = "SELECT k.alg_kenmerk_key"
|
||||
+ " , ok.alg_onrgoedkenmerk_waarde"
|
||||
+ " , k.alg_kenmerk_toonbaar"
|
||||
+ " , k.fac_functie_key"
|
||||
+ " 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 = 'E'"
|
||||
+ " AND alg_onrgoed_key = " + regio_key;
|
||||
saveFlexKenmerken(regio_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/E",
|
||||
module: "ALG",
|
||||
moduleName: "alg_onrgoed_niveau",
|
||||
moduleVal: "E",
|
||||
isNew: regio_key < 0
|
||||
});
|
||||
}
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
%><% ASPPAGE_END(); %>
|
||||
|
||||
@@ -150,14 +150,18 @@ if (!room_exists)
|
||||
|
||||
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"});
|
||||
manRWFIELD("room_oppa1", "fldshort", L("lcl_estate_ruimte_opp_alt1"), room_data.area1, {maxlength: 10, datatype: "float"});
|
||||
|
||||
if (L("lcl_estate_ruimte_opp_alt1") != "")
|
||||
{
|
||||
manRWFIELD("room_oppa1", "fldshort", L("lcl_estate_ruimte_opp_alt1"), room_data.area1, {maxlength: 10, datatype: "float"});
|
||||
}
|
||||
if (S("fg_labellayers_alt1")!="" && S("fg_contourlayers_alt1")!="") {
|
||||
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt1"), room_data.cadcontours[0].cadalt1, {datatype: "float"});
|
||||
}
|
||||
|
||||
manRWFIELD("room_oppa2", "fldshort", L("lcl_estate_ruimte_opp_alt2"), room_data.area2, {maxlength: 10, datatype: "float"});
|
||||
|
||||
if (L("lcl_estate_ruimte_opp_alt2") != "")
|
||||
{
|
||||
manRWFIELD("room_oppa2", "fldshort", L("lcl_estate_ruimte_opp_alt2"), room_data.area2, {maxlength: 10, datatype: "float"});
|
||||
}
|
||||
if (S("fg_labellayers_alt2")!="" && S("fg_contourlayers_alt2")!="") {
|
||||
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt2"), room_data.cadcontours[0].cadalt2, {datatype: "float"});
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ oRs.Close();
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="fclt-modal" id="mod_algmultiedit">
|
||||
<body class="modal" id="mod_algmultiedit">
|
||||
<% MODAL_START(); %>
|
||||
<form name="u2" action="alg_edit_ruimte_multi_save.asp?alg_level=<%=safe.htmlattr(alg_level)%>&alg_keys=<%=ingesloten.join(",")%>" method="post">
|
||||
<%
|
||||
|
||||
@@ -54,7 +54,6 @@ if (ter_key > 0)
|
||||
+ ", prs_afdeling_key"
|
||||
+ ", prs_perslid_key_verantw"
|
||||
+ ", prs_perslid_key_verantw2"
|
||||
+ ", mld_dienstniveau_key"
|
||||
+ " FROM alg_terreinsector "
|
||||
+ " WHERE alg_terreinsector_key = " + ter_key;
|
||||
|
||||
@@ -78,7 +77,6 @@ if (ter_key > 0)
|
||||
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;
|
||||
var dienstniveau = oRs("mld_dienstniveau_key").Value;
|
||||
|
||||
oRs.Close();
|
||||
}
|
||||
@@ -215,20 +213,6 @@ BLOCK_START("algter3", L("lcl_alg_gebouw_administr"), {icon: "fa-clipboard"});
|
||||
FILEPICKERTR("ter_image", L("lcl_alg_terreinsector_image"), ter_image, { "key": ter_key, "module": "ALGPHT", "readonly": !this_alg.writeman });
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("algter4", L("lcl_alg_gebouw_facilitair"), {icon: "fa-users-cog"});
|
||||
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.writeman
|
||||
});
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("algter4", L("lcl_alg_gebouw_fysiek"), {icon: "fa-ruler-combined"});
|
||||
|
||||
RWFIELDTR("ter_opp", "fldshort", L("lcl_estate_terreinsector_man_oppervlak"), ter_opp, {maxlength: 15});
|
||||
|
||||
@@ -78,7 +78,7 @@ user.auth_required_or_abort(tobeedited > 0); // We klagen niet over enkele wel e
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="fclt-modal" id="mod_algmultiedit">
|
||||
<body class="modal" id="mod_algmultiedit">
|
||||
<% MODAL_START(); %>
|
||||
<form name="u2" action="alg_edit_terreinsector_multi_save.asp?ter_keys=<%=ingesloten.join(",")%>" method="post">
|
||||
<%
|
||||
@@ -145,17 +145,6 @@ user.auth_required_or_abort(tobeedited > 0); // We klagen niet over enkele wel e
|
||||
emptyOption: "",
|
||||
initEmpty: true
|
||||
});
|
||||
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"),
|
||||
emptyOption: "",
|
||||
initEmpty: true,
|
||||
readonly: !this_alg.writeuse
|
||||
});
|
||||
MODAL_BLOCK_END();
|
||||
|
||||
|
||||
|
||||
@@ -49,8 +49,6 @@ if (Request.Form("toon_kenteken").Count == 1 && getFParam("check_toon_kenteken",
|
||||
{ var toon_k = (getFParam("toon_kenteken") ? getFParam("toon_kenteken") : 0);
|
||||
fields.push({ dbs: "alg_terreinsector_toon_kentk", typ: "number", val: toon_k, track: L("lcl_estate_gebouw_toon_kenteken")});
|
||||
}
|
||||
if (Request.Form("dienstniveau").Count == 1 && getFParam("check_dienstniveau", "off") == "on")
|
||||
fields.push({ dbs: "mld_dienstniveau_key", typ: "key", frm: "dienstniveau", track: L("lcl_mld_dienst_niveau"), foreign: "mld_dienstniveau" });
|
||||
|
||||
|
||||
for (var i = 0; i < ter_key_arr.length; i++)
|
||||
|
||||
@@ -37,8 +37,7 @@ var fields = [{ dbs: "alg_terreinsector_omschrijving", typ: "varchar", frm: "ter
|
||||
{ dbs: "prs_kostenplaats_key", typ: "key", frm: "prs_kstn", track: L("lcl_prs_dept_kosten"), foreign: "PRS_KOSTENPLAATS" },
|
||||
{ dbs: "prs_afdeling_key", typ: "key", frm: "prs_afd", track: L("lcl_dep_name_level2"), foreign: "PRS_AFDELING" },
|
||||
{ dbs: "prs_perslid_key_verantw", typ: "key", frm: "verantw", track: L("lcl_alg_verantw"), foreign: "PRS_PERSLID" },
|
||||
{ dbs: "prs_perslid_key_verantw2", typ: "key", frm: "verantw2", track: L("lcl_alg_verantw2"), foreign: "PRS_PERSLID" },
|
||||
{ dbs: "mld_dienstniveau_key", typ: "key", frm: "dienstniveau", track: L("lcl_mld_dienst_niveau"), foreign: "MLD_DIENSTNIVEAU" }];
|
||||
{ dbs: "prs_perslid_key_verantw2", typ: "key", frm: "verantw2", track: L("lcl_alg_verantw2"), foreign: "PRS_PERSLID" }];
|
||||
|
||||
if (this_alg.writeman)
|
||||
{
|
||||
@@ -149,7 +148,7 @@ if (!warning)
|
||||
shared.trackaction("ALGTUP", ter_key, algUpd.trackarray.join("\n"));
|
||||
}
|
||||
else
|
||||
shared.trackaction("ALGTNE", ter_key);
|
||||
shared.trackaction("ALGTUP", ter_key, L("lcl_noti_ALGTNE")); // strikt genomen ALGTNE
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -19,8 +19,9 @@
|
||||
<%
|
||||
FCLTHeader.Requires({plugins:["suggest","jQuery"], js: []})
|
||||
|
||||
var flr_key = getQParamInt("flr_key", -1);
|
||||
var bld_key, loc_key, flr_dwgz;
|
||||
var flr_key = getQParamInt("flr_key", -1);
|
||||
var bld_key
|
||||
var loc_key
|
||||
|
||||
var onrgoedlvl = "V";
|
||||
var this_alg = alg.func_enabled(flr_key, onrgoedlvl);
|
||||
@@ -28,20 +29,16 @@ user.auth_required_or_abort(this_alg.writeman || (flr_key>0&&this_alg.writeuse))
|
||||
|
||||
if (flr_key > 0)
|
||||
{
|
||||
var sql = "SELECT alg_verdieping_omschrijving"
|
||||
+ " , alg_verdieping_volgnr"
|
||||
+ " , alg_verdieping_code"
|
||||
+ " , mld_dienstniveau_key"
|
||||
+ " , alg_verdieping_dwgz"
|
||||
+ " FROM alg_verdieping "
|
||||
+ " WHERE alg_verdieping_key = " + flr_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
sql = " select * "
|
||||
+ " FROM ALG_VERDIEPING "
|
||||
+ " WHERE alg_verdieping_key = " + flr_key;
|
||||
|
||||
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 dienstniveau = oRs("mld_dienstniveau_key").Value;
|
||||
var flr_dwgz = oRs("alg_verdieping_dwgz").Value;
|
||||
oRs = Oracle.Execute(sql);
|
||||
|
||||
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 dienstniveau = oRs("mld_dienstniveau_key").value;
|
||||
oRs.Close();
|
||||
}
|
||||
%>
|
||||
@@ -85,7 +82,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("algflr1", L("lcl_floor"), {icon: "fa-layer-group"});
|
||||
BLOCK_START("algflr1", L("lcl_floor"), {icon: "fa-th-list fa-flip-horizontal"});
|
||||
FCLTplaatsselector(this_alg.authparams("WEB_ALGMAN").ALGwritelevel, {
|
||||
locatiekey: loc_key,
|
||||
gebouwkey: bld_key,
|
||||
@@ -121,7 +118,6 @@ if (flr_key > 0)
|
||||
ROFIELDTR("fld", L("lcl_estate_verdieping_netto_vloeropp") + L("lcl_estate_calc_vloeropp"), calcopp.opprooms, {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("flr_dwgz", "fld", L("lcl_estate_verdieping_man_dwgz"), flr_dwgz, {datatype: "float"});
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
|
||||
@@ -74,11 +74,11 @@ user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele we
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="fclt-modal" id="mod_algmultiedit">
|
||||
<body class="modal" id="mod_algmultiedit">
|
||||
<% MODAL_START(); %>
|
||||
<form name="u2" action="alg_edit_verdieping_multi_save.asp?flr_keys=<%=ingesloten.join(",")%>" method="post">
|
||||
<%
|
||||
MODAL_BLOCK_START("algflr1", L("lcl_floor"), { icon: "fa-layer-group" });
|
||||
MODAL_BLOCK_START("algflr1", L("lcl_floor"), { icon: "fa-th-list fa-flip-horizontal" });
|
||||
|
||||
sql = "SELECT mld_dienstniveau_key"
|
||||
+ " , " + lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
|
||||
@@ -35,8 +35,7 @@ if (this_alg.writeman)
|
||||
fields.push(
|
||||
{ dbs: "alg_verdieping_omschrijving", typ: "varchar", frm: "flr_omschr", track: L("lcl_estate_verdieping_man_descr") },
|
||||
{ dbs: "alg_verdieping_volgnr", typ: "number", frm: "flr_volgnr", track: L("lcl_estate_verdieping_man_volgnr") },
|
||||
{ dbs: "alg_verdieping_code", typ: "varchar", frm: "flr_code", track: L("lcl_estate_verdieping_man_code") },
|
||||
{ dbs: "alg_verdieping_dwgz", typ: "float", frm: "flr_dwgz", track: L("lcl_estate_verdieping_man_dwgz") }
|
||||
{ dbs: "alg_verdieping_code", typ: "varchar", frm: "flr_code", track: L("lcl_estate_verdieping_man_code") }
|
||||
);
|
||||
if (flr_key == -1 && alg.canWriteGebouw(geb_key, this_alg.authparams("WEB_ALGMAN").ALGwritelevel))
|
||||
fields.push({ dbs: "alg_gebouw_key", typ: "key", val: geb_key });
|
||||
@@ -117,7 +116,7 @@ if (!warning)
|
||||
shared.trackaction("ALGVUP", flr_key, algUpd.trackarray.join("\n"));
|
||||
}
|
||||
else
|
||||
shared.trackaction("ALGVNE", flr_key);
|
||||
shared.trackaction("ALGVUP", flr_key, L("lcl_noti_ALGVNE")); // strikt genomen ALGVNE
|
||||
|
||||
}
|
||||
%>
|
||||
|
||||
@@ -46,7 +46,7 @@ if (wp_key > 0)
|
||||
{
|
||||
var algUpd = buildTrackingUpdate("prs_werkplek", " prs_werkplek_key = " + wp_key, fields);
|
||||
|
||||
var err = Oracle.Execute(algUpd.sql, true);
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
warning = err.friendlyMsg;
|
||||
|
||||
@@ -98,4 +98,4 @@ else
|
||||
<body>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -25,27 +25,22 @@ function generateFlexKenmerkBlock(params)
|
||||
var advanced = params.advanced; // Geavanceerd
|
||||
var hasfilter = params.hasfilter? params.hasfilter : null;
|
||||
|
||||
function isReadonly (oRs)
|
||||
function isReadonly (volgnummer)
|
||||
{
|
||||
if (reado)
|
||||
return true;
|
||||
var rolcode = oRs("kenmerk_rolcode").value;
|
||||
var canWrite = (params.this_alg.writeman && (rolcode&1)) || (params.this_alg.writeuse && (rolcode&2));
|
||||
|
||||
return !canWrite; // readonly
|
||||
if (volgnummer < 100 && !params.this_alg.writeman)
|
||||
return true;
|
||||
if (volgnummer > 100 && !params.this_alg.writeuse)
|
||||
return true;
|
||||
}
|
||||
|
||||
function isInvisible(oRs)
|
||||
function isInvisible(volgnummer, ktype)
|
||||
{
|
||||
var ktype = oRs("kenmerk_kenmerktype").value;
|
||||
if (params.multi)
|
||||
return (ktype == 'M' || ktype == 'F' || ktype == 'E'); // onzichtbaar bij multi
|
||||
}
|
||||
|
||||
// Wat mag ik op basis van mijn autorisatie (potentieel) zien, bepaal mijn rolcode-masker
|
||||
var myreadrolcode = 0 + (params.this_alg.readman ? 1 : 0)
|
||||
+ (params.this_alg.readuse ? 2 : 0);
|
||||
|
||||
var sql = "SELECT k.alg_kenmerk_key kenmerk_key"
|
||||
+ " , 1 kenmerk_key_count"
|
||||
+ " , NULL srtkenmerk_key"
|
||||
@@ -70,7 +65,6 @@ function generateFlexKenmerkBlock(params)
|
||||
: " , " + lcl.xsql("k.alg_kenmerk_default", "k.alg_kenmerk_key")
|
||||
) + " kenmerk_waarde"
|
||||
+ " , k.alg_kenmerk_volgnr kenmerk_volgnr"
|
||||
+ " , k.alg_kenmerk_rolcode kenmerk_rolcode"
|
||||
+ " , " + 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"
|
||||
@@ -85,11 +79,12 @@ function generateFlexKenmerkBlock(params)
|
||||
+ " FROM alg_kenmerk k "
|
||||
+ " WHERE k.alg_kenmerk_niveau = " + safe.quoted_sql(onrgoed_niveau)
|
||||
+ " AND k.alg_kenmerk_verwijder IS NULL "
|
||||
+ " AND BITAND(alg_kenmerk_rolcode, " + myreadrolcode + ") > 0 "
|
||||
+ (!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");
|
||||
|
||||
var trn = 0; // fijn, maar waarom?
|
||||
var trn = 0;
|
||||
|
||||
listKenmerk(sql,
|
||||
"ALG", //module
|
||||
@@ -104,8 +99,7 @@ function generateFlexKenmerkBlock(params)
|
||||
mobile: params.mobile,
|
||||
parentKey: onrgoed_key,
|
||||
kenmerk_module: onrgoed_niveau,
|
||||
hasfilter: hasfilter,
|
||||
relativeValuesAllowed: params.multi
|
||||
hasfilter: hasfilter
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,410 +0,0 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
Description: Statistics mbt vastgoed en harde faciliteiten
|
||||
Is als een soort actueel jaaroverzicht van de assets
|
||||
Gaat er van uitdat er "netjes" geconfigureerd is, en anders is dit een incentive om dat te doen.
|
||||
Werkt dan ook als een soort verify. Je komt bijvoorbeeld te specifieke groeperingen constateren
|
||||
bij de srtgebouw en srtruimte
|
||||
Is onafhankelijk van organsatie(structuur), het zijn zuiver harde, fysieke assets
|
||||
Uitzondering voor de reserveerare zaken, die dubbelen met het fysieke maar geven
|
||||
een beeld van de dienstverlening.
|
||||
Kan ongetwijfeld nog uitgebreid worden en eigenlijk nog een paar verse lcl's
|
||||
|
||||
*/ %>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["jQuery"], js: ["jquery-ui.js"] });
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate();
|
||||
var autfunction = "WEB_PRSSYS"; // of later WEB_ALGMSU?
|
||||
var authparams = user.checkAutorisation(autfunction);
|
||||
|
||||
facts = new Array;
|
||||
|
||||
function add2facts (oRs)
|
||||
{
|
||||
while (!oRs.eof)
|
||||
{
|
||||
facts.push({id: oRs("id").value, lbl: oRs("lbl").value, cnt: oRs("val").value, det: oRs("det").value})
|
||||
oRs.moveNext();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
%>
|
||||
</head>
|
||||
<body class="showmode">
|
||||
<% SUBFRAME_START();
|
||||
|
||||
// Gebouwen
|
||||
var sql = "SELECT 1 id, "+safe.quoted_sql(L('frm_alggebouwframe'))+" lbl, COUNT (*) val, SUM (alg_gebouw_bruto_vloeropp) det"
|
||||
+ " FROM alg_gebouw "
|
||||
+ " WHERE alg_gebouw_verwijder IS NULL "
|
||||
+ " AND (alg_gebouw_vervaldatum IS NULL OR alg_gebouw_vervaldatum > SYSDATE)";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
sql = " SELECT 1 id, '> '||" + lcl.xsql ('s.alg_srtgebouw_omschrijving', 's.alg_srtgebouw_key') + " lbl, COUNT (*) val, SUM (g.alg_gebouw_bruto_vloeropp) det "
|
||||
+ " FROM alg_gebouw g, alg_srtgebouw s "
|
||||
+ " WHERE s.alg_srtgebouw_key(+) = g.alg_srtgebouw_key "
|
||||
+ " AND g.alg_gebouw_verwijder IS NULL "
|
||||
+ " AND (alg_gebouw_vervaldatum IS NULL OR alg_gebouw_vervaldatum > SYSDATE) "
|
||||
+ "GROUP BY s.alg_srtgebouw_omschrijving "
|
||||
+ "ORDER BY 3 desc, 2 ";
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
sql = "SELECT 1 id, "+safe.quoted_sql(L('lcl_alg_fmstats_nrloc'))+" lbl, COUNT (*) val, '' det"
|
||||
+ " FROM (SELECT DISTINCT alg_locatie_plaats "
|
||||
+ " FROM alg_locatie l "
|
||||
+ " WHERE l.alg_locatie_verwijder IS NULL "
|
||||
+ " AND (alg_locatie_vervaldatum IS NULL OR alg_locatie_vervaldatum > SYSDATE)"
|
||||
+ " AND EXISTS (SELECT '' FROM alg_gebouw g WHERE g.alg_locatie_key = l.alg_locatie_key"
|
||||
+ " AND g.alg_gebouw_verwijder IS NULL "
|
||||
+ " AND (alg_gebouw_vervaldatum IS NULL OR alg_gebouw_vervaldatum > SYSDATE)))";
|
||||
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
// Terreinen
|
||||
sql = "SELECT 2 id, "+safe.quoted_sql(L('frm_algterreinframe'))+" lbl, COUNT (*) val, SUM (alg_terreinsector_oppervlak) det"
|
||||
+ " FROM alg_terreinsector "
|
||||
+ " WHERE alg_terreinsector_verwijder IS NULL "
|
||||
+ " AND (alg_terreinsector_vervaldatum IS NULL OR alg_terreinsector_vervaldatum > SYSDATE)";
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
sql = " SELECT 2 id, '> '||" + lcl.xsql ('s.alg_srtterreinsec_omschrijving', 's.alg_srtterreinsector_key') + " lbl, COUNT (*) val, SUM (t.alg_terreinsector_oppervlak) det "
|
||||
+ " FROM alg_terreinsector t, alg_srtterreinsector s "
|
||||
+ " WHERE s.alg_srtterreinsector_key(+) = t.alg_srtterreinsector_key "
|
||||
+ " AND t.alg_terreinsector_verwijder IS NULL "
|
||||
+ " AND (alg_terreinsector_vervaldatum IS NULL OR alg_terreinsector_vervaldatum > SYSDATE) "
|
||||
+ "GROUP BY s.alg_srtterreinsec_omschrijving "
|
||||
+ "ORDER BY 3 desc, 2 ";
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
sql = "SELECT 2 id, "+safe.quoted_sql(L('lcl_alg_fmstats_nrloc'))+" lbl, COUNT (*) val, '' det"
|
||||
+ " FROM (SELECT DISTINCT alg_locatie_plaats "
|
||||
+ " FROM alg_locatie l "
|
||||
+ " WHERE l.alg_locatie_verwijder IS NULL "
|
||||
+ " AND (alg_locatie_vervaldatum IS NULL OR alg_locatie_vervaldatum > SYSDATE)"
|
||||
+ " AND EXISTS (SELECT '' FROM alg_terreinsector g WHERE g.alg_locatie_key = l.alg_locatie_key"
|
||||
+ " AND g.alg_terreinsector_verwijder IS NULL "
|
||||
+ " AND (alg_terreinsector_vervaldatum IS NULL OR alg_terreinsector_vervaldatum > SYSDATE)))";
|
||||
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
|
||||
// Ruimtes
|
||||
sql = "SELECT 3 id, "+safe.quoted_sql(L('frm_algruimteframe'))+" lbl, COUNT (*) val, SUM (alg_ruimte_bruto_vloeropp) det "
|
||||
+ " FROM alg_ruimte "
|
||||
+ " WHERE alg_ruimte_verwijder IS NULL";
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
sql = " SELECT 3 id, '> '||" + lcl.xsql ('s.alg_srtruimte_omschrijving', 's.alg_srtruimte_key') + " lbl, COUNT (*) val, SUM (r.alg_ruimte_bruto_vloeropp) det "
|
||||
+ " FROM alg_ruimte r, alg_srtruimte s "
|
||||
+ " WHERE s.alg_srtruimte_key(+) = r.alg_srtruimte_key "
|
||||
+ " AND r.alg_ruimte_verwijder IS NULL "
|
||||
+ "GROUP BY s.alg_srtruimte_omschrijving "
|
||||
+ "ORDER BY 3 desc, 2 ";
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
|
||||
// Niet reserveerbare assets
|
||||
sql0 = "SELECT {0} id, " // 1 query voor beide
|
||||
+ " '{2}' lbl, "
|
||||
+ " COUNT (*) val, "
|
||||
+ " '' det "
|
||||
+ " FROM ins_v_deelenonderdeel i, ins_srtdeel sd "
|
||||
+ " WHERE i.ins_deel_verwijder IS NULL "
|
||||
+ " AND i.ins_srtdeel_key = sd.ins_srtdeel_key"
|
||||
+ " AND sd.ins_srtdeel_verwijder IS NULL "
|
||||
+ " AND (i.ins_deel_vervaldatum IS NULL OR i.ins_deel_vervaldatum > SYSDATE) "
|
||||
+ " AND sd.ins_srtdeel_sensortype {1}" // 1 query voor beide
|
||||
+ " AND NOT EXISTS "
|
||||
+ " (SELECT '' "
|
||||
+ " FROM res_deel r "
|
||||
+ " WHERE res_deel_verwijder IS NULL "
|
||||
+ " AND (res_deel_vervaldatum IS NULL OR res_deel_vervaldatum > SYSDATE) "
|
||||
+ " AND r.res_ins_deel_key = i.ins_deel_key) ";
|
||||
|
||||
sql1 = "SELECT {0} id, '> ' || ins_discipline_omschrijving lbl, COUNT (*) val, '' det "
|
||||
+ " FROM ins_v_deelenonderdeel i, ins_discipline rd, ins_srtdeel sd "
|
||||
+ " WHERE i.ins_discipline_key = rd.ins_discipline_key "
|
||||
+ " AND i.ins_deel_verwijder IS NULL "
|
||||
+ " AND sd.ins_srtdeel_verwijder IS NULL "
|
||||
+ " AND i.ins_srtdeel_key = sd.ins_srtdeel_key"
|
||||
+ " AND sd.ins_srtdeel_sensortype {1}"
|
||||
+ " AND ins_discipline_verwijder IS NULL "
|
||||
+ " AND (i.ins_deel_vervaldatum IS NULL OR i.ins_deel_vervaldatum > SYSDATE) "
|
||||
+ " AND NOT EXISTS "
|
||||
+ " (SELECT '' "
|
||||
+ " FROM res_deel r "
|
||||
+ " WHERE res_deel_verwijder IS NULL "
|
||||
+ " AND (res_deel_vervaldatum IS NULL OR res_deel_vervaldatum > SYSDATE) "
|
||||
+ " AND r.res_ins_deel_key = i.ins_deel_key) "
|
||||
+ "GROUP BY ins_discipline_omschrijving "
|
||||
+ "ORDER BY 3 DESC, 2 ";
|
||||
sql = sql0.format(4, '= 0', L('lcl_alg_fmstats_assets'));
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
sql = sql1.format(4, '= 0');
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
|
||||
sql = sql0.format(5, '<> 0', L('lcl_alg_fmstats_sensors'));
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
sql = sql1.format(5, '<> 0');
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
|
||||
// Reserveerbare ruimtes (reken maar na :-))
|
||||
sql = "SELECT 6 id,"
|
||||
+ " 'Reserveerbare ruimtes' lbl,"
|
||||
+ " COUNT (*) val,"
|
||||
+ " SUM (r.alg_ruimte_bruto_vloeropp) det"
|
||||
+ " FROM alg_ruimte r"
|
||||
+ " WHERE r.alg_ruimte_verwijder IS NULL"
|
||||
+ " AND r.alg_ruimte_key IN (SELECT alg_ruimte_key"
|
||||
+ " FROM res_alg_ruimte rag, res_ruimte rr"
|
||||
+ " WHERE res_alg_ruimte_verwijder IS NULL"
|
||||
+ " AND rr.res_ruimte_key = rag.res_ruimte_key"
|
||||
+ " AND (rr.res_ruimte_startdatum IS NULL OR rr.res_ruimte_startdatum <= SYSDATE)"
|
||||
+ " AND (rr.res_ruimte_vervaldatum IS NULL OR rr.res_ruimte_vervaldatum > SYSDATE)"
|
||||
+ " )"
|
||||
+ " ORDER BY 3 DESC, 2";
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
|
||||
sql = "SELECT 6 id,"
|
||||
+ " '> ' || ins_discipline_omschrijving lbl,"
|
||||
+ " COUNT (*) val,"
|
||||
+ " SUM (r.alg_ruimte_bruto_vloeropp) det"
|
||||
+ " FROM alg_ruimte r,"
|
||||
+ " res_ruimte rr,"
|
||||
+ " res_discipline rd,"
|
||||
+ " res_alg_ruimte rag"
|
||||
+ " WHERE rr.res_discipline_key = rd.ins_discipline_key"
|
||||
+ " AND r.alg_ruimte_verwijder IS NULL"
|
||||
+ " AND rd.ins_discipline_verwijder IS NULL"
|
||||
+ " AND rag.res_ruimte_key = rr.res_ruimte_key"
|
||||
+ " AND rag.alg_ruimte_key = r.alg_ruimte_key"
|
||||
+ " AND rag.res_alg_ruimte_verwijder IS NULL"
|
||||
+ " AND rr.res_ruimte_verwijder IS NULL"
|
||||
+ " AND (rr.res_ruimte_startdatum IS NULL OR rr.res_ruimte_startdatum <= SYSDATE)"
|
||||
+ " AND (rr.res_ruimte_vervaldatum IS NULL OR rr.res_ruimte_vervaldatum > SYSDATE)"
|
||||
+ " GROUP BY ins_discipline_omschrijving"
|
||||
+ " ORDER BY 3 DESC, 2";
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
|
||||
//Reserveerbare faciliteiten
|
||||
var sql0 = "SELECT {0} id, '{2}' lbl, COUNT (*) val, '' det "
|
||||
+ " FROM ins_deel i "
|
||||
+ " WHERE i.ins_deel_verwijder IS NULL "
|
||||
+ " AND EXISTS "
|
||||
+ " (SELECT ins_deel_key "
|
||||
+ " FROM res_deel r, res_discipline rd "
|
||||
+ " WHERE res_deel_verwijder IS NULL "
|
||||
+ " AND r.res_discipline_key = rd.ins_discipline_key "
|
||||
+ " AND ins_discipline_min_level = {1} "
|
||||
+ " AND (res_deel_vervaldatum IS NULL OR res_deel_vervaldatum > SYSDATE) "
|
||||
+ " AND r.res_ins_deel_key = i.ins_deel_key) ";
|
||||
// ins_discipline_min_level /* 1; Reserveerbaar object; 2; Verbruiksartikel; 3; Ruimte 4; Personenresource; 5; Werkplek;*/
|
||||
var sql1 = "SELECT {0} id, '> ' || ins_discipline_omschrijving lbl, COUNT (*) val, '' det "
|
||||
+ " FROM res_deel rr, res_discipline rd "
|
||||
+ " WHERE rr.res_discipline_key = rd.ins_discipline_key "
|
||||
+ " AND rr.res_deel_verwijder IS NULL "
|
||||
+ " AND ins_discipline_min_level = {1} "
|
||||
+ " AND ins_discipline_verwijder IS NULL "
|
||||
+ " AND (rr.res_deel_vervaldatum IS NULL OR rr.res_deel_vervaldatum > SYSDATE) "
|
||||
+ "GROUP BY ins_discipline_omschrijving "
|
||||
+ "ORDER BY 3 DESC, 2 ";
|
||||
sql = sql0.format(7, '1', L('lcl_res_objcat'));
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
sql = sql1.format(7, '1');
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
sql = sql0.format(8, '4', L('lcl_res_persons'));
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
sql = sql1.format(8, '4');
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
sql = sql0.format(9, '5', L('lcl_res_wpcat'));
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
sql = sql1.format(9, '5');
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
|
||||
// Werkplekken
|
||||
sql = " SELECT 10 id, "+safe.quoted_sql(L('frm_wplistframe'))+" lbl, COUNT (*) val, '' det "
|
||||
+ " FROM prs_werkplek wp, "
|
||||
+ " alg_ruimte r, "
|
||||
+ " alg_verdieping v, "
|
||||
+ " alg_gebouw g, "
|
||||
+ " alg_locatie l "
|
||||
+ " WHERE prs_werkplek_virtueel = 0 "
|
||||
+ " AND r.alg_ruimte_key = wp.prs_alg_ruimte_key "
|
||||
+ " AND r.alg_verdieping_key = v.alg_verdieping_key "
|
||||
+ " AND v.alg_gebouw_key = g.alg_gebouw_key "
|
||||
+ " AND g.alg_locatie_key = l.alg_locatie_key "
|
||||
+ " AND g.alg_gebouw_verwijder IS NULL "
|
||||
+ " AND v.alg_verdieping_verwijder IS NULL "
|
||||
+ " AND r.alg_ruimte_verwijder IS NULL "
|
||||
+ " AND (alg_gebouw_vervaldatum IS NULL OR alg_gebouw_vervaldatum > SYSDATE) ";
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
|
||||
sql = " SELECT 10 id, '> ' || l.alg_locatie_plaats lbl, COUNT (*) val, '' det"
|
||||
+ " FROM prs_werkplek wp, "
|
||||
+ " alg_ruimte r, "
|
||||
+ " alg_verdieping v, "
|
||||
+ " alg_gebouw g, "
|
||||
+ " alg_locatie l "
|
||||
+ " WHERE prs_werkplek_virtueel = 0 "
|
||||
+ " AND r.alg_ruimte_key = wp.prs_alg_ruimte_key "
|
||||
+ " AND r.alg_verdieping_key = v.alg_verdieping_key "
|
||||
+ " AND v.alg_gebouw_key = g.alg_gebouw_key "
|
||||
+ " AND g.alg_locatie_key = l.alg_locatie_key "
|
||||
+ " AND g.alg_gebouw_verwijder IS NULL "
|
||||
+ " AND v.alg_verdieping_verwijder IS NULL "
|
||||
+ " AND r.alg_ruimte_verwijder IS NULL "
|
||||
+ " AND (alg_gebouw_vervaldatum IS NULL OR alg_gebouw_vervaldatum > SYSDATE) "
|
||||
+ "GROUP BY l.alg_locatie_plaats "
|
||||
+ "ORDER BY 3 DESC, 2 ";
|
||||
oRs = Oracle.Execute(sql);
|
||||
add2facts (oRs);
|
||||
oRs.Close();
|
||||
|
||||
var buttons = [];
|
||||
IFRAMER_HEADER(L("lcl_alg_fmstats")+" / "+L("lcl_estate_ruimte_bruto_vloeropp"), buttons);
|
||||
%>
|
||||
<form name=u2 onSubmit="return false;">
|
||||
<%
|
||||
var i = 0;
|
||||
var currid = 1;
|
||||
|
||||
// Luiheid en eenmaligheid is de reden om dit niet met een loopje te doen, verschillen alleen in icon en presentatie van det(ails).
|
||||
// Zou ze best collapsible willen, maar dat werkt alleen nog maar voor flexkenmerkblokken; ingeklapt kan wel, maar dan kun je niet meer uitklappen.
|
||||
|
||||
BLOCK_START("fm1", facts[i].lbl+" "+safe.showFloat(facts[i].cnt,0) + " / " + safe.showFloat(facts[i].det||'-',0)+ " m2", {icon: "fa-building"});
|
||||
i+=1;
|
||||
for (i=i; i<facts.length; i++)
|
||||
{
|
||||
if (facts[i].id && facts[i].id != currid) { currid += 1; break; }
|
||||
ROFIELDTR("fld", facts[i].lbl, safe.showFloat(facts[i].cnt,0) + (facts[i].det ? (" / " + safe.showFloat(facts[i].det||'-',0) + " m2") : ""));
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("fm2", facts[i].lbl+" "+safe.showFloat(facts[i].cnt,0) + " / " + safe.showFloat(facts[i].det||'-',0)+ " m2", {icon: "fa-layer-group"});
|
||||
i+=1;
|
||||
for (i=i; i<facts.length; i++)
|
||||
{
|
||||
if (facts[i].id && facts[i].id != currid) { currid += 1; break; }
|
||||
ROFIELDTR("fld", facts[i].lbl, safe.showFloat(facts[i].cnt,0) + (facts[i].det ? (" / " + safe.showFloat(facts[i].det||'-',0) + " m2") : ""));
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("fm3", facts[i].lbl+" "+safe.showFloat(facts[i].cnt,0) + " / " + safe.showFloat(facts[i].det||'-',0)+ " m2", {icon: "fa-map-marker-alt"});
|
||||
i+=1;
|
||||
for (i=i; i<facts.length; i++)
|
||||
{
|
||||
if (facts[i].id && facts[i].id != currid) { currid += 1; break; }
|
||||
ROFIELDTR("fld", facts[i].lbl, safe.showFloat(facts[i].cnt,0) + (facts[i].det ? (" / " + safe.showFloat(facts[i].det||'-',0) + " m2") : ""));
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("fm4", facts[i].lbl+" "+safe.showFloat(facts[i].cnt,0), {icon: "fa-cubes"});
|
||||
i+=1;
|
||||
for (i=i; i<facts.length; i++)
|
||||
{
|
||||
if (facts[i].id && facts[i].id != currid) { currid += 1; break; }
|
||||
ROFIELDTR("fld", facts[i].lbl, safe.showFloat(facts[i].cnt,0) );
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("fm5", facts[i].lbl+" "+safe.showFloat(facts[i].cnt,0), {icon: "fa-sensor"});
|
||||
i+=1;
|
||||
for (i=i; i<facts.length; i++)
|
||||
{
|
||||
if (facts[i].id && facts[i].id != currid) { currid += 1; break; }
|
||||
ROFIELDTR("fld", facts[i].lbl, safe.showFloat(facts[i].cnt,0) );
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("fm6", facts[i].lbl+" "+safe.showFloat(facts[i].cnt,0) + " / " + safe.showFloat(facts[i].det||'-',0)+ " m2", {icon: "fa-users"});
|
||||
i+=1;
|
||||
for (i=i; i<facts.length; i++)
|
||||
{
|
||||
if (facts[i].id && facts[i].id != currid) { currid += 1; break; }
|
||||
ROFIELDTR("fld", facts[i].lbl, safe.showFloat(facts[i].cnt,0) + (facts[i].det ? (" / " + safe.showFloat(facts[i].det||'-',0) + " m2") : ""));
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("fm7", facts[i].lbl+" "+safe.showFloat(facts[i].cnt,0), {icon: "fa-projector"});
|
||||
i+=1;
|
||||
for (i=i; i<facts.length; i++)
|
||||
{
|
||||
if (facts[i].id && facts[i].id != currid) { currid += 1; break; }
|
||||
ROFIELDTR("fld", facts[i].lbl, safe.showFloat(facts[i].cnt,0) );
|
||||
}
|
||||
BLOCK_END();
|
||||
BLOCK_START("fm8", facts[i].lbl+" "+safe.showFloat(facts[i].cnt,0), {icon: "fa-user"});
|
||||
i+=1;
|
||||
for (i=i; i<facts.length; i++)
|
||||
{
|
||||
if (facts[i].id && facts[i].id != currid) { currid += 1; break; }
|
||||
ROFIELDTR("fld", facts[i].lbl, safe.showFloat(facts[i].cnt,0) );
|
||||
}
|
||||
BLOCK_END();
|
||||
BLOCK_START("fm9", facts[i].lbl+" "+safe.showFloat(facts[i].cnt,0), {icon: "fa-desktop"});
|
||||
i+=1;
|
||||
for (i=i; i<facts.length; i++)
|
||||
{
|
||||
if (facts[i].id && facts[i].id != currid) { currid += 1; break; }
|
||||
ROFIELDTR("fld", facts[i].lbl, safe.showFloat(facts[i].cnt,0) );
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("fm10", facts[i].lbl+" "+safe.showFloat(facts[i].cnt,0), {icon: "fa-chair-office"});
|
||||
i+=1;
|
||||
for (i=i; i<facts.length; i++)
|
||||
{
|
||||
if (facts[i].id && facts[i].id != currid) { currid += 1; break; }
|
||||
ROFIELDTR("fld", facts[i].lbl, safe.showFloat(facts[i].cnt,0) );
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
%>
|
||||
</form>
|
||||
<% SUBFRAME_END(); %>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
@@ -20,15 +20,16 @@ var cnt_full = getQParamInt("cnt_full", 1);
|
||||
|
||||
if (bld_key > 0)
|
||||
{
|
||||
var sql = "SELECT alg_gebouw_code, alg_locatie_key, alg_gebouw_x, alg_gebouw_y "
|
||||
sql = " select alg_gebouw_code, alg_locatie_key, alg_gebouw_x, alg_gebouw_y "
|
||||
+ " FROM alg_gebouw "
|
||||
+ " WHERE alg_gebouw_key = " + bld_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var bld_name = " " + oRs("alg_gebouw_code").Value;
|
||||
var loc_key = oRs("alg_locatie_key").Value;
|
||||
var bld_x = oRs("alg_gebouw_x").Value;
|
||||
var bld_y = oRs("alg_gebouw_y").Value;
|
||||
oRs.Close();
|
||||
+ " 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;
|
||||
var bld_x = oRs("alg_gebouw_x").value;
|
||||
var bld_y = oRs("alg_gebouw_y").value;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -93,15 +94,13 @@ else
|
||||
|
||||
if (authparamsCNTMAN || authparamsCNTUSE)
|
||||
{
|
||||
var page1 = "../cnt/cnt_search_list.asp?embedded=1&tiny=1&urole=" + curole
|
||||
+ "&ffutu=1&fact=1&frap=1&fopz=1&sact=1&bld_key=" + bld_key
|
||||
+ "&cnt_full="+cnt_full;
|
||||
var page1="../cnt/cnt_search_list.asp?embedded=1&tiny=1&urole=" + curole + "&ffutu=1&fact=1&frap=1&fopz=1&sact=1&bld_key=" + bld_key
|
||||
page1 += "&cnt_full="+cnt_full;
|
||||
IFRAMER("cntlistframe", page1, { icon: "fa-list"} );
|
||||
}
|
||||
|
||||
if (S("alg_fg_remote_maps") != "" && bld_x && bld_y)
|
||||
{
|
||||
var page2 = "../cad/ShowGoogleMap.asp?bld_key=" + bld_key;
|
||||
if (S("alg_fg_remote_maps") != "" && bld_x && bld_y) {
|
||||
var page2= "../cad/ShowGoogleMap.asp?bld_key=" + bld_key
|
||||
IFRAMER("mapsframe", page2, { title: L("lcl_maps"), icon: "fa-map-marker-alt" } );
|
||||
}
|
||||
// tracking naar subframe :-)
|
||||
@@ -113,9 +112,6 @@ else
|
||||
IFRAMER("alghistoryframe", page3, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
}
|
||||
|
||||
page4 = "alg_show_note2.asp?alg_key=" + bld_key + "&alg_typ=G";
|
||||
IFRAMER("algnoteframe", page4, { refreshOnClose: true, sidebar: true } ); // sidebar heeft geen icon/title nodig
|
||||
|
||||
}
|
||||
%>
|
||||
<% PAGE_END(); %>
|
||||
|
||||
@@ -16,7 +16,51 @@
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins: ["jQuery"] });
|
||||
|
||||
var cnt_full = getQParamInt("cnt_full", 1);
|
||||
function fnrowData(oRs)
|
||||
{
|
||||
var parent_key = oRs("alg_locatie_key").value;
|
||||
var detail_key = oRs("alg_gebouw_key").value;
|
||||
var key = oRs("alg_gebouw_key").value;
|
||||
var oms = oRs("alg_gebouw_naam").value;
|
||||
|
||||
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 cnt_full = getQParamInt("cnt_full", 1);
|
||||
|
||||
// Fast check to see if any building responsibles have been set
|
||||
// If not, we can suppress the column
|
||||
@@ -40,7 +84,6 @@ FCLTHeader.Requires({ plugins: ["jQuery"] });
|
||||
oRs.close()
|
||||
}
|
||||
|
||||
var canImport = (user.checkAutorisation("WEB_IMPORT", true) != null);
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -63,6 +106,7 @@ FCLTHeader.Requires({ plugins: ["jQuery"] });
|
||||
function gebouwEdit(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var v_all_cnt = <%=cnt_full%>;
|
||||
var url = "appl/alg/alg_gebouw.asp?mode=viewChange&key=" + algData.key + "&cnt_full=<%=cnt_full%>";
|
||||
FcltMgr.openDetail(url, L("lcl_building") + " " + algData.oms);
|
||||
}
|
||||
@@ -105,6 +149,7 @@ FCLTHeader.Requires({ plugins: ["jQuery"] });
|
||||
var url = "appl/ins/ins_search.asp?urole=bo&gebouw_key=" + algData.key;
|
||||
FcltMgr.openDetail(url, L("lcl_building") + " " + algData.oms);
|
||||
}
|
||||
|
||||
</script>
|
||||
<%
|
||||
|
||||
@@ -132,22 +177,34 @@ function gebouw_list(pautfunction, params)
|
||||
var fitness_score1_from = params.fitness_score1_from;
|
||||
var fitness_score1_through = params.fitness_score1_through;
|
||||
|
||||
var transitParam = buildTransitParam(["locatiekey", "urole", "bld_key", "flo_key", "room_key"]);
|
||||
var rstFilters = params.rstFilters;
|
||||
var checkBoxes = [
|
||||
{
|
||||
lcl: L("lcl_alg_gebouw_vervallen_incl"),
|
||||
param: 'expAlgIncl',
|
||||
checked: expalgincl,
|
||||
transitParams: transitParam
|
||||
}
|
||||
];
|
||||
|
||||
var rstCheckBoxes = rstFilters ? checkBoxes : [];
|
||||
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 eEditMulti = false;
|
||||
var eObjMan = false;
|
||||
if (alg.canWriteGebouw(oRs("alg_gebouw_key").value, authparams.mALGwritelevel))
|
||||
{
|
||||
eDelete = true;
|
||||
eEditMulti = true;
|
||||
}
|
||||
// Heb ik rechten om het objectenbeheer overzicht te zien?
|
||||
if (readuse || readman)
|
||||
eObjMan = true;
|
||||
return ({eDelete: eDelete, eEditMulti: eEditMulti, 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;
|
||||
}
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -156,8 +213,8 @@ function gebouw_list(pautfunction, params)
|
||||
</head>
|
||||
<body id="listbody">
|
||||
<%
|
||||
var flexParams = alg.alg_onroerendgoed_flex_params("G");
|
||||
var sqln = "SELECT g.alg_gebouw_key"
|
||||
+ " , g.alg_locatie_key"
|
||||
+ " , g.alg_locatie_key"
|
||||
+ " , g.alg_srtgebouw_key"
|
||||
+ " , l.alg_locatie_omschrijving"
|
||||
@@ -187,7 +244,6 @@ function gebouw_list(pautfunction, params)
|
||||
+ " AND t.fac_tracking_refkey = g.alg_gebouw_key"
|
||||
+ " AND sn.fac_srtnotificatie_xmlnode = 'gebouw'"
|
||||
+ " ) recentdatum"
|
||||
+ flexParams.sql
|
||||
+ " FROM alg_gebouw g"
|
||||
+ " , alg_locatie l"
|
||||
+ " , alg_srtgebouw s"
|
||||
@@ -245,98 +301,12 @@ function gebouw_list(pautfunction, params)
|
||||
|
||||
var addurl = "appl/alg/alg_gebouw.asp";
|
||||
|
||||
var addButton = [];
|
||||
if (canAdd)
|
||||
{
|
||||
addButton.push({ icon: "fa-plus", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + safe.jsstring(L("lcl_add")) + "')" });
|
||||
addButton = [{ icon: "fa-plus", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + safe.jsstring(L("lcl_add")) + "')" }]
|
||||
}
|
||||
|
||||
/**********************************
|
||||
* Callback functies ResultsetTable
|
||||
*********************************/
|
||||
var recent = new Date();
|
||||
|
||||
function fnrowData(oRs)
|
||||
{
|
||||
var parent_key = oRs("alg_locatie_key").value;
|
||||
var detail_key = oRs("alg_gebouw_key").value;
|
||||
var key = oRs("alg_gebouw_key").value;
|
||||
var oms = oRs("alg_gebouw_naam").value;
|
||||
|
||||
var data = {parent_key: parent_key, detail_key: detail_key, key: key, oms: oms};
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
var eDelete = false;
|
||||
var eEditMulti = false;
|
||||
var eObjMan = false;
|
||||
if (alg.canWriteGebouw(oRs("alg_gebouw_key").value, authparams.mALGwritelevel))
|
||||
{
|
||||
eDelete = true;
|
||||
eEditMulti = true;
|
||||
}
|
||||
// Heb ik rechten om het objectenbeheer overzicht te zien?
|
||||
if (readuse || readman)
|
||||
eObjMan = true;
|
||||
return ({eDelete: eDelete, eEditMulti: eEditMulti, 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 fncolFlexBijlagen(oRs)
|
||||
{
|
||||
var flexval = oRs("algflex").Value;
|
||||
var alg_key = oRs("alg_gebouw_key").Value;
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
: ""
|
||||
);
|
||||
if (flexParams.bijlageflex)
|
||||
{
|
||||
result += alg.alg_onroerendgoed_flex_bijlagen("G", alg_key);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
// addurl += buildTransitParam(["loc_key", "bld_key", "flo_key", "room_key"], params) // TODO: welke allemaal?
|
||||
|
||||
var rst = new ResultsetTable({ sql:sqln,
|
||||
keyColumn: "alg_gebouw_key",
|
||||
@@ -351,9 +321,7 @@ function gebouw_list(pautfunction, params)
|
||||
flexParams: fnrowFlexParams,
|
||||
filterParams: params,
|
||||
outputmode: outputmode,
|
||||
buttons: addButton,
|
||||
rstCheckBoxes: rstCheckBoxes,
|
||||
roundtripCode: (canImport ? "ONRGOED1" : "")
|
||||
buttons: addButton
|
||||
});
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_descr"), content: "alg_locatie_omschrijving"}));
|
||||
@@ -372,6 +340,7 @@ function gebouw_list(pautfunction, params)
|
||||
}
|
||||
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"}));
|
||||
|
||||
if (outputmode != 0)
|
||||
{
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_opmerk"), content: "alg_gebouw_opmerking"}));
|
||||
@@ -384,8 +353,6 @@ function gebouw_list(pautfunction, params)
|
||||
}
|
||||
if (ins_score_enabled)
|
||||
rst.addColumn(new Column({caption: L("lcl_alg_gebouw_mjb_score1"), content: "alg_gebouw_mjb_score1", datatype: "number"}));
|
||||
if (flexParams.anyflex)
|
||||
rst.addColumn(new Column({caption: flexParams.flexlabel, content: fncolFlexBijlagen, colName: "fncolFlexBijlagen"}));
|
||||
|
||||
rst.addAction({ action: "gebouwEdit", caption: L("lcl_edit"), isDefault: true});
|
||||
if (S("cnd_gebreken_srtdisc_key") > -1)
|
||||
@@ -399,3 +366,4 @@ function gebouw_list(pautfunction, params)
|
||||
</html>
|
||||
<%
|
||||
} %>
|
||||
|
||||
|
||||
@@ -21,7 +21,6 @@ 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 autosearch = getQParamInt("autosearch", 0) == 1;
|
||||
var alg_startlevel = getQParamInt("alg_startlevel", 2); // Startlevel van plaatsselector, default Locatie
|
||||
var cnt_full = getQParamInt("cnt_full", 1);
|
||||
var authparams = alg.checkAutorisation();
|
||||
var this_alg = alg.func_enabled(gebouw_key);
|
||||
@@ -65,7 +64,7 @@ var this_alg = alg.func_enabled(gebouw_key);
|
||||
FCLTplaatsselector(authparams.ALGreadlevel, {
|
||||
locatiekey: locatie_key,
|
||||
gebouwkey: gebouw_key,
|
||||
startlevel: alg_startlevel, // locatie
|
||||
startlevel: 2, // locatie
|
||||
eindlevel: 2, // locatie
|
||||
whenEmpty: L("lcl_search_generic")
|
||||
});
|
||||
|
||||
@@ -32,7 +32,6 @@ 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 rstFilters = getQParamInt("rst_filters", 0) ;// button vervallen gebouwen
|
||||
var cnt_full = getQParamInt("cnt_full", 1);
|
||||
var fitness_score1_from = getQParamFloat("fitness_score1_from", -1); // Conditie score van.
|
||||
var fitness_score1_through = getQParamFloat("fitness_score1_through", -1); // Conditie score t/m.
|
||||
@@ -57,8 +56,7 @@ gebouw_list ( "*",
|
||||
bld_email : bld_email,
|
||||
bld_groep : bld_groep,
|
||||
noref: (noref != -1? noref : null),
|
||||
expalgincl: expalgincl,
|
||||
rstFilters: (rstFilters == true ? 1 : 0)
|
||||
expalgincl: expalgincl
|
||||
}
|
||||
);
|
||||
%><% ASPPAGE_END(); %>
|
||||
%><% ASPPAGE_END(); %>
|
||||
|
||||
@@ -84,10 +84,7 @@ else
|
||||
if (loc_key > -1)
|
||||
{
|
||||
var urole = "bo";
|
||||
var page0 = "../alg/alg_gebouw_search_list.asp?urole="
|
||||
+ urole +"&locatiekey="+loc_key
|
||||
+ "&rst_filters=1";
|
||||
|
||||
var page0 = "../alg/alg_gebouw_search_list.asp?urole=" + urole +"&locatiekey="+loc_key;
|
||||
IFRAMER("alggebouwframe", page0, { icon: "fa-list"} );
|
||||
var page1 = "../alg/alg_terreinsector_search_list.asp?urole=" + urole +"&locatiekey="+loc_key;
|
||||
IFRAMER("algterreinframe", page1, { icon: "fa-list"} );
|
||||
@@ -101,16 +98,13 @@ else
|
||||
|
||||
if (authparamsCNTMAN || authparamsCNTUSE)
|
||||
{
|
||||
var page2 = "../cnt/cnt_search_list.asp?embedded=1&tiny=1&urole=" + curole
|
||||
+ "&ffutu=1&fact=1&frap=1&fopz=1&sact=1&loc_key=" + loc_key
|
||||
+ "&rst_filters=1"
|
||||
+ "&cnt_full="+cnt_full;
|
||||
var page2="../cnt/cnt_search_list.asp?embedded=1&tiny=1&urole=" + curole + "&ffutu=1&fact=1&frap=1&fopz=1&sact=1&loc_key=" + loc_key
|
||||
page2 += "&cnt_full="+cnt_full;
|
||||
IFRAMER("cntlistframe", page2, { icon: "fa-list" } );
|
||||
}
|
||||
|
||||
if (S("alg_fg_remote_maps") != "" && loc_x && loc_y)
|
||||
{
|
||||
var page4 = "../cad/ShowGoogleMap.asp?loc_key=" + loc_key;
|
||||
if (S("alg_fg_remote_maps") != "" && loc_x && loc_y) {
|
||||
var page4= "../cad/ShowGoogleMap.asp?loc_key=" + loc_key
|
||||
IFRAMER("mapsframe", page4, { title: L("lcl_maps"), icon: "fa-map-marker-alt" } );
|
||||
}
|
||||
// tracking naar subframe :-)
|
||||
@@ -121,10 +115,6 @@ else
|
||||
page5 = protectQS.create("../shared/status_info.asp?loc_key=" + loc_key);
|
||||
IFRAMER("alghistoryframe", page5, { icon: "fa-list", title: L("lcl_tracking")} );
|
||||
}
|
||||
|
||||
page6 = "alg_show_note2.asp?alg_key=" + loc_key + "&alg_typ=L";
|
||||
IFRAMER("algnoteframe", page6, { refreshOnClose: true, sidebar: true } ); // sidebar heeft geen icon/title nodig
|
||||
|
||||
}
|
||||
%>
|
||||
<% PAGE_END(); %>
|
||||
|
||||
@@ -18,6 +18,50 @@ FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
js: []
|
||||
})
|
||||
|
||||
function fnrowData(oRs)
|
||||
{
|
||||
var parent_key = oRs("alg_district_key").value;
|
||||
var detail_key = oRs("alg_locatie_key").value;
|
||||
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};
|
||||
|
||||
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 cnt_full = getQParamInt("cnt_full", 1);
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
@@ -98,6 +142,27 @@ function locatie_list(pautfunction, params)
|
||||
var expalgincl = params.expalgincl;
|
||||
var fitness_score1_from = params.fitness_score1_from;
|
||||
var fitness_score1_through = params.fitness_score1_through;
|
||||
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
var eDelete = false;
|
||||
var eEditMulti = false;
|
||||
if (alg.canWriteLocatie(oRs("alg_locatie_key").value, authparams.mALGwritelevel))
|
||||
{
|
||||
eDelete = true;
|
||||
eEditMulti = true;
|
||||
}
|
||||
return ({eDelete: eDelete, eEditMulti: eEditMulti})
|
||||
}
|
||||
|
||||
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>
|
||||
@@ -105,9 +170,7 @@ function locatie_list(pautfunction, params)
|
||||
<% FCLTHeader.Generate({outputmode:outputmode}) %>
|
||||
</head>
|
||||
<body id="listbody">
|
||||
<%
|
||||
var flexParams = alg.alg_onroerendgoed_flex_params("L");
|
||||
var sqln = "SELECT l.alg_locatie_key"
|
||||
<% var sqln = "SELECT l.alg_locatie_key"
|
||||
+ " , l.alg_district_key"
|
||||
+ " , l.alg_locatie_code"
|
||||
+ " , l.alg_locatie_omschrijving"
|
||||
@@ -133,7 +196,6 @@ function locatie_list(pautfunction, params)
|
||||
+ " AND t.fac_tracking_refkey = l.alg_locatie_key"
|
||||
+ " AND sn.fac_srtnotificatie_xmlnode = 'locatie'"
|
||||
+ " ) recentdatum"
|
||||
+ flexParams.sql
|
||||
+ " FROM alg_v_aanweziglocatie l"
|
||||
+ " , alg_district d "
|
||||
+ " WHERE d.alg_district_key(+) = l.alg_district_key"
|
||||
@@ -189,88 +251,6 @@ function locatie_list(pautfunction, params)
|
||||
addButton = [{ icon: "fa-plus", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + safe.jsstring(L("lcl_add")) + "')" }]
|
||||
}
|
||||
|
||||
/**********************************
|
||||
* Callback functies ResultsetTable
|
||||
*********************************/
|
||||
var recent = new Date();
|
||||
|
||||
function fnrowData(oRs)
|
||||
{
|
||||
var parent_key = oRs("alg_district_key").value;
|
||||
var detail_key = oRs("alg_locatie_key").value;
|
||||
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};
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
var eDelete = false;
|
||||
var eEditMulti = false;
|
||||
if (alg.canWriteLocatie(oRs("alg_locatie_key").value, authparams.mALGwritelevel))
|
||||
{
|
||||
eDelete = true;
|
||||
eEditMulti = true;
|
||||
}
|
||||
return ({eDelete: eDelete, eEditMulti: eEditMulti})
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
function fncolFlexBijlagen(oRs)
|
||||
{
|
||||
var flexval = oRs("algflex").Value;
|
||||
var alg_key = oRs("alg_locatie_key").Value;
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
: ""
|
||||
);
|
||||
if (flexParams.bijlageflex)
|
||||
{
|
||||
result += alg.alg_onroerendgoed_flex_bijlagen("L", alg_key);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
var rst = new ResultsetTable({ sql:sqln,
|
||||
keyColumn: "alg_locatie_key",
|
||||
ID: "algtable",
|
||||
@@ -305,12 +285,9 @@ function locatie_list(pautfunction, params)
|
||||
rst.addColumn(new Column({caption: L("lcl_prs_address_post_plaats"), content: "alg_locatie_post_plaats"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_prs_address_post_land"), content: "alg_locatie_post_land"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_verantw"), content: "alg_locatie_verantw"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_verantw_tel"), content: "alg_locatie_verantw_tel"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_geoxcoord"), content: "alg_locatie_x"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_geoycoord"), content: "alg_locatie_y"}));
|
||||
}
|
||||
if (flexParams.anyflex)
|
||||
rst.addColumn(new Column({caption: flexParams.flexlabel, content: fncolFlexBijlagen, colName: "fncolFlexBijlagen"}));
|
||||
|
||||
|
||||
rst.addAction({ action: "locatieEdit", caption: L("lcl_edit"), isDefault: true});
|
||||
@@ -329,3 +306,4 @@ function locatie_list(pautfunction, params)
|
||||
<%
|
||||
}
|
||||
%>
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@ 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", 1);
|
||||
var alg_startlevel = getQParamInt("alg_startlevel", 0); // Startlevel van plaatsselector, default Regio
|
||||
var authparams = alg.checkAutorisation();
|
||||
%>
|
||||
|
||||
@@ -58,7 +57,7 @@ var authparams = alg.checkAutorisation();
|
||||
<% FCLTplaatsselector(authparams.ALGreadlevel, {
|
||||
districtkey: district_key,
|
||||
locatiekey: locatie_key,
|
||||
startlevel: alg_startlevel, // regio
|
||||
startlevel: 0, // regio
|
||||
eindlevel: 2, // Locatie
|
||||
whenEmpty: L("lcl_search_generic") // want filter
|
||||
});
|
||||
|
||||
@@ -17,6 +17,19 @@
|
||||
|
||||
<%
|
||||
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 data = {detail_key: detail_key, key: key, oms: oms};
|
||||
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -29,7 +42,7 @@ FCLTHeader.Requires({ plugins:["jQuery"] });
|
||||
FcltMgr.openDetail(url, L("lcl_district"));
|
||||
}
|
||||
|
||||
function districtEdit(row)
|
||||
function districtEdit(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var url = "appl/ALG/alg_regio.asp?mode=viewUpdate&key=" + algData.key;
|
||||
@@ -41,13 +54,13 @@ FCLTHeader.Requires({ plugins:["jQuery"] });
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_regio"), { autoconfirm: isMulti }, function() {
|
||||
var regKeyString = getKeyString(rowArray);
|
||||
var data = { key: regKeyString,
|
||||
level: "E"
|
||||
level: "RE"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
<%
|
||||
|
||||
function regio_list(pautfunction, params)
|
||||
@@ -62,45 +75,13 @@ function regio_list(pautfunction, params)
|
||||
var showall = params.showall;
|
||||
var reg_key = params.reg_key;
|
||||
|
||||
function fnrowData(oRs)
|
||||
{
|
||||
var detail_key = oRs.Fields("id").Value;
|
||||
var key = oRs.Fields("id").Value;
|
||||
var oms = oRs.Fields("name").Value;
|
||||
var data = {detail_key: detail_key, key: key, oms: oms};
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
var eDelete = false;
|
||||
if (alg.canWriteRegio(oRs.Fields("id").Value, authparams.mALGwritelevel))
|
||||
eDelete = true;
|
||||
return ({eDelete: eDelete});
|
||||
var eDelete = false;
|
||||
if (alg.canWriteRegio(oRs.Fields("id").Value, authparams.mALGwritelevel))
|
||||
eDelete = true;
|
||||
return ({eDelete: eDelete})
|
||||
}
|
||||
|
||||
function fnrowFlexParams(oRs)
|
||||
{
|
||||
var reg_key = oRs.Fields("id").Value;
|
||||
var this_alg = alg.func_enabled(reg_key, "E");
|
||||
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
|
||||
return flexParams;
|
||||
}
|
||||
|
||||
function fncolFlexBijlagen(oRs)
|
||||
{
|
||||
var flexval = oRs.Fields("algflex").Value;
|
||||
var alg_key = oRs.Fields("id").Value;
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
: ""
|
||||
);
|
||||
if (flexParams.bijlageflex)
|
||||
{
|
||||
result += alg.alg_onroerendgoed_flex_bijlagen("E", alg_key);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
@@ -109,30 +90,16 @@ function regio_list(pautfunction, params)
|
||||
<body id="listbody">
|
||||
<%
|
||||
// Ophalen regio`s
|
||||
var flexParams = alg.alg_onroerendgoed_flex_params("E");
|
||||
var regio_key = getQParamInt("regiokey");
|
||||
var filter = {};
|
||||
if (regio_key > -1)
|
||||
filter = {id: regio_key};
|
||||
else
|
||||
{
|
||||
var kenmerk_sql = getKenmerkSql("ALG", "alg_regio.alg_regio_key");
|
||||
if (kenmerk_sql)
|
||||
filter = {kenmerk_sql: kenmerk_sql.substr(4)}; // De "AND" aan het begin eraf halen.
|
||||
}
|
||||
|
||||
var params = { filter: filter // Alle regio`s ophalen, behalve de verwijderde.
|
||||
, flexparams: { anyflex: flexParams.anyflex
|
||||
, bijlageflex: flexParams.bijlageflex
|
||||
, sql: flexParams.sql.substr(1).replace("e.", "alg_regio.")
|
||||
, algflex: {"dbs": "algflex", "typ": "varchar"}
|
||||
}
|
||||
};
|
||||
var model = new model_regions();
|
||||
var regio_array = model.REST_GET(params); // Roep de API2 GET aan
|
||||
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 addurl = "appl/alg/alg_regio.asp";
|
||||
// addurl += buildTransitParam(["loc_key", "bld_key", "flo_key", "room_key"], params) // TODO: welke allemaal?
|
||||
|
||||
if (canAdd)
|
||||
{
|
||||
@@ -145,17 +112,13 @@ function regio_list(pautfunction, params)
|
||||
showAll: showall,
|
||||
rowData: fnrowData,
|
||||
rowActionEnabler: fnrowActionEnabler,
|
||||
flexModule: "ALG",
|
||||
flexId: "alg_regio_key",
|
||||
flexParams: fnrowFlexParams,
|
||||
outputmode: outputmode,
|
||||
filterParams: params,
|
||||
buttons: addButton
|
||||
});
|
||||
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_regio_descr"), content: "name"}));
|
||||
if (flexParams.anyflex)
|
||||
rst.addColumn(new Column({caption: flexParams.flexlabel, content: fncolFlexBijlagen, colName: "fncolFlexBijlagen"}));
|
||||
|
||||
rst.addAction({ action: "districtEdit", caption: L("lcl_edit"), isDefault: true});
|
||||
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", multi: true, multiOnce: true});
|
||||
|
||||
@@ -16,7 +16,6 @@ FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"] });
|
||||
|
||||
var regio_key = getQParamInt("regio_key", -1); //regio
|
||||
var autosearch = getQParamInt("autosearch", 0) == 1;
|
||||
var alg_startlevel = getQParamInt("alg_startlevel", 0); // Startlevel van plaatsselector, default Regio
|
||||
var authparams = alg.checkAutorisation();
|
||||
%>
|
||||
|
||||
@@ -24,31 +23,7 @@ var authparams = alg.checkAutorisation();
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<script type="text/javascript">
|
||||
function doSubmit()
|
||||
{
|
||||
// Submitten met kenmerken
|
||||
doSubmitWithKenmerken();
|
||||
}
|
||||
async function myModal(init)
|
||||
{
|
||||
var lvl = "E";
|
||||
var key = 0;
|
||||
var bld_key = "";
|
||||
var url = "load_kenmerk.asp?disc="
|
||||
+ "&urole=bo"
|
||||
+ "&advanced=1"
|
||||
+ "&hasFilter=1"
|
||||
+ "&onrgoed_key=" +bld_key
|
||||
+ "&onrgoed_niveau=" + lvl;
|
||||
var titel = L("lcl_properties");
|
||||
await showKenmerkModal(url, titel, init);
|
||||
}
|
||||
|
||||
$(function() {
|
||||
<% if (autosearch) { %>
|
||||
document.forms.u2.submit();
|
||||
<% } %>
|
||||
});
|
||||
$(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
|
||||
</script>
|
||||
</head>
|
||||
<body id="searchbody">
|
||||
@@ -58,15 +33,13 @@ var authparams = alg.checkAutorisation();
|
||||
// <!-- Locatie, gebouw en verdieping -->
|
||||
FCLTplaatsselector(authparams.ALGreadlevel, {
|
||||
regiokey: regio_key,
|
||||
startlevel: alg_startlevel, // Regio
|
||||
startlevel: 0, // Regio
|
||||
eindlevel: 0, // District
|
||||
whenEmpty: L("lcl_search_generic")
|
||||
});
|
||||
SEARCH_BLOCK_END();
|
||||
var buttons = [{title: L("lcl_overview_list"), action: "document.forms.u2.submit();", id: "bSearch", icon: "fa-clipboard-list" }];
|
||||
SIMPLE_BLOCK_START();
|
||||
var buttons = [ {title: L("lcl_overview_list"), action: "doSubmit();", id: "bSearch", icon: "fa-clipboard-list" }
|
||||
, {title: L("lcl_shared_advanced"), action: "myModal()", id: "bAdvanced", importance: 3, icon: "fa-filter" }
|
||||
];
|
||||
CreateButtons(buttons, { entersubmit: true, showIcons: true });
|
||||
SIMPLE_BLOCK_END();
|
||||
SEARCH_PAGE_END(); %>
|
||||
@@ -82,4 +55,4 @@ var authparams = alg.checkAutorisation();
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -49,7 +49,6 @@ if (room_key > 0)
|
||||
var flr_oms = oRs("alg_verdieping_omschrijving").value;
|
||||
var room_nr = oRs("alg_ruimte_nr").value;
|
||||
var room_name = " " + bld_code + "-" + flr_oms + "-" + room_nr;
|
||||
oRs.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -109,7 +108,7 @@ else
|
||||
var page2 ="alg_werkplek_search_list.asp?tiny=1&ruimtekey=" + room_key;
|
||||
IFRAMER("wplistframe", page2, { icon: "fa-list" } );
|
||||
|
||||
var page3 = "../mgt/prs_ruimteafdeling.asp?tiny=1&mode=list&room=" + room_key;
|
||||
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("afdlistframe", page3, { icon: "fa-list" } );
|
||||
|
||||
var authparamsINSMAN = user.checkAutorisation("WEB_INSMAN", true);
|
||||
|
||||
@@ -19,10 +19,10 @@ FCLTHeader.Requires({ plugins:["jQuery", "suggest"], js: ["jQuery-ui.js"] });
|
||||
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 canImport = (user.checkAutorisation("WEB_IMPORT", true) != null);
|
||||
|
||||
// Voor resulttable de globalen zetten; zou ng anders moeten.
|
||||
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
|
||||
@@ -41,19 +41,6 @@ function ruimte_list(pautfunction, params)
|
||||
var expalgincl = params.expalgincl;
|
||||
var chkgeb = params.chkgeb;
|
||||
var cnt_full = params.cnt_full;
|
||||
|
||||
var usingoccupationsensors = params.sensorstats;
|
||||
// Het lijkt zinvol, ook voor onnodig performanceverlies, dat we deze alleen doen als we autorisatie hebben voor WEB_RESBAC of WEB_RESMSU
|
||||
var showdeskreservationstats = params.resstats && (user.has("WEB_RESBAC") || user.has("WEB_RESMSU"))
|
||||
var showroomreservationstats = params.resstats && (user.has("WEB_RESBAC") || user.has("WEB_RESMSU"));
|
||||
|
||||
if (showdeskreservationstats) {
|
||||
// Fast check to see if we do have werkplekdisciplines
|
||||
sql= "SELECT 1 FROM res_discipline WHERE ins_discipline_min_level = 5 AND ins_discipline_verwijder IS NULL AND ROWNUM = 1";
|
||||
oRs = Oracle.Execute(sql);
|
||||
showdeskreservationstats = !oRs.eof;
|
||||
oRs.close();
|
||||
}
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -91,10 +78,14 @@ function ruimte_list(pautfunction, params)
|
||||
FcltMgr.openModalDetail(url, subject, {callback: FcltCallbackRefresh});
|
||||
}
|
||||
|
||||
function doRuimteAfdeling(row)
|
||||
function doRuimteAfdeling(rowArray)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
FcltMgr.openModalDetail("alg_ruimteafdeling.asp?ruimte_keys=" + algData.key, L("lcl_alg_ruimte_bezetting"));
|
||||
var ruimteArr = [];
|
||||
for (var i = 0; i < rowArray.length; i++)
|
||||
{
|
||||
ruimteArr.push(rowArray[i].getAttribute("ROWKEY"))
|
||||
}
|
||||
FcltMgr.openModalDetail("alg_ruimteafdeling.asp?ruimte_keys=" + ruimteArr.join(","), L("lcl_alg_ruimte_bezetting"));
|
||||
}
|
||||
|
||||
function doRESScope(rowArray)
|
||||
@@ -123,9 +114,7 @@ function ruimte_list(pautfunction, params)
|
||||
</head>
|
||||
|
||||
<body id="listbody">
|
||||
<%
|
||||
var flexParams = alg.alg_onroerendgoed_flex_params("R");
|
||||
var sqln = "SELECT r.alg_ruimte_key"
|
||||
<% var sqln = "SELECT r.alg_ruimte_key"
|
||||
+ ", v.alg_verdieping_key"
|
||||
+ ", v.alg_gebouw_key"
|
||||
+ ", g.alg_locatie_key"
|
||||
@@ -145,37 +134,11 @@ function ruimte_list(pautfunction, params)
|
||||
+ ", r.alg_ruimte_opp_alt1"
|
||||
+ ", r.alg_ruimte_opp_alt2"
|
||||
+ ", r.alg_ruimte_verwijder"
|
||||
+ " , (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 = r.alg_ruimte_key"
|
||||
+ " AND sn.fac_srtnotificatie_xmlnode = 'ruimte'"
|
||||
+ " ) recentdatum"
|
||||
+ flexParams.sql
|
||||
+ (usingoccupationsensors
|
||||
? ", sstats.total_person_hours"
|
||||
+ ", sstats.avg_utilization_pct"
|
||||
+ ", sstats.peak_occupied_desks"
|
||||
: "")
|
||||
+ (showdeskreservationstats
|
||||
? ", dstats.total_reserved_hours_desk"
|
||||
+ ", dstats.avg_reserved_count_desk"
|
||||
+ ", dstats.peak_reserved_count_desk"
|
||||
: "")
|
||||
+ (showroomreservationstats
|
||||
? ", rstats.total_reserved_hours_room" // hoeveel uur in de afgelopen 90 dagen
|
||||
+ ", rstats.avg_persons_per_reservation" // gemiddeld aantal deelnemers per reservering
|
||||
+ ", rstats.avg_reservation_duration_hours" // gemiddelde reserveringsduur
|
||||
: "")
|
||||
+ " FROM alg_ruimte r"
|
||||
+ ", alg_verdieping v"
|
||||
+ ", alg_gebouw g"
|
||||
+ ", alg_locatie l"
|
||||
+ ", alg_srtruimte s"
|
||||
+ (usingoccupationsensors ? ", ins_v_room_occupancy_kpis sstats" : "")
|
||||
+ (showdeskreservationstats ? ", res_v_desk_reservation_kpis dstats" : "")
|
||||
+ (showroomreservationstats ? ", res_v_room_simple_kpis rstats" : "")
|
||||
+ " WHERE v.alg_verdieping_key = r.alg_verdieping_key "
|
||||
+ " AND g.alg_gebouw_key = v.alg_gebouw_key "
|
||||
+ " AND l.alg_locatie_key(+) = g.alg_locatie_key "
|
||||
@@ -189,9 +152,6 @@ function ruimte_list(pautfunction, params)
|
||||
+ " WHERE prs_perslid_key = " + user_key
|
||||
+ " AND niveau = " + authparams.ALGreadlevel + ")";
|
||||
}
|
||||
sqln += (usingoccupationsensors ? " AND r.alg_ruimte_key = sstats.alg_ruimte_key(+)" : "")
|
||||
sqln += (showdeskreservationstats ? " AND r.alg_ruimte_key = dstats.alg_ruimte_key(+)" : "")
|
||||
sqln += (showroomreservationstats ? " AND r.alg_ruimte_key = rstats.alg_ruimte_key(+)" : "")
|
||||
|
||||
sqln += getKenmerkSql("ALG", "r.alg_ruimte_key");
|
||||
|
||||
@@ -250,22 +210,6 @@ function ruimte_list(pautfunction, params)
|
||||
+ ", v.alg_verdieping_volgnr ASC"
|
||||
+ ", r.alg_ruimte_upper_nr ASC"
|
||||
|
||||
var addurl = "appl/alg/alg_ruimte.asp?a=1";
|
||||
addurl += buildTransitParam(["locatiekey", "gebouwkey", "verdiepingkey", "ruimtekey"], params) // TODO: welke allemaal?
|
||||
|
||||
|
||||
var buttons = [];
|
||||
if (canAdd)
|
||||
{
|
||||
buttons.push({ icon: "fa-plus", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + safe.jsstring(L("lcl_add")) + "')" });
|
||||
}
|
||||
buttons.push({ icon: "fa-columns", title: L("lcl_scf_columns"), action: "openColumns()"});
|
||||
|
||||
/**********************************
|
||||
* Callback functies ResultsetTable
|
||||
*********************************/
|
||||
var recent = new Date();
|
||||
|
||||
function fnrowData(oRs)
|
||||
{
|
||||
var parent_key = oRs("alg_verdieping_key").Value;
|
||||
@@ -277,37 +221,6 @@ function ruimte_list(pautfunction, params)
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
function fnrowClass(oRs) // identiek aan de andere niveaus
|
||||
{
|
||||
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 floorCache = [];
|
||||
// Voor performance bekijken we de rechten per verdieping. In de praktijk nauwkeurig genoeg
|
||||
function fnrowActionEnabler(oRs)
|
||||
@@ -334,37 +247,27 @@ function ruimte_list(pautfunction, params)
|
||||
return flexParams;
|
||||
}
|
||||
|
||||
function fncolFlexBijlagen(oRs)
|
||||
var addurl = "appl/alg/alg_ruimte.asp?a=1";
|
||||
addurl += buildTransitParam(["locatiekey", "gebouwkey", "verdiepingkey", "ruimtekey"], params) // TODO: welke allemaal?
|
||||
|
||||
if (canAdd)
|
||||
{
|
||||
var flexval = oRs("algflex").Value;
|
||||
var alg_key = oRs("alg_ruimte_key").Value;
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
: ""
|
||||
);
|
||||
if (flexParams.bijlageflex)
|
||||
{
|
||||
result += alg.alg_onroerendgoed_flex_bijlagen("R", alg_key);
|
||||
}
|
||||
return result;
|
||||
addButton = [{ icon: "fa-plus", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + safe.jsstring(L("lcl_add")) + "')" }]
|
||||
}
|
||||
|
||||
var rst = new ResultsetTable({ sql: sqln,
|
||||
keyColumn: "alg_ruimte_key",
|
||||
ID: "algtable",
|
||||
title: L("lcl_menu_alg_ruimte"),
|
||||
tabs_code: "algruimte_list-x",
|
||||
showAll: showall,
|
||||
rowData: fnrowData,
|
||||
rowClass: fnrowClass,
|
||||
rowActionEnabler: fnrowActionEnabler,
|
||||
outputmode: outputmode,
|
||||
flexModule: "ALG",
|
||||
flexId: "alg_ruimte_key",
|
||||
flexParams: fnrowFlexParams,
|
||||
filterParams: params,
|
||||
buttons: buttons,
|
||||
roundtripCode: (canImport ? "ONRGOED2" : "")
|
||||
buttons: addButton
|
||||
});
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_descr"), content: "alg_locatie_omschrijving"}));
|
||||
@@ -378,8 +281,16 @@ function ruimte_list(pautfunction, params)
|
||||
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 }));
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_opp_alt1"), content: "alg_ruimte_opp_alt1", datatype: "float", decimals: 2 }));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_opp_alt2"), content: "alg_ruimte_opp_alt2", datatype: "float", decimals: 2 }));
|
||||
if (L("lcl_estate_ruimte_opp_alt1") != "")
|
||||
{
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_opp_alt1"), content: "alg_ruimte_opp_alt1", datatype: "float", decimals: 2 }));
|
||||
}
|
||||
|
||||
if (L("lcl_estate_ruimte_opp_alt1") != "")
|
||||
{
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_opp_alt2"), content: "alg_ruimte_opp_alt2", datatype: "float", decimals: 2 }));
|
||||
}
|
||||
|
||||
|
||||
if (outputmode != 0) // to be completed
|
||||
{
|
||||
@@ -389,32 +300,11 @@ function ruimte_list(pautfunction, params)
|
||||
}
|
||||
if (expalgincl)
|
||||
rst.addColumn(new Column({caption: L("lcl_alg_vervaldatum"), content: "alg_ruimte_verwijder", datatype: "date"}));
|
||||
if (flexParams.anyflex)
|
||||
rst.addColumn(new Column({caption: flexParams.flexlabel, content: fncolFlexBijlagen, colName: "fncolFlexBijlagen"}));
|
||||
|
||||
if (usingoccupationsensors)
|
||||
{
|
||||
rst.addColumn(new Column({caption: I("fa-sensor")+" "+L("lcl_alg_occupationsensor_ph"), content: "total_person_hours", datatype: "float"}));
|
||||
rst.addColumn(new Column({caption: I("fa-sensor")+" "+L("lcl_alg_occupationsensor_au"), content: "avg_utilization_pct", datatype: "float"}));
|
||||
rst.addColumn(new Column({caption: I("fa-sensor")+" "+L("lcl_alg_occupationsensor_po"), content: "peak_occupied_desks", datatype: "number"}));
|
||||
}
|
||||
if (showroomreservationstats)
|
||||
{
|
||||
rst.addColumn(new Column({caption: I("fa-calendar")+" "+L("lcl_alg_resstats_trhr"), content: "total_reserved_hours_room", datatype: "float"}));
|
||||
rst.addColumn(new Column({caption: I("fa-calendar")+" "+L("lcl_alg_resstats_appr"), content: "avg_persons_per_reservation", datatype: "float"}));
|
||||
rst.addColumn(new Column({caption: I("fa-calendar")+" "+L("lcl_alg_resstats_ardh"), content: "avg_reservation_duration_hours", datatype: "float"}));
|
||||
}
|
||||
if (showdeskreservationstats)
|
||||
{
|
||||
rst.addColumn(new Column({caption: I("fa-chair-office")+" "+L("lcl_alg_wpresstats_trh"), content: "total_reserved_hours_desk", datatype: "float"}));
|
||||
rst.addColumn(new Column({caption: I("fa-chair-office")+" "+L("lcl_alg_wpresstats_arc"), content: "avg_reserved_count_desk", datatype: "float"}));
|
||||
rst.addColumn(new Column({caption: I("fa-chair-office")+" "+L("lcl_alg_wpresstats_prc"), content: "peak_reserved_count_desk", datatype: "number"}));
|
||||
}
|
||||
|
||||
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: false, enabler: "eBezetting" });
|
||||
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)
|
||||
@@ -430,3 +320,4 @@ function ruimte_list(pautfunction, params)
|
||||
<%
|
||||
}
|
||||
%>
|
||||
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"] });
|
||||
|
||||
// pre-filters
|
||||
var locatie_key = getQParamInt("locatie_key", -1); // Locatie
|
||||
var gebouw_key = getQParamInt("gebouw_key", -1); // Gebouw
|
||||
var verdieping_key = getQParamInt("verdieping_key", -1); // Verdieping
|
||||
@@ -22,15 +21,11 @@ var ruimte_key = getQParamInt("ruimte_key", -1); // ruimte
|
||||
var ruimte_nr = getQParam("ruimte_nr", "");
|
||||
var ruimte_use = getQParamInt("ruimte_use", -1); // Ruimtefunctie
|
||||
var ruimte_descr = getQParam("ruimte_descr", "");
|
||||
|
||||
// behaviour
|
||||
var autosearch = getQParamInt("autosearch", 0) == 1;
|
||||
var alg_startlevel = getQParamInt("alg_startlevel", 2); // Startlevel van plaatsselector, default Locatie
|
||||
var chkgeb = getQParamInt("chkgeb", 0) == 1; // Controleer tegen de vervallenstatus van het bovenliggende gebouw (vertrouw lvl_key/geb_key niet)
|
||||
var chkgeb = getQParamInt("chkgeb", 0) == 1;
|
||||
var cnt_full = getQParamInt("cnt_full", 1);
|
||||
var sensorstats = getQParamInt("nosensorstats", 0) == 0;
|
||||
var resstats = getQParamInt("noresstats", 0) == 0;
|
||||
var authparams = alg.checkAutorisation();
|
||||
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
@@ -78,12 +73,11 @@ var authparams = alg.checkAutorisation();
|
||||
verdiepingkey: verdieping_key,
|
||||
ruimtekey: ruimte_key,
|
||||
multitoggle: 6, // true|false (=all) or till alg_level_# (0-6)
|
||||
startlevel: alg_startlevel, // locatie
|
||||
startlevel: 2, // locatie
|
||||
eindlevel: 5, // ruimte
|
||||
filtercode: "INCVR",
|
||||
whenEmpty: L("lcl_search_generic") // want filter
|
||||
});
|
||||
RWCHECKBOXTR("expAlgIncl", "fld", L("lcl_alg_ruimte_vervallen_incl"), false, { html: " value='1' ", boxfirst: true, twocols: true});
|
||||
SEARCH_BLOCK_END();
|
||||
SEARCH_BLOCK_START();
|
||||
%>
|
||||
@@ -93,7 +87,7 @@ var authparams = alg.checkAutorisation();
|
||||
</tr>
|
||||
<tr class="primsearch">
|
||||
<td class="label"><label for="descr"><%=L("lcl_estate_ruimte_man_descr")%></label></td>
|
||||
<td><input type="text" class="fldsrch fld" name="descr" value="<%=safe.htmlattr(ruimte_descr)%>"></td>
|
||||
<td><input type="text" class="fldsrch fldshort" name="descr" value="<%=safe.htmlattr(ruimte_descr)%>"></td>
|
||||
</tr>
|
||||
|
||||
<%
|
||||
@@ -125,14 +119,16 @@ var authparams = alg.checkAutorisation();
|
||||
filtercode: "AR"
|
||||
});
|
||||
}
|
||||
if (sensorstats && (S("ins_occupationsensors_srtgroep_key") > 0))
|
||||
{
|
||||
RWCHECKBOXTR("sensorstats", "fld", L("lcl_alg_sensorstats"), false, { html: " value='1' ", boxfirst: true, twocols: true});
|
||||
}
|
||||
if (resstats && (user.has("WEB_RESBAC") || user.has("WEB_RESMSU")))
|
||||
{
|
||||
RWCHECKBOXTR("resstats", "fld", L("lcl_alg_resstats"), false, { html: " value='1' ", boxfirst: true, twocols: true});
|
||||
}
|
||||
%>
|
||||
<!-- Vervallen ruimten -->
|
||||
<tr class="primsearch">
|
||||
<td></td>
|
||||
<td align=left>
|
||||
<input type="checkbox" class="fld" name="expAlgIncl" id="expAlgIncl" value="1" >
|
||||
<label for="expAlgIncl"><%=L("lcl_alg_ruimte_vervallen_incl")%></label>
|
||||
</td>
|
||||
</tr>
|
||||
<%
|
||||
SEARCH_BLOCK_END();
|
||||
|
||||
SIMPLE_BLOCK_START();
|
||||
|
||||
@@ -52,8 +52,6 @@ ruimte_list ( "*",
|
||||
dept_key_arr: dept_key_arr,
|
||||
noref: (noref != -1? noref : null),
|
||||
expalgincl: expalgincl,
|
||||
sensorstats: getQParamInt("sensorstats", 0) == 1,
|
||||
resstats: getQParamInt("resstats", 0) == 1,
|
||||
chkgeb: chkgeb
|
||||
}
|
||||
);
|
||||
|
||||
@@ -201,7 +201,7 @@ else
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="fclt-modal" id="mod_ruimteafdeling">
|
||||
<body class="modal" id="mod_ruimteafdeling">
|
||||
<% MODAL_START(); %>
|
||||
<form name="u2" method="post" action="alg_ruimteafdeling.asp?submit=1&ruimte_keys=<%=ruimte_key_arr.join(",")%>">
|
||||
<% MODAL_BLOCK_START("alg_ruimteafdeling", L("lcl_alg_geselecteerde_ruimten") + ": " + ruimte_key_arr.length, { icon: "fa-map-marker" }); %>
|
||||
@@ -298,4 +298,4 @@ IFACE.FORM_END();
|
||||
</html>
|
||||
<%
|
||||
}
|
||||
ASPPAGE_END(); %>
|
||||
ASPPAGE_END(); %>
|
||||
|
||||
@@ -51,7 +51,7 @@ FCLTHeader.Requires({plugins:["suggest","jQuery"], js: ["jQuery-ui.js"]})
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="fclt-modal" id="mod_ruimtefunctie">
|
||||
<body class="modal" id="mod_ruimtefunctie">
|
||||
<% MODAL_START(); %>
|
||||
<%
|
||||
var page="alg_edit_ruimtefunctie.asp?srtruimte_lg_key=" + srtruimte_lg_key; // Edit
|
||||
@@ -65,4 +65,4 @@ FCLTHeader.Requires({plugins:["suggest","jQuery"], js: ["jQuery-ui.js"]})
|
||||
<% MODAL_END(); %>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -20,7 +20,7 @@ function ruimtefunctie_list(pautfunction, params)
|
||||
{
|
||||
// De functie checkAutorisation(autfunction) geeft een Response.End indien er geen autorisatie voor autfunction wordt gevonden
|
||||
var addButton = [];
|
||||
var authparams = user.has("WEB_ALGMSU") && alg.checkAutorisation(true);
|
||||
var authparams = alg.checkAutorisation();
|
||||
var canAdd = (authparams.mALGwritelevel < 9);
|
||||
|
||||
// Voor resulttable de globalen zetten; zou ng anders moeten.
|
||||
|
||||
@@ -10,10 +10,7 @@
|
||||
locatie_key key van de locatie
|
||||
gebouw_key key van het gebouw
|
||||
Context: Vanuit menu
|
||||
Note:
|
||||
Het menuitem vereist ALGMSU, kennelijk om deze voor het gepeupel te onderdrukken
|
||||
De feitelijke autorisatie keek hier niet naar en vertrouwde op de ALGMAN/ALGUSE-autorisaties
|
||||
wat ook goed is. Je moet dus beide hebben.
|
||||
Note:
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
@@ -28,7 +25,8 @@ FCLTHeader.Requires({ plugins: ["jQuery", "kenmerk"] });
|
||||
var alg_srtruimte_key = getQParamInt("alg_srtruimte_key", -1); // Ruimtefunctie
|
||||
var locatie_key = getQParamInt("locatie_key", -1); // Locatie
|
||||
var gebouw_key = getQParamInt("gebouw_key", -1); // Gebouw
|
||||
var authparams = user.has("WEB_ALGMSU") && alg.checkAutorisation(true); // als je geen scope hebt kun je toch niks
|
||||
|
||||
var authparams = alg.checkAutorisation();
|
||||
|
||||
%>
|
||||
<html>
|
||||
|
||||
@@ -41,7 +41,7 @@ var ruimte_key_arr = getQParamIntArray("ruimte_keys");
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="fclt-modal" id="mod_ruimteresscope">
|
||||
<body class="modal" id="mod_ruimteresscope">
|
||||
<% MODAL_START(); %>
|
||||
<form name="u2" method="post" action="alg_ruimteresscope_save.asp?ruimte_keys=<%=ruimte_key_arr.join(",")%>">
|
||||
<% MODAL_BLOCK_START("alg_ruimteresscope", L("lcl_alg_geselecteerde_ruimten") + ": " + ruimte_key_arr.length, { icon: "fa-map-marker" }); %>
|
||||
@@ -74,4 +74,4 @@ var ruimte_key_arr = getQParamIntArray("ruimte_keys");
|
||||
<% MODAL_END(); %>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -25,7 +25,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 ruimte_key = getQParamInt("ruimte_key", -1); // ruimte
|
||||
var alg_startlevel = getQParamInt("alg_startlevel", 0); // Startlevel van plaatsselector, default Regio
|
||||
var authparams = alg.checkAutorisation();
|
||||
|
||||
%>
|
||||
@@ -51,14 +50,14 @@ var authparams = alg.checkAutorisation();
|
||||
<body id="searchbody">
|
||||
<form name="u2" id="algform" target="workFrame" action="dynamischbepaald" method="get" onsubmit="return false;">
|
||||
<% SEARCH_PAGE_START({ header: L("lcl_filterblok") });
|
||||
SEARCH_BLOCK_START();
|
||||
SEARCH_BLOCK_START();
|
||||
FCLTplaatsselector(authparams.ALGreadlevel, {
|
||||
districtkey: district_key,
|
||||
locatiekey: locatie_key,
|
||||
gebouwkey: gebouw_key,
|
||||
verdiepingkey: verdieping_key,
|
||||
ruimtekey: ruimte_key,
|
||||
startlevel: alg_startlevel, // regio
|
||||
startlevel: 0, // regio
|
||||
eindlevel: 5, // ruimte
|
||||
whenEmpty: L("lcl_search_generic") // want filter
|
||||
});
|
||||
@@ -73,13 +72,13 @@ var authparams = alg.checkAutorisation();
|
||||
var buttons = [
|
||||
{title: L("lcl_menu_alg_locatie"), action: "doSubmit('L')", icon: "fa-location-arrow"},
|
||||
{title: L("lcl_menu_alg_gebouw"), action: "doSubmit('G')", icon: "fa-building"},
|
||||
{title: L("lcl_menu_alg_verdieping"), action: "doSubmit('V')", icon: "fa-layer-group"},
|
||||
{title: L("lcl_menu_alg_verdieping"), action: "doSubmit('V')", icon: "fa-th-list fa-flip-horizontal"},
|
||||
{title: L("lcl_menu_alg_ruimte"), action: "doSubmit('R')", icon: "fa-map-marker"},
|
||||
{title: L("lcl_menu_alg_terreinsector"), action: "doSubmit('T')", icon: "fa-draw-polygon"}
|
||||
];
|
||||
SIMPLE_BLOCK_START();
|
||||
CreateButtons(buttons, { entersubmit: true, showIcons: true });
|
||||
SIMPLE_BLOCK_END();
|
||||
SIMPLE_BLOCK_END();
|
||||
%>
|
||||
<% SEARCH_PAGE_END(); %>
|
||||
</form>
|
||||
@@ -94,4 +93,4 @@ var authparams = alg.checkAutorisation();
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -72,7 +72,6 @@ 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 actie_grp_key = oRs("bez_actie_groep_key").Value;
|
||||
var kalender_id = oRs("mld_vrije_dagen_id").Value;
|
||||
oRs.Close();
|
||||
%>
|
||||
|
||||
@@ -240,7 +239,6 @@ oRs.Close();
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
ROFIELDTR("fld", L("lcl_calendar"), kalender_id, {suppressEmpty: true});
|
||||
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);
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/plaatsselector.inc" -->
|
||||
<!-- #include file="../Shared/timezoneselector.inc" -->
|
||||
<!-- #include file="alg_flexkenmerk.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
@@ -41,7 +40,6 @@ var loc_y = oRs("alg_locatie_y").Value;
|
||||
var loc_mail = oRs("alg_locatie_email").Value;
|
||||
var loc_image = oRs("alg_locatie_image").Value;
|
||||
var loc_score1 = oRs("alg_locatie_mjb_score1").Value;
|
||||
var loc_volgnr = oRs("alg_locatie_volgnr").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;
|
||||
@@ -50,8 +48,6 @@ 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 alg_tz = oRs("alg_locatie_timezone").Value;
|
||||
|
||||
oRs.Close();
|
||||
%>
|
||||
<html>
|
||||
@@ -138,8 +134,6 @@ oRs.Close();
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("facFM", L("lcl_operations_block"), {icon: "fa-users-cog"});
|
||||
ROFIELDTR("fld", L("lcl_alg_locatie_volgnr"), loc_volgnr, {suppressEmpty: true});
|
||||
FCLTtimezoneselector("", {initVal: alg_tz, readonly: true, suppressEmpty: true});
|
||||
var fldcls = "fld";
|
||||
if (vervaldatum <= new Date())
|
||||
fldcls += " expired2";
|
||||
@@ -156,7 +150,7 @@ oRs.Close();
|
||||
}
|
||||
ROFIELDTR("fld", L("lcl_estate_locatie_man_verantw"), loc_vw, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_locatie_man_verantw_tel"), loc_vwtel, {type: "telefoon", suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_alg_locatie_email"), loc_mail, { suppressEmpty: true, type: "email" });
|
||||
ROFIELDTR("fld", L("lcl_noti_email"), loc_mail, { suppressEmpty: true, type: "email" });
|
||||
FILEPICKERTR("loc_image", L("lcl_alg_locatie_image"), loc_image, { "key": loc_key, "module": "ALGPHL", "readonly": true });
|
||||
if (ins_score_enabled)
|
||||
ROFIELDTR("fld", L("lcl_alg_locatie_mjb_score1"), loc_score1, {suppressEmpty: true});
|
||||
|
||||
@@ -1,81 +0,0 @@
|
||||
<%@ language="javascript"%>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: alg_show_note2.asp
|
||||
Description: Nieuwe notities versie.
|
||||
Betere layout, altijd een invulveld
|
||||
Parameters: alg_key (altijd verplicht hier)
|
||||
|
||||
Note: Nu kan iedereen hier zijn, FE of FOBO. FE mag de interne notes niet zien, let daarop.
|
||||
|
||||
*/
|
||||
|
||||
var alg_key = getQParamInt("alg_key"); // Altijd verplicht alg_key.
|
||||
var alg_typ = getQParamSafe("alg_typ").toUpperCase();
|
||||
var xmlnode = "";
|
||||
switch (alg_typ)
|
||||
{
|
||||
case "R": "ruimte"; break;
|
||||
case "V": "verdieping"; break;
|
||||
case "G": "gebouw"; break;
|
||||
case "T": "terreinsector"; break;
|
||||
case "L": "locatie"; break;
|
||||
case "D": "district"; break;
|
||||
}
|
||||
var LOCKED_USER_OK = { "xmlnode" : xmlnode, "key": alg_key };
|
||||
%>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/status.inc"-->
|
||||
<!-- #include file="./alg.inc" -->
|
||||
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
||||
<!-- #include file="../Shared/discx3d.inc" -->
|
||||
<!-- #include file="../Shared/notes.inc" -->
|
||||
<%
|
||||
FCLTHeader.Requires({js: ["notes.js"]});
|
||||
|
||||
var outputmode = getQParamInt("outputmode", 0);
|
||||
|
||||
var this_alg = alg.func_enabled(alg_key, alg_typ); // Wat mag ik zoal op dit onroerendgoed.
|
||||
user.auth_required_or_abort(this_alg.canReadNotes);
|
||||
|
||||
var afgehandeld = false;
|
||||
|
||||
var kenmerk_key = -1;
|
||||
if (alg_key > 0)
|
||||
{
|
||||
// Als ik canReadNotes heb dan heb ik canUSEread en/of canMANread rechten.
|
||||
// Wat mag ik op basis van mijn autorisatie (potentieel) zien, bepaal mijn rolcode-masker
|
||||
var myreadrolcode = 0 + (this_alg.canMANread ? 1 : 0)
|
||||
+ (this_alg.canUSEread ? 2 : 0);
|
||||
// Is er een bijlage kenmerk?
|
||||
var sql = "SELECT k.alg_kenmerk_key"
|
||||
+ " FROM alg_kenmerk k"
|
||||
+ " WHERE k.alg_kenmerk_niveau IN ('R','V','G','T','L')"
|
||||
+ " AND k.alg_kenmerk_verwijder IS NULL"
|
||||
+ " AND BITAND(k.alg_kenmerk_rolcode, " + myreadrolcode + ") > 0 "
|
||||
+ " AND ( k.alg_kenmerk_verplicht IS NULL"
|
||||
+ " OR k.alg_kenmerk_verplicht = 0)"
|
||||
+ " AND k.alg_kenmerk_kenmerktype = 'M'"
|
||||
+ " AND k.alg_kenmerk_toonbaar IS NULL"
|
||||
+ " AND k.alg_kenmerk_niveau = " + safe.quoted_sql_upper(alg_typ)
|
||||
+ " ORDER BY k.alg_kenmerk_volgnr"
|
||||
+ " , k.alg_kenmerk_niveau";
|
||||
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
kenmerk_key = oRs("alg_kenmerk_key").Value;
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
var upload_url = protectQS.create("../Shared/BijlagenForm.asp?module=ALG&multi=1&key=" + alg_key + "&kenmerk_key=" + kenmerk_key);
|
||||
}
|
||||
|
||||
notes.show_note2("ALG", alg_key, kenmerk_key, this_alg, afgehandeld, upload_url, {alg_typ: alg_typ});
|
||||
|
||||
%>
|
||||
<% ASPPAGE_END(); %>
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
File: alg_show_regio.asp
|
||||
Status:
|
||||
Description:
|
||||
Description:
|
||||
Parameters: regio_key
|
||||
|
||||
*/ %>
|
||||
@@ -21,14 +21,11 @@
|
||||
FCLTHeader.Requires({plugins:["jQuery"], js: []})
|
||||
|
||||
var regio_key = getQParamInt("regio_key");
|
||||
var onrgoedlvl = "E";
|
||||
|
||||
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 model = new model_regions();
|
||||
var regio_array = model.REST_GET(regio_params);
|
||||
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.
|
||||
|
||||
@@ -49,8 +46,11 @@ var regio_deleted = regio_exists && !!regio_data.deleted;
|
||||
function reg_delete()
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_regio"), function() {
|
||||
var data = $("[name=u2]").serialize();
|
||||
$.post("alg_edit_regio_save.asp?regio_key=<%=regio_data.id%>&action=D",
|
||||
var data = {
|
||||
action: "D"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post($("form[name=u2]")[0].action,
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
@@ -60,8 +60,8 @@ var regio_deleted = regio_exists && !!regio_data.deleted;
|
||||
</head>
|
||||
|
||||
<body class="showmode">
|
||||
<%
|
||||
SUBFRAME_START();
|
||||
<%
|
||||
SUBFRAME_START();
|
||||
var buttons = [];
|
||||
if (!regio_deleted)
|
||||
{
|
||||
@@ -85,14 +85,9 @@ var regio_deleted = regio_exists && !!regio_data.deleted;
|
||||
<% BLOCK_START("algInfo", L("lcl_region"), {icon: "fa-globe"});
|
||||
ROFIELDTR("fld", L("lcl_name"), regio_data.name);
|
||||
BLOCK_END();
|
||||
|
||||
generateFlexKenmerkBlock ({ onrgoed_key : regio_key,
|
||||
onrgoed_niveau : onrgoedlvl,
|
||||
reado : true,
|
||||
this_alg : this_alg });
|
||||
IFACE.FORM_END();
|
||||
%> </form><%
|
||||
SUBFRAME_END(); %>
|
||||
%>
|
||||
</form>
|
||||
<% SUBFRAME_END(); %>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -41,6 +41,7 @@ var sql = "SELECT ts.alg_locatie_key"
|
||||
+ " , ts.alg_terreinsector_oppervlak"
|
||||
+ " , ts.alg_terreinsector_omtrek"
|
||||
+ " , ts.alg_terreinsector_aanmaak"
|
||||
+ " , ts.alg_terreinsector_omschrijving"
|
||||
+ " , ts.alg_terreinsector_ordernr"
|
||||
+ " , ts.alg_terreinsector_image"
|
||||
+ " , ts.alg_terreinsector_toon_telef"
|
||||
@@ -58,7 +59,6 @@ var sql = "SELECT ts.alg_locatie_key"
|
||||
+ " , prs_perslid_key_verantw2"
|
||||
+ " , ts.alg_terreinsector_vervaldatum"
|
||||
+ " , ts.alg_terreinsector_verwijder"
|
||||
+ " , ts.mld_dienstniveau_key"
|
||||
+ " FROM alg_terreinsector ts"
|
||||
+ " WHERE ts.alg_terreinsector_key = " + ter_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
@@ -71,20 +71,19 @@ var ter_sroms = oRs("srtterreinsector_oms").Value;
|
||||
var ter_opp = oRs("alg_terreinsector_oppervlak").Value;
|
||||
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 ter_image = oRs("alg_terreinsector_image").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 kp_key = oRs("prs_kostenplaats_key").Value;
|
||||
var prs_kstn = oRs("prs_kostenplaats_key").Value;
|
||||
var prs_kstpl = oRs("kostenplaats_oms").Value;
|
||||
var afd_key = oRs("prs_afdeling_key").Value;
|
||||
var prs_afd = oRs("afdeling_oms").Value;
|
||||
var verantw_key = oRs("prs_perslid_key_verantw").Value;
|
||||
var verantw2_key = oRs("prs_perslid_key_verantw2").Value;
|
||||
var ter_deleted = oRs("alg_terreinsector_verwijder").Value != null;
|
||||
var vervaldatum = oRs("alg_terreinsector_vervaldatum").Value;
|
||||
var dienstniveau_key = oRs("mld_dienstniveau_key").Value;
|
||||
oRs.Close();
|
||||
%>
|
||||
|
||||
@@ -151,8 +150,7 @@ oRs.Close();
|
||||
{ locatiekey: loc_key,
|
||||
startlevel: 2, // Locatie
|
||||
eindlevel: 2, // Locatie
|
||||
readonly: true,
|
||||
moreinfo: true
|
||||
readonly: true
|
||||
});
|
||||
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_name"), ter_naam);
|
||||
@@ -192,15 +190,13 @@ oRs.Close();
|
||||
if (vervaldatum <= new Date())
|
||||
fldcls += " expired2";
|
||||
ROFIELDTR(fldcls, L("lcl_alg_vervaldatum"), toDateString(vervaldatum), {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_prs_dept_kosten"), prs_kstpl, { suppressEmpty: true, infoPointer: { Url: "appl/mgt/prs_kostenplaats.asp?mode=show&id=" + kp_key}});
|
||||
|
||||
ROFIELDTR("fld", L("lcl_dep_name_level2"), prs_afd, { infoPointer: { Url: "appl/prs/prs_afdeling.asp?key=" + afd_key }});
|
||||
ROFIELDTR("fld", L("lcl_prs_dept_kosten"), prs_kstpl, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_dep_name_level2"), prs_afd);
|
||||
FCLTpersoonselector("verantw",
|
||||
"sgVerantw",
|
||||
{ perslidKey: verantw_key,
|
||||
label: L("lcl_alg_verantw"),
|
||||
readonly: true,
|
||||
moreinfo: true,
|
||||
suppressEmpty: true
|
||||
});
|
||||
FCLTpersoonselector("verantw2",
|
||||
@@ -208,27 +204,12 @@ oRs.Close();
|
||||
{ perslidKey: verantw2_key,
|
||||
label: L("lcl_alg_verantw2"),
|
||||
readonly: true,
|
||||
moreinfo: true,
|
||||
suppressEmpty: true
|
||||
});
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_ordernr"), ter_ordnr, {suppressEmpty: true});
|
||||
FILEPICKERTR("ter_image", L("lcl_alg_terreinsector_image"), ter_image, { "key": ter_key, "module": "ALGPHT", "readonly": true });
|
||||
BLOCK_END();
|
||||
|
||||
|
||||
BLOCK_START("algter4", L("lcl_alg_gebouw_facilitair"), {icon: "fa-users-cog"});
|
||||
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();
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
if (!(ter_opp == null && ter_omt == null && vervaldatum == null))
|
||||
{
|
||||
BLOCK_START("algter4", L("lcl_alg_gebouw_fysiek"), {icon: "fa-ruler-combined"});
|
||||
|
||||
@@ -28,21 +28,15 @@ var onrgoedlvl = "V";
|
||||
var this_alg = alg.func_enabled(flr_key, onrgoedlvl);
|
||||
user.auth_required_or_abort(this_alg.readman || this_alg.readuse);
|
||||
|
||||
var sql = " SELECT alg_verdieping_omschrijving"
|
||||
+ " , alg_verdieping_volgnr"
|
||||
+ " , alg_verdieping_code"
|
||||
+ " , alg_verdieping_verwijder"
|
||||
+ " , mld_dienstniveau_key"
|
||||
+ " , alg_verdieping_dwgz"
|
||||
var sql = " SELECT * "
|
||||
+ " FROM alg_verdieping "
|
||||
+ " WHERE alg_verdieping_key = " + flr_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
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 flr_dwgz = oRs("alg_verdieping_dwgz").Value;
|
||||
var dienstniveau_key = oRs("mld_dienstniveau_key").Value;
|
||||
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;
|
||||
oRs.Close();
|
||||
%>
|
||||
|
||||
@@ -115,7 +109,7 @@ oRs.Close();
|
||||
}
|
||||
%>
|
||||
<form name=u2 onSubmit="return false;">
|
||||
<% BLOCK_START("algflr1", L("lcl_floor"), {icon: "fa-layer-group"});
|
||||
<% BLOCK_START("algflr1", L("lcl_floor"), {icon: "fa-th-list fa-flip-horizontal"});
|
||||
FCLTplaatsselector(-1, {
|
||||
verdiepingkey: flr_key,
|
||||
startlevel: 2, //locatie
|
||||
@@ -132,7 +126,7 @@ oRs.Close();
|
||||
+ " 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);
|
||||
ROFIELDTR("fld", L("lcl_mld_dienst_niveau"), oRs("mld_dienstniveau_omschr").value);
|
||||
oRs.Close();
|
||||
}
|
||||
BLOCK_END();
|
||||
@@ -143,7 +137,6 @@ oRs.Close();
|
||||
ROFIELDTR("fld", L("lcl_estate_verdieping_netto_vloeropp") + L("lcl_estate_calc_vloeropp"), calcopp.opprooms, {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_verdieping_man_dwgz"), safe.displayfloat(flr_dwgz, 3, true), {suppressEmpty: true});
|
||||
BLOCK_END();
|
||||
|
||||
generateFlexKenmerkBlock ({
|
||||
|
||||
@@ -31,7 +31,7 @@ if (ter_key > 0)
|
||||
|
||||
var loc_code = oRs("alg_locatie_code").value;
|
||||
var ter_code = oRs("alg_terreinsector_code").value;
|
||||
oRs.Close();
|
||||
|
||||
var ter_naam = " " + loc_code + "-" + ter_code;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -115,6 +115,28 @@ function terrein_list(pautfunction, params)
|
||||
var verantw_key = params.verantw_key;
|
||||
var ter_func_key = params.ter_func_key;
|
||||
var expalgincl = params.expalgincl;
|
||||
|
||||
function fnrowActionEnabler(oRs) // klopt dit voor terreinsector?
|
||||
{
|
||||
var eDelete = false;
|
||||
var eEditMulti = false;
|
||||
|
||||
if (alg.canWriteLocatie(oRs("alg_locatie_key").Value, authparams.tmALGwritelevel))
|
||||
{
|
||||
eDelete = true;
|
||||
eEditMulti = true;
|
||||
}
|
||||
return ({eDelete: eDelete, eEditMulti: eEditMulti})
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -123,7 +145,6 @@ function terrein_list(pautfunction, params)
|
||||
</head>
|
||||
<body id="listbody">
|
||||
<%
|
||||
var flexParams = alg.alg_onroerendgoed_flex_params("T");
|
||||
var sqln = "SELECT g.alg_terreinsector_key"
|
||||
+ " , g.alg_locatie_key"
|
||||
+ " , l.alg_locatie_omschrijving"
|
||||
@@ -137,14 +158,6 @@ function terrein_list(pautfunction, params)
|
||||
+ " , (SELECT prs_perslid_naam_full FROM prs_v_perslid_fullnames_all WHERE prs_perslid_key = prs_perslid_key_verantw2) perslid_resp2"
|
||||
+ " , g.alg_srtterreinsector_key"
|
||||
+ " , " + lcl.xsqla('s.alg_srtterreinsec_omschrijving', 's.alg_srtterreinsector_key')
|
||||
+ " , (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_terreinsector_key"
|
||||
+ " AND sn.fac_srtnotificatie_xmlnode = 'terreinsector'"
|
||||
+ " ) recentdatum"
|
||||
+ flexParams.sql
|
||||
+ " FROM alg_v_aanwezigterreinsector g"
|
||||
+ " , alg_locatie l"
|
||||
+ " , alg_srtterreinsector s"
|
||||
@@ -199,79 +212,6 @@ function terrein_list(pautfunction, params)
|
||||
addButton = [{ icon: "fa-plus", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + safe.jsstring(L("lcl_add")) + "')" }]
|
||||
}
|
||||
|
||||
/**********************************
|
||||
* Callback functies ResultsetTable
|
||||
*********************************/
|
||||
var recent = new Date();
|
||||
|
||||
function fnrowActionEnabler(oRs) // klopt dit voor terreinsector?
|
||||
{
|
||||
var eDelete = false;
|
||||
var eEditMulti = false;
|
||||
|
||||
if (alg.canWriteLocatie(oRs("alg_locatie_key").Value, authparams.tmALGwritelevel))
|
||||
{
|
||||
eDelete = true;
|
||||
eEditMulti = true;
|
||||
}
|
||||
return ({eDelete: eDelete, eEditMulti: eEditMulti})
|
||||
}
|
||||
|
||||
function fnrowClass(oRs) // identiek aan de andere niveaus
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
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 fncolFlexBijlagen(oRs)
|
||||
{
|
||||
var flexval = oRs("algflex").Value;
|
||||
var alg_key = oRs("alg_terreinsector_key").Value;
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
: ""
|
||||
);
|
||||
if (flexParams.bijlageflex)
|
||||
{
|
||||
result += alg.alg_onroerendgoed_flex_bijlagen("T", alg_key);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
var rst = new ResultsetTable({sql:sqln,
|
||||
keyColumn: "alg_terreinsector_key",
|
||||
ID: "algtable",
|
||||
@@ -279,7 +219,6 @@ function terrein_list(pautfunction, params)
|
||||
showAll: showall,
|
||||
rowActionEnabler: fnrowActionEnabler,
|
||||
rowData: fnrowData,
|
||||
rowClass: fnrowClass,
|
||||
outputmode: outputmode,
|
||||
flexModule: "ALG",
|
||||
flexId: "alg_terreinsector_key",
|
||||
@@ -302,8 +241,6 @@ function terrein_list(pautfunction, params)
|
||||
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"}));
|
||||
if (flexParams.anyflex)
|
||||
rst.addColumn(new Column({caption: flexParams.flexlabel, content: fncolFlexBijlagen, colName: "fncolFlexBijlagen"}));
|
||||
|
||||
rst.addAction({ action: "terreinEdit", caption: L("lcl_edit"), isDefault: true});
|
||||
rst.addAction({ action: "terreinEditMulti", caption: L("lcl_alg_multi_edit"), enabler: "eEditMulti", single:false, multi: true, multiOnce: true});
|
||||
@@ -316,3 +253,4 @@ function terrein_list(pautfunction, params)
|
||||
</body>
|
||||
</html>
|
||||
<%}%>
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@ var vak_code = getQParam("vak_code", "");
|
||||
var ter_func_key = getQParamInt("ter_func_key", -1);
|
||||
var verantw_key = getQParamInt("verantw", -1); // Terrein verantwoordelijke
|
||||
var autosearch = getQParamInt("autosearch", 0) == 1;
|
||||
var alg_startlevel = getQParamInt("alg_startlevel", 2); // Startlevel van plaatsselector, default Locatie
|
||||
var authparams = alg.checkAutorisation();
|
||||
|
||||
%>
|
||||
@@ -63,7 +62,7 @@ var authparams = alg.checkAutorisation();
|
||||
// <!-- Locatie, gebouw en verdieping -->
|
||||
FCLTplaatsselector( authparams.ALGreadlevel
|
||||
, { locatiekey: locatie_key,
|
||||
startlevel: alg_startlevel, // locatie
|
||||
startlevel: 2, // locatie
|
||||
eindlevel: 2, // locatie
|
||||
whenEmpty: L("lcl_search_generic")
|
||||
});
|
||||
|
||||
@@ -16,8 +16,20 @@
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["jQuery"] });
|
||||
|
||||
|
||||
var cnt_full = getQParamInt("cnt_full", 1);
|
||||
|
||||
function fnrowData(oRs)
|
||||
{
|
||||
var parent_key = oRs("alg_gebouw_key").value;
|
||||
var detail_key = oRs("alg_verdieping_key").value;
|
||||
var key = oRs("alg_verdieping_key").value;
|
||||
var oms = oRs("alg_verdieping_omschrijving").value
|
||||
|
||||
var data = {parent_key: parent_key, detail_key: detail_key, key: key, oms: oms};
|
||||
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
%>
|
||||
|
||||
<script type="text/javascript">
|
||||
@@ -84,6 +96,27 @@ function verdiepingen_list(pautfunction, params)
|
||||
var bld_key_arr = params.bld_key_arr;
|
||||
var lvl_key_arr = params.lvl_key_arr;
|
||||
var chkgeb = params.chkgeb;
|
||||
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
var eDelete = false;
|
||||
var eEditMulti = false;
|
||||
if (alg.canWriteVerdieping(oRs("alg_verdieping_key").value, authparams.mALGwritelevel))
|
||||
{
|
||||
eDelete = true;
|
||||
eEditMulti = true;
|
||||
}
|
||||
return ({eDelete: eDelete, eEditMulti: eEditMulti})
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -92,7 +125,6 @@ function verdiepingen_list(pautfunction, params)
|
||||
</head>
|
||||
<body id="listbody">
|
||||
<%
|
||||
var flexParams = alg.alg_onroerendgoed_flex_params("V");
|
||||
var sqln = "SELECT v.alg_verdieping_key, "
|
||||
+ " v.alg_gebouw_key, "
|
||||
+ " g.alg_locatie_key, "
|
||||
@@ -101,14 +133,6 @@ function verdiepingen_list(pautfunction, params)
|
||||
+ " g.alg_gebouw_naam, "
|
||||
+ " v.alg_verdieping_omschrijving, "
|
||||
+ " v.alg_verdieping_code "
|
||||
+ " , (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 = v.alg_verdieping_key"
|
||||
+ " AND sn.fac_srtnotificatie_xmlnode = 'verdieping'"
|
||||
+ " ) recentdatum"
|
||||
+ flexParams.sql
|
||||
+ " FROM alg_v_aanwezigverdieping v, "
|
||||
+ " alg_gebouw g, "
|
||||
+ " alg_locatie l "
|
||||
@@ -160,90 +184,6 @@ function verdiepingen_list(pautfunction, params)
|
||||
addButton = [{ icon: "fa-plus", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + safe.jsstring(L("lcl_add")) + "')" }]
|
||||
}
|
||||
|
||||
/**********************************
|
||||
* Callback functies ResultsetTable
|
||||
*********************************/
|
||||
var recent = new Date();
|
||||
|
||||
function fnrowData(oRs)
|
||||
{
|
||||
var parent_key = oRs("alg_gebouw_key").value;
|
||||
var detail_key = oRs("alg_verdieping_key").value;
|
||||
var key = oRs("alg_verdieping_key").value;
|
||||
var oms = oRs("alg_verdieping_omschrijving").value
|
||||
|
||||
var data = {parent_key: parent_key, detail_key: detail_key, key: key, oms: oms};
|
||||
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
function fnrowClass(oRs) // identiek aan de andere niveaus
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
var eDelete = false;
|
||||
var eEditMulti = false;
|
||||
if (alg.canWriteVerdieping(oRs("alg_verdieping_key").value, authparams.mALGwritelevel))
|
||||
{
|
||||
eDelete = true;
|
||||
eEditMulti = true;
|
||||
}
|
||||
return ({eDelete: eDelete, eEditMulti: eEditMulti})
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
function fncolFlexBijlagen(oRs)
|
||||
{
|
||||
var flexval = oRs("algflex").Value;
|
||||
var alg_key = oRs("alg_verdieping_key").Value;
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
: ""
|
||||
);
|
||||
if (flexParams.bijlageflex)
|
||||
{
|
||||
result += alg.alg_onroerendgoed_flex_bijlagen("V", alg_key);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
var rst = new ResultsetTable({sql:sqln,
|
||||
keyColumn: "alg_verdieping_key",
|
||||
ID: "algtable",
|
||||
@@ -255,7 +195,6 @@ function verdiepingen_list(pautfunction, params)
|
||||
flexParams: fnrowFlexParams,
|
||||
filterParams: params,
|
||||
rowData: fnrowData,
|
||||
rowClass: fnrowClass,
|
||||
rowActionEnabler: fnrowActionEnabler,
|
||||
buttons: addButton
|
||||
});
|
||||
@@ -265,8 +204,6 @@ function verdiepingen_list(pautfunction, params)
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_name"), content: "alg_gebouw_naam"}));
|
||||
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" }));
|
||||
if (flexParams.anyflex)
|
||||
rst.addColumn(new Column({caption: flexParams.flexlabel, content: fncolFlexBijlagen, colName: "fncolFlexBijlagen"}));
|
||||
|
||||
rst.addAction({ action: "verdiepingEdit", caption: L("lcl_edit"), isDefault: true});
|
||||
rst.addAction({ action: "verdiepingEditMulti", caption: L("lcl_alg_multi_edit"), enabler: "eEditMulti", single:false, multi: true, multiOnce: true});
|
||||
@@ -280,3 +217,4 @@ function verdiepingen_list(pautfunction, params)
|
||||
</body>
|
||||
</html>
|
||||
<%}%>
|
||||
|
||||
|
||||
@@ -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 alg_startlevel = getQParamInt("alg_startlevel", 2); // Startlevel van plaatsselector, default Locatie
|
||||
var chkgeb = getQParamInt("chkgeb", 0) == 1;
|
||||
var cnt_full = getQParamInt("cnt_full", 1);
|
||||
var authparams = alg.checkAutorisation();
|
||||
@@ -57,7 +56,7 @@ var authparams = alg.checkAutorisation();
|
||||
<body id="searchbody">
|
||||
<form name="u2" target="workFrame" action="alg_verdieping_search_list.asp" method="get">
|
||||
<% SEARCH_PAGE_START({ header: L("lcl_filterblok") });
|
||||
SEARCH_BLOCK_START();
|
||||
SEARCH_BLOCK_START();
|
||||
%>
|
||||
<input type="hidden" id="cnt_full" name="cnt_full" value="<%=cnt_full%>">
|
||||
<input type="hidden" id="chkgeb" name="chkgeb" value="<%=(chkgeb?1:0)%>">
|
||||
@@ -67,7 +66,7 @@ var authparams = alg.checkAutorisation();
|
||||
gebouwkey: gebouw_key,
|
||||
verdiepingkey: verdieping_key,
|
||||
multitoggle: 4,
|
||||
startlevel: alg_startlevel, // locatie
|
||||
startlevel: 2, // locatie
|
||||
eindlevel: 4, // verdieping
|
||||
whenEmpty: L("lcl_search_generic") // want filter
|
||||
});
|
||||
@@ -80,7 +79,7 @@ var authparams = alg.checkAutorisation();
|
||||
];
|
||||
CreateButtons(buttons, { entersubmit: true , showIcons: true});
|
||||
SIMPLE_BLOCK_END();
|
||||
SEARCH_PAGE_END();
|
||||
SEARCH_PAGE_END();
|
||||
%>
|
||||
</form>
|
||||
|
||||
|
||||
@@ -27,7 +27,6 @@ var verdieping_key = getQParamInt("verdieping_key", -1); // Verdieping
|
||||
var ruimte_key = getQParamInt("ruimte_key", -1); // ruimte
|
||||
var descr = getQParam("werkplek", "");
|
||||
var autosearch = getQParamInt("autosearch", 0) == 1;
|
||||
var alg_startlevel = getQParamInt("alg_startlevel", 2); // Startlevel van plaatsselector, default Locatie
|
||||
var authparams = alg.checkAutorisation();
|
||||
|
||||
%>
|
||||
@@ -47,7 +46,7 @@ var authparams = alg.checkAutorisation();
|
||||
gebouwkey: gebouw_key,
|
||||
ruimtekey: ruimte_key,
|
||||
multitoggle: 4,
|
||||
startlevel: alg_startlevel, // locatie
|
||||
startlevel: 2, // locatie
|
||||
eindlevel: 5, // ruimte
|
||||
whenEmpty: L("lcl_search_generic") // want filter
|
||||
});
|
||||
|
||||
@@ -1,148 +0,0 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: default.asp
|
||||
Description: Test-pagina om in Exchange te kunnen kijken
|
||||
|
||||
Parameters:
|
||||
Status:
|
||||
Context:
|
||||
Notes:
|
||||
*/
|
||||
THIS_FILE = "../api/default.asp";
|
||||
%>
|
||||
<!-- #include file="../../Shared/common.inc" -->
|
||||
<!-- #include file="../../Shared/iface.inc" -->
|
||||
<!-- #include file="../../Shared/calendar.inc" -->
|
||||
<%
|
||||
|
||||
FCLTHeader.Requires({
|
||||
plugins: ["jQuery"]
|
||||
});
|
||||
|
||||
user.checkAutorisation("WEB_FACTAB");
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<style>
|
||||
html, body {
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
body, #result {
|
||||
display: grid;
|
||||
grid-template-rows: auto 1fr;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.captions, .content {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.attention-bar {
|
||||
flex-basis: 100%;
|
||||
font-size: 1.25em;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
.inform {
|
||||
background-color: orange;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.captions > span {
|
||||
height: 2em;
|
||||
flex-basis: 50%;
|
||||
text-align: center;
|
||||
}
|
||||
textarea {
|
||||
overflow: auto;
|
||||
white-space: pre;
|
||||
padding: .5em;
|
||||
flex-basis: 50%;
|
||||
}
|
||||
|
||||
</style>
|
||||
<script>
|
||||
function doSubmit() {
|
||||
$.post(
|
||||
"get_exchange_info.asp",
|
||||
$("[name=exchange]").serialize(),
|
||||
FcltCallbackAndThenAlways(exc_submit_callback),
|
||||
"json"
|
||||
);
|
||||
}
|
||||
|
||||
function exc_submit_callback(json) {
|
||||
$(".host, .room").val("");
|
||||
$(".attention-bar").remove();
|
||||
if (json.success) {
|
||||
if (json.info?.length) { // Als json.success === false, dan wordt de json.info al in een popup weergegeven
|
||||
for (var i = 0; i < json.info.length; i++) {
|
||||
$(".captions > .host").before("<div class='attention-bar inform'>" + I("fa-circle-info fa-lg") + " " + safe.html(json.info) + "</div>");
|
||||
}
|
||||
}
|
||||
$(".host").val(json.host ? JSON.stringify(json.host, null, 4) : "N/A");
|
||||
$(".room").val(json.room ? JSON.stringify(json.room, null, 4) : "N/A");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body id="searchbody">
|
||||
<form name="exchange" onsubmit="doSubmit(); return false;">
|
||||
<% SEARCH_PAGE_START({ header: L("lcl_filterblok") });
|
||||
|
||||
SEARCH_BLOCK_START();
|
||||
|
||||
RWFIELDTR("reservering", null, L("lcl_res_number"));
|
||||
RWCHECKBOXTR("compact", null, "Compact", true);
|
||||
|
||||
SEARCH_BLOCK_END();
|
||||
|
||||
SEARCH_BLOCK_START();
|
||||
|
||||
RWFIELDTR("userPrincipalName", null, "Eigenaar van de Exchange agenda", null, { "placeholder": "prs_perslid_email of res_ruimte_extern_id" });
|
||||
|
||||
FCLTcalendar("date_from", {
|
||||
label: L("lcl_period_from"),
|
||||
initEmpty: true,
|
||||
volgnr: 1
|
||||
});
|
||||
|
||||
FCLTcalendar("date_to", {
|
||||
label: L("lcl_period_to"),
|
||||
initEmpty: true,
|
||||
volgnr: 2
|
||||
});
|
||||
|
||||
SEARCH_BLOCK_END();
|
||||
|
||||
var buttons = [{ title: L("lcl_search"), action: "doSubmit()", importance: 1, icon: "fa-search" }];
|
||||
SIMPLE_BLOCK_START();
|
||||
CreateButtons(buttons, { "entersubmit": true });
|
||||
SIMPLE_BLOCK_END();
|
||||
|
||||
SEARCH_PAGE_END();
|
||||
IFACE.FORM_END();
|
||||
%> </form>
|
||||
<div id="result">
|
||||
<div class="captions">
|
||||
<span class="host">Hieronder het Exchange event uit de agenda van de <i>Gastheer</i></span>
|
||||
<span class="room">Hieronder het Exchange event uit de agenda van de <i>Ruimte</i></span>
|
||||
</div>
|
||||
<div class="content">
|
||||
<textarea class="host"></textarea>
|
||||
<textarea class="room"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<%
|
||||
ASPPAGE_END();
|
||||
%>
|
||||
@@ -1,243 +0,0 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: get_exchange_info.asp
|
||||
Description: Haalt events uit Exchange op en geeft deze terug
|
||||
Parameters:
|
||||
Context:
|
||||
Note:
|
||||
|
||||
*/
|
||||
var JSON_Result = true;
|
||||
%>
|
||||
<!-- #include file="../../Shared/common.inc" -->
|
||||
<%
|
||||
Session.Codepage = 65001; // We doen *uitsluitend* utf-8
|
||||
Response.Charset = "UTF-8";
|
||||
|
||||
protectRequest.validateToken();
|
||||
|
||||
user.checkAutorisation("WEB_FACTAB");
|
||||
|
||||
function early_exit(err) {
|
||||
result.success = false;
|
||||
result.warning = err;
|
||||
ASPPAGE_END();
|
||||
Response.Write(JSON.stringify(result));
|
||||
Response.End;
|
||||
}
|
||||
|
||||
function verifyMSGraphResult(response) {
|
||||
if (response === false || response === null) {
|
||||
early_exit("MS Graph [Generic Error] - Zie Logging voor details");
|
||||
}
|
||||
}
|
||||
|
||||
// Minimaliseer het resultaat door alleen zeer relevante velden over te nemen
|
||||
function strip(result) {
|
||||
function _minify(event) {
|
||||
return {
|
||||
"createdDateTime": event.createdDateTime,
|
||||
"id": event.id,
|
||||
"iCalUId": event.iCalUId,
|
||||
"subject": event.subject,
|
||||
"isCancelled": event.isCancelled,
|
||||
"sensitivity": event.sensitivity,
|
||||
"isOnlineMeeting": event.isOnlineMeeting,
|
||||
"responseStatus": event.responseStatus,
|
||||
"start": event.start,
|
||||
"end": event.end,
|
||||
// "locations": event.locations,
|
||||
"attendees": event.attendees
|
||||
}
|
||||
}
|
||||
if (result.host) {
|
||||
if (result.host instanceof Array) {
|
||||
for (var i = 0; i < result.host.length; i++) {
|
||||
result.host[i] = _minify(result.host[i]);
|
||||
}
|
||||
} else {
|
||||
result.host = _minify(result.host);
|
||||
}
|
||||
}
|
||||
if (result.room) {
|
||||
if (result.room instanceof Array) {
|
||||
for (var i = 0; i < result.room.length; i++) {
|
||||
result.room[i] = _minify(result.room[i]);
|
||||
}
|
||||
} else {
|
||||
result.room = _minify(result.room);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
// Polyfill
|
||||
if (!Date.prototype.toISOString) {
|
||||
Date.prototype.toISOString = function () {
|
||||
function pad(n) { return n < 10 ? '0' + n : n }
|
||||
return this.getUTCFullYear() + '-'
|
||||
+ pad(this.getUTCMonth() + 1) + '-'
|
||||
+ pad(this.getUTCDate()) + 'T'
|
||||
+ pad(this.getUTCHours()) + ':'
|
||||
+ pad(this.getUTCMinutes()) + ':'
|
||||
+ pad(this.getUTCSeconds()) + 'Z';
|
||||
};
|
||||
}
|
||||
|
||||
var result = {
|
||||
info: []
|
||||
};
|
||||
|
||||
if (!(S("msgraph_sync_level") > 0)) {
|
||||
result.info = ["S(\"msgraph_sync_level\") staat op '0'"];
|
||||
}
|
||||
|
||||
// Initialize hook
|
||||
var hook = hookfunc.gethook("UTILS/Exchange/res_to_graph.wsc");
|
||||
var DEZE = this;
|
||||
try {
|
||||
var init = hook.initialize({
|
||||
DEZE: DEZE,
|
||||
custabspath: Server.MapPath(custpath)
|
||||
});
|
||||
if (init === null) { // Is alleen null als de exchange.config ontbreekt
|
||||
early_exit("Geen exchange.config aangetroffen");
|
||||
}
|
||||
} catch (e) {
|
||||
early_exit("Hook error: " + e.description);
|
||||
}
|
||||
|
||||
var host_id = null;
|
||||
var room_id = null;
|
||||
var host_email = null;
|
||||
var room_email = null;
|
||||
var res_rsv_ruimte_key = null;
|
||||
var fallback_user = false;
|
||||
|
||||
var compact = getFParam("compact", "off") == "on";
|
||||
var reservering_nr = getFParam("reservering", "");
|
||||
var userPrincipalName = getFParam("userPrincipalName", null);
|
||||
var date_from = getFParamDate("date_from", null);
|
||||
var date_to = getFParamDate("date_to", null);
|
||||
if (reservering_nr != "") {
|
||||
// We gaan het event ophalen met een reserveringsnr als informatie
|
||||
var res_reservering_key = parseInt(reservering_nr.split("/")[0], 10);
|
||||
var res_rsv_ruimte_volgnr = parseInt((reservering_nr.split("/")[1] || 1), 10);
|
||||
if (isNaN(res_reservering_key) || isNaN(res_rsv_ruimte_volgnr)) {
|
||||
early_exit("Ongeldig reserveringsnr, verwachte formaat; 12345/1");
|
||||
}
|
||||
var sql = "SELECT rrr.res_rsv_ruimte_externnr2 host_id,"
|
||||
+ " rrr.res_rsv_ruimte_externnr room_id,"
|
||||
+ " p_host.prs_perslid_email host_email,"
|
||||
+ " rr.res_ruimte_extern_id room_email,"
|
||||
+ " rrr.res_rsv_ruimte_key res_rsv_ruimte_key,"
|
||||
+ " p_host.prs_perslid_oslogin host_login"
|
||||
+ " FROM res_rsv_ruimte rrr"
|
||||
+ " JOIN prs_perslid p_host"
|
||||
+ " ON p_host.prs_perslid_key = rrr.res_rsv_ruimte_host_key"
|
||||
+ " JOIN res_ruimte_opstelling rro"
|
||||
+ " ON rro.res_ruimte_opstel_key = rrr.res_ruimte_opstel_key"
|
||||
+ " JOIN res_ruimte rr ON rr.res_ruimte_key = rro.res_ruimte_key"
|
||||
+ " WHERE rrr.res_reservering_key = " + res_reservering_key
|
||||
+ " AND rrr.res_rsv_ruimte_volgnr = " + res_rsv_ruimte_volgnr;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.EoF) {
|
||||
host_id = oRs("host_id").Value;
|
||||
room_id = oRs("room_id").Value;
|
||||
host_email = oRs("host_email").Value;
|
||||
room_email = oRs("room_email").Value;
|
||||
res_rsv_ruimte_key = oRs("res_rsv_ruimte_key").Value;
|
||||
fallback_user = oRs("host_login").Value === null ? false : !!oRs("host_login").Value.match(/^_MSGRAPH_FALLBACK_/);
|
||||
} else {
|
||||
early_exit("Reservering niet in Facilitor gevonden");
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
// Wat error-handling
|
||||
if (host_id === null && room_id === null) {
|
||||
if (room_email === null) {
|
||||
early_exit("Ruimte is geen Exchange-gekoppelde ruimte");
|
||||
} else {
|
||||
early_exit("Reservering is niet aan Exchange gekoppeld");
|
||||
}
|
||||
} else if (fallback_user) {
|
||||
early_exit("Deze reservering is geboekt op een fallback user, we kunnen hiervan niets uitlezen op basis van de reservering. Probeer de reservering zelf op te zoeken mbv een datum bereik");
|
||||
}
|
||||
|
||||
// Haal nu de eigenlijke Exchange-events op
|
||||
if (host_id && host_id != "##PENDING##" && host_email) {
|
||||
var method = host_id.match(/^##iCalUId##/) ? "iCalUId" : "id";
|
||||
result.host = hook.getCalendarEvent(method, host_email, host_id);
|
||||
verifyMSGraphResult(result.host);
|
||||
}
|
||||
if (room_id && room_email) {
|
||||
room_id = room_id.split("|")[1] || room_id.split("|")[0];
|
||||
var method = room_id.match(/^##iCalUId##/) ? "iCalUId" : "id";
|
||||
if (method == "iCalUId") {
|
||||
room_id = room_id.slice(11); // Strip de '##iCalUId##'
|
||||
}
|
||||
result.room = hook.getCalendarEvent(method, room_email, room_id);
|
||||
verifyMSGraphResult(result.room);
|
||||
}
|
||||
|
||||
// Niet gevonden, nog eens proberen obv res_rsv_ruimte_key
|
||||
if (!result.host && !result.room) {
|
||||
if (host_id == "##PENDING##" && host_email) {
|
||||
result.info.push("Deze reservering heeft nog geen antwoord van MSGraph ontvangen");
|
||||
result.host = hook.getCalendarEvent("res_rsv_ruimte_key", host_email, res_rsv_ruimte_key);
|
||||
verifyMSGraphResult(result.host);
|
||||
if (!result.host) {
|
||||
early_exit("Reservering niet in Exchange gevonden op basis van res_rsv_ruimte_key");
|
||||
}
|
||||
} else {
|
||||
result.info.push("Reservering niet in Exchange gevonden");
|
||||
}
|
||||
if (!result.host) {
|
||||
early_exit("Reservering niet in Exchange gevonden");
|
||||
}
|
||||
}
|
||||
// Klaar
|
||||
} else if (userPrincipalName && date_from != null && date_to != null) {
|
||||
// We gaan het event ophalen met een (ruimte of gastheer)email en een datum bereik
|
||||
var id = date_from.toISOString() + "##" + date_to.toISOString();
|
||||
var response = hook.getCalendarEvent("date", userPrincipalName, id);
|
||||
verifyMSGraphResult(response);
|
||||
|
||||
// Verwerk het resultaat
|
||||
if (response.value) {
|
||||
// Convert een javascript Array naar een JSON Array
|
||||
var events = [];
|
||||
for (var x in response.value) {
|
||||
events.push(response.value[x]);
|
||||
}
|
||||
if (events.length != 1) {
|
||||
result.info.push("Er zijn " + events.length + " events gevonden");
|
||||
}
|
||||
var sql = "SELECT 1"
|
||||
+ " FROM res_ruimte"
|
||||
+ " WHERE UPPER(res_ruimte_extern_id) = " + safe.quoted_sql_upper(userPrincipalName);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs.EoF) {
|
||||
result.host = events;
|
||||
} else {
|
||||
result.room = events;
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
} else {
|
||||
early_exit("Onvoldoende parameters meegegeven; zoek op reserveringsnr, of de combinatie; email/datum-van/datum-tot");
|
||||
}
|
||||
|
||||
result.success = true;
|
||||
// Strip onnodige velden
|
||||
if (compact) {
|
||||
result = strip(result);
|
||||
};
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
Response.End;
|
||||
%>
|
||||
<% ASPPAGE_END(); %>
|
||||
@@ -58,10 +58,10 @@ function API_func(APIname)
|
||||
file: oRs("fac_api_filepath").Value,
|
||||
prs_perslid_key: user_key,
|
||||
loglevel: oRs("fac_api_loglevel").Value,
|
||||
errorhandling: oRs("fac_api_errorhandling").Value,
|
||||
usrrap_key: oRs("fac_usrrap_key").Value,
|
||||
stylesheet: oRs("fac_api_stylesheet").Value,
|
||||
stylesheet_out: oRs("fac_api_stylesheet_out").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
|
||||
@@ -106,28 +106,26 @@ API_func.prototype.error = function (msg)
|
||||
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");
|
||||
__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(loglevel)
|
||||
function RequestJSON()
|
||||
{
|
||||
var jvraag;
|
||||
if(Request.TotalBytes == 0)
|
||||
if(Request.TotalBytes > 0)
|
||||
{
|
||||
return { error: "Empty body posted" }
|
||||
var lngBytesCount = Request.TotalBytes;
|
||||
jvraag = BytesToStr(Request.BinaryRead(lngBytesCount));
|
||||
}
|
||||
|
||||
var lngBytesCount = Request.TotalBytes;
|
||||
jvraag = BytesToStr(Request.BinaryRead(lngBytesCount));
|
||||
__Log("Vraag: " + jvraag);
|
||||
try
|
||||
{
|
||||
var vraag = myJSON.parse(jvraag);
|
||||
if (loglevel)
|
||||
if (API.apidata.loglevel)
|
||||
__Log2File(JSON.stringify(vraag, null, 2), API.APIname + "_IN", ".json");
|
||||
}
|
||||
catch (e)
|
||||
@@ -141,16 +139,13 @@ function RequestJSON(loglevel)
|
||||
function RequestXML(API)
|
||||
{
|
||||
var xvraag;
|
||||
if(Request.TotalBytes == 0)
|
||||
if(Request.TotalBytes > 0)
|
||||
{
|
||||
return { error: "Empty body posted" }
|
||||
var lngBytesCount = Request.TotalBytes;
|
||||
xvraag = BytesToStr(Request.BinaryRead(lngBytesCount));
|
||||
if (API.apidata.loglevel)
|
||||
__Log2File(xvraag, API.APIname + "_IN");
|
||||
}
|
||||
|
||||
var lngBytesCount = Request.TotalBytes;
|
||||
xvraag = BytesToStr(Request.BinaryRead(lngBytesCount));
|
||||
if (API.apidata.loglevel)
|
||||
__Log2File(xvraag, API.APIname + "_IN");
|
||||
|
||||
__Log("Request body: " + xvraag);
|
||||
try
|
||||
{
|
||||
@@ -175,11 +170,7 @@ function styledRequestXML(API)
|
||||
var parsed = RequestXML(API);
|
||||
if (parsed.error)
|
||||
{
|
||||
var method = String(Request.ServerVariables("REQUEST_METHOD"));
|
||||
if (method != "POST") // gebeurt nog wel eens
|
||||
{
|
||||
__DoLog( "Weird: expected method POST, got " + method);
|
||||
}
|
||||
__DoLog( "Error loading XML: " + parsed.error, "#ff0000");
|
||||
API.error("Error loading XML: " + parsed.error);
|
||||
}
|
||||
|
||||
|
||||
@@ -306,6 +306,7 @@ try
|
||||
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");
|
||||
|
||||
|
||||
@@ -28,6 +28,20 @@
|
||||
|
||||
var API = new API_func();
|
||||
|
||||
// Mareon specifieke code
|
||||
// In APPL\MARX\export\BCTAdapter.asp zijn mar_queue_key en mar_queue_requestid
|
||||
// aan de callbackurl voor API=FIN_FACTUUR_PDF toegevoegd.
|
||||
// Die gebruiken we hier om te registreren dat de factuur blijkbaar goed ingescand is
|
||||
var mar_queue_requestid = getQParam("mar_queue_requestid", "");
|
||||
if (mar_queue_requestid)
|
||||
{
|
||||
var sql = "UPDATE mar_factuur_queue"
|
||||
+ " SET mar_factuur_queue_replied = SYSDATE"
|
||||
+ " WHERE mar_factuur_queue_key = " + getQParamInt("mar_queue_key")
|
||||
+ " AND mar_factuur_queue_requestid = " + safe.quoted_sql(mar_queue_requestid);
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
|
||||
var bytes = Request.TotalBytes;
|
||||
if (bytes <= 0) // Chunked encoding geeft -1
|
||||
{
|
||||
@@ -41,16 +55,7 @@
|
||||
}
|
||||
|
||||
"Error 'Operation not Allowed' op de volgende regel betekent meestal dat de upload te groot is";
|
||||
var result = api_gen_import(API, Request.BinaryRead(bytes));
|
||||
xmlResp = result.xmldom;
|
||||
|
||||
if (API.apidata.errorhandling == 1 && user.errorhandling() == 1)
|
||||
{
|
||||
if (result.anyError) // een 'E' in imp_log
|
||||
{
|
||||
Response.Status = '400 Bad Request';
|
||||
}
|
||||
}
|
||||
var xmlResp = api_gen_import(API, Request.BinaryRead(bytes));
|
||||
|
||||
Response.ContentType = "text/xml";
|
||||
if (API.apidata.stylesheet_out)
|
||||
@@ -61,6 +66,5 @@
|
||||
else
|
||||
Response.Write(xmlResp.xml);
|
||||
|
||||
|
||||
ASPPAGE_END();
|
||||
%>
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
Context: Ook vanuit APPL\MARX\API_mareon_opdracht.asp
|
||||
*/
|
||||
|
||||
// result: { xmldom: object, anyError: boolean }
|
||||
function api_gen_import(API, data, charset) //
|
||||
{
|
||||
var fileStream = Server.CreateObject("ADODB.Stream");
|
||||
@@ -73,12 +72,10 @@ function api_gen_import(API, data, charset) //
|
||||
|
||||
if (import_key > 0)
|
||||
{
|
||||
var errorCount = 0; // hoeveel errors?
|
||||
var elementDetails = xmlResp.createElement("details");
|
||||
var sql = "SELECT imp_log_status,"
|
||||
+ " imp_log_omschrijving,"
|
||||
+ " imp_log_hint,"
|
||||
+ " imp_log_status"
|
||||
+ " imp_log_hint"
|
||||
+ " FROM imp_log"
|
||||
+ " WHERE fac_import_key = " + import_key
|
||||
+ " AND imp_log_status <> 'I'";
|
||||
@@ -104,15 +101,6 @@ function api_gen_import(API, data, charset) //
|
||||
elementHint.appendChild(elementHintText);
|
||||
elementDetail.appendChild(elementHint);
|
||||
}
|
||||
if (oRs("imp_log_status").Value != null )
|
||||
{
|
||||
if (oRs("imp_log_status").Value == 'E' || oRs("imp_log_status").Value == 'F')
|
||||
errorCount ++
|
||||
var elementStatus = xmlResp.createElement("status");
|
||||
var elementStatusText = xmlResp.createTextNode(oRs("imp_log_status").Value);
|
||||
elementStatus.appendChild(elementStatusText);
|
||||
elementDetail.appendChild(elementStatus);
|
||||
}
|
||||
elementDetails.appendChild(elementDetail);
|
||||
oRs.moveNext();
|
||||
}
|
||||
@@ -144,6 +132,6 @@ function api_gen_import(API, data, charset) //
|
||||
}
|
||||
|
||||
xmlResp.appendChild(FCLTElement);
|
||||
return { xmldom: xmlResp, anyError: errorCount > 0 };
|
||||
return xmlResp;
|
||||
}
|
||||
%>
|
||||
|
||||
@@ -39,35 +39,25 @@ function abortRejectMail(tekst, maillog, optionalColor)
|
||||
function stripHtml(html)
|
||||
{
|
||||
html = (html||"");
|
||||
html = html.replace(/([=][\n])/g, ""); // Een = en crlf aan het einde is een afgebroken regel. Deze weer aan elkaar zetten.
|
||||
html = stripStyle(html);
|
||||
// verwijder html-tags
|
||||
html = html.replace(/(<br\s*\/?>)/ig,"\n\r");
|
||||
html = html.replace(/(<([^>]+)>)/ig,"");
|
||||
html = stripCharcodes(html);
|
||||
// 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 stripCharcodes(html)
|
||||
{
|
||||
html = (html||"");
|
||||
// Vervang lettercodes door het teken zelf.
|
||||
html = html.replace(/(&#x(\d|[a-f])+;)/ig
|
||||
, function(a){
|
||||
return String.fromCharCode(parseInt(a.substr(3,a.length-4), 16));
|
||||
}
|
||||
);
|
||||
html = html.replace(/( )/ig, " "); // naar spatie
|
||||
html = html.replace(/^[ \t]+/gm,""); // verwijder leading spaces and tabs
|
||||
html = html.replace(/([\n\r])+/g,"\n"); // verwijder lege regels
|
||||
html = html.replace(/([\n\r]:)/g,":"); // zet een regel die begint met : maar achter de vorige
|
||||
html = html.replace(/<style>[^<]*<\/style>/igm, "");
|
||||
return html;
|
||||
}
|
||||
|
||||
@@ -198,38 +188,6 @@ function getEmailSetting(xmlReq, xmlParameters)
|
||||
return senderResult;
|
||||
}
|
||||
|
||||
// Check the subject against general rules (emlSetting null) or some defined
|
||||
// regular expression from the configuration in emlSetting
|
||||
// return .success true if the subject is okay, false else
|
||||
// If false, a reason is given in .message
|
||||
function checkSubject(emlSetting, xmlParameters)
|
||||
{
|
||||
var subjectResult = { success: true };
|
||||
if (emlSetting == null)
|
||||
{
|
||||
// generieke onderwerpcheck tegen rubbish
|
||||
var v_subject_undeliverable = new RegExp(S("mail_subject_undeliverable")).test(xmlParameters.Subject);
|
||||
var v_subject_ignore = new RegExp(S("mail_subject_ignore")).test(xmlParameters.Subject);
|
||||
var senderResult = null;
|
||||
if (v_subject_undeliverable || v_subject_ignore)
|
||||
{
|
||||
subjectResult.success = false;
|
||||
subjectResult.message = ( v_subject_undeliverable ? S("mail_subject_undeliverable") : S("mail_subject_ignore"));
|
||||
}
|
||||
} else {
|
||||
// matcht het mailonderwerp wellicht met een specifieke configuratie?
|
||||
if (emlSetting.text)
|
||||
{
|
||||
subjectResult.success = new RegExp(emlSetting.text, "ig").test(xmlParameters.Subject);
|
||||
subjectResult.message = "Subject " + xmlParameters.Subject + (subjectResult.success ? " matches " : " does not match ") + emlSetting.text
|
||||
__Log(subjectResult.message);
|
||||
}
|
||||
else // geen voorwaarde is altijd goed
|
||||
subjectResult.success = true;
|
||||
}
|
||||
return subjectResult;
|
||||
}
|
||||
|
||||
function setPath(attachpath)
|
||||
{
|
||||
var path = attachpath;
|
||||
@@ -250,23 +208,16 @@ function getEmailSetting(xmlReq, xmlParameters)
|
||||
+ " fac_email_setting_volgnr,"
|
||||
+ " fac_email_setting_action,"
|
||||
+ " fac_email_setting_expire,"
|
||||
+ " fac_email_setting_from," // optioneel: waar de afzender aan moet voldoen
|
||||
+ " fac_email_setting_from,"
|
||||
+ " fac_email_setting_frommode,"
|
||||
+ " fac_email_setting_text," // optioneel: waar het onderwerp aan moet voldoen
|
||||
+ " fac_email_setting_attachpath,"
|
||||
+ " fac_email_setting_attachext,"
|
||||
+ " fac_email_setting_reqattachext," // optioneel: extensie van de bijlage die verplicht is
|
||||
+ " fac_email_setting_attachmaxkb,"
|
||||
+ " fac_email_setting_reqattachext,"
|
||||
+ " fac_email_setting_loglevel,"
|
||||
+ " prs_perslid_key_auth"
|
||||
+ " FROM fac_email_setting"
|
||||
+ " WHERE upper(fac_email_setting_user) = UPPER("+safe.quoted_sql(xmlParameters.mailuser)+")"
|
||||
+ " ORDER BY fac_email_setting_volgnr";
|
||||
|
||||
// Als je het zo zou doen vind je organischer de meest specifieke match, met volgnummer slechts beslissend als er meerdere zouden zijn
|
||||
// Het lijkt echter safer om datr aan de gebruiker over te laten en die dat met volgnummer expliciet te kunnen laten definieren.
|
||||
//+ " ORDER BY fac_email_setting_reqattachext NULLS LAST, fac_email_setting_from NULLS LAST, fac_email_setting_text NULLS LAST, fac_email_setting_volgnr";
|
||||
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs.eof)
|
||||
{ // Er is geen fac_email_setting record gevonden.
|
||||
@@ -277,22 +228,10 @@ function getEmailSetting(xmlReq, xmlParameters)
|
||||
};
|
||||
}
|
||||
else
|
||||
{ // Er bestaat minimaal 1 fac_email_setting record voor deze ontvanger.
|
||||
{ // Er bestaat minimaal 1 fac_email_setting record.
|
||||
var allowedSetting = {};
|
||||
var rejectedAttach = [];
|
||||
var hasRequiredAttachment = false;
|
||||
var hasMatchingFrom = false;
|
||||
var hasMatchingSubject = false;
|
||||
|
||||
// Loop door de fac_email_setting records en bepaal welke het beste past bij deze e-mail
|
||||
// Dat is de eerste match op basis van het volgnummer, waarbij de 3 criteria niet conflicteren.
|
||||
// - de afzender matcht of is niet specifiek gedefinieerd
|
||||
// - het onderwerp matcht de conditie of is niet specifiek gedefinieerd
|
||||
// - de verplichte bijlage is present of is niet specifiek gedefinieerd
|
||||
// Het gevonden record levert de aan te roepen mailprocessor en
|
||||
// (bij de default fac.processemail) de aan te maken standaardmelding
|
||||
|
||||
while (!oRs.eof && !(hasRequiredAttachment && hasMatchingFrom && hasMatchingSubject))
|
||||
while (!oRs.eof && !hasRequiredAttachment)
|
||||
{
|
||||
var emlSetting = {
|
||||
key: oRs("fac_email_setting_key").Value,
|
||||
@@ -303,41 +242,25 @@ function getEmailSetting(xmlReq, xmlParameters)
|
||||
required_attachext: oRs("fac_email_setting_reqattachext").Value,
|
||||
prs_perslid_key_auth: oRs("prs_perslid_key_auth").Value,
|
||||
attachpath: oRs("fac_email_setting_attachpath").Value,
|
||||
attach_maxkb: oRs("fac_email_setting_attachmaxkb").Value,
|
||||
fromMode: oRs("fac_email_setting_frommode").Value,
|
||||
from: oRs("fac_email_setting_from").Value,
|
||||
text: oRs("fac_email_setting_text").Value,
|
||||
loglevel: oRs("fac_email_setting_loglevel").Value
|
||||
};
|
||||
emlSetting.path = setPath(emlSetting.attachpath);
|
||||
__Log("Scanning e-mail setting: "+emlSetting.key + " (volgnr "+emlSetting.volgnr+")");
|
||||
__Log("Scanning e-mail setting: "+emlSetting.volgnr);
|
||||
|
||||
var expireResult = checkExpire(emlSetting.expire);
|
||||
var senderResult = checkSender(emlSetting, xmlParameters);
|
||||
var subjectResult = checkSubject(emlSetting, xmlParameters);
|
||||
var expireResult = checkExpire(emlSetting.expire);
|
||||
var senderResult = checkSender(emlSetting, xmlParameters);
|
||||
|
||||
hasMatchingFrom = senderResult.success;
|
||||
hasMatchingSubject = subjectResult.success;
|
||||
__Log('hasMatchingFrom '+ hasMatchingFrom);
|
||||
__Log('hasMatchingSubject '+ hasMatchingSubject);
|
||||
|
||||
// als fron en subject okay zijn, dan kijken we of er een verplicht kenmerk is
|
||||
if (expireResult.success && hasMatchingFrom && hasMatchingSubject)
|
||||
if (expireResult.success && senderResult.success)
|
||||
{
|
||||
emlSetting.theFrom = senderResult.theFrom; // verbeter na de uitgevoerde controle
|
||||
emlSetting.theFrom = senderResult.theFrom;
|
||||
var attachResult = checkAttach(xmlReq, xmlParameters, emlSetting);
|
||||
emlSetting.allowedFiles = attachResult.allowedFiles;
|
||||
emlSetting.requiredFound = attachResult.requiredFound;
|
||||
hasRequiredAttachment = emlSetting.required_attachext == null || attachResult.requiredFound;
|
||||
hasRequiredAttachment = attachResult.requiredFound;
|
||||
allowedSetting = emlSetting;
|
||||
if (attachResult.rejectedFiles.tekst != "")
|
||||
{
|
||||
result.rejectMail = attachResult.rejectedFiles;
|
||||
}
|
||||
else
|
||||
{
|
||||
delete result.rejectMail;
|
||||
}
|
||||
delete result.rejectMail;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -346,12 +269,10 @@ function getEmailSetting(xmlReq, xmlParameters)
|
||||
result.rejectMail = (!expireResult.success ? expireResult.rejectMail : senderResult.rejectMail);
|
||||
}
|
||||
}
|
||||
__Log("hasRequiredAttachment: " + hasRequiredAttachment);
|
||||
oRs.MoveNext();
|
||||
}
|
||||
__Log("Done looking for matching e-mail settings");
|
||||
|
||||
result.emlSetting = allowedSetting;
|
||||
result.silentignoreemail = checkSubject(null, xmlParameters).message;
|
||||
}
|
||||
oRs.Close();
|
||||
return result;
|
||||
@@ -373,16 +294,14 @@ function emailAction(emlSetting, xmlParam, resultParam)
|
||||
}
|
||||
|
||||
var actionsql =
|
||||
"BEGIN " + emlSetting.action + " (" + safe.quoted_sql(emlSetting.theFrom) + ", "
|
||||
+ safe.quoted_sql(xmlParam.toAddr) + ", "
|
||||
+ safe.quoted_sql(xmlParam.Subject || L("lcl_fac_hmail_no_subject")) + ", " // de actions kunnen slecht tegen lege subject
|
||||
+ "?, "
|
||||
+ safe.quoted_sql(xmlParam.sessionId) + ", "
|
||||
"BEGIN " + emlSetting.action + " (" + safe.quoted_sql(emlSetting.theFrom) + ","
|
||||
+ safe.quoted_sql(xmlParam.toAddr) + ","
|
||||
+ safe.quoted_sql(xmlParam.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(xmlParam.sessionId) + ","
|
||||
+ emlSetting.key + ");"
|
||||
+ "END;";
|
||||
|
||||
var oparams = [ { typ: adLongVarChar, dir: adParamInput, val: v_body.substr(0, S("mld_melding_oms_maxlen")==4000?3990:S("mld_melding_oms_maxlen")) } ];
|
||||
Oracle.ExecuteParam(actionsql, oparams);
|
||||
Oracle.Execute(actionsql);
|
||||
|
||||
// Nog iets specifieks terug te melden voor de logging?
|
||||
var sql = "SELECT fac_result_waarde"
|
||||
@@ -470,18 +389,16 @@ function emailAction(emlSetting, xmlParam, resultParam)
|
||||
}
|
||||
else
|
||||
{
|
||||
result.maillog = "Verder geen database process_email actie gedefinieerd";
|
||||
result.maillog = "Verder geen e-mail action gedefinieerd";
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
function checkAttach(xmlReq, xmlParameter, emlSetting)
|
||||
{
|
||||
var requiredFound = false;
|
||||
var allowedFiles = [];
|
||||
var rejectedFiles = { tekst: [], maillog: []};
|
||||
|
||||
var Attachments = xmlReq.getElementsByTagName("attachment");
|
||||
for (var i=0; i < Attachments.length; i++)
|
||||
@@ -489,32 +406,17 @@ function checkAttach(xmlReq, xmlParameter, emlSetting)
|
||||
var safefilename = safe.filename(XMLval(Attachments[i], "filename", i));
|
||||
var extension = safefilename.substr(safefilename.lastIndexOf("."));
|
||||
var attsize = parseInt(XMLval(Attachments[i], "size", i), 10);
|
||||
if (emlSetting.attach_maxkb && emlSetting.attach_maxkb > 0) {
|
||||
var filesize_MB = (attsize / 1024 / 1024).toFixed(3); // attsize is in bytes. Maak er MB van.
|
||||
var maxsize_MB = (emlSetting.attach_maxkb / 1024).toFixed(3); // attach_maxkb in in kB. Maak er MB van.
|
||||
}
|
||||
if (safefilename == S("fac_logo_file"))
|
||||
{ // Waarschijnlijk een FACILITOR bon gereply'd
|
||||
__Log("Bijlage {0} genegeerd.".format(safefilename));
|
||||
}
|
||||
else if (attsize < S("flex_min_size")) // sowieso te klein
|
||||
else if (attsize < S("flex_min_size"))
|
||||
{
|
||||
__Log("Bijlage {0} genegeerd, te klein met {1} bytes.".format(safefilename, attsize));
|
||||
}
|
||||
else if (attsize < S("flex_min_imgsize") && new RegExp(S("flex_min_imgsize_ext"), "ig").test(safefilename)) // plaatje te klein (facebook, twitter, X)
|
||||
{
|
||||
__Log("Plaatje {0} genegeerd, te klein met {1} bytes.".format(safefilename, attsize));
|
||||
}
|
||||
else if ( emlSetting.attach_maxkb && emlSetting.attach_maxkb > 0 // Er is een maximum bestandsgrootte ingesteld
|
||||
&& parseFloat(filesize_MB) > parseFloat(maxsize_MB)) // En die is overschreden
|
||||
{
|
||||
__Log(L("fac_email_setting_err1").format(safefilename, filesize_MB, maxsize_MB));
|
||||
rejectedFiles.tekst.push(L("fac_email_setting_err1").format(safefilename, filesize_MB, maxsize_MB));
|
||||
rejectedFiles.maillog.push(("Bijlage {0} te groot: {1} bytes").format(safefilename, attsize));
|
||||
}
|
||||
else if (!new RegExp(S("flexallowedext"), "ig").test(safefilename))
|
||||
{ // Niet ondersteunde bestandstype
|
||||
__Log("Onbekende extensie e-mail bijlage: {0} ({1} bytes) van {2}. Bestand is niet opgeslagen.".format(safefilename, attsize, emlSetting.theFrom));
|
||||
__DoLog("Onbekende extensie e-mail bijlage: {0} ({1} bytes) van {2}. Bestand is niet opgeslagen.".format(safefilename, attsize, emlSetting.theFrom));
|
||||
}
|
||||
else if (emlSetting.allowed_attachext && !new RegExp(emlSetting.allowed_attachext, "ig").test(safefilename))
|
||||
{ // bestand is niet van het opgegeven type
|
||||
@@ -533,11 +435,7 @@ function checkAttach(xmlReq, xmlParameter, emlSetting)
|
||||
}
|
||||
|
||||
var attachResult = { requiredFound: requiredFound,
|
||||
allowedFiles: allowedFiles,
|
||||
rejectedFiles: { tekst: rejectedFiles.tekst.join("\n"),
|
||||
maillog: rejectedFiles.maillog.join("\n"),
|
||||
optionalColor: "#ff4"
|
||||
}
|
||||
allowedFiles: allowedFiles
|
||||
};
|
||||
return attachResult;
|
||||
}
|
||||
@@ -545,7 +443,6 @@ function checkAttach(xmlReq, xmlParameter, emlSetting)
|
||||
function saveAttachments(xmlReq, emlSetting, xmlParam, resultParam)
|
||||
{
|
||||
var result = resultParam || {};
|
||||
result.headers = result.headers || {};
|
||||
|
||||
// Als we een bijlage van een zekere type verwachten kan er beter maar een zijn ook!
|
||||
if ((emlSetting.allowed_attachext || emlSetting.required_attachext) && !emlSetting.allowedFiles.length)
|
||||
@@ -578,24 +475,6 @@ function saveAttachments(xmlReq, emlSetting, xmlParam, resultParam)
|
||||
var safeFiles = [];
|
||||
if (result.path)
|
||||
{
|
||||
// Als de url &multifile=1 bevat wordt niet per file een aanroep gedaan met de file in de body maar
|
||||
// worden alle files in de temp-folder verzameld en dan wordt er <20><>n aanroep van de url gedaan
|
||||
// met alleen de temp filenamen in de body
|
||||
result.isMulti = result.path.indexOf("multifile=1") > -1;
|
||||
if (result.isMulti)
|
||||
{
|
||||
__Log("Alle bijlagen straks naar " + result.path);
|
||||
// Dit gaat allemaal in de http-body naar result.path
|
||||
result.headers["Content-Type"] = "application/json";
|
||||
result.headers["Accept"] = "application/json";
|
||||
result.emlSetting = emlSetting; // de e-mail settings uit de database
|
||||
result.mailParams = xmlParam; // alles wat we maar weten van de e-mail
|
||||
if (emlSetting.prs_perslid_key_auth) // per bestand/url unieke jwt
|
||||
{
|
||||
var jwt = getBearerToken(emlSetting.prs_perslid_key_auth, "_INTERNAL", 30);
|
||||
result.headers["Authorization"] = "Bearer " + jwt;
|
||||
}
|
||||
}
|
||||
var Attachments = emlSetting.allowedFiles;
|
||||
for (var i=0; i < Attachments.length; i++)
|
||||
{
|
||||
@@ -606,12 +485,9 @@ function saveAttachments(xmlReq, emlSetting, xmlParam, resultParam)
|
||||
var attsize = Attachments[i].attsize;
|
||||
if (isUrl)
|
||||
{
|
||||
if (result.isMulti)
|
||||
var txt = '{0} bijlage ({1} bytes)'.format(safefilename, attsize);
|
||||
else
|
||||
txt = '{0} bijlage ({1} bytes) verwerken met {2}'.format(safefilename, attsize, result.path);
|
||||
__Log('{0} bijlage ({1} bytes) verwerken met {2}'.format(safefilename, attsize, result.path));
|
||||
var tempfilename = result.tempfolder + "\\API_HMAIL_" + shared.random(32) + "_" + safefilename;
|
||||
__Log(txt + '\n' + 'Tijdelijk bewaard onder {0}'.format(tempfilename));
|
||||
__Log('Tijdelijk bewaard onder {0}'.format(tempfilename));
|
||||
var safefile = { sequence: filesequence,
|
||||
safefilename: safefilename,
|
||||
tempfilename: tempfilename,
|
||||
@@ -621,9 +497,7 @@ function saveAttachments(xmlReq, emlSetting, xmlParam, resultParam)
|
||||
};
|
||||
if (emlSetting.prs_perslid_key_auth) // per bestand/url unieke jwt
|
||||
{
|
||||
// Omdat de bestanden sequentieel worden verwekt door hMailserver kan het een tijdje duren
|
||||
// voordat de laatste aan de beurt is. Daarom timeout (veel) groter dan 30 seconde zetten.
|
||||
var jwt = getBearerToken(emlSetting.prs_perslid_key_auth, "_INTERNAL", 300); // of: (i+1)*30 maar dat is overdreven
|
||||
var jwt = getBearerToken(emlSetting.prs_perslid_key_auth, "_INTERNAL", 30);
|
||||
safefile.headers["Authorization"] = "Bearer " + jwt;
|
||||
}
|
||||
safeFiles.push (safefile);
|
||||
@@ -666,6 +540,7 @@ function saveAttachments(xmlReq, emlSetting, xmlParam, resultParam)
|
||||
}
|
||||
result.attachments = safeFiles;
|
||||
}
|
||||
__Log(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -712,7 +587,7 @@ var xmlReq = parsed.xml;
|
||||
var xmlParameters = getXml(xmlReq);
|
||||
var emlResult = getEmailSetting(xmlReq, xmlParameters);
|
||||
|
||||
if (emlResult.emlSetting && !emlResult.rejectMail)
|
||||
if (emlResult.emlSetting)
|
||||
{
|
||||
var emlSetting = emlResult.emlSetting;
|
||||
if (emlSetting.loglevel > 0)
|
||||
@@ -728,41 +603,33 @@ if (emlResult.emlSetting && !emlResult.rejectMail)
|
||||
__Log("htmlBody: " + xmlParameters.htmlBody);
|
||||
__Log("body: " + xmlParameters.Body);
|
||||
__Log("E-mail user ontvankelijk: " + xmlParameters.mailuser);
|
||||
__Log("gebruikt email setting: " + emlSetting.key);
|
||||
__Log("gebruikt email setting: " + emlSetting.volgnr);
|
||||
|
||||
if (emlResult.silentignoreemail)
|
||||
{
|
||||
var saveResult = { silentignoreemail : true, maillog: "Ignored because subject matches " + emlResult.silentignoreemail }
|
||||
__Log("Ignored because subject matches " + emlResult.silentignoreemail);
|
||||
}
|
||||
else
|
||||
{
|
||||
var result = { success: true,
|
||||
path: emlSetting.path,
|
||||
kenmerkpath: "",
|
||||
attachments: [],
|
||||
tempfolder: shared.tempFolder(),
|
||||
loglevel: emlSetting.loglevel || 0
|
||||
};
|
||||
var result = { success: true,
|
||||
path: emlSetting.path,
|
||||
kenmerkpath: "",
|
||||
attachments: [],
|
||||
tempfolder: shared.tempFolder(),
|
||||
loglevel: emlSetting.loglevel || 0
|
||||
};
|
||||
|
||||
var actionResult = emailAction(emlSetting, xmlParameters, result);
|
||||
if (!actionResult.rejectMail)
|
||||
var actionResult = emailAction(emlSetting, xmlParameters, result);
|
||||
if (!actionResult.rejectMail)
|
||||
{
|
||||
var saveResult = saveAttachments(xmlReq, emlSetting, xmlParameters, actionResult);
|
||||
if (!saveResult.rejectMail)
|
||||
{
|
||||
var saveResult = saveAttachments(xmlReq, emlSetting, xmlParameters, actionResult);
|
||||
if (!saveResult.rejectMail)
|
||||
{
|
||||
saveEml(xmlParameters, saveResult);
|
||||
}
|
||||
else
|
||||
{
|
||||
emlResult.rejectMail = saveResult.rejectMail;
|
||||
}
|
||||
saveEml(xmlParameters, saveResult);
|
||||
}
|
||||
else
|
||||
{
|
||||
emlResult.rejectMail = actionResult.rejectMail;
|
||||
emlResult.rejectMail = saveResult.rejectMail;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
emlResult.rejectMail = actionResult.rejectMail;
|
||||
}
|
||||
}
|
||||
|
||||
if (emlResult.rejectMail)
|
||||
|
||||
@@ -200,6 +200,7 @@ for (i = 0; i < meldingen.length; i++)
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
if (einddatum != null)
|
||||
{
|
||||
var mld_datum;
|
||||
@@ -253,7 +254,7 @@ for (i = 0; i < meldingen.length; i++)
|
||||
fields.push({ dbs: "mld_melding_opmerking", typ: "varchar", val: meld_opm, track: L("lcl_mld_inf_Opmerking"), len: 4000 });
|
||||
|
||||
if (meld_onderwerp)
|
||||
fields.push({ dbs: "mld_melding_onderwerp", typ: "varchar", val: meld_onderwerp, track: L("lcl_mld_inf_Onderwerp"), len: 200 });
|
||||
fields.push({ dbs: "mld_melding_onderwerp", typ: "varchar", val: meld_onderwerp, track: L("lcl_mld_inf_Onderwerp"), len: 80 });
|
||||
|
||||
if (meld_oms)
|
||||
fields.push({ dbs: "mld_melding_omschrijving", typ: "varchar", val: meld_oms, track: L("lcl_mld_inf_Omschrijving"), len: 4000 });
|
||||
@@ -272,7 +273,13 @@ for (i = 0; i < meldingen.length; i++)
|
||||
} // einde update
|
||||
else if (meldaction == "insert")
|
||||
{
|
||||
if (!validStdmld(stdmld_key))
|
||||
|
||||
tsql = "SELECT 1"
|
||||
+ " FROM mld_stdmelding sm"
|
||||
+ " WHERE sm.mld_stdmelding_key = " + (stdmld_key || -1)
|
||||
+ " AND sm.mld_stdmelding_verwijder IS NULL";
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
if (oRs.eof)
|
||||
{
|
||||
resultcode = 3;
|
||||
resulttekst = "Undefined stdmelding";
|
||||
@@ -333,57 +340,52 @@ for (i = 0; i < meldingen.length; i++)
|
||||
}
|
||||
|
||||
tsql = "SELECT alg_locatie_key "
|
||||
+ " FROM alg_v_aanweziglocatie"
|
||||
+ " WHERE alg_locatie_code="+ safe.quoted_sql(meldloc);
|
||||
var oRs_L = Oracle.Execute(tsql);
|
||||
if (!oRs_L.eof)
|
||||
+ " FROM alg_v_aanweziglocatie"
|
||||
+ " WHERE alg_locatie_code="+ safe.quoted_sql(meldloc);
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
alglevel_ok = alglevel_ok || stdmld_niveau == "L";
|
||||
locatie_key = oRs_L("alg_locatie_key").Value;
|
||||
locatie_key = oRs("alg_locatie_key").Value;
|
||||
fields.push({ dbs: "mld_alg_locatie_key", typ: "key", val: locatie_key });
|
||||
|
||||
tsql = "SELECT alg_gebouw_key "
|
||||
+ " FROM alg_v_aanweziggebouw"
|
||||
+ " WHERE alg_locatie_key ="+ locatie_key
|
||||
+ " AND alg_gebouw_code="+ safe.quoted_sql(meldgeb);
|
||||
var oRs_G = Oracle.Execute(tsql);
|
||||
if (!oRs_G.eof)
|
||||
+ " FROM alg_v_aanweziggebouw"
|
||||
+ " WHERE alg_locatie_key ="+ locatie_key
|
||||
+ " AND alg_gebouw_code="+ safe.quoted_sql(meldgeb);
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
alglevel_ok = alglevel_ok || stdmld_niveau == "G";
|
||||
plaats_key = oRs_G("alg_gebouw_key").Value;
|
||||
plaats_key = oRs("alg_gebouw_key").Value;
|
||||
|
||||
tsql = "SELECT alg_verdieping_key "
|
||||
+ " FROM alg_v_aanwezigverdieping"
|
||||
+ " WHERE alg_gebouw_key ="+ plaats_key
|
||||
+ " AND alg_verdieping_code="+ safe.quoted_sql(meldver);
|
||||
var oRs_V = Oracle.Execute(tsql);
|
||||
if (!oRs_V.eof)
|
||||
+ " FROM alg_v_aanwezigverdieping"
|
||||
+ " WHERE alg_gebouw_key ="+ plaats_key
|
||||
+ " AND alg_verdieping_code="+ safe.quoted_sql(meldver);
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
alglevel_ok = alglevel_ok || stdmld_niveau == "V";
|
||||
plaats_key = oRs_V("alg_verdieping_key").Value;
|
||||
plaats_key = oRs("alg_verdieping_key").Value;
|
||||
|
||||
tsql = "SELECT alg_ruimte_key "
|
||||
+ " FROM alg_v_aanwezigruimte"
|
||||
+ " WHERE alg_verdieping_key ="+ plaats_key
|
||||
+ " AND alg_ruimte_nr="+ safe.quoted_sql(meldrnr);
|
||||
var oRs_R = Oracle.Execute(tsql);
|
||||
if (!oRs_R.eof) {
|
||||
+ " FROM alg_v_aanwezigruimte"
|
||||
+ " WHERE alg_verdieping_key ="+ plaats_key
|
||||
+ " AND alg_ruimte_nr="+ safe.quoted_sql(meldrnr);
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
if (!oRs.eof) {
|
||||
alglevel_ok = alglevel_ok || stdmld_niveau == "R";
|
||||
plaats_key = oRs_R("alg_ruimte_key").Value;
|
||||
plaats_key = oRs("alg_ruimte_key").Value;
|
||||
}
|
||||
oRs_R.Close();
|
||||
}
|
||||
oRs_V.Close();
|
||||
}
|
||||
oRs_G.Close();
|
||||
|
||||
if (plaats_key != -1)
|
||||
{
|
||||
fields.push({ dbs: "mld_alg_onroerendgoed_keys", typ: "key", val: plaats_key });
|
||||
}
|
||||
}
|
||||
oRs_L.Close();
|
||||
|
||||
if (!alglevel_ok)
|
||||
{
|
||||
resultcode = 5;
|
||||
@@ -410,11 +412,12 @@ for (i = 0; i < meldingen.length; i++)
|
||||
// Met "WEB_MLDUSE" autorisatie check maak ik deze melding aan. Dan kijk ik hier ook naar de FE setting "FE Defaultwaarde kosten klant aan".
|
||||
var ins_srtdiscipline_kk = (ins_srtdisc_kk & 1) == 1;
|
||||
|
||||
var kpn_key = user.prs_kostenplaats_key() || -1;
|
||||
if ((kpn_key == -1) || (meld_kpn && meld_kpn != ""))
|
||||
var kpn_key = user.afdeling().prs_kostenplaats_key() || -1;
|
||||
if (meld_kpn && meld_kpn != "")
|
||||
{
|
||||
var tempKpn = getKpn(meld_kpn);
|
||||
kpn_key = (tempKpn != -1 ? tempKpn : stdm_info.kp_key);
|
||||
if (tempKpn != -1)
|
||||
kpn_key = tempKpn;
|
||||
}
|
||||
|
||||
if (kpnverplicht && kpn_key < 0)
|
||||
@@ -441,7 +444,7 @@ for (i = 0; i < meldingen.length; i++)
|
||||
{ dbs: "mld_melding_module", typ: "varchar", val: "MLD" },
|
||||
{ dbs: "mld_meldbron_key", typ: "key", val: 6 }, // system
|
||||
{ dbs: "mld_melding_omschrijving", typ: "varchar", val: meld_oms, len: 4000 },
|
||||
{ dbs: "mld_melding_onderwerp", typ: "varchar", val: meld_onderwerp, len: 200 },
|
||||
{ dbs: "mld_melding_onderwerp", typ: "varchar", val: meld_onderwerp, len: 80 },
|
||||
{ dbs: "prs_kostenplaats_key", typ: "key", val: kpn_key },
|
||||
{ dbs: "prs_afdeling_key", typ: "key", val: afd_key },
|
||||
{ dbs: "mld_kosten_klant", typ: "number", val: kpn_key > 0 && ins_srtdiscipline_kk? 1 : null },
|
||||
@@ -467,10 +470,7 @@ for (i = 0; i < meldingen.length; i++)
|
||||
upsertKenmerk(mldkenmerken, stdmld_key, mld_key);
|
||||
|
||||
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze melding.
|
||||
|
||||
// Handle workflow actions for new call:
|
||||
// Let wel: alleen initiele stap ondersteund, niet latere vervolgstappen bij statuswijzigingen!
|
||||
mld.nextworkflowstep(mld_key, -1); // -1 = initial (the originating call)
|
||||
// En nog maar even de aanname dat een extern systeem niet aan workflows/ktos doet?
|
||||
|
||||
// Klantspecifieke check functie (hookfunction) voor de invoer
|
||||
var pResult = new HookResult();
|
||||
@@ -513,52 +513,35 @@ for (i = 0; i < meldingen.length; i++)
|
||||
} // end for
|
||||
// Alle melding-nodes zijn behandeld.
|
||||
|
||||
|
||||
function validStdmld(stdmld_key)
|
||||
{
|
||||
var tsql = "SELECT COUNT(*) aantal"
|
||||
+ " FROM mld_stdmelding sm"
|
||||
+ " WHERE sm.mld_stdmelding_key = " + (stdmld_key || -1)
|
||||
+ " AND sm.mld_stdmelding_verwijder IS NULL";
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
var geldig = (oRs("aantal").Value == 1);
|
||||
oRs.Close();
|
||||
return geldig;
|
||||
}
|
||||
|
||||
function getKpn(meld_kpn)
|
||||
{
|
||||
var kpn_key = -1;
|
||||
if (!meld_kpn)
|
||||
{
|
||||
var temp_sql = "SELECT ''"
|
||||
+ " FROM prs_perslidkostenplaats pkp"
|
||||
+ " WHERE pkp.prs_perslidkostenplaats_boeken = 1"
|
||||
+ " AND (pkp.prs_kostenplaats_key = kp.prs_kostenplaats_key"
|
||||
+ " OR pkp.prs_kostenplaats_key IS NULL)" // Mandated for all
|
||||
+ " AND pkp.prs_perslid_key = " + perslid_key;
|
||||
return -1;
|
||||
|
||||
temp_sql = "SELECT kp.prs_kostenplaats_key"
|
||||
+ " FROM prs_kostenplaats kp"
|
||||
+ " WHERE kp.prs_kostenplaats_verwijder IS NULL"
|
||||
+ " AND (kp.prs_kostenplaats_begin IS NULL"
|
||||
+ " OR kp.prs_kostenplaats_begin < SYSDATE)"
|
||||
+ " AND (kp.prs_kostenplaats_eind IS NULL"
|
||||
+ " OR kp.prs_kostenplaats_eind > SYSDATE)"
|
||||
+ " AND EXISTS ("
|
||||
+ temp_sql
|
||||
+ " )"
|
||||
+ " AND kp.prs_kostenplaats_upper = " + safe.quoted_sql_upper(meld_kpn); // Unique
|
||||
var temp_sql = "SELECT ''"
|
||||
+ " FROM prs_perslidkostenplaats pkp"
|
||||
+ " WHERE pkp.prs_perslidkostenplaats_boeken = 1"
|
||||
+ " AND (pkp.prs_kostenplaats_key = kp.prs_kostenplaats_key"
|
||||
+ " OR pkp.prs_kostenplaats_key IS NULL)" // Mandated for all
|
||||
+ " AND pkp.prs_perslid_key = " + perslid_key;
|
||||
|
||||
var oRs = Oracle.Execute(temp_sql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
kpn_key = oRs("prs_kostenplaats_key").Value;
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
temp_sql = "SELECT kp.prs_kostenplaats_key"
|
||||
+ " FROM prs_kostenplaats kp"
|
||||
+ " WHERE kp.prs_kostenplaats_verwijder IS NULL"
|
||||
+ " AND (kp.prs_kostenplaats_begin IS NULL"
|
||||
+ " OR kp.prs_kostenplaats_begin < SYSDATE)"
|
||||
+ " AND (kp.prs_kostenplaats_eind IS NULL"
|
||||
+ " OR kp.prs_kostenplaats_eind > SYSDATE)"
|
||||
+ " AND EXISTS ("
|
||||
+ temp_sql
|
||||
+ " )"
|
||||
+ " AND kp.prs_kostenplaats_upper = " + safe.quoted_sql_upper(meld_kpn); // Unique
|
||||
|
||||
return kpn_key;
|
||||
var oRs = Oracle.Execute(temp_sql);
|
||||
if (!oRs.EoF)
|
||||
return oRs("prs_kostenplaats_key").Value;
|
||||
oRs.Close();
|
||||
return -1;
|
||||
}
|
||||
|
||||
function getAfd(meld_afd)
|
||||
@@ -733,14 +716,6 @@ function upsertKenmerk(kenmerken, stdmld_key, mld_key)
|
||||
|
||||
xmlResp.appendChild(FCLTElement);
|
||||
|
||||
if (API.apidata.errorhandling == 1 && user.errorhandling() == 1)
|
||||
{
|
||||
if (resultcode > 0) // -1 en 0 zijn 'goed'
|
||||
{
|
||||
Response.Status = '400 Bad Request';
|
||||
}
|
||||
}
|
||||
|
||||
Response.ContentType = "text/xml";
|
||||
if (API.apidata.stylesheet)
|
||||
{
|
||||
@@ -752,4 +727,4 @@ else
|
||||
Response.Write(xmlResp.xml)
|
||||
}
|
||||
%>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -23,15 +23,51 @@ var API = new API_func();
|
||||
// Bij aanmaken van de subscription doet Graph direct aan validatie-aanroep
|
||||
// De token parameter moet je teruggeven.
|
||||
var validationToken = getQParam("validationToken", "");
|
||||
if (validationToken) {
|
||||
if (validationToken)
|
||||
{
|
||||
__Log("Subscribtion validated: " + validationToken);
|
||||
Response.ContentType = "text/plain";
|
||||
Response.Write(validationToken);
|
||||
Response.End;
|
||||
}
|
||||
else
|
||||
{ // We hebben een notificatie ontvangen, stuur direct een 202 conform specificatie
|
||||
Response.Status = "202 - Accepted";
|
||||
Response.Write("");
|
||||
Response.Flush;
|
||||
}
|
||||
|
||||
function _cleanIncomingOutlookQueue() {
|
||||
Application.Lock();
|
||||
var incomingOutlookQueue = JSON.parse(Application(customerId + "_incomingOutlookQueue") || "{}");
|
||||
for (var x in incomingOutlookQueue) {
|
||||
if (incomingOutlookQueue[x] < new Date().getTime()) { // Verwijder verlopen changes die hier nog in staan
|
||||
delete incomingOutlookQueue[x];
|
||||
}
|
||||
}
|
||||
Application(customerId + "_incomingOutlookQueue") = JSON.stringify(incomingOutlookQueue);
|
||||
Application.UnLock();
|
||||
}
|
||||
|
||||
function _updateIncomingOutlookQueue(etag, CRUD) { // etag = 'The HTTP entity tag that represents the version of the object'
|
||||
Application.Lock();
|
||||
var incomingOutlookQueue = JSON.parse(Application(customerId + "_incomingOutlookQueue") || "{}");
|
||||
if (CRUD == "C") {
|
||||
if (etag in incomingOutlookQueue) { // We hebben deze al ontvangen en zijn begonnen met verwerken
|
||||
__Log("MS Graph, duplicate notification ignored", "#FFFF44");
|
||||
Application.UnLock();
|
||||
Response.End;
|
||||
}
|
||||
incomingOutlookQueue[etag] = new Date().getTime() + 4 * 60 * 60 * 1000; // Expired in 4 uur
|
||||
} else if (CRUD == "D") {
|
||||
delete incomingOutlookQueue[etag];
|
||||
}
|
||||
Application(customerId + "_incomingOutlookQueue") = JSON.stringify(incomingOutlookQueue);
|
||||
Application.UnLock();
|
||||
}
|
||||
|
||||
// Als we hier komen hebben we een echte notificatie binnengekregen
|
||||
var notidata = RequestJSON(API.apidata.loglevel).value;
|
||||
var notidata = RequestJSON().value;
|
||||
if (notidata.length > 1) {
|
||||
__DoLog("INTERNAL ERROR; We hebben meerdere notificaties in 1x ontvangen, dat kunnen we (nog) niet aan", "#FF0000");
|
||||
}
|
||||
@@ -43,10 +79,12 @@ try {
|
||||
} catch (e) {
|
||||
__DoLog("Malformed MS Graph notification received:", "#FF0000");
|
||||
__DoLog(notidata, "#FF0000");
|
||||
Response.Status = "400 - Bad Request";
|
||||
Response.End;
|
||||
}
|
||||
|
||||
_cleanIncomingOutlookQueue();
|
||||
_updateIncomingOutlookQueue(etag, "C");
|
||||
|
||||
// {
|
||||
// "value": [
|
||||
// {
|
||||
@@ -68,10 +106,8 @@ try {
|
||||
// We hebben res_ruimte_key meegegeven in de hookurl. Er zijn meer manieren
|
||||
// om de ruimte te achterhalen maar deze is het snelst/ simpelst
|
||||
var res_ruimte_key = getQParamInt("res_ruimte", -1);
|
||||
if (res_ruimte_key == -1) {
|
||||
Response.Status = "422 - Unprocessable Content";
|
||||
Response.End;
|
||||
}
|
||||
if (res_ruimte_key == -1)
|
||||
Response.End; // even geen errors
|
||||
var sql = "SELECT res_ruimte_extern_id,"
|
||||
+ " res_ruimte_graphhooksecret"
|
||||
+ " FROM res_ruimte"
|
||||
@@ -90,51 +126,20 @@ if (zaalemail == null || oRs("res_ruimte_graphhooksecret").Value != notidata.cli
|
||||
notidata.subscriptionExpirationDateTime));
|
||||
}
|
||||
oRs.Close();
|
||||
Response.Status = "422 - Unprocessable Content";
|
||||
Response.End;
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
var fso = Server.CreateObject("Scripting.FileSystemObject");
|
||||
var tempFolder = shared.tempFolder();
|
||||
if (!fso.FolderExists(tempFolder)) {
|
||||
fso.CreateFolder(tempFolder);
|
||||
}
|
||||
var exchangeFolder = tempFolder + "/exchange";
|
||||
if (!fso.FolderExists(exchangeFolder)) {
|
||||
fso.CreateFolder(exchangeFolder);
|
||||
}
|
||||
var logfile_path = exchangeFolder + "/" + safe.filename(etag) + ".data";
|
||||
if (fso.FileExists(logfile_path)) { // Notificaties zijn uniek obv etag, deze is dus dubbel
|
||||
__Log("MS Graph, duplicate notification ignored", "#FFFF44");
|
||||
} else {
|
||||
try {
|
||||
var ts = fso.CreateTextFile(logfile_path, true);
|
||||
ts.Write(JSON.stringify(notidata, null, 2));
|
||||
ts.Close();
|
||||
} catch (e) {
|
||||
__DoLog("Failed writing to {0}\n{1}".format(logfile_path, e.description));
|
||||
}
|
||||
sql = "INSERT INTO fac_notificatie (fac_srtnotificatie_key,"
|
||||
+ " fac_notificatie_queue,"
|
||||
+ " fac_notificatie_refkey,"
|
||||
+ " fac_notificatie_attachments,"
|
||||
+ " fac_notificatie_naam,"
|
||||
+ " fac_notificatie_notbefore,"
|
||||
+ " fac_notificatie_status)"
|
||||
+ " SELECT fac_srtnotificatie_key"
|
||||
+ " , 'EXCHANGE'"
|
||||
+ " , " + res_ruimte_key
|
||||
+ " , " + safe.quoted_sql(logfile_path)
|
||||
+ " , " + safe.quoted_sql(zaalemail)
|
||||
+ " , SYSDATE"
|
||||
+ " , 1" // Met 1 omzeilen we fac.cleannotifications en zorgen we dat fac_t_fac_notificatie_A_IU niet de PUTORDERS inschiet (Wij doen er verder niets mee)
|
||||
+ " FROM fac_srtnotificatie"
|
||||
+ " WHERE fac_srtnotificatie_code = 'RESUPD'";
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
var DEZE = this;
|
||||
var hook = hookfunc.gethook("utils/exchange/process_webhook.wsc");
|
||||
hook.initialize({
|
||||
DEZE: DEZE,
|
||||
custabspath: Server.MapPath(custpath)
|
||||
});
|
||||
hook.process_webhook(res_ruimte_key, zaalemail, notidata);
|
||||
hook = null;
|
||||
|
||||
Response.Status = "202 - Accepted";
|
||||
_updateIncomingOutlookQueue(etag, "D"); // En verwijder hem maar weer
|
||||
Response.Write("");
|
||||
ASPPAGE_END();
|
||||
Response.End;
|
||||
%>
|
||||
|
||||
@@ -121,19 +121,11 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
var onderwerp = XMLval(opdrachten[i], "onderwerp"); // NEW
|
||||
var opdr_kpn = XMLval(opdrachten[i], "kostenplaats");
|
||||
var flag = parseInt(XMLval(opdrachten[i], "flag"), 10);
|
||||
var actiecode = parseInt(XMLval(opdrachten[i], "actiecode"), 10);
|
||||
|
||||
var txt_mut_datum = XMLval(opdrachten[i], "mut_datum"); // UPD
|
||||
var opdrstatus = XMLval(opdrachten[i], "status"); // UPD
|
||||
var opdropmerking = XMLval(opdrachten[i], "opmerking"); // UPD
|
||||
var opdrnote = XMLval(opdrachten[i], "note"); // UPD
|
||||
var opdrnoteflag = parseInt(XMLval(opdrachten[i], "noteflag")); // UPD
|
||||
var note_key = -1; // vooralnog
|
||||
|
||||
// Welke tracking gaan we registreren?
|
||||
var status_tracking_key = -1; // prio1
|
||||
var datum_tracking_key = -1; // prio2
|
||||
var update_tracking_key = -1; // prio3
|
||||
|
||||
var opdrgereed = XMLval(opdrachten[i], "datumgereed"); // NEW/UPD
|
||||
var opdrkosten = XMLval(opdrachten[i], "kosten"); // NEW/UPD
|
||||
@@ -450,6 +442,12 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
Oracle.Execute(tsql);
|
||||
resultcode = 0; // we zijn klaar.
|
||||
}
|
||||
if (resultcode == -1 && opdraction == "update" && opdrnote != null)
|
||||
{
|
||||
tsql = "INSERT INTO mld_opdr_note(mld_opdr_key, prs_perslid_key, mld_opdr_note_omschrijving)"
|
||||
+ " VALUES (" + opdr_key + "," + user_key + "," + safe.quoted_sql(opdrnote) + ")";
|
||||
Oracle.Execute(tsql);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -495,13 +493,7 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
|
||||
// Dit zijn de wijzigingen, die voeren we alleen uit bij een geldige statuswijziging
|
||||
// of geen statuswijziging
|
||||
var canOpmChange = opdraction == "insert" ||
|
||||
this_opdr.canOpmChange &&
|
||||
( S("mld_afhandeling_restrict_edit") == 0 // Hier mag het afhandeling veld altijd aangepast worden
|
||||
|| opdrstatus != null && (oldstatus == 5 || oldstatus == 8) && // En anders alleen bij het afmelden, afwijzen of annuleren
|
||||
( opdrstatus == 'ORDAFM' && this_opdr.canClose // Verifieer dat we gaan (en mogen) afmelden
|
||||
|| opdrstatus == 'ORDCAN' && this_opdr.canCancel)); // Verifieer dat we gaan (en mogen) annuleren
|
||||
if (opdropmerking != null && canOpmChange)
|
||||
if (opdropmerking != null)
|
||||
{ // opmerking bij de opdracht
|
||||
var new_opm = opdropmerking;
|
||||
if (ORDremark == 5) // Append
|
||||
@@ -546,11 +538,11 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
}
|
||||
}
|
||||
|
||||
if (opdrkosten != null && (opdraction == "insert" || this_opdr.canUrenMatChange))
|
||||
if (opdrkosten != null)
|
||||
opdr_fields.push({ dbs: "mld_opdr_kosten", typ: "float", val: opdrkosten, track: L("lcl_total_cost") });
|
||||
if (opdruren != null && (opdraction == "insert" || this_opdr.canUrenMatChange))
|
||||
if (opdruren != null)
|
||||
opdr_fields.push({ dbs: "mld_opdr_uren", typ: "float", val: opdruren, track: L("lcl_hours") });
|
||||
if (opdrmateriaal != null && (opdraction == "insert" || (this_opdr.typeopdr_materiaal < 2 && this_opdr.canUrenMatChange)))
|
||||
if (opdrmateriaal != null)
|
||||
opdr_fields.push({ dbs: "mld_opdr_materiaal", typ: "float", val: opdrmateriaal, track: L("lcl_mld_material") });
|
||||
if (opdruurloon != null)
|
||||
opdr_fields.push({ dbs: "mld_opdr_uurloon", typ: "float", val: opdruurloon, track: L("lcl_prs_person_uurloon") });
|
||||
@@ -559,7 +551,7 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
var formattedID = ins_srtdiscipline_prefix + opdrid;
|
||||
|
||||
var orddat_tracking = "";
|
||||
if (opdrgereed != null && (opdraction == "insert" || this_opdr.canDatesChange))
|
||||
if (opdrgereed != null)
|
||||
{
|
||||
var old_einddatum = mld_opdr.mld_opdr_einddatum;
|
||||
var new_einddatum = XMLtoJsDate(opdrgereed);
|
||||
@@ -574,7 +566,7 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
|
||||
// Plandatum wordt apart getracked want deze heeft zijn eigen tracking code (ORDPLD)
|
||||
var ordpld_tracking = "";
|
||||
if (plandatum != null && (opdraction == "insert" || this_opdr.canPlanDatesChange))
|
||||
if (plandatum != null)
|
||||
{
|
||||
var new_plandatum;
|
||||
if (plandatum == "")
|
||||
@@ -596,7 +588,7 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
|
||||
// Plandatum2 wordt apart getracked want deze heeft zijn eigen tracking code (ORDPL2)
|
||||
var ordpl2_tracking = "";
|
||||
if ((S("mld_use_plandate2") & 2 && plandatum2 != null) && (opdraction == "insert" || this_opdr.canPlanDatesChange))
|
||||
if (S("mld_use_plandate2") & 2 && plandatum2 != null)
|
||||
{
|
||||
var new_plandatum2;
|
||||
if (plandatum2 == "")
|
||||
@@ -618,7 +610,7 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
|
||||
if ((this_opdr.canHervatten && resume) || (this_opdr.canOnderbreken && halt))
|
||||
{
|
||||
status_tracking_key = mld.opdr_hltrsm(opdr_key, { halt: halt, resume: resume }); // Zorgt voor het zetten van de mld_opdr.mld_opdr_halted waarde en het tracken van "ORDHLT" of "ORDRSM".
|
||||
mld.opdr_hltrsm(opdr_key, { halt: halt, resume: resume }); // Zorgt voor het zetten van de mld_opdr.mld_opdr_halted waarde en het tracken van "ORDHLT" of "ORDRSM".
|
||||
}
|
||||
else if (resume || halt)
|
||||
{
|
||||
@@ -646,12 +638,10 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
forcetracking = true;
|
||||
|
||||
if (((halt && mld_opdr.halted) || (resume && !mld_opdr.halted)) && forcetracking)
|
||||
{
|
||||
// De status staat al op halted of resume maar er is nog geen "ORDHLT" of "ORDRSM" tracking aanwezig.
|
||||
// Dan deze tracking alsnog aanmaken m.b.v. de functie opdr_hltrsm.
|
||||
// De functie zorgt ook voor het leegmaken van verplichte onderbreek kenmerken bij het hervatten.
|
||||
status_tracking_key = mld.opdr_hltrsm(opdr_key, { halt: halt, resume: resume, forcetracking: true }); // Zorgt voor het zetten van de mld_opdr.mld_opdr_halted waarde en het tracken van "ORDHLT" of "ORDRSM".
|
||||
}
|
||||
mld.opdr_hltrsm(opdr_key, { halt: halt, resume: resume, forcetracking: true }); // Zorgt voor het zetten van de mld_opdr.mld_opdr_halted waarde en het tracken van "ORDHLT" of "ORDRSM".
|
||||
resultcode = -1; // Hij was al halted of resumed, niet erg dus.
|
||||
}
|
||||
}
|
||||
@@ -777,7 +767,7 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
{
|
||||
var mldUpd = buildTrackingUpdate("mld_opdr", "mld_opdr_key = " + opdr_key, opdr_fields, { noValidateToken: true });
|
||||
Oracle.Execute(mldUpd.sql);
|
||||
update_tracking_key = mld.trackopdrachtupdate(opdr_key, L("lcl_ord_is_updatedbysoap") + "\n" + mldUpd.trackarray.join("\n"));
|
||||
mld.trackopdrachtupdate(opdr_key, L("lcl_ord_is_updatedbysoap") + "\n" + mldUpd.trackarray.join("\n"));
|
||||
if (mut_datum) // Antedateren voor SLA rapportages.
|
||||
{
|
||||
var sql = "BEGIN fac.backtrackaction('ORDUPD', " + opdr_key + ", " + user_key + ", " + mut_datum.toSQL(true) +"); END;"
|
||||
@@ -786,17 +776,17 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
// Tracken en notificeren van de einddatum (ORDDAT) (notificeren aan de gebouwverantwoordelijke van het betreffende gebouw van de onderliggende melding).
|
||||
if (orddat_tracking != "")
|
||||
{
|
||||
datum_tracking_key = mld.trackopdreinddatumupdate(opdr_key, orddat_tracking);
|
||||
mld.trackopdreinddatumupdate(opdr_key, orddat_tracking);
|
||||
}
|
||||
// Tracken en notificeren van de geplande aanvang datum (ORDPLD) (notificeren aan interne contactpersoon).
|
||||
if (ordpld_tracking != "")
|
||||
{
|
||||
datum_tracking_key = mld.trackopdrplandatumupdate(opdr_key, ordpld_tracking);
|
||||
mld.trackopdrplandatumupdate(opdr_key, ordpld_tracking);
|
||||
}
|
||||
// Tracken en notificeren van de geplande einddatum (ORDPL2) (notificeren aan interne contactpersoon).
|
||||
if (S("mld_use_plandate2") & 2 && ordpl2_tracking != "")
|
||||
{
|
||||
datum_tracking_key = mld.trackopdrplandatum2update(opdr_key, ordpl2_tracking);
|
||||
mld.trackopdrplandatum2update(opdr_key, ordpl2_tracking);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -822,15 +812,14 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
}
|
||||
|
||||
// De kenmerken.
|
||||
update_tracking_key = coalesce(update_tracking_key, upsertKenmerk(opdrkenmerken, topdr_key, opdr_key));
|
||||
upsertKenmerk(opdrkenmerken, topdr_key, opdr_key);
|
||||
|
||||
// De opdrachtregels.
|
||||
update_tracking_key = coalesce(update_tracking_key, upsertOpdrRegels(opdrregels, mld_opdr));
|
||||
upsertOpdrRegels(opdrregels, mld_opdr);
|
||||
|
||||
if (newstatus != -1)
|
||||
{
|
||||
add_note(); // zodat we note_key hebben
|
||||
mld.setopdrachtstatus(opdr_key, newstatus, null, note_key);
|
||||
mld.setopdrachtstatus(opdr_key, newstatus);
|
||||
// Hier terugchecken van de status
|
||||
tsql = "SELECT mld_statusopdr_key FROM mld_opdr"
|
||||
+ " WHERE mld_opdr_key="+ opdr_key;
|
||||
@@ -871,7 +860,7 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
"ORDACP": L("lcl_ord_is_ordacp"),
|
||||
"ORDAFR": L("lcl_ord_is_ordafr")
|
||||
}[opdrstatus];
|
||||
update_tracking_key = coalesce(update_tracking_key, mld.trackopdrachtupdate(opdr_key, L("lcl_ord_is_ordupd") + "\n" + txt + L("lcl_trackto") + toDateTimeString(mut_datum)));
|
||||
mld.trackopdrachtupdate(opdr_key, L("lcl_ord_is_ordupd") + "\n" + txt + L("lcl_trackto") + toDateTimeString(mut_datum));
|
||||
}
|
||||
|
||||
// Zijn er nog lopende opdrachten
|
||||
@@ -883,12 +872,6 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
if (oRs("lopend").Value == 0)
|
||||
{ // Er zijn alleen opdrachten met status 1 (Afgewezen) of 6/9 (Afgemeld/Afgerond)
|
||||
// Check of setting bij opdrachttype automatisch sluiten ALTIJD (= 2) toestaat.
|
||||
|
||||
// Ondertussen kan de status van de opdracht aangepast zijn.
|
||||
// De waarde this_mld.canClose kan daarom niet meer juist zijn omdat deze van de status afhankelijk is.
|
||||
// Daarom moet de waarde opnieuw bepaald worden (PROR#90212 / PROR#90706).
|
||||
var this_mld2 = mld.func_enabled_melding(mld_opdr.mld_key);
|
||||
|
||||
tsql = "SELECT mld_typeopdr_sluitmelding FROM mld_typeopdr"
|
||||
+ " WHERE mld_typeopdr_key = " + topdr_key;
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
@@ -896,7 +879,7 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
// Afhankelijk van sluitmelding nu melding status zetten (0=nooit, 1=vragen en 2=altijd)
|
||||
// Als de laatste opdracht een cancel was dan wordt de melding niet afgemeld.
|
||||
if ((oRs("mld_typeopdr_sluitmelding").Value == 2 || oRs("mld_typeopdr_sluitmelding").Value == 1)
|
||||
&& this_mld2.canClose
|
||||
&& this_mld.canClose
|
||||
&& opdrstatus != 'ORDCAN')
|
||||
{
|
||||
mld.setmeldingstatus (mld_key, 5); // Afgemeld
|
||||
@@ -911,6 +894,8 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
// Zodat die bij de FO weer onder Inbehandeling valt.
|
||||
mld.setmeldingstatus (mld_key, 4); // Geaccepteerd
|
||||
}
|
||||
// else status van de melding niet aanpassen.
|
||||
resultcode = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -923,48 +908,13 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
|
||||
if (resultcode == -1) // Nog steeds geen fouten.
|
||||
{
|
||||
var tracking_key = coalesce(coalesce(status_tracking_key, datum_tracking_key), update_tracking_key); // volgorde van belangrijkheid
|
||||
add_note(tracking_key); // voor als nog niet eerder gebeurd
|
||||
|
||||
// Alleen als er een notitie is aangemaakt mag ik de actiecode ook aanpassen.
|
||||
if (note_key > 0)
|
||||
{ // Er is een notitie aangemaakt.
|
||||
// Actie bij +1=FOBO behandelaar, +2=melder, +4=uitvoerende, +128=attentie FOBO, +512=attentie uitvoerende.
|
||||
if (resultcode == -1 && !isNaN(actiecode) && actiecode >= 0)
|
||||
{ // Actie code.
|
||||
var newActiecode = 0;
|
||||
|
||||
if ((actiecode & 128) == 128)
|
||||
{
|
||||
newActiecode += 128; // BO attentie
|
||||
}
|
||||
|
||||
var BOactie = false;
|
||||
if (S("mld_opdr_actiecode") > 0 && ((actiecode & 1) == 1))
|
||||
{
|
||||
newActiecode += 1; // + BO actie
|
||||
BOactie = true;
|
||||
}
|
||||
|
||||
var sql = "UPDATE mld_opdr"
|
||||
+ " SET mld_opdr_actiecode = mld_opdr_actiecode" // Bestaande bitjes zoals 512 mag niet verloren gaan.
|
||||
+ " + " + newActiecode
|
||||
+ " - BITAND(mld_opdr_actiecode, " + newActiecode + ")" // Als het bitje 1 of 128 al gezet was dan deze waarde weer in minderinig brengen.
|
||||
+ (BOactie
|
||||
? " - BITAND(mld_opdr_actiecode, 6)" // Van de bitjes 1+2+4 (=7) moet er altijd 1 aan staan. Als we bitje 1 zetten, dan moeten we bitjes 2 of 4 wissen.
|
||||
: "") // Bitje 1 is niet gezet. Bitjes 2 en 4 ongemoeit laten.
|
||||
+ " WHERE mld_opdr_key = " + mld_opdr.opdr_key;
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
}
|
||||
|
||||
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze opdracht.
|
||||
}
|
||||
else if (resultcode > 0)
|
||||
{
|
||||
var logtxt = "api_opdrsoap fail.\nResultcode: {0}\nReturntekst: {1}\nOpdracht: {2}\nOldstatus: {3}".format(resultcode, resulttekst, opdrid, oldstatus);
|
||||
if (resulttekst.match(/^Not authorized/)) // Dit komt heel vaak voor door updates op gesloten opdrachten.
|
||||
__Log(logtxt); // Het vervuilt de logfile veel te veel
|
||||
__Log(logtxt); // Het vervuilt de logfile veel te veel
|
||||
else
|
||||
__DoLog(logtxt, "#00FF00");
|
||||
}
|
||||
@@ -991,45 +941,7 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
} // end for
|
||||
// Alle opdracht-nodes zijn behandeld.
|
||||
|
||||
// Voeg een notitie toe en koppel hem eventueel direct aan tracking_key
|
||||
function add_note(tracking_key)
|
||||
{
|
||||
if (/*global*/ note_key > 0)
|
||||
return; // hadden we het al gedaan
|
||||
|
||||
if (opdraction == "update" && opdrnote != null)
|
||||
{
|
||||
var fields = [ { dbs: "mld_opdr_note_key", typ: "key", seq: "mld_s_mld_opdr_note_key" },
|
||||
{ dbs: "mld_opdr_key", typ: "key", val: opdr_key },
|
||||
{ dbs: "prs_perslid_key", typ: "key", val: user_key },
|
||||
{ dbs: "mld_opdr_note_flag", typ: "number", val: opdrnoteflag || 4 }, // default alleen uitvoerende, +1 voor FE-zichtbaar
|
||||
{ dbs: "mld_opdr_note_omschrijving", typ: "varchar", val: opdrnote, len: 4000 }
|
||||
];
|
||||
var noteIns = buildInsert("mld_opdr_note", fields, { noValidateToken: true });
|
||||
note_key = noteIns.sequences["mld_opdr_note_key"];
|
||||
Oracle.Execute(noteIns.sql);
|
||||
|
||||
if (!(tracking_key > 0))
|
||||
{ // Er is alleen een losse notitie. De opdracht is niet aangepast.
|
||||
if ((opdrnoteflag & 1) == 1) // voor FE-zichtbaar
|
||||
tracking_key = mld.trackmeldingaddnote(mld_key); // MLDNOT tracking.
|
||||
else
|
||||
tracking_key = mld.trackopdrachtaddnote(opdr_key); // ORDNOB tracking.
|
||||
}
|
||||
var sql = "UPDATE mld_opdr_note"
|
||||
+ " SET fac_tracking_key = " + tracking_key
|
||||
+ " WHERE mld_opdr_note_key = " + note_key;
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
}
|
||||
|
||||
// Als key1 geldig is heeft die de voorkeur, anders keys
|
||||
function coalesce(key1, key2)
|
||||
{
|
||||
if (key1 > 0)
|
||||
return key1;
|
||||
return key2;
|
||||
}
|
||||
|
||||
function upsertKenmerk(kenmerken, topdr_key, opdr_key)
|
||||
{
|
||||
@@ -1087,7 +999,6 @@ function upsertKenmerk(kenmerken, topdr_key, opdr_key)
|
||||
switch (kenmerk_type)
|
||||
{
|
||||
case 'R':
|
||||
case 'r':
|
||||
case 'S':
|
||||
{
|
||||
// read reference fields
|
||||
@@ -1106,7 +1017,7 @@ function upsertKenmerk(kenmerken, topdr_key, opdr_key)
|
||||
{ // We ondersteunen alleen nog maar karakter- en bestandsnaam-velden.
|
||||
// AEG: Maar wat maakt een nummer nu anders dan een karakter ?
|
||||
var vnew = kenmerk_waarde;
|
||||
if (kenmerk_type == 'R' || kenmerk_type == 'r' || kenmerk_type == 'S')
|
||||
if (kenmerk_type == 'R' || kenmerk_type == 'S')
|
||||
{
|
||||
if (vnew)
|
||||
{
|
||||
@@ -1119,7 +1030,7 @@ function upsertKenmerk(kenmerken, topdr_key, opdr_key)
|
||||
{
|
||||
var kenmerkopdr_key = oRs("mld_kenmerkopdr_key").Value;
|
||||
var vold = oRs("mld_kenmerkopdr_waarde").Value; // Voor tracking
|
||||
if (kenmerk_type == 'R' || kenmerk_type == 'r' || kenmerk_type == 'S')
|
||||
if (kenmerk_type == 'R' || kenmerk_type == 'S')
|
||||
{
|
||||
if (vold)
|
||||
{
|
||||
@@ -1210,15 +1121,13 @@ function upsertKenmerk(kenmerken, topdr_key, opdr_key)
|
||||
// Via de GUI komt dit in hetzelfde tracking record als de vaste-velden-wijziging.
|
||||
// Hier komt het in een eigen tracking record. Daar kan ik mee leven.
|
||||
if (flextrack.length)
|
||||
return mld.trackopdrachtupdate(opdr_key, L("lcl_ord_is_updatedbysoap") + "\n" + flextrack.join("\n"));
|
||||
|
||||
return -1; // else geen trackingkey
|
||||
mld.trackopdrachtupdate(opdr_key, L("lcl_ord_is_updatedbysoap") + "\n" + flextrack.join("\n"));
|
||||
}
|
||||
|
||||
|
||||
function isGoodCurrency(str)
|
||||
{
|
||||
var anum = /^([-\+]?\d{1,6}[.,]?|[-\+]?\d{0,6}[.,]\d{1,7})$/
|
||||
var anum = /^([-\+]?\d{1,6}[.,]?|[-\+]?\d{0,6}[.,]\d{1,2})$/
|
||||
return anum.test(str);
|
||||
}
|
||||
|
||||
@@ -1226,8 +1135,6 @@ function upsertOpdrRegels(regels, mld_opdr)
|
||||
{
|
||||
var opdr_key = mld_opdr.opdr_key;
|
||||
var mat_key_list = [];
|
||||
var mat_tracking_arr = [];
|
||||
var tracking_key = -1;
|
||||
for (var r = 0; r < regels.length; r++)
|
||||
{
|
||||
var mat_fields = []; // Bij te werken velden.
|
||||
@@ -1362,18 +1269,18 @@ function upsertOpdrRegels(regels, mld_opdr)
|
||||
// Aantal is groter dan 0. Opdrachtregel toevoegen (Update).
|
||||
// Als aantal 0 is dan is de materiaalregel al verwijderd en kom je hier niet.
|
||||
mat_fields = mat_fields.concat(
|
||||
[ { dbs: "mld_opdr_materiaal_aantal", typ: "float", savewhen: aantal !== null, track: L("lcl_mld_opdr_aantal"), val: aantalval },
|
||||
{ dbs: "mld_opdr_materiaal_eenheidcode", typ: "varchar", savewhen: eenheidcode !== null, track: L("lcl_mld_opdr_eenheidcode"), val: eenheidcode, len: 10 },
|
||||
{ dbs: "mld_opdr_materiaal_eenheid", typ: "varchar", savewhen: eenheid !== null, track: L("lcl_mld_opdr_eenheid"), val: eenheid, len: 30 },
|
||||
{ dbs: "mld_opdr_materiaal_prijs", typ: "float", savewhen: prijs !== null, track: L("lcl_mld_opdr_prijs"), val: (prijs? prijsval : null) },
|
||||
{ dbs: "mld_opdr_materiaal_code", typ: "varchar", savewhen: matcode !== null, track: L("lcl_mld_opdr_code"), val: matcode, len: 30 },
|
||||
{ dbs: "mld_opdr_materiaal_omschr", typ: "varchar", savewhen: omschr !== null, track: L("lcl_mld_opdr_omschr"), val: omschr, len: 255 },
|
||||
{ dbs: "mld_opdr_materiaal_info", typ: "varchar", savewhen: info !== null, track: L("lcl_mld_opdr_info"), val: info, len: 4000 },
|
||||
{ dbs: "mld_opdr_materiaal_groep", typ: "varchar", savewhen: groep !== null, track: L("lcl_mld_opdr_groep"), val: groep, len: 60 },
|
||||
{ dbs: "mld_opdr_materiaal_extra1", typ: "varchar", savewhen: extra1 !== null, track: L("lcl_mld_opdr_extra1"), val: extra1, len: 60 },
|
||||
{ dbs: "mld_opdr_materiaal_extra2", typ: "varchar", savewhen: extra2 !== null, track: L("lcl_mld_opdr_extra2"), val: extra2, len: 60 },
|
||||
{ dbs: "mld_opdr_materiaal_extra3", typ: "varchar", savewhen: extra3 !== null, track: L("lcl_mld_opdr_extra3"), val: extra3, len: 4000 },
|
||||
{ dbs: "mld_opdr_materiaal_extra4", typ: "varchar", savewhen: extra4 !== null, track: L("lcl_mld_opdr_extra4"), val: extra4, len: 4000 }
|
||||
[ { dbs: "mld_opdr_materiaal_aantal", typ: "float", savewhen: aantal !== null, val: aantalval },
|
||||
{ dbs: "mld_opdr_materiaal_eenheidcode", typ: "varchar", savewhen: eenheidcode !== null, val: eenheidcode, len: 10 },
|
||||
{ dbs: "mld_opdr_materiaal_eenheid", typ: "varchar", savewhen: eenheid !== null, val: eenheid, len: 30 },
|
||||
{ dbs: "mld_opdr_materiaal_prijs", typ: "float", savewhen: prijs !== null, val: (prijs? prijsval : null) },
|
||||
{ dbs: "mld_opdr_materiaal_code", typ: "varchar", savewhen: matcode !== null, val: matcode, len: 30 },
|
||||
{ dbs: "mld_opdr_materiaal_omschr", typ: "varchar", savewhen: omschr !== null, val: omschr, len: 255 },
|
||||
{ dbs: "mld_opdr_materiaal_info", typ: "varchar", savewhen: info !== null, val: info, len: 4000 },
|
||||
{ dbs: "mld_opdr_materiaal_groep", typ: "varchar", savewhen: groep !== null, val: groep, len: 60 },
|
||||
{ dbs: "mld_opdr_materiaal_extra1", typ: "varchar", savewhen: extra1 !== null, val: extra1, len: 60 },
|
||||
{ dbs: "mld_opdr_materiaal_extra2", typ: "varchar", savewhen: extra2 !== null, val: extra2, len: 60 },
|
||||
{ dbs: "mld_opdr_materiaal_extra3", typ: "varchar", savewhen: extra3 !== null, val: extra3, len: 4000 },
|
||||
{ dbs: "mld_opdr_materiaal_extra4", typ: "varchar", savewhen: extra4 !== null, val: extra4, len: 4000 }
|
||||
]);
|
||||
|
||||
if ((btw || btw == 0) && (!isNaN (btwval) && btwval >= 0))
|
||||
@@ -1403,14 +1310,20 @@ function upsertOpdrRegels(regels, mld_opdr)
|
||||
var matUpd = buildTrackingUpdate("mld_opdr_materiaal", "mld_opdr_materiaal_key = " + materiaal_key, mat_fields, { noValidateToken: true });
|
||||
|
||||
// Zijn er velden die gewijzigd moeten worden? Als matUpd null is, dan waren alle savewhen condities false en hoeft er niets geupdate te worden.
|
||||
if (matUpd && matUpd.sql && matUpd.trackarray.length) { // Als trackarray.length === 0 dan is er effectief niets aangepast (we tracken alles)
|
||||
if (matUpd && matUpd.sql)
|
||||
{ // Er zijn wijzigingen.
|
||||
Oracle.Execute(matUpd.sql);
|
||||
mat_tracking_arr.push(L("lcl_ord_is_upd_material").format(id) + "\n" + matUpd.trackarray.join("\n"));
|
||||
mld.trackopdrachtupdate(opdr_key, L("lcl_ord_is_updatedbysoap") + "\n" + L("lcl_ord_is_upd_material").format(id) + "\n" + matUpd.trackarray.join("\n"));
|
||||
}
|
||||
}
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
var sql_del = "DELETE mld_opdr_materiaal"
|
||||
+ " WHERE mld_opdr_key = " + opdr_key
|
||||
+ " AND mld_opdr_materiaal_key NOT IN (" + mat_key_list.join(",") + ")";
|
||||
Oracle.Execute(sql_del);
|
||||
|
||||
// 1) Nieuwe materiaalbedrag in de opdracht opslaan.
|
||||
// 2) De totaalwaarde opnieuw berekenen want het materiaalbedrag is aangepast.
|
||||
// Dan hebben we het correctie bedrag ook nodig. Dit correctie bedrag moet hetzelfde blijven.
|
||||
@@ -1427,32 +1340,10 @@ function upsertOpdrRegels(regels, mld_opdr)
|
||||
+ " WHERE mld_opdr_key = " + opdr_key
|
||||
Oracle.Execute(sql_total);
|
||||
}
|
||||
|
||||
if (mat_tracking_arr.length)
|
||||
{ // Er zijn wijzigingen.
|
||||
tracking_key = mld.trackopdrachtupdate(opdr_key, L("lcl_ord_is_updatedbysoap") + "\n" + mat_tracking_arr.join("\n"));
|
||||
}
|
||||
|
||||
if (mat_key_list.length) {
|
||||
var sql_del = "DELETE mld_opdr_materiaal"
|
||||
+ " WHERE mld_opdr_key = " + opdr_key
|
||||
+ " AND mld_opdr_materiaal_key NOT IN (" + mat_key_list.join(",") + ")";
|
||||
Oracle.Execute(sql_del);
|
||||
}
|
||||
|
||||
return tracking_key;
|
||||
}
|
||||
|
||||
xmlResp.appendChild(FCLTElement);
|
||||
|
||||
if (API.apidata.errorhandling == 1 && user.errorhandling() == 1)
|
||||
{
|
||||
if (resultcode > 0) // -1 en 0 zijn 'goed'
|
||||
{
|
||||
Response.Status = '400 Bad Request';
|
||||
}
|
||||
}
|
||||
|
||||
Response.ContentType = "text/xml";
|
||||
if (API.apidata.stylesheet)
|
||||
{ // Niet super efficient dat we eerst naar tekstuele xml gaan maar ach...
|
||||
|
||||
@@ -184,7 +184,7 @@
|
||||
|
||||
if (resultcode == -1) { // nog steeds geen fouten
|
||||
// Combinatievalidatie ruimte discipline!
|
||||
if (!kpl_ksrt_validate(user.prs_kostenplaats_key(), null, disc_key)) {
|
||||
if (!kpl_ksrt_validate(user.afdeling().prs_kostenplaats_key(), null, disc_key)) {
|
||||
resultcode = 6;
|
||||
resulttekst = "Illegal reservering (cost)";
|
||||
}
|
||||
@@ -207,7 +207,7 @@
|
||||
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.prs_kostenplaats_key() });
|
||||
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 });
|
||||
|
||||
@@ -91,10 +91,10 @@ function L(p_lcl)
|
||||
toonFoto: true,
|
||||
detailurl: "appl/fac/fac_user_info.asp",
|
||||
deeplinkurl: "<%=safe.jsstring(site)%>/?nomenu=1&noheader=1&ihatetabs=1&JumpTo=",
|
||||
fields: [ { lbl: L("lcl_prs_email"), val: "prs_perslid_email" },
|
||||
{ lbl: L("lcl_pb_phone"), val: "prs_perslid_telefoonnr" },
|
||||
{ lbl: L("lcl_pb_mobile"), val: "prs_perslid_mobiel" },
|
||||
{ lbl: L("lcl_pb_afdeling"), val: "afdeling" }
|
||||
fields: [ { lbl: "<%=L("lcl_prs_email")%>", val: "prs_perslid_email" },
|
||||
{ lbl: "<%=L("lcl_pb_phone")%>", val: "prs_perslid_telefoonnr" },
|
||||
{ lbl: "<%=L("lcl_pb_mobile")%>", val: "prs_perslid_mobiel" },
|
||||
{ lbl: "<%=L("lcl_pb_afdeling")%>", val: "afdeling" }
|
||||
]
|
||||
};
|
||||
<%
|
||||
@@ -110,7 +110,7 @@ function L(p_lcl)
|
||||
window.facilitor.show_phonebook = function(data, textStatus)
|
||||
{
|
||||
// Alle styling moet nog via classes
|
||||
var closer = "<span onclick='$(\"#phonebookdetails\").hide()' style='float: right; cursor: pointer' title='<%=safe.htmlattr(L("lcl_close_window"))%>'>x</span>"
|
||||
var closer = "<span onclick='$(\"#phonebookdetails\").hide()' style='float: right; cursor: pointer' title='<%=L("lcl_close_window")%>'>x</span>"
|
||||
if (window.facilitor.phonebook_options.detailurl)
|
||||
{
|
||||
var jumpto = window.facilitor.phonebook_options.detailurl;
|
||||
|
||||
201
APPL/API/phonebook_js_IE11.asp
Normal file
201
APPL/API/phonebook_js_IE11.asp
Normal file
@@ -0,0 +1,201 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: phonebook_js.asp
|
||||
Description: Phonebook API
|
||||
Levert een JavaScript bestand op.
|
||||
Parameters:
|
||||
Context:
|
||||
Note:
|
||||
*/
|
||||
|
||||
DOCTYPE_Disable = 1;
|
||||
FCLTEXPIRES = 8*60; // geen database interactie tenslotte
|
||||
THIS_FILE = "appl/api/phonebook_js.asp";
|
||||
var EXPIRED_PASSWORD_OK = true; // performance
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc"-->
|
||||
<!-- #include file="../api/api.inc" -->
|
||||
|
||||
<%
|
||||
var API = new API_func();
|
||||
|
||||
var nojQuery = getQParam("nojQuery", 0)==1;
|
||||
var suggesticon = getQParam("suggesticon", "");
|
||||
|
||||
var transitParam = "&fac_id="+Session("customerId") + buildTransitParam(["API", "APIKEY", "charset"]);
|
||||
|
||||
var proto = (Request.ServerVariables("SERVER_PORT") == "443")?"https":"http";
|
||||
var sitenoroot = proto + "://" + Request.ServerVariables("SERVER_NAME");
|
||||
var site = sitenoroot + rooturl;
|
||||
|
||||
Response.ContentType = "application/javascript";
|
||||
//lcl.buildClientLCL();
|
||||
// LET OP: Geen FcltMgr.js en dus niet (clientside) zelflerend
|
||||
%>
|
||||
window.facilitor = window.facilitor || {};
|
||||
|
||||
window.facilitor.LCL = {};
|
||||
window.facilitor.LCL["lcl_shared_suggest_hint"] = "<%=safe.jsstring(L("lcl_shared_suggest_hint"))%>";
|
||||
window.facilitor.LCL["lcl_shared_suggest_huidig"] = "<%=safe.jsstring(L("lcl_shared_suggest_huidig"))%>";
|
||||
|
||||
facilitor.phonebook = facilitor.phonebook || {};
|
||||
function L(p_lcl)
|
||||
{
|
||||
if (p_lcl in window.facilitor.LCL)
|
||||
return window.facilitor.LCL[p_lcl];
|
||||
return "??" + p_lcl + "??";
|
||||
}
|
||||
(function() {
|
||||
|
||||
function getScript(src) {
|
||||
document.write('<' + 'script src="<%=site%>/' + src + '"' +
|
||||
' type="text/javascript"><' + '/script>');
|
||||
}
|
||||
|
||||
function getCSS(src) {
|
||||
document.write('<' + 'link rel="stylesheet" href="<%=site%>/' + src + '"' +
|
||||
' type="text/css">');
|
||||
}
|
||||
|
||||
var loadScriptTime = (new Date).getTime();
|
||||
getCSS("appl/shared/suggest/suggest.css");
|
||||
getCSS("appl/api/api.css");
|
||||
|
||||
<% if (!nojQuery) { /* kan conflicteren */ %>
|
||||
getScript("appl/localscripts/jquery.min.js");
|
||||
<% } %>
|
||||
getScript("appl/shared/suggest/suggest_IE11.js?v=<%=safe.url(FCLTVersion)%>"); // FCLTVersion voor anti-caching. Timestamp is me te veel werk
|
||||
|
||||
<% if (API.apidata.cust_js) { %>
|
||||
getScript("<%=API.apidata.cust_js%>");
|
||||
<% } %>
|
||||
|
||||
window.facilitor.open_phonebook = function(key, naam)
|
||||
{
|
||||
if (key > 0)
|
||||
jQuery.ajax({ type: "GET",
|
||||
url: "<%=safe.jsstring(site)%>/appl/api/get_phonebook_info.asp?req_info=prs_perslid&prs_perslid_key=" + key + "<%=transitParam%>",
|
||||
dataType: "jsonp",
|
||||
success: window.facilitor.show_phonebook
|
||||
});
|
||||
else
|
||||
$("#phonebookdetails").hide()
|
||||
}
|
||||
|
||||
// De default waarden, werkt nog niet TODO
|
||||
window.facilitor.phonebook_options =
|
||||
{ detailWidth : 450,
|
||||
toonFoto: true,
|
||||
detailurl: "appl/fac/fac_user_info.asp",
|
||||
deeplinkurl: "<%=safe.jsstring(site)%>/?nomenu=1&noheader=1&ihatetabs=1&JumpTo=",
|
||||
fields: [ { lbl: "<%=L("lcl_prs_email")%>", val: "prs_perslid_email" },
|
||||
{ lbl: "<%=L("lcl_pb_phone")%>", val: "prs_perslid_telefoonnr" },
|
||||
{ lbl: "<%=L("lcl_pb_mobile")%>", val: "prs_perslid_mobiel" },
|
||||
{ lbl: "<%=L("lcl_pb_afdeling")%>", val: "afdeling" }
|
||||
]
|
||||
};
|
||||
<%
|
||||
// kopieer de serverside overrules naar clientside
|
||||
for (opt in API.apidata.options)
|
||||
{
|
||||
Response.Write("\nwindow.facilitor.phonebook_options['"+opt+"'] = "
|
||||
+ "JSON.parse('"+ safe.jsstring(JSON.stringify(API.apidata.options[opt])) +"')");
|
||||
|
||||
}
|
||||
%>
|
||||
|
||||
window.facilitor.show_phonebook = function(data, textStatus)
|
||||
{
|
||||
// Alle styling moet nog via classes
|
||||
var closer = "<span onclick='$(\"#phonebookdetails\").hide()' style='float: right; cursor: pointer' title='<%=L("lcl_close_window")%>'>x</span>"
|
||||
if (window.facilitor.phonebook_options.detailurl)
|
||||
{
|
||||
var jumpto = window.facilitor.phonebook_options.detailurl;
|
||||
jumpto += (jumpto.indexOf("?")>=0)?"&":"?";
|
||||
jumpto += "prs_key="+data.prs_perslid_key;
|
||||
var link = window.facilitor.phonebook_options.deeplinkurl + escape(jumpto) + "&fac_id=<%=Session("customerId")%>";
|
||||
var ahref = "<a href='"+link+"' target='_new'>"+data.naam+"</a>"
|
||||
}
|
||||
else
|
||||
ahref=date.naam;
|
||||
|
||||
var trh = "<tr><td></td><th colspan='2' class='title'>"+ahref+"</a></th><th></th></tr>"
|
||||
|
||||
var trs = "";
|
||||
if (window.facilitor.phonebook_options.toonFoto && data.photopath)
|
||||
{
|
||||
trs += "<tr><td></td><td></td><td rowspan='50'><img alt='<%=safe.htmlattr(L("lcl_menu_prs_phonebook"))%>' src='<%=safe.jsstring(sitenoroot)%>" + data.photopaththumb.replace(/\'/g,''').replace(/\"/g,'"') +"'></td></tr>";
|
||||
}
|
||||
var fld;
|
||||
for (fld in window.facilitor.phonebook_options.fields)
|
||||
{
|
||||
var field = window.facilitor.phonebook_options.fields[fld];
|
||||
if (field.val && data[field.val])
|
||||
{
|
||||
trs += "<tr><td class='label'>"+field.lbl+"</td>";
|
||||
trs += " <td>"+data[field.val]+"</td></tr>";
|
||||
}
|
||||
if (field.fun)
|
||||
trs += eval(field.fun + "(data)");
|
||||
}
|
||||
|
||||
if (!document.getElementById("phonebookdetails"))
|
||||
{
|
||||
// Alle esthetische styling verloopt via de css
|
||||
var dd = document.createElement('div');
|
||||
dd.id = "phonebookdetails";
|
||||
dd.style.position = "absolute";
|
||||
dd.style.top = $("#sName_key_show").position().top+20 + "px";
|
||||
dd.style.width = window.facilitor.phonebook_options.detailWidth + "px";
|
||||
|
||||
var newLeft = $("#sName_key_show").position().left;
|
||||
if (newLeft + window.facilitor.phonebook_options.detailWidth > document.body.offsetWidth)
|
||||
{ // Wel in beeld houden
|
||||
newLeft = document.body.offsetWidth - window.facilitor.phonebook_options.detailWidth
|
||||
}
|
||||
dd.style.left = newLeft + "px";
|
||||
document.body.appendChild(dd);
|
||||
if (0)$("body").click // even niet, hij is te agressief
|
||||
(
|
||||
function(e)
|
||||
{
|
||||
if($(e.target).closest("#phonebookdetails").length==0)
|
||||
{
|
||||
$("#phonebookdetails").hide();
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
var dd = document.getElementById("phonebookdetails");
|
||||
dd.innerHTML = ""+closer+"<table width='100%'>"+trh + trs+"</table>";
|
||||
dd.style.display = "block";
|
||||
|
||||
}
|
||||
|
||||
window.facilitor.phonebook = function (elm, options)
|
||||
{
|
||||
var opt;
|
||||
for (opt in options)
|
||||
{
|
||||
window.facilitor.phonebook_options[opt] = options[opt];
|
||||
}
|
||||
$(elm).append('<input id="sName_key_show" sgonChange="window.facilitor.open_phonebook" class="fldpers" value="">')
|
||||
$(elm).append('<input type="hidden" id="sName_key" name="sName_key" value="-1">');
|
||||
|
||||
sgPerson = new Suggest({ objectName: "sgPerson",
|
||||
queryField: $("#sName_key_show")[0],
|
||||
queryUrl: "<%=safe.jsstring(site)%>/appl/shared/suggest/SuggestPerslid.asp?filtcode=PHB<%=transitParam%>",
|
||||
initKey: -1,
|
||||
noJustOne: true,
|
||||
keyField: $("#sName_key")[0],
|
||||
JSONP: true,
|
||||
embedded: true,
|
||||
suggesticon: "<%=safe.jsstring(suggesticon)%>",
|
||||
site: "<%=safe.jsstring(site)%>"
|
||||
});
|
||||
};
|
||||
})();
|
||||
<% ASPPAGE_END(); %>
|
||||
@@ -81,7 +81,6 @@ __Log("== Entering shorturl.asp ==");
|
||||
+ " prs_bedrijfadres_lockexpire"
|
||||
+ " FROM prs_bedrijfadres"
|
||||
+ " WHERE prs_bedrijfadres_key = " + locked_bdradr_key
|
||||
+ " AND prs_bedrijfadres_startdatum <= SYSDATE"
|
||||
+ " AND prs_bedrijfadres_locksecret IS NOT NULL"
|
||||
+ " AND prs_bedrijfadres_lockuser_key IS NOT NULL";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
@@ -169,8 +168,7 @@ __Log("== Entering shorturl.asp ==");
|
||||
}
|
||||
else
|
||||
{
|
||||
var sql = "SELECT fac_bookmark_key,"
|
||||
+ " fac_bookmark_path,"
|
||||
var sql = "SELECT fac_bookmark_path,"
|
||||
+ " fac_bookmark_query," // Ooit was bedacht dat je de parameters apart in fac_bookmark_query stopt.
|
||||
+ " prs_perslid_key_auth," // In de praktijk stoppen mensen het ook vaak in fac_bookmark_path
|
||||
+ " fac_bookmark_unauth_url," // Dat kunnen we tegenwoordig (2018.1 Gold C) ook wel aan.
|
||||
@@ -202,7 +200,6 @@ __Log("== Entering shorturl.asp ==");
|
||||
}
|
||||
var refresher = oRs("fac_bookmark_refreshtime").Value;
|
||||
var bookmark_naam = oRs("fac_bookmark_naam").Value;
|
||||
var bookmark_key = oRs("fac_bookmark_key").Value;
|
||||
|
||||
if (user_key < 0)
|
||||
{
|
||||
@@ -212,14 +209,12 @@ __Log("== Entering shorturl.asp ==");
|
||||
if (bookmark_naam != 'faclikedeeplink' && new Perslid(falluser_key).checkAutorisation("WEB_PRSSYS", true))
|
||||
{
|
||||
INTERNAL_ERROR_FALLBACK_CANNOT_HAVE_PRSSYS;
|
||||
// fac_like_deep.asp & fac_like.asp staan we wel toe, die hebben een Session.Abandon();
|
||||
// fac_like_deep.asp staan we wel toe, die heeft een Session.Abandon();
|
||||
}
|
||||
Session("fallback_user_key") = falluser_key; // wordt opgepikt door loginTry.asp
|
||||
}
|
||||
else
|
||||
{
|
||||
Session("unauth_url") = oRs("fac_bookmark_unauth_url").Value; // wordt opgepikt door common.asp
|
||||
}
|
||||
}
|
||||
|
||||
var params = oRs("fac_bookmark_query").Value;
|
||||
@@ -245,9 +240,6 @@ __Log("== Entering shorturl.asp ==");
|
||||
if (oRs("fac_bookmark_flags").Value == 0)
|
||||
var url = protectQS.create(url); // prs/pchange_reset.asp, PRS\prs_perslid_qr_confirm.asp en PRS\self_register_confirm.asp verwachten dit
|
||||
|
||||
if (user_key > -1)
|
||||
shared.registeraction("bookmark", {refkey: bookmark_key, info: bookmark_naam, daily: S("fac_gui_counter_menu_daily")});
|
||||
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
|
||||
@@ -112,7 +112,6 @@ api2 = {
|
||||
case "color":
|
||||
case "symbol":
|
||||
case "varchar":
|
||||
case "clob":
|
||||
val = getFParam(formfields[i].frm, null);
|
||||
break;
|
||||
case "processingtime":
|
||||
@@ -188,7 +187,6 @@ api2 = {
|
||||
filter = "exact";
|
||||
break;
|
||||
case "varchar":
|
||||
case "clob":
|
||||
case "memo":
|
||||
case "html":
|
||||
filter = "like";
|
||||
@@ -405,7 +403,6 @@ api2 = {
|
||||
break;
|
||||
case "varchar": // Als fld.match(/^fclt_d_/) dan is het een old-style rapport filterveld
|
||||
case "memo":
|
||||
case "clob":
|
||||
case "html":
|
||||
if (filterval instanceof Array)
|
||||
{ // O.a. multi filter bij rapportages.
|
||||
@@ -527,7 +524,7 @@ api2 = {
|
||||
else if (typeof operand == "string" && operand != " NOT IN " && operand != " IN ")
|
||||
operand = isNot ? " NOT LIKE " : " LIKE ";
|
||||
|
||||
if (field.typ == "varchar" || field.typ == "memo" || field.typ == "clob" || field.typ == "html")
|
||||
if (field.typ == "varchar" || field.typ == "memo" || field.typ == "html")
|
||||
{
|
||||
if (field.islcl)
|
||||
dbs = "lcl.l({0}, 1)".format(dbs);
|
||||
@@ -536,7 +533,7 @@ api2 = {
|
||||
}
|
||||
if (field.caseinsensitive)
|
||||
{
|
||||
dbs = field.hasupper || "UPPER(" + dbs + ")";
|
||||
dbs = "UPPER(" + dbs + ")";
|
||||
if (safe_val instanceof Array)
|
||||
for (var i = 0; i < safe_val.length; i++)
|
||||
safe_val[i] = safe_val[i].toUpperCase();
|
||||
@@ -694,10 +691,6 @@ api2 = {
|
||||
+ " WHERE xx." + model.primary + " = " + model.table + "." + model.primary + ")";
|
||||
selects.push(sqleenh + " AS " + fld + "_eenheid");
|
||||
}
|
||||
else if (field.typ == "clob" && !params.filter.id)
|
||||
{ // er *kan* een discx3d overheen gaan wat tot een UNION kan leiden wat niet mag met een CLOB
|
||||
selects.push("TO_CHAR(SUBSTR({0}, 1, 4000)) AS {0}".format(field.dbs));
|
||||
}
|
||||
else if (dbs)
|
||||
{
|
||||
// veldnamen moeten gelijk zijn bij het ophalen. Zie ook: sql2jsonval
|
||||
@@ -808,10 +801,7 @@ api2 = {
|
||||
tables.push(tablesql);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!inc.isdetailfor)
|
||||
tables = tables.concat (incquery.tables);
|
||||
}
|
||||
tables = tables.concat (incquery.tables);
|
||||
wheres = wheres.concat (incquery.wheres);
|
||||
|
||||
if (inc.model.gparams && inc.model.gparams.GET.tables)
|
||||
@@ -912,13 +902,13 @@ api2 = {
|
||||
// Return new_price OR price +/- percentage
|
||||
function calculatePrice(price, new_price)
|
||||
{
|
||||
if (String(new_price).match('%'))
|
||||
if (new_price.match('%'))
|
||||
{
|
||||
return (price + price * parseFloat(new_price) / 100).toFixed(2);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (String(new_price).match(/^-{2}|\+{2}/)) //match ++ or -- at beginning
|
||||
if (new_price.match(/^-{2}|\+{2}/)) //match ++ or -- at beginning
|
||||
{
|
||||
return price + parseFloat(new_price.replace("++", "+").replace("--", "-"));
|
||||
}
|
||||
@@ -1018,7 +1008,6 @@ api2 = {
|
||||
// object met "name": { field.. } wat daar wel omgezet wordt.
|
||||
var newfield = { dbs: field.dbs,
|
||||
typ: field.typ,
|
||||
withseconds: "withseconds" in field? field.withseconds: fld.indexOf("syncdate") > -1,
|
||||
track: field.track && field.label?field.label:field.track,
|
||||
foreign: field.foreign,
|
||||
val: newval,
|
||||
@@ -1239,10 +1228,7 @@ api2 = {
|
||||
var spl = api2.splitLOV(LOV);
|
||||
var result = [];
|
||||
for (var f in filter)
|
||||
{
|
||||
if ( filter[f] in spl)
|
||||
result.push(filter[f] + ";" + spl[filter[f]]);
|
||||
}
|
||||
result.push(filter[f] + ";" + spl[filter[f]]);
|
||||
return result.join(";");
|
||||
},
|
||||
splitLOV: function _splitLOV(LOV, nameprefix)
|
||||
@@ -1460,21 +1446,7 @@ api2 = {
|
||||
}
|
||||
}
|
||||
if (!incfound)
|
||||
{
|
||||
var data2 = api2.sql2jsonfields(params, oRs, incmodel)
|
||||
if (model.includes[incname].isdetailfor)
|
||||
{
|
||||
for (detail in data2)
|
||||
{
|
||||
record[model.includes[incname].isdetailfor][detail] = data2[detail];
|
||||
}
|
||||
delete record[incname]; // niet meer nodig
|
||||
}
|
||||
else
|
||||
{
|
||||
record[incname].push(data2);
|
||||
}
|
||||
}
|
||||
record[incname].push(api2.sql2jsonfields(params, oRs, incmodel));
|
||||
}
|
||||
else if (model.includes[incname].func) // include via callback functie zoals reservablerooms/occupation
|
||||
{
|
||||
@@ -1729,8 +1701,6 @@ function _validateJsondata(jsondata, model)
|
||||
case "float":
|
||||
if (typeof data === "string" && data.match(/^\d+$/)) // "resroom": "823" staan we nog wel toe
|
||||
data = parseInt(data, 10);
|
||||
if (typeof data === "string" && (type == "float" || type == "currency") && data.match(/^[\.\d]+$/)) // "uren": "123.4" staan we nog wel toe
|
||||
data = parseFloat(data);
|
||||
if (typeof data === "number" && isFinite(data))
|
||||
valid = true;
|
||||
break;
|
||||
@@ -1768,7 +1738,6 @@ function _validateJsondata(jsondata, model)
|
||||
case "color":
|
||||
case "symbol":
|
||||
case "varchar":
|
||||
case "clob":
|
||||
if (typeof data == "string")
|
||||
valid = true;
|
||||
break;
|
||||
@@ -2014,10 +1983,6 @@ function generic_REST_POST(model, gparams)
|
||||
var xxxIns = buildInsert(model.table, dbfields, { noValidateToken: true });
|
||||
var the_key = xxxIns.sequences[model.fields.id.dbs];
|
||||
// TODO: Generieke tracking?
|
||||
if (params.sqlOnly)
|
||||
{ // Alleen de sql terugsturen
|
||||
return { genIns: xxxIns, newKey: the_key };
|
||||
}
|
||||
|
||||
var err = Oracle.Execute(xxxIns.sql, true);
|
||||
if (err.friendlyMsg)
|
||||
@@ -2091,10 +2056,6 @@ function generic_REST_PUT(model, gparams)
|
||||
var xxxUpd = buildTrackingUpdate(model.table, wheres.join(" AND " ), dbfields, tracking_params);
|
||||
var xxxTrack = xxxUpd.trackarray;
|
||||
// TODO: Generieke tracking?
|
||||
if (params.sqlOnly)
|
||||
{ // Alleen de sql terugsturen
|
||||
return { genUpd: xxxUpd };
|
||||
}
|
||||
|
||||
if (xxxUpd) // Misschien geen velden opgegeven.
|
||||
{
|
||||
|
||||
@@ -25,10 +25,13 @@ var api2_mapper = {
|
||||
"rooms" : { "filename": "appl/api2/api_rooms.asp", "module": "ALG" },
|
||||
"districts" : { "filename": "appl/api2/api_districts.asp", "module": "ALG" },
|
||||
"orderdisciplines" : { "filename": "appl/mgt/bes_discipline.asp" },
|
||||
"ordercatalogues" : { "filename": "appl/mgt/bes_disciplineprod.asp" },
|
||||
"orderunits" : { "filename": "appl/mgt/bes_grootheid.asp" },
|
||||
"orderlineproperties" : { "filename": "appl/mgt/bes_kenmerk.asp" },
|
||||
"orderproperties" : { "filename": "appl/mgt/bes_kenmerkbestel.asp" },
|
||||
"orderarticlegroups" : { "filename": "appl/mgt/bes_srtgroep.asp" },
|
||||
"orderpropertytypes" : { "filename": "appl/mgt/bes_srtkenmerk.asp" },
|
||||
"orderproductgroups" : { "filename": "appl/mgt/bes_srtprodgroep.asp", "lcl_name": "bes_srtgroep_m" },
|
||||
"orderpacelisttables" : { "filename": "appl/mgt/bes_staffeltabel.asp" },
|
||||
"visitoractions" : { "filename": "appl/mgt/bez_actie.asp" },
|
||||
"visitorproperties" : { "filename": "appl/mgt/bez_kenmerk.asp" },
|
||||
@@ -73,7 +76,6 @@ var api2_mapper = {
|
||||
"objectproperties" : { "filename": "appl/mgt/ins_kenmerk.asp" },
|
||||
"recurringtasks" : { "filename": "appl/mgt/ins_srtcontrole.asp" },
|
||||
"objectgroups" : { "filename": "appl/mgt/ins_srtgroep.asp" },
|
||||
"objecttypes" : { "filename": "appl/mgt/ins_srtdeel.asp" },
|
||||
"objectpropertytypes" : { "filename": "appl/mgt/ins_srtkenmerk.asp" },
|
||||
"alldisciplines" : { "filename": "appl/mgt/ins_tab_discipline.asp" },
|
||||
"kpidefinitions" : { "filename": "appl/mgt/kpi_definitie.asp", "module": "KPI" },
|
||||
@@ -89,7 +91,6 @@ var api2_mapper = {
|
||||
"disciplinetypes" : { "filename": "appl/mgt/mld_srtdiscipline.asp" },
|
||||
"issuepropertytypes" : { "filename": "appl/mgt/mld_srtkenmerk.asp" },
|
||||
"callgroups" : { "filename": "appl/mgt/mld_stdmeldinggroep.asp" },
|
||||
"issuetags" : { "filename": "appl/mgt/mld_melding_tag.asp" },
|
||||
"issueordertypes" : { "filename": "appl/mgt/mld_typeopdr.asp" },
|
||||
"daysoff" : { "filename": "appl/mgt/mld_vrije_dagen.asp" },
|
||||
"workflows" : { "filename": "appl/mgt/mld_workflow.asp" },
|
||||
@@ -112,6 +113,7 @@ var api2_mapper = {
|
||||
"mandates" : { "filename": "appl/mgt/prs_perslidkostenplaats.asp" },
|
||||
"relationtypes" : { "filename": "appl/mgt/prs_relatietype.asp" },
|
||||
"employeefunctions" : { "filename": "appl/mgt/prs_srtperslid.asp" },
|
||||
"basispacelists" : { "filename": "appl/mgt/prs_staffel.asp" },
|
||||
"packages" : { "filename": "appl/mgt/res_arrangement.asp" },
|
||||
"packageitems" : { "filename": "appl/mgt/res_arrangement_artikel.asp" },
|
||||
"bookingactivities" : { "filename": "appl/mgt/res_activiteit.asp" },
|
||||
@@ -147,7 +149,6 @@ var api2_mapper = {
|
||||
"reportsx" : { "filename": "appl/api2/api_reportsx.asp", "module": "FAC" },
|
||||
"reports" : { "filename": "appl/api2/api_reports.asp", "module": "FAC", "nodoc": true },
|
||||
"invoices" : { "filename": "appl/api2/api_invoices.asp", "module": "FIN" },
|
||||
"invoicelines" : { "filename": "appl/api2/api_invoicelines.asp", "module": "FIN" },
|
||||
"objects" : { "filename": "appl/api2/api_objects.asp", "module": "INS" },
|
||||
"inspections" : { "filename": "appl/api2/api_ins_deelsrtcontrole.asp", "module": "INS" },
|
||||
"statehistory" : { "filename": "appl/mgt/ins_deel_state_history.asp", "module": "INS" },
|
||||
@@ -159,14 +160,8 @@ var api2_mapper = {
|
||||
"purchaseorder" : { "filename": "appl/api2/api_purchaseorder.asp", "module": "BES" },
|
||||
"purchaseorderitem" : { "filename": "appl/api2/api_purchaseorderitem.asp", "module": "BES" },
|
||||
|
||||
"messages" : { "filename": "appl/mgt/msg_message.asp", "module": "MSG" },
|
||||
|
||||
"generictables" : { "filename": "appl/mgt/mgt_generic.asp", "hidden": true },
|
||||
"genericselect" : { "filename": "appl/mgt/mgt_generic_select.asp", "hidden": true },
|
||||
"fclttasks" : { "filename": "appl/mgt/fac_task.asp", "hidden": true },
|
||||
"notifications" : { "filename": "appl/mgt/fac_notificatie.asp", "hidden": true },
|
||||
|
||||
"bestpractices" : { "filename": "appl/mgt/fac_bestpractices.asp", "hidden": true },
|
||||
"systemtables" : { "filename": "appl/mgt/user_tables.asp", "hidden": true },
|
||||
"workflowexpressions" : { "filename": "appl/mgt/mld_workflow_expression.asp", "hidden": true } // dit is geen model
|
||||
}
|
||||
|
||||
@@ -372,11 +372,7 @@ api2_rest = {
|
||||
jsondata["custom_fields"][0]["attachments"][0].datastream = bodyStream;
|
||||
if (key == 0) // new record
|
||||
{
|
||||
var result = model.includes["custom_fields"].model.REST_POST(requestparams, jsondata.custom_fields[0], -1);
|
||||
var token = result.token;
|
||||
// Bestandsnaam kan aangepast zijn.
|
||||
jsondata.custom_fields[0].value = result.jsondata.value;
|
||||
jsondata.custom_fields[0].attachments[0] = result.jsondata.attachments[0];
|
||||
var token = model.includes["custom_fields"].model.REST_POST(requestparams, jsondata.custom_fields[0], -1);
|
||||
var record = { xflexparentkey: -1, propertyid: jsondata.custom_fields[0].propertyid};
|
||||
var fileparams = { getFile: jsondata["custom_fields"][0].value, api2name: null, tmpfolder: token };
|
||||
}
|
||||
@@ -390,7 +386,7 @@ api2_rest = {
|
||||
var data = model.includes["custom_fields"].model.get_file_info(requestparams, record, fileparams );
|
||||
|
||||
api2_rest.deliver(data, /* dummy model */ { record_name: "attachment" }, outputformat, true);
|
||||
return jsondata; // Attachment data teruggeven. Bestandsnaam kan aangepast zijn.
|
||||
return;
|
||||
}
|
||||
// Geen atachment dus door met de reguliere code
|
||||
var data = model["REST_" + method](requestparams, jsondata, key);
|
||||
@@ -407,8 +403,6 @@ api2_rest = {
|
||||
}
|
||||
else if (method == "GET")
|
||||
{
|
||||
if (outputformat == "csv" || outputformat == "xlsx")
|
||||
requestparams.filter.nolimit = 1;
|
||||
var result = model["REST_" + method]( requestparams, null, key );
|
||||
}
|
||||
else if (filter.mode == "files")
|
||||
@@ -489,7 +483,7 @@ api2_rest = {
|
||||
Response.End;
|
||||
}
|
||||
|
||||
if (format == "html" || format == "json" || format == "table" || format == "csv" || format == "xlsx")
|
||||
if (format == "html" || format == "json" || format == "table" || format == "csv")
|
||||
{
|
||||
var result = { };
|
||||
if (model.formatted_get)
|
||||
@@ -616,11 +610,7 @@ api2_rest = {
|
||||
break;
|
||||
case "csv":
|
||||
Response.ContentType = "text/csv";
|
||||
var str_antwoord = api2_rest.json2csv(single?[resultdata[model.record_name]]:resultdata[model.records_name], model, single);
|
||||
break;
|
||||
case "xlsx":
|
||||
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
|
||||
var str_antwoord = api2_rest.json2xlsx(single?[resultdata[model.record_name]]:resultdata[model.records_name], model, single);
|
||||
var str_antwoord = api2_rest.json2csv(resultdata[model.records_name], model, single);
|
||||
break;
|
||||
case "table":
|
||||
Response.ContentType = "text/html";
|
||||
@@ -706,53 +696,44 @@ api2_rest = {
|
||||
Response.write(str_antwoord);
|
||||
},
|
||||
|
||||
// Merk op dat (onbedoeld) de tabel-kolommen bepaald worden door de velden in het *eerste* record
|
||||
// en niet zozeer door het gedefinieerde fields-object
|
||||
// Ook: verwacht wordt dat de volgorde van velden altijd gelijk is wat JavaScript 'for' niet
|
||||
// garandeert (maar in de praktijk wel goed gaat)
|
||||
json2htmltable: function _json2htmltable(data, model, single)
|
||||
{
|
||||
var ths = [];
|
||||
if (!data.length)
|
||||
return "\n<table>\n</table>"
|
||||
|
||||
// Header maken
|
||||
var ths = [];
|
||||
for (var fld in data[0])
|
||||
{
|
||||
var lbl = fld;
|
||||
if (fld in model.fields)
|
||||
lbl = model.fields[fld].label;
|
||||
else
|
||||
{
|
||||
var val = data[0][fld];
|
||||
if (val && typeof val == "object")
|
||||
{
|
||||
if (model.includes && fld in model.includes)
|
||||
var lbl = model.includes[fld].model.records_title;
|
||||
else
|
||||
lbl = fld; // Attachments/flexfiles
|
||||
}
|
||||
}
|
||||
ths.push("<th title='{0}'>{1}</th>".format(safe.htmlattr(lbl), fld));
|
||||
}
|
||||
|
||||
var trs = [];
|
||||
if (data.length) // Header maken
|
||||
{
|
||||
var ths = [];
|
||||
for (var fld in data[0])
|
||||
{
|
||||
var lbl = fld;
|
||||
if (fld in model.fields)
|
||||
lbl = model.fields[fld].label;
|
||||
else
|
||||
{
|
||||
var val = data[0][fld];
|
||||
if (val && typeof val == "object")
|
||||
{
|
||||
if (model.includes && fld in model.includes)
|
||||
var lbl = model.includes[fld].model.records_title;
|
||||
else
|
||||
lbl = fld; // Attachments/flexfiles
|
||||
}
|
||||
}
|
||||
ths.push("<th title='{0}'>{1}</th>".format(safe.htmlattr(lbl), fld));
|
||||
}
|
||||
trs.push(ths.join(""));
|
||||
}
|
||||
for (var i = 0; i < data.length; i++)
|
||||
{
|
||||
var rec = data[i];
|
||||
var tds = [];
|
||||
for (var fld in data[0]) // Hier dezelfde kolomvolgorde (van eerste record) gebruiken
|
||||
for (var fld in rec)
|
||||
{
|
||||
var cls = "";
|
||||
if (model.fields[fld] && model.fields[fld].typ.match(/number|float|currency|key/) && !model.fields[fld].foreign)
|
||||
{
|
||||
cls = " style='text-align:right'";
|
||||
}
|
||||
if (fld in rec)
|
||||
var val = rec[fld];
|
||||
else
|
||||
var val = "";
|
||||
var val = rec[fld];
|
||||
var safeval = Server.HTMLEncode(String(val));
|
||||
if (val === null)
|
||||
safeval = ' ';
|
||||
@@ -763,7 +744,7 @@ api2_rest = {
|
||||
var naam = val.name||"???";
|
||||
if (typeof naam == 'object' && naam instanceof Date) // Bij appointment
|
||||
naam = toISODateTimeString(naam);
|
||||
safeval = val.id + " <em>(" + safe.html(naam) + ")</em>";
|
||||
safeval = val.id + " (" + Server.HTMLEncode(naam) + ")";
|
||||
}
|
||||
else if (val && typeof val == "object" && model.includes && fld in model.includes)
|
||||
safeval = api2_rest.json2htmltable(val, model.includes[fld].model, true); // dereference
|
||||
@@ -785,9 +766,7 @@ api2_rest = {
|
||||
return "\n<table>\n" + html + "\n</table>";
|
||||
}
|
||||
else
|
||||
return "\n<table style='border-collapse: separate;'>"
|
||||
+ "\n<thead><tr style='position:sticky;top:0'>" + ths.join("") + "</tr>\n</thead>"
|
||||
+ "\n<tbody>\n<tr>" + trs.join("</tr>\n<tr>") + "</tr>\n</tbody>\n</table>";
|
||||
return "\n<table>\n<tr>" + trs.join("</tr>\n<tr>") + "</tr></table>";
|
||||
},
|
||||
|
||||
json2csv: function _json2csv(data, model, single)
|
||||
@@ -844,148 +823,6 @@ api2_rest = {
|
||||
return trs.join("\r\n");
|
||||
},
|
||||
|
||||
// Zie ook resultset_table_v2.inc/ResultsetTable.prototype.ProcessAsNativeExcel
|
||||
json2xlsx: function _json2xlsx(data, model, single)
|
||||
{
|
||||
var oExcel = new ActiveXObject("SLNKXLSX.Excel");
|
||||
var tmpxlsx = "XLSX_" + shared.random(16) +".xlsx"
|
||||
var oWb = oExcel.workbook_new(shared.tempFolder() + "/" + tmpxlsx, 1); // 1=constant memory
|
||||
oWb.set_property("author", user.naam());
|
||||
oWb.set_property("title", model.records_name);
|
||||
oWb.set_property("comments", "Created with Facilitor v{0}".format(FCLTVersion));
|
||||
|
||||
var oWs = oWb.add_worksheet("Sheet1");
|
||||
|
||||
var maxlengths = [];
|
||||
// Header row
|
||||
oWs.freeze_panes(1, 0);
|
||||
var col = 0;
|
||||
for (var fld in data[0])
|
||||
{
|
||||
var caption = fld; // Bij API2 beter dan model.field[fld].label omdat het iets meer Machine2Machine is.
|
||||
if (fld in model.fields) // niet bij includes
|
||||
{
|
||||
var tooltip = model.fields[fld].label;
|
||||
if (tooltip)
|
||||
oWs.write_comment(0, col, tooltip); // maar wel label in het commentaar
|
||||
}
|
||||
var len = oWs.write_string(0, col++, caption, 1); // 1 = bold
|
||||
maxlengths.push(len);
|
||||
|
||||
oWs.set_column_width(i, 8.43 /* LXW_DEF_COL_WIDTH */, 1); // Forceer alvast 'wrap' omdat met constant memory het niet achteraf kan
|
||||
}
|
||||
|
||||
// Nu de rows
|
||||
for (var row = 0; row < data.length; row++)
|
||||
{
|
||||
var i = 0;
|
||||
var rec = data[row];
|
||||
var rownum = row + 1;
|
||||
for (var fld in rec)
|
||||
{
|
||||
var field = model.fields[fld];
|
||||
var val = rec[fld];
|
||||
if (val == null)
|
||||
{
|
||||
i ++;
|
||||
continue;
|
||||
}
|
||||
if (val && typeof val == "object" && "id" in val)
|
||||
{
|
||||
var naam = val.name||"???";
|
||||
//if (typeof naam == 'object' && naam instanceof Date) // Bij appointment
|
||||
// naam = toISODateTimeString(naam);
|
||||
val = naam; // TODO: val.id in tooltip?;
|
||||
field.typ = "varchar";
|
||||
}
|
||||
else if (val && typeof val == "object" && model.includes && fld in model.includes)
|
||||
api2.error(500, "Include={0} not supported with xlsx".format(fld));
|
||||
else if (val instanceof Array) // attachments array
|
||||
api2.error(500, "Include={0} not supported with xlsx".format("attachments"));
|
||||
|
||||
if (typeof val == "object" && isNaN(val))
|
||||
{
|
||||
api2.error(500, "Field '{0}' value is NaN in record {1}".format(fld, row));
|
||||
}
|
||||
|
||||
//if (typeof val == "string")
|
||||
// field.typ = "varchar";
|
||||
|
||||
var len = 0;
|
||||
//if (typeof val == "string" && inArray(field.typ, ["date", "datetime", "time", "currency", "float", "number"]))
|
||||
//{
|
||||
// if (!(this.columns[i].orgContent instanceof Function))
|
||||
// __DoLog("Vreemd: kolom {0} is string en niet van het type {1}?".format(this.columns[i].caption, this.columns[i].datatype), "#ff0000");
|
||||
// len = oWs.write_string(rownum, i, val);
|
||||
//}
|
||||
//else
|
||||
switch (field.typ)
|
||||
{
|
||||
case "varchar":
|
||||
case "memo" : len = oWs.write_string(rownum, i, String(val));
|
||||
break;
|
||||
case "date" : oWs.write_vardate(rownum, i, new Date(val).getVarDate(), 0); //TODO .midnight() toepassen eindigt in verkeerde tijdzone?
|
||||
len = 16;
|
||||
break;
|
||||
case "datetime": oWs.write_vardate(rownum, i, new Date(val).getVarDate(), 1);
|
||||
len = 10;
|
||||
break;
|
||||
case "time" : // In de database ondersteunen we dit niet maar komt voor bij fac_report
|
||||
oWs.write_vardate(rownum, i, new Date(val).getVarDate(), 2);
|
||||
len = 5;
|
||||
break;
|
||||
case "currency": oWs.write_number(rownum, i, val, 1);
|
||||
break;
|
||||
case "float" : oWs.write_number(rownum, i, val, 1);
|
||||
break;
|
||||
case "key":
|
||||
case "check0":
|
||||
case "check":
|
||||
case "number": oWs.write_number(rownum, i, val, 0);
|
||||
break;
|
||||
case "processingtime":
|
||||
if (val["duration"] != null)
|
||||
val = val["duration"] + " " + (val["unit"]=='U'?L("lcl_mld_hours"):L("lcl_mld_days"));
|
||||
else
|
||||
val = "";
|
||||
len = oWs.write_string(rownum, i, val);
|
||||
break;
|
||||
case "html": val = val.replace(/(<([^>]+)>)/ig,""); // strip html
|
||||
val = val.replace(/\ \;/ig, " ");// naar spatie;
|
||||
val = val.replace(/\&\;/ig, "&");// er zijn er nog meer maar dit vind ik genoeg
|
||||
val = val.replace(/\<\;/ig, "<");
|
||||
val = val.replace(/\>\;/ig, ">");
|
||||
val = val.replace(/\&apos\;/ig, "'>'");
|
||||
val = val.replace(/\"\;/ig, "\"");
|
||||
// TODO: andere html-entities ook vertalen?
|
||||
len = oWs.write_string(rownum, i, val);
|
||||
break;
|
||||
default: len = oWs.write_string(rownum, i, String(val));
|
||||
}
|
||||
|
||||
if (len > maxlengths[i])
|
||||
maxlengths[i] = len;
|
||||
i++;
|
||||
}
|
||||
}
|
||||
for (var i = 0; i < maxlengths.length; i++)
|
||||
{
|
||||
if (maxlengths[i] > 8.43 * 10) // LXW_DEF_COL_WIDTH, 8.43 is de default Excel cell width
|
||||
{
|
||||
oWs.set_column_width(i, Math.min(maxlengths[i] / 10, 50), 1);
|
||||
}
|
||||
}
|
||||
oWb.workbook_close();
|
||||
var mime = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
||||
var filename = "Facilitor {0} {1}.xlsx".format(model.records_name, toISODateTimeString(new Date()));
|
||||
var pcontentdp = "attachment";
|
||||
|
||||
Response.AddHeader("content-disposition", pcontentdp + "; filename= \"" + safe.ContentName(filename) + "\"")
|
||||
StreamFile(shared.tempFolder(), tmpxlsx, { mime: mime ,
|
||||
pcontentdp: "none", // geen pcontentdp, dat hebben we zelf gedaan
|
||||
deletefile: __Logging == 0});
|
||||
},
|
||||
|
||||
// TODO: Wanneer attributes gebruiken en wanneer (sub)-elements?
|
||||
// Streven: data == xml2json(json2xml(data))
|
||||
json2xml: function _json2xml(data, model, single)
|
||||
|
||||
@@ -13,93 +13,7 @@
|
||||
*/
|
||||
%>
|
||||
<%
|
||||
function buildKenmerkRoleCodeLOV(params)
|
||||
{
|
||||
var kenmerkRoleCodeLOV = "";
|
||||
switch (params.module)
|
||||
{
|
||||
case "ALG":
|
||||
kenmerkRoleCodeLOV = "3;"+ L("mgt_kenmerkrolcodealg_3") + ";" // alles
|
||||
+ "2;"+ L("mgt_kenmerkrolcodealg_2") + ";" // ALGUSE
|
||||
+ "1;"+ L("mgt_kenmerkrolcodealg_1"); // ALGMAN
|
||||
break;
|
||||
case "BES":
|
||||
kenmerkRoleCodeLOV = "5;"+ L("mgt_kenmerkrolcodebes_5") + ";" // alles
|
||||
+ "4;"+ L("mgt_kenmerkrolcodebes_4") + ";" // ORDSUP
|
||||
+ "1;"+ L("mgt_kenmerkrolcodebes_1"); // BES*
|
||||
break;
|
||||
case "BESI":
|
||||
kenmerkRoleCodeLOV = "1;"+ L("mgt_kenmerkrolcodebes_1"); // geen onderscheid in regels
|
||||
break;
|
||||
case "BEZ":
|
||||
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcodebez_7") + ";" // alles
|
||||
+ "4;"+ L("mgt_kenmerkrolcodebez_4") + ";" // BEZBOF only
|
||||
+ "2;"+ L("mgt_kenmerkrolcodebez_2") + ";" // BEZFOF only
|
||||
+ "3;"+ L("mgt_kenmerkrolcodebez_3"); // BEZFOF/BEZUSE only
|
||||
break;
|
||||
case "CNT":
|
||||
kenmerkRoleCodeLOV = "3;"+ L("mgt_kenmerkrolcodecnt_3") + ";" // alles
|
||||
+ "2;"+ L("mgt_kenmerkrolcodecnt_2") + ";" // CNTUSE
|
||||
+ "1;"+ L("mgt_kenmerkrolcodecnt_1"); // CNTMAN
|
||||
break;
|
||||
case "CTR":
|
||||
kenmerkRoleCodeLOV = "1;"+ L("mgt_kenmerkrolcodectr_1"); // alles (geen onderscheid)
|
||||
break;
|
||||
case "FAQ":
|
||||
kenmerkRoleCodeLOV = "1;"+ L("mgt_kenmerkrolcodefaq_1"); // alles (geen onderscheid)
|
||||
break;
|
||||
case "FIN":
|
||||
kenmerkRoleCodeLOV = "1;"+ L("mgt_kenmerkrolcodefin_1"); // alles (geen onderscheid)
|
||||
break;
|
||||
case "INS":
|
||||
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcodeins_7") + ";" // alles
|
||||
+ "4;"+ L("mgt_kenmerkrolcodeins_4") + ";" // INSFOF (uitlenen)
|
||||
+ "2;"+ L("mgt_kenmerkrolcodeins_2") + ";" // INSUSE
|
||||
+ "1;"+ L("mgt_kenmerkrolcodeins_1"); // INSMAN
|
||||
break;
|
||||
case "MLD":
|
||||
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcodemld_7") + ";" // alles
|
||||
+ "6;"+ L("mgt_kenmerkrolcodemld_6") + ";" // MLDBOF+MLDFOF
|
||||
+ "3;"+ L("mgt_kenmerkrolcodemld_3") + ";" // MLDUSE+MLDBOF
|
||||
+ "4;"+ L("mgt_kenmerkrolcodemld_4") + ";" // MLDBOF
|
||||
+ "2;"+ L("mgt_kenmerkrolcodemld_2"); // MLDFOF
|
||||
break;
|
||||
case "OPD":
|
||||
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcodeopd_7") + ";" // alles
|
||||
+ "5;"+ L("mgt_kenmerkrolcodeopd_5") + ";"
|
||||
+ "4;"+ L("mgt_kenmerkrolcodeopd_4") + ";" // ORDSUPonly
|
||||
+ "3;"+ L("mgt_kenmerkrolcodeopd_3") + ";" // beide
|
||||
+ "2;"+ L("mgt_kenmerkrolcodeopd_2") + ";" // Afmelden? opdrachtnemer
|
||||
+ "1;"+ L("mgt_kenmerkrolcodeopd_1"); // ORDBOF opdrachtgever
|
||||
break;
|
||||
case "PRS":
|
||||
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcodeprs_7") + ";" // alles
|
||||
+ "6;"+ L("mgt_kenmerkrolcodeprs_6") + ";" // PRSUSE+PROFIL
|
||||
+ "3;"+ L("mgt_kenmerkrolcodeprs_3") + ";" // PRSMAN+PRSUSE
|
||||
+ "2;"+ L("mgt_kenmerkrolcodeprs_2") + ";" // PRSUSE
|
||||
+ "1;"+ L("mgt_kenmerkrolcodeprs_1"); // PRSMAN
|
||||
break;
|
||||
case "REL":
|
||||
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcoderel_7") + ";" // alles
|
||||
+ "6;"+ L("mgt_kenmerkrolcoderel_6") + ";" // RELUSE+EXTREL
|
||||
+ "3;"+ L("mgt_kenmerkrolcoderel_3") + ";" // RELMAN+RELUSE
|
||||
+ "2;"+ L("mgt_kenmerkrolcoderel_2") + ";" // RELUSE
|
||||
+ "1;"+ L("mgt_kenmerkrolcoderel_1"); // RELMAN
|
||||
break;
|
||||
case "RES": // dit lijkt technisch een grappige volgorde, maar is logischer
|
||||
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcoderes_7") + ";" // iedereen
|
||||
+ "4;"+ L("mgt_kenmerkrolcoderes_4") + ";" // RESBOF only, afhandelkenmerken
|
||||
+ "2;"+ L("mgt_kenmerkrolcoderes_2") + ";" // RESFOF ony, professionele kenmerken
|
||||
+ "3;"+ L("mgt_kenmerkrolcoderes_3"); // RESFOF+RESUSE (d.i. geen RESBOF)
|
||||
//+ "1;"+ L("mgt_kenmerkrolcoderes_1"); // RESUSE, algemene kenmerken
|
||||
break;
|
||||
default:
|
||||
kenmerkRoleCodeLOV = "?";
|
||||
}
|
||||
return kenmerkRoleCodeLOV;
|
||||
}
|
||||
|
||||
function buildKenmerktypeLOV(kenmerktype, params)
|
||||
function buildKenmerktypeLOV(kenmerktype, emptyOption)
|
||||
{
|
||||
var kenmerktypeLOV = "";
|
||||
switch (kenmerktype)
|
||||
@@ -118,18 +32,11 @@
|
||||
break;
|
||||
case "R":
|
||||
kenmerktypeLOV = "R;" + L("mgt_srtkenmerk_referentie_l") + ";"
|
||||
+ "r;" + L("mgt_srtkenmerk_referentie_r") + ";"
|
||||
+ "S;" + L("mgt_srtkenmerk_referentie_s")
|
||||
break;
|
||||
case "S":
|
||||
kenmerktypeLOV = "S;" + L("mgt_srtkenmerk_referentie_s") + ";"
|
||||
+ "R;" + L("mgt_srtkenmerk_referentie_l") + ";"
|
||||
+ "r;" + L("mgt_srtkenmerk_referentie_r")
|
||||
break;
|
||||
case "r":
|
||||
kenmerktypeLOV = "r;" + L("mgt_srtkenmerk_referentie_r") + ";"
|
||||
+ "R;" + L("mgt_srtkenmerk_referentie_l") + ";"
|
||||
+ "S;" + L("mgt_srtkenmerk_referentie_s")
|
||||
+ "R;" + L("mgt_srtkenmerk_referentie_l")
|
||||
break;
|
||||
case "X":
|
||||
kenmerktypeLOV = "X;" + L("mgt_srtkenmerk_bestandsnaam");
|
||||
@@ -146,17 +53,10 @@
|
||||
case "L":
|
||||
kenmerktypeLOV = "L;" + L("mgt_srtkenmerk_label") + ";"
|
||||
+ "l;" + L("mgt_srtkenmerk_label_i")
|
||||
+ (params && params.module == "MLD"? ";b;" + L("mgt_srtkenmerk_label_ii") : "")
|
||||
break;
|
||||
case "l":
|
||||
kenmerktypeLOV = "l;" + L("mgt_srtkenmerk_label_i") + ";"
|
||||
+ "L;" + L("mgt_srtkenmerk_label")
|
||||
+ (params && params.module == "MLD"? ";b;" + L("mgt_srtkenmerk_label_ii") : "")
|
||||
break;
|
||||
case "b":
|
||||
kenmerktypeLOV = "b;" + L("mgt_srtkenmerk_label_ii") + ";"
|
||||
+ "L;" + L("mgt_srtkenmerk_label") + ";"
|
||||
+ "l;" + L("mgt_srtkenmerk_label_i")
|
||||
break;
|
||||
case "Q":
|
||||
kenmerktypeLOV = "Q;" + L("mgt_srtkenmerk_blanco");
|
||||
@@ -168,13 +68,12 @@
|
||||
kenmerktypeLOV = "V;" + L("mgt_srtkenmerk_checkbox");
|
||||
break;
|
||||
default:
|
||||
kenmerktypeLOV = (params && params.emptyOption ? params.emptyOption + ";" : "")
|
||||
kenmerktypeLOV = (emptyOption ? emptyOption + ";" : "")
|
||||
+ "C;" + L("mgt_srtkenmerk_karakter")
|
||||
+ ";N;" + L("mgt_srtkenmerk_numeriek")
|
||||
+ ";D;" + L("mgt_srtkenmerk_datum")
|
||||
+ ";T;" + L("mgt_srtkenmerk_tijd")
|
||||
+ ";R;" + L("mgt_srtkenmerk_referentie_l")
|
||||
+ ";r;" + L("mgt_srtkenmerk_referentie_r")
|
||||
+ ";S;" + L("mgt_srtkenmerk_referentie_s")
|
||||
+ ";X;" + L("mgt_srtkenmerk_bestandsnaam")
|
||||
+ ";F;" + L("mgt_srtkenmerk_bestand")
|
||||
@@ -182,8 +81,8 @@
|
||||
+ ";M;" + L("mgt_srtkenmerk_bestand_f")
|
||||
+ ";L;" + L("mgt_srtkenmerk_label")
|
||||
+ ";l;" + L("mgt_srtkenmerk_label_i")
|
||||
+ (params && params.module == "MLD"? ";b;" + L("mgt_srtkenmerk_label_ii") : "")
|
||||
+ ";Q;" + L("mgt_srtkenmerk_blanco")
|
||||
// + ";B;" + L("mgt_srtkenmerk_berekening")
|
||||
+ ";V;" + L("mgt_srtkenmerk_checkbox");
|
||||
}
|
||||
return kenmerktypeLOV;
|
||||
@@ -199,7 +98,7 @@
|
||||
|
||||
function buildGroepsverplichtingList()
|
||||
{ // LOV waarden voor xxx_kenmerk_groep.
|
||||
var s = "0;" + L("mgt_kenmerk_groep0") ;
|
||||
var s = "0;<" + L("lcl_none") + ">";
|
||||
for (var i=1; i<=9; i++)
|
||||
{
|
||||
s = s + ";" + i + ";" + L("mgt_kenmerk_groep") + " " + i;
|
||||
@@ -429,17 +328,16 @@ function buildStatusList(pniveau)
|
||||
: ";5;")
|
||||
+ L("lcl_mld_afgemeld")
|
||||
+ (pniveau == "O"
|
||||
? ";9;"
|
||||
: ";52;")
|
||||
+ L("lcl_mld_afgerond");
|
||||
? ""
|
||||
: ";52;" + L("lcl_mld_afgerond"));
|
||||
return statusList;
|
||||
}
|
||||
|
||||
function buildHltPropList()
|
||||
{
|
||||
var hltPropList = "0;" + L("mld_kenmerk_onderbreken0")
|
||||
+ ";1;" + L("mld_kenmerk_onderbreken1")
|
||||
+ ";2;" + L("mld_kenmerk_onderbreken2");
|
||||
var hltPropList = "0;" + L("lcl_No")
|
||||
+ ";1;" + L("lcl_Yes")
|
||||
+ ";2;" + L("lcl_mld_delete_on_resume");
|
||||
return hltPropList;
|
||||
}
|
||||
|
||||
|
||||
@@ -44,5 +44,5 @@
|
||||
|
||||
params = flexProps(pModule, pKey, String(pKenmerk_key), pNiveau);
|
||||
|
||||
StreamFile(params.AttachPath, pFileName, { mime: "application/octet-stream"});
|
||||
%><% ASPPAGE_END(); %>
|
||||
StreamFile(params.AttachPath, pFileName, "application/octet-stream");
|
||||
%><% ASPPAGE_END(); %>
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: api_invoicelines.asp
|
||||
|
||||
Description: Bestelling API
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
Notes: We ondersteunen alleen (nog) het opvragen van de bestelling
|
||||
|
||||
*/
|
||||
DOCTYPE_Disable = true;
|
||||
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
|
||||
THIS_FILE = "appl/api2/api_invoicelines.asp";
|
||||
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="./api2_rest.inc" -->
|
||||
<!-- #include file="./model_invoicelines.inc" -->
|
||||
<%
|
||||
api2_rest.process(model_invoicelines);
|
||||
%>
|
||||
<% ASPPAGE_END(); %>
|
||||
@@ -13,7 +13,7 @@
|
||||
*/
|
||||
DOCTYPE_Disable = true;
|
||||
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
|
||||
THIS_FILE = "appl/api2/api_invoices.asp";
|
||||
THIS_FILE = "appl/api/api_invoices.asp";
|
||||
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
@@ -21,4 +21,4 @@
|
||||
<!-- #include file="./model_invoices.inc" -->
|
||||
<%
|
||||
api2_rest.process(model_invoices);
|
||||
%><% ASPPAGE_END(); %>
|
||||
%><% ASPPAGE_END(); %>
|
||||
|
||||
@@ -20,7 +20,5 @@
|
||||
<!-- #include file="./api2_rest.inc" -->
|
||||
<!-- #include file="./model_objects.inc" -->
|
||||
<%
|
||||
var mode = "xxxx"; // mode must be defined because of use in model_ins_kenmerk.inc
|
||||
|
||||
api2_rest.process(model_objects);
|
||||
%><% ASPPAGE_END(); %>
|
||||
|
||||
@@ -20,8 +20,6 @@
|
||||
<!-- #include file="./api2_rest.inc" -->
|
||||
<!-- #include file="./model_reservations.inc" -->
|
||||
<%
|
||||
var mode = "xxxx"; // mode must be defined because of use in model_res_kenmerk.inc
|
||||
|
||||
api2_rest.process(model_reservations);
|
||||
|
||||
ASPPAGE_END();
|
||||
|
||||
@@ -26,8 +26,8 @@ function model_alg_kenmerk(niveau, params)
|
||||
this.module = "ALG";
|
||||
|
||||
// overrule titel voor schermen.
|
||||
this.record_title = L("mgt_kenmerk_of") + " " + get_real_estate_name(niveau);
|
||||
this.records_title = L("mgt_kenmerk_m_of") + " " + get_real_estate_name(niveau);
|
||||
this.record_title = L("mgt_kenmerk") + " " + get_real_estate_name(niveau);
|
||||
this.records_title = L("mgt_kenmerk_m") + " " + get_real_estate_name(niveau);
|
||||
|
||||
|
||||
this.fields = {
|
||||
@@ -50,16 +50,7 @@ function model_alg_kenmerk(niveau, params)
|
||||
"dbs": "alg_kenmerk_volgnr",
|
||||
"label": L("mgt_kenmerk_volgnummer"),
|
||||
"typ": "number",
|
||||
"len": 3,
|
||||
"required": true // deze zou er straks weer af mogen
|
||||
},
|
||||
"rolecode": {
|
||||
"dbs": "alg_kenmerk_rolcode",
|
||||
"label": L("mgt_kenmerk_rolcode"),
|
||||
"typ": "number",
|
||||
"LOV": buildKenmerkRoleCodeLOV({ module: "ALG" }),
|
||||
"required": true,
|
||||
"multiedit": true
|
||||
"required": true
|
||||
},
|
||||
"name": {
|
||||
"dbs": "alg_kenmerk_omschrijving",
|
||||
@@ -95,7 +86,6 @@ function model_alg_kenmerk(niveau, params)
|
||||
"label": L("mgt_kenmerk_verplicht"),
|
||||
"typ": "key",
|
||||
"LOV": buildVerplichtingList(),
|
||||
"emptyisrealvalue": true,
|
||||
"emptyoption": null
|
||||
},
|
||||
"group": {
|
||||
@@ -114,31 +104,12 @@ function model_alg_kenmerk(niveau, params)
|
||||
"system": {
|
||||
"dbs": "alg_kenmerk_systeem",
|
||||
"label": L("mgt_srtkenmerk_systeem"),
|
||||
"typ": "check",
|
||||
"readonly": !user.has("WEB_PRSSYS")
|
||||
"typ": "check"
|
||||
},
|
||||
"inlist": {
|
||||
"dbs": "alg_kenmerk_inlijst",
|
||||
"label": L("mgt_kenmerk_systeem_overview"),
|
||||
"typ": "number",
|
||||
"bits": [
|
||||
{
|
||||
"name": "",
|
||||
"label": "",
|
||||
"showasgroup": false,
|
||||
"typ": "check",
|
||||
"mask": 1,
|
||||
"radios": [
|
||||
{
|
||||
"name": "inplan",
|
||||
//"label": (niveau == "G"? L("mgt_kenmerk_systeem_overview_bui") + " " : "") + L("mgt_kenmerk_systeem_overview"),
|
||||
"label": L("mgt_kenmerk_systeem_overview"),
|
||||
"mask": 1,
|
||||
"defaultvalue": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"typ": "check0",
|
||||
"multiedit": true
|
||||
},
|
||||
"length": {
|
||||
@@ -186,9 +157,9 @@ function model_alg_kenmerk(niveau, params)
|
||||
},
|
||||
"code": {
|
||||
"dbs": "alg_kenmerk_code",
|
||||
"label": L("mgt_kenmerk_code"),
|
||||
"label": L("lcl_alg_code"),
|
||||
"typ": "varchar",
|
||||
"readonly": !user.has("WEB_PRSSYS")
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
},
|
||||
"authorization": {
|
||||
"dbs": "fac_functie_key",
|
||||
@@ -217,15 +188,7 @@ function model_alg_kenmerk(niveau, params)
|
||||
gparams.GET = { wheres: [ "alg_kenmerk.alg_kenmerk_niveau = " + safe.quoted_sql(niveau) ] };
|
||||
}
|
||||
|
||||
if (niveau == "G") // en dan ook nog alleen als je MJOB hebt/gebruikt lijkt me TODO?
|
||||
{
|
||||
this.fields.inlist.bits[0].mask = 3;
|
||||
this.fields.inlist.bits[0].radios.push({ "name": "start",
|
||||
"label": L("mgt_kenmerk_systeem_overview_mjob"),
|
||||
"mask": 2,
|
||||
"defaultvalue": 0
|
||||
});
|
||||
}
|
||||
|
||||
this.REST_GET = generic_REST_GET(this, gparams);
|
||||
this.REST_POST = generic_REST_POST(this);
|
||||
this.REST_PUT = generic_REST_PUT(this);
|
||||
@@ -237,7 +200,6 @@ function model_alg_kenmerk(niveau, params)
|
||||
var naam = "";
|
||||
switch (niveau)
|
||||
{
|
||||
case "E": naam = L("lcl_region"); break;
|
||||
case "D": naam = L("lcl_district"); break;
|
||||
case "L": naam = L("lcl_location"); break;
|
||||
case "T": naam = L("lcl_terra"); break;
|
||||
@@ -250,8 +212,7 @@ function model_alg_kenmerk(niveau, params)
|
||||
|
||||
function fill_real_estate_level_LOV()
|
||||
{
|
||||
return "E;"+L("lcl_region")
|
||||
+ ";D;"+L("lcl_district")
|
||||
return "D;"+L("lcl_district")
|
||||
+ ";L;"+L("lcl_location")
|
||||
+ ";G;"+L("lcl_building")
|
||||
+ ";R;"+L("lcl_room"); // Moet hier T en V ook nog bij?
|
||||
|
||||
@@ -70,8 +70,8 @@ function model_appointments()
|
||||
"_alg_keys" : { dbs: "alg_onrgoed_keys", typ: "key", fnval: afs_alg_onrgoed_keys },
|
||||
"contact" : { dbs: "bez_afspraak_contact_key", typ: "key", foreign: "prs_perslid", label: L("lcl_vis_contactperson"), track: true},
|
||||
"reservation": { dbs: "res_rsv_ruimte_key", typ: "key", foreign: "res_rsv_ruimte", label: L("lcl_reservation"), track: true},
|
||||
"externnr" : { dbs: "bez_afspraak_externnr", typ: "varchar", label: L("extern_nr"), readonly: !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR")) },
|
||||
"externsyncdate": { dbs: "bez_afspraak_externsyncdate", typ: "datetime", label: L("extern_syncdate"), readonly: !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR")) },
|
||||
"externnr" : { dbs: "bez_afspraak_externnr", typ: "varchar", label: L("extern_nr"), readonly: !user.has("WEB_FACTAB") },
|
||||
"externsyncdate": { dbs: "bez_afspraak_externsyncdate", typ: "datetime", label: L("extern_syncdate"), readonly: !user.has("WEB_FACTAB") },
|
||||
"order" : { dbs: "mld_opdr_key", typ: "key", foreign: "mld_opdr", label: L("lcl_mld_opdr"), track: true}
|
||||
};
|
||||
|
||||
@@ -93,8 +93,8 @@ function model_appointments()
|
||||
else
|
||||
{
|
||||
this.fields["host"] = { dbs: "bez_afspraak_gastheer", typ: "varchar", label: L("lcl_vis_visit"), track: true};
|
||||
this.fields["phone"] = { dbs: "bez_afspraak_telefoonnr", typ: "varchar", label: L("lcl_phone"), track: true};
|
||||
}
|
||||
this.fields["phone"] = { dbs: "bez_afspraak_telefoonnr", typ: "varchar", label: L("lcl_phone"), track: true};
|
||||
|
||||
this.list = { columns: ["id", "from", "to"] },
|
||||
this.includes =
|
||||
@@ -214,36 +214,6 @@ function model_appointments()
|
||||
dbfields["action"] = { dbs: "bez_actie_key", typ: "key", val: default_actie };
|
||||
}
|
||||
}
|
||||
|
||||
// Zet ook de locatie als S("vis_afspraak_onrgoed_uses_keys")=1 en er onrgoed_keys zijn meegegeven.
|
||||
if (S("vis_afspraak_onrgoed_uses_keys") == 1)
|
||||
{
|
||||
if (!jsondata.location)
|
||||
{
|
||||
var alg_key = -1;
|
||||
if (jsondata.room)
|
||||
alg_key = jsondata.room;
|
||||
else if (jsondata.floor)
|
||||
alg_key = jsondata.floor;
|
||||
else if (jsondata.building)
|
||||
alg_key = jsondata.building;
|
||||
|
||||
if (alg_key > 0) // anders niet meegegeven bij update en/of het is een appointment onder een reservering en er komt nog wel een follow_afspraak
|
||||
{
|
||||
var sql = "SELECT MAX(alg_locatie_key) loc_key"
|
||||
+ " FROM alg_v_allonroerendgoed"
|
||||
+ " WHERE alg_onroerendgoed_keys = " + alg_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
var loc_key = oRs("loc_key").Value;
|
||||
dbfields["location"] = { dbs: "alg_locatie_key", typ: "key", foreign: "alg_locatie", val: loc_key};
|
||||
jsondata.location = loc_key;
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
this.REST_PUT = function (params, jsondata, the_key) /* update appointment */
|
||||
@@ -305,13 +275,13 @@ function model_appointments()
|
||||
|
||||
this.REST_DELETE = function (params, the_key) /* delete appointment */
|
||||
{
|
||||
var this_bez = bez.func_enabled_afspraak(the_key);
|
||||
user.auth_required_or_abort(this_bez.canDelete);
|
||||
|
||||
var wheres = [" bez_afspraak_key = " + the_key];
|
||||
wheres.push("(bez_afspraak_contact_key = " + user_key // Altijd fe vooralnog
|
||||
+ " OR bez_afspraak_host_key = " + user_key + ")");
|
||||
var sql = "DELETE FROM bez_afspraak"
|
||||
+ " WHERE bez_afspraak_key = " + the_key;
|
||||
Oracle.Execute(sql);
|
||||
+ " WHERE " + wheres.join(" AND " );
|
||||
|
||||
Oracle.Execute(sql);
|
||||
// Geen tracking (mogelijk) omdat het record echt is verwijderd
|
||||
};
|
||||
}
|
||||
|
||||
@@ -73,12 +73,11 @@ function model_aut_client(params)
|
||||
}*/
|
||||
}
|
||||
|
||||
this.includes = {
|
||||
"clientpersons": {
|
||||
"model": new model_aut_client_perslid(),
|
||||
"joinfield": "autclient"
|
||||
}
|
||||
};
|
||||
this.includes =
|
||||
{ "clientpersons": { model: new model_aut_client_perslid(),
|
||||
joinfield: "autclient"
|
||||
}
|
||||
};
|
||||
|
||||
this.REST_GET = generic_REST_GET(this);
|
||||
this.REST_POST = generic_REST_POST(this);
|
||||
|
||||
@@ -18,7 +18,6 @@ function model_aut_client_perslid(params)
|
||||
this.autfunction = params.self?false:"WEB_FACFAC";
|
||||
this.record_title = L("aut_client_perslid");
|
||||
this.records_title = L("aut_client_perslid_m");
|
||||
this.defaultIcon = "fa-user-shield";
|
||||
|
||||
this.fields = {
|
||||
"id": {
|
||||
|
||||
@@ -23,23 +23,6 @@ function model_aut_idp(params)
|
||||
|
||||
this.askfirst = "type";
|
||||
|
||||
var sqlteller = "(SELECT (SELECT TO_CHAR(COALESCE(SUM (fac_gui_counter_count), 0)) "
|
||||
+ " FROM fac_gui_counter "
|
||||
+" WHERE fac_gui_counter_group = 'IDP_Login' AND fac_gui_counter_refkey = aut_idp.aut_idp_key "
|
||||
+ " AND fac_gui_counter_date >= TRUNC (SYSDATE)) "
|
||||
+ " || '/' || "
|
||||
+ " (SELECT TO_CHAR(COALESCE(SUM (fac_gui_counter_count), 0)) "
|
||||
+ " FROM fac_gui_counter "
|
||||
+ " WHERE fac_gui_counter_group = 'IDP_Login' AND fac_gui_counter_refkey = aut_idp.aut_idp_key "
|
||||
+ " AND fac_gui_counter_date > SYSDATE - 7) "
|
||||
+ " || '/' || "
|
||||
+ " (SELECT TO_CHAR(COALESCE(SUM (fac_gui_counter_count), 0)) "
|
||||
+ " FROM fac_gui_counter "
|
||||
+ " WHERE fac_gui_counter_group = 'IDP_Login' AND fac_gui_counter_refkey = aut_idp.aut_idp_key "
|
||||
+ " AND fac_gui_counter_date > SYSDATE - 30) "
|
||||
+ " FROM DUAL) "
|
||||
|
||||
|
||||
this.fields = {
|
||||
"id": {
|
||||
"dbs": "aut_idp_key",
|
||||
@@ -184,21 +167,14 @@ function model_aut_idp(params)
|
||||
"label": L("aut_idp_aanmaak"),
|
||||
"typ": "date",
|
||||
"readonly": true
|
||||
},
|
||||
"usage" : {
|
||||
"dbs": "dummy",
|
||||
"label": L("aut_idp_usage"),
|
||||
typ: "varchar",
|
||||
sql: sqlteller
|
||||
}
|
||||
}
|
||||
this.includes = {
|
||||
"idpmappings": {
|
||||
"model": new model_aut_idp_map(),
|
||||
"joinfield": "identityprovider",
|
||||
"enable_update": true
|
||||
}
|
||||
};
|
||||
this.includes =
|
||||
{"idpmappings": { model: new model_aut_idp_map(),
|
||||
joinfield: "identityprovider",
|
||||
enable_update: true
|
||||
}
|
||||
};
|
||||
|
||||
this.hook_pre_edit = function (obj, fld)
|
||||
{
|
||||
@@ -211,7 +187,7 @@ function model_aut_idp(params)
|
||||
fld_hide = ["samlmetaurl"];
|
||||
break;
|
||||
case 5: // saml
|
||||
fld_hide = "algorithm audience secret timeout duration remoteloginurl samlmetaurl clockskew".split(" ");
|
||||
fld_hide = "algorithm audience secret timeout duration remoteloginurl remotelogouturl ipfilter ipauto".split(" ");
|
||||
break;
|
||||
}
|
||||
for (var d=0; d<fld_hide.length; d++)
|
||||
|
||||
@@ -17,7 +17,6 @@ function model_aut_idp_map(params)
|
||||
this.autfunction = params.internal?false:"WEB_FACTAB";
|
||||
this.record_title = L("aut_idp_map");
|
||||
this.records_title = L("aut_idp_map_m");
|
||||
this.defaultIcon = "fa-code-branch fa-rotate-270";
|
||||
|
||||
this.fields = {
|
||||
"id": {
|
||||
@@ -61,7 +60,6 @@ function model_aut_idp_map(params)
|
||||
+ ";11;" + L("lcl_prs_person_mobile")
|
||||
+ ";12;" + L("prs_perslid_externid")
|
||||
+ ";13;" + L("prs_perslid_externid") + " (case insensitive)"
|
||||
+ ";14;" + L("lcl_prs_person_nr")
|
||||
|
||||
// De foreign's
|
||||
+ ";20;" + L("lcl_prs_person_function")
|
||||
|
||||
@@ -17,7 +17,6 @@ function model_aut_sp_map(params)
|
||||
this.autfunction = params.internal?false:"WEB_FACTAB";
|
||||
this.record_title = L("aut_sp_map");
|
||||
this.records_title = L("aut_sp_map_m");
|
||||
this.defaultIcon = "fa-code-branch fa-rotate-270";
|
||||
|
||||
this.fields = {
|
||||
"id": {
|
||||
|
||||
@@ -188,13 +188,13 @@ function model_bes_bestelling()
|
||||
"dbs": "bes_bestelling_externnr",
|
||||
"typ": "varchar",
|
||||
"label": L("extern_nr"),
|
||||
"readonly": !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR"))
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
},
|
||||
"externsyncdate": {
|
||||
"dbs": "bes_bestelling_externsyncdate",
|
||||
"typ": "datetime",
|
||||
"label": L("extern_syncdate"),
|
||||
"readonly": !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR"))
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ function model_bes_bestelling_item()
|
||||
"itemgrossprice": {
|
||||
"dbs": "bes_bestelling_item_brutoprijs",
|
||||
"typ": "currency",
|
||||
"label": L("lcl_bes_brutoprijs")
|
||||
"label": L("lcl_bes_srtprod_prijs_prijs")
|
||||
},
|
||||
"itemprice": {
|
||||
"dbs": "bes_bestelling_item_prijs" ,
|
||||
|
||||
@@ -117,13 +117,13 @@ function model_bes_bestelopdr()
|
||||
"dbs": "bes_bestelopdr_externnr",
|
||||
"typ": "varchar",
|
||||
"label": L("extern_nr"),
|
||||
"readonly": !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR"))
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
},
|
||||
"externsyncdate": {
|
||||
"dbs": "bes_bestelopdr_externsyncdate",
|
||||
"typ": "datetime",
|
||||
"label": L("extern_syncdate"),
|
||||
"readonly": !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR"))
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -71,7 +71,7 @@ function model_bes_bestelopdr_item()
|
||||
"itemgrossprice": {
|
||||
"dbs": "bes_bestelopdr_item_brutoprijs",
|
||||
"typ": "currency",
|
||||
"label": L("lcl_bes_brutoprijs")
|
||||
"label": L("lcl_bes_srtprod_prijs_prijs")
|
||||
},
|
||||
"received": {
|
||||
"dbs": "bes_bestelopdr_item_ontvangen",
|
||||
|
||||
@@ -315,12 +315,6 @@ model_bes_disc_params =
|
||||
"dbs": "bes_disc_params_deliver_fe",
|
||||
"label": L("bes_discipline_fe_deliver"),
|
||||
"typ": "check0"
|
||||
},
|
||||
"autodeliver": {
|
||||
"dbs": "bes_disc_params_autodeliverdays",
|
||||
"label": L("bes_discipline_autodeliverdays"),
|
||||
"typ": "number",
|
||||
"len": 4
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -38,11 +38,6 @@ function model_bes_discipline(disc_key, params)
|
||||
{ // Ook de autorisatie van de oude discipline kopieren
|
||||
mgt.clone_authorization(key, org_disc_key);
|
||||
}
|
||||
var clone_art = getQParamInt("clone_art", 0) == 1;
|
||||
if (clone_art)
|
||||
{ // Ook de autorisatie van de oude discipline kopieren
|
||||
mgt.clone_articles(key, org_disc_key);
|
||||
}
|
||||
}
|
||||
|
||||
this.REST_POST = generic_REST_POST(_model_bes_discipline);
|
||||
@@ -91,6 +86,7 @@ _model_bes_discipline = // Internal only
|
||||
"label": L("prs_kostensoort_key"),
|
||||
"typ": "key",
|
||||
"foreign": "prs_kostensoort",
|
||||
"LOVinit": "",
|
||||
"showtransit": true
|
||||
},
|
||||
"costcentremandatory": {
|
||||
@@ -131,7 +127,7 @@ _model_bes_discipline = // Internal only
|
||||
"dbs": "ins_discipline_externsyncdate",
|
||||
"typ": "datetime",
|
||||
"label": L("extern_syncdate"),
|
||||
"readonly": !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR"))
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
}
|
||||
/* Velden van BES_DISC_PARAMS komen er dynamisch bij */
|
||||
},
|
||||
|
||||
70
APPL/API2/model_bes_disciplineprod.inc
Normal file
70
APPL/API2/model_bes_disciplineprod.inc
Normal file
@@ -0,0 +1,70 @@
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: model_bes_disciplineprod.inc
|
||||
|
||||
Description: Vanuit CodeCharge gegenereerd model voor bes_disciplineprod
|
||||
|
||||
Context:
|
||||
|
||||
Notes:
|
||||
*/
|
||||
%>
|
||||
<%
|
||||
|
||||
function model_bes_disciplineprod()
|
||||
{
|
||||
this.records_name = "ordercatalogues";
|
||||
this.record_name = "ordercatalogue";
|
||||
this.table = "ins_tab_discipline";
|
||||
this.primary = "ins_discipline_key";
|
||||
this.autfunction = "WEB_PRDMSU";
|
||||
this.record_title = L("ins_tab_discipline");
|
||||
this.records_title = L("ins_tab_discipline_m");
|
||||
|
||||
|
||||
this.fields = {
|
||||
"id": {
|
||||
"dbs": "ins_discipline_key",
|
||||
"label": L("lcl_key"),
|
||||
"typ": "key",
|
||||
"required": true,
|
||||
"seq": "ins_s_ins_discipline_key",
|
||||
"defaultvalue": null
|
||||
},
|
||||
"name": {
|
||||
"dbs": "ins_discipline_omschrijving",
|
||||
"label": L("ins_discipline_omschrijving"),
|
||||
"typ": "varchar",
|
||||
"required": true,
|
||||
"filter": "like"
|
||||
},
|
||||
"module": {
|
||||
"dbs": "ins_discipline_module",
|
||||
"label": L("ins_discipline_module"),
|
||||
"typ": "varchar",
|
||||
"hidden_fld": true,
|
||||
"defaultvalue": "PRD"
|
||||
},
|
||||
"remark": {
|
||||
"dbs": "ins_discipline_opmerking",
|
||||
"label": L("ins_discipline_opmerking"),
|
||||
"typ": "memo"
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
this.REST_GET = generic_REST_GET(this,
|
||||
{ "GET": {
|
||||
wheres: [ "ins_discipline_verwijder IS NULL",
|
||||
"ins_discipline_module = 'PRD'"
|
||||
]
|
||||
}
|
||||
}
|
||||
);
|
||||
this.REST_POST = generic_REST_POST(this);
|
||||
this.REST_PUT = generic_REST_PUT(this);
|
||||
this.REST_DELETE = generic_REST_DELETE(this, {});
|
||||
}
|
||||
%>
|
||||
50
APPL/API2/model_bes_grootheid.inc
Normal file
50
APPL/API2/model_bes_grootheid.inc
Normal file
@@ -0,0 +1,50 @@
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: model_bes_grootheid.inc
|
||||
|
||||
Description: Vanuit CodeCharge gegenereerd model voor bes_grootheid
|
||||
|
||||
Context:
|
||||
|
||||
Notes:
|
||||
*/
|
||||
%>
|
||||
<%
|
||||
|
||||
function model_bes_grootheid()
|
||||
{
|
||||
this.records_name = "orderunits";
|
||||
this.record_name = "orderunit";
|
||||
this.table = "bes_grootheid";
|
||||
this.primary = "bes_grootheid_key";
|
||||
this.soft_delete = "bes_grootheid_verwijder";
|
||||
this.autfunction = "WEB_PRDMSU";
|
||||
this.record_title = L("bes_grootheid");
|
||||
this.records_title = L("bes_grootheid_m");
|
||||
|
||||
|
||||
this.fields = {
|
||||
"id": {
|
||||
"dbs": "bes_grootheid_key",
|
||||
"label": L("lcl_key"),
|
||||
"typ": "key",
|
||||
"required": true,
|
||||
"seq": "bes_s_bes_grootheid_key"
|
||||
},
|
||||
"name": {
|
||||
"dbs": "bes_grootheid_naam",
|
||||
"label": L("bes_grootheid_naam"),
|
||||
"typ": "varchar",
|
||||
"required": true
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
this.REST_GET = generic_REST_GET(this);
|
||||
this.REST_POST = generic_REST_POST(this);
|
||||
this.REST_PUT = generic_REST_PUT(this);
|
||||
this.REST_DELETE = generic_REST_DELETE(this, {});
|
||||
}
|
||||
%>
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
File: model_bes_kenmerk.inc
|
||||
|
||||
Description: Model voor bes_kenmerk = Kenmerken van bestelregels
|
||||
Description: Model voor bes_kenmerk
|
||||
|
||||
Context:
|
||||
|
||||
@@ -56,16 +56,12 @@ function model_bes_kenmerk(params)
|
||||
"foreign": {
|
||||
"tbl": "(SELECT bes_srtkenmerk_key"
|
||||
+ " , bes_srtkenmerk_omschrijving"
|
||||
+ (mode != "list"
|
||||
? " || ' (' || bes_srtkenmerk_kenmerktype || ')'"
|
||||
: "")
|
||||
+ " oms"
|
||||
+ " , bes_srtkenmerk_kenmerktype"
|
||||
+ " FROM bes_srtkenmerk"
|
||||
+ " WHERE bes_srtkenmerk_verwijder IS NULL"
|
||||
+ " ORDER by bes_srtkenmerk_omschrijving ASC)",
|
||||
"key": "bes_srtkenmerk_key",
|
||||
"desc": "oms",
|
||||
"desc": "bes_srtkenmerk_omschrijving",
|
||||
"extravalue": "bes_srtkenmerk_kenmerktype"
|
||||
},
|
||||
"defaultvalue": null,
|
||||
@@ -135,14 +131,6 @@ function model_bes_kenmerk(params)
|
||||
"dbs": "bes_kenmerk_volgnummer",
|
||||
"label": L("mgt_kenmerk_volgnummer"),
|
||||
"typ": "number",
|
||||
"len": 3,
|
||||
"required": true
|
||||
},
|
||||
"rolecode": {
|
||||
"dbs": "bes_kenmerk_rolcode",
|
||||
"label": L("mgt_kenmerk_rolcode"),
|
||||
"typ": "number",
|
||||
"LOV": buildKenmerkRoleCodeLOV({ module: "BESI" }),
|
||||
"required": true
|
||||
},
|
||||
"required": {
|
||||
@@ -150,7 +138,6 @@ function model_bes_kenmerk(params)
|
||||
"label": L("mgt_kenmerk_verplicht"),
|
||||
"typ": "key",
|
||||
"LOV": buildVerplichtingList(),
|
||||
"emptyisrealvalue": true,
|
||||
"emptyoption": null
|
||||
},
|
||||
"group": {
|
||||
@@ -174,7 +161,6 @@ function model_bes_kenmerk(params)
|
||||
{
|
||||
"name": "",
|
||||
"label": "",
|
||||
"showasgroup": false,
|
||||
"typ": "check",
|
||||
"mask": 3,
|
||||
"radios": [
|
||||
@@ -222,9 +208,9 @@ function model_bes_kenmerk(params)
|
||||
},
|
||||
"code": {
|
||||
"dbs": "bes_kenmerk_code",
|
||||
"label": L("mgt_kenmerk_code"),
|
||||
"label": L("lcl_bes_code"),
|
||||
"typ": "varchar",
|
||||
"readonly": !user.has("WEB_PRSSYS")
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
},
|
||||
"authorization": {
|
||||
"dbs": "fac_functie_key",
|
||||
|
||||
@@ -4,8 +4,11 @@
|
||||
|
||||
File: model_bes_kenmerkbestel.inc
|
||||
|
||||
Description: Model voor bes_kenmerkbestel = Kenmerken van bestelling
|
||||
Description: Vanuit CodeCharge gegenereerd model voor bes_kenmerkbestel
|
||||
|
||||
Context:
|
||||
|
||||
Notes:
|
||||
*/
|
||||
%>
|
||||
<%
|
||||
@@ -55,16 +58,12 @@ function model_bes_kenmerkbestel()
|
||||
"foreign": {
|
||||
"tbl": "(select bes_srtkenmerk_key"
|
||||
+ " , bes_srtkenmerk_omschrijving"
|
||||
+ (mode != "list"
|
||||
? " || ' (' || bes_srtkenmerk_kenmerktype || ')'"
|
||||
: "")
|
||||
+ " oms"
|
||||
+ " , bes_srtkenmerk_kenmerktype"
|
||||
+ " from bes_srtkenmerk"
|
||||
+ " where bes_srtkenmerk_verwijder is null"
|
||||
+ " order by bes_srtkenmerk_omschrijving asc)",
|
||||
"key": "bes_srtkenmerk_key",
|
||||
"desc": "oms",
|
||||
"desc": "bes_srtkenmerk_omschrijving",
|
||||
"extravalue": "bes_srtkenmerk_kenmerktype"
|
||||
},
|
||||
"defaultvalue": null,
|
||||
@@ -97,14 +96,6 @@ function model_bes_kenmerkbestel()
|
||||
"dbs": "bes_kenmerk_volgnummer",
|
||||
"label": L("mgt_kenmerk_volgnummer"),
|
||||
"typ": "number",
|
||||
"len": 3,
|
||||
"required": true
|
||||
},
|
||||
"rolecode": {
|
||||
"dbs": "bes_kenmerk_rolcode",
|
||||
"label": L("mgt_kenmerk_rolcode"),
|
||||
"typ": "number",
|
||||
"LOV": buildKenmerkRoleCodeLOV({ module: "BES" }),
|
||||
"required": true
|
||||
},
|
||||
"required": {
|
||||
@@ -135,9 +126,8 @@ function model_bes_kenmerkbestel()
|
||||
{
|
||||
"name": "",
|
||||
"label": "",
|
||||
"showasgroup": false,
|
||||
"typ": "check",
|
||||
"mask": 7,
|
||||
"mask": 3,
|
||||
"radios": [
|
||||
{
|
||||
"name": "overview_req",
|
||||
@@ -150,12 +140,6 @@ function model_bes_kenmerkbestel()
|
||||
"label": L("mgt_kenmerk_systeem_overview_pur"),
|
||||
"mask": 2,
|
||||
"defaultvalue": 0
|
||||
},
|
||||
{
|
||||
"name": "visible_bes_opdr",
|
||||
"label": L("lcl_bes_opdr_kenmerk_visible"),
|
||||
"mask": 4,
|
||||
"defaultvalue": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -180,19 +164,7 @@ function model_bes_kenmerkbestel()
|
||||
"typ": "memo",
|
||||
"translate": true
|
||||
},
|
||||
"code": {
|
||||
"dbs": "bes_kenmerk_code",
|
||||
"label": L("mgt_kenmerk_code"),
|
||||
"typ": "varchar",
|
||||
"readonly": !user.has("WEB_PRSSYS")
|
||||
},
|
||||
"authorization": { // wordt nog niet ondersteund in deze module
|
||||
"dbs": "fac_functie_key",
|
||||
"label": L("mgt_kenmerk_autorisatie"),
|
||||
"typ": "key",
|
||||
"foreign": "fac_functie"
|
||||
},
|
||||
"regexp": {
|
||||
"regexp": {
|
||||
"dbs": "bes_kenmerk_regexp",
|
||||
"label": L("mgt_kenmerk_regexp"),
|
||||
"typ": "varchar"
|
||||
|
||||
@@ -168,6 +168,12 @@ function model_bes_srtdeel(disc_key)
|
||||
"label": L("lcl_bes_voorraadmax"),
|
||||
"multiedit": true
|
||||
},
|
||||
"product": {
|
||||
"dbs": "bes_srtprod_key",
|
||||
"typ": "key",
|
||||
"foreign": "BES_SRTPROD",
|
||||
"label": L("lcl_bes_srtprod")
|
||||
},
|
||||
"deviationpct": {
|
||||
"dbs": "bes_srtdeel_margepct",
|
||||
"typ": "number",
|
||||
@@ -214,8 +220,7 @@ function model_bes_srtdeel(disc_key)
|
||||
"foreign": "ins_srtdeel",
|
||||
"label": L("lcl_bes_link_obj_type"),
|
||||
"module": "INS",
|
||||
"binding": 24, // Afdeling 0x8=8 (BIND_AFDELI) + Persoon0x10=16 (BIND_PERSOO).
|
||||
"infoPointer": { Url: "appl/ins/ins_srtdeel.asp?srtdeel_key=" }
|
||||
"binding": 24 // Afdeling 0x8=8 (BIND_AFDELI) + Persoon0x10=16 (BIND_PERSOO).
|
||||
},
|
||||
"actualprice": {
|
||||
"dbs": "actualprice",
|
||||
@@ -227,7 +232,7 @@ function model_bes_srtdeel(disc_key)
|
||||
"dbs": "ins_tab_discipline.ins_discipline_key",
|
||||
"typ": "key",
|
||||
"foreign": {
|
||||
"tbl": "bes_v_aanwezigdiscipline",
|
||||
"tbl": "bes_discipline",
|
||||
"key": "ins_discipline_key",
|
||||
"desc": "(" + lcl.xsql("ins_discipline_omschrijving", "ins_discipline_key") + ")",
|
||||
"where": (disc_key > -1 ? "ins_discipline_key = " + disc_key : "")
|
||||
@@ -259,7 +264,6 @@ function model_bes_srtdeel(disc_key)
|
||||
"orderbys": [
|
||||
"ins_discipline_omschrijving",
|
||||
"bes_srtgroep_omschrijving",
|
||||
"bes_srtdeel_volgnr",
|
||||
"bes_srtdeel_nr"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -74,24 +74,26 @@ function model_bes_srtkenmerk(params)
|
||||
"mask": 1,
|
||||
"defaultvalue": 0
|
||||
},
|
||||
// {
|
||||
// "name": "conf",
|
||||
// "label": L("mgt_kenmerk_systeem_conf"),
|
||||
// "mask": 4,
|
||||
// "defaultvalue": 0
|
||||
// },
|
||||
{
|
||||
"name": "ano",
|
||||
"label": L("mgt_kenmerk_systeem_ano"),
|
||||
"mask": 8,
|
||||
"defaultvalue": 0
|
||||
},
|
||||
{
|
||||
"name": "overview_req",
|
||||
"label": L("mgt_kenmerk_systeem_overview_req"),
|
||||
"mask": 2,
|
||||
"defaultvalue": 0
|
||||
},
|
||||
/*
|
||||
{
|
||||
"name": "conf",
|
||||
"label": L("mgt_kenmerk_systeem_conf"),
|
||||
"mask": 4,
|
||||
"defaultvalue": 0
|
||||
},
|
||||
{
|
||||
"name": "ano",
|
||||
"label": L("mgt_kenmerk_systeem_ano"),
|
||||
"mask": 8,
|
||||
"defaultvalue": 0
|
||||
},
|
||||
*/
|
||||
{
|
||||
"name": "overview_pur",
|
||||
"label": L("mgt_kenmerk_systeem_overview_pur"),
|
||||
@@ -134,8 +136,8 @@ function model_bes_srtkenmerk(params)
|
||||
"code": {
|
||||
"dbs": "bes_srtkenmerk_code",
|
||||
"typ": "varchar",
|
||||
"label": L("mgt_srtkenmerk_code"),
|
||||
"readonly": !user.has("WEB_PRSSYS")
|
||||
"label": L("lcl_bes_code"),
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user