Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
a166ffa7b4 | ||
|
|
ea88e03183 | ||
|
|
0e024b288c | ||
|
|
79d67a9e76 | ||
|
|
6e86f353b3 | ||
|
|
7dda07ac52 | ||
|
|
17ebdbabf9 | ||
|
|
f189723bf2 | ||
|
|
081c221f02 | ||
|
|
69904a6f44 |
@@ -388,34 +388,6 @@ alg = {
|
||||
aresult.canPRSBOFwrite = aresult.canWrite("WEB_PRSBOF"); // werkplekbeheer
|
||||
|
||||
return aresult;
|
||||
},
|
||||
|
||||
calc_algm2: function _calc_algm2(alg_key, lvl)
|
||||
{
|
||||
var sql = "SELECT SUM (alg_ruimte_bruto_vloeropp) opp1, "
|
||||
+ " SUM (alg_ruimte_opp_alt1) opp2, "
|
||||
+ " SUM (alg_ruimte_opp_alt2) opp3 "
|
||||
+ " FROM alg_ruimte r, alg_verdieping v "
|
||||
+ " WHERE v.alg_verdieping_key = r.alg_verdieping_key "
|
||||
+ " AND r.alg_ruimte_verwijder IS NULL";
|
||||
|
||||
if (lvl == "G")
|
||||
{
|
||||
sql += " AND alg_gebouw_key = " + alg_key;
|
||||
}
|
||||
|
||||
if (lvl == "V")
|
||||
{
|
||||
sql += " AND r.alg_verdieping_key = " + alg_key;
|
||||
}
|
||||
|
||||
var oRs = Oracle.Execute(sql);
|
||||
|
||||
var algm2 = { oppbruto: oRs("opp1").Value, oppalt1: oRs("opp2").Value, oppalt2: oRs("opp3").Value }
|
||||
|
||||
oRs.Close();
|
||||
|
||||
return algm2;
|
||||
}
|
||||
}
|
||||
}
|
||||
%>
|
||||
@@ -17,7 +17,6 @@ var JSON_Result = true;
|
||||
%>
|
||||
<!--#include file="../Shared/common.inc"-->
|
||||
<!--#include file="../Shared/json2.js" -->
|
||||
<!--#include file="alg.inc" -->
|
||||
<%
|
||||
protectRequest.validateToken();
|
||||
|
||||
@@ -36,61 +35,6 @@ var autfunction = {D : "WEB_ALGMAN",
|
||||
|
||||
var authParams = user.checkAutorisation(autfunction);
|
||||
|
||||
var authparamsAlg = alg.checkAutorisation();
|
||||
|
||||
var tobedeleted = 0;
|
||||
var ingesloten = [];
|
||||
// Bepaal de opdrachten in de selectie die
|
||||
// ook echt geaccepteerd kunnen of mogen worden.
|
||||
for (var i = 0; i < dis_key_arr.length; i++)
|
||||
{
|
||||
var canDelete = false;
|
||||
switch (level)
|
||||
{
|
||||
case "RE": canDelete = alg.canWriteRegio(dis_key_arr[i], authparamsAlg.mALGwritelevel);
|
||||
break;
|
||||
case "D": canDelete = alg.canWriteDistrict(dis_key_arr[i], authparamsAlg.mALGwritelevel);
|
||||
break;
|
||||
case "L": canDelete = alg.canWriteLocatie(dis_key_arr[i], authparamsAlg.mALGwritelevel);
|
||||
break;
|
||||
case "T": var sql = "SELECT alg_locatie_key"
|
||||
+ " FROM alg_v_aanwezigterreinsector"
|
||||
+ " WHERE alg_terreinsector_key = " + dis_key_arr[i];
|
||||
oRs = Oracle.Execute(sql);
|
||||
canDelete = alg.canWriteLocatie(oRs("alg_locatie_key").Value, authparamsAlg.mALGwritelevel);
|
||||
oRs.Close()
|
||||
break;
|
||||
case "G": canDelete = alg.canWriteGebouw(dis_key_arr[i], authparamsAlg.mALGwritelevel);
|
||||
break;
|
||||
case "V": canDelete = alg.canWriteVerdieping(dis_key_arr[i], authparamsAlg.mALGwritelevel);
|
||||
break;
|
||||
case "R": canDelete = alg.canWriteRuimte(dis_key_arr[i], authparamsAlg.mALGwritelevel);
|
||||
break;
|
||||
case "W": var sql = "SELECT alg_ruimte_key"
|
||||
+ " FROM prs_v_werkplek_gegevens"
|
||||
+ " WHERE prs_werkplek_key = " + dis_key_arr[i];
|
||||
oRs = Oracle.Execute(sql);
|
||||
canDelete = alg.canWriteRuimte(oRs("alg_ruimte_key").Value, authparamsAlg.mALGwritelevel);
|
||||
oRs.Close()
|
||||
break;
|
||||
case "PW": var sql = "SELECT alg_ruimte_key"
|
||||
+ " FROM prs_v_werkplek_gegevens w, prs_perslidwerkplek pw"
|
||||
+ " WHERE pw.prs_werkplek_key = w.prs_werkplek_key"
|
||||
+ " AND prs_perslidwerkplek_key = " + dis_key_arr[i];
|
||||
oRs = Oracle.Execute(sql);
|
||||
canDelete = alg.func_enabled_ruimte(oRs("alg_ruimte_key").Value).canPRSBOFwrite;
|
||||
oRs.Close()
|
||||
break;
|
||||
}
|
||||
|
||||
if (canDelete)
|
||||
{
|
||||
ingesloten.push(dis_key_arr[i]);
|
||||
tobedeleted++;
|
||||
}
|
||||
}
|
||||
user.auth_required_or_abort(tobedeleted > 0); // We klagen niet over enkele wel en enkele niet
|
||||
|
||||
var table = {D : "ALG_DISTRICT",
|
||||
RE: "ALG_REGIO",
|
||||
L : "ALG_LOCATIE",
|
||||
@@ -102,41 +46,41 @@ var table = {D : "ALG_DISTRICT",
|
||||
PW: "PRS_PERSLIDWERKPLEK"}[level];
|
||||
|
||||
result = { success: true, deleted: true };
|
||||
for (var i = 0; i < ingesloten.length; i++)
|
||||
for (var i = 0; i < dis_key_arr.length; i++)
|
||||
{
|
||||
// W en WP hebben geen verwijderveld (meer), die gaan echt weg.
|
||||
if (level == "W" || level == "PW")
|
||||
{
|
||||
// Een WP gooit via de cascade zijn bezetting mee weg.
|
||||
// Een bezetting verwijderen doet niets extra
|
||||
// Bij impliciet verwijderen van wp-bezetting dus ook de werkplek weggooien
|
||||
// die nu (per definitie) leeg wordt. Dit moet eerst, want straks weet
|
||||
// ik niet meer genoeg
|
||||
if (level == "PW" && S("prs_werkplek_implicit") == 1)
|
||||
// W en WP hebben geen verwijderveld (meer), die gaan echt weg.
|
||||
if (level == "W" || level == "PW")
|
||||
{
|
||||
sql = "DELETE FROM prs_werkplek"
|
||||
+ " WHERE prs_werkplek_key IN "
|
||||
+ " (SELECT prs_werkplek_key "
|
||||
+ " FROM prs_perslidwerkplek"
|
||||
+ " WHERE prs_perslidwerkplek_key IN (" + ingesloten[i] + "))"
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
// Een WP gooit via de cascade zijn bezetting mee weg.
|
||||
// Een bezetting verwijderen doet niets extra
|
||||
// Bij impliciet verwijderen van wp-bezetting dus ook de werkplek weggooien
|
||||
// die nu (per definitie) leeg wordt. Dit moet eerst, want straks weet
|
||||
// ik niet meer genoeg
|
||||
if (level == "PW" && S("prs_werkplek_implicit") == 1)
|
||||
{
|
||||
sql = "DELETE FROM prs_werkplek"
|
||||
+ " WHERE prs_werkplek_key IN "
|
||||
+ " (SELECT prs_werkplek_key "
|
||||
+ " FROM prs_perslidwerkplek"
|
||||
+ " WHERE prs_perslidwerkplek_key IN (" + dis_key_arr[i] + "))"
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
}
|
||||
// En dit moet ongeacht impliciet of expliciet.
|
||||
// Alleen bij PW&implicit zal dit niets meer verwijderen vanwege de cascade hiervoor
|
||||
sql = "DELETE FROM " + table
|
||||
+ " WHERE " + table + "_key IN (" + dis_key_arr[i] + ")";
|
||||
}
|
||||
// En dit moet ongeacht impliciet of expliciet.
|
||||
// Alleen bij PW&implicit zal dit niets meer verwijderen vanwege de cascade hiervoor
|
||||
sql = "DELETE FROM " + table
|
||||
+ " WHERE " + table + "_key IN (" + ingesloten[i] + ")";
|
||||
}
|
||||
else
|
||||
{
|
||||
sql = "UPDATE " + table
|
||||
+ " SET " + table + "_VERWIJDER = " + "SYSDATE"
|
||||
+ " WHERE " + table + "_key IN (" + ingesloten[i] + ")";
|
||||
}
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
else
|
||||
{
|
||||
sql = "UPDATE " + table
|
||||
+ " SET " + table + "_VERWIJDER = " + "SYSDATE"
|
||||
+ " WHERE " + table + "_key IN (" + dis_key_arr[i] + ")";
|
||||
}
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
}
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
|
||||
@@ -54,18 +54,19 @@ function fnrowData(oRs)
|
||||
|
||||
function doDelete(rowArray, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_district"), { autoconfirm: isMulti },
|
||||
function() {
|
||||
var disKeyString = getKeyString(rowArray);
|
||||
var data = { key: disKeyString,
|
||||
level: "D"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>+
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
}
|
||||
);
|
||||
var disKeyString = getKeyString(rowArray);
|
||||
if (isMulti || confirm(L("lcl_alg_del_txt_district")))
|
||||
{
|
||||
var data = { key: disKeyString,
|
||||
level: "D"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<%
|
||||
|
||||
@@ -131,11 +132,6 @@ function district_list(pautfunction, params)
|
||||
sqln += " AND d.alg_district_key = " + dis_key;
|
||||
}
|
||||
|
||||
if (params.distr_descr)
|
||||
{
|
||||
sqln += " AND UPPER(d.alg_district_omschrijving) LIKE " + safe.quoted_sql_wild(params.distr_descr + "%");
|
||||
}
|
||||
|
||||
else if (reg_key)
|
||||
{
|
||||
sqln += " AND d.alg_regio_key = " + reg_key;
|
||||
|
||||
@@ -52,14 +52,10 @@ var authparams = alg.checkAutorisation();
|
||||
regiokey: regio_key,
|
||||
districtkey: district_key,
|
||||
startlevel: 0, // Regio
|
||||
eindlevel: 0, // Regio
|
||||
eindlevel: 1, // District
|
||||
whenEmpty: L("lcl_search_generic")
|
||||
});
|
||||
%>
|
||||
<tr class="primsearch">
|
||||
<td class="label"><label><%=L("lcl_estate_district_man_descr")%>:</label></td>
|
||||
<td><input type="text" class="wildcard" id="distr_descr" name="distr_descr" value=""></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td><!-- end column 1 -->
|
||||
<td class="searchkolom2">
|
||||
|
||||
@@ -4,9 +4,9 @@
|
||||
$Id$
|
||||
|
||||
File: alg_district_search_list.asp
|
||||
Description:
|
||||
Parameters:
|
||||
Context:
|
||||
Description:
|
||||
Parameters:
|
||||
Context:
|
||||
Note:
|
||||
*/ %>
|
||||
|
||||
@@ -23,14 +23,12 @@ var outputmode = getQParamInt("outputmode", 0); // 0 = screen, 1 = print, 2 = e
|
||||
var showall = getQParamInt("showall", 0) == 1;
|
||||
var reg_key = getQParamInt("regiokey", -1); // Regio
|
||||
var dis_key = getQParamInt("districtkey", -1); // District
|
||||
var distr_descr = getQParam("distr_descr", ""); // Districtomschrijving
|
||||
|
||||
district_list ( "*",
|
||||
{ outputmode: outputmode,
|
||||
showall: showall,
|
||||
reg_key: (reg_key != -1? reg_key : null),
|
||||
dis_key: (dis_key != -1? dis_key : null),
|
||||
distr_descr: distr_descr
|
||||
dis_key: (dis_key != -1? dis_key : null)
|
||||
}
|
||||
);
|
||||
%>
|
||||
@@ -83,7 +83,7 @@ if (this_alg.writeman)
|
||||
else
|
||||
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE of <self> dan zijn er veel readonly
|
||||
|
||||
BLOCK_START("algInfo", " ");
|
||||
BLOCK_START("algInfo", "");
|
||||
FCLTplaatsselector(this_alg.authparams("WEB_ALGMAN").ALGwritelevel, {
|
||||
districtkey: dis_key,
|
||||
startlevel: 0, // Regio
|
||||
|
||||
@@ -55,19 +55,11 @@ else
|
||||
" AND ALG_ONRGOEDKENMERK_VERWIJDER IS NULL " +
|
||||
" AND ALG_ONRGOED_NIVEAU = 'D' " +
|
||||
" AND ALG_ONRGOED_KEY = " + dis_key;
|
||||
saveFlexKenmerken(dis_key,
|
||||
{ kenmerkTable: "alg_onrgoedkenmerk",
|
||||
kenmerkParentKey : "alg_onrgoed_key",
|
||||
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
|
||||
kenmerkKey: "alg_kenmerk_key",
|
||||
currentKenmerkenSQL: currentKenmerkenSQL,
|
||||
requestQF: Request.Form,
|
||||
flexPath: "ALG/D",
|
||||
module: "ALG",
|
||||
moduleName: "alg_onrgoed_niveau",
|
||||
moduleVal: "D",
|
||||
isNew: dis_key < 0
|
||||
});
|
||||
saveFlexKenmerken(dis_key, "ALG_ONRGOEDKENMERK", "ALG_ONRGOED_KEY",
|
||||
"ALG_ONRGOEDKENMERK_WAARDE", "ALG_KENMERK_KEY",
|
||||
currentKenmerkenSQL, false, //QueryForm, rest QueryString
|
||||
"ALG_ONRGOED_NIVEAU", "D",
|
||||
(dis_key<0),"ALG/D")
|
||||
}
|
||||
%>
|
||||
<html>
|
||||
|
||||
@@ -14,9 +14,8 @@
|
||||
*/ %>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/calendar.inc" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/adresselector.inc" -->
|
||||
|
||||
<!-- #include file="../Shared/plaatsselector.inc" -->
|
||||
<!-- #include file="../Shared/kostenplaatsselector.inc" -->
|
||||
<!-- #include file="../Shared/persoonselector.inc" -->
|
||||
@@ -47,7 +46,6 @@ if (bld_key > 0)
|
||||
var bld_code = oRs("alg_gebouw_code").Value;
|
||||
var bld_descr = oRs("alg_gebouw_omschrijving").Value;
|
||||
var bld_maak = oRs("alg_gebouw_aanmaak").Value;
|
||||
var bld_email = oRs("alg_gebouw_email").Value;
|
||||
var bld_teken = oRs("alg_gebouw_getekend").Value;
|
||||
var bld_opp = oRs("alg_gebouw_bruto_vloeropp").Value;
|
||||
var bld_omtrek = oRs("alg_gebouw_omtrek").Value;
|
||||
@@ -66,8 +64,6 @@ if (bld_key > 0)
|
||||
var einduur = oRs("alg_gebouw_einduur").Value;
|
||||
var werkdagen = oRs("alg_gebouw_werkdagen").Value;
|
||||
var verantw_key = oRs("prs_perslid_key_verantw").Value;
|
||||
var verantw_key2 = oRs("prs_perslid_key_verantw2").Value;
|
||||
var vervaldatum = oRs("alg_gebouw_vervaldatum").Value != null ? new Date(oRs("alg_gebouw_vervaldatum").Value) : null;
|
||||
oRs.Close();
|
||||
}
|
||||
else
|
||||
@@ -112,7 +108,7 @@ else
|
||||
else
|
||||
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE of <self> dan zijn er veel readonly
|
||||
|
||||
BLOCK_START("algLoc1", " ");
|
||||
BLOCK_START("algLoc1", "");
|
||||
FCLTplaatsselector(this_alg.authparams("WEB_ALGMAN").ALGwritelevel,
|
||||
{ gebouwkey: bld_key,
|
||||
startlevel: 2, //Locatie
|
||||
@@ -162,45 +158,25 @@ else
|
||||
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.writeuse,
|
||||
autlevel: this_alg.authparams("WEB_ALGMAN") && this_alg.authparams("WEB_ALGMAN").PRSwritelevel
|
||||
});
|
||||
manRWFIELD("bld_email", "fld", L("lcl_alg_gebouw_email"), bld_email, {maxlength: 200});
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("algLoc2", " ");
|
||||
if (bld_key > 0)
|
||||
{
|
||||
var calcopp = alg.calc_algm2(bld_key, onrgoedlvl);
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_bruto_vloeropp") + L("lcl_estate_calc_vloeropp"), calcopp.oppbruto, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt1") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt1, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt2") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt2, {suppressEmpty: true});
|
||||
}
|
||||
manRWFIELD("bld_opp", "fld float", L("lcl_estate_gebouw_man_bruto_vloeropp"), bld_opp, {datatype:"float", maxlength: 15});
|
||||
BLOCK_START("algLoc2", "");
|
||||
manRWFIELD("bld_opp", "fld", L("lcl_estate_gebouw_man_bruto_vloeropp"), bld_opp, {maxlength: 15});
|
||||
manRWFIELD("bld_omtrek", "fld", L("lcl_estate_gebouw_man_omtrek"), bld_omtrek, {maxlength: 15});
|
||||
manRWFIELD("bld_inhoud", "fld", L("lcl_estate_gebouw_man_inhoud"), bld_inhoud, {maxlength: 15});
|
||||
FCLTadresselector("mld_adres", "sgAdres",
|
||||
{
|
||||
label: L("lcl_delivery_address"),
|
||||
adresKey: mld_adres,
|
||||
sql = "SELECT mld_adres_key"
|
||||
+ " , mld_adres_naam "
|
||||
+ " FROM mld_v_afleveradres"
|
||||
+ " ORDER BY mld_adres_naam ";
|
||||
FCLTselector("mld_adres",
|
||||
sql,
|
||||
{ label: L("lcl_delivery_address"),
|
||||
initKey: mld_adres,
|
||||
emptyOption: "",
|
||||
filtercode: "A",
|
||||
readonly: !this_alg.writeman
|
||||
}) ;
|
||||
manRWFIELD("bld_x", "fld", L("lcl_geoxcoord"), bld_x, {maxlength: 25});
|
||||
manRWFIELD("bld_y", "fld", L("lcl_geoycoord"), bld_y, {maxlength: 25});
|
||||
|
||||
FCLTcalendar("vervaldatum",
|
||||
{ datum: vervaldatum,
|
||||
initEmpty: vervaldatum==null,
|
||||
label: L("lcl_alg_vervaldatum"),
|
||||
readonly: !this_alg.writeman
|
||||
});
|
||||
|
||||
manRWFIELD("bld_x", "fld", L("lcl_geoxcoord"), bld_x, {maxlength: 25});
|
||||
manRWFIELD("bld_y", "fld", L("lcl_geoycoord"), bld_y, {maxlength: 25});
|
||||
if (this_alg.writeman)
|
||||
CHECKBOXTR(L("lcl_estate_gebouw_bez"), "fldalgbez", "bld_bez", bld_bez==1)
|
||||
var times = [];
|
||||
|
||||
@@ -34,11 +34,10 @@ user.auth_required_or_abort(this_alg.writeman || (bld_key>0&&this_alg.writeuse))
|
||||
{ dbs: "alg_gebouw_naam", typ: "varchar", frm: "bld_naam" },
|
||||
{ dbs: "alg_gebouw_code", typ: "varchar", frm: "bld_code" },
|
||||
{ dbs: "alg_gebouw_omschrijving", typ: "varchar", frm: "bld_descr" },
|
||||
{ dbs: "alg_gebouw_email", typ: "varchar", frm: "bld_email" },
|
||||
{ dbs: "alg_gebouw_getekend", typ: "date", frm: "bld_teken" },
|
||||
{ dbs: "alg_gebouw_bruto_vloeropp", typ: "float", frm: "bld_opp" },
|
||||
{ dbs: "alg_gebouw_omtrek", typ: "float", frm: "bld_omtrek" },
|
||||
{ dbs: "alg_gebouw_inhoud", typ: "float", frm: "bld_inhoud" },
|
||||
{ dbs: "alg_gebouw_bruto_vloeropp", typ: "number", frm: "bld_opp" },
|
||||
{ dbs: "alg_gebouw_omtrek", typ: "number", frm: "bld_omtrek" },
|
||||
{ dbs: "alg_gebouw_inhoud", typ: "number", frm: "bld_inhoud" },
|
||||
{ dbs: "alg_gebouw_opmerking", typ: "varchar", frm: "bld_opmerk" },
|
||||
{ dbs: "mld_adres_key", typ: "key", frm: "mld_adres" },
|
||||
{ dbs: "prs_kostenplaats_key", typ: "key", frm: "prs_kstpl" },
|
||||
@@ -50,9 +49,7 @@ user.auth_required_or_abort(this_alg.writeman || (bld_key>0&&this_alg.writeuse))
|
||||
{ dbs: "alg_gebouw_y", typ: "float", frm: "bld_y" },
|
||||
{ dbs: "alg_gebouw_bez", typ: "check", frm: "bld_bez" },
|
||||
{ dbs: "alg_gebouw_werkdagen", typ: "check0", frm: "bld_werkdagen" },
|
||||
{ dbs: "alg_gebouw_vervaldatum", typ: "date", frm: "vervaldatum", track: L("lcl_alg_vervaldatum") },
|
||||
{ dbs: "prs_perslid_key_verantw", typ: "key", frm: "verantw" },
|
||||
{ dbs: "prs_perslid_key_verantw2", typ: "key", frm: "verantw2" }];
|
||||
{ dbs: "prs_perslid_key_verantw", typ: "key", frm: "verantw" }];
|
||||
|
||||
if (beginuur != -2)
|
||||
fields.push({ dbs: "alg_gebouw_beginuur", typ: "float", val: beginuur });
|
||||
@@ -90,19 +87,11 @@ user.auth_required_or_abort(this_alg.writeman || (bld_key>0&&this_alg.writeuse))
|
||||
" AND ALG_ONRGOEDKENMERK_VERWIJDER IS NULL " +
|
||||
" AND ALG_ONRGOED_NIVEAU = 'G' " +
|
||||
" AND ALG_ONRGOED_KEY = " + bld_key;
|
||||
saveFlexKenmerken(bld_key,
|
||||
{ kenmerkTable: "alg_onrgoedkenmerk",
|
||||
kenmerkParentKey : "alg_onrgoed_key",
|
||||
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
|
||||
kenmerkKey: "alg_kenmerk_key",
|
||||
currentKenmerkenSQL: currentKenmerkenSQL,
|
||||
requestQF: Request.Form,
|
||||
flexPath: "ALG/G",
|
||||
module: "ALG",
|
||||
moduleName: "alg_onrgoed_niveau",
|
||||
moduleVal: "G",
|
||||
isNew: bld_key < 0
|
||||
});
|
||||
saveFlexKenmerken(bld_key, "ALG_ONRGOEDKENMERK", "ALG_ONRGOED_KEY",
|
||||
"ALG_ONRGOEDKENMERK_WAARDE", "ALG_KENMERK_KEY",
|
||||
currentKenmerkenSQL, false, //QueryForm, rest QueryString
|
||||
"ALG_ONRGOED_NIVEAU", "G",
|
||||
(bld_key<0),"ALG/G")
|
||||
}
|
||||
%>
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ if (this_alg.writeman)
|
||||
else
|
||||
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE of <self> dan zijn er veel readonly
|
||||
|
||||
BLOCK_START("algLoc1", " ");
|
||||
BLOCK_START("algLoc1", "");
|
||||
FCLTplaatsselector(this_alg.authparams("WEB_ALGMAN").ALGwritelevel, {
|
||||
districtkey: dis_key,
|
||||
locatiekey: loc_key,
|
||||
@@ -129,7 +129,7 @@ manRWFIELD("loc_x", "fld", L("lcl_geoxcoord"), loc_x, {maxlengt
|
||||
manRWFIELD("loc_y", "fld", L("lcl_geoycoord"), loc_y, {maxlength: 25});
|
||||
|
||||
BLOCK_END();
|
||||
BLOCK_START("algLoc2", " ");
|
||||
BLOCK_START("algLoc2", "");
|
||||
|
||||
manRWFIELD("pst_adres", "fld", L("lcl_prs_address_post_adres"), pst_adres, {maxlength: 50});
|
||||
manRWFIELD("pst_postc", "fld", L("lcl_prs_address_post_postcode"), pst_postc, {maxlength: 12});
|
||||
|
||||
@@ -70,19 +70,11 @@ else
|
||||
" AND ALG_ONRGOEDKENMERK_VERWIJDER IS NULL " +
|
||||
" AND ALG_ONRGOED_NIVEAU = 'L' " +
|
||||
" AND ALG_ONRGOED_KEY = " + loc_key;
|
||||
saveFlexKenmerken(loc_key,
|
||||
{ kenmerkTable: "alg_onrgoedkenmerk",
|
||||
kenmerkParentKey : "alg_onrgoed_key",
|
||||
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
|
||||
kenmerkKey: "alg_kenmerk_key",
|
||||
currentKenmerkenSQL: currentKenmerkenSQL,
|
||||
requestQF: Request.Form,
|
||||
flexPath: "ALG/L",
|
||||
module: "ALG",
|
||||
moduleName: "alg_onrgoed_niveau",
|
||||
moduleVal: "L",
|
||||
isNew: loc_key < 0
|
||||
});
|
||||
saveFlexKenmerken(loc_key, "ALG_ONRGOEDKENMERK", "ALG_ONRGOED_KEY",
|
||||
"ALG_ONRGOEDKENMERK_WAARDE", "ALG_KENMERK_KEY",
|
||||
currentKenmerkenSQL, false,
|
||||
"ALG_ONRGOED_NIVEAU", "L",
|
||||
(loc_key<0),"ALG/L")
|
||||
}
|
||||
%>
|
||||
|
||||
|
||||
@@ -23,10 +23,7 @@ FCLTHeader.Requires({plugins:["suggest","jQuery"], js: []})
|
||||
|
||||
var regio_key = getQParamInt("regio_key");
|
||||
|
||||
var params = { filter: { id: regio_key,
|
||||
isNew: (regio_key == -1 ? true : false)
|
||||
}
|
||||
};
|
||||
var params = { filter: { id: regio_key }};
|
||||
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.
|
||||
@@ -76,7 +73,7 @@ var action = (regio_key == -1 ? "I" : "U");
|
||||
else
|
||||
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE dan zijn er veel readonly
|
||||
|
||||
BLOCK_START("algInfo", " ");
|
||||
BLOCK_START("algInfo", "");
|
||||
|
||||
manRWFIELD("reg_oms", "fld", L("lcl_region"), regio_data.name, {required: true, maxlength: 30});
|
||||
|
||||
|
||||
@@ -118,7 +118,7 @@ if (!room_exists)
|
||||
else
|
||||
useRWFIELD = manRWFIELD
|
||||
|
||||
BLOCK_START("algLoc1", " ");
|
||||
BLOCK_START("algLoc1", "");
|
||||
|
||||
FCLTplaatsselector( this_alg.authparams("WEB_RUIMAN").ALGwritelevel,
|
||||
{ locatiekey: loc_key,
|
||||
@@ -161,7 +161,7 @@ if (!room_exists)
|
||||
});
|
||||
|
||||
BLOCK_END();
|
||||
BLOCK_START("algLoc2", " ");
|
||||
BLOCK_START("algLoc2", "");
|
||||
|
||||
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);
|
||||
@@ -194,7 +194,6 @@ if (!room_exists)
|
||||
readonly: !this_alg.writeman
|
||||
}
|
||||
);
|
||||
times.push(" SELECT 24, '24:00' FROM DUAL");
|
||||
FCLTselector( "room_einduur",
|
||||
times.join(" UNION ALL "),
|
||||
{ label: L("lcl_estate_gebouw_einduur"),
|
||||
|
||||
@@ -1,212 +0,0 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: alg_edit_ruimte_multi.asp
|
||||
Description: Multi editten van de flexkenmerken van ruimtes
|
||||
Parameters: alg_keys
|
||||
|
||||
Context:
|
||||
Note:
|
||||
|
||||
*/ %>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/kenmerk_common.inc" -->
|
||||
<!-- #include file="./alg_flexkenmerk.inc" -->
|
||||
<!-- #include file="./alg.inc" -->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["suggest", "jQuery", "kenmerk"] });
|
||||
|
||||
var alg_key_arr = getQParamIntArray("alg_keys");
|
||||
var alg_level = getQParam("alg_level");
|
||||
|
||||
var warning = "";
|
||||
var result = {};
|
||||
var tobeedited = 0;
|
||||
var ingesloten = [];
|
||||
// Bepaal de ruimtes in de selectie die
|
||||
// ook echt bewerkt kunnen of mogen worden.
|
||||
for (var i = 0; i < alg_key_arr.length; i++)
|
||||
{
|
||||
var this_alg = alg.func_enabled(alg_key_arr[i], "R");
|
||||
if (this_alg.writeman || this_alg.writeuse)
|
||||
{
|
||||
ingesloten.push(alg_key_arr[i]);
|
||||
tobeedited++;
|
||||
var last_this_alg = this_alg; // deze gebruiken we voor rechtencontrole. Niet 100% zuiver maar goed genoeg
|
||||
}
|
||||
}
|
||||
user.auth_required_or_abort(tobeedited > 0); // We klagen niet over enkele wel en enkele niet
|
||||
|
||||
/*
|
||||
var sql = "SELECT alg_srtruimte_key"
|
||||
+ " , mld_dienstniveau_key"
|
||||
+ " , alg_ruimte_omschrijving"
|
||||
+ " , alg_ruimte_opmerking"
|
||||
+ " , alg_ruimte_beginuur"
|
||||
+ " , alg_ruimte_einduur"
|
||||
+ " , alg_ruimte_werkdagen"
|
||||
+ " FROM alg_ruimte"
|
||||
+ " WHERE alg_ruimte_key in (" + ingesloten.join(",") + ")";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
var diff = { srtruimte_key: oRs("alg_srtruimte_key").Value,
|
||||
dienstniveau_key: oRs("mld_dienstniveau_key").Value,
|
||||
omschrijving: oRs("alg_ruimte_omschrijving").Value,
|
||||
opmerking: oRs("alg_ruimte_opmerking").Value,
|
||||
beginuur: oRs("alg_ruimte_beginuur").Value,
|
||||
einduur: oRs("alg_ruimte_einduur").Value,
|
||||
werkdagen: oRs("alg_ruimte_werkdagen").Value
|
||||
};
|
||||
var i = 0;
|
||||
while (!oRs.eof)
|
||||
{
|
||||
i++;
|
||||
if (diff.srtruimte_key != oRs("alg_srtruimte_key").Value) diff.srtruimte_key = null;
|
||||
if (diff.dienstniveau_key != oRs("mld_dienstniveau_key").Value) diff.dienstniveau_key = null;
|
||||
if (diff.omschrijving != oRs("alg_ruimte_omschrijving").Value) diff.omschrijving = null;
|
||||
if (diff.opmerking != oRs("alg_ruimte_opmerking").Value) diff.opmerking = null;
|
||||
if (diff.beginuur != oRs("alg_ruimte_beginuur").Value) diff.beginuur = null;
|
||||
if (diff.einduur != oRs("alg_ruimte_einduur").Value) diff.einduur = null;
|
||||
if (diff.werkdagen != oRs("alg_ruimte_werkdagen").Value) diff.werkdagen = null;
|
||||
oRs.MoveNext();
|
||||
}
|
||||
}
|
||||
oRs.Close();
|
||||
*/
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<script type="text/javascript">
|
||||
function alg_submit()
|
||||
{
|
||||
$.post($("form[name=u2]")[0].action,
|
||||
$("[name=u2]").serialize(),
|
||||
FcltCallbackAndThenAlways(alg_submit_callback),
|
||||
"json");
|
||||
return true; // disable button
|
||||
}
|
||||
|
||||
function alg_submit_callback(json)
|
||||
{
|
||||
iface.button.enable("btn_alg_submit");
|
||||
if (json.success)
|
||||
FcltMgr.closeDetail(window, json);
|
||||
}
|
||||
|
||||
function alg_cancel()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="modal" id="mod_algmultiedit">
|
||||
<form name="u2" action="alg_edit_ruimte_multi_save.asp?alg_level=<%=safe.htmlattr(alg_level)%>&alg_keys=<%=ingesloten.join(",")%>" method="post">
|
||||
<%
|
||||
/*
|
||||
if (last_this_alg.writeman || last_this_alg.writeuse)
|
||||
{
|
||||
BLOCK_START("algFlex", L("lcl_ins_meta_data"));
|
||||
// ruimte specifieke velden
|
||||
if (last_this_alg.writeman)
|
||||
{
|
||||
sql = "SELECT alg_srtruimte_key"
|
||||
+ " , " + lcl.xsqla("alg_srtruimte_omschrijving", "alg_srtruimte_key")
|
||||
+ " FROM alg_v_aanwezigsrtruimte"
|
||||
+ " ORDER BY UPPER("+lcl.xsql("alg_srtruimte_omschrijving", "alg_srtruimte_key")+")";
|
||||
FCLTselector( "room_srt",
|
||||
sql,
|
||||
{ label: L("lcl_estate_ruimte_man_sort"),
|
||||
initKey: (diff.srtruimte_key ? diff.srtruimte_key : -1),
|
||||
emptyOption: ""
|
||||
});
|
||||
}
|
||||
|
||||
if (last_this_alg.writeuse)
|
||||
{
|
||||
sql = "SELECT mld_dienstniveau_key"
|
||||
+ " , " + lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
+ " FROM mld_dienstniveau"
|
||||
+ " ORDER BY UPPER("+lcl.xsql("mld_dienstniveau_omschr", "mld_dienstniveau_key")+")";
|
||||
FCLTselector( "dienstniveau",
|
||||
sql,
|
||||
{ label: L("lcl_mld_dienst_niveau"),
|
||||
initKey: (diff.dienstniveau_key ? diff.dienstniveau_key : -1),
|
||||
emptyOption: ""
|
||||
});
|
||||
|
||||
RWFIELDTR("room_oms", "fld", L("lcl_estate_ruimte_man_descr"), diff.omschrijving, {maxlength: 30});
|
||||
}
|
||||
|
||||
if (last_this_alg.writeman)
|
||||
{
|
||||
RWFIELDTR("room_opm", "fld", L("lcl_estate_ruimte_man_opmerk"), diff.opmerking, {maxlength: 50});
|
||||
|
||||
var times = [];
|
||||
for (i=0; i<24; i++)
|
||||
{
|
||||
sql = " SELECT " + String(i+0/4) + ", '" + String(i) + ":00' FROM DUAL"
|
||||
+ " UNION ALL SELECT " + String(i+1/4) + ", '" + String(i) + ":15' FROM DUAL"
|
||||
+ " UNION ALL SELECT " + String(i+2/4) + ", '" + String(i) + ":30' FROM DUAL"
|
||||
+ " UNION ALL SELECT " + String(i+3/4) + ", '" + String(i) + ":45' FROM DUAL"
|
||||
times.push(sql);
|
||||
}
|
||||
FCLTselector( "room_beginuur",
|
||||
times.join(" UNION ALL "),
|
||||
{ label: L("lcl_estate_gebouw_beginuur"),
|
||||
initKey: diff.beginuur,
|
||||
emptyOption: ""
|
||||
}
|
||||
);
|
||||
FCLTselector( "room_einduur",
|
||||
times.join(" UNION ALL "),
|
||||
{ label: L("lcl_estate_gebouw_einduur"),
|
||||
initKey: diff.einduur,
|
||||
emptyOption: ""
|
||||
}
|
||||
);
|
||||
|
||||
sql = " SELECT null, " + safe.quoted_sql(L("lcl_alg_ruimte_volgens_gebouw")) + " FROM DUAL"
|
||||
+ " UNION ALL SELECT 0, " + safe.quoted_sql(L("lcl_No")) + " FROM DUAL"
|
||||
+ " UNION ALL SELECT 1, " + safe.quoted_sql(L("lcl_Yes")) + " FROM DUAL";
|
||||
FCLTselector( "room_werkdagen",
|
||||
sql,
|
||||
{ label: L("lcl_estate_gebouw_werkdagen"),
|
||||
initKey: diff.werkdagen
|
||||
}
|
||||
);
|
||||
}
|
||||
BLOCK_END();
|
||||
}
|
||||
*/
|
||||
generateFlexKenmerkBlock({
|
||||
fnpre: function () {BLOCK_START("algMultiEdit", L("lcl_flexible_properties"));},
|
||||
fnpost: BLOCK_END,
|
||||
onrgoed_niveau: "R",
|
||||
onrgoed_key: -1,
|
||||
this_alg: last_this_alg,
|
||||
reado: false,
|
||||
multi: true,
|
||||
flexcolumns: 1 // altijd want popup
|
||||
});
|
||||
|
||||
var buttons = [];
|
||||
buttons.push({title: L("lcl_submit"), action: "alg_submit()", singlepress: true, id: "btn_alg_submit"});
|
||||
buttons.push({title: L("lcl_cancel"), action: "alg_cancel()"});
|
||||
CreateButtons(buttons);
|
||||
IFACE.FORM_END();
|
||||
%>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,88 +0,0 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: alg_edit_ruimte_multi_save.asp
|
||||
Description: save script van alg_edit_ruimte_multi.asp
|
||||
Globalen:
|
||||
Context:
|
||||
Note:
|
||||
*/
|
||||
var JSON_Result = true;
|
||||
%>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/kenmerk_common.inc" -->
|
||||
<!-- #include file="./alg.inc" -->
|
||||
|
||||
<%
|
||||
//protectRequest.validateToken();
|
||||
var alg_key_arr = getQParamIntArray("alg_keys");
|
||||
var alg_level = getQParam("alg_level");
|
||||
|
||||
var warning = "";
|
||||
var result = {};
|
||||
var nr_edited = 0;
|
||||
|
||||
for (var i = 0; i < alg_key_arr.length; i++)
|
||||
{
|
||||
var alg_key = alg_key_arr[i];
|
||||
var this_alg = alg.func_enabled(alg_key, "R");
|
||||
if (this_alg.writeman || this_alg.writeuse)
|
||||
{
|
||||
// Ik mag de ruimte wijzigen dus voer wijziging uit
|
||||
var fields = [];
|
||||
var algUpd = buildTrackingUpdate("alg_ruimte", " alg_ruimte_key = " + alg_key, fields);
|
||||
// // Submit the changed data
|
||||
// var err = Oracle.Execute(algUpd.sql, true);
|
||||
// if (err.friendlyMsg)
|
||||
// warning = err.friendlyMsg;
|
||||
|
||||
currentKenmerkenSQL = "SELECT k.alg_kenmerk_key"
|
||||
+ " , ok.alg_onrgoedkenmerk_waarde"
|
||||
+ " FROM alg_onrgoedkenmerk ok"
|
||||
+ " , alg_kenmerk k"
|
||||
+ " WHERE ok.alg_kenmerk_key = k.alg_kenmerk_key"
|
||||
+ " AND ok.alg_onrgoedkenmerk_verwijder IS NULL"
|
||||
+ " AND ok.alg_onrgoed_niveau = " + safe.quoted_sql(alg_level)
|
||||
+ " AND ok.alg_onrgoed_key = " + alg_key;
|
||||
|
||||
|
||||
allKenmerkenSQL = "SELECT " + lcl.xsql('k.alg_kenmerk_omschrijving', 'k.alg_kenmerk_key') + " kenmerk_omschrijving"
|
||||
+ ", fac_kenmerkdomein_key"
|
||||
+ " FROM alg_kenmerk k"
|
||||
+ " WHERE k.alg_kenmerk_key = "; /* wordt in saveFlexkenmerken uitgebreid */
|
||||
|
||||
var flextrack = saveFlexKenmerken(alg_key,
|
||||
{ kenmerkTable: "alg_onrgoedkenmerk",
|
||||
kenmerkParentKey : "alg_onrgoed_key",
|
||||
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
|
||||
kenmerkKey: "alg_kenmerk_key",
|
||||
currentKenmerkenSQL: currentKenmerkenSQL,
|
||||
allKenmerkenSQL: allKenmerkenSQL,
|
||||
requestQF: Request.Form,
|
||||
flexPath: "ALG/R",
|
||||
multiMode: true,
|
||||
tracking: true,
|
||||
module: "ALG",
|
||||
moduleName: "alg_onrgoed_niveau",
|
||||
moduleVal: alg_level
|
||||
});
|
||||
|
||||
if (flextrack && flextrack.length)
|
||||
{
|
||||
var update_string = L("lcl_alg_is_algrup") + "\n" + flextrack.join("\n");
|
||||
shared.trackaction("ALGRUP", alg_key, update_string);
|
||||
nr_edited++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
result = { success : true, refresh: true };
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
Response.End;
|
||||
%>
|
||||
@@ -88,19 +88,11 @@ else
|
||||
" AND ALG_ONRGOEDKENMERK_VERWIJDER IS NULL " +
|
||||
" AND ALG_ONRGOED_NIVEAU = 'T' " +
|
||||
" AND ALG_ONRGOED_KEY = " + ter_key;
|
||||
saveFlexKenmerken(ter_key,
|
||||
{ kenmerkTable: "alg_onrgoedkenmerk",
|
||||
kenmerkParentKey : "alg_onrgoed_key",
|
||||
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
|
||||
kenmerkKey: "alg_kenmerk_key",
|
||||
currentKenmerkenSQL: currentKenmerkenSQL,
|
||||
requestQF: Request.Form,
|
||||
flexPath: "ALG/T",
|
||||
module: "ALG",
|
||||
moduleName: "alg_onrgoed_niveau",
|
||||
moduleVal: "T",
|
||||
isNew: ter_key < 0
|
||||
});
|
||||
saveFlexKenmerken(ter_key, "ALG_ONRGOEDKENMERK", "ALG_ONRGOED_KEY",
|
||||
"ALG_ONRGOEDKENMERK_WAARDE", "ALG_KENMERK_KEY",
|
||||
currentKenmerkenSQL, false, //QueryForm, rest QueryString
|
||||
"ALG_ONRGOED_NIVEAU", "T",
|
||||
(ter_key<0),"ALG/T")
|
||||
}
|
||||
%>
|
||||
|
||||
|
||||
@@ -85,7 +85,7 @@ if (this_alg.writeman)
|
||||
else
|
||||
manRWFIELD = function (a,b,c,d,e) { ROFIELDTR(b,c,d,e) }; // als geen USE of <self> dan zijn er veel readonly
|
||||
|
||||
BLOCK_START("algLoc1", " ");
|
||||
BLOCK_START("algLoc1", "");
|
||||
FCLTplaatsselector(this_alg.authparams("WEB_ALGMAN").ALGwritelevel, {
|
||||
locatiekey: loc_key,
|
||||
gebouwkey: bld_key,
|
||||
@@ -113,16 +113,6 @@ BLOCK_START("algLoc1", " ");
|
||||
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("algLoc2", " ");
|
||||
if (flr_key > 0)
|
||||
{
|
||||
var calcopp = alg.calc_algm2(flr_key, onrgoedlvl);
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_bruto_vloeropp") + L("lcl_estate_calc_vloeropp"), calcopp.oppbruto, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt1") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt1, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt2") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt2, {suppressEmpty: true});
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
generateFlexKenmerkBlock ({
|
||||
onrgoed_key : flr_key,
|
||||
onrgoed_niveau : onrgoedlvl,
|
||||
|
||||
@@ -59,19 +59,11 @@ else
|
||||
" AND ALG_ONRGOEDKENMERK_VERWIJDER IS NULL " +
|
||||
" AND ALG_ONRGOED_NIVEAU = 'V' " +
|
||||
" AND ALG_ONRGOED_KEY = " + flr_key;
|
||||
saveFlexKenmerken(flr_key,
|
||||
{ kenmerkTable: "alg_onrgoedkenmerk",
|
||||
kenmerkParentKey : "alg_onrgoed_key",
|
||||
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
|
||||
kenmerkKey: "alg_kenmerk_key",
|
||||
currentKenmerkenSQL: currentKenmerkenSQL,
|
||||
requestQF: Request.Form,
|
||||
flexPath: "ALG/V",
|
||||
module: "ALG",
|
||||
moduleName: "alg_onrgoed_niveau",
|
||||
moduleVal: "V",
|
||||
isNew: flr_key < 0
|
||||
});
|
||||
saveFlexKenmerken(flr_key, "ALG_ONRGOEDKENMERK", "ALG_ONRGOED_KEY",
|
||||
"ALG_ONRGOEDKENMERK_WAARDE", "ALG_KENMERK_KEY",
|
||||
currentKenmerkenSQL, false, //QueryForm, rest QueryString
|
||||
"ALG_ONRGOED_NIVEAU", "V",
|
||||
(flr_key<0),"ALG/V")
|
||||
}
|
||||
%>
|
||||
|
||||
|
||||
@@ -27,9 +27,6 @@ FCLTHeader.Requires({plugins:["jQuery"], js: []})
|
||||
|
||||
var authparams = alg.checkAutorisation();
|
||||
|
||||
var canAdd = (authparams.ALGwritelevel < 9); // TODO: fijner, ik denk 3. Ik moet voor deze locatie, dit district of deze regio schrijfrechten hebben.
|
||||
readonly = !canAdd;
|
||||
|
||||
if (wp_key > 0)
|
||||
{
|
||||
sql = " select * "
|
||||
@@ -75,7 +72,7 @@ else if (S("prs_werkplek_implicit") == 1)
|
||||
}
|
||||
function alg_next()
|
||||
{
|
||||
FcltMgr.alert("TODO: Next nog niet ondersteund")
|
||||
alert("TODO: Next nog niet ondersteund")
|
||||
}
|
||||
|
||||
function process_host_info(data)
|
||||
@@ -121,7 +118,7 @@ BLOCK_START("algInfo", "");
|
||||
onRuiChange: "onChangeRoom(key)",
|
||||
startlevel: 2, // Regio
|
||||
eindlevel: 5, // District
|
||||
readonlylevel: 2, // Locatie niet readonly
|
||||
readonly: (wp_key > 0),
|
||||
filtercode: "INCVR",
|
||||
required: true });
|
||||
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/WPFunctions.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
@@ -46,22 +45,7 @@ if (wp_key > 0)
|
||||
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
warning = err.friendlyMsg;
|
||||
|
||||
// Is de ruimte aangepast?
|
||||
var room_key_new = getFParamInt("ruimtekey");
|
||||
var sql = "SELECT prs_alg_ruimte_key"
|
||||
+ " FROM prs_werkplek"
|
||||
+ " WHERE prs_werkplek_key = " + wp_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var room_key_old = oRs("prs_alg_ruimte_key").Value;
|
||||
oRs.Close();
|
||||
|
||||
if (room_key_old != room_key_new)
|
||||
{ // Werkplek verplaatsen
|
||||
wp_key = WPMove_PRS_WERKPLEK(wp_key, room_key_new);
|
||||
}
|
||||
|
||||
warning = err.friendlyMsg;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -49,12 +49,6 @@ function generateFlexKenmerkBlock(params)
|
||||
return true;
|
||||
}
|
||||
|
||||
function isInvisible(volgnummer, ktype)
|
||||
{
|
||||
if (params.multi)
|
||||
return (ktype == 'M' || ktype == 'F' || ktype == 'E'); // onzichtbaar bij multi
|
||||
}
|
||||
|
||||
var sql = "SELECT k.alg_kenmerk_key kenmerk_key, "
|
||||
+ lcl.xsql('k.alg_kenmerk_omschrijving', 'k.alg_kenmerk_key') +" kenmerk_omschrijving, "
|
||||
+ " k.alg_kenmerk_kenmerktype kenmerk_kenmerktype, "
|
||||
@@ -101,7 +95,6 @@ function generateFlexKenmerkBlock(params)
|
||||
hideVervallen: onrgoed_key<0,
|
||||
fnpre: params.fnpre,
|
||||
fnpost: params.fnpost,
|
||||
fnIsInvisible: isInvisible,
|
||||
mobile: params.mobile,
|
||||
parentKey: onrgoed_key,
|
||||
kenmerk_module: onrgoed_niveau }
|
||||
|
||||
@@ -23,21 +23,18 @@ var bld_key = getQParamInt("key", -1);
|
||||
|
||||
if (bld_key > 0)
|
||||
{
|
||||
sql = " select alg_gebouw_code, alg_locatie_key "
|
||||
sql = " select alg_gebouw_code "
|
||||
+ " FROM alg_gebouw "
|
||||
+ " WHERE alg_gebouw_key = " + bld_key;
|
||||
|
||||
oRs = Oracle.Execute(sql);
|
||||
|
||||
var bld_name = " " + oRs("alg_gebouw_code").value;
|
||||
var loc_key = oRs("alg_locatie_key").value;
|
||||
}
|
||||
else
|
||||
{
|
||||
var bld_name = "";
|
||||
var loc_key = -1;
|
||||
var bld_name = ""
|
||||
}
|
||||
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -79,22 +76,6 @@ else
|
||||
IFRAMER("algFrame", page, { title: L("lcl_alg_gebouw_frame"),
|
||||
initHeight: "450px",
|
||||
FcltClose: "algClose" } );
|
||||
|
||||
if (bld_key > -1)
|
||||
{
|
||||
var authparamsCNTUSE = user.checkAutorisation("WEB_CNTUSE", true);
|
||||
var authparamsCNTMAN = user.checkAutorisation("WEB_CNTMAN", true);
|
||||
var curole = "bo";
|
||||
|
||||
if (!authparamsCNTMAN && authparamsCNTUSE)
|
||||
curole = "fe";
|
||||
|
||||
if (authparamsCNTMAN || authparamsCNTUSE)
|
||||
{
|
||||
var page1="../cnt/cnt_search_list.asp?embedded=1&tiny=1&collapsed=1&urole=" + curole + "&ffutu=1&fact=1&frap=1&fopz=1&sact=1&bld_key=" + bld_key
|
||||
IFRAMER("cntFrame", page1, { initHide: true } );
|
||||
}
|
||||
}
|
||||
%>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -28,38 +28,6 @@ function fnrowData(oRs)
|
||||
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
var recent = new Date();
|
||||
function fnrowClass(oRs)
|
||||
{
|
||||
var lclass = "";
|
||||
// Tracking: hoe lang geleden voor het laatst gewijzigd?
|
||||
if (oRs.Fields("recentdatum").Value != null)
|
||||
{
|
||||
var ltrackdate1 = new Date();
|
||||
var ltrackdate10 = new Date();
|
||||
var ltrackdate100 = new Date();
|
||||
var alg_onrgoed_recent = S("alg_onrgoed_recent");
|
||||
ltrackdate1.setMinutes(recent.getMinutes() - alg_onrgoed_recent);
|
||||
ltrackdate10.setMinutes(recent.getMinutes() - alg_onrgoed_recent * 12);
|
||||
ltrackdate100.setMinutes(recent.getMinutes() - alg_onrgoed_recent*12*2);
|
||||
|
||||
var fac_recent = new Date(oRs.Fields("recentdatum").Value);
|
||||
if (fac_recent > ltrackdate1)
|
||||
{
|
||||
lclass += " updated";
|
||||
}
|
||||
else if (fac_recent > ltrackdate10)
|
||||
{
|
||||
lclass += " updated10";
|
||||
}
|
||||
else if (fac_recent > ltrackdate100)
|
||||
{
|
||||
lclass += " updated100";
|
||||
}
|
||||
}
|
||||
return lclass;
|
||||
}
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -68,7 +36,7 @@ function fnrowClass(oRs)
|
||||
function gotoDetails(row)
|
||||
{
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_verdieping_search.asp?gebouw_key=" + algData.detail_key + "&autosearch=" + autosearch + "&chkgeb=1";
|
||||
var url = "appl/ALG/alg_verdieping_search.asp?gebouw_key=" + algData.detail_key + "&autosearch=" + autosearch;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_floor")%>");
|
||||
}
|
||||
function gotoParent(row)
|
||||
@@ -86,14 +54,18 @@ function fnrowClass(oRs)
|
||||
|
||||
function doDelete(rowArray, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_gebouw"), { autoconfirm: isMulti }, function() {
|
||||
var bldKeyString = getKeyString(rowArray);
|
||||
var bldKeyString = getKeyString(rowArray);
|
||||
if (isMulti || confirm(L("lcl_alg_del_txt_gebouw")))
|
||||
{
|
||||
var data = { key: bldKeyString,
|
||||
level: "G"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<%
|
||||
@@ -117,7 +89,6 @@ function gebouw_list(pautfunction, params)
|
||||
var bld_key = params.bld_key;
|
||||
var srtgebouw_key = params.srtgebouw_key;
|
||||
var verantw_key = params.verantw_key;
|
||||
var expalgincl = params.expalgincl;
|
||||
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
@@ -157,15 +128,7 @@ function gebouw_list(pautfunction, params)
|
||||
+ " , g.alg_gebouw_inhoud"
|
||||
+ " , g.alg_gebouw_x"
|
||||
+ " , g.alg_gebouw_y"
|
||||
+ " , g.alg_gebouw_vervaldatum"
|
||||
+ " , (SELECT MAX(t.fac_tracking_datum)"
|
||||
+ " FROM fac_tracking t"
|
||||
+ " , fac_srtnotificatie sn"
|
||||
+ " WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key"
|
||||
+ " AND t.fac_tracking_refkey = g.alg_gebouw_key"
|
||||
+ " AND sn.fac_srtnotificatie_xmlnode = 'gebouw'"
|
||||
+ " ) recentdatum"
|
||||
+ " FROM alg_gebouw g"
|
||||
+ " FROM alg_v_aanweziggebouw g"
|
||||
+ " , alg_locatie l"
|
||||
+ " , alg_srtgebouw s"
|
||||
+ " WHERE l.alg_locatie_key(+) = g.alg_locatie_key"
|
||||
@@ -190,19 +153,11 @@ function gebouw_list(pautfunction, params)
|
||||
else if (reg_key)
|
||||
sqln += " AND l.alg_district_key IN (SELECT alg_district_key FROM alg_district WHERE alg_regio_key = " + reg_key+")";
|
||||
|
||||
if (params.bld_code)
|
||||
sqln += " AND UPPER(g.alg_gebouw_code) LIKE " + safe.quoted_sql_wild(params.bld_code + "%");
|
||||
if (params.bld_name)
|
||||
sqln += " AND UPPER(g.alg_gebouw_naam) LIKE " + safe.quoted_sql_wild(params.bld_name + "%");
|
||||
|
||||
if (srtgebouw_key)
|
||||
sqln += " AND g.alg_srtgebouw_key = " + srtgebouw_key;
|
||||
|
||||
if (verantw_key)
|
||||
sqln += " AND (g.prs_perslid_key_verantw = " + verantw_key + " OR g.prs_perslid_key_verantw2 = " + verantw_key + ")";
|
||||
|
||||
if (!expalgincl)
|
||||
sqln += " AND (g.alg_gebouw_vervaldatum IS NULL OR g.alg_gebouw_vervaldatum > TRUNC(SYSDATE)) ";
|
||||
sqln += " AND g.prs_perslid_key_verantw = " + verantw_key;
|
||||
|
||||
sqln += " ORDER BY l.alg_locatie_upper ASC, "
|
||||
+ " g.alg_gebouw_upper ASC ";
|
||||
@@ -222,7 +177,6 @@ function gebouw_list(pautfunction, params)
|
||||
title: L("lcl_menu_alg_gebouw"),
|
||||
showAll: showall,
|
||||
rowData: fnrowData,
|
||||
rowClass: fnrowClass,
|
||||
rowActionEnabler: fnrowActionEnabler,
|
||||
flexModule: "ALG",
|
||||
flexId: "alg_gebouw_key",
|
||||
@@ -236,8 +190,7 @@ function gebouw_list(pautfunction, params)
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_code"), content: "alg_gebouw_code"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_name"), content: "alg_gebouw_naam" }));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_srtgebouw"), content: "alg_srtgebouw_omschrijving"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_bruto_vloeropp"), content: "alg_gebouw_bruto_vloeropp", datatype: "float", decimals: 2}));
|
||||
rst.addColumn(new Column({caption: L("lcl_alg_vervaldatum"), content: "alg_gebouw_vervaldatum", datatype: "date"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_gebouw_man_bruto_vloeropp"), content: "alg_gebouw_bruto_vloeropp"}));
|
||||
|
||||
if (outputmode != 0)
|
||||
{
|
||||
|
||||
@@ -18,7 +18,6 @@ var locatie_key = getQParamInt("locatie_key", -1); // Locatie
|
||||
var gebouw_key = getQParamInt("gebouw_key", -1); // Gebouw
|
||||
var srtgebouw_key = getQParamInt("gebouw_func", -1); // Gebouwfunctie
|
||||
var verantw_key = getQParamInt("verantw", -1); // Gebouw verantwoordelijke
|
||||
var verantw_key2 = getQParamInt("verantw2", -1); // Gebouw verantwoordelijke 2
|
||||
var autosearch = getQParamInt("autosearch", 0) == 1;
|
||||
var authparams = alg.checkAutorisation();
|
||||
var this_alg = alg.func_enabled(gebouw_key);
|
||||
@@ -60,26 +59,10 @@ var this_alg = alg.func_enabled(gebouw_key);
|
||||
locatiekey: locatie_key,
|
||||
gebouwkey: gebouw_key,
|
||||
startlevel: 2, // locatie
|
||||
eindlevel: 2, // locatie
|
||||
eindlevel: 3, // gebouw
|
||||
whenEmpty: L("lcl_search_generic")
|
||||
});
|
||||
%>
|
||||
<tr class="primsearch">
|
||||
<td class="label"><label><%=L("lcl_estate_gebouw_man_code")%>:</label></td>
|
||||
<td><input type="text" class="wildcard" id="bld_code" name="bld_code" value=""></td>
|
||||
</tr>
|
||||
<tr class="primsearch">
|
||||
<td class="label"><label><%=L("lcl_estate_gebouw_man_name")%>:</label></td>
|
||||
<td><input type="text" class="wildcard" id="bld_name" name="bld_name" value=""></td>
|
||||
</tr>
|
||||
<!-- Vervallen objecten -->
|
||||
<tr class="primsearch">
|
||||
<td></td>
|
||||
<td align=left>
|
||||
<input type="checkbox" class="fldexpalgincl" name="expAlgIncl" id="expAlgIncl" value="1" >
|
||||
<label for="expAlgIncl"><%=L("lcl_alg_gebouw_vervallen_incl")%></label>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td><!-- end column 1 -->
|
||||
|
||||
|
||||
@@ -26,27 +26,19 @@ var reg_key = getQParamInt("regiokey", -1); // Regio
|
||||
var dis_key = getQParamInt("districtkey", -1); // District
|
||||
var loc_key = getQParamInt("locatiekey", -1); // Locatie
|
||||
var bld_key = getQParamInt("gebouwkey", -1); // Gebouw
|
||||
var bld_code = getQParam("bld_code", ""); // Gebouwcode
|
||||
var bld_name = getQParam("bld_name", ""); // Gebouwnaam
|
||||
var srtgebouw_key = getQParamInt("srt", -1); // Gebouwfunctie
|
||||
var verantw_key = getQParamInt("verantw", -1); // Gebouw verantwoordelijke
|
||||
var verantw_key2 = getQParamInt("verantw2", -1); // Gebouw verantwoordelijke 2
|
||||
var expalgincl = getQParamInt("expAlgIncl", 0) == 1; // Ook vervallen gebouwen
|
||||
|
||||
gebouw_list ( "*",
|
||||
{ outputmode: outputmode,
|
||||
showall: showall,
|
||||
srtgebouw_key: (srtgebouw_key != -1? srtgebouw_key: null),
|
||||
verantw_key: (verantw_key != -1? verantw_key: null),
|
||||
verantw_key2: (verantw_key2 != -1? verantw_key2: null),
|
||||
reg_key: (reg_key != -1? reg_key : null),
|
||||
dis_key: (dis_key != -1? dis_key : null),
|
||||
loc_key: (loc_key != -1? loc_key : null),
|
||||
bld_key: (bld_key != -1? bld_key : null),
|
||||
bld_code: bld_code,
|
||||
bld_name: bld_name,
|
||||
noref: (noref != -1? noref : null),
|
||||
expalgincl: expalgincl
|
||||
noref: (noref != -1? noref : null)
|
||||
}
|
||||
);
|
||||
%>
|
||||
@@ -76,22 +76,6 @@ else
|
||||
IFRAMER("algFrame", page, { title: L("lcl_alg_locatie_frame"),
|
||||
initHeight: "450px",
|
||||
FcltClose: "algClose" } );
|
||||
|
||||
if (loc_key > -1)
|
||||
{
|
||||
var authparamsCNTUSE = user.checkAutorisation("WEB_CNTUSE", true);
|
||||
var authparamsCNTMAN = user.checkAutorisation("WEB_CNTMAN", true);
|
||||
var curole = "bo";
|
||||
|
||||
if (!authparamsCNTMAN && authparamsCNTUSE)
|
||||
curole = "fe";
|
||||
|
||||
if (authparamsCNTMAN || authparamsCNTUSE)
|
||||
{
|
||||
var page1="../cnt/cnt_search_list.asp?embedded=1&tiny=1&collapsed=1&urole=" + curole + "&ffutu=1&fact=1&frap=1&fopz=1&sact=1&loc_key=" + loc_key
|
||||
IFRAMER("cntFrame", page1, { initHeight: "450px" } );
|
||||
}
|
||||
}
|
||||
%>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -31,37 +31,6 @@ function fnrowData(oRs)
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
var recent = new Date();
|
||||
function fnrowClass(oRs)
|
||||
{
|
||||
var lclass = "";
|
||||
// Tracking: hoe lang geleden voor het laatst gewijzigd?
|
||||
if (oRs.Fields("recentdatum").Value != null)
|
||||
{
|
||||
var ltrackdate1 = new Date();
|
||||
var ltrackdate10 = new Date();
|
||||
var ltrackdate100 = new Date();
|
||||
var alg_onrgoed_recent = S("alg_onrgoed_recent");
|
||||
ltrackdate1.setMinutes(recent.getMinutes() - alg_onrgoed_recent);
|
||||
ltrackdate10.setMinutes(recent.getMinutes() - alg_onrgoed_recent * 12);
|
||||
ltrackdate100.setMinutes(recent.getMinutes() - alg_onrgoed_recent*12*2);
|
||||
|
||||
var fac_recent = new Date(oRs.Fields("recentdatum").Value);
|
||||
if (fac_recent > ltrackdate1)
|
||||
{
|
||||
lclass += " updated";
|
||||
}
|
||||
else if (fac_recent > ltrackdate10)
|
||||
{
|
||||
lclass += " updated10";
|
||||
}
|
||||
else if (fac_recent > ltrackdate100)
|
||||
{
|
||||
lclass += " updated100";
|
||||
}
|
||||
}
|
||||
return lclass;
|
||||
}
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
var autosearch = 1; //automatisch laden van resultaat op search pagina
|
||||
@@ -93,14 +62,18 @@ function fnrowClass(oRs)
|
||||
|
||||
function doDelete(rowArray, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_locatie"), { autoconfirm: isMulti }, function() {
|
||||
var locKeyString = getKeyString(rowArray);
|
||||
var data = { key: locKeyString,
|
||||
level: "L"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
var locKeyString = getKeyString(rowArray);
|
||||
if (isMulti || confirm(L("lcl_alg_del_txt_locatie")))
|
||||
{
|
||||
var data = { key: locKeyString,
|
||||
level: "L"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<%
|
||||
@@ -144,34 +117,27 @@ function locatie_list(pautfunction, params)
|
||||
<% FCLTHeader.Generate({outputmode:outputmode}) %>
|
||||
</head>
|
||||
<body id="listbody">
|
||||
<% var sqln = "SELECT l.alg_locatie_key"
|
||||
+ " , l.alg_district_key"
|
||||
+ " , l.alg_locatie_code"
|
||||
+ " , l.alg_locatie_omschrijving"
|
||||
+ " , d.alg_district_omschrijving"
|
||||
+ " , l.alg_locatie_adres"
|
||||
+ " , l.alg_locatie_post_adres"
|
||||
+ " , l.alg_locatie_postcode"
|
||||
+ " , l.alg_locatie_post_postcode"
|
||||
+ " , l.alg_locatie_plaats"
|
||||
+ " , l.alg_locatie_post_plaats"
|
||||
+ " , l.alg_locatie_land"
|
||||
+ " , l.alg_locatie_post_land"
|
||||
+ " , l.alg_locatie_verantw"
|
||||
+ " , l.alg_locatie_verantw_tel"
|
||||
+ " , l.alg_locatie_x"
|
||||
+ " , l.alg_locatie_y"
|
||||
+ " , (SELECT MAX(t.fac_tracking_datum)"
|
||||
+ " FROM fac_tracking t"
|
||||
+ " , fac_srtnotificatie sn"
|
||||
+ " WHERE t.fac_srtnotificatie_key = sn.fac_srtnotificatie_key"
|
||||
+ " AND t.fac_tracking_refkey = l.alg_locatie_key"
|
||||
+ " AND sn.fac_srtnotificatie_xmlnode = 'locatie'"
|
||||
+ " ) recentdatum"
|
||||
+ " FROM alg_v_aanweziglocatie l"
|
||||
+ " , alg_district d "
|
||||
+ " WHERE d.alg_district_key(+) = l.alg_district_key"
|
||||
+ " AND l.alg_locatie_verwijder IS NULL";
|
||||
<% var sqln = "SELECT l.alg_locatie_key, "
|
||||
+ " l.alg_district_key, "
|
||||
+ " l.alg_locatie_code, "
|
||||
+ " l.alg_locatie_omschrijving, "
|
||||
+ " d.alg_district_omschrijving, "
|
||||
+ " l.alg_locatie_adres, "
|
||||
+ " l.alg_locatie_post_adres, "
|
||||
+ " l.alg_locatie_postcode, "
|
||||
+ " l.alg_locatie_post_postcode, "
|
||||
+ " l.alg_locatie_plaats, "
|
||||
+ " l.alg_locatie_post_plaats, "
|
||||
+ " l.alg_locatie_land, "
|
||||
+ " l.alg_locatie_post_land, "
|
||||
+ " l.alg_locatie_verantw, "
|
||||
+ " l.alg_locatie_verantw_tel, "
|
||||
+ " l.alg_locatie_x, "
|
||||
+ " l.alg_locatie_y "
|
||||
+ " FROM alg_v_aanweziglocatie l, "
|
||||
+ " alg_district d "
|
||||
+ " WHERE d.alg_district_key(+) = l.alg_district_key "
|
||||
+ " AND l.alg_locatie_verwijder IS NULL ";
|
||||
|
||||
if (authparams.ALGreadlevel > -1)
|
||||
{ // Er is een scope-beperking van kracht
|
||||
@@ -196,12 +162,7 @@ function locatie_list(pautfunction, params)
|
||||
sqln += " AND d.alg_regio_key = " + reg_key;
|
||||
}
|
||||
|
||||
if (params.loc_code)
|
||||
sqln += " AND UPPER(l.alg_locatie_code) LIKE " + safe.quoted_sql_wild(params.loc_code + "%");
|
||||
if (params.loc_descr)
|
||||
sqln += " AND UPPER(l.alg_locatie_omschrijving) LIKE " + safe.quoted_sql_wild(params.loc_descr + "%");
|
||||
|
||||
sqln += " ORDER BY UPPER(alg_district_omschrijving), UPPER(alg_locatie_code)";
|
||||
sqln += " ORDER BY l.alg_locatie_upper ASC "
|
||||
|
||||
var addurl = "appl/alg/alg_locatie.asp";
|
||||
// addurl += buildTransitParam(["loc_key", "bld_key", "flo_key", "room_key"], params) // TODO: welke allemaal?
|
||||
@@ -217,7 +178,6 @@ function locatie_list(pautfunction, params)
|
||||
title: L("lcl_menu_alg_locatie"),
|
||||
showAll: showall,
|
||||
rowData: fnrowData,
|
||||
rowClass: fnrowClass,
|
||||
rowActionEnabler: fnrowActionEnabler,
|
||||
outputmode: outputmode,
|
||||
flexModule: "ALG",
|
||||
|
||||
@@ -53,18 +53,10 @@ var authparams = alg.checkAutorisation();
|
||||
districtkey: district_key,
|
||||
locatiekey: locatie_key,
|
||||
startlevel: 1, // District
|
||||
eindlevel: 2, // Locatie
|
||||
eindlevel: 2, // locatie
|
||||
whenEmpty: L("lcl_search_generic") // want filter
|
||||
});
|
||||
%>
|
||||
<tr class="primsearch">
|
||||
<td class="label"><label><%=L("lcl_estate_locatie_man_code")%>:</label></td>
|
||||
<td><input type="text" class="wildcard" id="loc_code" name="loc_code" value=""></td>
|
||||
</tr>
|
||||
<tr class="primsearch">
|
||||
<td class="label"><label><%=L("lcl_estate_locatie_man_descr")%>:</label></td>
|
||||
<td><input type="text" class="wildcard" id="loc_descr" name="loc_descr" value=""></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td><!-- end column 1 -->
|
||||
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File:
|
||||
Description:
|
||||
Parameters:
|
||||
Context:
|
||||
File:
|
||||
Description:
|
||||
Parameters:
|
||||
Context:
|
||||
Note:
|
||||
*/ %>
|
||||
|
||||
@@ -25,8 +25,6 @@ var noref = getQParamInt("noref", -1); // (voor onderdrukken horizontale verwijz
|
||||
var reg_key = getQParamInt("regiokey", -1); // Regio
|
||||
var dis_key = getQParamInt("districtkey", -1); // District
|
||||
var loc_key = getQParamInt("locatiekey", -1); // Locatie
|
||||
var loc_code = getQParam("loc_code", ""); // Locatiecode
|
||||
var loc_descr = getQParam("loc_descr", ""); // Locatienaam
|
||||
|
||||
locatie_list ( "*",
|
||||
{ outputmode: outputmode,
|
||||
@@ -34,8 +32,6 @@ locatie_list ( "*",
|
||||
reg_key: (reg_key != -1? reg_key : null),
|
||||
dis_key: (dis_key != -1? dis_key : null),
|
||||
loc_key: (loc_key != -1? loc_key : null),
|
||||
loc_code: loc_code,
|
||||
loc_descr: loc_descr,
|
||||
noref: (noref != -1? noref : null)
|
||||
}
|
||||
);
|
||||
|
||||
@@ -52,14 +52,18 @@ function fnrowData(oRs)
|
||||
|
||||
function doDelete(rowArray, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_regio"), { autoconfirm: isMulti }, function() {
|
||||
var regKeyString = getKeyString(rowArray);
|
||||
var regKeyString = getKeyString(rowArray);
|
||||
if (isMulti || confirm(L("lcl_alg_del_txt_regio")))
|
||||
{
|
||||
var data = { key: regKeyString,
|
||||
level: "RE"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<%
|
||||
|
||||
@@ -109,24 +109,6 @@ else
|
||||
|
||||
var page3 ="../prs/prs_afdeling_search_list.asp?tiny=1&room_key=" + room_key;// Alle afdelingen van alle niveau's (1 en hoger) laten zien dus afd_niveau=nr niet meegegeven
|
||||
IFRAMER("wpFrame", page3, { initHeight: "450px" } );
|
||||
|
||||
var authparamsINSMAN = user.checkAutorisation("WEB_INSMAN", true);
|
||||
var insman_read = authparamsINSMAN;
|
||||
if (insman_read)
|
||||
{
|
||||
var page4="../INS/ins_list.asp?embedded=1&tiny=1&inacObjIncl=1&ruimtekey=" + room_key
|
||||
IFRAMER("insdeel", page4, { initHeight: "450px" } );
|
||||
}
|
||||
var authparamsCNTUSE = user.checkAutorisation("WEB_CNTUSE", true);
|
||||
var authparamsCNTMAN = user.checkAutorisation("WEB_CNTMAN", true);
|
||||
var curole = "bo";
|
||||
if (!authparamsCNTMAN && authparamsCNTUSE)
|
||||
curole = "fe";
|
||||
if (authparamsCNTMAN || authparamsCNTUSE)
|
||||
{
|
||||
var page5="../cnt/cnt_search_list.asp?embedded=1&tiny=1&collapsed=1&urole=" + curole + "&ffutu=1&fact=1&frap=1&fopz=1&sact=1&room_key="+ room_key
|
||||
IFRAMER("cntFrame", page5, { initHide: true } );
|
||||
}
|
||||
}
|
||||
%>
|
||||
</body>
|
||||
|
||||
@@ -30,17 +30,13 @@ function ruimte_list(pautfunction, params)
|
||||
var showall = params.showall;
|
||||
|
||||
var noref = params.noref;
|
||||
var reg_key = params.reg_key;
|
||||
var dis_key = params.dis_key;
|
||||
var loc_key = params.loc_key;
|
||||
var bld_key = params.bld_key;
|
||||
var lvl_key = params.lvl_key;
|
||||
var room_key = params.room_key;
|
||||
var area_nr = params.area_nr;
|
||||
var area_descr = params.area_descr;
|
||||
var srtruimte_key = params.srtruimte_key
|
||||
var dept_key = params.dept_key;
|
||||
var chkgeb = params.chkgeb;
|
||||
var area_use = params.area_use
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -52,32 +48,24 @@ function ruimte_list(pautfunction, params)
|
||||
function gotoDetails(row)
|
||||
{
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/alg/alg_werkplek_search.asp?ruimte_key="+algData.detail_key+"&autosearch="+autosearch;
|
||||
var url = "appl/ALG/alg_werkplek_search.asp?ruimte_key="+algData.detail_key+"&autosearch="+autosearch;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_workspace")%>");
|
||||
}
|
||||
|
||||
function gotoParent(row)
|
||||
{
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/alg/alg_verdieping_search.asp?verdieping_key="+algData.parent_key+"&autosearch="+autosearch;
|
||||
var url = "appl/ALG/alg_verdieping_search.asp?verdieping_key="+algData.parent_key+"&autosearch="+autosearch;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_floor")%>");
|
||||
}
|
||||
|
||||
function ruimteEdit(row)
|
||||
{
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/alg/alg_ruimte.asp?mode=viewUpdate&key="+algData.key;
|
||||
var url = "appl/ALG/alg_ruimte.asp?mode=viewUpdate&key="+algData.key;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_room")%>" + ' ' + algData.oms);
|
||||
}
|
||||
|
||||
function ruimteEditMulti(rowArray)
|
||||
{
|
||||
var algKeyString = getKeyString(rowArray);
|
||||
var subject = L("lcl_alg_multi_edit");
|
||||
var url = "../alg/alg_edit_ruimte_multi.asp?alg_level=R&alg_keys=" + algKeyString;
|
||||
FcltMgr.openModalDetail(url, subject, {callback: FcltCallbackRefresh});
|
||||
}
|
||||
|
||||
function doRuimteAfdeling(rowArray)
|
||||
{
|
||||
var ruimteArr = [];
|
||||
@@ -88,27 +76,21 @@ function ruimte_list(pautfunction, params)
|
||||
FcltMgr.openModalDetail("alg_ruimteafdeling.asp?ruimte_keys=" + ruimteArr.join(","), L("lcl_alg_ruimte_bezetting"));
|
||||
}
|
||||
|
||||
function doRESScope(rowArray)
|
||||
{
|
||||
var ruimteArr = [];
|
||||
for (var i = 0; i < rowArray.length; i++)
|
||||
{
|
||||
ruimteArr.push(rowArray[i].getAttribute("ROWKEY"))
|
||||
}
|
||||
FcltMgr.openModalDetail("alg_ruimteresscope.asp?ruimte_keys=" + ruimteArr.join(","), L("res_srtartikel_onrgoed"));
|
||||
}
|
||||
|
||||
function doDelete(row, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_ruimte"), { autoconfirm: isMulti }, function() {
|
||||
$(row).addClass('dirty');
|
||||
var room_key = row.getAttribute("ROWKEY");
|
||||
$(row).addClass('dirty');
|
||||
var room_key = row.getAttribute("ROWKEY");
|
||||
if (isMulti || confirm(L("lcl_alg_del_txt_ruimte")))
|
||||
{
|
||||
var data = { key: room_key,
|
||||
level: "R"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
@@ -169,14 +151,10 @@ function ruimte_list(pautfunction, params)
|
||||
{
|
||||
sqln += " AND g.alg_locatie_key = " + loc_key;
|
||||
}
|
||||
else if (dis_key)
|
||||
sqln += " AND l.alg_district_key = " + dis_key;
|
||||
else if (reg_key)
|
||||
sqln += " AND l.alg_district_key IN (SELECT alg_district_key FROM alg_district WHERE alg_regio_key = " + reg_key+")";
|
||||
|
||||
if (srtruimte_key)
|
||||
if (area_use)
|
||||
{
|
||||
sqln += " AND r.alg_srtruimte_key = " + srtruimte_key;
|
||||
sqln += " AND r.alg_srtruimte_key = " + area_use;
|
||||
}
|
||||
|
||||
if (area_nr)
|
||||
@@ -189,18 +167,6 @@ function ruimte_list(pautfunction, params)
|
||||
sqln += " AND UPPER(r.alg_ruimte_omschrijving) LIKE " + safe.quoted_sql_wild("%" + area_descr + "%");
|
||||
}
|
||||
|
||||
if (dept_key)
|
||||
{
|
||||
sqln += " AND r.alg_ruimte_key in "
|
||||
+ " (SELECT alg_ruimte_key "
|
||||
+ " FROM prs_ruimteafdeling "
|
||||
+ " WHERE prs_ruimteafdeling_verwijder IS NULL "
|
||||
+ " AND prs_afdeling_key = " + dept_key + ")";
|
||||
}
|
||||
|
||||
if (!chkgeb)
|
||||
sqln += " AND (g.alg_gebouw_vervaldatum IS NULL OR g.alg_gebouw_vervaldatum > TRUNC(SYSDATE)) ";
|
||||
|
||||
sqln += " ORDER BY l.alg_locatie_upper ASC"
|
||||
+ ", g.alg_gebouw_upper ASC"
|
||||
+ ", v.alg_verdieping_volgnr ASC"
|
||||
@@ -223,15 +189,14 @@ function ruimte_list(pautfunction, params)
|
||||
{
|
||||
if (!floorCache[oRs("alg_verdieping_key").Value])
|
||||
{
|
||||
eEditMulti = false; // TODO: write op ALGMAN
|
||||
floorCache[oRs("alg_verdieping_key").Value] =
|
||||
{
|
||||
eDelete: alg.canWriteVerdieping(oRs("alg_verdieping_key").Value, authparams.rmALGwritelevel),
|
||||
// Bezetting moet per regel en is afhankelijk van WEB_PRSBOF (werkplekbeheer)
|
||||
eBezetting: alg.func_enabled_ruimte(oRs("alg_verdieping_key").Value).canPRSBOFwrite,
|
||||
eEditMulti: eEditMulti
|
||||
eBezetting: alg.func_enabled_ruimte(oRs("alg_verdieping_key").Value).canPRSBOFwrite
|
||||
}
|
||||
}
|
||||
|
||||
return (floorCache[oRs("alg_verdieping_key").Value]);
|
||||
}
|
||||
|
||||
@@ -296,11 +261,8 @@ function ruimte_list(pautfunction, params)
|
||||
}
|
||||
|
||||
rst.addAction({ action: "ruimteEdit", caption: L("lcl_edit"), isDefault: true });
|
||||
rst.addAction({ action: "ruimteEditMulti", caption: L("lcl_alg_multi_edit"), multi: true, multiOnce: true, single: false, enabler: "eEditMulti"});
|
||||
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), multi: true, single: !noref, enabler: "eDelete" });
|
||||
rst.addAction({ action: "doRuimteAfdeling", caption: L("lcl_alg_bezetting"), multi: true, multiOnce: true, enabler: "eBezetting" });
|
||||
if (user.has("WEB_RESMSU"))
|
||||
rst.addAction({ action: "doRESScope", caption: L("res_srtartikel_onrgoed"), multi: true, single: false, multiOnce: true });
|
||||
if (!noref)
|
||||
{
|
||||
if (S("prs_werkplek_implicit") == 0)
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/plaatsselector.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
<!-- #include file="../Shared/afdelingselector.inc" -->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"] });
|
||||
@@ -22,7 +21,6 @@ var ruimte_nr = getQParam("ruimte_nr", "");
|
||||
var ruimte_use = getQParamInt("ruimte_use", -1); // Ruimtefunctie
|
||||
var ruimte_descr = getQParam("ruimte_descr", "");
|
||||
var autosearch = getQParamInt("autosearch", 0) == 1;
|
||||
var chkgeb = getQParamInt("chkgeb", 0) == 1;
|
||||
var authparams = alg.checkAutorisation();
|
||||
|
||||
%>
|
||||
@@ -52,7 +50,6 @@ var authparams = alg.checkAutorisation();
|
||||
<body id="searchbody">
|
||||
<div id="search">
|
||||
<form name="u2" target="workFrame" action="alg_ruimte_search_list.asp" method="get">
|
||||
<input type="hidden" id="chkgeb" name="chkgeb" value="<%=(chkgeb?1:0)%>">
|
||||
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
|
||||
<tr>
|
||||
<td class="searchkolom1">
|
||||
@@ -99,20 +96,6 @@ var authparams = alg.checkAutorisation();
|
||||
emptyOption: ""
|
||||
});
|
||||
|
||||
sql= "SELECT 1 FROM prs_ruimteafdeling WHERE prs_ruimteafdeling_verwijder is null AND ROWNUM = 1";
|
||||
oRs = Oracle.Execute(sql);
|
||||
var anyruimteafd = !oRs.eof;
|
||||
oRs.close();
|
||||
if (anyruimteafd)
|
||||
{
|
||||
FCLTafdelingselector("dept",
|
||||
"dept",
|
||||
{ label: L("lcl_prs_organisatie"),
|
||||
autlevel: authparams.PRSreadlevel, // Was voorheen niet aanwezig
|
||||
whenEmpty: L("lcl_search_generic"),
|
||||
filtercode: "AR"
|
||||
});
|
||||
}
|
||||
%> </table>
|
||||
</td><!-- end column 1 -->
|
||||
</tr>
|
||||
|
||||
@@ -22,33 +22,25 @@
|
||||
var outputmode = getQParamInt("outputmode", 0) // 0 = screen, 1 = print, 2 = excel etc
|
||||
var showall = getQParamInt("showall", 0) == 1;
|
||||
var noref = getQParamInt("noref", -1); // (voor onderdrukken horizontale verwijzingen)
|
||||
var reg_key = getQParamInt("regiokey", -1); // Regio
|
||||
var dis_key = getQParamInt("districtkey", -1); // District
|
||||
var loc_key = getQParamInt("locatiekey", -1); // Locatie
|
||||
var bld_key = getQParamInt("gebouwkey", -1); // Gebouw
|
||||
var lvl_key = getQParamInt("verdiepingkey", -1); // Verdieping
|
||||
var room_key = getQParamInt("ruimtekey", -1); // Ruimte
|
||||
var area_nr = getQParam("nr", null); // Ruimte nr
|
||||
var area_descr = getQParam("descr", null); // Ruimte omschrijving
|
||||
var srtruimte_key = getQParamInt("srt", null); // Ruimtefunctie
|
||||
var dept_key = getQParamInt("dept", -1); // Afdeling
|
||||
var chkgeb = getQParamInt("chkgeb", 0) == 1; //Controleer tegen de vervallenstatus van het gebouw (vertrouw lvl_key/geb_key niet)
|
||||
var area_use = getQParamInt("srt", null); // Ruimtefunctie
|
||||
|
||||
ruimte_list ( "*",
|
||||
{ outputmode: outputmode,
|
||||
showall: showall,
|
||||
reg_key: (reg_key != -1? reg_key : null),
|
||||
dis_key: (dis_key != -1? dis_key : null),
|
||||
loc_key: (loc_key != -1? loc_key : null),
|
||||
bld_key: (bld_key != -1? bld_key : null),
|
||||
lvl_key: (lvl_key != -1? lvl_key : null),
|
||||
room_key: (room_key != -1? room_key : null),
|
||||
area_nr: (area_nr != -1? area_nr : null),
|
||||
area_descr: (area_descr != ""? area_descr : null),
|
||||
srtruimte_key: (srtruimte_key != -1? srtruimte_key : null),
|
||||
dept_key: (dept_key !=-1? dept_key : null),
|
||||
noref: (noref != -1? noref : null),
|
||||
chkgeb: chkgeb
|
||||
area_use: (area_use != -1? area_use : null),
|
||||
noref: (noref != -1? noref : null)
|
||||
}
|
||||
);
|
||||
%>
|
||||
@@ -20,7 +20,7 @@ k
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
js: ["./alg_ruimteafdeling.js" ]
|
||||
js: ["./alg_ruimteafdeling.js", "num2curr.js"]
|
||||
});
|
||||
|
||||
// TODO: Autorisatie controle "WEB_PRSBOF" op ruimte_keys
|
||||
|
||||
@@ -39,7 +39,7 @@ function CreateRow(afd_key, afd_name, bezetting, oppervlak, bruto)
|
||||
cell = tr.insertCell(-1);
|
||||
cell.className = "result";
|
||||
cell.align = "center";
|
||||
cell.innerHTML = "<i class='fa fa-fw fa-times' OnClick='delRow(this)' style='cursor:pointer'></i>";
|
||||
cell.innerHTML = "<img src='../Pictures/order_cancel.gif' OnClick='delRow(this)' style='cursor:pointer'>";
|
||||
|
||||
// innerHTML opent een htmlparser die overbodige spaties en line breaks verwijderd in IE, daarom met innerText oplossen
|
||||
// Input velden moeten wel met innerHTML of outerHTML anders wordt het text
|
||||
@@ -73,22 +73,18 @@ function CreateRow(afd_key, afd_name, bezetting, oppervlak, bruto)
|
||||
function delRow(img)
|
||||
{
|
||||
// Verwijder de aangeklikte afdeling uit de lijst (de regel)
|
||||
FcltMgr.confirm(L("lcl_alg_cancelDepartment"), function() {
|
||||
var tr = $(img).closest("tr")[0];
|
||||
if (tr.myData.afd_key != null) {
|
||||
document.getElementById("afdbezettingtable").deleteRow(tr.rowIndex);
|
||||
}
|
||||
});
|
||||
if (!confirm(L("lcl_alg_cancelDepartment")))
|
||||
return;
|
||||
var tr = $(img).closest("tr")[0];
|
||||
if (tr.myData.afd_key != null)
|
||||
{
|
||||
document.getElementById("afdbezettingtable").deleteRow(tr.rowIndex);
|
||||
}
|
||||
}
|
||||
|
||||
function alg_submit()
|
||||
{
|
||||
if ($(document).has('span.bad').length)
|
||||
{
|
||||
FcltMgr.alert(L("lcl_shared_validator_invalid"));
|
||||
return false;
|
||||
}
|
||||
var percValid = true;
|
||||
var percValid = true;
|
||||
var i=0;
|
||||
while (percValid && (i<=rowIndex))
|
||||
{
|
||||
@@ -98,7 +94,7 @@ function alg_submit()
|
||||
if (oppPerc > 100)
|
||||
{
|
||||
percValid = false;
|
||||
FcltMgr.alert(L("lcl_alg_bezetting_ongeldig"));
|
||||
alert(L("lcl_alg_bezetting_ongeldig"));
|
||||
$("#bez"+i).select();
|
||||
$("#bez"+i).focus();
|
||||
}
|
||||
@@ -133,41 +129,49 @@ function alg_add(oppervlak)
|
||||
|
||||
function changeOppervlak(prowIndex)
|
||||
{
|
||||
var $thisObj = $("#bezopp"+prowIndex);
|
||||
var valid = isGoodNumber($thisObj.val(), false,false,8,2);
|
||||
validateField($thisObj, valid, L("lcl_alg_bezetting_ongeldig"))
|
||||
var bereken = true;
|
||||
if (!isGoodNumber($("#bezopp"+prowIndex).val(), false,false,8,2))
|
||||
{
|
||||
bereken = false;
|
||||
alert(L("lcl_alg_bezetting_ongeldig"));
|
||||
$("#bezopp"+prowIndex).select();
|
||||
$("#bezopp"+prowIndex).focus();
|
||||
}
|
||||
if (bereken && (!isGoodNumber($("#totaalopp"+prowIndex).val(), false,false,8,2)))
|
||||
$("#totaalopp"+prowIndex).val($("#bezopp"+prowIndex).val());
|
||||
|
||||
if (valid)
|
||||
{
|
||||
if (!isGoodNumber($("#totaalopp"+prowIndex).val(), false,false,8,2))
|
||||
$("#totaalopp"+prowIndex).val($thisObj.val());
|
||||
var oppBezet = parseFloat($thisObj.val().replace(',', '.'));
|
||||
var oppBruto = parseFloat($("#totaalopp"+prowIndex).val().replace(',', '.'));
|
||||
if (oppBruto > 0)
|
||||
{
|
||||
var oppPercF = (oppBezet * 100) / oppBruto;
|
||||
var oppPerc = num2currEditable(oppPercF);
|
||||
$("#bez" + prowIndex).val(oppPerc);
|
||||
}
|
||||
}
|
||||
if (bereken)
|
||||
{
|
||||
var oppBezet = parseFloat($("#bezopp" +prowIndex).val().replace(',', '.'));
|
||||
var oppBruto = parseFloat($("#totaalopp"+prowIndex).val().replace(',', '.'));
|
||||
if (oppBruto > 0)
|
||||
{
|
||||
var oppPercF = (oppBezet * 100) / oppBruto;
|
||||
var oppPerc = num2currEditable(oppPercF);
|
||||
$("#bez" + prowIndex).val(oppPerc);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function changeBezetting(prowIndex)
|
||||
{
|
||||
var $thisObj = $("#bez"+prowIndex);
|
||||
var valid = isGoodNumber($thisObj.val(), false,false,8,2) &&
|
||||
parseFloat($thisObj.val().replace(',', '.')) <= 100 &&
|
||||
parseFloat($thisObj.val().replace(',', '.')) >= 0;
|
||||
validateField($thisObj, valid, L("lcl_alg_bezetting_ongeldig"));
|
||||
|
||||
if (valid && !multiRuimte)
|
||||
{
|
||||
var oppPerc = parseFloat($thisObj.val().replace(',', '.'));
|
||||
if (isGoodNumber($("#totaalopp"+prowIndex).val(), false,false,8,2))
|
||||
{
|
||||
var oppBruto = parseFloat($("#totaalopp"+prowIndex).val().replace(',', '.'));
|
||||
var oppBezet = num2currEditable( ((oppPerc * oppBruto) / 100) );
|
||||
$("#bezopp" + prowIndex).val(oppBezet);
|
||||
}
|
||||
if (!isGoodNumber($("#bez"+prowIndex).val(), false,false,8,2) || parseFloat($("#bez"+prowIndex).val().replace(',', '.')) > 100)
|
||||
{
|
||||
alert(L("lcl_alg_bezetting_ongeldig"));
|
||||
$("#bez"+prowIndex).select();
|
||||
$("#bez"+prowIndex).focus();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!multiRuimte)
|
||||
{
|
||||
var oppPerc = parseFloat($("#bez" +prowIndex).val().replace(',', '.'));
|
||||
if (isGoodNumber($("#totaalopp"+prowIndex).val(), false,false,8,2))
|
||||
{
|
||||
var oppBruto = parseFloat($("#totaalopp"+prowIndex).val().replace(',', '.'));
|
||||
var oppBezet = num2currEditable( ((oppPerc * oppBruto) / 100) );
|
||||
$("#bezopp" + prowIndex).val(oppBezet);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ FCLTHeader.Requires({plugins:["suggest","jQuery"], js: ["jQuery-ui.js"]})
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="modal" id="mod_ruimtefunctie">
|
||||
<body>
|
||||
<%
|
||||
var page="alg_edit_ruimtefunctie.asp?srtruimte_lg_key=" + srtruimte_lg_key; // Edit
|
||||
//if (srtruimte_lg_key == -1)
|
||||
@@ -59,7 +59,7 @@ FCLTHeader.Requires({plugins:["suggest","jQuery"], js: ["jQuery-ui.js"]})
|
||||
//else
|
||||
// var page="alg_show_ruimtefunctie.asp?srtruimte_lg_key=" + srtruimte_lg_key ;
|
||||
|
||||
IFRAMER("algrfFrame", page, { title: L("lcl_prs_dienst_frame"),
|
||||
IFRAMER("prsFrame", page, { title: L("lcl_prs_dienst_frame"),
|
||||
initHeight: "450px",
|
||||
FcltClose: "algClose" } );
|
||||
%>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
Note:
|
||||
|
||||
*/
|
||||
var JSON_Result = true;
|
||||
DOCTYPE_Disable = 1;
|
||||
%>
|
||||
<!--#include file="../Shared/common.inc"-->
|
||||
<!--#include file="../Shared/json2.js" -->
|
||||
|
||||
@@ -48,19 +48,23 @@ function ruimtefunctie_list(pautfunction, params)
|
||||
|
||||
var subject = "<%=L("lcl_estate_ruimte_man_sort")%>" + ' ' + algData.oms;
|
||||
var url = "alg_ruimtefunctie.asp?srtruimte_lg_key=" + srtruimte_lg_key;
|
||||
FcltMgr.openModalDetail(url, subject, { width: 650, callback: FcltMgr.reload });
|
||||
FcltMgr.openModalDetail(url, subject, { width: 700, callback: FcltMgr.reload });
|
||||
}
|
||||
|
||||
function ruimtefunctie_delete(row, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_ruimtefunctie"), { autoconfirm: isMulti }, function() {
|
||||
$(row).addClass('dirty');
|
||||
var srtruimte_lg_key = row.getAttribute("ROWKEY");
|
||||
$(row).addClass('dirty');
|
||||
var srtruimte_lg_key = row.getAttribute("ROWKEY");
|
||||
if (isMulti || confirm(L("lcl_alg_del_txt_ruimtefunctie")))
|
||||
{
|
||||
var data = { key: srtruimte_lg_key
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_ruimtefunctie_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
$.post("alg_ruimtefunctie_delete.asp",
|
||||
data,
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -1,72 +0,0 @@
|
||||
<%@language = "javascript"%>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: alg_ruimteresscope.asp
|
||||
Description: Laat een ruimtes x res_catalogus kiezen bulk kiezen
|
||||
Parameters: ruimte_keys: komma separated lijst met alg_ruimte_keys
|
||||
Context:
|
||||
Note:
|
||||
|
||||
k
|
||||
*/ %>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["jQuery"]
|
||||
});
|
||||
|
||||
user.checkAutorisation('WEB_RESMSU');
|
||||
|
||||
var ruimte_key_arr = getQParamIntArray("ruimte_keys");
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<script>
|
||||
function alg_submit(scopemode)
|
||||
{
|
||||
if ($('select#objcatmulti option:selected').length == 0)
|
||||
return;
|
||||
FcltMgr.confirm(L(scopemode == "A" ? "lcl_add" : "lcl_delete") + "\n" + L("lcl_R_U_sure"), function() {
|
||||
$('input#scopemode').val(scopemode);
|
||||
$.post($("form[name=u2]")[0].action, $("[name=u2]").serialize(), FcltCallbackClose, "json");;
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="modal" id="mod_ruimteresscope">
|
||||
<form name="u2" method="post" action="alg_ruimteresscope_save.asp?ruimte_keys=<%=ruimte_key_arr.join(",")%>">
|
||||
<input type='hidden' name='scopemode' id='scopemode'>
|
||||
<% BLOCK_START("alg_ruimteresscope", L("lcl_alg_geselecteerde_ruimten") + ": " + ruimte_key_arr.length);
|
||||
var sql = "SELECT rd.ins_discipline_key"
|
||||
+ ", "+ lcl.xsql('rd.ins_discipline_omschrijving','rd.ins_discipline_key') +" omschrijving"
|
||||
+ " FROM res_v_aanwezigdiscipline rd"
|
||||
+ " WHERE rd.ins_discipline_min_level = 2"
|
||||
+ " ORDER BY ins_discipline_volgnr, 2";
|
||||
|
||||
FCLTselector("objcatmulti",
|
||||
sql,
|
||||
{
|
||||
label: L("lcl_res_objcat"),
|
||||
size: 10,
|
||||
multi: true,
|
||||
startmulti: true
|
||||
});
|
||||
BLOCK_END();
|
||||
var buttons = [ {title: L("lcl_add"), action: "alg_submit('A')" },
|
||||
{title: L("lcl_delete"), action: "alg_submit('D')" },
|
||||
{title: L("lcl_cancel"), action: "gen_cancel()"} ];
|
||||
CreateButtons(buttons);
|
||||
|
||||
IFACE.FORM_END();
|
||||
%>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -1,59 +0,0 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
SUBMIT-form
|
||||
*/ %>
|
||||
<%
|
||||
var JSON_Result = true;
|
||||
%>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../API2/api2.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<%
|
||||
protectRequest.validateToken();
|
||||
|
||||
user.checkAutorisation('WEB_RESMSU');
|
||||
|
||||
var ruimte_key_arr = getQParamIntArray("ruimte_keys");
|
||||
var scope_key_arr = getFParamIntArray("objcatmulti");
|
||||
var scopemode = getFParamSafe("scopemode"); // A=Add, D=Delete
|
||||
|
||||
var toaster;
|
||||
if (scopemode == 'A')
|
||||
{
|
||||
var sql = "INSERT INTO res_srtartikel_onrgoed"
|
||||
+ " (alg_onrgoed_niveau, alg_onrgoed_key, res_discipline_key)"
|
||||
+ " SELECT 'R', alg_ruimte_key, ins_discipline_key"
|
||||
+ " FROM alg_ruimte,"
|
||||
+ " res_discipline"
|
||||
+ " WHERE alg_ruimte_key IN ({0})".format(ruimte_key_arr.join(", "))
|
||||
+ " AND ins_discipline_key IN ({0})".format(scope_key_arr.join(", "))
|
||||
+ " AND NOT EXISTS ("
|
||||
+ " SELECT 1 FROM res_srtartikel_onrgoed"
|
||||
+ " WHERE res_srtartikel_og_verwijder IS NULL"
|
||||
+ " AND alg_onrgoed_niveau = 'R'"
|
||||
+ " AND alg_onrgoed_key = alg_ruimte_key"
|
||||
+ " AND res_discipline_key = ins_discipline_key"
|
||||
+ " )";
|
||||
Oracle.Execute(sql);
|
||||
//var toaster = L("lcl_scf_is_added").format(L("res_srtartikel_onrgoed_m"));
|
||||
}
|
||||
else if (scopemode == 'D')
|
||||
{
|
||||
var sql = "UPDATE res_srtartikel_onrgoed"
|
||||
+ " SET res_srtartikel_og_verwijder = SYSDATE"
|
||||
+ " WHERE res_srtartikel_og_verwijder IS NULL"
|
||||
+ " AND alg_onrgoed_niveau = 'R'"
|
||||
+ " AND alg_onrgoed_key IN ({0})".format(ruimte_key_arr.join(", "))
|
||||
+ " AND res_discipline_key IN ({0})".format(scope_key_arr.join(", "));
|
||||
Oracle.Execute(sql);
|
||||
var toaster = L("lcl_scf_is_deleted").format(L("res_srtartikel_onrgoed_m"));
|
||||
}
|
||||
|
||||
var result = { toaster: toaster,
|
||||
success: true };
|
||||
Response.Write(JSON.stringify(result));
|
||||
%>
|
||||
@@ -49,8 +49,8 @@ var authparams = alg.checkAutorisation();
|
||||
</head>
|
||||
<body id="searchbody">
|
||||
<div id="search">
|
||||
<form name="u2" id="algform" target="workFrame" action="dynamischbepaald" method="get">
|
||||
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
|
||||
<form name="u2" id="algform" target="workFrame" action="dynamischbepaald" method="get">
|
||||
<tr>
|
||||
<td class="searchkolom1">
|
||||
<table>
|
||||
@@ -68,9 +68,10 @@ var authparams = alg.checkAutorisation();
|
||||
%>
|
||||
</table>
|
||||
</td><!-- end column 1 -->
|
||||
<td class="searchkolom2"><input type="hidden" name="noref" value="1"><input type="hidden" name="chkgeb" value="1">
|
||||
</td><!-- end column 1 -->
|
||||
<td class="searchkolom2"><input type="hidden" name="noref" value="1">
|
||||
</td><!-- end column 1 -->
|
||||
</tr>
|
||||
</form>
|
||||
<% BLOCK_END();
|
||||
|
||||
var buttons = [
|
||||
@@ -81,9 +82,7 @@ var authparams = alg.checkAutorisation();
|
||||
{title: L("lcl_menu_alg_terreinsector"), action: "doSubmit('T')"}
|
||||
];
|
||||
CreateButtons(buttons, { entersubmit: true });
|
||||
%>
|
||||
</form>
|
||||
</div> <!-- search -->
|
||||
%></div> <!-- search -->
|
||||
|
||||
<div id="result">
|
||||
<iframe width="100%" height="100%"
|
||||
|
||||
@@ -47,17 +47,17 @@ oRs.Close();
|
||||
}
|
||||
function dis_delete()
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_district"), function() {
|
||||
var data = {
|
||||
key: <%=dis_key%>,
|
||||
level: "D"
|
||||
};
|
||||
if (confirm(L("lcl_alg_del_txt_district")))
|
||||
{
|
||||
var data = { key: <%=dis_key%>,
|
||||
level: "D"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
});
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
@@ -81,7 +81,7 @@ oRs.Close();
|
||||
}
|
||||
%>
|
||||
<form name=u2 onSubmit="return false;">
|
||||
<% BLOCK_START("algInfo", " ");
|
||||
<% BLOCK_START("algInfo", "");
|
||||
FCLTplaatsselector(-1,
|
||||
{ regiokey: reg_key,
|
||||
districtkey: dis_key,
|
||||
|
||||
@@ -38,7 +38,6 @@ var bld_naam = oRs("alg_gebouw_naam").Value;
|
||||
var bld_code = oRs("alg_gebouw_code").Value;
|
||||
var bld_descr = oRs("alg_gebouw_omschrijving").Value;
|
||||
var bld_maak = oRs("alg_gebouw_aanmaak").Value;
|
||||
var bld_email = oRs("alg_gebouw_email").Value;
|
||||
var bld_teken = oRs("alg_gebouw_getekend").Value;
|
||||
var bld_opp = oRs("alg_gebouw_bruto_vloeropp").Value;
|
||||
var bld_omtrek = oRs("alg_gebouw_omtrek").Value;
|
||||
@@ -53,13 +52,11 @@ var bld_x = oRs("alg_gebouw_x").Value;
|
||||
var bld_y = oRs("alg_gebouw_y").Value;
|
||||
var bld_bez = oRs("alg_gebouw_bez").Value;
|
||||
var bld_deleted = oRs("alg_gebouw_verwijder").Value != null;
|
||||
var dienstniveau_key = oRs("mld_dienstniveau_key").Value;
|
||||
var dienstniveau = oRs("mld_dienstniveau_key").Value;
|
||||
var beginuur = oRs("alg_gebouw_beginuur").Value;
|
||||
var einduur = oRs("alg_gebouw_einduur").Value;
|
||||
var werkdagen = oRs("alg_gebouw_werkdagen").Value;
|
||||
var verantw = oRs("prs_perslid_key_verantw").Value;
|
||||
var verantw2 = oRs("prs_perslid_key_verantw2").Value;
|
||||
var vervaldatum = oRs("alg_gebouw_vervaldatum").Value;
|
||||
oRs.Close();
|
||||
%>
|
||||
|
||||
@@ -74,37 +71,23 @@ oRs.Close();
|
||||
}
|
||||
function bld_delete()
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_gebouw"), function() {
|
||||
var data = {
|
||||
key: <%=bld_key%>,
|
||||
level: "G"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
});
|
||||
if (confirm(L("lcl_alg_del_txt_gebouw")))
|
||||
{
|
||||
var data = { key: <%=bld_key%>,
|
||||
level: "G"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
<% if (S("alg_fg_remote_maps") != "" && bld_x && bld_y) { %>
|
||||
function openMaps(bldKey)
|
||||
{
|
||||
FcltMgr.windowopen('../cad/ShowGoogleMap.asp?bld_key=' + bldKey, 'FGShow',
|
||||
"width=800, height=600, directories=no, location=no, menubar=no,"
|
||||
+ "resizable=yes, status=no, titlebar=yes, toolbar=no");
|
||||
return;
|
||||
}
|
||||
<% } %>
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body id="showbody">
|
||||
<% var buttons = [];
|
||||
|
||||
if (S("alg_fg_remote_maps") != "" && bld_x && bld_y) {
|
||||
buttons.push({title: L("lcl_maps"), action:"openMaps("+bld_key+")", icon: "map.png" });
|
||||
}
|
||||
|
||||
if (!bld_deleted)
|
||||
{
|
||||
if (this_alg.writeman || this_alg.writeuse)
|
||||
@@ -123,12 +106,11 @@ oRs.Close();
|
||||
%>
|
||||
<div id="show">
|
||||
<form name=u2 onSubmit="return false;">
|
||||
<% BLOCK_START("algLoc1", " ");
|
||||
<% BLOCK_START("algLoc1", "");
|
||||
FCLTplaatsselector(-1,
|
||||
{ gebouwkey: bld_key,
|
||||
startlevel: 2, //Locatie
|
||||
eindlevel: 3, // Gebouw
|
||||
moreinfo: true, // wel beetje suf om door te linken naar jezelf
|
||||
readonly: true
|
||||
});
|
||||
sql = "SELECT alg_srtgebouw_key"
|
||||
@@ -141,14 +123,9 @@ oRs.Close();
|
||||
{ label: L("lcl_estate_gebouw_srtgebouw"),
|
||||
initKey: bld_srtkey,
|
||||
emptyOption: "",
|
||||
suppressEmpty: true,
|
||||
readonly: true
|
||||
});
|
||||
params = { infoPointer: { Url: "appl/shared/status_info.asp?bld_key=" + bld_key,
|
||||
Title: L("lcl_status_details") + " " + bld_naam
|
||||
}
|
||||
}
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_man_code"), bld_code, params);
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_man_code"), bld_code, {suppressEmpty:true});
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_man_opmerk"), bld_opmerk, {suppressEmpty:true});
|
||||
sql = "SELECT prs_kostenplaats_key"
|
||||
+ " , k.prs_kostenplaats_nr || ' ' || k.prs_kostenplaats_omschrijving"
|
||||
@@ -160,16 +137,15 @@ oRs.Close();
|
||||
{ label: L("lcl_prs_dept_kosten"),
|
||||
initKey: prs_kstpl,
|
||||
emptyOption: "",
|
||||
suppressEmpty: true,
|
||||
readonly: true
|
||||
});
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_ordernr"), bld_ordrnr, {suppressEmpty:true});
|
||||
if (dienstniveau_key)
|
||||
if (dienstniveau)
|
||||
{
|
||||
sql = "SELECT mld_dienstniveau_key"
|
||||
+ " , " + lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
+ " FROM mld_dienstniveau"
|
||||
+ " WHERE mld_dienstniveau_key = " + dienstniveau_key;
|
||||
+ " WHERE mld_dienstniveau_key = " + dienstniveau;
|
||||
oRs = Oracle.Execute(sql);
|
||||
ROFIELDTR("fld", L("lcl_mld_dienst_niveau"), oRs("mld_dienstniveau_omschr").value);
|
||||
oRs.Close();
|
||||
@@ -182,42 +158,25 @@ oRs.Close();
|
||||
suppressEmpty: true,
|
||||
moreinfo: this_alg.readman
|
||||
});
|
||||
FCLTpersoonselector("verantw2",
|
||||
"sgVerantw2",
|
||||
{ perslidKey: verantw2,
|
||||
label: L("lcl_alg_verantw2"),
|
||||
readonly: true,
|
||||
suppressEmpty: true,
|
||||
moreinfo: this_alg.readman
|
||||
});
|
||||
|
||||
AFIELDTR('fldmailto details', L("lcl_alg_gebouw_email"), "mailto:" + bld_email, bld_email, { suppressEmpty: true });
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("algLoc2", " ");
|
||||
var calcopp = alg.calc_algm2(bld_key, onrgoedlvl);
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_bruto_vloeropp") + L("lcl_estate_calc_vloeropp"), calcopp.oppbruto, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt1") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt1, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt2") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt2, {suppressEmpty: true});
|
||||
|
||||
BLOCK_START("algLoc2", "");
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_man_bruto_vloeropp"), bld_opp, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_man_omtrek"), bld_omtrek, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_man_inhoud"), bld_inhoud, {suppressEmpty: true});
|
||||
sql = "SELECT mld_adres_naam"
|
||||
+ " FROM mld_adres"
|
||||
+ " WHERE mld_adres_key = " + mld_adres;
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
ROFIELDTR("fld", L("lcl_delivery_address"), oRs("mld_adres_naam").value, {suppressEmpty: true});
|
||||
}
|
||||
oRs.Close();
|
||||
sql = "SELECT mld_adres_key"
|
||||
+ " , mld_adres_naam"
|
||||
+ " FROM mld_v_afleveradres"
|
||||
+ " ORDER BY mld_adres_naam";
|
||||
FCLTselector("del_address",
|
||||
sql,
|
||||
{ label: L("lcl_delivery_address"),
|
||||
initKey: mld_adres,
|
||||
emptyOption: "",
|
||||
readonly: true
|
||||
});
|
||||
ROFIELDTR("fld", L("lcl_geoxcoord"), bld_x, {suppressEmpty:true});
|
||||
ROFIELDTR("fld", L("lcl_geoycoord"), bld_y, {suppressEmpty:true});
|
||||
var fldcls = "fld";
|
||||
if (vervaldatum <= new Date())
|
||||
fldcls += " expired2";
|
||||
ROFIELDTR(fldcls, L("lcl_alg_vervaldatum"), toDateString(vervaldatum), {suppressEmpty: true});
|
||||
ROCHECKBOXTR("fldalgbez", L("lcl_estate_gebouw_bez"), bld_bez==1);
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_beginuur"), toTimeString(beginuur), {suppressEmpty:true} );
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_einduur"), toTimeString(einduur), {suppressEmpty:true} );
|
||||
|
||||
@@ -46,7 +46,7 @@ var pst_adres = oRs("alg_locatie_post_adres").value;
|
||||
var pst_plaats = oRs("alg_locatie_post_plaats").value;
|
||||
var pst_land = oRs("alg_locatie_post_land").value;
|
||||
var loc_deleted = oRs("alg_locatie_verwijder").value != null;
|
||||
var dienstniveau_key = oRs("mld_dienstniveau_key").value;
|
||||
var dienstniveau = oRs("mld_dienstniveau_key").value;
|
||||
oRs.Close();
|
||||
%>
|
||||
<html>
|
||||
@@ -71,38 +71,24 @@ oRs.Close();
|
||||
|
||||
function loc_delete()
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_locatie"), function() {
|
||||
var data = {
|
||||
key: <%=loc_key%>,
|
||||
level: "L"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
});
|
||||
if (confirm(L("lcl_alg_del_txt_locatie")))
|
||||
{
|
||||
var data = { key: <%=loc_key%>,
|
||||
level: "L"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
<% if (S("alg_fg_remote_maps") != "" && loc_x && loc_y) { %>
|
||||
function openMaps(locKey)
|
||||
{
|
||||
FcltMgr.windowopen('../cad/ShowGoogleMap.asp?loc_key=' + locKey, 'FGShow',
|
||||
"width=800, height=600, directories=no, location=no, menubar=no,"
|
||||
+ "resizable=yes, status=no, titlebar=yes, toolbar=no");
|
||||
return;
|
||||
}
|
||||
<% } %>
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body id="showbody">
|
||||
<% var buttons = [];
|
||||
buttons.push({title: L("lcl_photos"), icon: "camera.png", action: "alg_showphotos()"});
|
||||
|
||||
if (S("alg_fg_remote_maps") != "" && loc_x && loc_y) {
|
||||
buttons.push({title: L("lcl_maps"), action:"openMaps("+loc_key+")", icon: "map.png" });
|
||||
}
|
||||
|
||||
if (!loc_deleted)
|
||||
{
|
||||
if (this_alg.writeman || this_alg.writeuse)
|
||||
@@ -120,7 +106,7 @@ oRs.Close();
|
||||
}
|
||||
%>
|
||||
<form name=u2 onSubmit="return false;">
|
||||
<% BLOCK_START("algLoc1", " ");
|
||||
<% BLOCK_START("algLoc1", "");
|
||||
FCLTplaatsselector(-1,
|
||||
{ locatiekey: loc_key,
|
||||
startlevel: 1, //District
|
||||
@@ -132,12 +118,12 @@ oRs.Close();
|
||||
ROFIELDTR("fld", L("lcl_prs_address_bezoek_postcode"), bez_postc, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_prs_address_bezoek_plaats"), bez_plaats, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_prs_address_bezoek_land"), bez_land, {suppressEmpty: true});
|
||||
if (dienstniveau_key)
|
||||
if (dienstniveau)
|
||||
{
|
||||
sql = "SELECT mld_dienstniveau_key, "
|
||||
+ lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
+ " FROM mld_dienstniveau "
|
||||
+ " WHERE mld_dienstniveau_key = " + dienstniveau_key;
|
||||
+ " WHERE mld_dienstniveau_key = " + dienstniveau;
|
||||
oRs = Oracle.Execute(sql);
|
||||
ROFIELDTR("fld", L("lcl_mld_dienst_niveau"), oRs("mld_dienstniveau_omschr").value);
|
||||
oRs.Close();
|
||||
@@ -146,7 +132,7 @@ oRs.Close();
|
||||
ROFIELDTR("fld", L("lcl_geoycoord"), loc_y, {suppressEmpty: true});
|
||||
|
||||
BLOCK_END();
|
||||
BLOCK_START("algLoc2", " ");
|
||||
BLOCK_START("algLoc2", "");
|
||||
|
||||
ROFIELDTR("fld", L("lcl_prs_address_post_adres"), pst_adres, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_prs_address_post_postcode"), pst_postc, {suppressEmpty: true});
|
||||
|
||||
@@ -49,16 +49,15 @@ var regio_deleted = regio_exists && !!regio_data.deleted;
|
||||
|
||||
function reg_delete()
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_regio"), function() {
|
||||
var data = {
|
||||
action: "D"
|
||||
};
|
||||
if (confirm(L("lcl_alg_del_txt_regio")))
|
||||
{
|
||||
var data = { action: "D" };
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post($("form[name=u2]")[0].action,
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
});
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
@@ -84,7 +83,7 @@ var regio_deleted = regio_exists && !!regio_data.deleted;
|
||||
<form name=u2
|
||||
action="alg_edit_regio_save.asp?regio_key=<%=regio_data.id%>"
|
||||
onSubmit="return false">
|
||||
<% BLOCK_START("algInfo", " ");
|
||||
<% BLOCK_START("algInfo", "");
|
||||
FCLTplaatsselector(-1,
|
||||
{ regiokey: regio_data.id,
|
||||
startlevel: 0, // Regio
|
||||
|
||||
@@ -54,16 +54,15 @@ if (!room_data.cadcontours.length)
|
||||
}
|
||||
function room_delete()
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_ruimte"), function() {
|
||||
var data = {
|
||||
room_action: "D"
|
||||
};
|
||||
if (confirm(L("lcl_alg_del_txt_ruimte")))
|
||||
{
|
||||
var data = { room_action: "D" };
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post($("form[name=u2]")[0].action,
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
});
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
function openFG()
|
||||
{
|
||||
@@ -100,7 +99,7 @@ if (!room_data.cadcontours.length)
|
||||
action="alg_edit_ruimte_save.asp?room_key=<%=room_data.id%>"
|
||||
onSubmit="return false">
|
||||
<%
|
||||
BLOCK_START("algLoc1", " ");
|
||||
BLOCK_START("algLoc1", "");
|
||||
|
||||
FCLTplaatsselector(-1, {
|
||||
ruimtekey: room_key,
|
||||
@@ -120,7 +119,7 @@ if (!room_data.cadcontours.length)
|
||||
ROFIELDTR("fld", L("lcl_mld_dienst_niveau"), (room_data.servicelevel ? room_data.servicelevel.name : ""), {suppressEmpty:true});
|
||||
|
||||
BLOCK_END();
|
||||
BLOCK_START("algLoc2", " ");
|
||||
BLOCK_START("algLoc2", "");
|
||||
|
||||
ROFIELDTR("fldshort", L("lcl_estate_ruimte_bruto_vloeropp"), room_data.grossarea, {suppressEmpty:true});
|
||||
if (room_data.grossarea != room_data.cadcontours[0].cadarea)
|
||||
@@ -136,7 +135,7 @@ if (!room_data.cadcontours.length)
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_man_opmerk"), room_data.remark, {suppressEmpty:true});
|
||||
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_beginuur"), toTimeString(room_data.openfrom), {suppressEmpty:true});
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_einduur"), room_data.opento==24?"24:00":toTimeString(room_data.opento), {suppressEmpty:true});
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_einduur"), toTimeString(room_data.opento), {suppressEmpty:true});
|
||||
|
||||
switch (room_data.workdays)
|
||||
{
|
||||
|
||||
@@ -87,18 +87,18 @@ oRs.Close();
|
||||
}
|
||||
function ter_delete()
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_terreinsector"), function() {
|
||||
var data = {
|
||||
key: <%=ter_key%>,
|
||||
level: "T"
|
||||
};
|
||||
if (confirm(L("lcl_alg_del_txt_terreinsector")))
|
||||
{
|
||||
var data = { key: <%=ter_key%>,
|
||||
level: "T"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
var ter_key = <%=ter_key%>
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
});
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
@@ -131,14 +131,14 @@ oRs.Close();
|
||||
readonly: true
|
||||
});
|
||||
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_sort"), ter_sroms, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_sort"), ter_sroms);
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_code"), ter_code);
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_name"), ter_naam);
|
||||
ROFIELDTR("fld", L("lcl_prs_dept_kosten"), prs_kstpl, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_prs_dept_kosten"), prs_kstpl);
|
||||
ROFIELDTR("fld", L("lcl_dep_name_level2"), prs_afd);
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_ordernr"), ter_ordnr, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_oppervlak"), ter_opp, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_omtrek"), ter_omt, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_ordernr"), ter_ordnr);
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_oppervlak"), ter_opp);
|
||||
ROFIELDTR("fld", L("lcl_estate_terreinsector_man_omtrek"), ter_omt);
|
||||
|
||||
BLOCK_END();
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ var flr_omschr = oRs("alg_verdieping_omschrijving").value;
|
||||
var flr_volgnr = oRs("alg_verdieping_volgnr").value;
|
||||
var flr_code = oRs("alg_verdieping_code").value;
|
||||
var flr_deleted = oRs("alg_verdieping_verwijder").value != null;
|
||||
var dienstniveau_key = oRs("mld_dienstniveau_key").value;
|
||||
var dienstniveau = oRs("mld_dienstniveau_key").value;
|
||||
oRs.Close();
|
||||
%>
|
||||
|
||||
@@ -52,17 +52,17 @@ oRs.Close();
|
||||
|
||||
function flr_delete()
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_verdieping"), function() {
|
||||
var data = {
|
||||
key: <%=flr_key%>,
|
||||
level: "V"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
});
|
||||
if (confirm(L("lcl_alg_del_txt_verdieping")))
|
||||
{
|
||||
var data = { key: <%=flr_key%>,
|
||||
level: "V"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
@@ -86,35 +86,27 @@ oRs.Close();
|
||||
}
|
||||
%>
|
||||
<form name=u2 onSubmit="return false;">
|
||||
<% BLOCK_START("algLoc1", " ");
|
||||
<% BLOCK_START("algLoc1", "");
|
||||
FCLTplaatsselector(-1, {
|
||||
verdiepingkey: flr_key,
|
||||
startlevel: 2, //locatie
|
||||
eindlevel: 4, // Verdieping
|
||||
moreinfo: true,
|
||||
readonly: true });
|
||||
|
||||
ROFIELDTR("fld", L("lcl_estate_verdieping_man_code"), flr_code);
|
||||
ROFIELDTR("fld", L("lcl_estate_verdieping_man_volgnr"), flr_volgnr);
|
||||
if (dienstniveau_key)
|
||||
if (dienstniveau)
|
||||
{
|
||||
sql = "SELECT mld_dienstniveau_key, "
|
||||
+ lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
+ " FROM mld_dienstniveau "
|
||||
+ " WHERE mld_dienstniveau_key = " + dienstniveau_key;
|
||||
+ " WHERE mld_dienstniveau_key = " + dienstniveau;
|
||||
oRs = Oracle.Execute(sql);
|
||||
ROFIELDTR("fld", L("lcl_mld_dienst_niveau"), oRs("mld_dienstniveau_omschr").value);
|
||||
oRs.Close();
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("algLoc2", " ");
|
||||
var calcopp = alg.calc_algm2(flr_key, onrgoedlvl);
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_bruto_vloeropp") + L("lcl_estate_calc_vloeropp"), calcopp.oppbruto, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt1") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt1, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_ruimte_opp_alt2") + L("lcl_estate_calc_vloeropp"), calcopp.oppalt2, {suppressEmpty: true});
|
||||
BLOCK_END();
|
||||
|
||||
generateFlexKenmerkBlock ({
|
||||
onrgoed_key : flr_key,
|
||||
onrgoed_niveau : onrgoedlvl,
|
||||
|
||||
@@ -58,17 +58,17 @@ var wp_typ_str = (wp_type == 1 ? L("lcl_wptype_1") : L("lcl_wptype_0"));
|
||||
function wp_delete()
|
||||
{
|
||||
var wp_key = <%=wp_key%>;
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_werkplek"), function() {
|
||||
var data = {
|
||||
key: <%=wp_key%>,
|
||||
level: "W"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
});
|
||||
if (confirm(L("lcl_alg_del_txt_werkplek")))
|
||||
{
|
||||
var data = { key: <%=wp_key%>,
|
||||
level: "W"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -119,7 +119,7 @@ if (mode == "save")
|
||||
{
|
||||
%>
|
||||
<script>
|
||||
FcltMgr.alert("<%=safe.jsstring(err.friendlyMsg)%>");
|
||||
alert("<%=safe.jsstring(err.friendlyMsg)%>");
|
||||
</script>
|
||||
<%
|
||||
}
|
||||
@@ -171,10 +171,8 @@ else if (srtruimte_key > 0 && mode == "delete")
|
||||
|
||||
function alg_delete()
|
||||
{
|
||||
FcltMgr.confirm("<%=safe.jsstring(L("lcl_R_U_sure"))%>",
|
||||
function() {
|
||||
window.location.href = "../alg/alg_srtruimte.asp?mode=delete&alg_srtruimte_key=<%=srtruimte_key%>";
|
||||
});
|
||||
if (confirm("<%=safe.jsstring(L("lcl_R_U_sure"))%>"))
|
||||
window.location.href = "alg_srtruimte.asp?mode=delete&alg_srtruimte_key=<%=srtruimte_key%>";
|
||||
}
|
||||
|
||||
function alg_cancel()
|
||||
@@ -289,10 +287,10 @@ else if (srtruimte_key > 0 && mode == "delete")
|
||||
target="hidFrameSubmit"
|
||||
onSubmit="alg_submit()">
|
||||
<%
|
||||
BLOCK_START("algInfo", L("lcl_general_properties"));
|
||||
BLOCK_START("algInfo", safe.html(L("lcl_general_properties")));
|
||||
|
||||
ROFIELDTR( "fld", L("lcl_key"), srtruimte_key);
|
||||
myFIELD("omschrijving", "fld", L("lcl_descr"), srtr_info.alg_srtruimte_omschrijving, { translate: {fld: "mld_afmeldtekst_naam", key: srtruimte_key} });
|
||||
myFIELD("omschrijving", "fld", L("lcl_descr"), srtr_info.alg_srtruimte_omschrijving);
|
||||
myFIELD("prijs", "fld", L("lcl_alg_alg_tarief")+" (m2)", safe.editablefloat(srtr_info.alg_srtruimte_prijs), {datatype: "float", suppressEmpty: true} );
|
||||
myFIELD("prijs2", "fld", L("lcl_alg_alg_tariefA")+" (m2)", safe.editablefloat(srtr_info.alg_srtruimte_prijs2), {datatype: "float", suppressEmpty: true} );
|
||||
myFIELD("prijs3", "fld", L("lcl_alg_alg_tariefB")+" (m2)", safe.editablefloat(srtr_info.alg_srtruimte_prijs3), {datatype: "float", suppressEmpty: true} );
|
||||
@@ -314,8 +312,8 @@ else if (srtruimte_key > 0 && mode == "delete")
|
||||
disable: !srtr_info.tijd_uitvoertijd
|
||||
}
|
||||
}
|
||||
myFIELD("uitvoertijd", "fldalg_uitvtijd", L("lcl_mld_stduitvoertijd"), srtr_info.tijd_uitvoertijd? Math.round(srtr_info.tijd_uitvoertijd * 100000) / 100000 : ""
|
||||
, {maxlength: 8, datatype: "float", html: "onChange='onChangeUitvoertijd();'", suppressEmpty: true, selector: selectparams});
|
||||
myFIELD("uitvoertijd", "fldalg_uitvtijd", L("lcl_mld_stduitvoertijd"), srtr_info.tijd_uitvoertijd? Math.round(srtr_info.tijd_uitvoertijd * 100) / 100 : ""
|
||||
, {maxlength: 4, datatype: "float", html: "onChange='onChangeUitvoertijd();'", suppressEmpty: true, selector: selectparams});
|
||||
|
||||
BLOCK_END();
|
||||
|
||||
|
||||
@@ -44,8 +44,8 @@ FCLTHeader.Generate();
|
||||
|
||||
<body id="searchbody">
|
||||
<div id="search">
|
||||
<form name="u2" target="workFrame" action="alg_srtruimte_search_list.asp" method="get">
|
||||
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
|
||||
<form name="u2" target="workFrame" action="alg_srtruimte_search_list.asp" method="get">
|
||||
<tr>
|
||||
<td class="searchkolom1">
|
||||
<table><!-- x rijen, 2 kolommen: label + veld -->
|
||||
|
||||
@@ -49,14 +49,18 @@ function fnrowData(oRs)
|
||||
|
||||
function doDelete(rowArray, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_terreinsector"), { autoconfirm: isMulti }, function() {
|
||||
var terKeyString = getKeyString(rowArray);
|
||||
var terKeyString = getKeyString(rowArray);
|
||||
if (isMulti || confirm(L("lcl_alg_del_txt_terreinsector")))
|
||||
{
|
||||
var data = { key: terKeyString,
|
||||
level: "T"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<%
|
||||
@@ -75,11 +79,9 @@ function terrein_list(pautfunction, params)
|
||||
|
||||
var noref = params.noref;
|
||||
|
||||
var reg_key = params.reg_key;
|
||||
var dis_key = params.dis_key;
|
||||
var loc_key = params.loc_key;
|
||||
var ter_code = params.ter_code;
|
||||
var ter_func_key = params.ter_func_key;
|
||||
var ter_func = params.ter_func;
|
||||
|
||||
function fnrowActionEnabler(oRs) // klopt dit voor terreinsector?
|
||||
{
|
||||
@@ -136,19 +138,15 @@ function terrein_list(pautfunction, params)
|
||||
{
|
||||
sqln += " AND g.alg_locatie_key = " + loc_key;
|
||||
}
|
||||
else if (dis_key)
|
||||
sqln += " AND l.alg_district_key = " + dis_key;
|
||||
else if (reg_key)
|
||||
sqln += " AND l.alg_district_key IN (SELECT alg_district_key FROM alg_district WHERE alg_regio_key = " + reg_key+")";
|
||||
|
||||
if (ter_func_key)
|
||||
if (ter_func)
|
||||
{
|
||||
sqln += " AND g.alg_srtterreinsector_key = " + ter_func_key;
|
||||
sqln += " AND g.ALG_SRTTERREINSECTOR_KEY = " + ter_func;
|
||||
}
|
||||
|
||||
if (ter_code)
|
||||
{
|
||||
sqln += " AND UPPER(g.alg_terreinsector_code) LIKE " + safe.quoted_sql_wild("%" + ter_code + "%");
|
||||
sqln += " AND UPPER(g.ALG_TERREINSECTOR_CODE) LIKE " + safe.quoted_sql_wild("%" + ter_code + "%");
|
||||
}
|
||||
|
||||
sqln += " ORDER BY g.alg_terreinsector_upper ASC "
|
||||
|
||||
@@ -15,7 +15,7 @@ FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"] });
|
||||
|
||||
var locatie_key = getQParamInt("locatie_key", -1); // locatie
|
||||
var vak_code = getQParam("vak_code", "");
|
||||
var ter_func_key = getQParamInt("ter_func_key", -1);
|
||||
var ter_func = getQParamInt("ter_func", -1);
|
||||
var autosearch = getQParamInt("autosearch", 0) == 1;
|
||||
var authparams = alg.checkAutorisation();
|
||||
|
||||
@@ -64,7 +64,7 @@ var authparams = alg.checkAutorisation();
|
||||
|
||||
FCLTselector("srt",
|
||||
sql,
|
||||
{ initKey: ter_func_key,
|
||||
{ initKey: ter_func,
|
||||
label: L("lcl_estate_terreinsector_man_sort"),
|
||||
emptyOption: "",
|
||||
trclass: "primsearch",
|
||||
|
||||
@@ -22,20 +22,16 @@
|
||||
var outputmode = getQParamInt("outputmode", 0) // 0 = screen, 1 = print, 2 = excel etc
|
||||
var showall = getQParamInt("showall", 0) == 1;
|
||||
var noref = getQParamInt("noref", -1); // (voor onderdrukken horizontale verwijzingen)
|
||||
var reg_key = getQParamInt("regiokey", -1); // Regio
|
||||
var dis_key = getQParamInt("districtkey", -1); // District
|
||||
var loc_key = getQParamInt("locatiekey", -1); // Locatie
|
||||
var ter_code = getQParam("descr", null);
|
||||
var ter_func_key = getQParamInt("srt", -1);
|
||||
var ter_func = getQParamInt("srt", -1);
|
||||
|
||||
terrein_list ( "*",
|
||||
{ outputmode: outputmode,
|
||||
showall: showall,
|
||||
reg_key: (reg_key != -1? reg_key : null),
|
||||
dis_key: (dis_key != -1? dis_key : null),
|
||||
loc_key: (loc_key != -1? loc_key : null),
|
||||
ter_code: (ter_code != ""? ter_code : null),
|
||||
ter_func_key: (ter_func_key != -1? ter_func_key : null),
|
||||
ter_func: (ter_func != -1? ter_func : null),
|
||||
noref: (noref != -1? noref : null)
|
||||
}
|
||||
);
|
||||
|
||||
@@ -76,26 +76,15 @@ else
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<% if (flr_key == -1)
|
||||
<% if (flr_key == -1)
|
||||
var page="alg_edit_verdieping.asp"; // Maak een nieuw
|
||||
else
|
||||
else
|
||||
var page="alg_show_verdieping.asp";
|
||||
page += "?flr_key="+flr_key;
|
||||
page += "?flr_key="+flr_key;
|
||||
|
||||
IFRAMER("algFrame", page, { title: L("lcl_alg_verdieping_frame"),
|
||||
IFRAMER("algFrame", page, { title: L("lcl_alg_verdieping_frame"),
|
||||
initHeight: "450px",
|
||||
FcltClose: "algClose" } );
|
||||
|
||||
var authparamsCNTUSE = user.checkAutorisation("WEB_CNTUSE", true);
|
||||
var authparamsCNTMAN = user.checkAutorisation("WEB_CNTMAN", true);
|
||||
var curole = "bo";
|
||||
if (!authparamsCNTMAN && authparamsCNTUSE)
|
||||
curole = "fe";
|
||||
if (authparamsCNTMAN || authparamsCNTUSE)
|
||||
{
|
||||
var page2="../cnt/cnt_search_list.asp?embedded=1&tiny=1&collapsed=1&urole=" + curole + "&ffutu=1&fact=1&frap=1&fopz=1&sact=1&flr_key="+ flr_key
|
||||
IFRAMER("cntFrame", page2, { initHide: true } );
|
||||
}
|
||||
%>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -36,7 +36,7 @@ function fnrowData(oRs)
|
||||
function gotoDetails(row)
|
||||
{
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/ALG/alg_ruimte_search.asp?verdieping_key=" + algData.detail_key + "&autosearch=" + autosearch + "&chkgeb=1";
|
||||
var url = "appl/ALG/alg_ruimte_search.asp?verdieping_key=" + algData.detail_key + "&autosearch=" + autosearch;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_room")%>");
|
||||
}
|
||||
function gotoParent(row)
|
||||
@@ -54,14 +54,18 @@ function fnrowData(oRs)
|
||||
|
||||
function doDelete(rowArray, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_verdieping"), { autoconfirm: isMulti }, function() {
|
||||
var flrKeyString = getKeyString(rowArray);
|
||||
var flrKeyString = getKeyString(rowArray);
|
||||
if (isMulti || confirm(L("lcl_alg_del_txt_verdieping")))
|
||||
{
|
||||
var data = { key: flrKeyString,
|
||||
level: "V"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
@@ -80,12 +84,9 @@ function verdiepingen_list(pautfunction, params)
|
||||
|
||||
var noref = params.noref;
|
||||
|
||||
var reg_key = params.reg_key;
|
||||
var dis_key = params.dis_key;
|
||||
var loc_key = params.loc_key;
|
||||
var bld_key = params.bld_key;
|
||||
var lvl_key = params.lvl_key;
|
||||
var chkgeb = params.chkgeb;
|
||||
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
@@ -123,7 +124,7 @@ function verdiepingen_list(pautfunction, params)
|
||||
+ " alg_locatie l "
|
||||
+ " WHERE g.alg_gebouw_key = v.alg_gebouw_key "
|
||||
+ " AND l.alg_locatie_key(+) = g.alg_locatie_key "
|
||||
+ " AND v.alg_verdieping_verwijder IS NULL ";
|
||||
+ " AND v.alg_verdieping_verwijder IS NULL "
|
||||
|
||||
if ( authparams.ALGreadlevel > -1 )
|
||||
{ // Er is een scope-beperking van kracht
|
||||
@@ -149,13 +150,7 @@ function verdiepingen_list(pautfunction, params)
|
||||
{
|
||||
sqln += " AND g.alg_locatie_key = " + loc_key;
|
||||
}
|
||||
else if (dis_key)
|
||||
sqln += " AND l.alg_district_key = " + dis_key;
|
||||
else if (reg_key)
|
||||
sqln += " AND l.alg_district_key IN (SELECT alg_district_key FROM alg_district WHERE alg_regio_key = " + reg_key+")";
|
||||
|
||||
if (!chkgeb)
|
||||
sqln += " AND (g.alg_gebouw_vervaldatum IS NULL OR g.alg_gebouw_vervaldatum > TRUNC(SYSDATE)) ";
|
||||
|
||||
sqln += " ORDER BY l.alg_locatie_upper ASC, "
|
||||
+ " g.alg_gebouw_upper ASC, "
|
||||
|
||||
@@ -17,7 +17,6 @@ var locatie_key = getQParamInt("locatie_key", -1); // Locatie
|
||||
var gebouw_key = getQParamInt("gebouw_key", -1); // Gebouw
|
||||
var verdieping_key = getQParamInt("verdieping_key", -1); // Verdieping
|
||||
var autosearch = getQParamInt("autosearch", 0) == 1;
|
||||
var chkgeb = getQParamInt("chkgeb", 0) == 1;
|
||||
var authparams = alg.checkAutorisation();
|
||||
%>
|
||||
|
||||
@@ -48,7 +47,6 @@ var authparams = alg.checkAutorisation();
|
||||
<body id="searchbody">
|
||||
<div id="search">
|
||||
<form name="u2" target="workFrame" action="alg_verdieping_search_list.asp" method="get">
|
||||
<input type="hidden" id="chkgeb" name="chkgeb" value="<%=(chkgeb?1:0)%>">
|
||||
<% BLOCK_START("searchtable", L("lcl_filterblok"));%>
|
||||
<td valign=top>
|
||||
<table>
|
||||
|
||||
@@ -22,24 +22,17 @@
|
||||
var outputmode = getQParamInt("outputmode", 0) // 0 = screen, 1 = print, 2 = excel etc
|
||||
var showall = getQParamInt("showall", 0) == 1;
|
||||
var noref = getQParamInt("noref", -1); // (voor onderdrukken horizontale verwijzingen)
|
||||
var reg_key = getQParamInt("regiokey", -1); // Regio
|
||||
var dis_key = getQParamInt("districtkey", -1); // District
|
||||
var loc_key = getQParamInt("locatiekey", -1); // Locatie
|
||||
var bld_key = getQParamInt("gebouwkey", -1); // Gebouw
|
||||
var lvl_key = getQParamInt("verdiepingkey", -1); // Verdieping
|
||||
var chkgeb = getQParamInt("chkgeb", 0) == 1; //Controleer tegen de vervallenstatus van het gebouw (vertrouw geb_key niet)
|
||||
|
||||
|
||||
verdiepingen_list ( "*",
|
||||
{ outputmode: outputmode,
|
||||
showall: showall,
|
||||
reg_key: (reg_key != -1? reg_key : null),
|
||||
dis_key: (dis_key != -1? dis_key : null),
|
||||
loc_key: (loc_key != -1? loc_key : null),
|
||||
bld_key: (bld_key != -1? bld_key : null),
|
||||
lvl_key: (lvl_key != -1? lvl_key : null),
|
||||
noref: (noref != -1? noref : null),
|
||||
chkgeb: chkgeb
|
||||
noref: (noref != -1? noref : null)
|
||||
}
|
||||
);
|
||||
%>
|
||||
@@ -67,14 +67,18 @@ FCLTHeader.Requires({ plugins:["jQuery"],
|
||||
|
||||
function doDelete(rowArray, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_werkplek"), { autoconfirm: isMulti }, function() {
|
||||
var wpKeyString = getKeyString(rowArray);
|
||||
var wpKeyString = getKeyString(rowArray);
|
||||
if (isMulti || confirm(L("lcl_alg_del_txt_werkplek")))
|
||||
{
|
||||
var data = { key: wpKeyString,
|
||||
level: "W"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
$.post("alg_delete.asp",
|
||||
data,
|
||||
FcltCallbackRefresh,
|
||||
"json");
|
||||
}
|
||||
}
|
||||
|
||||
function doAddWP(room_key) // als impliciet==0
|
||||
@@ -248,7 +252,6 @@ function werkplek_list(pautfunction, params)
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_room"), content: "Samengesteld", nowrap: true}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_man_descr"), content: "alg_ruimte_omschrijving"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_wp_seq"), content: "prs_werkplek_volgnr"}));
|
||||
if (S("prs_werkplek_implicit")==0)
|
||||
{
|
||||
rst.addColumn(new Column({caption: L("lcl_workplace"), content: "prs_werkplek_omschrijving" }));
|
||||
|
||||
@@ -76,11 +76,8 @@ if (wp_key > 0)
|
||||
FcltClose: "algClose" } );
|
||||
if (wp_key > -1)
|
||||
{
|
||||
var page2 ="../prs/prs_perslidwerkplek_search_list.asp?embedded=1&wp_key=" + wp_key;
|
||||
var page2 ="../prs/prs_perslidwerkplek_search_list.asp?embedded=1&wp_key=" + wp_key
|
||||
IFRAMER("algFrame", page2, { initHeight: "450px" } );
|
||||
|
||||
var page3 ="../ins/ins_search_list.asp?urole=bo&tiny=1&werkplekkey=" + wp_key;
|
||||
IFRAMER("algFrame", page3, { initHeight: "450px" } );
|
||||
}
|
||||
%>
|
||||
</body>
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
*/ %>
|
||||
|
||||
<%
|
||||
var JSON_Result = true;
|
||||
DOCTYPE_Disable = 1;
|
||||
%>
|
||||
|
||||
<!-- #include file="../Shared/common.inc"-->
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
|
||||
*/ %>
|
||||
<%
|
||||
var JSON_Result = true;
|
||||
DOCTYPE_Disable = 1;
|
||||
%>
|
||||
<!--#include file="../Shared/common.inc"-->
|
||||
<!--#include file="../Shared/json2.js" -->
|
||||
|
||||
1
APPL/API/.gitignore
vendored
1
APPL/API/.gitignore
vendored
@@ -1 +0,0 @@
|
||||
TESTER
|
||||
@@ -62,9 +62,6 @@ function API_func()
|
||||
import_app_key: oRs("fac_import_app_key").Value
|
||||
};
|
||||
|
||||
if (this.apidata.loglevel > 1) // Zet maar op 3 als je HTML logging wilt
|
||||
__Logging = this.apidata.loglevel || __Logging || 0; // Voor de rest van dit bestand
|
||||
|
||||
try
|
||||
{
|
||||
this.apidata.options = eval("("+oRs("fac_api_options_json").Value+")");
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
LCL_Disable = 1
|
||||
THIS_FILE = "appl/api/api_soap.asp";
|
||||
|
||||
// __Logging = 1;
|
||||
// Session("logging")=1;
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/xml_converter.inc" -->
|
||||
|
||||
@@ -41,6 +41,8 @@
|
||||
ts.Close();
|
||||
}
|
||||
|
||||
Session("logging") = API.apidata.loglevel||0;
|
||||
|
||||
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.6.0");
|
||||
xmlReq.load(Request);
|
||||
|
||||
|
||||
@@ -122,7 +122,6 @@
|
||||
|
||||
var bes_info = bes.bestelling_info(bes_bestelling_key); // Globale variabele met alle bes_bestelling informatie
|
||||
var this_bes = bes.func_enabled_bestelling(bes_info); // Wat heb ik zoal aan rechten op deze specifieke reservering
|
||||
var bes_disc_info = bes.disc_info(bes_info.dis_key); // alle discipline informatie
|
||||
if(!this_bes.canChange) {
|
||||
resultcode = 9;
|
||||
resulttekst = "Niet geautoriseerd voor bestelling "+besid;
|
||||
@@ -130,10 +129,8 @@
|
||||
else {
|
||||
if (nwStatus != null) { // Bij update optioneel
|
||||
// statusdiagram afdwingen:
|
||||
// * BESFIT alleen vanuit status 2 als bes_disc_info.disc_params_fiatflow == 0.
|
||||
// vanuit sattus 4 als bes_disc_info.disc_params_fiatflow == 1.
|
||||
// * BESREJ alleen vanuit status 2 en 3 als bes_disc_info.disc_params_fiatflow == 0.
|
||||
// vanuit status 2 en 4 als bes_disc_info.disc_params_fiatflow == 1.
|
||||
// * BESFIT alleen vanuit status 2
|
||||
// * BESREJ alleen vanuit status 2 en 3
|
||||
sql = "SELECT bes_bestelling_status"
|
||||
+ " FROM bes_bestelling"
|
||||
+ " WHERE bes_bestelling_key="+bestelling_key;
|
||||
@@ -142,12 +139,9 @@
|
||||
curStatus = oRs("bes_bestelling_status").value;
|
||||
|
||||
// Feitelijke UPDATE status.
|
||||
// BESFIT: alleen vanuit status 2 als bes_disc_info.disc_params_fiatflow == 0.
|
||||
// vanuit sattus 4 als bes_disc_info.disc_params_fiatflow == 1.
|
||||
// BESFIT: alleen vanuit status 2
|
||||
if (nwStatus == "BESFIT") {
|
||||
if ((bes_disc_info.disc_params_fiatflow == 0 && curStatus == 2) ||
|
||||
(bes_disc_info.disc_params_fiatflow == 1 && curStatus == 4))
|
||||
{
|
||||
if (curStatus == 2) {
|
||||
bes.setbestellingstatus(bes_bestelling_key, 3); // Gefiatteerd
|
||||
sql = "SELECT bes_bestelling_status"
|
||||
+ " FROM bes_bestelling"
|
||||
@@ -178,12 +172,9 @@
|
||||
resultcode = 305;
|
||||
}
|
||||
}
|
||||
// BESREJ: alleen vanuit status 2 en 3 als bes_disc_info.disc_params_fiatflow == 0.
|
||||
// vanuit status 2 en 4 als bes_disc_info.disc_params_fiatflow == 1.
|
||||
// BESREJ: alleen vanuit status 2 en 3
|
||||
else if (nwStatus == "BESREJ") {
|
||||
if ((bes_disc_info.disc_params_fiatflow == 0 && (curStatus == 2 || curStatus == 3)) ||
|
||||
(bes_disc_info.disc_params_fiatflow == 1 && (curStatus == 2 || curStatus == 4)))
|
||||
{
|
||||
if (curStatus == 2 || curStatus == 3) {
|
||||
bes.setbestellingstatus(bes_bestelling_key, 1); // Afgewezen
|
||||
sql = "SELECT bes_bestelling_status"
|
||||
+ " FROM bes_bestelling"
|
||||
|
||||
@@ -108,15 +108,8 @@
|
||||
if (this_cnt.canChange) {
|
||||
// Bepaal de door te voeren wijzigingen.
|
||||
if (van_datum != null) {
|
||||
try {
|
||||
var looptijd_van = XMLtoJsDate(van_datum);
|
||||
var looptijd_tot = XMLtoJsDate(tot_datum);
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
__Log2File(xmlReq.xml, API.APIname + "_IN");
|
||||
Response.End;
|
||||
}
|
||||
if (looptijd_van <= looptijd_tot) {
|
||||
fields.push({ dbs: "cnt_contract_looptijd_van", typ: "date", val: looptijd_van, track: L("lcl_cnt_date_start") });
|
||||
}
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: api_flex.asp
|
||||
Description: API voor opvragen van flexfiles
|
||||
|
||||
Parameters: Een xml
|
||||
Status:
|
||||
Context: (alleen) door Putorders
|
||||
Notes: Zie flexfiles.inc/flexProps2 voor ondersteunde coderingen
|
||||
*/
|
||||
JSON_Result = true;
|
||||
THIS_FILE = "appl/api/api_flex.asp";
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/flexfiles.inc" -->
|
||||
<!-- #include file="../api/api.inc" -->
|
||||
<%
|
||||
|
||||
var API = new API_func();
|
||||
|
||||
// TODO checkAuthorization("WEB_PUOxxx") ?
|
||||
|
||||
var flexcode = getQParam("flexcode");
|
||||
if (flexcode.match(/^M=CAD/))
|
||||
{
|
||||
// <xsl:element name="img">
|
||||
// <xsl:attribute name="frc">M=CAD&labelPos=2&vKey=<xsl:value-of select="//afspraak/plaats/regio/district/locatie/gebouw/verdieping/key"/>&highlight=<xsl:value-of select="//afspraak/plaats/regio/district/locatie/gebouw/verdieping/ruimte/key"/>&mode=0&discs=981&sizeX=700&sizeY=400&offsetX=10&offsetY=10&scale=950&paperColor=16777215
|
||||
// </xsl:attribute>
|
||||
// </xsl:element>
|
||||
Server.Transfer(rooturl + "/APPL/CAD/mySlnk2IMG.asp"); // Die kan het ook wel oplossen
|
||||
}
|
||||
|
||||
// Else gewone flexfiles
|
||||
var props = flexProps2(flexcode);
|
||||
|
||||
__Log(props);
|
||||
|
||||
Response.Write(JSON.stringify(props));
|
||||
Response.End;
|
||||
%>
|
||||
@@ -1,5 +1,4 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% Server.ScriptTimeout=6000; %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
@@ -49,11 +48,8 @@
|
||||
customerId: customerId,
|
||||
keep_old: 300, // Parallelle import 300 seconden ondersteunen
|
||||
user_key: user_key,
|
||||
stylesheet: API.apidata.stylesheet,
|
||||
keep_backup: true // mits fac_import_app_folder gezet
|
||||
});
|
||||
var import_key = res.import_key;
|
||||
|
||||
if (res.success)
|
||||
{
|
||||
var warn = L("lcl_imp_read_lines") + res.read_lines;
|
||||
@@ -61,11 +57,7 @@
|
||||
user_key: user_key });
|
||||
}
|
||||
else
|
||||
{
|
||||
var warn = res.warning;
|
||||
__DoLog("Import (app_key={0}) mislukt: {1}".format(import_app_key, warn), "#ffff00");
|
||||
API.error(warn); // Abort met 500-status
|
||||
}
|
||||
|
||||
var xmlResp = new ActiveXObject("MSXML2.DOMDocument.6.0");
|
||||
xmlResp.appendChild(xmlResp.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"utf-8\""));
|
||||
@@ -77,46 +69,6 @@
|
||||
var elementResultText = xmlResp.createTextNode(warn);
|
||||
elementResult.appendChild(elementResultText);
|
||||
FCLTElement.appendChild(elementResult);
|
||||
|
||||
if (import_key > 0)
|
||||
{
|
||||
var elementDetails = xmlResp.createElement("details");
|
||||
var sql = "SELECT imp_log_status,"
|
||||
+ " imp_log_omschrijving,"
|
||||
+ " imp_log_hint"
|
||||
+ " FROM imp_log"
|
||||
+ " WHERE fac_import_key = " + import_key
|
||||
+ " AND imp_log_status <> 'I'";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (!oRs.Eof)
|
||||
{
|
||||
var elementDetail = xmlResp.createElement("detail");
|
||||
var elementStatus = xmlResp.createElement("status");
|
||||
var elementStatusText = xmlResp.createTextNode(oRs("imp_log_status").Value);
|
||||
elementStatus.appendChild(elementStatusText);
|
||||
elementDetail.appendChild(elementStatus);
|
||||
if (oRs("imp_log_omschrijving").Value != null )
|
||||
{
|
||||
var elementOms = xmlResp.createElement("omschrijving");
|
||||
var elementOmsText = xmlResp.createTextNode(oRs("imp_log_omschrijving").Value);
|
||||
elementOms.appendChild(elementOmsText);
|
||||
elementDetail.appendChild(elementOms);
|
||||
}
|
||||
if (oRs("imp_log_hint").Value != null )
|
||||
{
|
||||
var elementHint = xmlResp.createElement("hint");
|
||||
var elementHintText = xmlResp.createTextNode(oRs("imp_log_hint").Value);
|
||||
elementHint.appendChild(elementHintText);
|
||||
elementDetail.appendChild(elementHint);
|
||||
}
|
||||
elementDetails.appendChild(elementDetail);
|
||||
oRs.moveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
FCLTElement.appendChild(elementDetails);
|
||||
}
|
||||
|
||||
xmlResp.appendChild(FCLTElement);
|
||||
|
||||
Response.ContentType = "text/xml";
|
||||
|
||||
@@ -25,13 +25,11 @@
|
||||
|
||||
var API = new API_func();
|
||||
|
||||
function abortRejectMail(tekst, maillog)
|
||||
function abortRejectMail(tekst)
|
||||
{
|
||||
var result = { success: false,
|
||||
message: tekst,
|
||||
maillog: maillog||tekst
|
||||
message: tekst
|
||||
}
|
||||
__Log(result.maillog); // komt altijd ook in hmail log
|
||||
Response.Write(JSON.stringify(result));
|
||||
Response.End;
|
||||
}
|
||||
@@ -62,25 +60,22 @@ if (API.apidata.loglevel)
|
||||
__Log2File(xmlReq.xml, API.APIname + "_IN");
|
||||
|
||||
var Subject = XMLval(xmlReq, "subject");
|
||||
var fromAddr = XMLval(xmlReq, "fromaddr"); // "Returns the address that the sender gave in the MAIL FROM SMTP-command."
|
||||
var from = XMLval(xmlReq, "from"); // "This property returns the content of the From MIME-header of the email."
|
||||
var fromAddr = XMLval(xmlReq, "from");
|
||||
var toAddr = XMLval(xmlReq, "to");
|
||||
var htmlBody = XMLval(xmlReq, "htmlbody");
|
||||
var Body = XMLval(xmlReq, "body");
|
||||
|
||||
__Log("Subject: " + Subject);
|
||||
__Log("From: " + fromAddr);
|
||||
__Log("FromAddr: " + from);
|
||||
__Log("To: " + toAddr);
|
||||
__Log("Subject: " + Subject);
|
||||
__Log("From: " + fromAddr);
|
||||
__Log("To: " + toAddr);
|
||||
__Log("htmlBody: " + htmlBody);
|
||||
__Log("body: " + Body);
|
||||
__Log("body: " + Body);
|
||||
|
||||
var mailuser = toAddr.split("@")[0];
|
||||
|
||||
sql = "SELECT fac_email_setting_action,"
|
||||
+ " fac_email_setting_expire,"
|
||||
+ " fac_email_setting_from,"
|
||||
+ " fac_email_setting_frommode,"
|
||||
+ " fac_email_setting_attachpath"
|
||||
+ " FROM fac_email_setting"
|
||||
+ " WHERE upper(fac_email_setting_user) = upper("+safe.quoted_sql(mailuser)+")";
|
||||
@@ -88,7 +83,8 @@ sql = "SELECT fac_email_setting_action,"
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs.Eof)
|
||||
{
|
||||
abortRejectMail(L("lcl_fac_hmail_unknown_user"), "E-mail user niet ontvankelijk: " + mailuser);
|
||||
__Log("E-mail user niet ontvankelijk: " + mailuser);
|
||||
abortRejectMail("Database-fout");
|
||||
}
|
||||
__Log("E-mail user ontvankelijk: " + mailuser);
|
||||
if (oRs("fac_email_setting_expire").Value != null)
|
||||
@@ -96,62 +92,57 @@ if (oRs("fac_email_setting_expire").Value != null)
|
||||
var expire = new Date(oRs("fac_email_setting_expire").Value);
|
||||
if (expire.getTime() < (new Date).getTime())
|
||||
{
|
||||
abortRejectMail(L("lcl_fac_hmail_expired"), "Te laat, moest voor: " + expire);
|
||||
__Log("Te laat: " + expire);
|
||||
abortRejectMail("Te laat");
|
||||
}
|
||||
}
|
||||
var theFrom = fromAddr; // SMTP communicatie, werkt matig bij forwards
|
||||
if (oRs("fac_email_setting_frommode").Value == 1)
|
||||
theFrom = from; // uit email MIME-header
|
||||
|
||||
var shouldFrom = oRs("fac_email_setting_from").Value;
|
||||
if (shouldFrom)
|
||||
{
|
||||
if (String(shouldFrom).toUpperCase() != String(theFrom).toUpperCase())
|
||||
if (String(shouldFrom).toUpperCase() != String(fromAddr).toUpperCase())
|
||||
{
|
||||
abortRejectMail(L("lcl_fac_hmail_wrong_sender"), "Foute afzender. Verwacht: " + shouldFrom + ", kreeg: " + theFrom);
|
||||
__Log("Foute afzender. Verwacht: " + shouldFrom + ", kreeg: " + fromAddr);
|
||||
abortRejectMail("Foute afzender");
|
||||
}
|
||||
}
|
||||
var action = oRs("fac_email_setting_action").Value; // Package aanroep
|
||||
var path = oRs("fac_email_setting_attachpath").Value;
|
||||
if (path && path.substr(0, 1) == "*") // Bijvoorbeeld '*flexfilespath' or '*fg_dwf_path_concept'
|
||||
{
|
||||
path = S(path.substr(1)) + "/";
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
var result = { success: true, path: path, attachments: [] };
|
||||
|
||||
var psession_id = Session.SessionID;
|
||||
// verwijder entries in de FAC_RESULT table zodat de action nieuwe resultaten kan schrijven
|
||||
var sql = "DELETE fac_result WHERE fac_result_sessionid = " + safe.quoted_sql(psession_id);
|
||||
var sql = "DELETE fac_result WHERE fac_result_sessionid = 'hMailServer'";
|
||||
Oracle.Execute(sql);
|
||||
|
||||
if (action) // Bijv "fac.processemail" of "uwva.closeorder-sample"
|
||||
{
|
||||
if (!Body || Body == "") // Voorkeur voor plaintekst
|
||||
{
|
||||
var v_body = L("lcl_fac_hmail_empty_body") + stripHtml(htmlBody);
|
||||
var v_body = "Mail body is leeg. HTML inhoud:\n" + stripHtml(htmlBody);
|
||||
}
|
||||
else
|
||||
{
|
||||
var v_body = Body;
|
||||
}
|
||||
sql = "BEGIN " + action + " (" + safe.quoted_sql(theFrom) + ","
|
||||
+ safe.quoted_sql(toAddr) + ","
|
||||
+ safe.quoted_sql(Subject || L("lcl_fac_hmail_no_subject")) + "," // de actions kunnen slecht tegen lege subject
|
||||
+ safe.quoted_sql(v_body, 3990) + "," // HSLE#33588 10 karakters speling
|
||||
+ safe.quoted_sql(psession_id) + ","
|
||||
+ user_key + ");"
|
||||
sql = "BEGIN " + action + " (" + safe.quoted_sql(fromAddr) + ","
|
||||
+ safe.quoted_sql(toAddr) + ","
|
||||
+ safe.quoted_sql(Subject || "<geen onderwerp>") + "," // de actions kunnen slecht tegen lege subject
|
||||
+ safe.quoted_sql(v_body) + ","
|
||||
+ "'hMailServer');" // psession_id
|
||||
+ "END;";
|
||||
Oracle.Execute(sql);
|
||||
// TODO: Is er ook een resultaat om terug te melden? Melding-key bijvoorbeeld?
|
||||
|
||||
// TODO: Dit is niet multi-mail-safe
|
||||
sql = "SELECT fac_result_waarde"
|
||||
+ " FROM fac_result"
|
||||
+ " WHERE fac_result_naam = 'errormsg'"
|
||||
+ " AND fac_result_sessionid = " + safe.quoted_sql(psession_id);
|
||||
+ " AND fac_result_sessionid = 'hMailServer'";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.Eof)
|
||||
{
|
||||
__Log(oRs("fac_result_waarde").Value);
|
||||
abortRejectMail(oRs("fac_result_waarde").Value);
|
||||
}
|
||||
oRs.Close();
|
||||
@@ -159,36 +150,14 @@ if (action) // Bijv "fac.processemail" of "uwva.closeorder-sample"
|
||||
sql = "SELECT fac_result_waarde"
|
||||
+ " FROM fac_result"
|
||||
+ " WHERE fac_result_naam = 'kenmerkpath'"
|
||||
+ " AND fac_result_sessionid = " + safe.quoted_sql(psession_id);
|
||||
+ " AND fac_result_sessionid = 'hMailServer'";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.Eof)
|
||||
{
|
||||
result.path = result.path + oRs("fac_result_waarde").Value;
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
// Nog iets specifieks terug te melden voor de logging?
|
||||
sql = "SELECT fac_result_waarde"
|
||||
+ " FROM fac_result"
|
||||
+ " WHERE fac_result_naam = 'maillog'"
|
||||
+ " AND fac_result_sessionid = " + safe.quoted_sql(psession_id);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.Eof)
|
||||
{
|
||||
result.maillog = oRs("fac_result_waarde").Value;
|
||||
}
|
||||
else
|
||||
result.maillog = "E-mail afgehandeld via: " + action;
|
||||
oRs.Close();
|
||||
}
|
||||
else
|
||||
result.maillog = "Verder geen e-mail action gedefinieerd";
|
||||
|
||||
__Log(result.maillog);
|
||||
|
||||
// opruimen
|
||||
var sql = "DELETE fac_result WHERE fac_result_sessionid = " + safe.quoted_sql(psession_id);
|
||||
Oracle.Execute(sql);
|
||||
|
||||
if (result.path)
|
||||
{
|
||||
@@ -208,7 +177,7 @@ if (result.path)
|
||||
else if (!new RegExp(S("flexallowedext"), "ig").test(safefilename))
|
||||
{
|
||||
// TODO: Misschien ook terugkoppelen aan zender?
|
||||
__DoLog("Onbekende extensie e-mail bijlage: {0} ({1} bytes) van {2}. Bestand is niet opgeslagen.".format(safefilename, attsize, theFrom));
|
||||
__DoLog("Onbekende extensie e-mail bijlage: {0} ({1} bytes). Bestand is niet opgeslagen.".format(safefilename, attsize));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -219,6 +188,8 @@ if (result.path)
|
||||
})
|
||||
}
|
||||
}
|
||||
// TODO: Is er ook een resultaat om terug te melden? 'Geslaagd' bijvoorbeeld?
|
||||
// Of: adm_tracking: fromAddr + ' stuurt per e-mail ' + oMessage.Attachments.Item(i).fileName
|
||||
}
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
|
||||
@@ -209,7 +209,6 @@
|
||||
|
||||
// Object is ingenomen
|
||||
shared.trackaction("INSINN", deel_key, L("lcl_obj_is_ingenomen"));
|
||||
shared.trackaction("INSIN2", deel_key, L("lcl_obj_is_ingenomen2").format(deel_oms));
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
File: api_mld_soap.asp
|
||||
Description: API voor mld-soap berichten
|
||||
Interpreteert melding-bericht zodanig dat een melding wordt
|
||||
Interpreteert melding-bericht zodanig dat een melding wordt
|
||||
aangemaakt.
|
||||
|
||||
Parameters: Een xml
|
||||
@@ -17,7 +17,6 @@
|
||||
THIS_FILE = "appl/api/api_mldsoap.asp";
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/kenmerk_common.inc" -->
|
||||
<!-- #include file="../Shared/xml_converter.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/flexfiles.inc" -->
|
||||
@@ -39,7 +38,6 @@ var xmlReq = Server.CreateObject("MSXML2.DOMDocument.6.0");
|
||||
if (API.apidata.stylesheet)
|
||||
{
|
||||
var iXsl = Server.CreateObject("MSXML2.DOMDocument.6.0");
|
||||
iXsl.resolveExternals = true; // XSL kan includes hebben
|
||||
if( ! iXsl.load(Server.MapPath(API.apidata.stylesheet)) )
|
||||
{
|
||||
API.error("Could not load XSL " + API.apidata.stylesheet + "\n" + iXsl.parseError.reason);
|
||||
@@ -87,8 +85,6 @@ var detected ="?";
|
||||
var meldingen = xmlReq.getElementsByTagName("melding");
|
||||
for (i = 0; i < meldingen.length; i++)
|
||||
{
|
||||
resultcode = -1;
|
||||
resulttekst = "";
|
||||
// Lees per node de (optionele) tags en waarden.
|
||||
var fields = []; // Bij te werken velden.
|
||||
var ext_id = meldingen[i].getAttribute("key");
|
||||
@@ -100,367 +96,282 @@ for (i = 0; i < meldingen.length; i++)
|
||||
var stdmld_sla = -1; // Normale uitvoertijd (prio door melder nog unsupported)
|
||||
//var meldprio = XMLval(meldingen[i], "prioriteit"); // Unsupported yet
|
||||
//var meldobj_id = XMLval(meldingen[i], "object"); // Unsupported yet
|
||||
var voor_email = XMLval(meldingen[i], "voor_email"); // NEW
|
||||
var voor_login = XMLval(meldingen[i], "voor_login"); // NEW
|
||||
var meldloc = XMLval(meldingen[i], "locatiecode");
|
||||
var meldgeb = XMLval(meldingen[i], "gebouwcode");
|
||||
var meldver = XMLval(meldingen[i], "verdiepingcode");
|
||||
var meldrnr = XMLval(meldingen[i], "ruimtecode");
|
||||
var locatie_key = -1; // Bepaald op basis van meldloc
|
||||
var plaats_key = -1; // Bepaald op basis van meldgeb/meldver/meldrnr
|
||||
var meld_kpn = XMLval(meldingen[i], "kostenplaats");
|
||||
var meld_oms = XMLval(meldingen[i], "omschrijving");
|
||||
var meld_opm = XMLval(meldingen[i], "opmerking");
|
||||
|
||||
//var mldkenmerken = (meldingen[i].getElementsByTagName("kenmerk"))[0].childNodes[0].nodeValue; // Unsupported yet
|
||||
var mldkenmerken = meldingen[i].getElementsByTagName("kenmerk");
|
||||
var mld_key = -1; // Bepaald na insert
|
||||
|
||||
user.checkAutorisation("WEB_MLDUSE"); // Dit is nog ongeacht de melding
|
||||
|
||||
if (meldaction == "unknown")
|
||||
{
|
||||
// Kijk of er een melding bestaat met dit externe nummer.
|
||||
// Ben je bang dat het nummer vaker voorkomt dan kun je deze prefixen in de xsl
|
||||
tsql = "SELECT MIN(mld_melding_key) mld_melding_key, COUNT(*) aantal"
|
||||
+ " FROM mld_melding"
|
||||
+ " WHERE mld_melding_externnr ="+ safe.quoted_sql(ext_id);
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
if (oRs("aantal").value == 1)
|
||||
{
|
||||
mld_key = oRs("mld_melding_key").value;
|
||||
meldaction = "update";
|
||||
}
|
||||
else
|
||||
{
|
||||
meldaction = "insert";
|
||||
}
|
||||
}
|
||||
else if (meldaction == "update")
|
||||
{
|
||||
// Kijk of er een melding bestaat met dit externe nummer.
|
||||
// Ben je bang dat het nummer vaker voorkomt dan kun je deze prefixen in de xsl
|
||||
tsql = "SELECT MIN(mld_melding_key) mld_melding_key, COUNT(*) aantal"
|
||||
+ " FROM mld_melding"
|
||||
+ " WHERE mld_melding_externnr ="+ safe.quoted_sql(ext_id);
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
if (oRs("aantal").value == 1)
|
||||
{
|
||||
mld_key = oRs("mld_melding_key").value;
|
||||
}
|
||||
}
|
||||
|
||||
if (ext_id == null)
|
||||
{
|
||||
resultcode = 1;
|
||||
resulttekst = "Undefined external ID (key)";
|
||||
}
|
||||
else if (meldaction != "insert" && meldaction != "update")
|
||||
else if (meldaction != 'insert')
|
||||
{
|
||||
resultcode = 2;
|
||||
resulttekst = "Undefined operation (type)";
|
||||
}
|
||||
else
|
||||
{
|
||||
// voor zowel insert als update:
|
||||
|
||||
var voor_key = -1;
|
||||
var perslid_key = -1;
|
||||
if (voor_login != null)
|
||||
tsql = "SELECT sm.mld_stdmelding_t_uitvoertijd.tijdsduur tijdsduur"
|
||||
+ " , sm.mld_stdmelding_t_uitvoertijd.eenheid eenheid"
|
||||
+ " FROM mld_stdmelding sm"
|
||||
+ " WHERE sm.mld_stdmelding_key = " + stdmld_key
|
||||
+ " AND sm.mld_stdmelding_verwijder IS NULL";
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
if (oRs.eof)
|
||||
{
|
||||
// Zoek de voorkey op aan de hand van het emailadres
|
||||
tsql = "SELECT prs_perslid_key "
|
||||
+ " FROM prs_v_aanwezigperslid "
|
||||
+ " WHERE prs_perslid_oslogin = UPPER(" + safe.quoted_sql(voor_login) + ")";
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
voor_key = oRs("prs_perslid_key").value;
|
||||
}
|
||||
}
|
||||
if (voor_email != null && voor_key == -1)
|
||||
{
|
||||
// Zoek de voorkey op aan de hand van het emailadres
|
||||
tsql = "SELECT prs_perslid_key "
|
||||
+ " FROM prs_v_aanwezigperslid "
|
||||
+ " WHERE UPPER(prs_perslid_email) = UPPER(" + safe.quoted_sql(voor_email) + ")";
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
voor_key = oRs("prs_perslid_key").value;
|
||||
}
|
||||
}
|
||||
if (voor_key == -1)
|
||||
{
|
||||
voor_key = user_key;
|
||||
perslid_key = user_key;
|
||||
resultcode = 3;
|
||||
resulttekst = "Undefined stdmelding";
|
||||
}
|
||||
else
|
||||
{
|
||||
if (S("mld_allow_for_others") == 1)
|
||||
{
|
||||
perslid_key = user_key;
|
||||
}
|
||||
else
|
||||
{
|
||||
perslid_key = voor_key;
|
||||
}
|
||||
}
|
||||
// einde gezamelijke data (insert && update)
|
||||
if (meldaction == "update")
|
||||
{
|
||||
if (mld_key == -1)
|
||||
{ // Hier heb ik een geldige mld_stdmelding_key.
|
||||
stdmld_sla_tijdsduur = oRs("tijdsduur").value;
|
||||
stdmld_sla_eenheid = oRs("eenheid").value;
|
||||
|
||||
fields.push({ dbs: "mld_stdmelding_key", typ: "key", val: stdmld_key });
|
||||
fields.push({ dbs: "mld_melding_t_uitvoertijd.tijdsduur", typ: "number", val: stdmld_sla_tijdsduur, obj: "MLD_T_UITVOERTIJD" });
|
||||
fields.push({ dbs: "mld_melding_t_uitvoertijd.eenheid", typ: "varchar", val: stdmld_sla_eenheid, obj: "MLD_T_UITVOERTIJD" });
|
||||
if (melddatum != null)
|
||||
{
|
||||
resultcode = 4;
|
||||
resulttekst = "Undefined melding_key";
|
||||
try
|
||||
{
|
||||
var meldaanmaakdate = XMLtoJsDate(melddatum);
|
||||
fields.push({ dbs: "mld_melding_datum", typ: "datetime", val: meldaanmaakdate });
|
||||
}
|
||||
catch (e)
|
||||
{ // Verkeerde datum-formaat, volgens spec. dan now gebruiken!
|
||||
__DoLog("Formaat ontvangen XML-datum incorrect: "+ melddatum, "#00FF00");
|
||||
meldaanmaakdate = now;
|
||||
fields.push({ dbs: "mld_melding_datum", typ: "datetime", val: meldaanmaakdate });
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
if (einddatum != null)
|
||||
{
|
||||
var mld_datum;
|
||||
tsql = "SELECT mld_melding_datum"
|
||||
+ " , mld_stdmelding_key"
|
||||
+ " FROM mld_melding"
|
||||
+ " WHERE mld_melding_key = " + mld_key;
|
||||
oRs = Oracle.Execute(tsql);
|
||||
if (!oRs.EOF)
|
||||
{
|
||||
mld_datum = oRs("mld_melding_datum").value;
|
||||
stdmld_key = oRs("mld_stdmelding_key").value; // overwrite de xml-node
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
try
|
||||
{
|
||||
var meldeinddate = XMLtoJsDate(einddatum);
|
||||
if (meldeinddate > mld_datum)
|
||||
{
|
||||
fields.push({ dbs: "mld_melding_einddatum", typ: "datetime", val: meldeinddate, track: L("lcl_mld_enddate") });
|
||||
}
|
||||
else
|
||||
{
|
||||
// Ontvangen XML-einddatum voor begindatum, dan later volgens SLA zetten!
|
||||
__DoLog("Ontvangen XML-einddatum voor begindatum: "+ einddatum, "#00FF00");
|
||||
}
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
// Verkeerde datum-formaat, dan later volgens SLA zetten!
|
||||
__DoLog("Formaat ontvangen XML-einddatum incorrect: "+ einddatum, "#00FF00");
|
||||
}
|
||||
}
|
||||
|
||||
if (meld_kpn && meld_kpn != "")
|
||||
{
|
||||
var kpn_key = getKpn(meld_kpn);
|
||||
if (kpn_key != -1)
|
||||
fields.push({ dbs: "prs_kostenplaats_key", typ: "key", val: kpn_key, track: L("lcl_mld_inf_Kostenplaats"), foreign: "prs_kostenplaats"});
|
||||
}
|
||||
|
||||
if (meld_opm)
|
||||
fields.push({ dbs: "mld_melding_opmerking", typ: "varchar", val: meld_opm, track: L("lcl_mld_inf_Opmerking"), len: 4000 });
|
||||
|
||||
if (meld_oms)
|
||||
fields.push({ dbs: "mld_melding_omschrijving", typ: "varchar", val: meld_oms, track: L("lcl_mld_inf_Omschrijving"), len: 4000 });
|
||||
|
||||
if (fields.length>0)
|
||||
{
|
||||
var mldUpd = buildTrackingUpdate("mld_melding", "mld_melding_key = " + mld_key, fields, { noValidateToken: true });
|
||||
Oracle.Execute(mldUpd.sql);
|
||||
mld.trackmeldingupdate(mld_key, L("lcl_mld_is_updatedbysoap").format(mld_key) + "\n" + mldUpd.trackarray.join("\n"));
|
||||
}
|
||||
|
||||
// De kenmerken.
|
||||
upsertKenmerk(mldkenmerken, stdmld_key, mld_key);
|
||||
fields.push({ dbs: "mld_melding_datum", typ: "datetime", val: now });
|
||||
}
|
||||
// De einddatum is de meegegeven einddatum, maar als die niet wordt meegegeven is het
|
||||
// gewoon enddate_std en dat regelt de trigger wel, dus DAN MOET IK HEM NIET MEEGEVEN
|
||||
if (einddatum != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
var meldeinddate = XMLtoJsDate(einddatum);
|
||||
if (meldeinddate > meldaanmaakdate)
|
||||
{
|
||||
fields.push({ dbs: "mld_melding_einddatum", typ: "datetime", val: meldeinddate });
|
||||
}
|
||||
else
|
||||
{
|
||||
// Ontvangen XML-einddatum voor begindatum, dan later volgens SLA zetten!
|
||||
__DoLog("Ontvangen XML-einddatum voor begindatum: "+ einddatum, "#00FF00");
|
||||
}
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
// Verkeerde datum-formaat, dan later volgens SLA zetten!
|
||||
__DoLog("Formaat ontvangen XML-einddatum incorrect: "+ einddatum, "#00FF00");
|
||||
}
|
||||
}
|
||||
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze melding.
|
||||
} // einde update
|
||||
else if (meldaction == "insert")
|
||||
{
|
||||
|
||||
tsql = "SELECT 1"
|
||||
+ " FROM mld_stdmelding sm"
|
||||
+ " WHERE sm.mld_stdmelding_key = " + (stdmld_key || -1)
|
||||
+ " AND sm.mld_stdmelding_verwijder IS NULL";
|
||||
tsql = "SELECT alg_locatie_key "
|
||||
+ " FROM alg_v_aanweziglocatie"
|
||||
+ " WHERE alg_locatie_code="+ safe.quoted_sql(meldloc);
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
if (oRs.eof)
|
||||
if (!oRs.eof)
|
||||
{
|
||||
resultcode = 3;
|
||||
resulttekst = "Undefined stdmelding";
|
||||
}
|
||||
else
|
||||
{ // vanaf hier heb ik een geldige stdmld_key
|
||||
locatie_key = oRs("alg_locatie_key").value;
|
||||
fields.push({ dbs: "mld_alg_locatie_key", typ: "key", val: locatie_key });
|
||||
|
||||
var stdm_info = mld.mld_stdmeldinginfo(stdmld_key);
|
||||
|
||||
var stdmld_sla_tijdsduur = stdm_info.prioriteiten[3].uitvoertijd;
|
||||
var stdmld_sla_eenheid = stdm_info.prioriteiten[3].eenheid;
|
||||
var stdmld_niveau = stdm_info.alg_onrgoed_niveau; // required niveau
|
||||
var alglevel_ok = !stdm_info.ins_srtdiscipline_alg || !stdmld_niveau; // Zonder niveau altijd goed
|
||||
|
||||
fields.push({ dbs: "mld_stdmelding_key", typ: "key", val: stdmld_key });
|
||||
fields.push({ dbs: "mld_melding_t_uitvoertijd.tijdsduur", typ: "number", val: stdmld_sla_tijdsduur, obj: "MLD_T_UITVOERTIJD" });
|
||||
fields.push({ dbs: "mld_melding_t_uitvoertijd.eenheid", typ: "varchar", val: stdmld_sla_eenheid, obj: "MLD_T_UITVOERTIJD" });
|
||||
if (melddatum != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
var meldaanmaakdate = XMLtoJsDate(melddatum);
|
||||
fields.push({ dbs: "mld_melding_datum", typ: "datetime", val: meldaanmaakdate });
|
||||
}
|
||||
catch (e)
|
||||
{ // Verkeerde datum-formaat, volgens spec. dan now gebruiken!
|
||||
__DoLog("Formaat ontvangen XML-datum incorrect: "+ melddatum, "#00FF00");
|
||||
meldaanmaakdate = now;
|
||||
fields.push({ dbs: "mld_melding_datum", typ: "datetime", val: meldaanmaakdate });
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
fields.push({ dbs: "mld_melding_datum", typ: "datetime", val: now });
|
||||
}
|
||||
// De einddatum is de meegegeven einddatum, maar als die niet wordt meegegeven is het
|
||||
// gewoon enddate_std en dat regelt de trigger wel, dus DAN MOET IK HEM NIET MEEGEVEN
|
||||
if (einddatum != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
var meldeinddate = XMLtoJsDate(einddatum);
|
||||
if (meldeinddate > meldaanmaakdate)
|
||||
{
|
||||
fields.push({ dbs: "mld_melding_einddatum", typ: "datetime", val: meldeinddate });
|
||||
}
|
||||
else
|
||||
{
|
||||
// Ontvangen XML-einddatum voor begindatum, dan later volgens SLA zetten!
|
||||
__DoLog("Ontvangen XML-einddatum voor begindatum: "+ einddatum, "#00FF00");
|
||||
}
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
// Verkeerde datum-formaat, dan later volgens SLA zetten!
|
||||
__DoLog("Formaat ontvangen XML-einddatum incorrect: "+ einddatum, "#00FF00");
|
||||
}
|
||||
}
|
||||
|
||||
tsql = "SELECT alg_locatie_key "
|
||||
+ " FROM alg_v_aanweziglocatie"
|
||||
+ " WHERE alg_locatie_code="+ safe.quoted_sql(meldloc);
|
||||
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 = Oracle.Execute(tsql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
alglevel_ok = alglevel_ok || stdmld_niveau == "L";
|
||||
locatie_key = oRs("alg_locatie_key").value;
|
||||
fields.push({ dbs: "mld_alg_locatie_key", typ: "key", val: locatie_key });
|
||||
plaats_key = oRs("alg_gebouw_key").value;
|
||||
|
||||
tsql = "SELECT alg_gebouw_key "
|
||||
+ " FROM alg_v_aanweziggebouw"
|
||||
+ " WHERE alg_locatie_key ="+ locatie_key
|
||||
+ " AND alg_gebouw_code="+ safe.quoted_sql(meldgeb);
|
||||
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 = Oracle.Execute(tsql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
alglevel_ok = alglevel_ok || stdmld_niveau == "G";
|
||||
plaats_key = oRs("alg_gebouw_key").value;
|
||||
plaats_key = oRs("alg_verdieping_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);
|
||||
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 = Oracle.Execute(tsql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
alglevel_ok = alglevel_ok || stdmld_niveau == "V";
|
||||
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 = Oracle.Execute(tsql);
|
||||
if (!oRs.eof) {
|
||||
alglevel_ok = alglevel_ok || stdmld_niveau == "R";
|
||||
plaats_key = oRs("alg_ruimte_key").value;
|
||||
}
|
||||
if (!oRs.eof) {
|
||||
plaats_key = oRs("alg_ruimte_key").value;
|
||||
}
|
||||
}
|
||||
|
||||
if (plaats_key != -1)
|
||||
{
|
||||
fields.push({ dbs: "mld_alg_onroerendgoed_keys", typ: "key", val: plaats_key });
|
||||
}
|
||||
}
|
||||
if (!alglevel_ok)
|
||||
|
||||
if (plaats_key != -1)
|
||||
{
|
||||
resultcode = 5;
|
||||
resulttekst = "Location not found";
|
||||
__DoLog(resulttekst, "#00FF00");
|
||||
fields.push({ dbs: "mld_alg_onroerendgoed_keys", typ: "key", val: plaats_key });
|
||||
}
|
||||
}
|
||||
|
||||
var kpn_key = user.afdeling().prs_kostenplaats_key();
|
||||
if (meld_kpn && meld_kpn != "")
|
||||
fields = fields.concat(
|
||||
[ { dbs: "mld_melding_key", typ: "key", seq: "mld_s_mld_melding_key" },
|
||||
{ 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: "prs_kostenplaats_key", typ: "key", val: user.afdeling().prs_kostenplaats_key() },
|
||||
{ dbs: "prs_perslid_key", typ: "key", val: user_key },
|
||||
{ dbs: "prs_perslid_key_voor", typ: "key", val: user_key },
|
||||
{ dbs: "mld_melding_spoed", typ: "key", val: 3 }, // default (frontend) = 3
|
||||
{ dbs: "mld_melding_externnr", typ: "varchar", val: ext_id, len: 30 }
|
||||
]);
|
||||
|
||||
// We weten wat te inserten, nu nog uitvoeren; rechten voldoende afgedekt via MLDUSE-check hierboven?
|
||||
|
||||
if (resultcode == -1)
|
||||
{ // nog steeds geen fouten
|
||||
var mldIns = buildInsert("mld_melding", fields, { noValidateToken: true });
|
||||
mld_key = mldIns.sequences["mld_melding_key"];
|
||||
|
||||
sql = mldIns.sql;
|
||||
oRs = Oracle.Execute(sql);
|
||||
|
||||
// Zetten van de status op ingevoerd en afhandelen van de tracking.
|
||||
mld.setmeldingstatus(mld_key, 2); // Zorgt ook voor tracking & daarmee notificatie.
|
||||
|
||||
// Eventuele (gewijzigde) objecten zijn nu ook opgeslagen. Nu kan de definitieve mld_melding.mld_melding_einddatum_std bepaald en gezet worden.
|
||||
//mld.updatestdeinddatum(mld_key); // Unsupported yet. So update of mld_melding_einddatum_std not needed yet.
|
||||
|
||||
// De kenmerken.
|
||||
for (j=0; j < mldkenmerken.length; j++)
|
||||
{
|
||||
var tempKpn = getKpn(meld_kpn);
|
||||
if (tempKpn != -1)
|
||||
kpn_key = tempKpn;
|
||||
}
|
||||
var kenmerk_naam = mldkenmerken[j].getAttribute("naam");
|
||||
if (mldkenmerken[j].childNodes.length > 0)
|
||||
var kenmerk_waarde = mldkenmerken[j].childNodes[0].nodeValue;
|
||||
else
|
||||
var kenmerk_waarde = "";
|
||||
//Response.Write(kenmerk_naam);
|
||||
//Response.Write(kenmerk_waarde);
|
||||
// Zoek het kenmerk op naam terug
|
||||
ksql = "SELECT k.mld_kenmerk_key, sk.mld_srtkenmerk_kenmerktype, sk.mld_srtkenmerk_lengte "
|
||||
+ " FROM mld_kenmerk k"
|
||||
+ " , mld_srtkenmerk sk"
|
||||
+ " , mld_stdmelding s"
|
||||
+ " , mld_discipline d"
|
||||
+ " WHERE s.mld_ins_discipline_key = d.ins_discipline_key"
|
||||
+ " AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key "
|
||||
+ " AND k.mld_kenmerk_verwijder IS NULL "
|
||||
+ " AND sk.mld_srtkenmerk_upper = " + safe.quoted_sql_upper(kenmerk_naam)
|
||||
+ " AND s.mld_ins_discipline_key = d.ins_discipline_key"
|
||||
+ " AND s.mld_stdmelding_key = " + stdmld_key
|
||||
+ " AND ((k.mld_stdmelding_key = s.mld_stdmelding_key AND k.mld_kenmerk_niveau = 'S')"
|
||||
+ " OR (k.mld_stdmelding_key = s.mld_ins_discipline_key AND k.mld_kenmerk_niveau = 'D')"
|
||||
+ " OR (k.mld_stdmelding_key = d.ins_srtdiscipline_key AND k.mld_kenmerk_niveau = 'T'))";
|
||||
|
||||
fields = fields.concat(
|
||||
[ { dbs: "mld_melding_key", typ: "key", seq: "mld_s_mld_melding_key" },
|
||||
{ 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: "prs_kostenplaats_key", typ: "key", val: kpn_key },
|
||||
{ dbs: "prs_perslid_key", typ: "key", val: perslid_key },
|
||||
{ dbs: "prs_perslid_key_voor", typ: "key", val: voor_key },
|
||||
{ dbs: "mld_melding_spoed", typ: "key", val: 3 }, // default (frontend) = 3
|
||||
{ dbs: "mld_melding_externnr", typ: "varchar", val: ext_id, len: 30 }
|
||||
]);
|
||||
var oRs = Oracle.Execute(ksql);
|
||||
|
||||
// We weten wat te inserten, nu nog uitvoeren; rechten voldoende afgedekt via MLDUSE-check hierboven?
|
||||
|
||||
if (resultcode == -1)
|
||||
{ // nog steeds geen fouten
|
||||
var mldIns = buildInsert("mld_melding", fields, { noValidateToken: true });
|
||||
mld_key = mldIns.sequences["mld_melding_key"];
|
||||
|
||||
sql = mldIns.sql;
|
||||
oRs = Oracle.Execute(sql);
|
||||
|
||||
// Zetten van de status op ingevoerd en afhandelen van de tracking.
|
||||
mld.setmeldingstatus(mld_key, 2); // Zorgt ook voor tracking & daarmee notificatie.
|
||||
|
||||
// Eventuele (gewijzigde) objecten zijn nu ook opgeslagen. Nu kan de definitieve mld_melding.mld_melding_einddatum_std bepaald en gezet worden.
|
||||
//mld.updatestdeinddatum(mld_key); // Unsupported yet. So update of mld_melding_einddatum_std not needed yet.
|
||||
|
||||
// De kenmerken.
|
||||
upsertKenmerk(mldkenmerken, stdmld_key, mld_key);
|
||||
|
||||
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze melding.
|
||||
// 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();
|
||||
if (!custfunc.mld_postsave(mld_key, pResult))
|
||||
if (!oRs.eof)
|
||||
{
|
||||
__DoLog(pResult.errmsg, "#00FF00");
|
||||
}
|
||||
// De hookfunctie kan de stdmelding aanpassen.
|
||||
if (pResult.stdmld_key)
|
||||
{
|
||||
// check de paden van de flexfiles als de stdmeldingkey aangepast is
|
||||
mld.keepFlexDocuments(mld_key, stdmld_key, pResult.stdmld_key);
|
||||
var kenmerk_key = oRs("mld_kenmerk_key").value;
|
||||
var kenmerk_type = oRs("mld_srtkenmerk_kenmerktype").value;
|
||||
var kenmerk_lengte = oRs("mld_srtkenmerk_lengte").value;
|
||||
|
||||
ksql = "SELECT km.mld_kenmerkmelding_key "
|
||||
+ " FROM mld_kenmerkmelding km "
|
||||
+ " WHERE km.mld_melding_key = " + mld_key
|
||||
+ " AND km.mld_kenmerk_key = " + kenmerk_key;
|
||||
var oRs = Oracle.Execute(ksql);
|
||||
|
||||
switch (kenmerk_type)
|
||||
{
|
||||
case 'C':
|
||||
{
|
||||
// we ondersteunen alleen nog maar karakter velden.
|
||||
if (!oRs.eof)
|
||||
{
|
||||
var kenmerkmelding_key = oRs("mld_kenmerkmelding_key").value;
|
||||
ksql = "UPDATE mld_kenmerkmelding"
|
||||
+ " SET mld_kenmerkmelding_waarde = " + safe.quoted_sql(kenmerk_waarde)
|
||||
+ " WHERE mld_kenmerkmelding_key = " + kenmerkmelding_key;
|
||||
}
|
||||
else
|
||||
{
|
||||
ksql = "INSERT INTO mld_kenmerkmelding (mld_kenmerk_key, mld_melding_key, mld_kenmerkmelding_waarde) "
|
||||
+ "VALUES (" + kenmerk_key + ", " + mld_key + ", " + safe.quoted_sql(kenmerk_waarde) + ")";
|
||||
}
|
||||
Oracle.Execute(ksql);
|
||||
break;
|
||||
}
|
||||
case 'N':
|
||||
{
|
||||
// we ondersteunen alleen nog maar karakter velden.
|
||||
if (!oRs.eof)
|
||||
{
|
||||
var kenmerkmelding_key = oRs("mld_kenmerkmelding_key").value;
|
||||
ksql = "UPDATE mld_kenmerkmelding"
|
||||
+ " SET mld_kenmerkmelding_waarde = " + safe.quoted_sql(kenmerk_waarde)
|
||||
+ " WHERE mld_kenmerkmelding_key = " + kenmerkmelding_key;
|
||||
}
|
||||
else
|
||||
{
|
||||
ksql = "INSERT INTO mld_kenmerkmelding (mld_kenmerk_key, mld_melding_key, mld_kenmerkmelding_waarde) "
|
||||
+ "VALUES (" + kenmerk_key + ", " + mld_key + ", " + safe.quoted_sql(kenmerk_waarde) + ")";
|
||||
}
|
||||
Oracle.Execute(ksql);
|
||||
break;
|
||||
}
|
||||
case "M": // Folder met bijlagen
|
||||
{
|
||||
//Response.Write(kenmerk_naam);
|
||||
var bijlagen = mldkenmerken[j].getElementsByTagName("bijlage");
|
||||
var bi;
|
||||
for (bi = 0; bi < bijlagen.length; bi++)
|
||||
{
|
||||
var Attachment = XMLval(bijlagen[bi], "attachment");
|
||||
var Name = XMLval(bijlagen[bi], "name");
|
||||
var Size = XMLval(bijlagen[bi], "size");
|
||||
//Response.Write("Name: " + Name + " size: " + Size);
|
||||
if (Attachment && Name && Size)
|
||||
{
|
||||
var SafeName = safe.filename(Name);
|
||||
var params = flexProps("MLD", mld_key, String(kenmerk_key), "M");
|
||||
if (!params.isAllowedName(SafeName))
|
||||
{
|
||||
__DoLog("Unsafe SOAP file '{0}' ignored.".format(SafeName), "#FFFF00");
|
||||
}
|
||||
else
|
||||
{
|
||||
__Log("Start saving: " + params.AttachPath + SafeName);
|
||||
CreateFullPath(params.AttachPath);
|
||||
encodedString2File(params.AttachPath + SafeName, Attachment, "bin.hex");
|
||||
__Log("Done saving: " + params.AttachPath + SafeName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
}
|
||||
} // end geldige stdmld_key
|
||||
} // end insert
|
||||
|
||||
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze melding.
|
||||
// En nog maar even de aanname dat een extern systeem niet aan workflows/ktos doet?
|
||||
}
|
||||
} // end geldige stdmld_key
|
||||
} // end geldige ext_id
|
||||
|
||||
if (resultcode > 0)
|
||||
__DoLog("api_mldsoap fail.\nResultcode: {0}\nReturntekst: {1}".format(resultcode, resulttekst), "#00FF00");
|
||||
|
||||
var binfo = {returncode: resultcode,
|
||||
returntekst: resulttekst,
|
||||
// executed:sql, // debug
|
||||
@@ -482,134 +393,6 @@ for (i = 0; i < meldingen.length; i++)
|
||||
} // end for
|
||||
// Alle melding-nodes zijn behandeld.
|
||||
|
||||
function getKpn(meld_kpn)
|
||||
{
|
||||
if (!meld_kpn)
|
||||
return -1;
|
||||
|
||||
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;
|
||||
|
||||
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 oRs = Oracle.Execute(temp_sql);
|
||||
if (!oRs.EoF)
|
||||
return oRs("prs_kostenplaats_key").Value;
|
||||
oRs.Close();
|
||||
return -1;
|
||||
}
|
||||
|
||||
function upsertKenmerk(kenmerken, stdmld_key, mld_key)
|
||||
{
|
||||
for (j=0; j < kenmerken.length; j++)
|
||||
{
|
||||
var kenmerk_naam = kenmerken[j].getAttribute("naam");
|
||||
if (kenmerken[j].childNodes.length > 0)
|
||||
var kenmerk_waarde = kenmerken[j].childNodes[0].nodeValue;
|
||||
else
|
||||
var kenmerk_waarde = "";
|
||||
|
||||
// Zoek het kenmerk op naam terug
|
||||
ksql = "SELECT k.mld_kenmerk_key, sk.mld_srtkenmerk_kenmerktype, sk.mld_srtkenmerk_lengte "
|
||||
+ " FROM mld_kenmerk k"
|
||||
+ " , mld_srtkenmerk sk"
|
||||
+ " , mld_stdmelding s"
|
||||
+ " , mld_discipline d"
|
||||
+ " WHERE s.mld_ins_discipline_key = d.ins_discipline_key"
|
||||
+ " AND k.mld_srtkenmerk_key = sk.mld_srtkenmerk_key "
|
||||
+ " AND k.mld_kenmerk_verwijder IS NULL "
|
||||
+ " AND sk.mld_srtkenmerk_upper = " + safe.quoted_sql_upper(kenmerk_naam)
|
||||
+ " AND s.mld_ins_discipline_key = d.ins_discipline_key"
|
||||
+ " AND s.mld_stdmelding_key = " + stdmld_key
|
||||
+ " AND ((k.mld_stdmelding_key = s.mld_stdmelding_key AND k.mld_kenmerk_niveau = 'S')"
|
||||
+ " OR (k.mld_stdmelding_key = s.mld_ins_discipline_key AND k.mld_kenmerk_niveau = 'D')"
|
||||
+ " OR (k.mld_stdmelding_key = d.ins_srtdiscipline_key AND k.mld_kenmerk_niveau = 'T'))";
|
||||
|
||||
var oRs = Oracle.Execute(ksql);
|
||||
|
||||
if (!oRs.eof)
|
||||
{
|
||||
var kenmerk_key = oRs("mld_kenmerk_key").value;
|
||||
var kenmerk_type = oRs("mld_srtkenmerk_kenmerktype").value;
|
||||
// var kenmerk_lengte = oRs("mld_srtkenmerk_lengte").value; // unsupported yet?
|
||||
|
||||
var temp_sql = "SELECT km.mld_kenmerkmelding_key "
|
||||
+ " FROM mld_kenmerkmelding km "
|
||||
+ " WHERE km.mld_melding_key = " + mld_key
|
||||
+ " AND km.mld_kenmerk_key = " + kenmerk_key;
|
||||
var oRs = Oracle.Execute(temp_sql);
|
||||
|
||||
switch (kenmerk_type)
|
||||
{
|
||||
case 'C':
|
||||
case 'X':
|
||||
case 'N':
|
||||
{
|
||||
// we ondersteunen alleen nog maar karakter velden.
|
||||
if (!oRs.eof)
|
||||
{
|
||||
var kenmerkmelding_key = oRs("mld_kenmerkmelding_key").value;
|
||||
ksql = "UPDATE mld_kenmerkmelding"
|
||||
+ " SET mld_kenmerkmelding_waarde = " + safe.quoted_sql(kenmerk_waarde)
|
||||
+ " WHERE mld_kenmerkmelding_key = " + kenmerkmelding_key;
|
||||
}
|
||||
else
|
||||
{
|
||||
ksql = "INSERT INTO mld_kenmerkmelding (mld_kenmerk_key, mld_melding_key, mld_kenmerkmelding_waarde) "
|
||||
+ "VALUES (" + kenmerk_key + ", " + mld_key + ", " + safe.quoted_sql(kenmerk_waarde) + ")";
|
||||
}
|
||||
Oracle.Execute(ksql);
|
||||
break;
|
||||
}
|
||||
case "M": // Folder met bijlagen
|
||||
{
|
||||
//Response.Write(kenmerk_naam);
|
||||
var bijlagen = kenmerken[j].getElementsByTagName("bijlage");
|
||||
var bi;
|
||||
for (bi = 0; bi < bijlagen.length; bi++)
|
||||
{
|
||||
var Attachment = XMLval(bijlagen[bi], "attachment");
|
||||
var Name = XMLval(bijlagen[bi], "name");
|
||||
var Size = XMLval(bijlagen[bi], "size");
|
||||
//Response.Write("Name: " + Name + " size: " + Size);
|
||||
if (Attachment && Name && Size)
|
||||
{
|
||||
var SafeName = safe.filename(Name);
|
||||
var params = flexProps("MLD", mld_key, String(kenmerk_key), "M");
|
||||
if (!params.isAllowedName(SafeName))
|
||||
{
|
||||
__DoLog("Unsafe SOAP file '{0}' ignored.".format(SafeName), "#FFFF00");
|
||||
}
|
||||
else
|
||||
{
|
||||
__Log("Start saving: " + params.AttachPath + SafeName);
|
||||
CreateFullPath(params.AttachPath);
|
||||
encodedString2File(params.AttachPath + SafeName, Attachment, "bin.hex");
|
||||
__Log("Done saving: " + params.AttachPath + SafeName);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
xmlResp.appendChild(FCLTElement);
|
||||
|
||||
if (API.apidata.stylesheet)
|
||||
|
||||
@@ -50,19 +50,17 @@ if ("MLDremark" in API.apidata.options)
|
||||
if ("ORDremark" in API.apidata.options)
|
||||
ORDremark = API.apidata.options["ORDremark"];
|
||||
|
||||
if (API.apidata.loglevel > 1) // Zet maar op 3 als je HTML logging wilt
|
||||
Session("logging") = API.apidata.loglevel||0;
|
||||
|
||||
//user.checkAutorisation("WEB_MLDUSE"); // Dit is nog ongeacht de melding.
|
||||
|
||||
var tsql = "-"; // Voor tijdelijke statement.
|
||||
var sql = "-"; // De uiteindelijke insert/update-sql.
|
||||
var xmlReq = Server.CreateObject("MSXML2.DOMDocument.6.0");
|
||||
|
||||
//if (API.apidata.loglevel) __Log2File(Request, API.APIname + "_IN1");
|
||||
|
||||
if (API.apidata.stylesheet)
|
||||
{
|
||||
var iXsl = Server.CreateObject("MSXML2.DOMDocument.6.0");
|
||||
iXsl.resolveExternals = true; // XSL kan includes hebben
|
||||
|
||||
if( ! iXsl.load(Server.MapPath(API.apidata.stylesheet)) )
|
||||
{
|
||||
API.error("Could not load XSL " + API.apidata.stylesheet + "\n" + iXsl.parseError.reason);
|
||||
@@ -84,18 +82,7 @@ if (API.apidata.stylesheet)
|
||||
inputXML.transformNodeToObject(iXsl, xmlReq);
|
||||
}
|
||||
else
|
||||
{
|
||||
xmlReq.load(Request);
|
||||
if (xmlReq.parseError.errorCode != 0)
|
||||
{
|
||||
__DoLog( "Error loading XML: "
|
||||
+ xmlReq.parseError.errorCode
|
||||
+ "\n" + xmlReq.parseError.reason
|
||||
+ " regel " + xmlReq.parseError.line
|
||||
+ "(" + xmlReq.parseError.linepos + ")"
|
||||
, "#ff0000");
|
||||
}
|
||||
}
|
||||
|
||||
if (API.apidata.loglevel) __Log2File(xmlReq.xml, API.APIname + "_TUSSEN");
|
||||
|
||||
@@ -145,18 +132,12 @@ for (i=0; i < opdrachten.length; i++)
|
||||
var opdraction = opdrachten[i].getAttribute("type").toLowerCase(); // NEW/UPD
|
||||
|
||||
var externnr = XMLval(opdrachten[i], "externnr"); // NEW
|
||||
var externopdrnr = XMLval(opdrachten[i], "externopdrnr");
|
||||
var plandatum = XMLval(opdrachten[i], "plandatum");
|
||||
var voor_key = parseInt(XMLval(opdrachten[i], "voor"), 10); // NEW
|
||||
var voor_email = XMLval(opdrachten[i], "voor_email"); // NEW
|
||||
var stdm_key = parseInt(XMLval(opdrachten[i], "stdmelding_key"), 10); // NEW
|
||||
var topdr_key = parseInt(XMLval(opdrachten[i], "typeopdr_key"), 10); // NEW
|
||||
var uitv_key = parseInt(XMLval(opdrachten[i], "bedrijf_key"), 10); // NEW
|
||||
var opdrachttekst = XMLval(opdrachten[i], "opdrachttekst"); // NEW
|
||||
var meldingtekst = XMLval(opdrachten[i], "meldingtekst"); // NEW
|
||||
var onderwerp = XMLval(opdrachten[i], "onderwerp"); // NEW
|
||||
var opdr_kpn = XMLval(opdrachten[i], "kostenplaats");
|
||||
var flag = parseInt(XMLval(opdrachten[i], "flag"), 10);
|
||||
|
||||
var txt_mut_datum = XMLval(opdrachten[i], "mut_datum"); // UPD
|
||||
var opdrstatus = XMLval(opdrachten[i], "status"); // UPD
|
||||
@@ -182,43 +163,6 @@ for (i=0; i < opdrachten.length; i++)
|
||||
{ // Voorkom problemen als externnr-node ontbreekt/leeg!
|
||||
externnr = '';
|
||||
}
|
||||
if (externopdrnr == null)
|
||||
{ // Voorkom problemen als externopdrnr-node ontbreekt/leeg!
|
||||
externopdrnr = '';
|
||||
}
|
||||
if (voor_email == null)
|
||||
{ // Voorkom problemen als het emailadres ontbreekt/leeg!
|
||||
voor_email = '';
|
||||
}
|
||||
|
||||
// Zoek de voorkey op aan de hand van het emailadres
|
||||
tsql = "SELECT prs_perslid_key "
|
||||
+ " FROM prs_v_aanwezigperslid "
|
||||
+ " WHERE UPPER(prs_perslid_email) = UPPER(" + safe.quoted_sql(voor_email) + ")";
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
if (!oRs.eof)
|
||||
{
|
||||
voor_key = oRs("prs_perslid_key").value;
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
// Kijk of er een opdracht bestaat met dit externe opdracht nummer.
|
||||
// Ben je bang dat het nummer vaker voorkomt dan kun je deze prefixen in de xsl
|
||||
tsql = "SELECT MIN(mld_opdr_key) mld_opdr_key, COUNT(*) aantal"
|
||||
+ " FROM mld_opdr"
|
||||
+ " WHERE mld_opdr_id ="+ safe.quoted_sql(externopdrnr);
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
if (oRs("aantal").value == 1)
|
||||
{
|
||||
tsql = "SELECT mld_melding_key || '/' || mld_opdr_bedrijfopdr_volgnr mld_opdr_nr"
|
||||
+ " FROM mld_opdr"
|
||||
+ " WHERE mld_opdr_key ="+ oRs("mld_opdr_key").value;
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
opdrid = oRs("mld_opdr_nr").value;
|
||||
// Als het externe opdracht nummer al bestaat weten we zeker dat het om een update gaat.
|
||||
opdraction = "update";
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
if (opdraction == "insert")
|
||||
{
|
||||
@@ -250,12 +194,6 @@ for (i=0; i < opdrachten.length; i++)
|
||||
resulttekst = "Undefined stdmelding " + stdm_key;
|
||||
}
|
||||
|
||||
if (isNaN(voor_key))
|
||||
{
|
||||
resultcode = 3;
|
||||
resulttekst = "Undefined 'voor': " + voor_email;
|
||||
}
|
||||
|
||||
// Hier heb ik een geldige stdm_key.
|
||||
if (resultcode == -1) // Nog steeds geen fouten.
|
||||
{ // Bepaal kostenplaats via voor-user
|
||||
@@ -283,49 +221,15 @@ for (i=0; i < opdrachten.length; i++)
|
||||
__Log("Uitsluitend gemandateerd voor kostenplaats: " + kpn_nr);
|
||||
}
|
||||
}
|
||||
|
||||
if (opdr_kpn && opdr_kpn != "")
|
||||
{
|
||||
tsql = "SELECT prs_kostenplaats_key"
|
||||
+ " FROM prs_kostenplaats"
|
||||
+ " WHERE prs_kostenplaats_verwijder IS NULL"
|
||||
+ " AND (prs_kostenplaats_begin IS NULL"
|
||||
+ " OR prs_kostenplaats_begin < SYSDATE)"
|
||||
+ " AND (prs_kostenplaats_eind IS NULL"
|
||||
+ " OR prs_kostenplaats_eind > SYSDATE)"
|
||||
+ " AND prs_kostenplaats_upper = " + safe.quoted_sql_upper(opdr_kpn); // Unique
|
||||
oRs = Oracle.Execute(tsql);
|
||||
if (!oRs.EoF)
|
||||
{
|
||||
var opdr_kpn_key = oRs("prs_kostenplaats_key").Value;
|
||||
|
||||
tsql = "SELECT ''"
|
||||
+ " FROM prs_perslidkostenplaats"
|
||||
+ " WHERE prs_perslidkostenplaats_boeken = 1"
|
||||
+ " AND (prs_kostenplaats_key = " + opdr_kpn_key
|
||||
+ " OR prs_kostenplaats_key IS NULL)" // Mandated for all
|
||||
+ " AND prs_perslid_key = " + voor_key;
|
||||
oRs = Oracle.Execute(tsql);
|
||||
|
||||
if (!oRs.EoF) // persoon gemandateerd voor gegeven kostenplaats
|
||||
kpn_key = opdr_kpn_key;
|
||||
}
|
||||
}
|
||||
|
||||
if (resultcode == -1) // Nog steeds geen fouten.
|
||||
{
|
||||
var meld_oms = "Automatisch aangemaakte melding tbv. werkzaamheden ge<67>nitieerd in extern systeem met referentie: "+ externnr;
|
||||
if (meldingtekst != null)
|
||||
{
|
||||
meld_oms = meld_oms + "\n" + meldingtekst;
|
||||
}
|
||||
mld_key = mld.insertmelding(stdm_key,
|
||||
{
|
||||
kostenplaats_key: kpn_key,
|
||||
perslid_key: voor_key,
|
||||
fields: [{ dbs: "mld_melding_externnr", typ: "varchar", val: externnr },
|
||||
{ dbs: "mld_melding_omschrijving", typ: "varchar", val: meld_oms },
|
||||
{ dbs: "mld_melding_onderwerp", typ: "varchar", val: onderwerp }
|
||||
{ dbs: "mld_melding_omschrijving", typ: "varchar", val: meld_oms }
|
||||
]
|
||||
});
|
||||
|
||||
@@ -409,12 +313,6 @@ for (i=0; i < opdrachten.length; i++)
|
||||
fields.push({ dbs: "mld_opdr_omschrijving", typ: "varchar", val: opdrachttekst, len: 4000 });
|
||||
}
|
||||
|
||||
// Flag, ignore if invalid
|
||||
if (!isNaN(flag) && flag >= 0 && flag < S("mld_opdracht_flags"))
|
||||
{
|
||||
fields.push({ dbs: "mld_opdr_flag", typ: "number", val: flag });
|
||||
}
|
||||
|
||||
var mldIns = buildInsert("mld_opdr", fields, { noValidateToken: true });
|
||||
var sql = mldIns.sql;
|
||||
var err = Oracle.Execute(sql, true);
|
||||
@@ -425,17 +323,11 @@ for (i=0; i < opdrachten.length; i++)
|
||||
}
|
||||
|
||||
opdr_key = mldIns.sequences["mld_opdr_key"]; // Hier heb ik de geldige opdr_key (igv. insert).
|
||||
|
||||
tsql = "UPDATE mld_opdr"
|
||||
+ " SET mld_opdr_id = " + safe.quoted_sql(externopdrnr)
|
||||
+ " WHERE mld_opdr_key=" + opdr_key;
|
||||
Oracle.Execute(tsql);
|
||||
|
||||
mld.setopdrachtstatus (opdr_key, 5);
|
||||
mld.updatemeldingstatus (mld_key, 0);
|
||||
}
|
||||
}
|
||||
else if (opdraction == "update" || opdraction == "note")
|
||||
else if (opdraction == "update")
|
||||
{ // Bestaande opdracht zoeken
|
||||
var idarr = opdrid.split('/');
|
||||
mld_key = parseInt(idarr[0], 10);
|
||||
@@ -464,13 +356,6 @@ for (i=0; i < opdrachten.length; i++)
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
if (opdraction == "note" && resultcode == -1) // Nog steeds geen fouten.
|
||||
{
|
||||
tsql = "INSERT INTO mld_opdr_note(mld_opdr_key, prs_perslid_key, mld_opdr_note_omschrijving)"
|
||||
+ " VALUES (" + opdr_key + "," + user_key + "," + safe.quoted_sql(opdropmerking) + ")";
|
||||
Oracle.Execute(tsql);
|
||||
resultcode = 0; // we zijn klaar.
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -511,7 +396,7 @@ for (i=0; i < opdrachten.length; i++)
|
||||
var maxmarge = new Date();
|
||||
maxmarge.setDate(maxmarge.getDate() - mld_opdr.typeopdr_afmeldmarge);
|
||||
if (mut_datum < maxmarge)
|
||||
mut_datum = maxmarge; // te lang geleden
|
||||
mut_datum = new Date(); // te lang geleden
|
||||
}
|
||||
|
||||
// Dit zijn de wijzigingen, die voeren we alleen uit bij een geldige statuswijziging
|
||||
@@ -568,13 +453,6 @@ for (i=0; i < opdrachten.length; i++)
|
||||
if (autoorder) // Ooit: net als appendRemark via json configureerbaar maken?
|
||||
mld_fields.push({ dbs: "mld_melding_einddatum", typ: "date", val: opdrgereeddate, track: L("lcl_mld_enddate") });
|
||||
}
|
||||
|
||||
// Flag, ignore if invalid
|
||||
if (!isNaN(flag) && flag >= 0 && flag < S("mld_opdracht_flags"))
|
||||
{
|
||||
opdr_fields.push({ dbs: "mld_opdr_flag", typ: "number", val: flag });
|
||||
}
|
||||
|
||||
// We weten nu de updates, straks voeren we deze pas uit
|
||||
// Eerst de eventuele statuswijzigingen
|
||||
var newstatus = -1;
|
||||
@@ -826,10 +704,6 @@ for (i=0; i < opdrachten.length; i++)
|
||||
{
|
||||
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze opdracht.
|
||||
}
|
||||
else if (resultcode > 0)
|
||||
{
|
||||
__DoLog("api_opdrsoap fail.\nResultcode: {0}\nReturntekst: {1}".format(resultcode, resulttekst), "#00FF00");
|
||||
}
|
||||
|
||||
var binfo = {
|
||||
returncode: resultcode,
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
LCL_Disable = 1
|
||||
THIS_FILE = "appl/api/api_ressoap_info.asp";
|
||||
|
||||
// __Logging = 1;
|
||||
// Session("logging")=1;
|
||||
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
|
||||
@@ -11,8 +11,7 @@
|
||||
Note: LET OP: Alle data is/moet HTML-safe zijn!
|
||||
|
||||
*/ %>
|
||||
<%
|
||||
var JSON_Result = true;
|
||||
<% DOCTYPE_Disable = 1;
|
||||
%>
|
||||
<!--#include file="../Shared/common.inc"-->
|
||||
<!--#include file="../Shared/json2.js" -->
|
||||
@@ -53,10 +52,7 @@ var JSON_Result = true;
|
||||
}
|
||||
|
||||
if (callback)
|
||||
{
|
||||
Response.ContentType = "application/javascript";
|
||||
Response.Write(callback + "(" + JSON.stringify(result) + ")");
|
||||
}
|
||||
else
|
||||
Response.Write(JSON.stringify(result));
|
||||
%>
|
||||
|
||||
@@ -24,7 +24,6 @@ var EXPIRED_PASSWORD_OK = true; // performance
|
||||
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"]);
|
||||
|
||||
@@ -32,7 +31,6 @@ var EXPIRED_PASSWORD_OK = true; // performance
|
||||
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
|
||||
%>
|
||||
@@ -78,7 +76,7 @@ function L(p_lcl)
|
||||
{
|
||||
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%>",
|
||||
url: "<%=site%>/appl/api/get_phonebook_info.asp?req_info=prs_perslid&prs_perslid_key=" + key + "<%=transitParam%>",
|
||||
dataType: "jsonp",
|
||||
success: window.facilitor.show_phonebook
|
||||
});
|
||||
@@ -91,7 +89,7 @@ function L(p_lcl)
|
||||
{ detailWidth : 450,
|
||||
toonFoto: true,
|
||||
detailurl: "appl/fac/fac_user_info.asp",
|
||||
deeplinkurl: "<%=safe.jsstring(site)%>/?nomenu=1&noheader=1&ihatetabs=1&JumpTo=",
|
||||
deeplinkurl: "<%=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" },
|
||||
@@ -111,7 +109,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='<%=L("lcl_close_window")%>'>x</span>"
|
||||
var closer = "<span onclick='$(\"#phonebookdetails\").hide()' style='float: right; cursor: hand' title='<%=L("lcl_close_window")%>'>x</span>"
|
||||
if (window.facilitor.phonebook_options.detailurl)
|
||||
{
|
||||
var jumpto = window.facilitor.phonebook_options.detailurl;
|
||||
@@ -128,7 +126,7 @@ function L(p_lcl)
|
||||
var trs = "";
|
||||
if (window.facilitor.phonebook_options.toonFoto && data.photopath)
|
||||
{
|
||||
trs += "<tr><td></td><td></td><td rowspan='50'><img src='<%=safe.jsstring(sitenoroot)%>" + data.photopaththumb.replace(/\'/g,''').replace(/\"/g,'"') +"'></td></tr>";
|
||||
trs += "<tr><td></td><td></td><td rowspan='50'><img src='<%=sitenoroot%>" + data.photopaththumb.replace(/\'/g,''').replace(/\"/g,'"') +"'></td></tr>";
|
||||
}
|
||||
var fld;
|
||||
for (fld in window.facilitor.phonebook_options.fields)
|
||||
@@ -188,14 +186,12 @@ function L(p_lcl)
|
||||
|
||||
sgPerson = new Suggest({ objectName: "sgPerson",
|
||||
queryField: $("#sName_key_show")[0],
|
||||
queryUrl: "<%=safe.jsstring(site)%>/appl/shared/suggest/SuggestPerslid.asp?filtcode=PHB<%=transitParam%>",
|
||||
queryUrl: "<%=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)%>"
|
||||
embedded: true
|
||||
});
|
||||
};
|
||||
})();
|
||||
|
||||
@@ -23,8 +23,6 @@
|
||||
<!-- #include file="../shared/useragent.inc" -->
|
||||
|
||||
<%
|
||||
__Log("== Entering shorturl.asp ==");
|
||||
|
||||
var u = getQParam("u");
|
||||
var known_bookmarks =
|
||||
{
|
||||
@@ -38,10 +36,7 @@ __Log("== Entering shorturl.asp ==");
|
||||
'locatie': { gui: 'appl/alg/alg_locatie.asp?key=' },
|
||||
'melding': { gui: 'appl/mld/mld_melding.asp?mld_key=', mob: 'appl/pda/melding.asp?mld_key=' },
|
||||
'message': { gui: 'appl/msg/msg_message.asp?message_key=' },
|
||||
'opdracht': { gui: 'appl/mld/mld_opdr.asp?opdr_key=',
|
||||
mob: 'appl/pda/order.asp?opdr_key=',
|
||||
lckgui: 'appl/mld/mld_opdr_actions.asp?opdr_key=',
|
||||
lckmob: 'appl/mld/mld_opdr_actions.asp?opdr_key=' },
|
||||
'opdracht': { gui: 'appl/mld/mld_opdr.asp?opdr_key=', mob: 'appl/pda/order.asp?opdr_key=' },
|
||||
'perslid': { gui: 'appl/prs/prs_perslid.asp?prs_key=', mob: 'appl/pda/user_info.asp?prs_key=' },
|
||||
'reservering': { gui: 'appl/res/res_reservering.asp?rsv_ruimte_key=', mob: 'appl/pda/reservering.asp?rsv_ruimte_key=' },
|
||||
'ruimte': { gui: 'appl/alg/alg_ruimte.asp?key=', mob: 'appl/pda/ruimte.asp?ruimte_key=' },
|
||||
@@ -50,74 +45,20 @@ __Log("== Entering shorturl.asp ==");
|
||||
}
|
||||
|
||||
var keyparam = getQParamInt("k", -1);
|
||||
|
||||
var locked_bdradr_key = getQParamInt("lbdr", -1);
|
||||
if (locked_bdradr_key > 0)
|
||||
{ // Eerst: hmac controleren
|
||||
var sql = "SELECT prs_bedrijfadres_locksecret,"
|
||||
+ " prs_bedrijfadres_lockuser_key,"
|
||||
+ " prs_bedrijfadres_lockexpire"
|
||||
+ " FROM prs_bedrijfadres"
|
||||
+ " WHERE prs_bedrijfadres_key = " + locked_bdradr_key
|
||||
+ " AND prs_bedrijfadres_locksecret IS NOT NULL"
|
||||
+ " AND prs_bedrijfadres_lockuser_key IS NOT NULL";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var locksecret = oRs("prs_bedrijfadres_locksecret").Value;
|
||||
var lockuser_key = oRs("prs_bedrijfadres_lockuser_key").Value;
|
||||
var lockexpire = oRs("prs_bedrijfadres_lockexpire").Value;
|
||||
oRs.Close()
|
||||
__Log("Checking locked bdradr {0} expire {1} days".format(locked_bdradr_key, lockexpire));
|
||||
protectQS.verify({ sleutel: locksecret,
|
||||
expire: lockexpire * 24 * 60,
|
||||
checkpath: "/", // altijd tegen de root zonder default.asp
|
||||
no_user_key: true }); // tamper check
|
||||
|
||||
var user_allowed = Session("locked_user_allowed") || []; // Array voor als je meerdere tabjes open hebt
|
||||
var found = false;
|
||||
for (var i = 0; i < user_allowed.length; i++)
|
||||
{
|
||||
if (user_allowed[i].locked_user_key == lockuser_key &&
|
||||
user_allowed[i].xmlnode == u &&
|
||||
user_allowed[i].key == keyparam)
|
||||
{
|
||||
found = true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!found)
|
||||
{
|
||||
user_allowed.push({ locked_user_key: lockuser_key,
|
||||
xmlnode: u,
|
||||
key: keyparam
|
||||
})
|
||||
Session("locked_user_allowed") = user_allowed;
|
||||
}
|
||||
}
|
||||
|
||||
// For flexiblity reasons: Literal or runtime parameter(s), just pass through...
|
||||
var rest = String(Request.ServerVariables("QUERY_STRING")); // Request.ServerVariables("QUERY_STRING") is url-encoded,
|
||||
// dat is hier safer dan Request.QueryString
|
||||
// Strip eventuele leading &fac_id=XXXX er ook af.
|
||||
rest = rest.substring(rest.indexOf("u=")).substring(("u="+u).length+1);
|
||||
|
||||
var isKnownBookmark = false;
|
||||
var isMobile = false;
|
||||
if (u in known_bookmarks)
|
||||
{
|
||||
isKnownBookmark = true;
|
||||
checkUserAgent(); // devicebits waren anders mogelijk nog niet gezet
|
||||
if (device.test(device.isDesktop) || device.test(device.isTouch))
|
||||
{
|
||||
url = locked_bdradr_key > 0? known_bookmarks[u].lckgui : known_bookmarks[u].gui;
|
||||
}
|
||||
url = known_bookmarks[u].gui;
|
||||
else
|
||||
{
|
||||
url = locked_bdradr_key > 0? known_bookmarks[u].lckmob || known_bookmarks[u].lckgui
|
||||
: known_bookmarks[u].mob || known_bookmarks[u].gui;
|
||||
isMobile = true;
|
||||
}
|
||||
|
||||
url = url + keyparam;
|
||||
url = known_bookmarks[u].mob || known_bookmarks[u].gui;
|
||||
url = rooturl + "/" + url + keyparam;
|
||||
|
||||
if (keyparam > -1)
|
||||
{
|
||||
@@ -133,8 +74,7 @@ __Log("== Entering shorturl.asp ==");
|
||||
+ " prs_perslid_key_auth,"
|
||||
+ " fac_bookmark_unauth_url,"
|
||||
+ " fac_bookmark_expire,"
|
||||
+ " fac_bookmark_refreshtime,"
|
||||
+ " fac_bookmark_naam"
|
||||
+ " fac_bookmark_refreshtime"
|
||||
+ " FROM fac_bookmark"
|
||||
+ " WHERE fac_bookmark_id = " + safe.quoted_sql(u);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
@@ -152,29 +92,14 @@ __Log("== Entering shorturl.asp ==");
|
||||
}
|
||||
|
||||
var url = oRs("fac_bookmark_path").Value;
|
||||
if (url.indexOf("{$*}") > 0) // default.asp?Jumpto=cust/uwva/pacta.asp{$*}
|
||||
{
|
||||
url = url.replace("{$*}", safe.url("?" + rest));
|
||||
rest = "";
|
||||
}
|
||||
var refresher = oRs("fac_bookmark_refreshtime").Value;
|
||||
var bookmark_naam = oRs("fac_bookmark_naam").Value;
|
||||
|
||||
if (user_key < 0)
|
||||
if (oRs("prs_perslid_key_auth").Value)
|
||||
{
|
||||
if (oRs("prs_perslid_key_auth").Value)
|
||||
{
|
||||
var falluser_key = oRs("prs_perslid_key_auth").Value;
|
||||
if (bookmark_naam != 'faclikedeeplink' && new Perslid(falluser_key).checkAutorisation("WEB_PRSSYS", true))
|
||||
{
|
||||
INTERNAL_ERROR_FALLBACK_CANNOT_HAVE_PRSSYS;
|
||||
// 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
|
||||
Session("fallback_user_key") = oRs("prs_perslid_key_auth").Value; // 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;
|
||||
if (params)
|
||||
@@ -209,28 +134,6 @@ __Log("== Entering shorturl.asp ==");
|
||||
}
|
||||
else
|
||||
var theURL = protectQS.create(url);
|
||||
|
||||
if (locked_bdradr_key < 0 && isKnownBookmark && !isMobile && getQParamInt("internal", 0) == 0)
|
||||
{
|
||||
Session("FirstPage") = theURL;
|
||||
theURL = rooturl + "/";
|
||||
}
|
||||
|
||||
var no302 = getQParamInt("no302", 0) == 1;
|
||||
if (no302)
|
||||
{
|
||||
%> <html>
|
||||
<head>
|
||||
<title>FACILITOR</title>
|
||||
<META http-equiv="refresh" content="0;URL=<%=safe.htmlattr(theURL)%>">
|
||||
</head>
|
||||
<body bgcolor="#ffffff">
|
||||
<a href="<%=safe.htmlattr(theURL)%>">Auto redirect</a>
|
||||
</body>
|
||||
</html>
|
||||
<%
|
||||
}
|
||||
else
|
||||
Response.Redirect(theURL);
|
||||
Response.Redirect(theURL);
|
||||
%>
|
||||
|
||||
|
||||
@@ -7,16 +7,12 @@
|
||||
ANONYMOUS_Allowed = 1;
|
||||
%>
|
||||
<!-- #include file="../../Shared/common.inc" -->
|
||||
<%
|
||||
var fac_id = Request.QueryString("fac_id").Count > 0&&String(Request.QueryString("fac_id"))||"";
|
||||
%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
|
||||
<title>API2 Tester</title>
|
||||
<script src="jquery-1.11.3.min.js"></script>
|
||||
<script src="jquery-1.11.0.min.js"></script>
|
||||
<script src="tester.js"></script>
|
||||
<script src="jquery.iecors.js"></script>
|
||||
<script>
|
||||
@@ -25,7 +21,6 @@ var fac_id = Request.QueryString("fac_id").Count > 0&&String(Request.QueryString
|
||||
$(doInit);
|
||||
$(doBuild);
|
||||
});
|
||||
var RVT_token = "<%=safe.jsstring(protectRequest.theToken())%>";
|
||||
</script>
|
||||
<style>
|
||||
pre { font-size: 1.2em;
|
||||
@@ -39,7 +34,7 @@ var fac_id = Request.QueryString("fac_id").Count > 0&&String(Request.QueryString
|
||||
<body style='background-color:#E5EAF1; font-family: Helvetica; font-size: 0.8em;'>
|
||||
<form method="post" onsubmit="doSubmit();return false;">
|
||||
<table>
|
||||
<th colspan="2">FACILITOR API2 tester - FOR INTERNAL USE ONLY [ <a href="<%=safe.htmlattr(HTTP.urlzelf())%>/api2/" target="_blank" rel="noopener noreferrer">API reference</a> ]</th>
|
||||
<th colspan="2">FACILITOR API2 tester - FOR INTERNAL USE ONLY [ <a href="http://facws001/trunk/api2/">API reference</a> ]</th>
|
||||
<tr><td><label>Format</label></td>
|
||||
<td><input type='radio' id='format' name='format' value='json' checked='1'>json</input>
|
||||
<input type='radio' id='format' name='format' value='xml'>xml</input>
|
||||
@@ -48,15 +43,11 @@ var fac_id = Request.QueryString("fac_id").Count > 0&&String(Request.QueryString
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td><label>fac_id</label></td>
|
||||
<td><input id="facid" type="text" style="width:100px" value="<%=safe.htmlattr(fac_id)%>">
|
||||
<td><input id="facid" type="text" style="width:100px" value="">
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td><label>APIKEY</label></td>
|
||||
<td><input id="apikey" type="text" style="width:250px" value="APIPFO">
|
||||
<%
|
||||
if (user_key > 0) { %>
|
||||
Herkend als: <%= safe.html(user.oslogin()) %>
|
||||
<% } %>
|
||||
<td><input id="apikey" type="text" style="width:250px" value="APIPFO">
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td><label>API2</label></td>
|
||||
@@ -65,6 +56,7 @@ var fac_id = Request.QueryString("fac_id").Count > 0&&String(Request.QueryString
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td><label>Website</label></td>
|
||||
<!-- <td><input id="urlbase" type="text" style="width:250px" value="http://uwva.5iwork/Facilitor5iwork"> -->
|
||||
<td><input id="urlbase" type="text" style="width:250px" value="<%=safe.htmlattr(HTTP.urlzelf())%>">
|
||||
</td>
|
||||
</tr>
|
||||
@@ -92,10 +84,10 @@ var fac_id = Request.QueryString("fac_id").Count > 0&&String(Request.QueryString
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td><label>Method</label></td>
|
||||
<td><label><input type='radio' id='method' name='method' value='GET' checked='1'>GET</label>
|
||||
<label><input type='radio' id='method' name='method' value='PUT'>PUT (update)</label>
|
||||
<label><input type='radio' id='method' name='method' value='POST'>POST (insert)</label>
|
||||
<label><input type='radio' id='method' name='method' value='DELETE'>DELETE</label>
|
||||
<td><input type='radio' id='method' name='method' value='GET' checked='1'>GET</input>
|
||||
<input type='radio' id='method' name='method' value='PUT'>PUT (update)</input>
|
||||
<input type='radio' id='method' name='method' value='POST'>POST (insert)</input>
|
||||
<input type='radio' id='method' name='method' value='DELETE'>DELETE</input>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td><label>Request body</label></td>
|
||||
@@ -133,8 +125,7 @@ var fac_id = Request.QueryString("fac_id").Count > 0&&String(Request.QueryString
|
||||
<tr><td>StatusText:</td><td><span id="StatusText"></span></td></tr>
|
||||
<tr><td>Duration:</td><td><span id="Duration"></span></td></tr>
|
||||
<tr><td>Records:</td><td><span id="Records"></span></td></tr>
|
||||
<tr><td>Size:</td><td><span id="ResultSize"></span></td></tr>
|
||||
<tr><td>Result:<button onclick='$("#xml").val($("#Result").text())'>^^^</button></td>
|
||||
<tr><td>Result:<button onclick='$("#xml").val($("#Result").text().replace("\r\n", "\n"))'>^^^</button></td>
|
||||
<td style='border:1px solid #666;font-size:0.8em;background-color:#fafafa;min-width:800px;'>
|
||||
<pre id="Result" style="padding:0 8px 0 2px;"></pre>
|
||||
</td>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
|
||||
<script src="jquery-1.11.3.min.js"></script>
|
||||
<script src="jquery-1.11.0.min.js"></script>
|
||||
<script src="tester.js"></script>
|
||||
<script src="jquery.iecors.js"></script>
|
||||
<script>
|
||||
@@ -43,7 +43,7 @@
|
||||
</tr>
|
||||
<tr><td><label>Website</label></td>
|
||||
<!-- <td><input id="urlbase" type="text" style="width:250px" value="http://uwva.5iwork/Facilitor5iwork"> -->
|
||||
<td><input id="urlbase" type="text" style="width:250px" value="http://uwva.facws001/branch20163/">
|
||||
<td><input id="urlbase" type="text" style="width:250px" value="http://sgf12/Facilitor5iwork">
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td><label>Pretty JSON</label></td>
|
||||
|
||||
49
APPL/API2/TESTER/get_apinames.asp
Normal file
49
APPL/API2/TESTER/get_apinames.asp
Normal file
@@ -0,0 +1,49 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: get_apinames.asp
|
||||
Description: Levert de bestanden in in de aangegeven map staan op de server.
|
||||
Parameters:
|
||||
- -
|
||||
*/
|
||||
%>
|
||||
|
||||
<%
|
||||
ANONYMOUS_Allowed = 1;
|
||||
var JSON_Result = true;
|
||||
%>
|
||||
|
||||
<!-- #include file="../../Shared/json2.js" -->
|
||||
|
||||
<%
|
||||
/***** Get webform parameters *****/
|
||||
//var searchfolder = getQParam("folder", "appl/api2");
|
||||
// Geen autorisatie check nodig
|
||||
/***** End get webform parameters *****/
|
||||
//var fullpath = (Server.MapPath(searchfolder));
|
||||
var fullpath = Server.MapPath("../");
|
||||
var api2_names = [];
|
||||
|
||||
var objFso = new ActiveXObject("Scripting.FileSystemObject");
|
||||
var objFiles = objFso.GetFolder(fullpath);
|
||||
var allFiles = new Enumerator(objFiles.files);
|
||||
for (; !allFiles.atEnd(); allFiles.moveNext())
|
||||
{
|
||||
var attFile = allFiles.item();
|
||||
|
||||
var ext = objFso.GetExtensionName(attFile);
|
||||
if ((attFile.name.indexOf("api_") == 0) && (ext == "asp"))
|
||||
{
|
||||
var name = attFile.name.substring(4, attFile.name.indexOf(".asp"))
|
||||
api2_names.push(name);
|
||||
}
|
||||
|
||||
}
|
||||
api2_names.sort();
|
||||
var result = { success: true
|
||||
, apinames: api2_names
|
||||
};
|
||||
Response.Write(JSON.stringify(result));
|
||||
%>
|
||||
4
APPL/API2/TESTER/jquery-1.11.0.min.js
vendored
Normal file
4
APPL/API2/TESTER/jquery-1.11.0.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
5
APPL/API2/TESTER/jquery-1.11.3.min.js
vendored
5
APPL/API2/TESTER/jquery-1.11.3.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -1,444 +0,0 @@
|
||||
/*
|
||||
$Id$
|
||||
|
||||
File: testall.js
|
||||
|
||||
Description: Test script voor API2
|
||||
Gebruik: Aanroepen met CScript testall.js
|
||||
|
||||
Dit script gebruikt /api2/apis om een lijst met API's op te halen en doet op allemaal een keer
|
||||
- een GET voor 'alle' records
|
||||
- een GET voor het eerste record daarvan
|
||||
- Op dat eerste record ook een keer elke include
|
||||
|
||||
Voorwaarden:
|
||||
- APIPFO moet gedefinieerd zijn bij een persoon
|
||||
- Die persoon moet *heel veel* rechten hebben (stop hem in alle groepen)
|
||||
- Er treden nu nog wel enkele fouten op die ik nog niet zo snel weg krijg
|
||||
*/
|
||||
|
||||
// Zie achteraan voor de echte code
|
||||
|
||||
if (!this.JSON) {
|
||||
JSON = {};
|
||||
}
|
||||
|
||||
(function () {
|
||||
|
||||
function f(n) {
|
||||
// Format integers to have at least two digits.
|
||||
return n < 10 ? '0' + n : n;
|
||||
}
|
||||
|
||||
if (typeof Date.prototype.toJSON !== 'function') {
|
||||
|
||||
Date.prototype.toJSON = function (key) {
|
||||
|
||||
return isFinite(this.valueOf()) ?
|
||||
this.getUTCFullYear() + '-' +
|
||||
f(this.getUTCMonth() + 1) + '-' +
|
||||
f(this.getUTCDate()) + 'T' +
|
||||
f(this.getUTCHours()) + ':' +
|
||||
f(this.getUTCMinutes()) + ':' +
|
||||
f(this.getUTCSeconds()) + 'Z' : null;
|
||||
};
|
||||
|
||||
String.prototype.toJSON =
|
||||
Number.prototype.toJSON =
|
||||
Boolean.prototype.toJSON = function (key) {
|
||||
return this.valueOf();
|
||||
};
|
||||
}
|
||||
|
||||
var cx = /[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
|
||||
escapable = /[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
|
||||
gap,
|
||||
indent,
|
||||
meta = { // table of character substitutions
|
||||
'\b': '\\b',
|
||||
'\t': '\\t',
|
||||
'\n': '\\n',
|
||||
'\f': '\\f',
|
||||
'\r': '\\r',
|
||||
'"' : '\\"',
|
||||
'\\': '\\\\'
|
||||
},
|
||||
rep;
|
||||
|
||||
|
||||
function quote(string) {
|
||||
|
||||
// If the string contains no control characters, no quote characters, and no
|
||||
// backslash characters, then we can safely slap some quotes around it.
|
||||
// Otherwise we must also replace the offending characters with safe escape
|
||||
// sequences.
|
||||
|
||||
escapable.lastIndex = 0;
|
||||
return escapable.test(string) ?
|
||||
'"' + string.replace(escapable, function (a) {
|
||||
var c = meta[a];
|
||||
return typeof c === 'string' ? c :
|
||||
'\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);
|
||||
}) + '"' :
|
||||
'"' + string + '"';
|
||||
}
|
||||
|
||||
|
||||
function str(key, holder) {
|
||||
|
||||
// Produce a string from holder[key].
|
||||
|
||||
var i, // The loop counter.
|
||||
k, // The member key.
|
||||
v, // The member value.
|
||||
length,
|
||||
mind = gap,
|
||||
partial,
|
||||
value = holder[key];
|
||||
|
||||
// If the value has a toJSON method, call it to obtain a replacement value.
|
||||
|
||||
if (value && typeof value === 'object' &&
|
||||
typeof value.toJSON === 'function') {
|
||||
value = value.toJSON(key);
|
||||
}
|
||||
|
||||
// If we were called with a replacer function, then call the replacer to
|
||||
// obtain a replacement value.
|
||||
|
||||
if (typeof rep === 'function') {
|
||||
value = rep.call(holder, key, value);
|
||||
}
|
||||
|
||||
// What happens next depends on the value's type.
|
||||
|
||||
switch (typeof value) {
|
||||
case 'string':
|
||||
return quote(value);
|
||||
|
||||
case 'number':
|
||||
|
||||
// JSON numbers must be finite. Encode non-finite numbers as null.
|
||||
|
||||
return isFinite(value) ? String(value) : 'null';
|
||||
|
||||
case 'boolean':
|
||||
case 'null':
|
||||
|
||||
// If the value is a boolean or null, convert it to a string. Note:
|
||||
// typeof null does not produce 'null'. The case is included here in
|
||||
// the remote chance that this gets fixed someday.
|
||||
|
||||
return String(value);
|
||||
|
||||
// If the type is 'object', we might be dealing with an object or an array or
|
||||
// null.
|
||||
|
||||
case 'object':
|
||||
|
||||
// Due to a specification blunder in ECMAScript, typeof null is 'object',
|
||||
// so watch out for that case.
|
||||
|
||||
if (!value) {
|
||||
return 'null';
|
||||
}
|
||||
|
||||
// Make an array to hold the partial results of stringifying this object value.
|
||||
|
||||
gap += indent;
|
||||
partial = [];
|
||||
|
||||
// Is the value an array?
|
||||
|
||||
if (Object.prototype.toString.apply(value) === '[object Array]') {
|
||||
|
||||
// The value is an array. Stringify every element. Use null as a placeholder
|
||||
// for non-JSON values.
|
||||
|
||||
length = value.length;
|
||||
for (i = 0; i < length; i += 1) {
|
||||
partial[i] = str(i, value) || 'null';
|
||||
}
|
||||
|
||||
// Join all of the elements together, separated with commas, and wrap them in
|
||||
// brackets.
|
||||
|
||||
v = partial.length === 0 ? '[]' :
|
||||
gap ? '[\n' + gap +
|
||||
partial.join(',\n' + gap) + '\n' +
|
||||
mind + ']' :
|
||||
'[' + partial.join(',') + ']';
|
||||
gap = mind;
|
||||
return v;
|
||||
}
|
||||
|
||||
// If the replacer is an array, use it to select the members to be stringified.
|
||||
|
||||
if (rep && typeof rep === 'object') {
|
||||
length = rep.length;
|
||||
for (i = 0; i < length; i += 1) {
|
||||
k = rep[i];
|
||||
if (typeof k === 'string') {
|
||||
v = str(k, value);
|
||||
if (v) {
|
||||
partial.push(quote(k) + (gap ? ': ' : ':') + v);
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
|
||||
// Otherwise, iterate through all of the keys in the object.
|
||||
|
||||
for (k in value) {
|
||||
if (Object.hasOwnProperty.call(value, k)) {
|
||||
v = str(k, value);
|
||||
if (v) {
|
||||
partial.push(quote(k) + (gap ? ': ' : ':') + v);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Join all of the member texts together, separated with commas,
|
||||
// and wrap them in braces.
|
||||
|
||||
v = partial.length === 0 ? '{}' :
|
||||
gap ? '{\n' + gap + partial.join(',\n' + gap) + '\n' +
|
||||
mind + '}' : '{' + partial.join(',') + '}';
|
||||
gap = mind;
|
||||
return v;
|
||||
}
|
||||
}
|
||||
|
||||
// If the JSON object does not yet have a stringify method, give it one.
|
||||
|
||||
if (typeof JSON.stringify !== 'function') {
|
||||
JSON.stringify = function (value, replacer, space) {
|
||||
|
||||
// The stringify method takes a value and an optional replacer, and an optional
|
||||
// space parameter, and returns a JSON text. The replacer can be a function
|
||||
// that can replace values, or an array of strings that will select the keys.
|
||||
// A default replacer method can be provided. Use of the space parameter can
|
||||
// produce text that is more easily readable.
|
||||
|
||||
var i;
|
||||
gap = '';
|
||||
indent = '';
|
||||
|
||||
// If the space parameter is a number, make an indent string containing that
|
||||
// many spaces.
|
||||
|
||||
if (typeof space === 'number') {
|
||||
for (i = 0; i < space; i += 1) {
|
||||
indent += ' ';
|
||||
}
|
||||
|
||||
// If the space parameter is a string, it will be used as the indent string.
|
||||
|
||||
} else if (typeof space === 'string') {
|
||||
indent = space;
|
||||
}
|
||||
|
||||
// If there is a replacer, it must be a function or an array.
|
||||
// Otherwise, throw an error.
|
||||
|
||||
rep = replacer;
|
||||
if (replacer && typeof replacer !== 'function' &&
|
||||
(typeof replacer !== 'object' ||
|
||||
typeof replacer.length !== 'number')) {
|
||||
throw new Error('JSON.stringify');
|
||||
}
|
||||
|
||||
// Make a fake root object containing our value under the key of ''.
|
||||
// Return the result of stringifying the value.
|
||||
|
||||
return str('', {'': value});
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
// If the JSON object does not yet have a parse method, give it one.
|
||||
|
||||
if (typeof JSON.parse !== 'function') {
|
||||
JSON.parse = function (text, reviver) {
|
||||
|
||||
// The parse method takes a text and an optional reviver function, and returns
|
||||
// a JavaScript value if the text is a valid JSON text.
|
||||
|
||||
var j;
|
||||
|
||||
function walk(holder, key) {
|
||||
|
||||
// The walk method is used to recursively walk the resulting structure so
|
||||
// that modifications can be made.
|
||||
|
||||
var k, v, value = holder[key];
|
||||
if (value && typeof value === 'object') {
|
||||
for (k in value) {
|
||||
if (Object.hasOwnProperty.call(value, k)) {
|
||||
v = walk(value, k);
|
||||
if (v !== undefined) {
|
||||
value[k] = v;
|
||||
} else {
|
||||
delete value[k];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return reviver.call(holder, key, value);
|
||||
}
|
||||
|
||||
|
||||
// Parsing happens in four stages. In the first stage, we replace certain
|
||||
// Unicode characters with escape sequences. JavaScript handles many characters
|
||||
// incorrectly, either silently deleting them, or treating them as line endings.
|
||||
|
||||
cx.lastIndex = 0;
|
||||
if (cx.test(text)) {
|
||||
text = text.replace(cx, function (a) {
|
||||
return '\\u' +
|
||||
('0000' + a.charCodeAt(0).toString(16)).slice(-4);
|
||||
});
|
||||
}
|
||||
|
||||
// In the second stage, we run the text against regular expressions that look
|
||||
// for non-JSON patterns. We are especially concerned with '()' and 'new'
|
||||
// because they can cause invocation, and '=' because it can cause mutation.
|
||||
// But just to be safe, we want to reject all unexpected forms.
|
||||
|
||||
// We split the second stage into 4 regexp operations in order to work around
|
||||
// crippling inefficiencies in IE's and Safari's regexp engines. First we
|
||||
// replace the JSON backslash pairs with '@' (a non-JSON character). Second, we
|
||||
// replace all simple value tokens with ']' characters. Third, we delete all
|
||||
// open brackets that follow a colon or comma or that begin the text. Finally,
|
||||
// we look to see that the remaining characters are only whitespace or ']' or
|
||||
// ',' or ':' or '{' or '}'. If that is so, then the text is safe for eval.
|
||||
|
||||
if (/^[\],:{}\s]*$/.
|
||||
test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').
|
||||
replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').
|
||||
replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
|
||||
|
||||
// In the third stage we use the eval function to compile the text into a
|
||||
// JavaScript structure. The '{' operator is subject to a syntactic ambiguity
|
||||
// in JavaScript: it can begin a block or an object literal. We wrap the text
|
||||
// in parens to eliminate the ambiguity.
|
||||
|
||||
j = eval('(' + text + ')');
|
||||
|
||||
// In the optional fourth stage, we recursively walk the new structure, passing
|
||||
// each name/value pair to a reviver function for possible transformation.
|
||||
|
||||
return typeof reviver === 'function' ?
|
||||
walk({'': j}, '') : j;
|
||||
}
|
||||
|
||||
// If the text is not JSON parseable, then a SyntaxError is thrown.
|
||||
|
||||
throw new SyntaxError('JSON.parse');
|
||||
};
|
||||
}
|
||||
}());
|
||||
String.prototype.format = function()
|
||||
{
|
||||
var formatted = this;
|
||||
for (var i = 0; i < arguments.length; i++)
|
||||
{
|
||||
var regexp = new RegExp('\\{'+i+'\\}', 'gi');
|
||||
formatted = formatted.replace(regexp, arguments[i]);
|
||||
}
|
||||
return formatted;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// include=reservableequipment lijkt een 404 te geven maar de volgende werkt wel?
|
||||
// http://uwva.facws001/branch20171/api2/reservablerooms/10802.html?include=reservableequipment
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
WScript.Echo("Zorg dat je Fiddler open hebt staan");
|
||||
|
||||
var G_fclt_url = 'http://uwva.facws001/trunk/';
|
||||
var G_fclt_url = 'http://uwva.lokalhost/trunk/';
|
||||
var G_fclt_url = 'http://uwva.facws001/branch20171/';
|
||||
var G_fclt_apikey = 'APIPFO';
|
||||
|
||||
var apis = getAPI2JSON("GET", "apis");
|
||||
for (var api in apis.apis)
|
||||
{
|
||||
testOne(apis.apis[api].id, apis.apis[api].docparam);
|
||||
}
|
||||
|
||||
|
||||
function testOne(api2_name, docparam)
|
||||
{
|
||||
var url = "{0}".format(api2_name);
|
||||
var data = getAPI2JSON("GET", url + (docparam?"?x=1"+docparam:""));
|
||||
if (!data)
|
||||
return;
|
||||
if (api2_name in data)
|
||||
{
|
||||
if (data[api2_name].length && data[api2_name] instanceof Array)
|
||||
{
|
||||
var model = getAPI2JSON("GET", api2_name + ".api" + (docparam?"?x=1"+docparam:""));
|
||||
|
||||
url += "/" + data[api2_name][0]["id"];
|
||||
var data = getAPI2JSON("GET", url + (docparam?"?x=1"+docparam:""));
|
||||
if (!(model.record_name in data))
|
||||
{
|
||||
WScript.echo("Data niet gevonden?");
|
||||
return;
|
||||
}
|
||||
|
||||
if ("includes" in model)
|
||||
{
|
||||
for (var inc in model.includes)
|
||||
var data = getAPI2JSON("GET", url + "?include=" + model.includes[inc]);
|
||||
if (!(model.record_name in data))
|
||||
{
|
||||
WScript.echo("Data niet gevonden als include toegevoegd?");
|
||||
WScript.Quit();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function getAPI2JSON(method, url, data)
|
||||
{
|
||||
var url = G_fclt_url + "api2/" + url;
|
||||
WScript.Echo("Getting: " + url);
|
||||
var objXMLHTTP = FcltAPI2("GET", url);
|
||||
if (objXMLHTTP)
|
||||
{
|
||||
return eval ("(" + objXMLHTTP.responseText + ")");
|
||||
}
|
||||
}
|
||||
|
||||
function FcltAPI2(method, url, data)
|
||||
{
|
||||
var objXMLHTTP = new ActiveXObject("MSXML2.ServerXMLHTTP.6.0");
|
||||
var SXH_PROXY_SET_PROXY = 2;
|
||||
objXMLHTTP.setProxy(SXH_PROXY_SET_PROXY, "127.0.0.1:8888");
|
||||
|
||||
objXMLHTTP.open(method, url, false);
|
||||
objXMLHTTP.setRequestHeader ("X-FACILITOR-API-Key", G_fclt_apikey);
|
||||
objXMLHTTP.send(data);
|
||||
if (objXMLHTTP.status >= 200 && objXMLHTTP.status <= 299)
|
||||
{
|
||||
return objXMLHTTP;
|
||||
}
|
||||
WScript.Echo(objXMLHTTP.responseText);
|
||||
WScript.Echo(objXMLHTTP.status);
|
||||
return null;
|
||||
}
|
||||
@@ -6,8 +6,8 @@ function callbackDone(data, textStatus, jqXHR)
|
||||
$("#StatusText").text(textStatus);
|
||||
$("#Duration").text(Math.floor(new Date - tm) + "ms");
|
||||
var txt = String(jqXHR.responseText);
|
||||
txt = txt.replace(/\012/ig, "\n\r"); // beter in IE
|
||||
$("#Result").text(txt);
|
||||
$("#ResultSize").text(txt.length);
|
||||
|
||||
var objects_count = 1;
|
||||
if (jqXHR.responseText.indexOf("[") > 0)
|
||||
@@ -19,10 +19,11 @@ function callbackDone(data, textStatus, jqXHR)
|
||||
}
|
||||
function callbackFail(jqXHR, textStatus, errorThrown)
|
||||
{
|
||||
// FcltMgr.alert("FAIL: " + (typeof errorThrown == "string"?errorThrown:errorThrown.message));
|
||||
// alert("FAIL: " + (typeof errorThrown == "string"?errorThrown:errorThrown.message));
|
||||
$("#Status").text(jqXHR.status + " " + (typeof errorThrown == "string"?errorThrown:errorThrown.message)).css("background-color", "red");
|
||||
$("#StatusText").text(textStatus);
|
||||
var txt = String(jqXHR.responseText);
|
||||
txt = txt.replace(/\012/ig, "\n\r"); // beter in IE
|
||||
$("#Result").text(txt);
|
||||
}
|
||||
function doSubmit()
|
||||
@@ -41,9 +42,7 @@ function doSubmit()
|
||||
tm = new Date;
|
||||
$.ajax(url, { type: method,
|
||||
data: data,
|
||||
headers: { "X-FACILITOR-API-Key": apikey,
|
||||
"X-CSRF-TOKEN": RVT_token
|
||||
}
|
||||
headers: { "X-FACILITOR-API-Key": apikey }
|
||||
// dan werkt de header niet dataType: "jsonp"
|
||||
}
|
||||
).done(callbackDone).fail(callbackFail);
|
||||
@@ -74,30 +73,17 @@ function doBuild()
|
||||
|
||||
function doInit()
|
||||
{
|
||||
var apikey = $("#apikey").val();
|
||||
//jQuery.support.cors = true; // in IE niet al te moeilijk doen over cross-domain.
|
||||
var url = $("#urlbase").val() + "/api2/apis.json";
|
||||
$.ajax(url, { type: "GET",
|
||||
//data: data,
|
||||
headers: { "X-FACILITOR-API-Key": apikey,
|
||||
"X-CSRF-TOKEN": RVT_token
|
||||
}
|
||||
// dan werkt de header niet dataType: "jsonp"
|
||||
}
|
||||
).done(process_api_list).fail(callbackFail);
|
||||
var path = "appl/api2";
|
||||
$.getJSON("get_apinames.asp?3", process_api_list);
|
||||
}
|
||||
|
||||
function process_api_list(data)
|
||||
{
|
||||
$("#api").empty();
|
||||
var lastmodule = "";
|
||||
$.each( data.apis
|
||||
$.each( data.apinames
|
||||
, function (index, value)
|
||||
{
|
||||
if (lastmodule != this.modulecode)
|
||||
$("#api").append("<optgroup label='" + this.modulecode + ": " + this.module + "'></option>");
|
||||
lastmodule = this.modulecode;
|
||||
var apiname = this.id;
|
||||
apiname = data.apinames[index];
|
||||
$("#api").append("<option value="+ apiname +">" + apiname + "</option>");
|
||||
}
|
||||
);
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,164 +0,0 @@
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: api2_dispatch.inc
|
||||
Description: Mapping tussen externe API-naam en interne bestandnaam
|
||||
Notes:
|
||||
|
||||
Status:
|
||||
|
||||
*/
|
||||
|
||||
var api2_mapper = {
|
||||
// De 'name' moet hier gelijk zijn aan model.records_name
|
||||
|
||||
"swagger" : { "filename": "appl/api2/api_swagger.asp" },
|
||||
|
||||
"realestateproperties" : { "filename": "appl/mgt/alg_kenmerk.asp", "docparam": "&level=R" },
|
||||
"buildingfunctions" : { "filename": "appl/mgt/alg_srtgebouw.asp" },
|
||||
"terrainfunctions" : { "filename": "appl/mgt/alg_srtterreinsector.asp" },
|
||||
"regions" : { "filename": "appl/api2/api_regions.asp", "module": "ALG" },
|
||||
"buildings" : { "filename": "appl/api2/api_buildings.asp", "module": "ALG" },
|
||||
"floors" : { "filename": "appl/api2/api_floors.asp", "module": "ALG" },
|
||||
"locations" : { "filename": "appl/api2/api_locations.asp", "module": "ALG" },
|
||||
"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" },
|
||||
"appointments" : { "filename": "appl/api2/api_appointments.asp", "module": "BEZ" },
|
||||
"visitors" : { "filename": "appl/api2/api_visitors.asp", "module": "BEZ" },
|
||||
"budget" : { "filename": "appl/bgt/bgt_budget.asp" },
|
||||
"budgetmutations" : { "filename": "appl/bgt/bgt_budgetmutatie.asp"},
|
||||
"budgetdisciplines" : { "filename": "appl/bgt/bgt_discipline.asp" },
|
||||
"budgetcostcategories" : { "filename": "appl/bgt/bgt_kostenrubriek.asp" },
|
||||
"budgetprojects" : { "filename": "appl/bgt/bgt_project.asp" },
|
||||
"graphiclabels" : { "filename": "appl/mgt/cad_label.asp" },
|
||||
"graphiclegends" : { "filename": "appl/mgt/cad_legenda.asp" },
|
||||
"graphiclegendvalues" : { "filename": "appl/mgt/cad_legendawaarde.asp" },
|
||||
"graphicthemes" : { "filename": "appl/mgt/cad_thema.asp" },
|
||||
"contractdisciplines" : { "filename": "appl/mgt/cnt_discipline.asp" },
|
||||
"contractproperties" : { "filename": "appl/mgt/cnt_kenmerk.asp" },
|
||||
"contractpropertytypes" : { "filename": "appl/mgt/cnt_srtkenmerk.asp" },
|
||||
"contractperiods" : { "filename": "appl/mgt/cnt_termijn.asp" },
|
||||
"taskdisciplines" : { "filename": "appl/mgt/ctr_discipline.asp" },
|
||||
"audits" : { "filename": "appl/mgt/fac_audit.asp" },
|
||||
"emailsettings" : { "filename": "appl/mgt/fac_email_setting.asp" },
|
||||
"exportfunctions" : { "filename": "appl/mgt/fac_export_app.asp" },
|
||||
"authorizationfunctions" : { "filename": "appl/mgt/fac_functie.asp" },
|
||||
"authorizationgroups" : { "filename": "appl/api2/api_authorizationgroups.asp" },
|
||||
"authorizations" : { "filename": "appl/mgt/fac_groeprechten.asp", "nodoc": true },
|
||||
"identityproviders" : { "filename": "appl/mgt/aut_idp.asp" },
|
||||
"importfunctions" : { "filename": "appl/mgt/fac_import_app.asp" },
|
||||
"notificationjobs" : { "filename": "appl/mgt/fac_notificatie_job.asp" },
|
||||
"profiles" : { "filename": "appl/mgt/fac_profiel.asp" },
|
||||
"profilevalues" : { "filename": "appl/mgt/fac_profielwaarde.asp" },
|
||||
"notificationtypes" : { "filename": "appl/mgt/fac_srtnotificatie.asp" },
|
||||
"customgraphs" : { "filename": "appl/mgt/fac_usrgraph.asp", "nodoc": true },
|
||||
"customtables" : { "filename": "appl/mgt/fac_usrtab.asp" },
|
||||
"widgets" : { "filename": "appl/mgt/fac_widget.asp" },
|
||||
"knowledgeproperties" : { "filename": "appl/mgt/faq_kenmerk.asp" },
|
||||
"vattables" : { "filename": "appl/mgt/fin_btwtabel.asp" },
|
||||
"invoiceproperties" : { "filename": "appl/mgt/fin_kenmerk.asp" },
|
||||
// "saleinvoicelines" : { "filename": "appl/mgt/fin_verkoopfactuur.asp", "nodoc": true },
|
||||
"taskhandlings" : { "filename": "appl/mgt/ins_controlemode.asp" },
|
||||
"objectdisciplines" : { "filename": "appl/mgt/ins_discipline.asp" },
|
||||
"objectproperties" : { "filename": "appl/mgt/ins_kenmerk.asp" },
|
||||
"recurringtasks" : { "filename": "appl/mgt/ins_srtcontrole.asp" },
|
||||
"objectgroups" : { "filename": "appl/mgt/ins_srtgroep.asp" },
|
||||
"objectpropertytypes" : { "filename": "appl/mgt/ins_srtkenmerk.asp" },
|
||||
"alldisciplines" : { "filename": "appl/mgt/ins_tab_discipline.asp" },
|
||||
"issueclosingtexts" : { "filename": "appl/mgt/mld_afmeldtekst.asp" },
|
||||
"backofficegroups" : { "filename": "appl/mgt/mld_behandelgroep.asp" },
|
||||
"servicelevels" : { "filename": "appl/mgt/mld_dienstniveau.asp" },
|
||||
"issuedisciplines" : { "filename": "appl/mgt/mld_discipline.asp" },
|
||||
"unproductivetimes" : { "filename": "appl/mgt/mld_impropdr.asp" },
|
||||
"issueproperties" : { "filename": "appl/mgt/mld_mld_kenmerk.asp" },
|
||||
"issueorderproperties" : { "filename": "appl/mgt/mld_kenmerk.asp" },
|
||||
"expenses" : { "filename": "appl/mgt/mld_kosten.asp" },
|
||||
"callsources" : { "filename": "appl/mgt/mld_meldbron.asp" },
|
||||
"disciplinetypes" : { "filename": "appl/mgt/mld_srtdiscipline.asp" },
|
||||
"issuepropertytypes" : { "filename": "appl/mgt/mld_srtkenmerk.asp" },
|
||||
"callgroups" : { "filename": "appl/mgt/mld_stdmeldinggroep.asp" },
|
||||
"issueordertypes" : { "filename": "appl/mgt/mld_typeopdr.asp" },
|
||||
"daysoff" : { "filename": "appl/mgt/mld_vrije_dagen.asp" },
|
||||
"workflows" : { "filename": "appl/mgt/mld_workflow.asp" },
|
||||
"workflowsteps" : { "filename": "appl/mgt/mld_workflowstep.asp", "nodoc": true },
|
||||
"workflowexpressions" : { "filename": "appl/mgt/mld_workflow_expression.asp" },
|
||||
"issuedisciplines" : { "filename": "appl/api2/api_issuedisciplines.asp", "module": "MLD" },
|
||||
// "orders" : { "filename": "appl/api2/api_orders.asp", "module": "MLD" },
|
||||
"orders" : { "filename": "appl/bgt/mld_opdr.asp", "module": "MLD" },
|
||||
"issues" : { "filename": "appl/api2/api_issues.asp", "module": "MLD" },
|
||||
"issuetypes" : { "filename": "appl/api2/api_issuetypes.asp", "module": "MLD" },
|
||||
"pinboardcategories" : { "filename": "appl/mgt/mrk_discipline.asp" },
|
||||
"services" : { "filename": "appl/mgt/prs_dienst.asp" },
|
||||
"basisproperties" : { "filename": "appl/mgt/prs_kenmerk.asp", "docparam": "&level=P" },
|
||||
"combinationvalidations" : { "filename": "appl/mgt/prs_kostencombinatie.asp" },
|
||||
"costtypes" : { "filename": "appl/mgt/prs_kostensoort.asp" },
|
||||
"costtypegroups" : { "filename": "appl/mgt/prs_kostensoortgrp.asp" },
|
||||
"costcentregroups" : { "filename": "appl/mgt/prs_kostenplaatsgrp.asp" },
|
||||
"costcentres" : { "filename": "appl/mgt/prs_kostenplaats.asp" },
|
||||
"persons" : { "filename": "appl/api2/api_persons.asp", "nodoc": true },
|
||||
"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" },
|
||||
"bookingactivities" : { "filename": "appl/mgt/res_activiteit.asp" },
|
||||
"bookingconsumables" : { "filename": "appl/mgt/res_artikel.asp" },
|
||||
"bookingcycles" : { "filename": "appl/mgt/res_cyclus.asp" },
|
||||
"bookingitems" : { "filename": "appl/mgt/res_deel.asp" },
|
||||
"bookingdisciplines" : { "filename": "appl/mgt/res_discipline.asp" },
|
||||
"bookingproperties" : { "filename": "appl/mgt/res_kenmerk.asp" },
|
||||
"bookingconfigurations" : { "filename": "appl/mgt/res_opstelling.asp" },
|
||||
"bookingrooms" : { "filename": "appl/mgt/res_ruimte.asp" },
|
||||
"bookingactivitytypes" : { "filename": "appl/mgt/res_srtactiviteit.asp" },
|
||||
"bookingconsumablescopes" : { "filename": "appl/mgt/res_srtartikel_onrgoed.asp" },
|
||||
"bookingpropertytypes" : { "filename": "appl/mgt/res_srtkenmerk.asp" },
|
||||
"reservationequipment" : { "filename": "appl/api2/api_reservationequipment.asp", "module": "RES" },
|
||||
"reservations" : { "filename": "appl/api2/api_reservations.asp", "module": "RES" },
|
||||
"reservablerooms" : { "filename": "appl/api2/api_reservablerooms.asp", "module": "RES" },
|
||||
"reservableconsumables" : { "filename": "appl/api2/api_reservableconsumables.asp", "module": "RES" },
|
||||
"reservationconsumables" : { "filename": "appl/api2/api_reservationconsumables.asp", "module": "RES" },
|
||||
"reservableequipment" : { "filename": "appl/api2/api_reservableequipment.asp", "module": "RES" },
|
||||
"reservablecatalog" : { "filename": "appl/api2/api_reservablecatalog.asp", "module": "RES" },
|
||||
"res_ruimtes" : { "filename": "appl/api2/api_res_ruimtes.asp", "module": "RES" },
|
||||
|
||||
"attachments" : { "filename": "appl/api2/api_attachments.asp", "module": "API", "nodoc": true },
|
||||
"doc" : { "filename": "appl/api2/api_doc.asp", "module": "API" },
|
||||
"apis" : { "filename": "appl/api2/api_apis.asp", "module": "API" },
|
||||
"about" : { "filename": "appl/api2/api_about.asp", "module": "API" },
|
||||
"cadcontours" : { "filename": "appl/api2/api_cadcontours.asp", "module": "CAD" },
|
||||
"contracts" : { "filename": "appl/api2/api_contracts.asp", "module": "CNT" },
|
||||
"notes" : { "filename": "appl/api2/api_notes.asp", "module": "FAC", "docparam": "&module=MLD" },
|
||||
"approvals" : { "filename": "appl/api2/api_approvals.asp", "module": "FAC" },
|
||||
"settings" : { "filename": "appl/api2/api_settings.asp", "module": "FAC" },
|
||||
"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" },
|
||||
"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" },
|
||||
"companies" : { "filename": "appl/api2/api_companies.asp", "module": "PRS" },
|
||||
"departments" : { "filename": "appl/mgt/prs_afdeling.asp", "module": "PRS" },
|
||||
|
||||
"generictables" : { "filename": "appl/mgt/mgt_generic.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
|
||||
}
|
||||
|
||||
function api2_dispatch(api2_name)
|
||||
{
|
||||
api2_name = api2_name.toLowerCase();
|
||||
if (api2_name in api2_mapper)
|
||||
return api2_mapper[api2_name].filename;
|
||||
}
|
||||
%>
|
||||
@@ -11,29 +11,45 @@
|
||||
*/
|
||||
%>
|
||||
<!-- #include file="api2.inc" -->
|
||||
<!-- #include file="api2_swagger.inc" -->
|
||||
<!-- #include file="../scf/scaffolding_common.inc" -->
|
||||
<%
|
||||
var DEZE = this;
|
||||
|
||||
api2_rest = {
|
||||
authenticate: function _authenticate()
|
||||
authenticate: function _authenticate(model)
|
||||
{
|
||||
var method = String(Request.ServerVariables("REQUEST_METHOD"));
|
||||
if (method != "GET" && Session("stateless") != 1) // Vereis dan wel het CSRF token
|
||||
var APIKEY;
|
||||
if (S("fac_api_key_in_url"))
|
||||
APIKEY = getQParam("APIKEY", "");
|
||||
if (!APIKEY && Request.ServerVariables("HTTP_X_FACILITOR_API_KEY").Count)
|
||||
APIKEY = String(Request.ServerVariables("HTTP_X_FACILITOR_API_KEY")); // Meegegeven als X-FACILITOR-API-Key
|
||||
|
||||
if (!APIKEY && Session("user_key") > 0)
|
||||
{
|
||||
var token = Request.ServerVariables("HTTP_X_CSRF_TOKEN").Count // Meegegeven als X-CSRF-TOKEN
|
||||
? String(Request.ServerVariables("HTTP_X_CSRF_TOKEN"))
|
||||
: "";
|
||||
protectRequest.validateToken(token);
|
||||
user_key = Session("user_key"); // Hierdoor is de API intern te gebruiken zonder authenticatie
|
||||
}
|
||||
if (user_key < 0)
|
||||
else
|
||||
{
|
||||
Response.Status = "401 Unauthorized";
|
||||
// Sommige applicaties kunnen in reactie hierop een b64 encoded username:password sturen
|
||||
// Die onderscheppen wij in LoginTry.asp uiteindelijk
|
||||
if (S("basic_auth_realm"))
|
||||
Response.AddHeader("WWW-Authenticate", "Basic realm=\"" + S("basic_auth_realm") + "\"");
|
||||
Response.End;
|
||||
if (Session("user_key") > 0)
|
||||
{} // Tijdens ontwikkeling heb je soms in tweede tab de GUI open. Laat dat ongemoeid.
|
||||
else
|
||||
Session.Abandon(); // Altijd, voor de zekerheid
|
||||
|
||||
var sql = "SELECT prs_perslid_key, prs_perslid_naam"
|
||||
+ " FROM prs_perslid"
|
||||
+ " WHERE prs_perslid_verwijder IS NULL"
|
||||
+ " AND prs_perslid_apikey = " + safe.quoted_sql(APIKEY);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs.Eof || !APIKEY)
|
||||
{
|
||||
Response.Status = "401 Unauthorized";
|
||||
// Sommige applicaties kunnen in reactie hierop een b64 encoded username:password sturen
|
||||
// Die onderscheppen wij in LoginTry.asp uiteindelijk
|
||||
if (S("basic_auth_realm"))
|
||||
Response.AddHeader("WWW-Authenticate", "Basic realm=\"" + S("basic_auth_realm") + "\"");
|
||||
Response.End;
|
||||
};
|
||||
__Log("API2 User is: " + oRs("prs_perslid_naam").Value);
|
||||
/* global */ user_key = oRs("prs_perslid_key").Value;
|
||||
|
||||
if (typeof NO_ADDHEADER == "undefined" && Request.Servervariables("HTTP_FCLT_VERSION").Count > 0)
|
||||
{ // wordt opgepikt door FCLTAPI.DLL voor in de logging en daarna gestript. Niet in Fiddler dus
|
||||
@@ -43,110 +59,54 @@ api2_rest = {
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
// APP? Die kan meta-rechten hebben (bijvoorbeeld auth-token opvragen van gebruiker)
|
||||
var APPKEY;
|
||||
if (S("fac_api_key_in_url"))
|
||||
APPKEY = getQParam("HTTP_X_FACILITOR_APP_KEY", "");
|
||||
if (!APPKEY && Request.ServerVariables("HTTP_X_FACILITOR_APP_KEY").Count)
|
||||
APPKEY = String(Request.ServerVariables("HTTP_X_FACILITOR_APP_KEY")); // Meegegeven als X-FACILITOR-APP-Key
|
||||
if (APPKEY)
|
||||
{
|
||||
var sql = "SELECT prs_perslid_key, prs_perslid_naam"
|
||||
+ " FROM prs_perslid"
|
||||
+ " WHERE prs_perslid_verwijder IS NULL"
|
||||
+ " AND prs_perslid_apikey = " + safe.quoted_sql(APPKEY);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs.Eof)
|
||||
{
|
||||
__DoLog("Unauthorized app");
|
||||
Response.Status = "401 Unauthorized";
|
||||
Response.End;
|
||||
};
|
||||
__Log("APP User is: " + oRs("prs_perslid_naam").Value);
|
||||
/* global */ app_user_key = oRs("prs_perslid_key").Value;
|
||||
/* global */ app_user = new Perslid(app_user_key);
|
||||
oRs.Close()
|
||||
}
|
||||
|
||||
CheckForLogging(Request.QueryString("logging")); // Nu pas kan autorisatie via user gecontroleerd worden
|
||||
},
|
||||
|
||||
impersonate: function _impersonate(model)
|
||||
{
|
||||
// Impersonate? (anno jan-2016 in de praktijk nergens gebruikt, kan mogelijk vervallen)
|
||||
if (!S("fac_api_allow_impersonate") || !model.impersonate_auth)
|
||||
return;
|
||||
|
||||
// Impersonate?
|
||||
var IMPERS;
|
||||
if (S("fac_api_key_in_url"))
|
||||
IMPERS = getQParam("SWITCHUSER", "");
|
||||
if (!IMPERS && Request.ServerVariables("HTTP_X_FACILITOR_SWITCH_USER").Count)
|
||||
IMPERS = String(Request.ServerVariables("HTTP_X_FACILITOR_SWITCH_USER")); // Meegegeven als X-FACILITOR-SWITCH-USER
|
||||
if (!IMPERS)
|
||||
return;
|
||||
|
||||
var sql = "SELECT prs_perslid_key, prs_perslid_naam"
|
||||
+ " FROM prs_perslid"
|
||||
+ " WHERE prs_perslid_verwijder IS NULL"
|
||||
+ " AND prs_perslid_oslogin = " + safe.quoted_sql_upper(IMPERS);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs.Eof)
|
||||
if (IMPERS && S("fac_api_allow_impersonate"))
|
||||
{
|
||||
Response.Status = "412 Invalid X-Facilitor-Switch-User header";
|
||||
Response.End;
|
||||
};
|
||||
__Log("IMPERS User is: " + oRs("prs_perslid_naam").Value);
|
||||
var other_user_key = oRs("prs_perslid_key").Value;
|
||||
oRs.Close();
|
||||
|
||||
var xfunc = user.func_enabled2(model.module, { prs_key: other_user_key, isOptional: true });
|
||||
var can = (xfunc && xfunc.canRead(model.impersonate_auth));
|
||||
if (can)
|
||||
{
|
||||
/* global */ user_key = other_user_key;
|
||||
/* global */ user = new Perslid(user_key);
|
||||
}
|
||||
else
|
||||
{
|
||||
Response.Status = "412 Unauthorized X-Facilitor-Switch-User header";
|
||||
Response.End;
|
||||
var sql = "SELECT prs_perslid_key, prs_perslid_naam"
|
||||
+ " FROM prs_perslid"
|
||||
+ " WHERE prs_perslid_verwijder IS NULL"
|
||||
+ " AND prs_perslid_oslogin = " + safe.quoted_sql_upper(IMPERS);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs.Eof)
|
||||
{
|
||||
Response.Status = "412 Invalid X-Facilitor-Switch-User header";
|
||||
Response.End;
|
||||
};
|
||||
__Log("IMPERS User is: " + oRs("prs_perslid_naam").Value);
|
||||
var other_user_key = oRs("prs_perslid_key").Value;
|
||||
oRs.Close();
|
||||
if (model.impersonate_auth)
|
||||
{
|
||||
var xfunc = user.func_enabled2(model.module, { prs_key: other_user_key, isOptional: true });
|
||||
var can = (xfunc && xfunc.canRead(model.impersonate_auth));
|
||||
if (can)
|
||||
/* global */ user_key = other_user_key;
|
||||
}
|
||||
if (user_key != other_user_key)
|
||||
{
|
||||
Response.Status = "412 Unauthorized X-Facilitor-Switch-User header";
|
||||
Response.End;
|
||||
}
|
||||
}
|
||||
|
||||
/* global */ user = new Perslid(user_key);
|
||||
CheckForLogging(Request.QueryString("logging")); // Nu pas kan autorisatie via user gecontroleerd worden
|
||||
},
|
||||
process: function _process(model)
|
||||
{
|
||||
var wasCodePage = Session.Codepage;
|
||||
Session.Codepage = 65001; // We doen *uitsluitend* utf-8
|
||||
Response.Charset = 'utf-8';
|
||||
var inputformat = outputformat = getQParamSafe("format", "invalid").toLowerCase();
|
||||
if (outputformat == "auto")
|
||||
{
|
||||
var accept = String(Request.ServerVariables("HTTP_ACCEPT")).split(",")[0]; // Altijd alleen eerste bekijken
|
||||
switch (accept.toLowerCase())
|
||||
{
|
||||
case "application/xml": outputformat = "xml"; break;
|
||||
case "application/json": outputformat = "json"; break;
|
||||
case "text/html": outputformat = "html"; break; // vanuit browser?
|
||||
default: outputformat = "json";
|
||||
}
|
||||
}
|
||||
|
||||
if (outputformat == "json")
|
||||
/* global */ JSON_Result = true; // Zelf doen we er niets mee maar
|
||||
// shared.simple_page kijkt er naar
|
||||
|
||||
var orgError = api2.error;
|
||||
api2.error = function (code, msg)
|
||||
{
|
||||
api2_rest.plugin.error_handler(code, msg, orgError);
|
||||
}
|
||||
|
||||
api2_rest.authenticate();
|
||||
// Kip-ei: de omzetting naar new model() mag pas als je geauthenticeerd bent
|
||||
// Hierboven willen we het echter al wel meegeven
|
||||
if (typeof model == "function") // Nieuwe stijl is het een function. Even compatible.
|
||||
model = new model();
|
||||
|
||||
api2_rest.impersonate(model);
|
||||
api2_rest.authenticate(model);
|
||||
|
||||
var method = String(Request.ServerVariables("REQUEST_METHOD"));
|
||||
|
||||
@@ -155,124 +115,74 @@ api2_rest = {
|
||||
Response.Status = "405 Method not allowed";
|
||||
Response.End;
|
||||
}
|
||||
|
||||
var key = getQParamInt("id", -1); // Voor POST/PUT/DELETE
|
||||
|
||||
var jsondata = {};
|
||||
var filter = shared.qs2json(model);
|
||||
filter = api2_rest.plugin.transform_filter(filter);
|
||||
var requestparams = { filter: filter, include: getQParamArray("include", []) };
|
||||
if (filter.mode == "attachment" && !("includes" in model && "custom_fields" in model.includes))
|
||||
api2.error(400, "Attachment not supported for this model");
|
||||
|
||||
if (filter.mode == "attachment")
|
||||
{
|
||||
if (key > 0 && method == "POST") // het bestand mag dan wel nieuw zijn (POST is van toepassing),
|
||||
method = "PUT"; // intern is het een update van een bestaand record, dus PUT
|
||||
}
|
||||
|
||||
if (!("REST_" + method in model) || !model["REST_" + method])
|
||||
if (!("REST_" + method in model))
|
||||
{
|
||||
Response.Status = "501 Not Implemented";
|
||||
// TODO The response MUST include an Allow header containing a list of valid methods for the requested resource.
|
||||
Response.End;
|
||||
}
|
||||
var jsondata = {};
|
||||
var filter = shared.qs2json(model);
|
||||
filter = api2_rest.plugin.transform_filter(filter);
|
||||
var requestparams = { filter: filter, include: getQParamArray("include", []) };
|
||||
|
||||
if (/PUT|POST/.test(method)) // Dan is er in de body data meegestuurd
|
||||
{
|
||||
if (filter.mode == "attachment")
|
||||
switch (getQParamSafe("format", "invalid").toLowerCase())
|
||||
{
|
||||
// Body bevat application/octet-stream, dat lezen we later wel uit
|
||||
case "json":
|
||||
{
|
||||
var parsed = RequestJSON();
|
||||
if (parsed.error)
|
||||
api2.error(500, "Error parsing input JSON: " + parsed.error);
|
||||
jsondata = api2_rest.plugin.transform_incoming(requestparams, parsed.json);
|
||||
if (!jsondata)
|
||||
api2.error(500, "Error parsing input JSON: Empty");
|
||||
break;
|
||||
}
|
||||
case "xml":
|
||||
{
|
||||
var parsed = RequestXML();
|
||||
if (parsed.error)
|
||||
api2.error(500, "Error parsing input XML: " + parsed.error);
|
||||
jsondata = api2_rest.xml2json(parsed.xml);
|
||||
if (!jsondata)
|
||||
api2.error(500, "Error parsing input XML: Empty");
|
||||
break;
|
||||
}
|
||||
default:
|
||||
UNKNOWN_FORMAT_TYPE;
|
||||
}
|
||||
else
|
||||
if (!jsondata || !(model.record_name in jsondata || (model.multi_update && model.records_name in jsondata)))
|
||||
{
|
||||
if (inputformat == "auto")
|
||||
{
|
||||
var contenttype = String(Request.ServerVariables("HTTP_CONTENT_TYPE")).split(",")[0]; // Altijd alleen eerste bekijken
|
||||
switch (contenttype.toLowerCase())
|
||||
{
|
||||
case "application/xml":
|
||||
inputformat = "xml";
|
||||
break;
|
||||
case "application/json":
|
||||
inputformat = "json";
|
||||
break;
|
||||
case "application/x-www-form-urlencoded":
|
||||
inputformat = "form";
|
||||
break;
|
||||
default:
|
||||
inputformat = outputformat;
|
||||
}
|
||||
}
|
||||
|
||||
switch (inputformat)
|
||||
{
|
||||
case "json":
|
||||
{
|
||||
var parsed = RequestJSON();
|
||||
if (parsed.error)
|
||||
api2.error(400, "Error parsing input JSON: " + parsed.error);
|
||||
jsondata = api2_rest.plugin.transform_incoming(requestparams, parsed.json);
|
||||
if (!jsondata)
|
||||
api2.error(400, "Error parsing input JSON: Empty");
|
||||
break;
|
||||
}
|
||||
case "xml":
|
||||
{
|
||||
var parsed = RequestXML();
|
||||
if (parsed.error)
|
||||
api2.error(400, "Error parsing input XML: " + parsed.error);
|
||||
jsondata = api2_rest.xml2json(parsed.xml);
|
||||
if (!jsondata)
|
||||
api2.error(400, "Error parsing input XML: Empty");
|
||||
break;
|
||||
}
|
||||
//case "form":
|
||||
//{
|
||||
// jsondata = { };
|
||||
// jsondata[model.recordname] = shared.form2json(model); // of api2.form2JSONdata inzetten?
|
||||
//}
|
||||
default:
|
||||
UNKNOWN_CONTENT_TYPE;
|
||||
}
|
||||
if (!jsondata || !(model.record_name in jsondata || (model.multi_update && model.records_name in jsondata)))
|
||||
{
|
||||
api2.error(400, "No '{0}' found in input".format(model.record_name));
|
||||
}
|
||||
api2.error(500, "No '{0}' found in input".format(model.record_name));
|
||||
}
|
||||
}
|
||||
|
||||
var key = getQParamInt("id", -1); // Voor POST/PUT/DELETE
|
||||
var isSingle = /PUT|POST|DELETE/.test(method) || (key > 0); // PUT, POST en DELETE altijd single
|
||||
|
||||
if (outputformat == "doc")
|
||||
if (getQParamSafe("format", "json") == "doc")
|
||||
{
|
||||
// Dan hoeven we verder bijna niets te doen
|
||||
if ("autfunction" in model)
|
||||
model.autfunctionname = L("lcl_" + model.autfunction);
|
||||
// TODO: velden strippen waar je niets mee te maken hebt?
|
||||
// Dan hoeven we verder niets te doen
|
||||
}
|
||||
else if (outputformat == "api" && getQParamInt("swagger", 0) == 0)
|
||||
else if (getQParamSafe("format", "json") == "api")
|
||||
{
|
||||
// TODO: Onderstaande in een of ander standaardformaat opleveren?
|
||||
var result = { id: model.records_name,
|
||||
"name": model.record_title,
|
||||
"names": model.records_title,
|
||||
"records_name": model.records_name,
|
||||
"record_name": model.record_name,
|
||||
"authorization": model.autfunction,
|
||||
methods: [],
|
||||
includes: [],
|
||||
fields: []
|
||||
};
|
||||
for (var i in model.includes)
|
||||
result.includes.push(i);
|
||||
if (model["REST_GET"])
|
||||
if ("REST_GET" in model)
|
||||
result.methods.push("GET");
|
||||
if (model["REST_PUT"])
|
||||
if ("REST_PUT" in model)
|
||||
result.methods.push("PUT");
|
||||
if (model["REST_POST"])
|
||||
if ("REST_POST" in model)
|
||||
result.methods.push("POST");
|
||||
if (model["REST_DELETE"])
|
||||
if ("REST_DELETE" in model)
|
||||
result.methods.push("DELETE");
|
||||
|
||||
for (var fld in model.fields)
|
||||
@@ -281,27 +191,18 @@ api2_rest = {
|
||||
result.fields.push({ id: fld,
|
||||
filter: model.fields[fld].filter,
|
||||
type: model.fields[fld].typ,
|
||||
label: model.fields[fld].label,
|
||||
required: model.fields[fld].required,
|
||||
valuelist: model.fields[fld].LOV && api2.splitLOV(model.fields[fld].LOV)
|
||||
label: model.fields[fld].label
|
||||
});
|
||||
}
|
||||
}
|
||||
else if (outputformat == "api" && getQParamInt("swagger", 0) == 1)
|
||||
{
|
||||
result = swaggermodel(model);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (method == "DELETE")
|
||||
{
|
||||
if (!(key > 0))
|
||||
api2.error(400, "Missing id");
|
||||
var result = model["REST_" + method]( requestparams, key );
|
||||
}
|
||||
else if (filter.mode == "attachment")
|
||||
{ // GET/PUT/POST https://xxxx.facilitor.nl/api2/visitors/99685/attachments/1040/testfile.jpg" bestaande folder
|
||||
// POST https://xxxx.facilitor.nl/api2/issues/0/attachments/1040/testfile.jpg" nieuw object, maakt TEMP aan
|
||||
else if (method == "GET" && filter.mode == "attachment" && "custom_fields" in model.includes)
|
||||
{
|
||||
if (wasCodePage != 65001)
|
||||
{
|
||||
// Door de IIS rewriter is de filenaam in de url utf-8 encoded
|
||||
@@ -319,67 +220,12 @@ api2_rest = {
|
||||
|
||||
requestparams.filter.id = key; // Die kan er maar beter wel zijn!
|
||||
requestparams.include = ["custom_fields"];
|
||||
var jsondata = { "custom_fields": [
|
||||
{
|
||||
"propertyid": parseInt(filter.subfolder, 10),
|
||||
"value": filter.filename, // Gaat de database in bij "F"
|
||||
"attachments": [
|
||||
{
|
||||
"name": filter.filename // Zo gaat hij heten op het filesysteem
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
};
|
||||
if (method == "PUT" || method == "POST")
|
||||
{
|
||||
var bytes = Request.TotalBytes;
|
||||
if (bytes == 0)
|
||||
api2.error(400, "Empty file");
|
||||
|
||||
var fileStream = Server.CreateObject("ADODB.Stream");
|
||||
fileStream.Type = 1; // adTypeBinary eerst nog
|
||||
fileStream.Open();
|
||||
try
|
||||
{
|
||||
fileStream.Write(Request.BinaryRead(bytes));
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
var msg = L("lcl_shared_upload_error_start") + e.description + L("lcl_shared_upload_error_end");
|
||||
api2.error(400, msg);
|
||||
}
|
||||
jsondata["custom_fields"][0]["attachments"][0].datastream = fileStream;
|
||||
if (key == 0) // new record
|
||||
{
|
||||
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 = { getFiles: true, api2name: null, tmpfolder: token };
|
||||
}
|
||||
else
|
||||
{
|
||||
requestparams.custom_fields_only = true; // Voorkom bij nieuwe bijlage onnodige update vam hele issue
|
||||
model["REST_" + method](requestparams, jsondata, key); // via het hoofdmodel met authorisatie controle en alles
|
||||
var record = { xflexparentkey: key, propertyid: jsondata.custom_fields[0].propertyid};
|
||||
var fileparams = { getFiles: true, api2name: model.records_name };
|
||||
}
|
||||
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;
|
||||
}
|
||||
// Geen atachment dus door met de reguliere code
|
||||
var data = model["REST_" + method](requestparams, jsondata, key);
|
||||
if (method == "GET")
|
||||
{
|
||||
if (!data.length) // mogelijk not authorized op hele record
|
||||
Response.Status = "404 Not Found";
|
||||
else
|
||||
model.includes["custom_fields"].model.streamattachment(filter, data[0].custom_fields);
|
||||
Response.End;
|
||||
}
|
||||
var data = model.REST_GET(requestparams);
|
||||
if (!data.length) // mogelijk not authorized op hele record
|
||||
Response.Status = "404 Not Found";
|
||||
else
|
||||
result = data;
|
||||
model.includes["custom_fields"].model.streamattachment(filter, data[0].custom_fields);
|
||||
Response.End;
|
||||
}
|
||||
else if (method == "GET")
|
||||
{
|
||||
@@ -387,11 +233,6 @@ api2_rest = {
|
||||
}
|
||||
else if (model.record_name in jsondata) // een enkel record
|
||||
{
|
||||
if (!(key > 0))
|
||||
api2.error(400, "Missing id");
|
||||
if (jsondata[model.record_name] instanceof Array)
|
||||
api2.error(400, "{0} should be single record only.".format(method))
|
||||
|
||||
var result = model["REST_" + method]( requestparams, jsondata[model.record_name], key );
|
||||
}
|
||||
else
|
||||
@@ -421,7 +262,7 @@ api2_rest = {
|
||||
case "POST":
|
||||
{
|
||||
var key = result.key;
|
||||
if (key > 0)
|
||||
if (key)
|
||||
{
|
||||
var params = { filter: shared.qs2json(model), include: getQParamArray("include", []) }, jsondata, key
|
||||
// requestparams.include is mogelijk uitgebreid met wat er in de body stond
|
||||
@@ -436,7 +277,7 @@ api2_rest = {
|
||||
}
|
||||
}
|
||||
|
||||
api2_rest.deliver(data, model, outputformat, isSingle);
|
||||
api2_rest.deliver(data, model, getQParamSafe("format", "json"), isSingle);
|
||||
|
||||
},
|
||||
// Data is een array met 'records'
|
||||
@@ -448,18 +289,16 @@ api2_rest = {
|
||||
Response.End;
|
||||
}
|
||||
|
||||
if (format == "html" || format == "json" || format == "table")
|
||||
if (format == "html" || format == "json")
|
||||
{
|
||||
var result = { };
|
||||
if (model.formatted_get)
|
||||
result = data;
|
||||
else if (single)
|
||||
if (single)
|
||||
result[model.record_name] = data[0];
|
||||
else
|
||||
{
|
||||
result.total_count = model.total_count;
|
||||
result.limit = model.limit;
|
||||
result.offset = model.offset;
|
||||
result.offset = 0;
|
||||
result[model.records_name] = data;
|
||||
}
|
||||
|
||||
@@ -482,41 +321,22 @@ api2_rest = {
|
||||
var lcl2fld = {};
|
||||
for (var fld in model.fields)
|
||||
{
|
||||
if (fld.substring(0,1) == "_")
|
||||
{
|
||||
delete model.fields[fld];
|
||||
continue;
|
||||
}
|
||||
|
||||
for (var prop in model.fields[fld])
|
||||
{
|
||||
if (typeof model.fields[fld][prop] == "function") // Bijvoorbeeld model_issues.filter
|
||||
model.fields[fld][prop] = "<<function>>";
|
||||
}
|
||||
|
||||
if (model.fields[fld].LOV)
|
||||
model.fields[fld].valuelist = api2.splitLOV(model.fields[fld].LOV, "lov_");
|
||||
|
||||
var lclname = "{0}.{1}.hint".format(model.records_name, fld);
|
||||
lcl2fld[lclname] = fld;
|
||||
safefieldnames.push(safe.quoted_sql(lclname));
|
||||
}
|
||||
if (safefieldnames.length)
|
||||
//model.fields[fld].hint = "Hallo";
|
||||
var sql = "SELECT fac_locale_xsl_label, "
|
||||
+ " COALESCE(fac_locale_xsl_cust, fac_locale_xsl_tekst) fac_locale_xsl_tekst"
|
||||
+ " FROM fac_locale_xsl xsl"
|
||||
+ " WHERE fac_locale_xsl_lang = " + safe.quoted_sql(user_lang)
|
||||
+ " AND fac_locale_xsl_module = 'ASP'"
|
||||
+ " AND fac_locale_xsl_label IN (" + safefieldnames.join(", ") + ")";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (!oRs.Eof)
|
||||
{
|
||||
//model.fields[fld].hint = "Hallo";
|
||||
var sql = "SELECT fac_locale_xsl_label, "
|
||||
+ " COALESCE(fac_locale_xsl_cust, fac_locale_xsl_tekst) fac_locale_xsl_tekst"
|
||||
+ " FROM fac_locale_xsl xsl"
|
||||
+ " WHERE fac_locale_xsl_lang = " + safe.quoted_sql(user_lang)
|
||||
+ " AND fac_locale_xsl_module = 'ASP'"
|
||||
+ " AND fac_locale_xsl_label IN (" + safefieldnames.join(", ") + ")";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (!oRs.Eof)
|
||||
{
|
||||
model.fields(lcl2fld[oRs("fac_locale_xsl_label").Value]) = oRs("fac_locale_xsl_tekst").value;
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
model.fields(lcl2fld[oRs("fac_locale_xsl_label").Value]) = oRs("fac_locale_xsl_tekst").value;
|
||||
oRs.MoveNext();
|
||||
}
|
||||
}
|
||||
Response.ContentType = "text/html";
|
||||
@@ -530,8 +350,7 @@ api2_rest = {
|
||||
|
||||
var style = new ActiveXObject("MSXML2.DOMDocument.6.0");
|
||||
style.async = false;
|
||||
style.resolveExternals = true; // XSL kan includes hebben
|
||||
style.validateOnParse = true; // en moet correct zijn
|
||||
style.resolveExternals = false;
|
||||
if (Request.QueryString("debug").Count == 0)
|
||||
{
|
||||
var xslname = model.xslname || "reference.xsl";
|
||||
@@ -540,8 +359,6 @@ api2_rest = {
|
||||
}
|
||||
else
|
||||
{
|
||||
// Het kan zijn dat de stylesheet bepaalde informatie verbergt.
|
||||
// Daarom niet zo maar aanbieden
|
||||
if (Application("otap_environment") != "O")
|
||||
ONLY_ON_OTAP_O;
|
||||
|
||||
@@ -568,32 +385,10 @@ api2_rest = {
|
||||
case "html":
|
||||
Response.ContentType = "text/html";
|
||||
var antwoord = JSON.stringify(resultdata, null, 2);
|
||||
var str_antwoord = "<!DOCTYPE html><html><head>"
|
||||
+ "<meta http-equiv='X-UA-Compatible' content='IE=edge,chrome=1'>"
|
||||
+ "<meta name='viewport' content='width=device-width, initial-scale=1.0, user-scalable=yes'>"
|
||||
+ "<title>{0}</title>".format(single?model.record_name:model.records_name)
|
||||
+ "</head>"
|
||||
+ "<body><pre>"
|
||||
var str_antwoord = "<!DOCTYPE html><html><head></head><body><pre>"
|
||||
+ Server.HTMLEncode(antwoord)
|
||||
+ "</pre></body></html>";
|
||||
break;
|
||||
case "table":
|
||||
Response.ContentType = "text/html";
|
||||
if (single)
|
||||
var antwoord = api2_rest.json2htmltable([resultdata[model.record_name]], model, single);
|
||||
else
|
||||
var antwoord = api2_rest.json2htmltable(resultdata[model.records_name], model, single);
|
||||
var str_antwoord = "<!DOCTYPE html>"
|
||||
+ "<html>"
|
||||
+ "<head>"
|
||||
+ " <title>{0}</title>".format(single?model.record_name:model.records_name)
|
||||
+ " <link rel=stylesheet type='text/css' href='" + rooturl + "/appl/api2/table.css'>"
|
||||
+ "</head>"
|
||||
+ "<body>"
|
||||
+ antwoord
|
||||
+ "</body>"
|
||||
+ "</html>";
|
||||
break;
|
||||
case "xml":
|
||||
Response.ContentType = "text/xml";
|
||||
var xml_antwoord = api2_rest.json2xml(data, model, single);
|
||||
@@ -632,12 +427,8 @@ api2_rest = {
|
||||
|
||||
// str_antwoord heeft nu het te versturen antwoord
|
||||
// Bepaal eTag
|
||||
var eTag = api2_rest.plugin.get_eTag({}, resultdata);
|
||||
if (!eTag)
|
||||
{
|
||||
var oCrypto = new ActiveXObject("SLNKDWF.Crypto");
|
||||
var eTag = '"' + oCrypto.hex_sha1(String(S("cache_changecounter")) + "_" + str_antwoord).toLowerCase() + '"';
|
||||
}
|
||||
var oCrypto = new ActiveXObject("SLNKDWF.Crypto");
|
||||
var eTag = '"' + oCrypto.hex_sha1(String(S("cache_changecounter")) + "_" + str_antwoord).toLowerCase() + '"';
|
||||
Response.AddHeader("ETag", eTag);
|
||||
if (Request.ServerVariables("HTTP_IF_NONE_MATCH") == eTag)
|
||||
{ // We hebben een match! Effectief besparen wel alleen op dataverkeer, de queries zijn al geweest
|
||||
@@ -649,63 +440,6 @@ api2_rest = {
|
||||
Response.write(str_antwoord);
|
||||
},
|
||||
|
||||
json2htmltable: function _json2htmltable(data, model, single)
|
||||
{
|
||||
var trs = [];
|
||||
if (data.length) // Header maken
|
||||
{
|
||||
var tds = [];
|
||||
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
|
||||
}
|
||||
}
|
||||
tds.push("<th title='{0}'>{1}</th>".format(safe.htmlattr(lbl), fld));
|
||||
}
|
||||
trs.push(tds.join(""));
|
||||
}
|
||||
for (var i = 0; i < data.length; i++)
|
||||
{
|
||||
var rec = data[i];
|
||||
var tds = [];
|
||||
for (var fld in rec)
|
||||
{
|
||||
var val = rec[fld];
|
||||
var safeval = Server.HTMLEncode(String(val));
|
||||
if (val === null)
|
||||
safeval = ' ';
|
||||
else if (typeof val == 'object' && val instanceof Date)
|
||||
safeval = toISODateTimeString(val);
|
||||
else if (val && typeof val == "object" && "id" in val)
|
||||
{
|
||||
var naam = val.name||"???";
|
||||
if (typeof naam == 'object' && naam instanceof Date) // Bij appointment
|
||||
naam = toISODateTimeString(naam);
|
||||
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, single); // dereference
|
||||
else if (val instanceof Array) // attachments array
|
||||
safeval = api2_rest.json2htmltable(val, model, single);
|
||||
|
||||
tds.push(safeval);
|
||||
}
|
||||
trs.push("<td>" + tds.join("</td><td>") + "</td>");
|
||||
}
|
||||
return "\n<table border='1'>\n<tr>" + trs.join("</tr>\n<tr>") + "</tr></table>";
|
||||
},
|
||||
|
||||
// TODO: Wanneer attributes gebruiken en wanneer (sub)-elements?
|
||||
// Streven: data == xml2json(json2xml(data))
|
||||
json2xml: function _json2xml(data, model, single)
|
||||
@@ -747,7 +481,7 @@ api2_rest = {
|
||||
{
|
||||
if ("name" in record[fld] && "id" in record[fld])
|
||||
{
|
||||
elementField.setAttribute("name", record[fld].name===null?"":record[fld].name);
|
||||
elementField.setAttribute("name", record[fld].name);
|
||||
elementField.setAttribute("id", record[fld].id);
|
||||
}
|
||||
else
|
||||
@@ -770,10 +504,6 @@ api2_rest = {
|
||||
else
|
||||
{
|
||||
var arrayElement = xmlDoc.createElement(rootname);
|
||||
arrayElement.setAttribute("total_count", model.total_count);
|
||||
arrayElement.setAttribute("limit", model.limit);
|
||||
arrayElement.setAttribute("offset", model.offset);
|
||||
|
||||
for (var i = 0; i < data.length; i++)
|
||||
arrayElement.appendChild(record2json(data[i], record_name));
|
||||
xmlDoc.appendChild(arrayElement);
|
||||
@@ -860,9 +590,7 @@ api2_rest = {
|
||||
{
|
||||
api2.error(500, "Loading {0} failed: {1}".format(ppath, e.description));
|
||||
}
|
||||
// Via DEZE kan de aanroeper eigenlijk alle globale functies benaderen
|
||||
// zoals __Log
|
||||
hook.initialize({ S: S, Oracle: Oracle, customerId: customerId, safe: safe, DEZE: DEZE });
|
||||
hook.initialize({ S: S, Oracle: Oracle, customerId: customerId, safe: safe });
|
||||
return hook;
|
||||
}
|
||||
}
|
||||
@@ -880,16 +608,6 @@ api2_rest = {
|
||||
hook = null;
|
||||
return outdata;
|
||||
},
|
||||
error_handler: function(code, msg, orgHandler)
|
||||
{
|
||||
var hook = api2_rest.find_plugin();
|
||||
if ("error_handler" in hook)
|
||||
outdata = hook.error_handler(code, msg, orgHandler);
|
||||
else
|
||||
outdata = orgHandler(code, msg);
|
||||
hook = null;
|
||||
return outdata;
|
||||
},
|
||||
transform_incoming: function(params, data)
|
||||
{
|
||||
var outdata = data;
|
||||
@@ -909,15 +627,6 @@ api2_rest = {
|
||||
outdata = hook.transform_outgoing(params, data);
|
||||
hook = null;
|
||||
return outdata;
|
||||
},
|
||||
get_eTag: function(params, data)
|
||||
{
|
||||
var outdata = null;
|
||||
var hook = api2_rest.find_plugin();
|
||||
if ("get_eTag" in hook)
|
||||
outdata = hook.get_eTag(params, data);
|
||||
hook = null;
|
||||
return outdata;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -939,9 +648,8 @@ function RequestJSON()
|
||||
}
|
||||
catch (e)
|
||||
{
|
||||
result = { error: e.description || (e.message + ": " + e.name) };
|
||||
__DoLog("JSON eval faalt met: '{0}'\n{1}".format(result.error, jvraag), "ffff00");
|
||||
return result ;
|
||||
__DoLog("JSON eval faalt met: {0}<br>{1}".format(e.description, jvraag), "ffff00");
|
||||
return { error: e.description };
|
||||
}
|
||||
return { json: vraag };
|
||||
}
|
||||
@@ -974,13 +682,7 @@ function BytesToStr(bytes)
|
||||
stream.type = 2; // Text
|
||||
stream.charset = "utf-8";
|
||||
|
||||
// Als onverhoopt toch windows-1252 is gestuurd met diacrieten gaf
|
||||
// stream.readtext() een 'The parameter is incorrect'
|
||||
// Vreemd genoeg lijkt het expliciet meegeven van een lengte dat te voorkomen.
|
||||
// Die mag zelfs gewoon veel 'te lang' zijn.
|
||||
// Merk op dat we windows-1252 niet ondersteunen, je moet echt utf-8 sturen
|
||||
// (we hadden waarschijnlijk ook 99999999 kunnen kiezen)
|
||||
var sOut = stream.readtext(stream.Size * 2);
|
||||
var sOut = stream.readtext();
|
||||
stream.close;
|
||||
return sOut;
|
||||
}
|
||||
@@ -1026,8 +728,6 @@ var simple_json2xml = (function (undefined) {
|
||||
if (obj.hasOwnProperty(i)) {
|
||||
var value = obj[i],
|
||||
type = typeof value;
|
||||
if (value === obj) // bij merged_model zouden we hier oneindige recursie krijgen
|
||||
continue;
|
||||
if (value instanceof Array && type == 'object') {
|
||||
for (var sub in value) {
|
||||
xml += simple_json2xml(value[sub]);
|
||||
@@ -1035,7 +735,7 @@ var simple_json2xml = (function (undefined) {
|
||||
} else if (value instanceof Object && type == 'object') {
|
||||
xml += tag(i) + simple_json2xml(value) + tag(i, 1);
|
||||
} else {
|
||||
xml += tag(i) + (value===null?"":Server.HTMLEncode(value)) + tag(i, 1);
|
||||
xml += tag(i) + Server.HTMLEncode(value) + tag(i, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,363 +0,0 @@
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: api2_swagger.inc
|
||||
Description: Genereer OpenAPI compatible documentatie
|
||||
zodat swagger ui die kan lezen
|
||||
Notes:
|
||||
Status:
|
||||
|
||||
*/
|
||||
%>
|
||||
<%
|
||||
function swaggerschema(model)
|
||||
{
|
||||
var schema = {
|
||||
"type":"object",
|
||||
"properties":{},
|
||||
"required": [],
|
||||
"xml":{
|
||||
"name": model.record_name
|
||||
}
|
||||
}
|
||||
for (var fld in model.fields)
|
||||
{
|
||||
if (fld.substring(0,1) == "_")
|
||||
continue;
|
||||
var field = model.fields[fld];
|
||||
if (field.hidden)
|
||||
continue;
|
||||
if (field.required)
|
||||
schema.required.push(fld);
|
||||
switch (field.typ)
|
||||
{
|
||||
case "key":
|
||||
var prop = {
|
||||
"type":"integer",
|
||||
"format":"int64"
|
||||
};
|
||||
if (fld == "id")
|
||||
prop["readOnly"] = true; // Wordt nog genegeerd door Swagger-ui 2.0
|
||||
break;
|
||||
case "float":
|
||||
case "currency":
|
||||
var prop = {
|
||||
"type":"float",
|
||||
"format":"float"
|
||||
};
|
||||
break;
|
||||
case "number":
|
||||
var prop = {
|
||||
"type":"integer",
|
||||
"format":"int64"
|
||||
};
|
||||
break;
|
||||
case "check":
|
||||
case "check0":
|
||||
var prop = {
|
||||
"type":"integer",
|
||||
"format":"int64",
|
||||
"enum":[0, 1]
|
||||
};
|
||||
break;
|
||||
case "varchar":
|
||||
case "memo":
|
||||
var prop = {
|
||||
"type":"string",
|
||||
"format":"string"
|
||||
};
|
||||
break;
|
||||
case "date":
|
||||
var prop = {
|
||||
"type":"date",
|
||||
"format":"date"
|
||||
};
|
||||
break;
|
||||
case "datetime":
|
||||
var prop = {
|
||||
"type":"dateTime",
|
||||
"format":"date-time"
|
||||
};
|
||||
break;
|
||||
break;
|
||||
default:
|
||||
continue;
|
||||
}
|
||||
prop.description = field.label;
|
||||
//prop["default"] = field.defaultvalue;
|
||||
if ("LOV" in field)
|
||||
{
|
||||
var spl = api2.splitLOV(field.LOV);
|
||||
var enums = [];
|
||||
for (var l in spl)
|
||||
{
|
||||
enums.push(l);
|
||||
}
|
||||
prop["enum"] = enums;
|
||||
}
|
||||
schema["properties"][fld] = prop;
|
||||
}
|
||||
return schema;
|
||||
};
|
||||
|
||||
function swaggermodel (model)
|
||||
{
|
||||
//if ("autfunction" in model && !user.has(model.autfunction))
|
||||
// return {};
|
||||
var auttext = "";
|
||||
if (model.autfunction)
|
||||
auttext = "Requires authorization `{0}` ({1})".format(model.autfunction, L("lcl_" + model.autfunction));
|
||||
model.records_title = model.records_title || model.records_name;
|
||||
model.record_title = model.record_title || model.record_name;
|
||||
var result = {
|
||||
"schema": { "fields": {} },
|
||||
"get": {
|
||||
"tags":[
|
||||
getQParamSafe("module", "XXX")
|
||||
],
|
||||
"summary": "Get all `{0}`".format(model.records_title),
|
||||
"description": "Returns all `{0}` from the system that the user has access to.".format(model.records_title) + "<br>" + auttext,
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "A list of `{0}`".format(model.records_title),
|
||||
"schema": {
|
||||
"$ref": "#/schema/{0}".format(model.records_name)
|
||||
}
|
||||
},
|
||||
"403": {
|
||||
"description": "Forbidden"
|
||||
}
|
||||
},
|
||||
"security":[
|
||||
{
|
||||
"api_key":[
|
||||
]
|
||||
}
|
||||
],
|
||||
"parameters": []
|
||||
}
|
||||
};
|
||||
|
||||
if (model.includes)
|
||||
{
|
||||
var enums = [];
|
||||
for (var i in model.includes)
|
||||
enums.push(i);
|
||||
var inc = model.includes[i];
|
||||
result["get"].parameters.push(
|
||||
{
|
||||
"name": "include",
|
||||
"in": "query",
|
||||
"description": "Include all `{0}`".format("model" in inc?(inc.model.records_title||inc.model.records_name):i),
|
||||
"required": false,
|
||||
"type": "array",
|
||||
"enum": enums
|
||||
});
|
||||
};
|
||||
|
||||
result["schema"]["fields"][model.record_name + "fields"] = swaggerschema(model);
|
||||
result["schema"][model.records_name] =
|
||||
{
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"total_count": {
|
||||
"type":"integer",
|
||||
"format":"int64",
|
||||
"example": 10,
|
||||
"xml": {
|
||||
"attribute": true
|
||||
}
|
||||
},
|
||||
"limit": {
|
||||
"type":"integer",
|
||||
"format":"int64",
|
||||
"example": S("qp_maxrows"),
|
||||
"xml": {
|
||||
"attribute": true
|
||||
}
|
||||
},
|
||||
"offset": {
|
||||
"type":"integer",
|
||||
"format":"int64",
|
||||
"example": 0, // Doen we altijd nog
|
||||
"xml": {
|
||||
"attribute": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
result["schema"][model.records_name]["properties"][model.records_name] =
|
||||
{
|
||||
"type": "array",
|
||||
"items": {
|
||||
"$ref": "#/schema/fields/" + model.record_name + "fields"
|
||||
}
|
||||
};
|
||||
|
||||
result["schema"][model.record_name] = {
|
||||
"type": "object",
|
||||
"properties": {}
|
||||
};
|
||||
result["schema"][model.record_name ]["properties"][model.record_name] =
|
||||
{
|
||||
"$ref": "#/schema/fields/" + model.record_name + "fields"
|
||||
}
|
||||
|
||||
if (getQParamInt("single", 0) == 1)
|
||||
{
|
||||
result["get"].summary = "Get one `{0}`".format(model.record_title);
|
||||
result["get"].description = "Returns the `{0}`.".format(model.record_title) + "<br>" + auttext,
|
||||
|
||||
result["get"].parameters.push(
|
||||
{
|
||||
"name":"id",
|
||||
"in":"path",
|
||||
"description":"ID of `{0}` to return".format(model.record_title),
|
||||
"required":true,
|
||||
"type":"integer",
|
||||
"format":"int64"
|
||||
}
|
||||
);
|
||||
result["get"]["responses"]["200"] =
|
||||
{
|
||||
"description": "A `{0}`".format(model.record_title),
|
||||
"schema": {
|
||||
"$ref": "#/schema/" + model.record_name
|
||||
}
|
||||
};
|
||||
}
|
||||
if (getQParamInt("single", 0) == 0 && model["REST_POST"])
|
||||
{
|
||||
result["post"] = {
|
||||
"tags":[
|
||||
getQParamSafe("module", "XXX")
|
||||
],
|
||||
"summary":"Add a new `{0}`".format(model.record_title),
|
||||
"description": auttext,
|
||||
"operationId":"add" + model.records_name,
|
||||
"parameters":[
|
||||
{
|
||||
"in":"body",
|
||||
"name":"body",
|
||||
"description":"`{0}` object that needs to be added".format(model.record_title),
|
||||
"required":true,
|
||||
"xxxschema":{
|
||||
"$ref":"#/definitions/Pet"
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/schema/" + model.record_name
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses":{
|
||||
"200": {
|
||||
"description": "A `{0}`".format(model.record_title),
|
||||
"schema": {
|
||||
"$ref": "#/schema/" + model.record_name
|
||||
}
|
||||
},
|
||||
"400":{
|
||||
"description":"Bad request"
|
||||
},
|
||||
"403": {
|
||||
"description": "Forbidden"
|
||||
}
|
||||
},
|
||||
"security":[
|
||||
{
|
||||
"api_key":[]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
if (getQParamInt("single", 0) == 1 && model["REST_PUT"])
|
||||
{
|
||||
result["put"] = {
|
||||
"tags":[
|
||||
getQParamSafe("module", "XXX")
|
||||
],
|
||||
"summary":"Update one `{0}`".format(model.record_title),
|
||||
"description": "Update an existing `{0}`".format(model.record_title) + "<br>" + auttext,
|
||||
"operationId":"add" + model.records_name,
|
||||
"parameters":[
|
||||
{
|
||||
"name":"id",
|
||||
"in":"path",
|
||||
"description":"ID of `{0}` to update".format(model.record_title),
|
||||
"required":true,
|
||||
"type":"integer",
|
||||
"format":"int64"
|
||||
},
|
||||
{
|
||||
"in":"body",
|
||||
"name":"body",
|
||||
"description":"`{0}` object that needs to be updated".format(model.record_title),
|
||||
"required":true,
|
||||
"xxxschema":{
|
||||
"$ref":"#/definitions/Pet"
|
||||
},
|
||||
"schema": {
|
||||
"$ref": "#/schema/" + model.record_name
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses":{
|
||||
"200": {
|
||||
"description": "A `{0}`".format(model.record_title),
|
||||
"schema": {
|
||||
"$ref": "#/schema/" + model.record_name
|
||||
}
|
||||
},
|
||||
"403": {
|
||||
"description": "Forbidden"
|
||||
},
|
||||
"400":{
|
||||
"description":"Bad request"
|
||||
}
|
||||
},
|
||||
"security":[
|
||||
{
|
||||
"api_key":[ ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
if (getQParamInt("single", 0) == 1 && model["REST_DELETE"])
|
||||
{
|
||||
result["delete"] = {
|
||||
"tags":[
|
||||
getQParamSafe("module", "XXX")
|
||||
],
|
||||
"summary":"Delete one `{0}`".format(model.record_title),
|
||||
"description": auttext,
|
||||
"operationId":"add" + model.records_name,
|
||||
"parameters":[
|
||||
{
|
||||
"name":"id",
|
||||
"in":"path",
|
||||
"description":"ID of `{0}` to delete".format(model.record_title),
|
||||
"required":true,
|
||||
"type":"integer",
|
||||
"format":"int64"
|
||||
}
|
||||
],
|
||||
"responses":{
|
||||
"204":{
|
||||
"description":"No content (delete succesfull or record not found)"
|
||||
},
|
||||
"403": {
|
||||
"description": "Forbidden"
|
||||
}
|
||||
},
|
||||
"security":[
|
||||
{
|
||||
"api_key":[ ]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
%>
|
||||
@@ -1,336 +0,0 @@
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: api2_tools.inc
|
||||
|
||||
Description:
|
||||
|
||||
Context:
|
||||
|
||||
Notes: voorheen mgt/mgt_tools.inc maar de functies zijn essentieel
|
||||
voor vele modellen dus moet het in api2_tools.inc
|
||||
*/
|
||||
%>
|
||||
<%
|
||||
function buildKenmerktypeLOV(kenmerktype, emptyOption)
|
||||
{
|
||||
var kenmerktypeLOV = "";
|
||||
switch (kenmerktype)
|
||||
{
|
||||
case "C":
|
||||
kenmerktypeLOV = "C;" + L("mgt_srtkenmerk_karakter");
|
||||
break;
|
||||
case "N":
|
||||
kenmerktypeLOV = "N;" + L("mgt_srtkenmerk_numeriek");
|
||||
break;
|
||||
case "D":
|
||||
kenmerktypeLOV = "D;" + L("mgt_srtkenmerk_datum");
|
||||
break;
|
||||
case "R":
|
||||
kenmerktypeLOV = "R;" + L("mgt_srtkenmerk_referentie_l") + ";"
|
||||
+ "S;" + L("mgt_srtkenmerk_referentie_s")
|
||||
break;
|
||||
case "S":
|
||||
kenmerktypeLOV = "S;" + L("mgt_srtkenmerk_referentie_s") + ";"
|
||||
+ "R;" + L("mgt_srtkenmerk_referentie_l")
|
||||
break;
|
||||
case "X":
|
||||
kenmerktypeLOV = "X;" + L("mgt_srtkenmerk_bestandsnaam");
|
||||
break;
|
||||
case "F":
|
||||
kenmerktypeLOV = "F;" + L("mgt_srtkenmerk_bestand");
|
||||
break;
|
||||
case "E":
|
||||
kenmerktypeLOV = "E;" + L("mgt_srtkenmerk_bestand_e");
|
||||
break;
|
||||
case "M":
|
||||
kenmerktypeLOV = "M;" + L("mgt_srtkenmerk_bestand_f");
|
||||
break;
|
||||
case "L":
|
||||
kenmerktypeLOV = "L;" + L("mgt_srtkenmerk_label") + ";"
|
||||
+ "l;" + L("mgt_srtkenmerk_label_i")
|
||||
break;
|
||||
case "l":
|
||||
kenmerktypeLOV = "l;" + L("mgt_srtkenmerk_label_i") + ";"
|
||||
+ "L;" + L("mgt_srtkenmerk_label")
|
||||
break;
|
||||
case "Q":
|
||||
kenmerktypeLOV = "Q;" + L("mgt_srtkenmerk_blanco");
|
||||
break;
|
||||
// case "B":
|
||||
// kenmerktypeLOV = "B;" + L("mgt_srtkenmerk_berekening");
|
||||
// break;
|
||||
default:
|
||||
kenmerktypeLOV = (emptyOption ? emptyOption + ";" : "")
|
||||
+ "C;" + L("mgt_srtkenmerk_karakter")
|
||||
+ ";N;" + L("mgt_srtkenmerk_numeriek")
|
||||
+ ";D;" + L("mgt_srtkenmerk_datum")
|
||||
+ ";R;" + L("mgt_srtkenmerk_referentie_l")
|
||||
+ ";S;" + L("mgt_srtkenmerk_referentie_s")
|
||||
+ ";X;" + L("mgt_srtkenmerk_bestandsnaam")
|
||||
+ ";F;" + L("mgt_srtkenmerk_bestand")
|
||||
+ ";E;" + L("mgt_srtkenmerk_bestand_e")
|
||||
+ ";M;" + L("mgt_srtkenmerk_bestand_f")
|
||||
+ ";L;" + L("mgt_srtkenmerk_label")
|
||||
+ ";l;" + L("mgt_srtkenmerk_label_i")
|
||||
+ ";Q;" + L("mgt_srtkenmerk_blanco")
|
||||
// + ";B;" + L("mgt_srtkenmerk_berekening");
|
||||
}
|
||||
return kenmerktypeLOV;
|
||||
}
|
||||
|
||||
function buildVerplichtingList()
|
||||
{ // LOV waarden voor xxx_kenmerk_verplicht.
|
||||
var s = ";" + L("mgt_kenmerk_verplicht_0")
|
||||
+ ";1;" + L("mgt_kenmerk_verplicht_1")
|
||||
+ ";2;" + L("mgt_kenmerk_verplicht_2");
|
||||
return s;
|
||||
}
|
||||
|
||||
function buildGroepsverplichtingList()
|
||||
{ // LOV waarden voor xxx_kenmerk_groep.
|
||||
var s = "0;<" + L("lcl_none") + ">";
|
||||
for (var i=1; i<=9; i++)
|
||||
{
|
||||
s = s + ";" + i + ";" + L("mgt_kenmerk_groep") + " " + i;
|
||||
}
|
||||
return s;
|
||||
}
|
||||
|
||||
function buildKenmerkNiveauList()
|
||||
{ // LOV waarde voor xxx_kenmerk_niveau
|
||||
var s = "D;" + L("mgt_srtkenmerk_discipline")
|
||||
+ ";G;" + L("mgt_srtkenmerk_srtgroep")
|
||||
+ ";S;" + L("mgt_srtkenmerk_srtdeel");
|
||||
return s;
|
||||
}
|
||||
|
||||
function buildSrtcontroletypeList()
|
||||
{ // LOV waarden voor srtcontrole_type
|
||||
var s = "1;" + L("lcl_ins_srtcontrole_insp")
|
||||
+ ";2;" + L("lcl_ins_srtcontrole_repl")
|
||||
+ ";3;" + L("lcl_ins_srtcontrole_cert");
|
||||
return s;
|
||||
}
|
||||
|
||||
function fac_kenmerkdomein_foreign(module)
|
||||
{
|
||||
return {
|
||||
"tbl": "(select fac_kenmerkdomein_key"
|
||||
+ " , fac_kenmerkdomein_omschrijving"
|
||||
+ " from fac_kenmerkdomein"
|
||||
+ " where fac_kenmerkdomein_verwijder is null"
|
||||
+ " and fac_kenmerkdomein_module = " + safe.quoted_sql(module)
|
||||
+ " order by fac_kenmerkdomein_upper asc)",
|
||||
"key": "fac_kenmerkdomein_key",
|
||||
"desc": "fac_kenmerkdomein_omschrijving"
|
||||
};
|
||||
}
|
||||
|
||||
function checkSrtkenmerkValue(params)
|
||||
{
|
||||
// params: module IN module (ALG, BES, ...).
|
||||
// srtkenmerk IN Is het een srtkenmerk (true) of kenmerk (false).
|
||||
// key IN (srt)kenmerk_key van de te controleren waarde.
|
||||
// value IN/OUT De te controleren waarde. Kan hier gewijzigd worden.
|
||||
// err OUT Foutmelding bij ongeldige waarde voor "value", anders lege string.
|
||||
//
|
||||
var prefix = params.module + "_" + (params.srtkenmerk ? "srt" : "");
|
||||
var sql = "SELECT *"
|
||||
+ " FROM " + prefix + "kenmerk"
|
||||
+ " WHERE " + prefix + "kenmerk_key = " + params.key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var ktyp = oRs(prefix + "kenmerk_kenmerktype").Value;
|
||||
var klen = oRs(prefix + "kenmerk_lengte").Value;
|
||||
var kdec = oRs(prefix + "kenmerk_dec").Value;
|
||||
var kmin = oRs(prefix + "kenmerk_nmin").Value;
|
||||
var kmax = oRs(prefix + "kenmerk_nmax").Value;
|
||||
oRs.Close();
|
||||
|
||||
var valid = true;
|
||||
var value = params.value;
|
||||
var err = ""; //L("lcl_mld_invalid_kenmerk_format");
|
||||
|
||||
if (value != "")
|
||||
{
|
||||
if (ktyp == "D")
|
||||
{
|
||||
// Test of er nu een geldig datumformaat staat.
|
||||
var arr = /^(\d{1,2})[-](\d{1,2})[-](\d{1,4})$/.exec(value);
|
||||
if (arr)
|
||||
{
|
||||
var dt = new Date( arr[3], arr[2] -1, arr[1] );
|
||||
if ((arr[1] != dt.getDate()) ||
|
||||
(arr[2] != dt.getMonth() + 1) ||
|
||||
(arr[3] != dt.getYear() && arr[3] != dt.getFullYear()))
|
||||
{
|
||||
valid = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
value = ("0" + dt.getDate()).slice(-2) + "-"
|
||||
+ ("0" + (dt.getMonth()+1)).slice(-2) + "-"
|
||||
+ dt.getFullYear();
|
||||
}
|
||||
}
|
||||
else valid = false;
|
||||
|
||||
if (!valid) err = L("mgt_srtkenmerk_err_datum");
|
||||
}
|
||||
else if (ktyp == "C")
|
||||
{ // newlines verdubbelen naar %0D%0A dus aantal regels bijtellen
|
||||
if (value.length + (value.split("\n").length-1) > klen)
|
||||
{
|
||||
valid = false;
|
||||
err = L("mgt_srtkenmerk_err_string").format(klen)+ "\n";
|
||||
}
|
||||
}
|
||||
else if (ktyp == "N")
|
||||
{
|
||||
var t;
|
||||
if (kdec)
|
||||
{
|
||||
var l1 = klen-kdec;
|
||||
var l2 = kdec;
|
||||
// Als een punt <20>n een komma in een getal behouden we alleen de laatste
|
||||
if (value.lastIndexOf(".") > value.lastIndexOf(","))
|
||||
{
|
||||
value = value.replace(/\,/ig, "");
|
||||
}
|
||||
if (value.lastIndexOf(",") > value.lastIndexOf("."))
|
||||
{
|
||||
value = value.replace(/\./ig, "");
|
||||
}
|
||||
var s = "^\\-?(\\d{1," + l1 + "}[.,]?|\\d{0," + l1 + "}[.,]\\d{1," + l2 + "})$";
|
||||
valid = value.match(new RegExp(s)) && valid;
|
||||
if (valid)
|
||||
{
|
||||
t = parseFloat(value.replace(",","."));
|
||||
}
|
||||
else
|
||||
{
|
||||
err = L("mgt_srtkenmerk_err_float") + "\n";
|
||||
|
||||
var aantal_decimalen = value.length - value.replace(",",".").indexOf(".");
|
||||
var aantal_helen = value.slice(0, value.replace(",",".").indexOf("."));
|
||||
if (aantal_decimalen > kdec)
|
||||
{
|
||||
valid = false;
|
||||
err += L("mgt_srtkenmerk_err_fl_dec").format(kdec) + "\n";
|
||||
}
|
||||
if (aantal_helen > (klen - kdec))
|
||||
{
|
||||
valid = false;
|
||||
err += L("mgt_srtkenmerk_err_fl_pre").format(klen - kdec) + "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (klen == 1 && kmin == 0 && kmax == 1)
|
||||
{
|
||||
// Checkbox; waarde in checked is altijd true of false, dus altijd valid.
|
||||
valid = true;
|
||||
t = (field.checked?1:0);
|
||||
}
|
||||
else
|
||||
{
|
||||
var s = "^\\-?\\d{1," + klen + "}[.,]?$";
|
||||
valid = value.match(new RegExp(s)) && valid;
|
||||
if (valid)
|
||||
{
|
||||
t = parseInt(value);
|
||||
}
|
||||
else
|
||||
{
|
||||
err = L("mgt_srtkenmerk_err_integer") + "\n";
|
||||
if (value.length > klen)
|
||||
{
|
||||
valid = false;
|
||||
err += L("mgt_srtkenmerk_err_int_len").format(klen) + "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (valid)
|
||||
{
|
||||
if ( (kmin !== null) && (kmax !== null))
|
||||
{
|
||||
if ( (t < kmin) || (t > kmax))
|
||||
{
|
||||
valid = false;
|
||||
err += L("mgt_srtkenmerk_err_range").format(kmin, kmax) + "\n";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if ((kmin !== null) && (t < kmin))
|
||||
{
|
||||
valid = false;
|
||||
err += L("mgt_srtkenmerk_err_min").format(kmin);
|
||||
}
|
||||
if ((kmax !== null) && (t > kmax))
|
||||
{
|
||||
valid = false;
|
||||
err += L("mgt_srtkenmerk_err_max").format(kmax);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
params.value = (valid ? value : "");
|
||||
params.err = (valid ? "" :err);
|
||||
}
|
||||
|
||||
// Deze functie vertaalt het positie autorisatieniveau naar tekst
|
||||
function buildAlgLevelLOV()
|
||||
{
|
||||
AlgLevelLOV = "-1;" + L("lcl_all")
|
||||
+ ";0;" + L("lcl_region")
|
||||
+ ";1;" + L("lcl_district")
|
||||
+ ";2;" + L("lcl_location")
|
||||
+ ";3;" + L("lcl_building")
|
||||
+ ";4;" + L("lcl_floor")
|
||||
+ ";5;" + L("lcl_room")
|
||||
+ ";9;" + L("fac_functie_auth_none");
|
||||
return AlgLevelLOV;
|
||||
}
|
||||
|
||||
function buildPrsLevelLOV()
|
||||
{
|
||||
PrsLevelLOV = "-1;" + L("lcl_all")
|
||||
+ ";0;" + L("lcl_company")
|
||||
+ ";1;" + L("lcl_dep_name_level1")
|
||||
+ ";2;" + L("lcl_dep_name_level2")
|
||||
+ ";3;" + L("lcl_dep_name_level3")
|
||||
+ ";4;" + L("lcl_dep_name_level4")
|
||||
+ ";5;" + L("lcl_dep_name_level5")
|
||||
+ ";9;" + L("fac_functie_auth_none");
|
||||
return PrsLevelLOV;
|
||||
}
|
||||
|
||||
function buildStatusList()
|
||||
{
|
||||
var statusList = "-1;"
|
||||
+ ";1;" + L("lcl_mld_afgewezen")
|
||||
+ ";6;" + L("lcl_mld_afgemeld");
|
||||
return statusList;
|
||||
}
|
||||
|
||||
function buildCadPositionLOV()
|
||||
{
|
||||
return "1;" + L("cad_label_type_bi_rui")
|
||||
+ ";9;" + L("cad_label_type_bi_wp")
|
||||
+ ";17;" + L("cad_label_type_bi_obj")
|
||||
+ ";2;" + L("cad_label_type_bu_ts")
|
||||
+ ";18;" + L("cad_label_type_bu_obj");
|
||||
}
|
||||
|
||||
function buildCadSituationLOV()
|
||||
{
|
||||
return "0;" + L("cad_label_type_si_act")
|
||||
+ ";4;" + L("cad_label_type_si_sce");
|
||||
}
|
||||
|
||||
%>
|
||||
@@ -1,25 +0,0 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: api_about.asp
|
||||
|
||||
Description:
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
Notes:
|
||||
*/
|
||||
DOCTYPE_Disable = true;
|
||||
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
|
||||
THIS_FILE = "appl/api/api_about.asp";
|
||||
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="./api2_rest.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="./model_about.inc" -->
|
||||
<%
|
||||
api2_rest.process(model_about);
|
||||
%>
|
||||
@@ -1,26 +0,0 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: api_authorizationgroups.asp
|
||||
|
||||
Description: ALG_GEBOUW API
|
||||
Parameters:
|
||||
Context: Door een remote systeem (geen persoon) om info uit FACILITOR te halen aan te roepen
|
||||
|
||||
Notes: Eigen bestand zodat we internal: true kunnen meegeven
|
||||
*/
|
||||
DOCTYPE_Disable = true;
|
||||
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
|
||||
THIS_FILE = "appl/api/api_authorizationgroups.asp";
|
||||
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="./api2_rest.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="./model_fac_groep.inc" -->
|
||||
<%
|
||||
var groep = new model_fac_groep(null, { internal: true }); // internal zodat PUT/POST/DELETE ook kunnen
|
||||
api2_rest.process(groep);
|
||||
%>
|
||||
@@ -1,25 +0,0 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: api_ins_deelsrtcontrole.asp
|
||||
|
||||
Description: Inspecties model
|
||||
Parameters:
|
||||
Context: Door een remote systeem (geen persoon) om info uit FACILITOR te halen aan te roepen
|
||||
|
||||
Notes:
|
||||
*/
|
||||
DOCTYPE_Disable = true;
|
||||
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
|
||||
THIS_FILE = "appl/api/api_ins_deelsrtcontrole.asp";
|
||||
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="./api2_rest.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="./model_ins_deelsrtcontrole.inc" -->
|
||||
<%
|
||||
api2_rest.process(model_ins_deelsrtcontrole);
|
||||
%>
|
||||
@@ -21,5 +21,5 @@
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="./model_locations.inc" -->
|
||||
<%
|
||||
api2_rest.process(model_alg_locatie);
|
||||
api2_rest.process(model_locations);
|
||||
%>
|
||||
@@ -21,6 +21,5 @@
|
||||
<!-- #include file="./api2_rest.inc" -->
|
||||
<!-- #include file="./model_notes.inc" -->
|
||||
<%
|
||||
api2_rest.process(new model_notes(getQParam("module", "").toUpperCase()));
|
||||
|
||||
api2_rest.process(model_notes);
|
||||
%>
|
||||
@@ -13,7 +13,7 @@
|
||||
*/
|
||||
DOCTYPE_Disable = true;
|
||||
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
|
||||
THIS_FILE = "appl/api2/api_orders.asp";
|
||||
THIS_FILE = "appl/api/api_orders.asp";
|
||||
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
|
||||
File: api_persons.asp
|
||||
|
||||
Description: ALG_GEBOUW API
|
||||
Description: PRS_PERSLID API
|
||||
Parameters:
|
||||
Context: Door een remote systeem (geen persoon) om info uit FACILITOR te halen aan te roepen
|
||||
|
||||
Notes: Eigen bestand zodat we internal: true kunnen meegeven
|
||||
Notes:
|
||||
*/
|
||||
DOCTYPE_Disable = true;
|
||||
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
|
||||
@@ -19,8 +19,7 @@
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="./api2_rest.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="./model_prs_perslid.inc" -->
|
||||
<!-- #include file="./model_persons.inc" -->
|
||||
<%
|
||||
var perslid = new model_prs_perslid({ internal: true }); // internal zodat PUT/POST/DELETE ook kunnen
|
||||
api2_rest.process(perslid);
|
||||
api2_rest.process(model_persons);
|
||||
%>
|
||||
@@ -22,9 +22,7 @@
|
||||
<!-- #include file="./model_reports.inc" -->
|
||||
<%
|
||||
var usrrap_key = getQParamInt("usrrap_key");
|
||||
var model = model_reports(usrrap_key);
|
||||
|
||||
// Deferred omdat anders de authenticatie te vroeg is
|
||||
var fnmodel = function () { return model_reports(usrrap_key) };
|
||||
|
||||
api2_rest.process(fnmodel);
|
||||
api2_rest.process(model);
|
||||
%>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user