Compare commits
22 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
32f50cfc0d | ||
|
|
19eda0446f | ||
|
|
760f7887ee | ||
| 987e0953ee | |||
|
|
5faaf9fb00 | ||
|
|
f93ebaef82 | ||
|
|
c8f87ef9bb | ||
|
|
bff4d5b96d | ||
|
|
04ea1bd347 | ||
|
|
ee983f7ee5 | ||
|
|
07e9b17cf0 | ||
|
|
1de67fe756 | ||
|
|
1b72de6313 | ||
|
|
1f4cff7357 | ||
|
|
a0ac244587 | ||
|
|
bfb4a02ac5 | ||
|
|
6e5928b911 | ||
|
|
d271d17ab4 | ||
|
|
6d962640c7 | ||
|
|
5a6896ba50 | ||
|
|
7f2e030dfc | ||
|
|
d20b37f65c |
2
APPL/.gitignore
vendored
2
APPL/.gitignore
vendored
@@ -1,2 +0,0 @@
|
||||
/.vscode
|
||||
.vs
|
||||
143
APPL/ALG/alg.inc
143
APPL/ALG/alg.inc
@@ -99,6 +99,13 @@ alg = {
|
||||
|
||||
var autfunctionMAN = "WEB_ALGMAN";
|
||||
var autfunctionUSE = "WEB_ALGUSE";
|
||||
|
||||
// Met ALG* bepaal je wat je ziet (Read).
|
||||
rresult.readman = rresult.canRead (autfunctionMAN);
|
||||
if (onrgoedlvl != "T")
|
||||
rresult.readuse = rresult.canRead (autfunctionUSE);
|
||||
|
||||
// Met RUI* en TER* bepaal je wat je kunt wijzigen (Write).
|
||||
switch (onrgoedlvl)
|
||||
{
|
||||
case "T": autfunctionMAN = "WEB_TERMAN";
|
||||
@@ -107,15 +114,14 @@ alg = {
|
||||
autfunctionUSE = "WEB_RUIUSE";
|
||||
break;
|
||||
}
|
||||
|
||||
// Met ALG* bepaal je wat je ziet (Read).
|
||||
rresult.readman = rresult.canRead (autfunctionMAN);
|
||||
rresult.readuse = rresult.canRead (autfunctionUSE);
|
||||
// Met RUI* en TER* bepaal je wat je kunt wijzigen (Write).
|
||||
rresult.readmgt = rresult.canRead("WEB_ALGMGT");
|
||||
rresult.writemgt = rresult.canWrite("WEB_ALGMGT");
|
||||
rresult.writeman = rresult.canWrite(autfunctionMAN);
|
||||
rresult.writeuse = rresult.canWrite(autfunctionUSE);
|
||||
|
||||
if (onrgoedlvl != "T")
|
||||
rresult.writeuse = rresult.canWrite(autfunctionUSE);
|
||||
else
|
||||
rresult.writeuse = false;
|
||||
}
|
||||
else // iets meer werk
|
||||
{
|
||||
@@ -137,7 +143,7 @@ alg = {
|
||||
+ "WHERE prs_perslid_key = " + user_key
|
||||
+ " AND alg_district_key = " + alg_key;
|
||||
break;
|
||||
case "E":
|
||||
case "RG":
|
||||
sql = "SELECT MAX(niveau) FROM fac_v_my_regions "
|
||||
+ "WHERE prs_perslid_key = " + user_key
|
||||
+ " AND alg_regio_key = " + alg_key;
|
||||
@@ -303,7 +309,6 @@ alg = {
|
||||
+ " , p.prs_perslid_key"
|
||||
+ " , COALESCE(g.alg_gebouw_beginuur, -1) alg_gebouw_beginuur"
|
||||
+ " , COALESCE(g.alg_gebouw_einduur, -1) alg_gebouw_einduur"
|
||||
+ " , mld_vrije_dagen_id"
|
||||
+ " FROM alg_gebouw g"
|
||||
+ " , prs_kostenplaats k"
|
||||
+ " , prs_perslid p"
|
||||
@@ -335,27 +340,10 @@ alg = {
|
||||
kostenplaats_budgethouder_key: oRs("prs_perslid_key").Value,
|
||||
kostenplaats_budgethouder: oRs("budgethouder").Value,
|
||||
gebouw_beginuur: oRs("alg_gebouw_beginuur").Value,
|
||||
gebouw_einduur: oRs("alg_gebouw_einduur").Value,
|
||||
vrije_dagen: {id: oRs("mld_vrije_dagen_id").Value}
|
||||
gebouw_einduur: oRs("alg_gebouw_einduur").Value
|
||||
};
|
||||
}
|
||||
oRs.Close();
|
||||
if (result.vrije_dagen.id && result.vrije_dagen.id.toUpperCase() != "DEFAULT")
|
||||
{
|
||||
var vrije_dagen_alt = [];
|
||||
var sql = "SELECT mld_vrije_dagen_datum"
|
||||
+ " FROM mld_vrije_dagen"
|
||||
+ " WHERE mld_vrije_dagen_id = " + safe.quoted_sql(result.vrije_dagen.id);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (!oRs.eof)
|
||||
{
|
||||
vrije_dagen_alt.push((new Date(oRs("mld_vrije_dagen_datum").Value)).getTime());
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
if (vrije_dagen_alt.length)
|
||||
result.vrije_dagen.alt = vrije_dagen_alt;
|
||||
}
|
||||
|
||||
return result;
|
||||
},
|
||||
@@ -457,12 +445,12 @@ alg = {
|
||||
return algm2;
|
||||
},
|
||||
|
||||
alg_onroerendgoed_flex_params: function(p_niveau, p_inlijst)
|
||||
alg_onroerendgoed_flex_params: function(p_niveau)
|
||||
{
|
||||
var sql = "SELECT DISTINCT " + lcl.xsqla("k.alg_kenmerk_omschrijving", "k.alg_kenmerk_key")
|
||||
+ " , k.alg_kenmerk_kenmerktype"
|
||||
+ " FROM alg_kenmerk k"
|
||||
+ " WHERE (BITAND(alg_kenmerk_inlijst, " + (p_inlijst? p_inlijst : 1) + ") = " + (p_inlijst? p_inlijst : 1) + ")"
|
||||
+ " WHERE (BITAND(alg_kenmerk_inlijst, 1) = 1)"
|
||||
+ " AND (BITAND(alg_kenmerk_systeem, 4) = 0 OR k.alg_kenmerk_systeem IS NULL)"
|
||||
+ " AND k.alg_kenmerk_niveau = " + safe.quoted_sql_upper(p_niveau)
|
||||
+ " AND k.alg_kenmerk_verwijder IS NULL";
|
||||
@@ -478,7 +466,7 @@ alg = {
|
||||
if (!oRs.eof)
|
||||
{
|
||||
multiflex = true;
|
||||
v_flexParams.flexlabel = L("lcl_flexlist_alg_" + p_niveau.toLowerCase());
|
||||
v_flexParams.flexlabel = L("lcl_flexlist");
|
||||
while (!oRs.eof)
|
||||
{
|
||||
if (oRs("alg_kenmerk_kenmerktype").Value == "M")
|
||||
@@ -492,7 +480,6 @@ alg = {
|
||||
var onrgoed_fld = "";
|
||||
switch (p_niveau)
|
||||
{
|
||||
case "E": onrgoed_fld = "e.alg_regio_key"; break;
|
||||
case "D": onrgoed_fld = "d.alg_district_key"; break;
|
||||
case "L": onrgoed_fld = "l.alg_locatie_key"; break;
|
||||
case "T": onrgoed_fld = "g.alg_terreinsector_key"; break;
|
||||
@@ -500,70 +487,76 @@ alg = {
|
||||
case "V": onrgoed_fld = "v.alg_verdieping_key"; break;
|
||||
case "R": onrgoed_fld = "r.alg_ruimte_key"; break;
|
||||
}
|
||||
v_flexParams.sql = (v_flexParams.anyflex
|
||||
? ", (SELECT LISTAGG(" + (multiflex
|
||||
? lcl.xsql("k.alg_kenmerk_omschrijving", "k.alg_kenmerk_key") + " || ':' || chr(160) || "
|
||||
: "")
|
||||
+ " CASE WHEN k.alg_kenmerk_kenmerktype = 'R' OR k.alg_kenmerk_kenmerktype = 'r' OR k.alg_kenmerk_kenmerktype = 'S'"
|
||||
+ " THEN flx.getdomeinwaarde(k.fac_kenmerkdomein_key, km.alg_onrgoedkenmerk_waarde)"
|
||||
+ " WHEN ( ( k.alg_kenmerk_kenmerktype = 'N'"
|
||||
+ " AND k.alg_kenmerk_lengte = 1"
|
||||
+ " AND k.alg_kenmerk_nmin = 0"
|
||||
+ " AND k.alg_kenmerk_nmax = 1"
|
||||
+ " AND (k.alg_kenmerk_dec = 0 OR k.alg_kenmerk_dec IS NULL)"
|
||||
+ " )"
|
||||
+ " OR (k.alg_kenmerk_kenmerktype = 'V')"
|
||||
+ " )"
|
||||
+ " THEN DECODE( km.alg_onrgoedkenmerk_waarde"
|
||||
+ " , 0, " + safe.qL("lcl_check_0")
|
||||
+ " , 1, " + safe.qL("lcl_check_1")
|
||||
+ " , km.alg_onrgoedkenmerk_waarde"
|
||||
+ " )"
|
||||
+ " ELSE km.alg_onrgoedkenmerk_waarde"
|
||||
+ " END"
|
||||
+ " , CHR(13)"
|
||||
+ " )"
|
||||
+ " WITHIN GROUP (ORDER BY k.alg_kenmerk_volgnr)"
|
||||
+ " FROM alg_kenmerk k"
|
||||
+ " , alg_onrgoedkenmerk km"
|
||||
+ " WHERE km.alg_onrgoed_key = " + onrgoed_fld
|
||||
+ " AND km.alg_onrgoed_niveau = " + safe.quoted_sql_upper(p_niveau)
|
||||
+ " AND k.alg_kenmerk_key = km.alg_kenmerk_key"
|
||||
+ " AND (BITAND(k.alg_kenmerk_inlijst, " + (p_inlijst? p_inlijst : 1) + ") = " + (p_inlijst? p_inlijst : 1) + ")"
|
||||
+ " AND (BITAND(k.alg_kenmerk_systeem, 4) = 0 OR k.alg_kenmerk_systeem IS NULL)" // -- niet als vertrouwelijk
|
||||
+ " AND k.alg_kenmerk_verwijder IS NULL"
|
||||
+ " AND km.alg_onrgoedkenmerk_verwijder IS NULL"
|
||||
+ ") algflex"
|
||||
v_flexParams.sql = ( v_flexParams.anyflex
|
||||
? " , (SELECT LISTAGG(" + ( multiflex
|
||||
? lcl.xsql("k.alg_kenmerk_omschrijving", "k.alg_kenmerk_key") + " || ':' || chr(160) || "
|
||||
: ""
|
||||
)
|
||||
+ " CASE WHEN k.alg_kenmerk_kenmerktype = 'R' OR k.alg_kenmerk_kenmerktype = 'r' OR k.alg_kenmerk_kenmerktype = 'S'"
|
||||
+ " THEN flx.getdomeinwaarde(k.fac_kenmerkdomein_key, km.alg_onrgoedkenmerk_waarde)"
|
||||
+ " WHEN ( ( k.alg_kenmerk_kenmerktype = 'N'"
|
||||
+ " AND k.alg_kenmerk_lengte = 1"
|
||||
+ " AND k.alg_kenmerk_nmin = 0"
|
||||
+ " AND k.alg_kenmerk_nmax = 1"
|
||||
+ " AND (k.alg_kenmerk_dec = 0 OR k.alg_kenmerk_dec IS NULL)"
|
||||
+ " )"
|
||||
+ " OR (k.alg_kenmerk_kenmerktype = 'V')"
|
||||
+ " )"
|
||||
+ " THEN DECODE( km.alg_onrgoedkenmerk_waarde"
|
||||
+ " , 0, " + safe.qL("lcl_check_0")
|
||||
+ " , 1, " + safe.qL("lcl_check_1")
|
||||
+ " , km.alg_onrgoedkenmerk_waarde"
|
||||
+ " )"
|
||||
+ " ELSE km.alg_onrgoedkenmerk_waarde"
|
||||
+ " END"
|
||||
+ " , CHR(13)"
|
||||
+ " )"
|
||||
+ " WITHIN GROUP (ORDER BY k.alg_kenmerk_volgnr)"
|
||||
+ " FROM alg_kenmerk k"
|
||||
+ " , alg_onrgoedkenmerk km"
|
||||
+ " WHERE km.alg_onrgoed_key = " + onrgoed_fld
|
||||
+ " AND km.alg_onrgoed_niveau = " + safe.quoted_sql_upper(p_niveau)
|
||||
+ " AND k.alg_kenmerk_key = km.alg_kenmerk_key"
|
||||
+ " AND (BITAND(k.alg_kenmerk_inlijst,1) = 1)"
|
||||
+ " AND (BITAND(k.alg_kenmerk_systeem,4) = 0 OR k.alg_kenmerk_systeem IS NULL)" // -- niet als vertrouwelijk
|
||||
+ " AND k.alg_kenmerk_verwijder IS NULL"
|
||||
+ " AND km.alg_onrgoedkenmerk_verwijder IS NULL"
|
||||
+ " ) flex"
|
||||
: ""
|
||||
)
|
||||
return v_flexParams;
|
||||
},
|
||||
|
||||
alg_onroerendgoed_flex_bijlagen: function(p_niveau, p_alg_key, p_inlijst)
|
||||
alg_onroerendgoed_flex_bijlagen: function(p_niveau, p_alg_key)
|
||||
{
|
||||
var bijlagen_aantal = 0;
|
||||
var bijlagen_oms = "";
|
||||
var bijlagen_lijst = [];
|
||||
var sql_k = "SELECT k.alg_kenmerk_key"
|
||||
+ " , " + lcl.xsqla("k.alg_kenmerk_omschrijving", "k.alg_kenmerk_key")
|
||||
+ " , CASE WHEN BITAND(k.alg_kenmerk_inlijst, 1) = 1"
|
||||
+ " THEN 1"
|
||||
+ " ELSE 0"
|
||||
+ " END in_overzicht_tonen"
|
||||
+ " FROM alg_kenmerk k"
|
||||
+ " WHERE BITAND(k.alg_kenmerk_inlijst, " + (p_inlijst? p_inlijst : 1) + ") = " + (p_inlijst? p_inlijst : 1)
|
||||
+ " AND k.alg_kenmerk_verwijder IS NULL"
|
||||
+ " WHERE k.alg_kenmerk_verwijder IS NULL"
|
||||
+ " AND k.alg_kenmerk_kenmerktype= 'M'"
|
||||
+ " AND k.alg_kenmerk_niveau = " + safe.quoted_sql_upper(p_niveau);
|
||||
var oRs_k = Oracle.Execute(sql_k);
|
||||
while (!oRs_k.eof)
|
||||
{
|
||||
var kenmerk_key = oRs_k("alg_kenmerk_key").Value;
|
||||
var bijlagen_oms = oRs_k("alg_kenmerk_omschrijving").Value;
|
||||
var bestanden = flexProps("ALG", p_alg_key, kenmerk_key, "A", {getFiles: true});
|
||||
var km_aantal = bestanden.files.length;
|
||||
for (var i=0; i<km_aantal; i++)
|
||||
if (oRs_k("in_overzicht_tonen").Value == 1)
|
||||
{
|
||||
bijlagen_lijst.push(bestanden.files[i].name);
|
||||
var kenmerk_key = oRs_k("alg_kenmerk_key").Value;
|
||||
var bijlagen_oms = oRs_k("alg_kenmerk_omschrijving").Value;
|
||||
var bestanden = flexProps("ALG", p_alg_key, kenmerk_key, "A", {getFiles: true});
|
||||
var km_aantal = bestanden.files.length;
|
||||
for (var i=0; i<km_aantal; i++)
|
||||
{
|
||||
bijlagen_lijst.push(bestanden.files[i].name);
|
||||
}
|
||||
bijlagen_aantal += km_aantal;
|
||||
}
|
||||
bijlagen_aantal += km_aantal;
|
||||
|
||||
oRs_k.MoveNext();
|
||||
}
|
||||
oRs_k.Close();
|
||||
|
||||
@@ -47,7 +47,7 @@ FCLTHeader.Requires({ plugins:["jQuery"] });
|
||||
var data = { key: disKeyString,
|
||||
level: "D"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
<% protectRequest.dataToken("data"); %>+
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
}
|
||||
);
|
||||
@@ -152,10 +152,10 @@ function district_list(pautfunction, params)
|
||||
|
||||
function fncolFlexBijlagen(oRs)
|
||||
{
|
||||
var flexval = oRs("algflex").Value;
|
||||
var flexval = oRs("flex").Value;
|
||||
var alg_key = oRs("alg_district_key").Value;
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
: ""
|
||||
);
|
||||
if (flexParams.bijlageflex)
|
||||
@@ -194,3 +194,4 @@ function district_list(pautfunction, params)
|
||||
</body>
|
||||
</html>
|
||||
<%}%>
|
||||
|
||||
|
||||
@@ -78,7 +78,6 @@ if (bld_key > 0)
|
||||
var vervaldatum = oRs("alg_gebouw_vervaldatum").Value != null ? new Date(oRs("alg_gebouw_vervaldatum").Value) : null;
|
||||
var geb_score1 = oRs("alg_gebouw_mjb_score1").Value;
|
||||
var actie_grp_key = oRs("bez_actie_groep_key").Value;
|
||||
var kalender_id = oRs("mld_vrije_dagen_id").Value;
|
||||
oRs.Close();
|
||||
}
|
||||
else
|
||||
@@ -233,17 +232,6 @@ else
|
||||
filtercode: "A",
|
||||
readonly: !this_alg.writeman
|
||||
}) ;
|
||||
var sql = "SELECT DISTINCT mld_vrije_dagen_id, mld_vrije_dagen_id"
|
||||
+ " FROM mld_vrije_dagen";
|
||||
FCLTselector("cal_id"
|
||||
, sql
|
||||
, { label: L("lcl_calendar")
|
||||
, initKey: kalender_id
|
||||
, emptyOption: ""
|
||||
, emptyKey: ""
|
||||
, readonly: !this_alg.writeman
|
||||
}
|
||||
);
|
||||
var times = [];
|
||||
for (i=0; i<24; i++)
|
||||
{
|
||||
|
||||
@@ -77,7 +77,7 @@ user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele we
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="fclt-modal" id="mod_algmultiedit">
|
||||
<body class="modal" id="mod_algmultiedit">
|
||||
<% MODAL_START(); %>
|
||||
<form name="u2" action="alg_edit_gebouw_multi_save.asp?bld_keys=<%=ingesloten.join(",")%>" method="post">
|
||||
<%
|
||||
@@ -147,15 +147,6 @@ user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele we
|
||||
initEmpty: true,
|
||||
readonly: !this_alg.writeuse
|
||||
});
|
||||
sql = "SELECT DISTINCT mld_vrije_dagen_id, mld_vrije_dagen_id"
|
||||
+ " FROM mld_vrije_dagen";
|
||||
FCLTselector("cal_id"
|
||||
, sql
|
||||
, { label: L("lcl_calendar")
|
||||
, emptyOption: ""
|
||||
, initEmpty: true
|
||||
, readonly: !this_alg.writeman
|
||||
});
|
||||
var times = [];
|
||||
for (i=0; i<24; i++)
|
||||
{
|
||||
|
||||
@@ -49,9 +49,6 @@ if (Request.Form("toon_kenteken").Count == 1 && getFParam("check_toon_kenteken",
|
||||
}
|
||||
if (Request.Form("dienstniveau").Count == 1 && getFParam("check_dienstniveau", "off") == "on")
|
||||
fields.push({ dbs: "mld_dienstniveau_key", typ: "key", frm: "dienstniveau", track: L("lcl_mld_dienst_niveau"), foreign: "mld_dienstniveau" });
|
||||
|
||||
if (Request.Form("cal_id").Count == 1 && getFParam("check_cal_id", "off") == "on")
|
||||
fields.push({ dbs: "mld_vrije_dagen_id", typ: "varchar", frm: "cal_id", track: L("lcl_calendar") });
|
||||
if (Request.Form("bld_beginuur").Count == 1 && getFParam("check_bld_beginuur", "off") == "on")
|
||||
fields.push({ dbs: "alg_gebouw_beginuur", typ: "float", frm: "bld_beginuur", track: L("lcl_estate_gebouw_beginuur") });
|
||||
if (Request.Form("bld_einduur").Count == 1 && getFParam("check_bld_einduur", "off") == "on")
|
||||
@@ -115,11 +112,9 @@ for (var i = 0; i < bld_key_arr.length; i++)
|
||||
isNew: false
|
||||
});
|
||||
|
||||
if ((algUpd.trackarray && algUpd.trackarray.length) || (flextrack && flextrack.length))
|
||||
if (flextrack && flextrack.length)
|
||||
{
|
||||
var update_string = L("lcl_alg_is_alglup") + "\n";
|
||||
if (algUpd.trackarray && algUpd.trackarray.length)
|
||||
update_string += algUpd.trackarray.join("\n");
|
||||
var update_string = L("lcl_alg_is_alglup") + "\n" + algUpd.trackarray.join("\n");
|
||||
if (flextrack && flextrack.length)
|
||||
update_string += flextrack.join("\n");
|
||||
shared.trackaction("ALGGUP", alg_key, update_string);
|
||||
|
||||
@@ -37,6 +37,14 @@ var fields = [ /* { dbs: "alg_gebouw_getekend", typ: "date", frm: "bld
|
||||
{ dbs: "alg_gebouw_dwgy", typ: "float", frm: "bld_dwgy" }, Deze 3 velden worden nergens meegegeven? */
|
||||
];
|
||||
|
||||
if (this_alg.writeuse)
|
||||
{
|
||||
fields.push({ dbs: "mld_dienstniveau_key", typ: "key", frm: "dienstniveau", track: L("lcl_mld_dienst_niveau"), foreign: "mld_dienstniveau" },
|
||||
// De gebouwverantwoordelijke(n) moeten eigenlijk nog een PRS-scope test ondergaan alvorens opgeslagen te worden, maar dat is voor nu teveel eer
|
||||
{ dbs: "prs_perslid_key_verantw", typ: "key", frm: "verantw", track: L("lcl_alg_verantw"), foreign: "prs_perslid" },
|
||||
{ dbs: "prs_perslid_key_verantw2", typ: "key", frm: "verantw2", track: L("lcl_alg_verantw2"), foreign: "prs_perslid" });
|
||||
}
|
||||
|
||||
if (user.checkAutorisation("WEB_BEZMGT", true))
|
||||
{
|
||||
fields.push({ dbs: "alg_gebouw_toon_telefoon", typ: "number", frm: "toon_telefoon", track: L("lcl_estate_gebouw_toon_telefoon") },
|
||||
@@ -64,16 +72,11 @@ if (this_alg.writeman)
|
||||
{ dbs: "alg_gebouw_image", typ: "varchar", frm: "bld_image", track: L("lcl_alg_gebouw_image") },
|
||||
{ dbs: "mld_adres_key", typ: "key", frm: "mld_adres", track: L("lcl_delivery_address"), foreign: "mld_v_factuuradres" },
|
||||
{ dbs: "prs_kostenplaats_key", typ: "key", frm: "prs_kstpl", track: L("lcl_prs_dept_kosten"), foreign: "prs_kostenplaats" },
|
||||
{ dbs: "mld_dienstniveau_key", typ: "key", frm: "dienstniveau", track: L("lcl_mld_dienst_niveau"), foreign: "mld_dienstniveau" },
|
||||
{ dbs: "alg_gebouw_bez", typ: "check", frm: "bld_bez", track: L("lcl_estate_gebouw_bez") },
|
||||
{ dbs: "alg_gebouw_mld", typ: "check", frm: "bld_mld", track: L("lcl_estate_gebouw_mld") },
|
||||
{ dbs: "alg_gebouw_werkdagen", typ: "check0", frm: "bld_werkdagen", track: L("lcl_estate_gebouw_werkdagen") },
|
||||
{ dbs: "alg_gebouw_vervaldatum", typ: "date", frm: "vervaldatum", track: L("lcl_alg_vervaldatum") },
|
||||
{ dbs: "bez_actie_groep_key", typ: "key", frm: "group", track: L("bez_actie_groep"), foreign: "bez_actie_groep" },
|
||||
{ dbs: "mld_vrije_dagen_id", typ: "varchar", frm: "cal_id", track: L("lcl_calendar")},
|
||||
// De gebouwverantwoordelijke(n) moeten eigenlijk nog een PRS-scope test ondergaan alvorens opgeslagen te worden, maar dat is voor nu teveel eer
|
||||
{ dbs: "prs_perslid_key_verantw", typ: "key", frm: "verantw", track: L("lcl_alg_verantw"), foreign: "prs_perslid" },
|
||||
{ dbs: "prs_perslid_key_verantw2", typ: "key", frm: "verantw2", track: L("lcl_alg_verantw2"), foreign: "prs_perslid" });
|
||||
{ dbs: "bez_actie_groep_key", typ: "key", frm: "group", track: L("bez_actie_groep"), foreign: "bez_actie_groep" });
|
||||
|
||||
if (beginuur != -2)
|
||||
fields.push({ dbs: "alg_gebouw_beginuur", typ: "float", val: beginuur, track: L("lcl_estate_gebouw_beginuur") });
|
||||
|
||||
@@ -11,12 +11,12 @@
|
||||
Note:
|
||||
|
||||
*/ %>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!--#include file="../Shared/common.inc" -->
|
||||
<!--#include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/calendar.inc" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/timezoneselector.inc" -->
|
||||
<!-- #include file="../Shared/plaatsselector.inc" -->
|
||||
|
||||
<!--#include file="../Shared/selector.inc" -->
|
||||
<!--#include file="../Shared/plaatsselector.inc" -->
|
||||
<!-- #include file="alg_flexkenmerk.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
@@ -59,7 +59,6 @@ if (loc_key > 0)
|
||||
var dienstniveau = oRs("mld_dienstniveau_key").Value;
|
||||
var loc_score1 = oRs("alg_locatie_mjb_score1").Value;
|
||||
var vervaldatum = oRs("alg_locatie_vervaldatum").Value != null ? new Date(oRs("alg_locatie_vervaldatum").Value) : null;
|
||||
var alg_tz = oRs("alg_locatie_timezone").Value;
|
||||
|
||||
oRs.Close();
|
||||
}
|
||||
@@ -132,7 +131,6 @@ BLOCK_END();
|
||||
|
||||
BLOCK_START("facFM", L("lcl_operations_block"), {icon: "fa-users-cog"});
|
||||
manRWFIELD("loc_volgnr", "fld", L("lcl_alg_locatie_volgnr"), loc_volgnr, {maxlength: 3});
|
||||
FCLTtimezoneselector("alg_tz", { initVal: alg_tz });
|
||||
FCLTcalendar("vervaldatum",
|
||||
{ datum: vervaldatum,
|
||||
initEmpty: vervaldatum==null,
|
||||
|
||||
@@ -74,7 +74,7 @@ user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele we
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="fclt-modal" id="mod_algmultiedit">
|
||||
<body class="modal" id="mod_algmultiedit">
|
||||
<% MODAL_START(); %>
|
||||
<form name="u2" action="alg_edit_locatie_multi_save.asp?loc_keys=<%=ingesloten.join(",")%>" method="post">
|
||||
<%
|
||||
|
||||
@@ -49,9 +49,7 @@ if (this_alg.writeman)
|
||||
{ dbs: "alg_locatie_vervaldatum", typ: "date", frm: "vervaldatum", track: L("lcl_alg_vervaldatum") },
|
||||
{ dbs: "alg_locatie_email", typ: "varchar", frm: "loc_mail", track: L("lcl_noti_email") },
|
||||
{ dbs: "alg_locatie_image", typ: "varchar", frm: "loc_image", track: L("lcl_alg_locatie_image") },
|
||||
{ dbs: "alg_locatie_volgnr", typ: "number", frm: "loc_volgnr", track: L("lcl_alg_locatie_volgnr") },
|
||||
{ dbs: "alg_locatie_timezone", typ: "varchar", frm: "alg_tz", track: L("lcl_timezone") }
|
||||
);
|
||||
{ dbs: "alg_locatie_volgnr", typ: "number", frm: "loc_volgnr", track: L("lcl_alg_locatie_volgnr") });
|
||||
|
||||
if (alg.canWriteDistrict(dis_key, this_alg.authparams("WEB_ALGMAN").ALGwritelevel))
|
||||
fields.push({ dbs: "alg_district_key", typ: "key", val: dis_key });
|
||||
|
||||
@@ -18,14 +18,12 @@
|
||||
FCLTHeader.Requires({plugins:["suggest","jQuery"], js: []})
|
||||
|
||||
var regio_key = getQParamInt("regio_key");
|
||||
var onrgoedlvl = "E";
|
||||
|
||||
var params = { filter: { id: regio_key,
|
||||
isNew: (regio_key == -1 ? true : false)
|
||||
}
|
||||
};
|
||||
var model = new model_regions();
|
||||
var regio_array = model.REST_GET(params); // Roep de API2 GET aan
|
||||
var regio_array = model_regions.REST_GET(params); // Roep de API2 GET aan
|
||||
var regio_data = (regio_array[0] ? regio_array[0] : {id: -1}); // GET kan meerdere records opleveren, maar we verwachten hier maar 1.
|
||||
var this_alg = params.func_enabled; // params bevat nu ook waarden die in API2 zijn bepaald.
|
||||
var action = (regio_key == -1 ? "I" : "U");
|
||||
@@ -78,14 +76,6 @@ var action = (regio_key == -1 ? "I" : "U");
|
||||
manRWFIELD("reg_oms", "fld", L("lcl_name"), regio_data.name, {required: true, maxlength: 30});
|
||||
|
||||
BLOCK_END();
|
||||
|
||||
generateFlexKenmerkBlock ({
|
||||
onrgoed_key : regio_key,
|
||||
onrgoed_niveau : onrgoedlvl,
|
||||
reado : false,
|
||||
this_alg : this_alg
|
||||
});
|
||||
|
||||
IFACE.FORM_END();
|
||||
%>
|
||||
</form>
|
||||
|
||||
@@ -18,7 +18,7 @@ protectRequest.validateToken();
|
||||
var regio_key = getQParamInt("regio_key");
|
||||
var action = getQParam("action", "");
|
||||
|
||||
var onrgoedlvl = "E";
|
||||
var onrgoedlvl = "RG";
|
||||
var this_alg = alg.func_enabled(regio_key, onrgoedlvl);
|
||||
user.auth_required_or_abort(this_alg.writeman || (regio_key > 0 && this_alg.writeuse));
|
||||
|
||||
@@ -26,22 +26,21 @@ var formfields = [];
|
||||
if (this_alg.writeman)
|
||||
formfields.push({ name: "name", frm: "reg_oms" });
|
||||
var params = { filter: { "id": regio_key }};
|
||||
var model = new model_regions();
|
||||
var jsondata = api2.form2JSONdata(model, params, formfields);
|
||||
var jsondata = api2.form2JSONdata(model_regions, params, formfields);
|
||||
|
||||
switch (action)
|
||||
{
|
||||
case "I":
|
||||
var regio_array = model.REST_POST(params, jsondata);
|
||||
var regio_array = model_regions.REST_POST(params, jsondata);
|
||||
regio_key = regio_array.key;
|
||||
break;
|
||||
case "U":
|
||||
if (regio_key > 0)
|
||||
var regio_array = model.REST_PUT(params, jsondata, params.filter.id);
|
||||
var regio_array = model_regions.REST_PUT(params, jsondata, params.filter.id);
|
||||
break;
|
||||
case "D":
|
||||
if (regio_key > 0)
|
||||
var regio_array = model.REST_DELETE(params, params.filter.id);
|
||||
var regio_array = model_regions.REST_DELETE(params, params.filter.id);
|
||||
break;
|
||||
default :
|
||||
var regio_array = {warning: L("lcl_cnt_Del_Fails_Auth")};
|
||||
@@ -52,34 +51,5 @@ var result = { regio_key: regio_key,
|
||||
warning: warning,
|
||||
keepForm: !!warning,
|
||||
success: true };
|
||||
|
||||
if (!warning)
|
||||
{
|
||||
currentKenmerkenSQL = "SELECT k.alg_kenmerk_key"
|
||||
+ " , ok.alg_onrgoedkenmerk_waarde"
|
||||
+ " , k.alg_kenmerk_toonbaar"
|
||||
+ " , k.fac_functie_key"
|
||||
+ " FROM alg_onrgoedkenmerk ok"
|
||||
+ " , alg_kenmerk k"
|
||||
+ " WHERE k.alg_kenmerk_key = ok.alg_kenmerk_key"
|
||||
+ " AND alg_onrgoedkenmerk_verwijder IS NULL"
|
||||
+ " AND alg_onrgoed_niveau = 'E'"
|
||||
+ " AND alg_onrgoed_key = " + regio_key;
|
||||
saveFlexKenmerken(regio_key,
|
||||
{ kenmerkTable: "alg_onrgoedkenmerk",
|
||||
kenmerkParentKey : "alg_onrgoed_key",
|
||||
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
|
||||
kenmerkKey: "alg_kenmerk_key",
|
||||
kenmerkToonbaar: "alg_kenmerk_toonbaar",
|
||||
currentKenmerkenSQL: currentKenmerkenSQL,
|
||||
requestQF: Request.Form,
|
||||
flexPath: "ALG/E",
|
||||
module: "ALG",
|
||||
moduleName: "alg_onrgoed_niveau",
|
||||
moduleVal: "E",
|
||||
isNew: regio_key < 0
|
||||
});
|
||||
}
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
%><% ASPPAGE_END(); %>
|
||||
|
||||
@@ -150,14 +150,18 @@ if (!room_exists)
|
||||
|
||||
manRWFIELD("room_opp", "fldshort", L("lcl_estate_ruimte_bruto_vloeropp"), room_data.grossarea, {maxlength: 10, datatype: "float"});
|
||||
ROFIELDTR("fldshort", L("lcl_estate_ruimte_getekendopp"), room_data.cadcontours[0].cadarea, {datatype: "float"});
|
||||
manRWFIELD("room_oppa1", "fldshort", L("lcl_estate_ruimte_opp_alt1"), room_data.area1, {maxlength: 10, datatype: "float"});
|
||||
|
||||
if (L("lcl_estate_ruimte_opp_alt1") != "")
|
||||
{
|
||||
manRWFIELD("room_oppa1", "fldshort", L("lcl_estate_ruimte_opp_alt1"), room_data.area1, {maxlength: 10, datatype: "float"});
|
||||
}
|
||||
if (S("fg_labellayers_alt1")!="" && S("fg_contourlayers_alt1")!="") {
|
||||
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt1"), room_data.cadcontours[0].cadalt1, {datatype: "float"});
|
||||
}
|
||||
|
||||
manRWFIELD("room_oppa2", "fldshort", L("lcl_estate_ruimte_opp_alt2"), room_data.area2, {maxlength: 10, datatype: "float"});
|
||||
|
||||
if (L("lcl_estate_ruimte_opp_alt2") != "")
|
||||
{
|
||||
manRWFIELD("room_oppa2", "fldshort", L("lcl_estate_ruimte_opp_alt2"), room_data.area2, {maxlength: 10, datatype: "float"});
|
||||
}
|
||||
if (S("fg_labellayers_alt2")!="" && S("fg_contourlayers_alt2")!="") {
|
||||
ROFIELDTR("fldshort", L("lcl_fg_tek_room_opp_g_alt2"), room_data.cadcontours[0].cadalt2, {datatype: "float"});
|
||||
}
|
||||
|
||||
@@ -111,7 +111,7 @@ oRs.Close();
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="fclt-modal" id="mod_algmultiedit">
|
||||
<body class="modal" id="mod_algmultiedit">
|
||||
<% MODAL_START(); %>
|
||||
<form name="u2" action="alg_edit_ruimte_multi_save.asp?alg_level=<%=safe.htmlattr(alg_level)%>&alg_keys=<%=ingesloten.join(",")%>" method="post">
|
||||
<%
|
||||
|
||||
@@ -54,7 +54,6 @@ if (ter_key > 0)
|
||||
+ ", prs_afdeling_key"
|
||||
+ ", prs_perslid_key_verantw"
|
||||
+ ", prs_perslid_key_verantw2"
|
||||
+ ", mld_dienstniveau_key"
|
||||
+ " FROM alg_terreinsector "
|
||||
+ " WHERE alg_terreinsector_key = " + ter_key;
|
||||
|
||||
@@ -78,7 +77,6 @@ if (ter_key > 0)
|
||||
var toon_email = oRs("alg_terreinsector_toon_email").Value;
|
||||
var toon_kenteken = oRs("alg_terreinsector_toon_kentk").Value;
|
||||
var vervaldatum = oRs("alg_terreinsector_vervaldatum").Value != null ? new Date(oRs("ALG_TERREINSECTOR_VERVALDATUM").Value) : null;
|
||||
var dienstniveau = oRs("mld_dienstniveau_key").Value;
|
||||
|
||||
oRs.Close();
|
||||
}
|
||||
@@ -215,20 +213,6 @@ BLOCK_START("algter3", L("lcl_alg_gebouw_administr"), {icon: "fa-clipboard"});
|
||||
FILEPICKERTR("ter_image", L("lcl_alg_terreinsector_image"), ter_image, { "key": ter_key, "module": "ALGPHT", "readonly": !this_alg.writeman });
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("algter4", L("lcl_alg_gebouw_facilitair"), {icon: "fa-users-cog"});
|
||||
sql = "SELECT mld_dienstniveau_key"
|
||||
+ " , " + lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
+ " FROM mld_dienstniveau"
|
||||
+ " ORDER BY UPPER(" + lcl.xsql("mld_dienstniveau_omschr", "mld_dienstniveau_key") + ")";
|
||||
FCLTselector("dienstniveau",
|
||||
sql,
|
||||
{ label: L("lcl_mld_dienst_niveau"),
|
||||
initKey: dienstniveau,
|
||||
emptyOption: "",
|
||||
readonly: !this_alg.writeman
|
||||
});
|
||||
BLOCK_END();
|
||||
|
||||
BLOCK_START("algter4", L("lcl_alg_gebouw_fysiek"), {icon: "fa-ruler-combined"});
|
||||
|
||||
RWFIELDTR("ter_opp", "fldshort", L("lcl_estate_terreinsector_man_oppervlak"), ter_opp, {maxlength: 15});
|
||||
|
||||
@@ -78,7 +78,7 @@ user.auth_required_or_abort(tobeedited > 0); // We klagen niet over enkele wel e
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="fclt-modal" id="mod_algmultiedit">
|
||||
<body class="modal" id="mod_algmultiedit">
|
||||
<% MODAL_START(); %>
|
||||
<form name="u2" action="alg_edit_terreinsector_multi_save.asp?ter_keys=<%=ingesloten.join(",")%>" method="post">
|
||||
<%
|
||||
@@ -145,17 +145,6 @@ user.auth_required_or_abort(tobeedited > 0); // We klagen niet over enkele wel e
|
||||
emptyOption: "",
|
||||
initEmpty: true
|
||||
});
|
||||
sql = "SELECT mld_dienstniveau_key"
|
||||
+ " , " + lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
+ " FROM mld_dienstniveau"
|
||||
+ " ORDER BY UPPER(" + lcl.xsql("mld_dienstniveau_omschr", "mld_dienstniveau_key") + ")";
|
||||
FCLTselector("dienstniveau",
|
||||
sql,
|
||||
{ label: L("lcl_mld_dienst_niveau"),
|
||||
emptyOption: "",
|
||||
initEmpty: true,
|
||||
readonly: !this_alg.writeuse
|
||||
});
|
||||
MODAL_BLOCK_END();
|
||||
|
||||
|
||||
|
||||
@@ -49,8 +49,6 @@ if (Request.Form("toon_kenteken").Count == 1 && getFParam("check_toon_kenteken",
|
||||
{ var toon_k = (getFParam("toon_kenteken") ? getFParam("toon_kenteken") : 0);
|
||||
fields.push({ dbs: "alg_terreinsector_toon_kentk", typ: "number", val: toon_k, track: L("lcl_estate_gebouw_toon_kenteken")});
|
||||
}
|
||||
if (Request.Form("dienstniveau").Count == 1 && getFParam("check_dienstniveau", "off") == "on")
|
||||
fields.push({ dbs: "mld_dienstniveau_key", typ: "key", frm: "dienstniveau", track: L("lcl_mld_dienst_niveau"), foreign: "mld_dienstniveau" });
|
||||
|
||||
|
||||
for (var i = 0; i < ter_key_arr.length; i++)
|
||||
|
||||
@@ -37,8 +37,7 @@ var fields = [{ dbs: "alg_terreinsector_omschrijving", typ: "varchar", frm: "ter
|
||||
{ dbs: "prs_kostenplaats_key", typ: "key", frm: "prs_kstn", track: L("lcl_prs_dept_kosten"), foreign: "PRS_KOSTENPLAATS" },
|
||||
{ dbs: "prs_afdeling_key", typ: "key", frm: "prs_afd", track: L("lcl_dep_name_level2"), foreign: "PRS_AFDELING" },
|
||||
{ dbs: "prs_perslid_key_verantw", typ: "key", frm: "verantw", track: L("lcl_alg_verantw"), foreign: "PRS_PERSLID" },
|
||||
{ dbs: "prs_perslid_key_verantw2", typ: "key", frm: "verantw2", track: L("lcl_alg_verantw2"), foreign: "PRS_PERSLID" },
|
||||
{ dbs: "mld_dienstniveau_key", typ: "key", frm: "dienstniveau", track: L("lcl_mld_dienst_niveau"), foreign: "MLD_DIENSTNIVEAU" }];
|
||||
{ dbs: "prs_perslid_key_verantw2", typ: "key", frm: "verantw2", track: L("lcl_alg_verantw2"), foreign: "PRS_PERSLID" }];
|
||||
|
||||
if (this_alg.writeman)
|
||||
{
|
||||
|
||||
@@ -74,7 +74,7 @@ user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele we
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="fclt-modal" id="mod_algmultiedit">
|
||||
<body class="modal" id="mod_algmultiedit">
|
||||
<% MODAL_START(); %>
|
||||
<form name="u2" action="alg_edit_verdieping_multi_save.asp?flr_keys=<%=ingesloten.join(",")%>" method="post">
|
||||
<%
|
||||
|
||||
@@ -25,27 +25,22 @@ function generateFlexKenmerkBlock(params)
|
||||
var advanced = params.advanced; // Geavanceerd
|
||||
var hasfilter = params.hasfilter? params.hasfilter : null;
|
||||
|
||||
function isReadonly (oRs)
|
||||
function isReadonly (volgnummer)
|
||||
{
|
||||
if (reado)
|
||||
return true;
|
||||
var rolcode = oRs("kenmerk_rolcode").value;
|
||||
var canWrite = (params.this_alg.writeman && (rolcode&1)) || (params.this_alg.writeuse && (rolcode&2));
|
||||
|
||||
return !canWrite; // readonly
|
||||
if (volgnummer < 100 && !params.this_alg.writeman)
|
||||
return true;
|
||||
if (volgnummer > 100 && !params.this_alg.writeuse)
|
||||
return true;
|
||||
}
|
||||
|
||||
function isInvisible(oRs)
|
||||
function isInvisible(volgnummer, ktype)
|
||||
{
|
||||
var ktype = oRs("kenmerk_kenmerktype").value;
|
||||
if (params.multi)
|
||||
return (ktype == 'M' || ktype == 'F' || ktype == 'E'); // onzichtbaar bij multi
|
||||
}
|
||||
|
||||
// Wat mag ik op basis van mijn autorisatie (potentieel) zien, bepaal mijn rolcode-masker
|
||||
var myreadrolcode = 0 + (params.this_alg.readman ? 1 : 0)
|
||||
+ (params.this_alg.readuse ? 2 : 0);
|
||||
|
||||
var sql = "SELECT k.alg_kenmerk_key kenmerk_key"
|
||||
+ " , 1 kenmerk_key_count"
|
||||
+ " , NULL srtkenmerk_key"
|
||||
@@ -70,7 +65,6 @@ function generateFlexKenmerkBlock(params)
|
||||
: " , " + lcl.xsql("k.alg_kenmerk_default", "k.alg_kenmerk_key")
|
||||
) + " kenmerk_waarde"
|
||||
+ " , k.alg_kenmerk_volgnr kenmerk_volgnr"
|
||||
+ " , k.alg_kenmerk_rolcode kenmerk_rolcode"
|
||||
+ " , " + lcl.xsql("k.alg_kenmerk_dimensie", "k.alg_kenmerk_key") +" kenmerk_dimensie"
|
||||
+ " , " + lcl.xsql("k.alg_kenmerk_hint", "k.alg_kenmerk_key") +" kenmerk_hint"
|
||||
+ " , " + lcl.xsql("k.alg_kenmerk_default", "k.alg_kenmerk_key") + " kenmerk_default"
|
||||
@@ -85,11 +79,12 @@ function generateFlexKenmerkBlock(params)
|
||||
+ " FROM alg_kenmerk k "
|
||||
+ " WHERE k.alg_kenmerk_niveau = " + safe.quoted_sql(onrgoed_niveau)
|
||||
+ " AND k.alg_kenmerk_verwijder IS NULL "
|
||||
+ " AND BITAND(alg_kenmerk_rolcode, " + myreadrolcode + ") > 0 "
|
||||
+ (!params.this_alg.readman? " AND alg_kenmerk_volgnr >= 100" : "")
|
||||
+ (!params.this_alg.readuse? " AND alg_kenmerk_volgnr <= 100" : "")
|
||||
+ " ORDER BY k.alg_kenmerk_volgnr"
|
||||
+ " , " + lcl.xsql("k.alg_kenmerk_omschrijving", "k.alg_kenmerk_key");
|
||||
|
||||
var trn = 0; // fijn, maar waarom?
|
||||
var trn = 0;
|
||||
|
||||
listKenmerk(sql,
|
||||
"ALG", //module
|
||||
|
||||
@@ -125,7 +125,7 @@ sql0 = "SELECT {0} id, " // 1 query voor beide
|
||||
+ " '{2}' lbl, "
|
||||
+ " COUNT (*) val, "
|
||||
+ " '' det "
|
||||
+ " FROM ins_v_deelenonderdeel i, ins_srtdeel sd "
|
||||
+ " FROM ins_deel i, ins_srtdeel sd "
|
||||
+ " WHERE i.ins_deel_verwijder IS NULL "
|
||||
+ " AND i.ins_srtdeel_key = sd.ins_srtdeel_key"
|
||||
+ " AND sd.ins_srtdeel_verwijder IS NULL "
|
||||
@@ -139,7 +139,7 @@ sql0 = "SELECT {0} id, " // 1 query voor beide
|
||||
+ " AND r.res_ins_deel_key = i.ins_deel_key) ";
|
||||
|
||||
sql1 = "SELECT {0} id, '> ' || ins_discipline_omschrijving lbl, COUNT (*) val, '' det "
|
||||
+ " FROM ins_v_deelenonderdeel i, ins_discipline rd, ins_srtdeel sd "
|
||||
+ " FROM ins_deel i, ins_discipline rd, ins_srtdeel sd "
|
||||
+ " WHERE i.ins_discipline_key = rd.ins_discipline_key "
|
||||
+ " AND i.ins_deel_verwijder IS NULL "
|
||||
+ " AND sd.ins_srtdeel_verwijder IS NULL "
|
||||
|
||||
@@ -40,7 +40,6 @@ FCLTHeader.Requires({ plugins: ["jQuery"] });
|
||||
oRs.close()
|
||||
}
|
||||
|
||||
var canImport = (user.checkAutorisation("WEB_IMPORT", true) != null);
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -63,6 +62,7 @@ FCLTHeader.Requires({ plugins: ["jQuery"] });
|
||||
function gebouwEdit(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var v_all_cnt = <%=cnt_full%>;
|
||||
var url = "appl/alg/alg_gebouw.asp?mode=viewChange&key=" + algData.key + "&cnt_full=<%=cnt_full%>";
|
||||
FcltMgr.openDetail(url, L("lcl_building") + " " + algData.oms);
|
||||
}
|
||||
@@ -105,6 +105,7 @@ FCLTHeader.Requires({ plugins: ["jQuery"] });
|
||||
var url = "appl/ins/ins_search.asp?urole=bo&gebouw_key=" + algData.key;
|
||||
FcltMgr.openDetail(url, L("lcl_building") + " " + algData.oms);
|
||||
}
|
||||
|
||||
</script>
|
||||
<%
|
||||
|
||||
@@ -132,18 +133,6 @@ function gebouw_list(pautfunction, params)
|
||||
var fitness_score1_from = params.fitness_score1_from;
|
||||
var fitness_score1_through = params.fitness_score1_through;
|
||||
|
||||
var transitParam = buildTransitParam(["locatiekey", "urole", "bld_key", "flo_key", "room_key"]);
|
||||
var rstFilters = params.rstFilters;
|
||||
var checkBoxes = [
|
||||
{
|
||||
lcl: L("lcl_alg_gebouw_vervallen_incl"),
|
||||
param: 'expAlgIncl',
|
||||
checked: expalgincl,
|
||||
transitParams: transitParam
|
||||
}
|
||||
];
|
||||
|
||||
var rstCheckBoxes = rstFilters ? checkBoxes : [];
|
||||
var autparamsINSUSE = user.checkAutorisation("WEB_INSUSE", true);
|
||||
var autparamsINSMAN = user.checkAutorisation("WEB_INSMAN", true);
|
||||
var readuse = autparamsINSUSE && autparamsINSUSE.PRSreadlevel < 9 && autparamsINSUSE.ALGreadlevel < 9; // Wijzigen Afgeronde gegevens.
|
||||
@@ -245,12 +234,13 @@ function gebouw_list(pautfunction, params)
|
||||
|
||||
var addurl = "appl/alg/alg_gebouw.asp";
|
||||
|
||||
var addButton = [];
|
||||
if (canAdd)
|
||||
{
|
||||
addButton.push({ icon: "fa-plus", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + safe.jsstring(L("lcl_add")) + "')" });
|
||||
addButton = [{ icon: "fa-plus", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + safe.jsstring(L("lcl_add")) + "')" }]
|
||||
}
|
||||
|
||||
// addurl += buildTransitParam(["loc_key", "bld_key", "flo_key", "room_key"], params) // TODO: welke allemaal?
|
||||
|
||||
/**********************************
|
||||
* Callback functies ResultsetTable
|
||||
*********************************/
|
||||
@@ -325,10 +315,10 @@ function gebouw_list(pautfunction, params)
|
||||
|
||||
function fncolFlexBijlagen(oRs)
|
||||
{
|
||||
var flexval = oRs("algflex").Value;
|
||||
var flexval = oRs("flex").Value;
|
||||
var alg_key = oRs("alg_gebouw_key").Value;
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
: ""
|
||||
);
|
||||
if (flexParams.bijlageflex)
|
||||
@@ -351,9 +341,7 @@ function gebouw_list(pautfunction, params)
|
||||
flexParams: fnrowFlexParams,
|
||||
filterParams: params,
|
||||
outputmode: outputmode,
|
||||
buttons: addButton,
|
||||
rstCheckBoxes: rstCheckBoxes,
|
||||
roundtripCode: (canImport ? "ONRGOED1" : "")
|
||||
buttons: addButton
|
||||
});
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_descr"), content: "alg_locatie_omschrijving"}));
|
||||
@@ -399,3 +387,4 @@ function gebouw_list(pautfunction, params)
|
||||
</html>
|
||||
<%
|
||||
} %>
|
||||
|
||||
|
||||
@@ -32,7 +32,6 @@ var srtgebouw_key = getQParamInt("srt", -1); // Gebouwfunctie
|
||||
var verantw_key = getQParamInt("verantw", -1); // Gebouw verantwoordelijke
|
||||
var verantw_key2 = getQParamInt("verantw2", -1); // Gebouw verantwoordelijke 2
|
||||
var expalgincl = getQParamInt("expAlgIncl", 0) == 1; // Ook vervallen gebouwen
|
||||
var rstFilters = getQParamInt("rst_filters", 0) ;// button vervallen gebouwen
|
||||
var cnt_full = getQParamInt("cnt_full", 1);
|
||||
var fitness_score1_from = getQParamFloat("fitness_score1_from", -1); // Conditie score van.
|
||||
var fitness_score1_through = getQParamFloat("fitness_score1_through", -1); // Conditie score t/m.
|
||||
@@ -57,8 +56,7 @@ gebouw_list ( "*",
|
||||
bld_email : bld_email,
|
||||
bld_groep : bld_groep,
|
||||
noref: (noref != -1? noref : null),
|
||||
expalgincl: expalgincl,
|
||||
rstFilters: (rstFilters == true ? 1 : 0)
|
||||
expalgincl: expalgincl
|
||||
}
|
||||
);
|
||||
%><% ASPPAGE_END(); %>
|
||||
%><% ASPPAGE_END(); %>
|
||||
|
||||
@@ -84,10 +84,7 @@ else
|
||||
if (loc_key > -1)
|
||||
{
|
||||
var urole = "bo";
|
||||
var page0 = "../alg/alg_gebouw_search_list.asp?urole="
|
||||
+ urole +"&locatiekey="+loc_key
|
||||
+ "&rst_filters=1";
|
||||
|
||||
var page0 = "../alg/alg_gebouw_search_list.asp?urole=" + urole +"&locatiekey="+loc_key;
|
||||
IFRAMER("alggebouwframe", page0, { icon: "fa-list"} );
|
||||
var page1 = "../alg/alg_terreinsector_search_list.asp?urole=" + urole +"&locatiekey="+loc_key;
|
||||
IFRAMER("algterreinframe", page1, { icon: "fa-list"} );
|
||||
@@ -103,7 +100,6 @@ else
|
||||
{
|
||||
var page2 = "../cnt/cnt_search_list.asp?embedded=1&tiny=1&urole=" + curole
|
||||
+ "&ffutu=1&fact=1&frap=1&fopz=1&sact=1&loc_key=" + loc_key
|
||||
+ "&rst_filters=1"
|
||||
+ "&cnt_full="+cnt_full;
|
||||
IFRAMER("cntlistframe", page2, { icon: "fa-list" } );
|
||||
}
|
||||
|
||||
@@ -234,7 +234,7 @@ function locatie_list(pautfunction, params)
|
||||
}
|
||||
return lclass;
|
||||
}
|
||||
|
||||
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
var eDelete = false;
|
||||
@@ -258,10 +258,10 @@ function locatie_list(pautfunction, params)
|
||||
|
||||
function fncolFlexBijlagen(oRs)
|
||||
{
|
||||
var flexval = oRs("algflex").Value;
|
||||
var flexval = oRs("flex").Value;
|
||||
var alg_key = oRs("alg_locatie_key").Value;
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
: ""
|
||||
);
|
||||
if (flexParams.bijlageflex)
|
||||
@@ -305,7 +305,6 @@ function locatie_list(pautfunction, params)
|
||||
rst.addColumn(new Column({caption: L("lcl_prs_address_post_plaats"), content: "alg_locatie_post_plaats"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_prs_address_post_land"), content: "alg_locatie_post_land"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_verantw"), content: "alg_locatie_verantw"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_verantw_tel"), content: "alg_locatie_verantw_tel"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_geoxcoord"), content: "alg_locatie_x"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_geoycoord"), content: "alg_locatie_y"}));
|
||||
}
|
||||
@@ -329,3 +328,4 @@ function locatie_list(pautfunction, params)
|
||||
<%
|
||||
}
|
||||
%>
|
||||
|
||||
|
||||
@@ -17,6 +17,19 @@
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["jQuery"] });
|
||||
|
||||
|
||||
function fnrowData(oRs)
|
||||
{
|
||||
var detail_key = oRs.Fields("id").Value;
|
||||
var key = oRs.Fields("id").Value;
|
||||
var oms = oRs.Fields("name").Value;
|
||||
|
||||
var data = {detail_key: detail_key, key: key, oms: oms};
|
||||
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
|
||||
@@ -29,7 +42,7 @@ FCLTHeader.Requires({ plugins:["jQuery"] });
|
||||
FcltMgr.openDetail(url, L("lcl_district"));
|
||||
}
|
||||
|
||||
function districtEdit(row)
|
||||
function districtEdit(row)
|
||||
{
|
||||
var algData = JSON.parse(row.getAttribute("ROWDATA"));
|
||||
var url = "appl/ALG/alg_regio.asp?mode=viewUpdate&key=" + algData.key;
|
||||
@@ -41,13 +54,13 @@ FCLTHeader.Requires({ plugins:["jQuery"] });
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_regio"), { autoconfirm: isMulti }, function() {
|
||||
var regKeyString = getKeyString(rowArray);
|
||||
var data = { key: regKeyString,
|
||||
level: "E"
|
||||
level: "RE"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post("alg_delete.asp", data, FcltCallbackRefresh, "json");
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
<%
|
||||
|
||||
function regio_list(pautfunction, params)
|
||||
@@ -62,45 +75,13 @@ function regio_list(pautfunction, params)
|
||||
var showall = params.showall;
|
||||
var reg_key = params.reg_key;
|
||||
|
||||
function fnrowData(oRs)
|
||||
{
|
||||
var detail_key = oRs.Fields("id").Value;
|
||||
var key = oRs.Fields("id").Value;
|
||||
var oms = oRs.Fields("name").Value;
|
||||
var data = {detail_key: detail_key, key: key, oms: oms};
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
var eDelete = false;
|
||||
if (alg.canWriteRegio(oRs.Fields("id").Value, authparams.mALGwritelevel))
|
||||
eDelete = true;
|
||||
return ({eDelete: eDelete});
|
||||
var eDelete = false;
|
||||
if (alg.canWriteRegio(oRs.Fields("id").Value, authparams.mALGwritelevel))
|
||||
eDelete = true;
|
||||
return ({eDelete: eDelete})
|
||||
}
|
||||
|
||||
function fnrowFlexParams(oRs)
|
||||
{
|
||||
var reg_key = oRs.Fields("id").Value;
|
||||
var this_alg = alg.func_enabled(reg_key, "E");
|
||||
var flexParams = { readman: this_alg.readman, readuse: this_alg.readuse};
|
||||
return flexParams;
|
||||
}
|
||||
|
||||
function fncolFlexBijlagen(oRs)
|
||||
{
|
||||
var flexval = oRs.Fields("algflex").Value;
|
||||
var alg_key = oRs.Fields("id").Value;
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
: ""
|
||||
);
|
||||
if (flexParams.bijlageflex)
|
||||
{
|
||||
result += alg.alg_onroerendgoed_flex_bijlagen("E", alg_key);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
@@ -109,30 +90,16 @@ function regio_list(pautfunction, params)
|
||||
<body id="listbody">
|
||||
<%
|
||||
// Ophalen regio`s
|
||||
var flexParams = alg.alg_onroerendgoed_flex_params("E");
|
||||
var regio_key = getQParamInt("regiokey");
|
||||
var filter = {};
|
||||
if (regio_key > -1)
|
||||
filter = {id: regio_key};
|
||||
else
|
||||
{
|
||||
var kenmerk_sql = getKenmerkSql("ALG", "alg_regio.alg_regio_key");
|
||||
if (kenmerk_sql)
|
||||
filter = {kenmerk_sql: kenmerk_sql.substr(4)}; // De "AND" aan het begin eraf halen.
|
||||
}
|
||||
|
||||
var params = { filter: filter // Alle regio`s ophalen, behalve de verwijderde.
|
||||
, flexparams: { anyflex: flexParams.anyflex
|
||||
, bijlageflex: flexParams.bijlageflex
|
||||
, sql: flexParams.sql.substr(1).replace("e.", "alg_regio.")
|
||||
, algflex: {"dbs": "algflex", "typ": "varchar"}
|
||||
}
|
||||
};
|
||||
var model = new model_regions();
|
||||
var regio_array = model.REST_GET(params); // Roep de API2 GET aan
|
||||
var filter = {id: regio_key};
|
||||
var params = { filter: filter }; // Alle regio`s ophalen, behalve de verwijderde.
|
||||
var regio_array = model_regions.REST_GET(params); // Roep de API2 GET aan
|
||||
//
|
||||
|
||||
var addurl = "appl/alg/alg_regio.asp";
|
||||
// addurl += buildTransitParam(["loc_key", "bld_key", "flo_key", "room_key"], params) // TODO: welke allemaal?
|
||||
|
||||
if (canAdd)
|
||||
{
|
||||
@@ -145,17 +112,13 @@ function regio_list(pautfunction, params)
|
||||
showAll: showall,
|
||||
rowData: fnrowData,
|
||||
rowActionEnabler: fnrowActionEnabler,
|
||||
flexModule: "ALG",
|
||||
flexId: "alg_regio_key",
|
||||
flexParams: fnrowFlexParams,
|
||||
outputmode: outputmode,
|
||||
filterParams: params,
|
||||
buttons: addButton
|
||||
});
|
||||
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_regio_descr"), content: "name"}));
|
||||
if (flexParams.anyflex)
|
||||
rst.addColumn(new Column({caption: flexParams.flexlabel, content: fncolFlexBijlagen, colName: "fncolFlexBijlagen"}));
|
||||
|
||||
rst.addAction({ action: "districtEdit", caption: L("lcl_edit"), isDefault: true});
|
||||
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", multi: true, multiOnce: true});
|
||||
|
||||
@@ -24,31 +24,7 @@ var authparams = alg.checkAutorisation();
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<script type="text/javascript">
|
||||
function doSubmit()
|
||||
{
|
||||
// Submitten met kenmerken
|
||||
doSubmitWithKenmerken();
|
||||
}
|
||||
async function myModal(init)
|
||||
{
|
||||
var lvl = "E";
|
||||
var key = 0;
|
||||
var bld_key = "";
|
||||
var url = "load_kenmerk.asp?disc="
|
||||
+ "&urole=bo"
|
||||
+ "&advanced=1"
|
||||
+ "&hasFilter=1"
|
||||
+ "&onrgoed_key=" +bld_key
|
||||
+ "&onrgoed_niveau=" + lvl;
|
||||
var titel = L("lcl_properties");
|
||||
await showKenmerkModal(url, titel, init);
|
||||
}
|
||||
|
||||
$(function() {
|
||||
<% if (autosearch) { %>
|
||||
document.forms.u2.submit();
|
||||
<% } %>
|
||||
});
|
||||
$(function() {<% if (autosearch) { %> document.forms.u2.submit(); <%}%> });
|
||||
</script>
|
||||
</head>
|
||||
<body id="searchbody">
|
||||
@@ -63,10 +39,8 @@ var authparams = alg.checkAutorisation();
|
||||
whenEmpty: L("lcl_search_generic")
|
||||
});
|
||||
SEARCH_BLOCK_END();
|
||||
var buttons = [{title: L("lcl_overview_list"), action: "document.forms.u2.submit();", id: "bSearch", icon: "fa-clipboard-list" }];
|
||||
SIMPLE_BLOCK_START();
|
||||
var buttons = [ {title: L("lcl_overview_list"), action: "doSubmit();", id: "bSearch", icon: "fa-clipboard-list" }
|
||||
, {title: L("lcl_shared_advanced"), action: "myModal()", id: "bAdvanced", importance: 3, icon: "fa-filter" }
|
||||
];
|
||||
CreateButtons(buttons, { entersubmit: true, showIcons: true });
|
||||
SIMPLE_BLOCK_END();
|
||||
SEARCH_PAGE_END(); %>
|
||||
|
||||
@@ -19,10 +19,10 @@ FCLTHeader.Requires({ plugins:["jQuery", "suggest"], js: ["jQuery-ui.js"] });
|
||||
function ruimte_list(pautfunction, params)
|
||||
{
|
||||
// De functie checkAutorisation(autfunction) geeft een Response.End indien er geen autorisatie voor autfunction wordt gevonden
|
||||
var addButton = [];
|
||||
var authparams = alg.checkAutorisation();
|
||||
// Met ALG* bepaal je wat je ziet (Read), met RUI* en TER* bepaal je wat je kunt wijzigen (Write).
|
||||
var canAdd = (authparams.rmALGwritelevel < 9);
|
||||
var canImport = (user.checkAutorisation("WEB_IMPORT", true) != null);
|
||||
|
||||
// Voor resulttable de globalen zetten; zou ng anders moeten.
|
||||
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
|
||||
@@ -41,19 +41,6 @@ function ruimte_list(pautfunction, params)
|
||||
var expalgincl = params.expalgincl;
|
||||
var chkgeb = params.chkgeb;
|
||||
var cnt_full = params.cnt_full;
|
||||
|
||||
var usingoccupationsensors = params.sensorstats;
|
||||
// Het lijkt zinvol, ook voor onnodig performanceverlies, dat we deze alleen doen als we autorisatie hebben voor WEB_RESBAC of WEB_RESMSU
|
||||
var showdeskreservationstats = params.resstats && (user.has("WEB_RESBAC") || user.has("WEB_RESMSU"))
|
||||
var showroomreservationstats = params.resstats && (user.has("WEB_RESBAC") || user.has("WEB_RESMSU"));
|
||||
|
||||
if (showdeskreservationstats) {
|
||||
// Fast check to see if we do have werkplekdisciplines
|
||||
sql= "SELECT 1 FROM res_discipline WHERE ins_discipline_min_level = 5 AND ins_discipline_verwijder IS NULL AND ROWNUM = 1";
|
||||
oRs = Oracle.Execute(sql);
|
||||
showdeskreservationstats = !oRs.eof;
|
||||
oRs.close();
|
||||
}
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -153,29 +140,11 @@ function ruimte_list(pautfunction, params)
|
||||
+ " AND sn.fac_srtnotificatie_xmlnode = 'ruimte'"
|
||||
+ " ) recentdatum"
|
||||
+ flexParams.sql
|
||||
+ (usingoccupationsensors
|
||||
? ", sstats.total_person_hours"
|
||||
+ ", sstats.avg_utilization_pct"
|
||||
+ ", sstats.peak_occupied_desks"
|
||||
: "")
|
||||
+ (showdeskreservationstats
|
||||
? ", dstats.total_reserved_hours_desk"
|
||||
+ ", dstats.avg_reserved_count_desk"
|
||||
+ ", dstats.peak_reserved_count_desk"
|
||||
: "")
|
||||
+ (showroomreservationstats
|
||||
? ", rstats.total_reserved_hours_room" // hoeveel uur in de afgelopen 90 dagen
|
||||
+ ", rstats.avg_persons_per_reservation" // gemiddeld aantal deelnemers per reservering
|
||||
+ ", rstats.avg_reservation_duration_hours" // gemiddelde reserveringsduur
|
||||
: "")
|
||||
+ " FROM alg_ruimte r"
|
||||
+ ", alg_verdieping v"
|
||||
+ ", alg_gebouw g"
|
||||
+ ", alg_locatie l"
|
||||
+ ", alg_srtruimte s"
|
||||
+ (usingoccupationsensors ? ", ins_v_room_occupancy_kpis sstats" : "")
|
||||
+ (showdeskreservationstats ? ", res_v_desk_reservation_kpis dstats" : "")
|
||||
+ (showroomreservationstats ? ", res_v_room_simple_kpis rstats" : "")
|
||||
+ " WHERE v.alg_verdieping_key = r.alg_verdieping_key "
|
||||
+ " AND g.alg_gebouw_key = v.alg_gebouw_key "
|
||||
+ " AND l.alg_locatie_key(+) = g.alg_locatie_key "
|
||||
@@ -189,9 +158,6 @@ function ruimte_list(pautfunction, params)
|
||||
+ " WHERE prs_perslid_key = " + user_key
|
||||
+ " AND niveau = " + authparams.ALGreadlevel + ")";
|
||||
}
|
||||
sqln += (usingoccupationsensors ? " AND r.alg_ruimte_key = sstats.alg_ruimte_key(+)" : "")
|
||||
sqln += (showdeskreservationstats ? " AND r.alg_ruimte_key = dstats.alg_ruimte_key(+)" : "")
|
||||
sqln += (showroomreservationstats ? " AND r.alg_ruimte_key = rstats.alg_ruimte_key(+)" : "")
|
||||
|
||||
sqln += getKenmerkSql("ALG", "r.alg_ruimte_key");
|
||||
|
||||
@@ -253,13 +219,10 @@ function ruimte_list(pautfunction, params)
|
||||
var addurl = "appl/alg/alg_ruimte.asp?a=1";
|
||||
addurl += buildTransitParam(["locatiekey", "gebouwkey", "verdiepingkey", "ruimtekey"], params) // TODO: welke allemaal?
|
||||
|
||||
|
||||
var buttons = [];
|
||||
if (canAdd)
|
||||
{
|
||||
buttons.push({ icon: "fa-plus", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + safe.jsstring(L("lcl_add")) + "')" });
|
||||
addButton = [{ icon: "fa-plus", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + safe.jsstring(L("lcl_add")) + "')" }]
|
||||
}
|
||||
buttons.push({ icon: "fa-columns", title: L("lcl_scf_columns"), action: "openColumns()"});
|
||||
|
||||
/**********************************
|
||||
* Callback functies ResultsetTable
|
||||
@@ -336,10 +299,10 @@ function ruimte_list(pautfunction, params)
|
||||
|
||||
function fncolFlexBijlagen(oRs)
|
||||
{
|
||||
var flexval = oRs("algflex").Value;
|
||||
var flexval = oRs("flex").Value;
|
||||
var alg_key = oRs("alg_ruimte_key").Value;
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
: ""
|
||||
);
|
||||
if (flexParams.bijlageflex)
|
||||
@@ -353,7 +316,6 @@ function ruimte_list(pautfunction, params)
|
||||
keyColumn: "alg_ruimte_key",
|
||||
ID: "algtable",
|
||||
title: L("lcl_menu_alg_ruimte"),
|
||||
tabs_code: "algruimte_list-x",
|
||||
showAll: showall,
|
||||
rowData: fnrowData,
|
||||
rowClass: fnrowClass,
|
||||
@@ -363,8 +325,7 @@ function ruimte_list(pautfunction, params)
|
||||
flexId: "alg_ruimte_key",
|
||||
flexParams: fnrowFlexParams,
|
||||
filterParams: params,
|
||||
buttons: buttons,
|
||||
roundtripCode: (canImport ? "ONRGOED2" : "")
|
||||
buttons: addButton
|
||||
});
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_locatie_man_descr"), content: "alg_locatie_omschrijving"}));
|
||||
@@ -378,8 +339,16 @@ function ruimte_list(pautfunction, params)
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_man_sort"), content: "alg_srtruimte_omschrijving"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_bruto_vloeropp"), content: "alg_ruimte_bruto_vloeropp", datatype: "float", decimals: 2 }));
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_opp_alt1"), content: "alg_ruimte_opp_alt1", datatype: "float", decimals: 2 }));
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_opp_alt2"), content: "alg_ruimte_opp_alt2", datatype: "float", decimals: 2 }));
|
||||
if (L("lcl_estate_ruimte_opp_alt1") != "")
|
||||
{
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_opp_alt1"), content: "alg_ruimte_opp_alt1", datatype: "float", decimals: 2 }));
|
||||
}
|
||||
|
||||
if (L("lcl_estate_ruimte_opp_alt1") != "")
|
||||
{
|
||||
rst.addColumn(new Column({caption: L("lcl_estate_ruimte_opp_alt2"), content: "alg_ruimte_opp_alt2", datatype: "float", decimals: 2 }));
|
||||
}
|
||||
|
||||
|
||||
if (outputmode != 0) // to be completed
|
||||
{
|
||||
@@ -392,25 +361,6 @@ function ruimte_list(pautfunction, params)
|
||||
if (flexParams.anyflex)
|
||||
rst.addColumn(new Column({caption: flexParams.flexlabel, content: fncolFlexBijlagen, colName: "fncolFlexBijlagen"}));
|
||||
|
||||
if (usingoccupationsensors)
|
||||
{
|
||||
rst.addColumn(new Column({caption: I("fa-sensor")+" "+L("lcl_alg_occupationsensor_ph"), content: "total_person_hours", datatype: "float"}));
|
||||
rst.addColumn(new Column({caption: I("fa-sensor")+" "+L("lcl_alg_occupationsensor_au"), content: "avg_utilization_pct", datatype: "float"}));
|
||||
rst.addColumn(new Column({caption: I("fa-sensor")+" "+L("lcl_alg_occupationsensor_po"), content: "peak_occupied_desks", datatype: "number"}));
|
||||
}
|
||||
if (showroomreservationstats)
|
||||
{
|
||||
rst.addColumn(new Column({caption: I("fa-calendar")+" "+L("lcl_alg_resstats_trhr"), content: "total_reserved_hours_room", datatype: "float"}));
|
||||
rst.addColumn(new Column({caption: I("fa-calendar")+" "+L("lcl_alg_resstats_appr"), content: "avg_persons_per_reservation", datatype: "float"}));
|
||||
rst.addColumn(new Column({caption: I("fa-calendar")+" "+L("lcl_alg_resstats_ardh"), content: "avg_reservation_duration_hours", datatype: "float"}));
|
||||
}
|
||||
if (showdeskreservationstats)
|
||||
{
|
||||
rst.addColumn(new Column({caption: I("fa-chair-office")+" "+L("lcl_alg_wpresstats_trh"), content: "total_reserved_hours_desk", datatype: "float"}));
|
||||
rst.addColumn(new Column({caption: I("fa-chair-office")+" "+L("lcl_alg_wpresstats_arc"), content: "avg_reserved_count_desk", datatype: "float"}));
|
||||
rst.addColumn(new Column({caption: I("fa-chair-office")+" "+L("lcl_alg_wpresstats_prc"), content: "peak_reserved_count_desk", datatype: "number"}));
|
||||
}
|
||||
|
||||
rst.addAction({ action: "ruimteEdit", caption: L("lcl_edit"), isDefault: true });
|
||||
rst.addAction({ action: "ruimteEditMulti", caption: L("lcl_alg_multi_edit"), multi: true, multiOnce: true, single: false, enabler: "eEditMulti"});
|
||||
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), multi: true, single: !noref, enabler: "eDelete" });
|
||||
@@ -430,3 +380,4 @@ function ruimte_list(pautfunction, params)
|
||||
<%
|
||||
}
|
||||
%>
|
||||
|
||||
|
||||
@@ -14,7 +14,6 @@
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["jQuery", "kenmerk"] });
|
||||
|
||||
// pre-filters
|
||||
var locatie_key = getQParamInt("locatie_key", -1); // Locatie
|
||||
var gebouw_key = getQParamInt("gebouw_key", -1); // Gebouw
|
||||
var verdieping_key = getQParamInt("verdieping_key", -1); // Verdieping
|
||||
@@ -22,15 +21,12 @@ var ruimte_key = getQParamInt("ruimte_key", -1); // ruimte
|
||||
var ruimte_nr = getQParam("ruimte_nr", "");
|
||||
var ruimte_use = getQParamInt("ruimte_use", -1); // Ruimtefunctie
|
||||
var ruimte_descr = getQParam("ruimte_descr", "");
|
||||
|
||||
// behaviour
|
||||
var autosearch = getQParamInt("autosearch", 0) == 1;
|
||||
var alg_startlevel = getQParamInt("alg_startlevel", 2); // Startlevel van plaatsselector, default Locatie
|
||||
var chkgeb = getQParamInt("chkgeb", 0) == 1; // Controleer tegen de vervallenstatus van het bovenliggende gebouw (vertrouw lvl_key/geb_key niet)
|
||||
var chkgeb = getQParamInt("chkgeb", 0) == 1;
|
||||
var cnt_full = getQParamInt("cnt_full", 1);
|
||||
var sensorstats = getQParamInt("nosensorstats", 0) == 0;
|
||||
var resstats = getQParamInt("noresstats", 0) == 0;
|
||||
var authparams = alg.checkAutorisation();
|
||||
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
@@ -83,7 +79,6 @@ var authparams = alg.checkAutorisation();
|
||||
filtercode: "INCVR",
|
||||
whenEmpty: L("lcl_search_generic") // want filter
|
||||
});
|
||||
RWCHECKBOXTR("expAlgIncl", "fld", L("lcl_alg_ruimte_vervallen_incl"), false, { html: " value='1' ", boxfirst: true, twocols: true});
|
||||
SEARCH_BLOCK_END();
|
||||
SEARCH_BLOCK_START();
|
||||
%>
|
||||
@@ -93,7 +88,7 @@ var authparams = alg.checkAutorisation();
|
||||
</tr>
|
||||
<tr class="primsearch">
|
||||
<td class="label"><label for="descr"><%=L("lcl_estate_ruimte_man_descr")%></label></td>
|
||||
<td><input type="text" class="fldsrch fld" name="descr" value="<%=safe.htmlattr(ruimte_descr)%>"></td>
|
||||
<td><input type="text" class="fldsrch fldshort" name="descr" value="<%=safe.htmlattr(ruimte_descr)%>"></td>
|
||||
</tr>
|
||||
|
||||
<%
|
||||
@@ -125,14 +120,16 @@ var authparams = alg.checkAutorisation();
|
||||
filtercode: "AR"
|
||||
});
|
||||
}
|
||||
if (sensorstats && (S("ins_occupationsensors_srtgroep_key") > 0))
|
||||
{
|
||||
RWCHECKBOXTR("sensorstats", "fld", L("lcl_alg_sensorstats"), false, { html: " value='1' ", boxfirst: true, twocols: true});
|
||||
}
|
||||
if (resstats && (user.has("WEB_RESBAC") || user.has("WEB_RESMSU")))
|
||||
{
|
||||
RWCHECKBOXTR("resstats", "fld", L("lcl_alg_resstats"), false, { html: " value='1' ", boxfirst: true, twocols: true});
|
||||
}
|
||||
%>
|
||||
<!-- Vervallen ruimten -->
|
||||
<tr class="primsearch">
|
||||
<td></td>
|
||||
<td align=left>
|
||||
<input type="checkbox" class="fld" name="expAlgIncl" id="expAlgIncl" value="1" >
|
||||
<label for="expAlgIncl"><%=L("lcl_alg_ruimte_vervallen_incl")%></label>
|
||||
</td>
|
||||
</tr>
|
||||
<%
|
||||
SEARCH_BLOCK_END();
|
||||
|
||||
SIMPLE_BLOCK_START();
|
||||
|
||||
@@ -52,8 +52,6 @@ ruimte_list ( "*",
|
||||
dept_key_arr: dept_key_arr,
|
||||
noref: (noref != -1? noref : null),
|
||||
expalgincl: expalgincl,
|
||||
sensorstats: getQParamInt("sensorstats", 0) == 1,
|
||||
resstats: getQParamInt("resstats", 0) == 1,
|
||||
chkgeb: chkgeb
|
||||
}
|
||||
);
|
||||
|
||||
@@ -201,7 +201,7 @@ else
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="fclt-modal" id="mod_ruimteafdeling">
|
||||
<body class="modal" id="mod_ruimteafdeling">
|
||||
<% MODAL_START(); %>
|
||||
<form name="u2" method="post" action="alg_ruimteafdeling.asp?submit=1&ruimte_keys=<%=ruimte_key_arr.join(",")%>">
|
||||
<% MODAL_BLOCK_START("alg_ruimteafdeling", L("lcl_alg_geselecteerde_ruimten") + ": " + ruimte_key_arr.length, { icon: "fa-map-marker" }); %>
|
||||
@@ -298,4 +298,4 @@ IFACE.FORM_END();
|
||||
</html>
|
||||
<%
|
||||
}
|
||||
ASPPAGE_END(); %>
|
||||
ASPPAGE_END(); %>
|
||||
|
||||
@@ -51,7 +51,7 @@ FCLTHeader.Requires({plugins:["suggest","jQuery"], js: ["jQuery-ui.js"]})
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="fclt-modal" id="mod_ruimtefunctie">
|
||||
<body class="modal" id="mod_ruimtefunctie">
|
||||
<% MODAL_START(); %>
|
||||
<%
|
||||
var page="alg_edit_ruimtefunctie.asp?srtruimte_lg_key=" + srtruimte_lg_key; // Edit
|
||||
@@ -65,4 +65,4 @@ FCLTHeader.Requires({plugins:["suggest","jQuery"], js: ["jQuery-ui.js"]})
|
||||
<% MODAL_END(); %>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -41,7 +41,7 @@ var ruimte_key_arr = getQParamIntArray("ruimte_keys");
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="fclt-modal" id="mod_ruimteresscope">
|
||||
<body class="modal" id="mod_ruimteresscope">
|
||||
<% MODAL_START(); %>
|
||||
<form name="u2" method="post" action="alg_ruimteresscope_save.asp?ruimte_keys=<%=ruimte_key_arr.join(",")%>">
|
||||
<% MODAL_BLOCK_START("alg_ruimteresscope", L("lcl_alg_geselecteerde_ruimten") + ": " + ruimte_key_arr.length, { icon: "fa-map-marker" }); %>
|
||||
@@ -74,4 +74,4 @@ var ruimte_key_arr = getQParamIntArray("ruimte_keys");
|
||||
<% MODAL_END(); %>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -72,7 +72,6 @@ var verantw2 = oRs("prs_perslid_key_verantw2").Value;
|
||||
var vervaldatum = oRs("alg_gebouw_vervaldatum").Value;
|
||||
var geb_score1 = oRs("alg_gebouw_mjb_score1").Value;
|
||||
var actie_grp_key = oRs("bez_actie_groep_key").Value;
|
||||
var kalender_id = oRs("mld_vrije_dagen_id").Value;
|
||||
oRs.Close();
|
||||
%>
|
||||
|
||||
@@ -240,7 +239,6 @@ oRs.Close();
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
ROFIELDTR("fld", L("lcl_calendar"), kalender_id, {suppressEmpty: true});
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_beginuur"), toTimeString(beginuur), {suppressEmpty:true} );
|
||||
ROFIELDTR("fld", L("lcl_estate_gebouw_einduur"), toTimeString(einduur), {suppressEmpty:true} );
|
||||
ROCHECKBOXTR("fldalgwerk", L("lcl_estate_gebouw_werkdagen"), werkdagen==1);
|
||||
|
||||
@@ -11,7 +11,6 @@
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/plaatsselector.inc" -->
|
||||
<!-- #include file="../Shared/timezoneselector.inc" -->
|
||||
<!-- #include file="alg_flexkenmerk.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
@@ -50,8 +49,6 @@ var pst_land = oRs("alg_locatie_post_land").Value;
|
||||
var loc_deleted = oRs("alg_locatie_verwijder").Value != null;
|
||||
var vervaldatum = oRs("alg_locatie_vervaldatum").Value;
|
||||
var dienstniveau_key = oRs("mld_dienstniveau_key").Value;
|
||||
var alg_tz = oRs("alg_locatie_timezone").Value;
|
||||
|
||||
oRs.Close();
|
||||
%>
|
||||
<html>
|
||||
@@ -139,7 +136,6 @@ oRs.Close();
|
||||
|
||||
BLOCK_START("facFM", L("lcl_operations_block"), {icon: "fa-users-cog"});
|
||||
ROFIELDTR("fld", L("lcl_alg_locatie_volgnr"), loc_volgnr, {suppressEmpty: true});
|
||||
FCLTtimezoneselector("", {initVal: alg_tz, readonly: true, suppressEmpty: true});
|
||||
var fldcls = "fld";
|
||||
if (vervaldatum <= new Date())
|
||||
fldcls += " expired2";
|
||||
|
||||
@@ -47,16 +47,14 @@ var afgehandeld = false;
|
||||
var kenmerk_key = -1;
|
||||
if (alg_key > 0)
|
||||
{
|
||||
// Als ik canReadNotes heb dan heb ik canUSEread en/of canMANread rechten.
|
||||
// Wat mag ik op basis van mijn autorisatie (potentieel) zien, bepaal mijn rolcode-masker
|
||||
var myreadrolcode = 0 + (this_alg.canMANread ? 1 : 0)
|
||||
+ (this_alg.canUSEread ? 2 : 0);
|
||||
// Is er een bijlage kenmerk?
|
||||
var sql = "SELECT k.alg_kenmerk_key"
|
||||
+ " FROM alg_kenmerk k"
|
||||
+ " WHERE k.alg_kenmerk_niveau IN ('R','V','G','T','L')"
|
||||
+ " AND k.alg_kenmerk_verwijder IS NULL"
|
||||
+ " AND BITAND(k.alg_kenmerk_rolcode, " + myreadrolcode + ") > 0 "
|
||||
// Als ik canReadNotes heb dan heb ik canUSEread en/of canMANread rechten.
|
||||
+ (!this_alg.canMANread ? " AND k.alg_kenmerk_volgnr >= 100" : "")
|
||||
+ (!this_alg.canUSEread ? " AND k.alg_kenmerk_volgnr <= 100" : "")
|
||||
+ " AND ( k.alg_kenmerk_verplicht IS NULL"
|
||||
+ " OR k.alg_kenmerk_verplicht = 0)"
|
||||
+ " AND k.alg_kenmerk_kenmerktype = 'M'"
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
File: alg_show_regio.asp
|
||||
Status:
|
||||
Description:
|
||||
Description:
|
||||
Parameters: regio_key
|
||||
|
||||
*/ %>
|
||||
@@ -21,14 +21,11 @@
|
||||
FCLTHeader.Requires({plugins:["jQuery"], js: []})
|
||||
|
||||
var regio_key = getQParamInt("regio_key");
|
||||
var onrgoedlvl = "E";
|
||||
|
||||
var regio_params = { filter: { id: regio_key
|
||||
, show_deleted: true // Ook indien verwijderd ophalen.
|
||||
}};
|
||||
//var regio_array = model_regions.REST_GET(regio_params); // Roep de API2 GET aan
|
||||
var model = new model_regions();
|
||||
var regio_array = model.REST_GET(regio_params);
|
||||
var regio_array = model_regions.REST_GET(regio_params); // Roep de API2 GET aan
|
||||
var regio_data = (regio_array[0] ? regio_array[0] : {id: -1}); // GET kan meerdere records opleveren, maar we verwachten hier maar 1.
|
||||
var this_alg = regio_params.func_enabled; // regio_params bevat nu ook waarden die in API2 zijn bepaald.
|
||||
|
||||
@@ -49,8 +46,11 @@ var regio_deleted = regio_exists && !!regio_data.deleted;
|
||||
function reg_delete()
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_regio"), function() {
|
||||
var data = $("[name=u2]").serialize();
|
||||
$.post("alg_edit_regio_save.asp?regio_key=<%=regio_data.id%>&action=D",
|
||||
var data = {
|
||||
action: "D"
|
||||
};
|
||||
<% protectRequest.dataToken("data"); %>
|
||||
$.post($("form[name=u2]")[0].action,
|
||||
data,
|
||||
FcltCallbackClose,
|
||||
"json");
|
||||
@@ -60,8 +60,8 @@ var regio_deleted = regio_exists && !!regio_data.deleted;
|
||||
</head>
|
||||
|
||||
<body class="showmode">
|
||||
<%
|
||||
SUBFRAME_START();
|
||||
<%
|
||||
SUBFRAME_START();
|
||||
var buttons = [];
|
||||
if (!regio_deleted)
|
||||
{
|
||||
@@ -85,14 +85,9 @@ var regio_deleted = regio_exists && !!regio_data.deleted;
|
||||
<% BLOCK_START("algInfo", L("lcl_region"), {icon: "fa-globe"});
|
||||
ROFIELDTR("fld", L("lcl_name"), regio_data.name);
|
||||
BLOCK_END();
|
||||
|
||||
generateFlexKenmerkBlock ({ onrgoed_key : regio_key,
|
||||
onrgoed_niveau : onrgoedlvl,
|
||||
reado : true,
|
||||
this_alg : this_alg });
|
||||
IFACE.FORM_END();
|
||||
%> </form><%
|
||||
SUBFRAME_END(); %>
|
||||
%>
|
||||
</form>
|
||||
<% SUBFRAME_END(); %>
|
||||
</body>
|
||||
</html>
|
||||
<% ASPPAGE_END(); %>
|
||||
<% ASPPAGE_END(); %>
|
||||
|
||||
@@ -41,6 +41,7 @@ var sql = "SELECT ts.alg_locatie_key"
|
||||
+ " , ts.alg_terreinsector_oppervlak"
|
||||
+ " , ts.alg_terreinsector_omtrek"
|
||||
+ " , ts.alg_terreinsector_aanmaak"
|
||||
+ " , ts.alg_terreinsector_omschrijving"
|
||||
+ " , ts.alg_terreinsector_ordernr"
|
||||
+ " , ts.alg_terreinsector_image"
|
||||
+ " , ts.alg_terreinsector_toon_telef"
|
||||
@@ -58,7 +59,6 @@ var sql = "SELECT ts.alg_locatie_key"
|
||||
+ " , prs_perslid_key_verantw2"
|
||||
+ " , ts.alg_terreinsector_vervaldatum"
|
||||
+ " , ts.alg_terreinsector_verwijder"
|
||||
+ " , ts.mld_dienstniveau_key"
|
||||
+ " FROM alg_terreinsector ts"
|
||||
+ " WHERE ts.alg_terreinsector_key = " + ter_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
@@ -71,6 +71,7 @@ var ter_sroms = oRs("srtterreinsector_oms").Value;
|
||||
var ter_opp = oRs("alg_terreinsector_oppervlak").Value;
|
||||
var ter_omt = oRs("alg_terreinsector_omtrek").Value;
|
||||
var ter_aanmk = oRs("alg_terreinsector_aanmaak").Value;
|
||||
var ter_oms = oRs("alg_terreinsector_omschrijving").Value;
|
||||
var ter_ordnr = oRs("alg_terreinsector_ordernr").Value;
|
||||
var ter_image = oRs("alg_terreinsector_image").Value;
|
||||
var toon_telefoon = oRs("alg_terreinsector_toon_telef").Value;
|
||||
@@ -84,7 +85,6 @@ var verantw_key = oRs("prs_perslid_key_verantw").Value;
|
||||
var verantw2_key = oRs("prs_perslid_key_verantw2").Value;
|
||||
var ter_deleted = oRs("alg_terreinsector_verwijder").Value != null;
|
||||
var vervaldatum = oRs("alg_terreinsector_vervaldatum").Value;
|
||||
var dienstniveau_key = oRs("mld_dienstniveau_key").Value;
|
||||
oRs.Close();
|
||||
%>
|
||||
|
||||
@@ -215,20 +215,6 @@ oRs.Close();
|
||||
FILEPICKERTR("ter_image", L("lcl_alg_terreinsector_image"), ter_image, { "key": ter_key, "module": "ALGPHT", "readonly": true });
|
||||
BLOCK_END();
|
||||
|
||||
|
||||
BLOCK_START("algter4", L("lcl_alg_gebouw_facilitair"), {icon: "fa-users-cog"});
|
||||
if (dienstniveau_key)
|
||||
{
|
||||
sql = "SELECT mld_dienstniveau_key"
|
||||
+ " , " + lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||
+ " FROM mld_dienstniveau"
|
||||
+ " WHERE mld_dienstniveau_key = " + dienstniveau_key;
|
||||
oRs = Oracle.Execute(sql);
|
||||
ROFIELDTR("fld", L("lcl_mld_dienst_niveau"), oRs("mld_dienstniveau_omschr").value);
|
||||
oRs.Close();
|
||||
}
|
||||
BLOCK_END();
|
||||
|
||||
if (!(ter_opp == null && ter_omt == null && vervaldatum == null))
|
||||
{
|
||||
BLOCK_START("algter4", L("lcl_alg_gebouw_fysiek"), {icon: "fa-ruler-combined"});
|
||||
|
||||
@@ -31,7 +31,7 @@ if (ter_key > 0)
|
||||
|
||||
var loc_code = oRs("alg_locatie_code").value;
|
||||
var ter_code = oRs("alg_terreinsector_code").value;
|
||||
oRs.Close();
|
||||
|
||||
var ter_naam = " " + loc_code + "-" + ter_code;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -259,10 +259,10 @@ function terrein_list(pautfunction, params)
|
||||
|
||||
function fncolFlexBijlagen(oRs)
|
||||
{
|
||||
var flexval = oRs("algflex").Value;
|
||||
var flexval = oRs("flex").Value;
|
||||
var alg_key = oRs("alg_terreinsector_key").Value;
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
: ""
|
||||
);
|
||||
if (flexParams.bijlageflex)
|
||||
@@ -316,3 +316,4 @@ function terrein_list(pautfunction, params)
|
||||
</body>
|
||||
</html>
|
||||
<%}%>
|
||||
|
||||
|
||||
@@ -231,10 +231,10 @@ function verdiepingen_list(pautfunction, params)
|
||||
|
||||
function fncolFlexBijlagen(oRs)
|
||||
{
|
||||
var flexval = oRs("algflex").Value;
|
||||
var flexval = oRs("flex").Value;
|
||||
var alg_key = oRs("alg_verdieping_key").Value;
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
var result = ( flexval
|
||||
? safe.html(flexval.replace(/\r/g, "\n")+ "\n")
|
||||
: ""
|
||||
);
|
||||
if (flexParams.bijlageflex)
|
||||
@@ -280,3 +280,4 @@ function verdiepingen_list(pautfunction, params)
|
||||
</body>
|
||||
</html>
|
||||
<%}%>
|
||||
|
||||
|
||||
@@ -1,148 +0,0 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: default.asp
|
||||
Description: Test-pagina om in Exchange te kunnen kijken
|
||||
|
||||
Parameters:
|
||||
Status:
|
||||
Context:
|
||||
Notes:
|
||||
*/
|
||||
THIS_FILE = "../api/default.asp";
|
||||
%>
|
||||
<!-- #include file="../../Shared/common.inc" -->
|
||||
<!-- #include file="../../Shared/iface.inc" -->
|
||||
<!-- #include file="../../Shared/calendar.inc" -->
|
||||
<%
|
||||
|
||||
FCLTHeader.Requires({
|
||||
plugins: ["jQuery"]
|
||||
});
|
||||
|
||||
user.checkAutorisation("WEB_FACTAB");
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<style>
|
||||
html, body {
|
||||
height: 100%;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
body, #result {
|
||||
display: grid;
|
||||
grid-template-rows: auto 1fr;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.captions, .content {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.attention-bar {
|
||||
flex-basis: 100%;
|
||||
font-size: 1.25em;
|
||||
font-weight: bold;
|
||||
text-align: center;
|
||||
}
|
||||
.inform {
|
||||
background-color: orange;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.captions > span {
|
||||
height: 2em;
|
||||
flex-basis: 50%;
|
||||
text-align: center;
|
||||
}
|
||||
textarea {
|
||||
overflow: auto;
|
||||
white-space: pre;
|
||||
padding: .5em;
|
||||
flex-basis: 50%;
|
||||
}
|
||||
|
||||
</style>
|
||||
<script>
|
||||
function doSubmit() {
|
||||
$.post(
|
||||
"get_exchange_info.asp",
|
||||
$("[name=exchange]").serialize(),
|
||||
FcltCallbackAndThenAlways(exc_submit_callback),
|
||||
"json"
|
||||
);
|
||||
}
|
||||
|
||||
function exc_submit_callback(json) {
|
||||
$(".host, .room").val("");
|
||||
$(".attention-bar").remove();
|
||||
if (json.success) {
|
||||
if (json.info?.length) { // Als json.success === false, dan wordt de json.info al in een popup weergegeven
|
||||
for (var i = 0; i < json.info.length; i++) {
|
||||
$(".captions > .host").before("<div class='attention-bar inform'>" + I("fa-circle-info fa-lg") + " " + safe.html(json.info) + "</div>");
|
||||
}
|
||||
}
|
||||
$(".host").val(json.host ? JSON.stringify(json.host, null, 4) : "N/A");
|
||||
$(".room").val(json.room ? JSON.stringify(json.room, null, 4) : "N/A");
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body id="searchbody">
|
||||
<form name="exchange" onsubmit="doSubmit(); return false;">
|
||||
<% SEARCH_PAGE_START({ header: L("lcl_filterblok") });
|
||||
|
||||
SEARCH_BLOCK_START();
|
||||
|
||||
RWFIELDTR("reservering", null, L("lcl_res_number"));
|
||||
RWCHECKBOXTR("compact", null, "Compact", true);
|
||||
|
||||
SEARCH_BLOCK_END();
|
||||
|
||||
SEARCH_BLOCK_START();
|
||||
|
||||
RWFIELDTR("userPrincipalName", null, "Eigenaar van de Exchange agenda", null, { "placeholder": "prs_perslid_email of res_ruimte_extern_id" });
|
||||
|
||||
FCLTcalendar("date_from", {
|
||||
label: L("lcl_period_from"),
|
||||
initEmpty: true,
|
||||
volgnr: 1
|
||||
});
|
||||
|
||||
FCLTcalendar("date_to", {
|
||||
label: L("lcl_period_to"),
|
||||
initEmpty: true,
|
||||
volgnr: 2
|
||||
});
|
||||
|
||||
SEARCH_BLOCK_END();
|
||||
|
||||
var buttons = [{ title: L("lcl_search"), action: "doSubmit()", importance: 1, icon: "fa-search" }];
|
||||
SIMPLE_BLOCK_START();
|
||||
CreateButtons(buttons, { "entersubmit": true });
|
||||
SIMPLE_BLOCK_END();
|
||||
|
||||
SEARCH_PAGE_END();
|
||||
IFACE.FORM_END();
|
||||
%> </form>
|
||||
<div id="result">
|
||||
<div class="captions">
|
||||
<span class="host">Hieronder het Exchange event uit de agenda van de <i>Gastheer</i></span>
|
||||
<span class="room">Hieronder het Exchange event uit de agenda van de <i>Ruimte</i></span>
|
||||
</div>
|
||||
<div class="content">
|
||||
<textarea class="host"></textarea>
|
||||
<textarea class="room"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
<%
|
||||
ASPPAGE_END();
|
||||
%>
|
||||
@@ -1,243 +0,0 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: get_exchange_info.asp
|
||||
Description: Haalt events uit Exchange op en geeft deze terug
|
||||
Parameters:
|
||||
Context:
|
||||
Note:
|
||||
|
||||
*/
|
||||
var JSON_Result = true;
|
||||
%>
|
||||
<!-- #include file="../../Shared/common.inc" -->
|
||||
<%
|
||||
Session.Codepage = 65001; // We doen *uitsluitend* utf-8
|
||||
Response.Charset = "UTF-8";
|
||||
|
||||
protectRequest.validateToken();
|
||||
|
||||
user.checkAutorisation("WEB_FACTAB");
|
||||
|
||||
function early_exit(err) {
|
||||
result.success = false;
|
||||
result.warning = err;
|
||||
ASPPAGE_END();
|
||||
Response.Write(JSON.stringify(result));
|
||||
Response.End;
|
||||
}
|
||||
|
||||
function verifyMSGraphResult(response) {
|
||||
if (response === false || response === null) {
|
||||
early_exit("MS Graph [Generic Error] - Zie Logging voor details");
|
||||
}
|
||||
}
|
||||
|
||||
// Minimaliseer het resultaat door alleen zeer relevante velden over te nemen
|
||||
function strip(result) {
|
||||
function _minify(event) {
|
||||
return {
|
||||
"createdDateTime": event.createdDateTime,
|
||||
"id": event.id,
|
||||
"iCalUId": event.iCalUId,
|
||||
"subject": event.subject,
|
||||
"isCancelled": event.isCancelled,
|
||||
"sensitivity": event.sensitivity,
|
||||
"isOnlineMeeting": event.isOnlineMeeting,
|
||||
"responseStatus": event.responseStatus,
|
||||
"start": event.start,
|
||||
"end": event.end,
|
||||
// "locations": event.locations,
|
||||
"attendees": event.attendees
|
||||
}
|
||||
}
|
||||
if (result.host) {
|
||||
if (result.host instanceof Array) {
|
||||
for (var i = 0; i < result.host.length; i++) {
|
||||
result.host[i] = _minify(result.host[i]);
|
||||
}
|
||||
} else {
|
||||
result.host = _minify(result.host);
|
||||
}
|
||||
}
|
||||
if (result.room) {
|
||||
if (result.room instanceof Array) {
|
||||
for (var i = 0; i < result.room.length; i++) {
|
||||
result.room[i] = _minify(result.room[i]);
|
||||
}
|
||||
} else {
|
||||
result.room = _minify(result.room);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
// Polyfill
|
||||
if (!Date.prototype.toISOString) {
|
||||
Date.prototype.toISOString = function () {
|
||||
function pad(n) { return n < 10 ? '0' + n : n }
|
||||
return this.getUTCFullYear() + '-'
|
||||
+ pad(this.getUTCMonth() + 1) + '-'
|
||||
+ pad(this.getUTCDate()) + 'T'
|
||||
+ pad(this.getUTCHours()) + ':'
|
||||
+ pad(this.getUTCMinutes()) + ':'
|
||||
+ pad(this.getUTCSeconds()) + 'Z';
|
||||
};
|
||||
}
|
||||
|
||||
var result = {
|
||||
info: []
|
||||
};
|
||||
|
||||
if (!(S("msgraph_sync_level") > 0)) {
|
||||
result.info = ["S(\"msgraph_sync_level\") staat op '0'"];
|
||||
}
|
||||
|
||||
// Initialize hook
|
||||
var hook = hookfunc.gethook("UTILS/Exchange/res_to_graph.wsc");
|
||||
var DEZE = this;
|
||||
try {
|
||||
var init = hook.initialize({
|
||||
DEZE: DEZE,
|
||||
custabspath: Server.MapPath(custpath)
|
||||
});
|
||||
if (init === null) { // Is alleen null als de exchange.config ontbreekt
|
||||
early_exit("Geen exchange.config aangetroffen");
|
||||
}
|
||||
} catch (e) {
|
||||
early_exit("Hook error: " + e.description);
|
||||
}
|
||||
|
||||
var host_id = null;
|
||||
var room_id = null;
|
||||
var host_email = null;
|
||||
var room_email = null;
|
||||
var res_rsv_ruimte_key = null;
|
||||
var fallback_user = false;
|
||||
|
||||
var compact = getFParam("compact", "off") == "on";
|
||||
var reservering_nr = getFParam("reservering", "");
|
||||
var userPrincipalName = getFParam("userPrincipalName", null);
|
||||
var date_from = getFParamDate("date_from", null);
|
||||
var date_to = getFParamDate("date_to", null);
|
||||
if (reservering_nr != "") {
|
||||
// We gaan het event ophalen met een reserveringsnr als informatie
|
||||
var res_reservering_key = parseInt(reservering_nr.split("/")[0], 10);
|
||||
var res_rsv_ruimte_volgnr = parseInt((reservering_nr.split("/")[1] || 1), 10);
|
||||
if (isNaN(res_reservering_key) || isNaN(res_rsv_ruimte_volgnr)) {
|
||||
early_exit("Ongeldig reserveringsnr, verwachte formaat; 12345/1");
|
||||
}
|
||||
var sql = "SELECT rrr.res_rsv_ruimte_externnr2 host_id,"
|
||||
+ " rrr.res_rsv_ruimte_externnr room_id,"
|
||||
+ " p_host.prs_perslid_email host_email,"
|
||||
+ " rr.res_ruimte_extern_id room_email,"
|
||||
+ " rrr.res_rsv_ruimte_key res_rsv_ruimte_key,"
|
||||
+ " p_host.prs_perslid_oslogin host_login"
|
||||
+ " FROM res_rsv_ruimte rrr"
|
||||
+ " JOIN prs_perslid p_host"
|
||||
+ " ON p_host.prs_perslid_key = rrr.res_rsv_ruimte_host_key"
|
||||
+ " JOIN res_ruimte_opstelling rro"
|
||||
+ " ON rro.res_ruimte_opstel_key = rrr.res_ruimte_opstel_key"
|
||||
+ " JOIN res_ruimte rr ON rr.res_ruimte_key = rro.res_ruimte_key"
|
||||
+ " WHERE rrr.res_reservering_key = " + res_reservering_key
|
||||
+ " AND rrr.res_rsv_ruimte_volgnr = " + res_rsv_ruimte_volgnr;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.EoF) {
|
||||
host_id = oRs("host_id").Value;
|
||||
room_id = oRs("room_id").Value;
|
||||
host_email = oRs("host_email").Value;
|
||||
room_email = oRs("room_email").Value;
|
||||
res_rsv_ruimte_key = oRs("res_rsv_ruimte_key").Value;
|
||||
fallback_user = oRs("host_login").Value === null ? false : !!oRs("host_login").Value.match(/^_MSGRAPH_FALLBACK_/);
|
||||
} else {
|
||||
early_exit("Reservering niet in Facilitor gevonden");
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
// Wat error-handling
|
||||
if (host_id === null && room_id === null) {
|
||||
if (room_email === null) {
|
||||
early_exit("Ruimte is geen Exchange-gekoppelde ruimte");
|
||||
} else {
|
||||
early_exit("Reservering is niet aan Exchange gekoppeld");
|
||||
}
|
||||
} else if (fallback_user) {
|
||||
early_exit("Deze reservering is geboekt op een fallback user, we kunnen hiervan niets uitlezen op basis van de reservering. Probeer de reservering zelf op te zoeken mbv een datum bereik");
|
||||
}
|
||||
|
||||
// Haal nu de eigenlijke Exchange-events op
|
||||
if (host_id && host_id != "##PENDING##" && host_email) {
|
||||
var method = host_id.match(/^##iCalUId##/) ? "iCalUId" : "id";
|
||||
result.host = hook.getCalendarEvent(method, host_email, host_id);
|
||||
verifyMSGraphResult(result.host);
|
||||
}
|
||||
if (room_id && room_email) {
|
||||
room_id = room_id.split("|")[1] || room_id.split("|")[0];
|
||||
var method = room_id.match(/^##iCalUId##/) ? "iCalUId" : "id";
|
||||
if (method == "iCalUId") {
|
||||
room_id = room_id.slice(11); // Strip de '##iCalUId##'
|
||||
}
|
||||
result.room = hook.getCalendarEvent(method, room_email, room_id);
|
||||
verifyMSGraphResult(result.room);
|
||||
}
|
||||
|
||||
// Niet gevonden, nog eens proberen obv res_rsv_ruimte_key
|
||||
if (!result.host && !result.room) {
|
||||
if (host_id == "##PENDING##" && host_email) {
|
||||
result.info.push("Deze reservering heeft nog geen antwoord van MSGraph ontvangen");
|
||||
result.host = hook.getCalendarEvent("res_rsv_ruimte_key", host_email, res_rsv_ruimte_key);
|
||||
verifyMSGraphResult(result.host);
|
||||
if (!result.host) {
|
||||
early_exit("Reservering niet in Exchange gevonden op basis van res_rsv_ruimte_key");
|
||||
}
|
||||
} else {
|
||||
result.info.push("Reservering niet in Exchange gevonden");
|
||||
}
|
||||
if (!result.host) {
|
||||
early_exit("Reservering niet in Exchange gevonden");
|
||||
}
|
||||
}
|
||||
// Klaar
|
||||
} else if (userPrincipalName && date_from != null && date_to != null) {
|
||||
// We gaan het event ophalen met een (ruimte of gastheer)email en een datum bereik
|
||||
var id = date_from.toISOString() + "##" + date_to.toISOString();
|
||||
var response = hook.getCalendarEvent("date", userPrincipalName, id);
|
||||
verifyMSGraphResult(response);
|
||||
|
||||
// Verwerk het resultaat
|
||||
if (response.value) {
|
||||
// Convert een javascript Array naar een JSON Array
|
||||
var events = [];
|
||||
for (var x in response.value) {
|
||||
events.push(response.value[x]);
|
||||
}
|
||||
if (events.length != 1) {
|
||||
result.info.push("Er zijn " + events.length + " events gevonden");
|
||||
}
|
||||
var sql = "SELECT 1"
|
||||
+ " FROM res_ruimte"
|
||||
+ " WHERE UPPER(res_ruimte_extern_id) = " + safe.quoted_sql_upper(userPrincipalName);
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs.EoF) {
|
||||
result.host = events;
|
||||
} else {
|
||||
result.room = events;
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
} else {
|
||||
early_exit("Onvoldoende parameters meegegeven; zoek op reserveringsnr, of de combinatie; email/datum-van/datum-tot");
|
||||
}
|
||||
|
||||
result.success = true;
|
||||
// Strip onnodige velden
|
||||
if (compact) {
|
||||
result = strip(result);
|
||||
};
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
Response.End;
|
||||
%>
|
||||
<% ASPPAGE_END(); %>
|
||||
@@ -306,6 +306,7 @@ try
|
||||
var xml_content = oRs("xml_blob").Value;
|
||||
oRs.Close();
|
||||
__Log("XML blob is {0} karakters.".format(xml_content.length));
|
||||
Oracle.Execute("BEGIN DBMS_SESSION.free_unused_user_memory; END;");
|
||||
|
||||
if (API.apidata.loglevel) __Log2File(xml_content, API.APIname + "_DATA");
|
||||
|
||||
|
||||
@@ -44,9 +44,9 @@
|
||||
var result = api_gen_import(API, Request.BinaryRead(bytes));
|
||||
xmlResp = result.xmldom;
|
||||
|
||||
if (API.apidata.errorhandling == 1 && user.errorhandling() == 1)
|
||||
if (API.apidata.errorhandling == 1)
|
||||
{
|
||||
if (result.anyError) // een 'E' in imp_log
|
||||
if (result.anyError) // een 'E' in imp_log
|
||||
{
|
||||
Response.Status = '400 Bad Request';
|
||||
}
|
||||
|
||||
@@ -198,38 +198,6 @@ function getEmailSetting(xmlReq, xmlParameters)
|
||||
return senderResult;
|
||||
}
|
||||
|
||||
// Check the subject against general rules (emlSetting null) or some defined
|
||||
// regular expression from the configuration in emlSetting
|
||||
// return .success true if the subject is okay, false else
|
||||
// If false, a reason is given in .message
|
||||
function checkSubject(emlSetting, xmlParameters)
|
||||
{
|
||||
var subjectResult = { success: true };
|
||||
if (emlSetting == null)
|
||||
{
|
||||
// generieke onderwerpcheck tegen rubbish
|
||||
var v_subject_undeliverable = new RegExp(S("mail_subject_undeliverable")).test(xmlParameters.Subject);
|
||||
var v_subject_ignore = new RegExp(S("mail_subject_ignore")).test(xmlParameters.Subject);
|
||||
var senderResult = null;
|
||||
if (v_subject_undeliverable || v_subject_ignore)
|
||||
{
|
||||
subjectResult.success = false;
|
||||
subjectResult.message = ( v_subject_undeliverable ? S("mail_subject_undeliverable") : S("mail_subject_ignore"));
|
||||
}
|
||||
} else {
|
||||
// matcht het mailonderwerp wellicht met een specifieke configuratie?
|
||||
if (emlSetting.text)
|
||||
{
|
||||
subjectResult.success = new RegExp(emlSetting.text, "ig").test(xmlParameters.Subject);
|
||||
subjectResult.message = "Subject " + xmlParameters.Subject + (subjectResult.success ? " matches " : " does not match ") + emlSetting.text
|
||||
__Log(subjectResult.message);
|
||||
}
|
||||
else // geen voorwaarde is altijd goed
|
||||
subjectResult.success = true;
|
||||
}
|
||||
return subjectResult;
|
||||
}
|
||||
|
||||
function setPath(attachpath)
|
||||
{
|
||||
var path = attachpath;
|
||||
@@ -250,23 +218,17 @@ function getEmailSetting(xmlReq, xmlParameters)
|
||||
+ " fac_email_setting_volgnr,"
|
||||
+ " fac_email_setting_action,"
|
||||
+ " fac_email_setting_expire,"
|
||||
+ " fac_email_setting_from," // optioneel: waar de afzender aan moet voldoen
|
||||
+ " fac_email_setting_from,"
|
||||
+ " fac_email_setting_frommode,"
|
||||
+ " fac_email_setting_text," // optioneel: waar het onderwerp aan moet voldoen
|
||||
+ " fac_email_setting_attachpath,"
|
||||
+ " fac_email_setting_attachext,"
|
||||
+ " fac_email_setting_reqattachext," // optioneel: extensie van de bijlage die verplicht is
|
||||
+ " fac_email_setting_reqattachext,"
|
||||
+ " fac_email_setting_attachmaxkb,"
|
||||
+ " fac_email_setting_loglevel,"
|
||||
+ " prs_perslid_key_auth"
|
||||
+ " FROM fac_email_setting"
|
||||
+ " WHERE upper(fac_email_setting_user) = UPPER("+safe.quoted_sql(xmlParameters.mailuser)+")"
|
||||
+ " ORDER BY fac_email_setting_volgnr";
|
||||
|
||||
// Als je het zo zou doen vind je organischer de meest specifieke match, met volgnummer slechts beslissend als er meerdere zouden zijn
|
||||
// Het lijkt echter safer om datr aan de gebruiker over te laten en die dat met volgnummer expliciet te kunnen laten definieren.
|
||||
//+ " ORDER BY fac_email_setting_reqattachext NULLS LAST, fac_email_setting_from NULLS LAST, fac_email_setting_text NULLS LAST, fac_email_setting_volgnr";
|
||||
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs.eof)
|
||||
{ // Er is geen fac_email_setting record gevonden.
|
||||
@@ -277,22 +239,11 @@ function getEmailSetting(xmlReq, xmlParameters)
|
||||
};
|
||||
}
|
||||
else
|
||||
{ // Er bestaat minimaal 1 fac_email_setting record voor deze ontvanger.
|
||||
{ // Er bestaat minimaal 1 fac_email_setting record.
|
||||
var allowedSetting = {};
|
||||
var rejectedAttach = [];
|
||||
var hasRequiredAttachment = false;
|
||||
var hasMatchingFrom = false;
|
||||
var hasMatchingSubject = false;
|
||||
|
||||
// Loop door de fac_email_setting records en bepaal welke het beste past bij deze e-mail
|
||||
// Dat is de eerste match op basis van het volgnummer, waarbij de 3 criteria niet conflicteren.
|
||||
// - de afzender matcht of is niet specifiek gedefinieerd
|
||||
// - het onderwerp matcht de conditie of is niet specifiek gedefinieerd
|
||||
// - de verplichte bijlage is present of is niet specifiek gedefinieerd
|
||||
// Het gevonden record levert de aan te roepen mailprocessor en
|
||||
// (bij de default fac.processemail) de aan te maken standaardmelding
|
||||
|
||||
while (!oRs.eof && !(hasRequiredAttachment && hasMatchingFrom && hasMatchingSubject))
|
||||
while (!oRs.eof && !hasRequiredAttachment)
|
||||
{
|
||||
var emlSetting = {
|
||||
key: oRs("fac_email_setting_key").Value,
|
||||
@@ -306,29 +257,21 @@ function getEmailSetting(xmlReq, xmlParameters)
|
||||
attach_maxkb: oRs("fac_email_setting_attachmaxkb").Value,
|
||||
fromMode: oRs("fac_email_setting_frommode").Value,
|
||||
from: oRs("fac_email_setting_from").Value,
|
||||
text: oRs("fac_email_setting_text").Value,
|
||||
loglevel: oRs("fac_email_setting_loglevel").Value
|
||||
};
|
||||
emlSetting.path = setPath(emlSetting.attachpath);
|
||||
__Log("Scanning e-mail setting: "+emlSetting.key + " (volgnr "+emlSetting.volgnr+")");
|
||||
__Log("Scanning e-mail setting: "+emlSetting.volgnr);
|
||||
|
||||
var expireResult = checkExpire(emlSetting.expire);
|
||||
var senderResult = checkSender(emlSetting, xmlParameters);
|
||||
var subjectResult = checkSubject(emlSetting, xmlParameters);
|
||||
var expireResult = checkExpire(emlSetting.expire);
|
||||
var senderResult = checkSender(emlSetting, xmlParameters);
|
||||
|
||||
hasMatchingFrom = senderResult.success;
|
||||
hasMatchingSubject = subjectResult.success;
|
||||
__Log('hasMatchingFrom '+ hasMatchingFrom);
|
||||
__Log('hasMatchingSubject '+ hasMatchingSubject);
|
||||
|
||||
// als fron en subject okay zijn, dan kijken we of er een verplicht kenmerk is
|
||||
if (expireResult.success && hasMatchingFrom && hasMatchingSubject)
|
||||
if (expireResult.success && senderResult.success)
|
||||
{
|
||||
emlSetting.theFrom = senderResult.theFrom; // verbeter na de uitgevoerde controle
|
||||
emlSetting.theFrom = senderResult.theFrom;
|
||||
var attachResult = checkAttach(xmlReq, xmlParameters, emlSetting);
|
||||
emlSetting.allowedFiles = attachResult.allowedFiles;
|
||||
emlSetting.requiredFound = attachResult.requiredFound;
|
||||
hasRequiredAttachment = emlSetting.required_attachext == null || attachResult.requiredFound;
|
||||
hasRequiredAttachment = attachResult.requiredFound;
|
||||
allowedSetting = emlSetting;
|
||||
if (attachResult.rejectedFiles.tekst != "")
|
||||
{
|
||||
@@ -346,12 +289,10 @@ function getEmailSetting(xmlReq, xmlParameters)
|
||||
result.rejectMail = (!expireResult.success ? expireResult.rejectMail : senderResult.rejectMail);
|
||||
}
|
||||
}
|
||||
__Log("hasRequiredAttachment: " + hasRequiredAttachment);
|
||||
oRs.MoveNext();
|
||||
}
|
||||
__Log("Done looking for matching e-mail settings");
|
||||
|
||||
result.emlSetting = allowedSetting;
|
||||
result.silentignoreemail = checkSubject(null, xmlParameters).message;
|
||||
}
|
||||
oRs.Close();
|
||||
return result;
|
||||
@@ -373,11 +314,11 @@ function emailAction(emlSetting, xmlParam, resultParam)
|
||||
}
|
||||
|
||||
var actionsql =
|
||||
"BEGIN " + emlSetting.action + " (" + safe.quoted_sql(emlSetting.theFrom) + ", "
|
||||
+ safe.quoted_sql(xmlParam.toAddr) + ", "
|
||||
+ safe.quoted_sql(xmlParam.Subject || L("lcl_fac_hmail_no_subject")) + ", " // de actions kunnen slecht tegen lege subject
|
||||
"BEGIN " + emlSetting.action + " (" + safe.quoted_sql(emlSetting.theFrom) + ","
|
||||
+ safe.quoted_sql(xmlParam.toAddr) + ","
|
||||
+ safe.quoted_sql(xmlParam.Subject || L("lcl_fac_hmail_no_subject")) + "," // de actions kunnen slecht tegen lege subject
|
||||
+ "?, "
|
||||
+ safe.quoted_sql(xmlParam.sessionId) + ", "
|
||||
+ safe.quoted_sql(xmlParam.sessionId) + ","
|
||||
+ emlSetting.key + ");"
|
||||
+ "END;";
|
||||
|
||||
@@ -476,7 +417,6 @@ function emailAction(emlSetting, xmlParam, resultParam)
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
function checkAttach(xmlReq, xmlParameter, emlSetting)
|
||||
{
|
||||
var requiredFound = false;
|
||||
@@ -497,14 +437,10 @@ function checkAttach(xmlReq, xmlParameter, emlSetting)
|
||||
{ // Waarschijnlijk een FACILITOR bon gereply'd
|
||||
__Log("Bijlage {0} genegeerd.".format(safefilename));
|
||||
}
|
||||
else if (attsize < S("flex_min_size")) // sowieso te klein
|
||||
else if (attsize < S("flex_min_size"))
|
||||
{
|
||||
__Log("Bijlage {0} genegeerd, te klein met {1} bytes.".format(safefilename, attsize));
|
||||
}
|
||||
else if (attsize < S("flex_min_imgsize") && new RegExp(S("flex_min_imgsize_ext"), "ig").test(safefilename)) // plaatje te klein (facebook, twitter, X)
|
||||
{
|
||||
__Log("Plaatje {0} genegeerd, te klein met {1} bytes.".format(safefilename, attsize));
|
||||
}
|
||||
else if ( emlSetting.attach_maxkb && emlSetting.attach_maxkb > 0 // Er is een maximum bestandsgrootte ingesteld
|
||||
&& parseFloat(filesize_MB) > parseFloat(maxsize_MB)) // En die is overschreden
|
||||
{
|
||||
@@ -514,7 +450,7 @@ function checkAttach(xmlReq, xmlParameter, emlSetting)
|
||||
}
|
||||
else if (!new RegExp(S("flexallowedext"), "ig").test(safefilename))
|
||||
{ // Niet ondersteunde bestandstype
|
||||
__Log("Onbekende extensie e-mail bijlage: {0} ({1} bytes) van {2}. Bestand is niet opgeslagen.".format(safefilename, attsize, emlSetting.theFrom));
|
||||
__DoLog("Onbekende extensie e-mail bijlage: {0} ({1} bytes) van {2}. Bestand is niet opgeslagen.".format(safefilename, attsize, emlSetting.theFrom));
|
||||
}
|
||||
else if (emlSetting.allowed_attachext && !new RegExp(emlSetting.allowed_attachext, "ig").test(safefilename))
|
||||
{ // bestand is niet van het opgegeven type
|
||||
@@ -728,41 +664,33 @@ if (emlResult.emlSetting && !emlResult.rejectMail)
|
||||
__Log("htmlBody: " + xmlParameters.htmlBody);
|
||||
__Log("body: " + xmlParameters.Body);
|
||||
__Log("E-mail user ontvankelijk: " + xmlParameters.mailuser);
|
||||
__Log("gebruikt email setting: " + emlSetting.key);
|
||||
__Log("gebruikt email setting: " + emlSetting.volgnr);
|
||||
|
||||
if (emlResult.silentignoreemail)
|
||||
{
|
||||
var saveResult = { silentignoreemail : true, maillog: "Ignored because subject matches " + emlResult.silentignoreemail }
|
||||
__Log("Ignored because subject matches " + emlResult.silentignoreemail);
|
||||
}
|
||||
else
|
||||
{
|
||||
var result = { success: true,
|
||||
path: emlSetting.path,
|
||||
kenmerkpath: "",
|
||||
attachments: [],
|
||||
tempfolder: shared.tempFolder(),
|
||||
loglevel: emlSetting.loglevel || 0
|
||||
};
|
||||
var result = { success: true,
|
||||
path: emlSetting.path,
|
||||
kenmerkpath: "",
|
||||
attachments: [],
|
||||
tempfolder: shared.tempFolder(),
|
||||
loglevel: emlSetting.loglevel || 0
|
||||
};
|
||||
|
||||
var actionResult = emailAction(emlSetting, xmlParameters, result);
|
||||
if (!actionResult.rejectMail)
|
||||
var actionResult = emailAction(emlSetting, xmlParameters, result);
|
||||
if (!actionResult.rejectMail)
|
||||
{
|
||||
var saveResult = saveAttachments(xmlReq, emlSetting, xmlParameters, actionResult);
|
||||
if (!saveResult.rejectMail)
|
||||
{
|
||||
var saveResult = saveAttachments(xmlReq, emlSetting, xmlParameters, actionResult);
|
||||
if (!saveResult.rejectMail)
|
||||
{
|
||||
saveEml(xmlParameters, saveResult);
|
||||
}
|
||||
else
|
||||
{
|
||||
emlResult.rejectMail = saveResult.rejectMail;
|
||||
}
|
||||
saveEml(xmlParameters, saveResult);
|
||||
}
|
||||
else
|
||||
{
|
||||
emlResult.rejectMail = actionResult.rejectMail;
|
||||
emlResult.rejectMail = saveResult.rejectMail;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
emlResult.rejectMail = actionResult.rejectMail;
|
||||
}
|
||||
}
|
||||
|
||||
if (emlResult.rejectMail)
|
||||
|
||||
@@ -253,7 +253,7 @@ for (i = 0; i < meldingen.length; i++)
|
||||
fields.push({ dbs: "mld_melding_opmerking", typ: "varchar", val: meld_opm, track: L("lcl_mld_inf_Opmerking"), len: 4000 });
|
||||
|
||||
if (meld_onderwerp)
|
||||
fields.push({ dbs: "mld_melding_onderwerp", typ: "varchar", val: meld_onderwerp, track: L("lcl_mld_inf_Onderwerp"), len: 200 });
|
||||
fields.push({ dbs: "mld_melding_onderwerp", typ: "varchar", val: meld_onderwerp, track: L("lcl_mld_inf_Onderwerp"), len: 80 });
|
||||
|
||||
if (meld_oms)
|
||||
fields.push({ dbs: "mld_melding_omschrijving", typ: "varchar", val: meld_oms, track: L("lcl_mld_inf_Omschrijving"), len: 4000 });
|
||||
@@ -441,7 +441,7 @@ for (i = 0; i < meldingen.length; i++)
|
||||
{ dbs: "mld_melding_module", typ: "varchar", val: "MLD" },
|
||||
{ dbs: "mld_meldbron_key", typ: "key", val: 6 }, // system
|
||||
{ dbs: "mld_melding_omschrijving", typ: "varchar", val: meld_oms, len: 4000 },
|
||||
{ dbs: "mld_melding_onderwerp", typ: "varchar", val: meld_onderwerp, len: 200 },
|
||||
{ dbs: "mld_melding_onderwerp", typ: "varchar", val: meld_onderwerp, len: 80 },
|
||||
{ dbs: "prs_kostenplaats_key", typ: "key", val: kpn_key },
|
||||
{ dbs: "prs_afdeling_key", typ: "key", val: afd_key },
|
||||
{ dbs: "mld_kosten_klant", typ: "number", val: kpn_key > 0 && ins_srtdiscipline_kk? 1 : null },
|
||||
@@ -733,7 +733,7 @@ function upsertKenmerk(kenmerken, stdmld_key, mld_key)
|
||||
|
||||
xmlResp.appendChild(FCLTElement);
|
||||
|
||||
if (API.apidata.errorhandling == 1 && user.errorhandling() == 1)
|
||||
if (API.apidata.errorhandling == 1)
|
||||
{
|
||||
if (resultcode > 0) // -1 en 0 zijn 'goed'
|
||||
{
|
||||
|
||||
@@ -23,12 +23,52 @@ var API = new API_func();
|
||||
// Bij aanmaken van de subscription doet Graph direct aan validatie-aanroep
|
||||
// De token parameter moet je teruggeven.
|
||||
var validationToken = getQParam("validationToken", "");
|
||||
if (validationToken) {
|
||||
if (validationToken)
|
||||
{
|
||||
__Log("Subscribtion validated: " + validationToken);
|
||||
Response.ContentType = "text/plain";
|
||||
Response.Write(validationToken);
|
||||
Response.End;
|
||||
}
|
||||
else
|
||||
{ // We hebben een notificatie ontvangen, stuur direct een 202 conform specificatie
|
||||
Response.Status = "202 - Accepted";
|
||||
Response.Write("");
|
||||
Response.Flush;
|
||||
}
|
||||
|
||||
function _cleanIncomingOutlookQueue() {
|
||||
Application.Lock();
|
||||
var incomingOutlookQueue = JSON.parse(Application(customerId + "_incomingOutlookQueue") || "{}");
|
||||
for (var x in incomingOutlookQueue) {
|
||||
if (incomingOutlookQueue[x] < new Date().getTime()) { // Verwijder verlopen changes die hier nog in staan
|
||||
delete incomingOutlookQueue[x];
|
||||
}
|
||||
}
|
||||
Application(customerId + "_incomingOutlookQueue") = JSON.stringify(incomingOutlookQueue);
|
||||
Application.UnLock();
|
||||
}
|
||||
|
||||
function _updateIncomingOutlookQueue(etag, CRUD) { // etag = 'The HTTP entity tag that represents the version of the object'
|
||||
Application.Lock();
|
||||
var incomingOutlookQueue = JSON.parse(Application(customerId + "_incomingOutlookQueue") || "{}");
|
||||
if (CRUD == "C") {
|
||||
if (etag in incomingOutlookQueue) { // We hebben deze al ontvangen en zijn begonnen met verwerken
|
||||
__Log("MS Graph, duplicate notification ignored", "#FFFF44");
|
||||
Application.UnLock();
|
||||
Response.End;
|
||||
}
|
||||
incomingOutlookQueue[etag] = new Date().getTime() + 4 * 60 * 60 * 1000; // Expired in 4 uur
|
||||
} else if (CRUD == "D") {
|
||||
// delete incomingOutlookQueue[etag];
|
||||
// ipv deleten laten we deze expiren over 3s zodat we reeds verwerkte notificaties niet nog eens gaan verwerken als het HTTP verkeer elkaar kruist
|
||||
if (etag in incomingOutlookQueue) {
|
||||
incomingOutlookQueue[etag] = new Date().getTime() + 3 * 1000;
|
||||
}
|
||||
}
|
||||
Application(customerId + "_incomingOutlookQueue") = JSON.stringify(incomingOutlookQueue);
|
||||
Application.UnLock();
|
||||
}
|
||||
|
||||
// Als we hier komen hebben we een echte notificatie binnengekregen
|
||||
var notidata = RequestJSON(API.apidata.loglevel).value;
|
||||
@@ -43,10 +83,12 @@ try {
|
||||
} catch (e) {
|
||||
__DoLog("Malformed MS Graph notification received:", "#FF0000");
|
||||
__DoLog(notidata, "#FF0000");
|
||||
Response.Status = "400 - Bad Request";
|
||||
Response.End;
|
||||
}
|
||||
|
||||
_cleanIncomingOutlookQueue();
|
||||
_updateIncomingOutlookQueue(etag, "C");
|
||||
|
||||
// {
|
||||
// "value": [
|
||||
// {
|
||||
@@ -68,10 +110,8 @@ try {
|
||||
// We hebben res_ruimte_key meegegeven in de hookurl. Er zijn meer manieren
|
||||
// om de ruimte te achterhalen maar deze is het snelst/ simpelst
|
||||
var res_ruimte_key = getQParamInt("res_ruimte", -1);
|
||||
if (res_ruimte_key == -1) {
|
||||
Response.Status = "422 - Unprocessable Content";
|
||||
Response.End;
|
||||
}
|
||||
if (res_ruimte_key == -1)
|
||||
Response.End; // even geen errors
|
||||
var sql = "SELECT res_ruimte_extern_id,"
|
||||
+ " res_ruimte_graphhooksecret"
|
||||
+ " FROM res_ruimte"
|
||||
@@ -90,51 +130,20 @@ if (zaalemail == null || oRs("res_ruimte_graphhooksecret").Value != notidata.cli
|
||||
notidata.subscriptionExpirationDateTime));
|
||||
}
|
||||
oRs.Close();
|
||||
Response.Status = "422 - Unprocessable Content";
|
||||
Response.End;
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
var fso = Server.CreateObject("Scripting.FileSystemObject");
|
||||
var tempFolder = shared.tempFolder();
|
||||
if (!fso.FolderExists(tempFolder)) {
|
||||
fso.CreateFolder(tempFolder);
|
||||
}
|
||||
var exchangeFolder = tempFolder + "/exchange";
|
||||
if (!fso.FolderExists(exchangeFolder)) {
|
||||
fso.CreateFolder(exchangeFolder);
|
||||
}
|
||||
var logfile_path = exchangeFolder + "/" + safe.filename(etag) + ".data";
|
||||
if (fso.FileExists(logfile_path)) { // Notificaties zijn uniek obv etag, deze is dus dubbel
|
||||
__Log("MS Graph, duplicate notification ignored", "#FFFF44");
|
||||
} else {
|
||||
try {
|
||||
var ts = fso.CreateTextFile(logfile_path, true);
|
||||
ts.Write(JSON.stringify(notidata, null, 2));
|
||||
ts.Close();
|
||||
} catch (e) {
|
||||
__DoLog("Failed writing to {0}\n{1}".format(logfile_path, e.description));
|
||||
}
|
||||
sql = "INSERT INTO fac_notificatie (fac_srtnotificatie_key,"
|
||||
+ " fac_notificatie_queue,"
|
||||
+ " fac_notificatie_refkey,"
|
||||
+ " fac_notificatie_attachments,"
|
||||
+ " fac_notificatie_naam,"
|
||||
+ " fac_notificatie_notbefore,"
|
||||
+ " fac_notificatie_status)"
|
||||
+ " SELECT fac_srtnotificatie_key"
|
||||
+ " , 'EXCHANGE'"
|
||||
+ " , " + res_ruimte_key
|
||||
+ " , " + safe.quoted_sql(logfile_path)
|
||||
+ " , " + safe.quoted_sql(zaalemail)
|
||||
+ " , SYSDATE"
|
||||
+ " , 1" // Met 1 omzeilen we fac.cleannotifications en zorgen we dat fac_t_fac_notificatie_A_IU niet de PUTORDERS inschiet (Wij doen er verder niets mee)
|
||||
+ " FROM fac_srtnotificatie"
|
||||
+ " WHERE fac_srtnotificatie_code = 'RESUPD'";
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
var DEZE = this;
|
||||
var hook = hookfunc.gethook("utils/exchange/process_webhook.wsc");
|
||||
hook.initialize({
|
||||
DEZE: DEZE,
|
||||
custabspath: Server.MapPath(custpath)
|
||||
});
|
||||
hook.process_webhook(res_ruimte_key, zaalemail, notidata);
|
||||
hook = null;
|
||||
|
||||
Response.Status = "202 - Accepted";
|
||||
_updateIncomingOutlookQueue(etag, "D"); // En verwijder hem maar weer
|
||||
Response.Write("");
|
||||
ASPPAGE_END();
|
||||
Response.End;
|
||||
%>
|
||||
|
||||
@@ -121,7 +121,6 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
var onderwerp = XMLval(opdrachten[i], "onderwerp"); // NEW
|
||||
var opdr_kpn = XMLval(opdrachten[i], "kostenplaats");
|
||||
var flag = parseInt(XMLval(opdrachten[i], "flag"), 10);
|
||||
var actiecode = parseInt(XMLval(opdrachten[i], "actiecode"), 10);
|
||||
|
||||
var txt_mut_datum = XMLval(opdrachten[i], "mut_datum"); // UPD
|
||||
var opdrstatus = XMLval(opdrachten[i], "status"); // UPD
|
||||
@@ -883,12 +882,6 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
if (oRs("lopend").Value == 0)
|
||||
{ // Er zijn alleen opdrachten met status 1 (Afgewezen) of 6/9 (Afgemeld/Afgerond)
|
||||
// Check of setting bij opdrachttype automatisch sluiten ALTIJD (= 2) toestaat.
|
||||
|
||||
// Ondertussen kan de status van de opdracht aangepast zijn.
|
||||
// De waarde this_mld.canClose kan daarom niet meer juist zijn omdat deze van de status afhankelijk is.
|
||||
// Daarom moet de waarde opnieuw bepaald worden (PROR#90212 / PROR#90706).
|
||||
var this_mld2 = mld.func_enabled_melding(mld_opdr.mld_key);
|
||||
|
||||
tsql = "SELECT mld_typeopdr_sluitmelding FROM mld_typeopdr"
|
||||
+ " WHERE mld_typeopdr_key = " + topdr_key;
|
||||
var oRs = Oracle.Execute(tsql);
|
||||
@@ -896,7 +889,7 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
// Afhankelijk van sluitmelding nu melding status zetten (0=nooit, 1=vragen en 2=altijd)
|
||||
// Als de laatste opdracht een cancel was dan wordt de melding niet afgemeld.
|
||||
if ((oRs("mld_typeopdr_sluitmelding").Value == 2 || oRs("mld_typeopdr_sluitmelding").Value == 1)
|
||||
&& this_mld2.canClose
|
||||
&& this_mld.canClose
|
||||
&& opdrstatus != 'ORDCAN')
|
||||
{
|
||||
mld.setmeldingstatus (mld_key, 5); // Afgemeld
|
||||
@@ -923,48 +916,17 @@ for (var i = 0; i < opdrachten.length; i++)
|
||||
|
||||
if (resultcode == -1) // Nog steeds geen fouten.
|
||||
{
|
||||
|
||||
var tracking_key = coalesce(coalesce(status_tracking_key, datum_tracking_key), update_tracking_key); // volgorde van belangrijkheid
|
||||
add_note(tracking_key); // voor als nog niet eerder gebeurd
|
||||
|
||||
// Alleen als er een notitie is aangemaakt mag ik de actiecode ook aanpassen.
|
||||
if (note_key > 0)
|
||||
{ // Er is een notitie aangemaakt.
|
||||
// Actie bij +1=FOBO behandelaar, +2=melder, +4=uitvoerende, +128=attentie FOBO, +512=attentie uitvoerende.
|
||||
if (resultcode == -1 && !isNaN(actiecode) && actiecode >= 0)
|
||||
{ // Actie code.
|
||||
var newActiecode = 0;
|
||||
|
||||
if ((actiecode & 128) == 128)
|
||||
{
|
||||
newActiecode += 128; // BO attentie
|
||||
}
|
||||
|
||||
var BOactie = false;
|
||||
if (S("mld_opdr_actiecode") > 0 && ((actiecode & 1) == 1))
|
||||
{
|
||||
newActiecode += 1; // + BO actie
|
||||
BOactie = true;
|
||||
}
|
||||
|
||||
var sql = "UPDATE mld_opdr"
|
||||
+ " SET mld_opdr_actiecode = mld_opdr_actiecode" // Bestaande bitjes zoals 512 mag niet verloren gaan.
|
||||
+ " + " + newActiecode
|
||||
+ " - BITAND(mld_opdr_actiecode, " + newActiecode + ")" // Als het bitje 1 of 128 al gezet was dan deze waarde weer in minderinig brengen.
|
||||
+ (BOactie
|
||||
? " - BITAND(mld_opdr_actiecode, 6)" // Van de bitjes 1+2+4 (=7) moet er altijd 1 aan staan. Als we bitje 1 zetten, dan moeten we bitjes 2 of 4 wissen.
|
||||
: "") // Bitje 1 is niet gezet. Bitjes 2 en 4 ongemoeit laten.
|
||||
+ " WHERE mld_opdr_key = " + mld_opdr.opdr_key;
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
}
|
||||
|
||||
resultcode = 0; // Ik heb gedaan wat ik moest en mocht doen voor deze opdracht.
|
||||
}
|
||||
else if (resultcode > 0)
|
||||
{
|
||||
var logtxt = "api_opdrsoap fail.\nResultcode: {0}\nReturntekst: {1}\nOpdracht: {2}\nOldstatus: {3}".format(resultcode, resulttekst, opdrid, oldstatus);
|
||||
if (resulttekst.match(/^Not authorized/)) // Dit komt heel vaak voor door updates op gesloten opdrachten.
|
||||
__Log(logtxt); // Het vervuilt de logfile veel te veel
|
||||
__Log(logtxt); // Het vervuilt de logfile veel te veel
|
||||
else
|
||||
__DoLog(logtxt, "#00FF00");
|
||||
}
|
||||
@@ -1218,7 +1180,7 @@ function upsertKenmerk(kenmerken, topdr_key, opdr_key)
|
||||
|
||||
function isGoodCurrency(str)
|
||||
{
|
||||
var anum = /^([-\+]?\d{1,6}[.,]?|[-\+]?\d{0,6}[.,]\d{1,7})$/
|
||||
var anum = /^([-\+]?\d{1,6}[.,]?|[-\+]?\d{0,6}[.,]\d{1,2})$/
|
||||
return anum.test(str);
|
||||
}
|
||||
|
||||
@@ -1226,7 +1188,6 @@ function upsertOpdrRegels(regels, mld_opdr)
|
||||
{
|
||||
var opdr_key = mld_opdr.opdr_key;
|
||||
var mat_key_list = [];
|
||||
var mat_tracking_arr = [];
|
||||
var tracking_key = -1;
|
||||
for (var r = 0; r < regels.length; r++)
|
||||
{
|
||||
@@ -1362,18 +1323,18 @@ function upsertOpdrRegels(regels, mld_opdr)
|
||||
// Aantal is groter dan 0. Opdrachtregel toevoegen (Update).
|
||||
// Als aantal 0 is dan is de materiaalregel al verwijderd en kom je hier niet.
|
||||
mat_fields = mat_fields.concat(
|
||||
[ { dbs: "mld_opdr_materiaal_aantal", typ: "float", savewhen: aantal !== null, track: L("lcl_mld_opdr_aantal"), val: aantalval },
|
||||
{ dbs: "mld_opdr_materiaal_eenheidcode", typ: "varchar", savewhen: eenheidcode !== null, track: L("lcl_mld_opdr_eenheidcode"), val: eenheidcode, len: 10 },
|
||||
{ dbs: "mld_opdr_materiaal_eenheid", typ: "varchar", savewhen: eenheid !== null, track: L("lcl_mld_opdr_eenheid"), val: eenheid, len: 30 },
|
||||
{ dbs: "mld_opdr_materiaal_prijs", typ: "float", savewhen: prijs !== null, track: L("lcl_mld_opdr_prijs"), val: (prijs? prijsval : null) },
|
||||
{ dbs: "mld_opdr_materiaal_code", typ: "varchar", savewhen: matcode !== null, track: L("lcl_mld_opdr_code"), val: matcode, len: 30 },
|
||||
{ dbs: "mld_opdr_materiaal_omschr", typ: "varchar", savewhen: omschr !== null, track: L("lcl_mld_opdr_omschr"), val: omschr, len: 255 },
|
||||
{ dbs: "mld_opdr_materiaal_info", typ: "varchar", savewhen: info !== null, track: L("lcl_mld_opdr_info"), val: info, len: 4000 },
|
||||
{ dbs: "mld_opdr_materiaal_groep", typ: "varchar", savewhen: groep !== null, track: L("lcl_mld_opdr_groep"), val: groep, len: 60 },
|
||||
{ dbs: "mld_opdr_materiaal_extra1", typ: "varchar", savewhen: extra1 !== null, track: L("lcl_mld_opdr_extra1"), val: extra1, len: 60 },
|
||||
{ dbs: "mld_opdr_materiaal_extra2", typ: "varchar", savewhen: extra2 !== null, track: L("lcl_mld_opdr_extra2"), val: extra2, len: 60 },
|
||||
{ dbs: "mld_opdr_materiaal_extra3", typ: "varchar", savewhen: extra3 !== null, track: L("lcl_mld_opdr_extra3"), val: extra3, len: 4000 },
|
||||
{ dbs: "mld_opdr_materiaal_extra4", typ: "varchar", savewhen: extra4 !== null, track: L("lcl_mld_opdr_extra4"), val: extra4, len: 4000 }
|
||||
[ { dbs: "mld_opdr_materiaal_aantal", typ: "float", savewhen: aantal !== null, val: aantalval },
|
||||
{ dbs: "mld_opdr_materiaal_eenheidcode", typ: "varchar", savewhen: eenheidcode !== null, val: eenheidcode, len: 10 },
|
||||
{ dbs: "mld_opdr_materiaal_eenheid", typ: "varchar", savewhen: eenheid !== null, val: eenheid, len: 30 },
|
||||
{ dbs: "mld_opdr_materiaal_prijs", typ: "float", savewhen: prijs !== null, val: (prijs? prijsval : null) },
|
||||
{ dbs: "mld_opdr_materiaal_code", typ: "varchar", savewhen: matcode !== null, val: matcode, len: 30 },
|
||||
{ dbs: "mld_opdr_materiaal_omschr", typ: "varchar", savewhen: omschr !== null, val: omschr, len: 255 },
|
||||
{ dbs: "mld_opdr_materiaal_info", typ: "varchar", savewhen: info !== null, val: info, len: 4000 },
|
||||
{ dbs: "mld_opdr_materiaal_groep", typ: "varchar", savewhen: groep !== null, val: groep, len: 60 },
|
||||
{ dbs: "mld_opdr_materiaal_extra1", typ: "varchar", savewhen: extra1 !== null, val: extra1, len: 60 },
|
||||
{ dbs: "mld_opdr_materiaal_extra2", typ: "varchar", savewhen: extra2 !== null, val: extra2, len: 60 },
|
||||
{ dbs: "mld_opdr_materiaal_extra3", typ: "varchar", savewhen: extra3 !== null, val: extra3, len: 4000 },
|
||||
{ dbs: "mld_opdr_materiaal_extra4", typ: "varchar", savewhen: extra4 !== null, val: extra4, len: 4000 }
|
||||
]);
|
||||
|
||||
if ((btw || btw == 0) && (!isNaN (btwval) && btwval >= 0))
|
||||
@@ -1403,14 +1364,20 @@ function upsertOpdrRegels(regels, mld_opdr)
|
||||
var matUpd = buildTrackingUpdate("mld_opdr_materiaal", "mld_opdr_materiaal_key = " + materiaal_key, mat_fields, { noValidateToken: true });
|
||||
|
||||
// Zijn er velden die gewijzigd moeten worden? Als matUpd null is, dan waren alle savewhen condities false en hoeft er niets geupdate te worden.
|
||||
if (matUpd && matUpd.sql && matUpd.trackarray.length) { // Als trackarray.length === 0 dan is er effectief niets aangepast (we tracken alles)
|
||||
if (matUpd && matUpd.sql)
|
||||
{ // Er zijn wijzigingen.
|
||||
Oracle.Execute(matUpd.sql);
|
||||
mat_tracking_arr.push(L("lcl_ord_is_upd_material").format(id) + "\n" + matUpd.trackarray.join("\n"));
|
||||
updatetracking_key = mld.trackopdrachtupdate(opdr_key, L("lcl_ord_is_updatedbysoap") + "\n" + L("lcl_ord_is_upd_material").format(id) + "\n" + matUpd.trackarray.join("\n"));
|
||||
}
|
||||
}
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
var sql_del = "DELETE mld_opdr_materiaal"
|
||||
+ " WHERE mld_opdr_key = " + opdr_key
|
||||
+ " AND mld_opdr_materiaal_key NOT IN (" + mat_key_list.join(",") + ")";
|
||||
Oracle.Execute(sql_del);
|
||||
|
||||
// 1) Nieuwe materiaalbedrag in de opdracht opslaan.
|
||||
// 2) De totaalwaarde opnieuw berekenen want het materiaalbedrag is aangepast.
|
||||
// Dan hebben we het correctie bedrag ook nodig. Dit correctie bedrag moet hetzelfde blijven.
|
||||
@@ -1427,25 +1394,12 @@ function upsertOpdrRegels(regels, mld_opdr)
|
||||
+ " WHERE mld_opdr_key = " + opdr_key
|
||||
Oracle.Execute(sql_total);
|
||||
}
|
||||
|
||||
if (mat_tracking_arr.length)
|
||||
{ // Er zijn wijzigingen.
|
||||
tracking_key = mld.trackopdrachtupdate(opdr_key, L("lcl_ord_is_updatedbysoap") + "\n" + mat_tracking_arr.join("\n"));
|
||||
}
|
||||
|
||||
if (mat_key_list.length) {
|
||||
var sql_del = "DELETE mld_opdr_materiaal"
|
||||
+ " WHERE mld_opdr_key = " + opdr_key
|
||||
+ " AND mld_opdr_materiaal_key NOT IN (" + mat_key_list.join(",") + ")";
|
||||
Oracle.Execute(sql_del);
|
||||
}
|
||||
|
||||
return tracking_key;
|
||||
}
|
||||
|
||||
xmlResp.appendChild(FCLTElement);
|
||||
|
||||
if (API.apidata.errorhandling == 1 && user.errorhandling() == 1)
|
||||
if (API.apidata.errorhandling == 1)
|
||||
{
|
||||
if (resultcode > 0) // -1 en 0 zijn 'goed'
|
||||
{
|
||||
|
||||
@@ -91,10 +91,10 @@ function L(p_lcl)
|
||||
toonFoto: true,
|
||||
detailurl: "appl/fac/fac_user_info.asp",
|
||||
deeplinkurl: "<%=safe.jsstring(site)%>/?nomenu=1&noheader=1&ihatetabs=1&JumpTo=",
|
||||
fields: [ { lbl: L("lcl_prs_email"), val: "prs_perslid_email" },
|
||||
{ lbl: L("lcl_pb_phone"), val: "prs_perslid_telefoonnr" },
|
||||
{ lbl: L("lcl_pb_mobile"), val: "prs_perslid_mobiel" },
|
||||
{ lbl: L("lcl_pb_afdeling"), val: "afdeling" }
|
||||
fields: [ { lbl: "<%=L("lcl_prs_email")%>", val: "prs_perslid_email" },
|
||||
{ lbl: "<%=L("lcl_pb_phone")%>", val: "prs_perslid_telefoonnr" },
|
||||
{ lbl: "<%=L("lcl_pb_mobile")%>", val: "prs_perslid_mobiel" },
|
||||
{ lbl: "<%=L("lcl_pb_afdeling")%>", val: "afdeling" }
|
||||
]
|
||||
};
|
||||
<%
|
||||
@@ -110,7 +110,7 @@ function L(p_lcl)
|
||||
window.facilitor.show_phonebook = function(data, textStatus)
|
||||
{
|
||||
// Alle styling moet nog via classes
|
||||
var closer = "<span onclick='$(\"#phonebookdetails\").hide()' style='float: right; cursor: pointer' title='<%=safe.htmlattr(L("lcl_close_window"))%>'>x</span>"
|
||||
var closer = "<span onclick='$(\"#phonebookdetails\").hide()' style='float: right; cursor: pointer' title='<%=L("lcl_close_window")%>'>x</span>"
|
||||
if (window.facilitor.phonebook_options.detailurl)
|
||||
{
|
||||
var jumpto = window.facilitor.phonebook_options.detailurl;
|
||||
|
||||
201
APPL/API/phonebook_js_IE11.asp
Normal file
201
APPL/API/phonebook_js_IE11.asp
Normal file
@@ -0,0 +1,201 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: phonebook_js.asp
|
||||
Description: Phonebook API
|
||||
Levert een JavaScript bestand op.
|
||||
Parameters:
|
||||
Context:
|
||||
Note:
|
||||
*/
|
||||
|
||||
DOCTYPE_Disable = 1;
|
||||
FCLTEXPIRES = 8*60; // geen database interactie tenslotte
|
||||
THIS_FILE = "appl/api/phonebook_js.asp";
|
||||
var EXPIRED_PASSWORD_OK = true; // performance
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc"-->
|
||||
<!-- #include file="../api/api.inc" -->
|
||||
|
||||
<%
|
||||
var API = new API_func();
|
||||
|
||||
var nojQuery = getQParam("nojQuery", 0)==1;
|
||||
var suggesticon = getQParam("suggesticon", "");
|
||||
|
||||
var transitParam = "&fac_id="+Session("customerId") + buildTransitParam(["API", "APIKEY", "charset"]);
|
||||
|
||||
var proto = (Request.ServerVariables("SERVER_PORT") == "443")?"https":"http";
|
||||
var sitenoroot = proto + "://" + Request.ServerVariables("SERVER_NAME");
|
||||
var site = sitenoroot + rooturl;
|
||||
|
||||
Response.ContentType = "application/javascript";
|
||||
//lcl.buildClientLCL();
|
||||
// LET OP: Geen FcltMgr.js en dus niet (clientside) zelflerend
|
||||
%>
|
||||
window.facilitor = window.facilitor || {};
|
||||
|
||||
window.facilitor.LCL = {};
|
||||
window.facilitor.LCL["lcl_shared_suggest_hint"] = "<%=safe.jsstring(L("lcl_shared_suggest_hint"))%>";
|
||||
window.facilitor.LCL["lcl_shared_suggest_huidig"] = "<%=safe.jsstring(L("lcl_shared_suggest_huidig"))%>";
|
||||
|
||||
facilitor.phonebook = facilitor.phonebook || {};
|
||||
function L(p_lcl)
|
||||
{
|
||||
if (p_lcl in window.facilitor.LCL)
|
||||
return window.facilitor.LCL[p_lcl];
|
||||
return "??" + p_lcl + "??";
|
||||
}
|
||||
(function() {
|
||||
|
||||
function getScript(src) {
|
||||
document.write('<' + 'script src="<%=site%>/' + src + '"' +
|
||||
' type="text/javascript"><' + '/script>');
|
||||
}
|
||||
|
||||
function getCSS(src) {
|
||||
document.write('<' + 'link rel="stylesheet" href="<%=site%>/' + src + '"' +
|
||||
' type="text/css">');
|
||||
}
|
||||
|
||||
var loadScriptTime = (new Date).getTime();
|
||||
getCSS("appl/shared/suggest/suggest.css");
|
||||
getCSS("appl/api/api.css");
|
||||
|
||||
<% if (!nojQuery) { /* kan conflicteren */ %>
|
||||
getScript("appl/localscripts/jquery.min.js");
|
||||
<% } %>
|
||||
getScript("appl/shared/suggest/suggest_IE11.js?v=<%=safe.url(FCLTVersion)%>"); // FCLTVersion voor anti-caching. Timestamp is me te veel werk
|
||||
|
||||
<% if (API.apidata.cust_js) { %>
|
||||
getScript("<%=API.apidata.cust_js%>");
|
||||
<% } %>
|
||||
|
||||
window.facilitor.open_phonebook = function(key, naam)
|
||||
{
|
||||
if (key > 0)
|
||||
jQuery.ajax({ type: "GET",
|
||||
url: "<%=safe.jsstring(site)%>/appl/api/get_phonebook_info.asp?req_info=prs_perslid&prs_perslid_key=" + key + "<%=transitParam%>",
|
||||
dataType: "jsonp",
|
||||
success: window.facilitor.show_phonebook
|
||||
});
|
||||
else
|
||||
$("#phonebookdetails").hide()
|
||||
}
|
||||
|
||||
// De default waarden, werkt nog niet TODO
|
||||
window.facilitor.phonebook_options =
|
||||
{ detailWidth : 450,
|
||||
toonFoto: true,
|
||||
detailurl: "appl/fac/fac_user_info.asp",
|
||||
deeplinkurl: "<%=safe.jsstring(site)%>/?nomenu=1&noheader=1&ihatetabs=1&JumpTo=",
|
||||
fields: [ { lbl: "<%=L("lcl_prs_email")%>", val: "prs_perslid_email" },
|
||||
{ lbl: "<%=L("lcl_pb_phone")%>", val: "prs_perslid_telefoonnr" },
|
||||
{ lbl: "<%=L("lcl_pb_mobile")%>", val: "prs_perslid_mobiel" },
|
||||
{ lbl: "<%=L("lcl_pb_afdeling")%>", val: "afdeling" }
|
||||
]
|
||||
};
|
||||
<%
|
||||
// kopieer de serverside overrules naar clientside
|
||||
for (opt in API.apidata.options)
|
||||
{
|
||||
Response.Write("\nwindow.facilitor.phonebook_options['"+opt+"'] = "
|
||||
+ "JSON.parse('"+ safe.jsstring(JSON.stringify(API.apidata.options[opt])) +"')");
|
||||
|
||||
}
|
||||
%>
|
||||
|
||||
window.facilitor.show_phonebook = function(data, textStatus)
|
||||
{
|
||||
// Alle styling moet nog via classes
|
||||
var closer = "<span onclick='$(\"#phonebookdetails\").hide()' style='float: right; cursor: pointer' title='<%=L("lcl_close_window")%>'>x</span>"
|
||||
if (window.facilitor.phonebook_options.detailurl)
|
||||
{
|
||||
var jumpto = window.facilitor.phonebook_options.detailurl;
|
||||
jumpto += (jumpto.indexOf("?")>=0)?"&":"?";
|
||||
jumpto += "prs_key="+data.prs_perslid_key;
|
||||
var link = window.facilitor.phonebook_options.deeplinkurl + escape(jumpto) + "&fac_id=<%=Session("customerId")%>";
|
||||
var ahref = "<a href='"+link+"' target='_new'>"+data.naam+"</a>"
|
||||
}
|
||||
else
|
||||
ahref=date.naam;
|
||||
|
||||
var trh = "<tr><td></td><th colspan='2' class='title'>"+ahref+"</a></th><th></th></tr>"
|
||||
|
||||
var trs = "";
|
||||
if (window.facilitor.phonebook_options.toonFoto && data.photopath)
|
||||
{
|
||||
trs += "<tr><td></td><td></td><td rowspan='50'><img alt='<%=safe.htmlattr(L("lcl_menu_prs_phonebook"))%>' src='<%=safe.jsstring(sitenoroot)%>" + data.photopaththumb.replace(/\'/g,''').replace(/\"/g,'"') +"'></td></tr>";
|
||||
}
|
||||
var fld;
|
||||
for (fld in window.facilitor.phonebook_options.fields)
|
||||
{
|
||||
var field = window.facilitor.phonebook_options.fields[fld];
|
||||
if (field.val && data[field.val])
|
||||
{
|
||||
trs += "<tr><td class='label'>"+field.lbl+"</td>";
|
||||
trs += " <td>"+data[field.val]+"</td></tr>";
|
||||
}
|
||||
if (field.fun)
|
||||
trs += eval(field.fun + "(data)");
|
||||
}
|
||||
|
||||
if (!document.getElementById("phonebookdetails"))
|
||||
{
|
||||
// Alle esthetische styling verloopt via de css
|
||||
var dd = document.createElement('div');
|
||||
dd.id = "phonebookdetails";
|
||||
dd.style.position = "absolute";
|
||||
dd.style.top = $("#sName_key_show").position().top+20 + "px";
|
||||
dd.style.width = window.facilitor.phonebook_options.detailWidth + "px";
|
||||
|
||||
var newLeft = $("#sName_key_show").position().left;
|
||||
if (newLeft + window.facilitor.phonebook_options.detailWidth > document.body.offsetWidth)
|
||||
{ // Wel in beeld houden
|
||||
newLeft = document.body.offsetWidth - window.facilitor.phonebook_options.detailWidth
|
||||
}
|
||||
dd.style.left = newLeft + "px";
|
||||
document.body.appendChild(dd);
|
||||
if (0)$("body").click // even niet, hij is te agressief
|
||||
(
|
||||
function(e)
|
||||
{
|
||||
if($(e.target).closest("#phonebookdetails").length==0)
|
||||
{
|
||||
$("#phonebookdetails").hide();
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
var dd = document.getElementById("phonebookdetails");
|
||||
dd.innerHTML = ""+closer+"<table width='100%'>"+trh + trs+"</table>";
|
||||
dd.style.display = "block";
|
||||
|
||||
}
|
||||
|
||||
window.facilitor.phonebook = function (elm, options)
|
||||
{
|
||||
var opt;
|
||||
for (opt in options)
|
||||
{
|
||||
window.facilitor.phonebook_options[opt] = options[opt];
|
||||
}
|
||||
$(elm).append('<input id="sName_key_show" sgonChange="window.facilitor.open_phonebook" class="fldpers" value="">')
|
||||
$(elm).append('<input type="hidden" id="sName_key" name="sName_key" value="-1">');
|
||||
|
||||
sgPerson = new Suggest({ objectName: "sgPerson",
|
||||
queryField: $("#sName_key_show")[0],
|
||||
queryUrl: "<%=safe.jsstring(site)%>/appl/shared/suggest/SuggestPerslid.asp?filtcode=PHB<%=transitParam%>",
|
||||
initKey: -1,
|
||||
noJustOne: true,
|
||||
keyField: $("#sName_key")[0],
|
||||
JSONP: true,
|
||||
embedded: true,
|
||||
suggesticon: "<%=safe.jsstring(suggesticon)%>",
|
||||
site: "<%=safe.jsstring(site)%>"
|
||||
});
|
||||
};
|
||||
})();
|
||||
<% ASPPAGE_END(); %>
|
||||
@@ -212,7 +212,7 @@ __Log("== Entering shorturl.asp ==");
|
||||
if (bookmark_naam != 'faclikedeeplink' && new Perslid(falluser_key).checkAutorisation("WEB_PRSSYS", true))
|
||||
{
|
||||
INTERNAL_ERROR_FALLBACK_CANNOT_HAVE_PRSSYS;
|
||||
// fac_like_deep.asp & fac_like.asp staan we wel toe, die hebben een Session.Abandon();
|
||||
// fac_like_deep.asp staan we wel toe, die heeft een Session.Abandon();
|
||||
}
|
||||
Session("fallback_user_key") = falluser_key; // wordt opgepikt door loginTry.asp
|
||||
}
|
||||
|
||||
@@ -808,10 +808,7 @@ api2 = {
|
||||
tables.push(tablesql);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!inc.isdetailfor)
|
||||
tables = tables.concat (incquery.tables);
|
||||
}
|
||||
tables = tables.concat (incquery.tables);
|
||||
wheres = wheres.concat (incquery.wheres);
|
||||
|
||||
if (inc.model.gparams && inc.model.gparams.GET.tables)
|
||||
@@ -1018,7 +1015,6 @@ api2 = {
|
||||
// object met "name": { field.. } wat daar wel omgezet wordt.
|
||||
var newfield = { dbs: field.dbs,
|
||||
typ: field.typ,
|
||||
withseconds: "withseconds" in field? field.withseconds: fld.indexOf("syncdate") > -1,
|
||||
track: field.track && field.label?field.label:field.track,
|
||||
foreign: field.foreign,
|
||||
val: newval,
|
||||
@@ -1239,10 +1235,7 @@ api2 = {
|
||||
var spl = api2.splitLOV(LOV);
|
||||
var result = [];
|
||||
for (var f in filter)
|
||||
{
|
||||
if ( filter[f] in spl)
|
||||
result.push(filter[f] + ";" + spl[filter[f]]);
|
||||
}
|
||||
result.push(filter[f] + ";" + spl[filter[f]]);
|
||||
return result.join(";");
|
||||
},
|
||||
splitLOV: function _splitLOV(LOV, nameprefix)
|
||||
@@ -1460,21 +1453,7 @@ api2 = {
|
||||
}
|
||||
}
|
||||
if (!incfound)
|
||||
{
|
||||
var data2 = api2.sql2jsonfields(params, oRs, incmodel)
|
||||
if (model.includes[incname].isdetailfor)
|
||||
{
|
||||
for (detail in data2)
|
||||
{
|
||||
record[model.includes[incname].isdetailfor][detail] = data2[detail];
|
||||
}
|
||||
delete record[incname]; // niet meer nodig
|
||||
}
|
||||
else
|
||||
{
|
||||
record[incname].push(data2);
|
||||
}
|
||||
}
|
||||
record[incname].push(api2.sql2jsonfields(params, oRs, incmodel));
|
||||
}
|
||||
else if (model.includes[incname].func) // include via callback functie zoals reservablerooms/occupation
|
||||
{
|
||||
|
||||
@@ -73,7 +73,6 @@ var api2_mapper = {
|
||||
"objectproperties" : { "filename": "appl/mgt/ins_kenmerk.asp" },
|
||||
"recurringtasks" : { "filename": "appl/mgt/ins_srtcontrole.asp" },
|
||||
"objectgroups" : { "filename": "appl/mgt/ins_srtgroep.asp" },
|
||||
"objecttypes" : { "filename": "appl/mgt/ins_srtdeel.asp" },
|
||||
"objectpropertytypes" : { "filename": "appl/mgt/ins_srtkenmerk.asp" },
|
||||
"alldisciplines" : { "filename": "appl/mgt/ins_tab_discipline.asp" },
|
||||
"kpidefinitions" : { "filename": "appl/mgt/kpi_definitie.asp", "module": "KPI" },
|
||||
@@ -89,7 +88,6 @@ var api2_mapper = {
|
||||
"disciplinetypes" : { "filename": "appl/mgt/mld_srtdiscipline.asp" },
|
||||
"issuepropertytypes" : { "filename": "appl/mgt/mld_srtkenmerk.asp" },
|
||||
"callgroups" : { "filename": "appl/mgt/mld_stdmeldinggroep.asp" },
|
||||
"issuetags" : { "filename": "appl/mgt/mld_melding_tag.asp" },
|
||||
"issueordertypes" : { "filename": "appl/mgt/mld_typeopdr.asp" },
|
||||
"daysoff" : { "filename": "appl/mgt/mld_vrije_dagen.asp" },
|
||||
"workflows" : { "filename": "appl/mgt/mld_workflow.asp" },
|
||||
@@ -147,7 +145,6 @@ var api2_mapper = {
|
||||
"reportsx" : { "filename": "appl/api2/api_reportsx.asp", "module": "FAC" },
|
||||
"reports" : { "filename": "appl/api2/api_reports.asp", "module": "FAC", "nodoc": true },
|
||||
"invoices" : { "filename": "appl/api2/api_invoices.asp", "module": "FIN" },
|
||||
"invoicelines" : { "filename": "appl/api2/api_invoicelines.asp", "module": "FIN" },
|
||||
"objects" : { "filename": "appl/api2/api_objects.asp", "module": "INS" },
|
||||
"inspections" : { "filename": "appl/api2/api_ins_deelsrtcontrole.asp", "module": "INS" },
|
||||
"statehistory" : { "filename": "appl/mgt/ins_deel_state_history.asp", "module": "INS" },
|
||||
@@ -159,13 +156,8 @@ var api2_mapper = {
|
||||
"purchaseorder" : { "filename": "appl/api2/api_purchaseorder.asp", "module": "BES" },
|
||||
"purchaseorderitem" : { "filename": "appl/api2/api_purchaseorderitem.asp", "module": "BES" },
|
||||
|
||||
"messages" : { "filename": "appl/mgt/msg_message.asp", "module": "MSG" },
|
||||
|
||||
"generictables" : { "filename": "appl/mgt/mgt_generic.asp", "hidden": true },
|
||||
"genericselect" : { "filename": "appl/mgt/mgt_generic_select.asp", "hidden": true },
|
||||
"fclttasks" : { "filename": "appl/mgt/fac_task.asp", "hidden": true },
|
||||
"notifications" : { "filename": "appl/mgt/fac_notificatie.asp", "hidden": true },
|
||||
|
||||
"bestpractices" : { "filename": "appl/mgt/fac_bestpractices.asp", "hidden": true },
|
||||
"systemtables" : { "filename": "appl/mgt/user_tables.asp", "hidden": true },
|
||||
"workflowexpressions" : { "filename": "appl/mgt/mld_workflow_expression.asp", "hidden": true } // dit is geen model
|
||||
|
||||
@@ -372,11 +372,7 @@ api2_rest = {
|
||||
jsondata["custom_fields"][0]["attachments"][0].datastream = bodyStream;
|
||||
if (key == 0) // new record
|
||||
{
|
||||
var result = model.includes["custom_fields"].model.REST_POST(requestparams, jsondata.custom_fields[0], -1);
|
||||
var token = result.token;
|
||||
// Bestandsnaam kan aangepast zijn.
|
||||
jsondata.custom_fields[0].value = result.jsondata.value;
|
||||
jsondata.custom_fields[0].attachments[0] = result.jsondata.attachments[0];
|
||||
var token = model.includes["custom_fields"].model.REST_POST(requestparams, jsondata.custom_fields[0], -1);
|
||||
var record = { xflexparentkey: -1, propertyid: jsondata.custom_fields[0].propertyid};
|
||||
var fileparams = { getFile: jsondata["custom_fields"][0].value, api2name: null, tmpfolder: token };
|
||||
}
|
||||
@@ -390,7 +386,7 @@ api2_rest = {
|
||||
var data = model.includes["custom_fields"].model.get_file_info(requestparams, record, fileparams );
|
||||
|
||||
api2_rest.deliver(data, /* dummy model */ { record_name: "attachment" }, outputformat, true);
|
||||
return jsondata; // Attachment data teruggeven. Bestandsnaam kan aangepast zijn.
|
||||
return;
|
||||
}
|
||||
// Geen atachment dus door met de reguliere code
|
||||
var data = model["REST_" + method](requestparams, jsondata, key);
|
||||
|
||||
@@ -13,92 +13,6 @@
|
||||
*/
|
||||
%>
|
||||
<%
|
||||
function buildKenmerkRoleCodeLOV(params)
|
||||
{
|
||||
var kenmerkRoleCodeLOV = "";
|
||||
switch (params.module)
|
||||
{
|
||||
case "ALG":
|
||||
kenmerkRoleCodeLOV = "3;"+ L("mgt_kenmerkrolcodealg_3") + ";" // alles
|
||||
+ "2;"+ L("mgt_kenmerkrolcodealg_2") + ";" // ALGUSE
|
||||
+ "1;"+ L("mgt_kenmerkrolcodealg_1"); // ALGMAN
|
||||
break;
|
||||
case "BES":
|
||||
kenmerkRoleCodeLOV = "5;"+ L("mgt_kenmerkrolcodebes_5") + ";" // alles
|
||||
+ "4;"+ L("mgt_kenmerkrolcodebes_4") + ";" // ORDSUP
|
||||
+ "1;"+ L("mgt_kenmerkrolcodebes_1"); // BES*
|
||||
break;
|
||||
case "BESI":
|
||||
kenmerkRoleCodeLOV = "1;"+ L("mgt_kenmerkrolcodebes_1"); // geen onderscheid in regels
|
||||
break;
|
||||
case "BEZ":
|
||||
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcodebez_7") + ";" // alles
|
||||
+ "4;"+ L("mgt_kenmerkrolcodebez_4") + ";" // BEZBOF only
|
||||
+ "2;"+ L("mgt_kenmerkrolcodebez_2") + ";" // BEZFOF only
|
||||
+ "3;"+ L("mgt_kenmerkrolcodebez_3"); // BEZFOF/BEZUSE only
|
||||
break;
|
||||
case "CNT":
|
||||
kenmerkRoleCodeLOV = "3;"+ L("mgt_kenmerkrolcodecnt_3") + ";" // alles
|
||||
+ "2;"+ L("mgt_kenmerkrolcodecnt_2") + ";" // CNTUSE
|
||||
+ "1;"+ L("mgt_kenmerkrolcodecnt_1"); // CNTMAN
|
||||
break;
|
||||
case "CTR":
|
||||
kenmerkRoleCodeLOV = "1;"+ L("mgt_kenmerkrolcodectr_1"); // alles (geen onderscheid)
|
||||
break;
|
||||
case "FAQ":
|
||||
kenmerkRoleCodeLOV = "1;"+ L("mgt_kenmerkrolcodefaq_1"); // alles (geen onderscheid)
|
||||
break;
|
||||
case "FIN":
|
||||
kenmerkRoleCodeLOV = "1;"+ L("mgt_kenmerkrolcodefin_1"); // alles (geen onderscheid)
|
||||
break;
|
||||
case "INS":
|
||||
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcodeins_7") + ";" // alles
|
||||
+ "4;"+ L("mgt_kenmerkrolcodeins_4") + ";" // INSFOF (uitlenen)
|
||||
+ "2;"+ L("mgt_kenmerkrolcodeins_2") + ";" // INSUSE
|
||||
+ "1;"+ L("mgt_kenmerkrolcodeins_1"); // INSMAN
|
||||
break;
|
||||
case "MLD":
|
||||
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcodemld_7") + ";" // alles
|
||||
+ "6;"+ L("mgt_kenmerkrolcodemld_6") + ";" // MLDBOF+MLDFOF
|
||||
+ "3;"+ L("mgt_kenmerkrolcodemld_3") + ";" // MLDUSE+MLDBOF
|
||||
+ "4;"+ L("mgt_kenmerkrolcodemld_4") + ";" // MLDBOF
|
||||
+ "2;"+ L("mgt_kenmerkrolcodemld_2"); // MLDFOF
|
||||
break;
|
||||
case "OPD":
|
||||
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcodeopd_7") + ";" // alles
|
||||
+ "5;"+ L("mgt_kenmerkrolcodeopd_5") + ";"
|
||||
+ "4;"+ L("mgt_kenmerkrolcodeopd_4") + ";" // ORDSUPonly
|
||||
+ "3;"+ L("mgt_kenmerkrolcodeopd_3") + ";" // beide
|
||||
+ "2;"+ L("mgt_kenmerkrolcodeopd_2") + ";" // Afmelden? opdrachtnemer
|
||||
+ "1;"+ L("mgt_kenmerkrolcodeopd_1"); // ORDBOF opdrachtgever
|
||||
break;
|
||||
case "PRS":
|
||||
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcodeprs_7") + ";" // alles
|
||||
+ "6;"+ L("mgt_kenmerkrolcodeprs_6") + ";" // PRSUSE+PROFIL
|
||||
+ "3;"+ L("mgt_kenmerkrolcodeprs_3") + ";" // PRSMAN+PRSUSE
|
||||
+ "2;"+ L("mgt_kenmerkrolcodeprs_2") + ";" // PRSUSE
|
||||
+ "1;"+ L("mgt_kenmerkrolcodeprs_1"); // PRSMAN
|
||||
break;
|
||||
case "REL":
|
||||
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcoderel_7") + ";" // alles
|
||||
+ "6;"+ L("mgt_kenmerkrolcoderel_6") + ";" // RELUSE+EXTREL
|
||||
+ "3;"+ L("mgt_kenmerkrolcoderel_3") + ";" // RELMAN+RELUSE
|
||||
+ "2;"+ L("mgt_kenmerkrolcoderel_2") + ";" // RELUSE
|
||||
+ "1;"+ L("mgt_kenmerkrolcoderel_1"); // RELMAN
|
||||
break;
|
||||
case "RES": // dit lijkt technisch een grappige volgorde, maar is logischer
|
||||
kenmerkRoleCodeLOV = "7;"+ L("mgt_kenmerkrolcoderes_7") + ";" // iedereen
|
||||
+ "4;"+ L("mgt_kenmerkrolcoderes_4") + ";" // RESBOF only, afhandelkenmerken
|
||||
+ "2;"+ L("mgt_kenmerkrolcoderes_2") + ";" // RESFOF ony, professionele kenmerken
|
||||
+ "3;"+ L("mgt_kenmerkrolcoderes_3"); // RESFOF+RESUSE (d.i. geen RESBOF)
|
||||
//+ "1;"+ L("mgt_kenmerkrolcoderes_1"); // RESUSE, algemene kenmerken
|
||||
break;
|
||||
default:
|
||||
kenmerkRoleCodeLOV = "?";
|
||||
}
|
||||
return kenmerkRoleCodeLOV;
|
||||
}
|
||||
|
||||
function buildKenmerktypeLOV(kenmerktype, params)
|
||||
{
|
||||
var kenmerktypeLOV = "";
|
||||
@@ -123,7 +37,7 @@
|
||||
break;
|
||||
case "S":
|
||||
kenmerktypeLOV = "S;" + L("mgt_srtkenmerk_referentie_s") + ";"
|
||||
+ "R;" + L("mgt_srtkenmerk_referentie_l") + ";"
|
||||
+ "R;" + L("mgt_srtkenmerk_referentie_l") + ";"
|
||||
+ "r;" + L("mgt_srtkenmerk_referentie_r")
|
||||
break;
|
||||
case "r":
|
||||
@@ -145,13 +59,13 @@
|
||||
break;
|
||||
case "L":
|
||||
kenmerktypeLOV = "L;" + L("mgt_srtkenmerk_label") + ";"
|
||||
+ "l;" + L("mgt_srtkenmerk_label_i")
|
||||
+ (params && params.module == "MLD"? ";b;" + L("mgt_srtkenmerk_label_ii") : "")
|
||||
+ "l;" + L("mgt_srtkenmerk_label_i") + ";"
|
||||
+ (params && params.module == "MLD"? "b;" + L("mgt_srtkenmerk_label_ii") : "")
|
||||
break;
|
||||
case "l":
|
||||
kenmerktypeLOV = "l;" + L("mgt_srtkenmerk_label_i") + ";"
|
||||
+ "L;" + L("mgt_srtkenmerk_label")
|
||||
+ (params && params.module == "MLD"? ";b;" + L("mgt_srtkenmerk_label_ii") : "")
|
||||
+ "L;" + L("mgt_srtkenmerk_label") + ";"
|
||||
+ (params && params.module == "MLD"? "b;" + L("mgt_srtkenmerk_label_ii") : "")
|
||||
break;
|
||||
case "b":
|
||||
kenmerktypeLOV = "b;" + L("mgt_srtkenmerk_label_ii") + ";"
|
||||
@@ -182,7 +96,7 @@
|
||||
+ ";M;" + L("mgt_srtkenmerk_bestand_f")
|
||||
+ ";L;" + L("mgt_srtkenmerk_label")
|
||||
+ ";l;" + L("mgt_srtkenmerk_label_i")
|
||||
+ (params && params.module == "MLD"? ";b;" + L("mgt_srtkenmerk_label_ii") : "")
|
||||
+ (params && params.module != "MLD"? "" : ";b;" + L("mgt_srtkenmerk_label_ii"))
|
||||
+ ";Q;" + L("mgt_srtkenmerk_blanco")
|
||||
+ ";V;" + L("mgt_srtkenmerk_checkbox");
|
||||
}
|
||||
@@ -199,7 +113,7 @@
|
||||
|
||||
function buildGroepsverplichtingList()
|
||||
{ // LOV waarden voor xxx_kenmerk_groep.
|
||||
var s = "0;" + L("mgt_kenmerk_groep0") ;
|
||||
var s = "0;<" + L("lcl_none") + ">";
|
||||
for (var i=1; i<=9; i++)
|
||||
{
|
||||
s = s + ";" + i + ";" + L("mgt_kenmerk_groep") + " " + i;
|
||||
@@ -437,9 +351,9 @@ function buildStatusList(pniveau)
|
||||
|
||||
function buildHltPropList()
|
||||
{
|
||||
var hltPropList = "0;" + L("mld_kenmerk_onderbreken0")
|
||||
+ ";1;" + L("mld_kenmerk_onderbreken1")
|
||||
+ ";2;" + L("mld_kenmerk_onderbreken2");
|
||||
var hltPropList = "0;" + L("lcl_No")
|
||||
+ ";1;" + L("lcl_Yes")
|
||||
+ ";2;" + L("lcl_mld_delete_on_resume");
|
||||
return hltPropList;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
<%@ language = "JavaScript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: api_invoicelines.asp
|
||||
|
||||
Description: Bestelling API
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
Notes: We ondersteunen alleen (nog) het opvragen van de bestelling
|
||||
|
||||
*/
|
||||
DOCTYPE_Disable = true;
|
||||
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
|
||||
THIS_FILE = "appl/api2/api_invoicelines.asp";
|
||||
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="./api2_rest.inc" -->
|
||||
<!-- #include file="./model_invoicelines.inc" -->
|
||||
<%
|
||||
api2_rest.process(model_invoicelines);
|
||||
%>
|
||||
<% ASPPAGE_END(); %>
|
||||
@@ -13,7 +13,7 @@
|
||||
*/
|
||||
DOCTYPE_Disable = true;
|
||||
ANONYMOUS_Allowed = 1; // Eigenlijk niet waar. We regelen echter alles zelf
|
||||
THIS_FILE = "appl/api2/api_invoices.asp";
|
||||
THIS_FILE = "appl/api/api_invoices.asp";
|
||||
|
||||
%>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
@@ -21,4 +21,4 @@
|
||||
<!-- #include file="./model_invoices.inc" -->
|
||||
<%
|
||||
api2_rest.process(model_invoices);
|
||||
%><% ASPPAGE_END(); %>
|
||||
%><% ASPPAGE_END(); %>
|
||||
|
||||
@@ -20,7 +20,5 @@
|
||||
<!-- #include file="./api2_rest.inc" -->
|
||||
<!-- #include file="./model_objects.inc" -->
|
||||
<%
|
||||
var mode = "xxxx"; // mode must be defined because of use in model_ins_kenmerk.inc
|
||||
|
||||
api2_rest.process(model_objects);
|
||||
%><% ASPPAGE_END(); %>
|
||||
|
||||
@@ -20,8 +20,6 @@
|
||||
<!-- #include file="./api2_rest.inc" -->
|
||||
<!-- #include file="./model_reservations.inc" -->
|
||||
<%
|
||||
var mode = "xxxx"; // mode must be defined because of use in model_res_kenmerk.inc
|
||||
|
||||
api2_rest.process(model_reservations);
|
||||
|
||||
ASPPAGE_END();
|
||||
|
||||
@@ -26,8 +26,8 @@ function model_alg_kenmerk(niveau, params)
|
||||
this.module = "ALG";
|
||||
|
||||
// overrule titel voor schermen.
|
||||
this.record_title = L("mgt_kenmerk_of") + " " + get_real_estate_name(niveau);
|
||||
this.records_title = L("mgt_kenmerk_m_of") + " " + get_real_estate_name(niveau);
|
||||
this.record_title = L("mgt_kenmerk") + " " + get_real_estate_name(niveau);
|
||||
this.records_title = L("mgt_kenmerk_m") + " " + get_real_estate_name(niveau);
|
||||
|
||||
|
||||
this.fields = {
|
||||
@@ -50,16 +50,7 @@ function model_alg_kenmerk(niveau, params)
|
||||
"dbs": "alg_kenmerk_volgnr",
|
||||
"label": L("mgt_kenmerk_volgnummer"),
|
||||
"typ": "number",
|
||||
"len": 3,
|
||||
"required": true // deze zou er straks weer af mogen
|
||||
},
|
||||
"rolecode": {
|
||||
"dbs": "alg_kenmerk_rolcode",
|
||||
"label": L("mgt_kenmerk_rolcode"),
|
||||
"typ": "number",
|
||||
"LOV": buildKenmerkRoleCodeLOV({ module: "ALG" }),
|
||||
"required": true,
|
||||
"multiedit": true
|
||||
"required": true
|
||||
},
|
||||
"name": {
|
||||
"dbs": "alg_kenmerk_omschrijving",
|
||||
@@ -95,7 +86,6 @@ function model_alg_kenmerk(niveau, params)
|
||||
"label": L("mgt_kenmerk_verplicht"),
|
||||
"typ": "key",
|
||||
"LOV": buildVerplichtingList(),
|
||||
"emptyisrealvalue": true,
|
||||
"emptyoption": null
|
||||
},
|
||||
"group": {
|
||||
@@ -114,31 +104,12 @@ function model_alg_kenmerk(niveau, params)
|
||||
"system": {
|
||||
"dbs": "alg_kenmerk_systeem",
|
||||
"label": L("mgt_srtkenmerk_systeem"),
|
||||
"typ": "check",
|
||||
"readonly": !user.has("WEB_PRSSYS")
|
||||
"typ": "check"
|
||||
},
|
||||
"inlist": {
|
||||
"dbs": "alg_kenmerk_inlijst",
|
||||
"label": L("mgt_kenmerk_systeem_overview"),
|
||||
"typ": "number",
|
||||
"bits": [
|
||||
{
|
||||
"name": "",
|
||||
"label": "",
|
||||
"showasgroup": false,
|
||||
"typ": "check",
|
||||
"mask": 1,
|
||||
"radios": [
|
||||
{
|
||||
"name": "inplan",
|
||||
//"label": (niveau == "G"? L("mgt_kenmerk_systeem_overview_bui") + " " : "") + L("mgt_kenmerk_systeem_overview"),
|
||||
"label": L("mgt_kenmerk_systeem_overview"),
|
||||
"mask": 1,
|
||||
"defaultvalue": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"typ": "check0",
|
||||
"multiedit": true
|
||||
},
|
||||
"length": {
|
||||
@@ -186,9 +157,9 @@ function model_alg_kenmerk(niveau, params)
|
||||
},
|
||||
"code": {
|
||||
"dbs": "alg_kenmerk_code",
|
||||
"label": L("mgt_kenmerk_code"),
|
||||
"label": L("lcl_alg_code"),
|
||||
"typ": "varchar",
|
||||
"readonly": !user.has("WEB_PRSSYS")
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
},
|
||||
"authorization": {
|
||||
"dbs": "fac_functie_key",
|
||||
@@ -217,15 +188,7 @@ function model_alg_kenmerk(niveau, params)
|
||||
gparams.GET = { wheres: [ "alg_kenmerk.alg_kenmerk_niveau = " + safe.quoted_sql(niveau) ] };
|
||||
}
|
||||
|
||||
if (niveau == "G") // en dan ook nog alleen als je MJOB hebt/gebruikt lijkt me TODO?
|
||||
{
|
||||
this.fields.inlist.bits[0].mask = 3;
|
||||
this.fields.inlist.bits[0].radios.push({ "name": "start",
|
||||
"label": L("mgt_kenmerk_systeem_overview_mjob"),
|
||||
"mask": 2,
|
||||
"defaultvalue": 0
|
||||
});
|
||||
}
|
||||
|
||||
this.REST_GET = generic_REST_GET(this, gparams);
|
||||
this.REST_POST = generic_REST_POST(this);
|
||||
this.REST_PUT = generic_REST_PUT(this);
|
||||
@@ -237,7 +200,6 @@ function model_alg_kenmerk(niveau, params)
|
||||
var naam = "";
|
||||
switch (niveau)
|
||||
{
|
||||
case "E": naam = L("lcl_region"); break;
|
||||
case "D": naam = L("lcl_district"); break;
|
||||
case "L": naam = L("lcl_location"); break;
|
||||
case "T": naam = L("lcl_terra"); break;
|
||||
@@ -250,8 +212,7 @@ function model_alg_kenmerk(niveau, params)
|
||||
|
||||
function fill_real_estate_level_LOV()
|
||||
{
|
||||
return "E;"+L("lcl_region")
|
||||
+ ";D;"+L("lcl_district")
|
||||
return "D;"+L("lcl_district")
|
||||
+ ";L;"+L("lcl_location")
|
||||
+ ";G;"+L("lcl_building")
|
||||
+ ";R;"+L("lcl_room"); // Moet hier T en V ook nog bij?
|
||||
|
||||
@@ -61,7 +61,6 @@ function model_aut_idp_map(params)
|
||||
+ ";11;" + L("lcl_prs_person_mobile")
|
||||
+ ";12;" + L("prs_perslid_externid")
|
||||
+ ";13;" + L("prs_perslid_externid") + " (case insensitive)"
|
||||
+ ";14;" + L("lcl_prs_person_nr")
|
||||
|
||||
// De foreign's
|
||||
+ ";20;" + L("lcl_prs_person_function")
|
||||
|
||||
@@ -315,12 +315,6 @@ model_bes_disc_params =
|
||||
"dbs": "bes_disc_params_deliver_fe",
|
||||
"label": L("bes_discipline_fe_deliver"),
|
||||
"typ": "check0"
|
||||
},
|
||||
"autodeliver": {
|
||||
"dbs": "bes_disc_params_autodeliverdays",
|
||||
"label": L("bes_discipline_autodeliverdays"),
|
||||
"typ": "number",
|
||||
"len": 4
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,11 @@ function model_bes_discipline(disc_key, params)
|
||||
}
|
||||
);
|
||||
|
||||
this.hook_pre_edit = function (obj, fld, params)
|
||||
{
|
||||
fld.costtype.foreign = mgt.pre_edit_kostensoort(obj);
|
||||
}
|
||||
|
||||
this.hook_post_post = function (params, obj, key)
|
||||
{
|
||||
var org_disc_key = getQParamInt("id", -1);
|
||||
@@ -38,11 +43,6 @@ function model_bes_discipline(disc_key, params)
|
||||
{ // Ook de autorisatie van de oude discipline kopieren
|
||||
mgt.clone_authorization(key, org_disc_key);
|
||||
}
|
||||
var clone_art = getQParamInt("clone_art", 0) == 1;
|
||||
if (clone_art)
|
||||
{ // Ook de autorisatie van de oude discipline kopieren
|
||||
mgt.clone_articles(key, org_disc_key);
|
||||
}
|
||||
}
|
||||
|
||||
this.REST_POST = generic_REST_POST(_model_bes_discipline);
|
||||
@@ -91,6 +91,7 @@ _model_bes_discipline = // Internal only
|
||||
"label": L("prs_kostensoort_key"),
|
||||
"typ": "key",
|
||||
"foreign": "prs_kostensoort",
|
||||
"LOVinit": "",
|
||||
"showtransit": true
|
||||
},
|
||||
"costcentremandatory": {
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
File: model_bes_kenmerk.inc
|
||||
|
||||
Description: Model voor bes_kenmerk = Kenmerken van bestelregels
|
||||
Description: Model voor bes_kenmerk
|
||||
|
||||
Context:
|
||||
|
||||
@@ -56,16 +56,12 @@ function model_bes_kenmerk(params)
|
||||
"foreign": {
|
||||
"tbl": "(SELECT bes_srtkenmerk_key"
|
||||
+ " , bes_srtkenmerk_omschrijving"
|
||||
+ (mode != "list"
|
||||
? " || ' (' || bes_srtkenmerk_kenmerktype || ')'"
|
||||
: "")
|
||||
+ " oms"
|
||||
+ " , bes_srtkenmerk_kenmerktype"
|
||||
+ " FROM bes_srtkenmerk"
|
||||
+ " WHERE bes_srtkenmerk_verwijder IS NULL"
|
||||
+ " ORDER by bes_srtkenmerk_omschrijving ASC)",
|
||||
"key": "bes_srtkenmerk_key",
|
||||
"desc": "oms",
|
||||
"desc": "bes_srtkenmerk_omschrijving",
|
||||
"extravalue": "bes_srtkenmerk_kenmerktype"
|
||||
},
|
||||
"defaultvalue": null,
|
||||
@@ -135,14 +131,6 @@ function model_bes_kenmerk(params)
|
||||
"dbs": "bes_kenmerk_volgnummer",
|
||||
"label": L("mgt_kenmerk_volgnummer"),
|
||||
"typ": "number",
|
||||
"len": 3,
|
||||
"required": true
|
||||
},
|
||||
"rolecode": {
|
||||
"dbs": "bes_kenmerk_rolcode",
|
||||
"label": L("mgt_kenmerk_rolcode"),
|
||||
"typ": "number",
|
||||
"LOV": buildKenmerkRoleCodeLOV({ module: "BESI" }),
|
||||
"required": true
|
||||
},
|
||||
"required": {
|
||||
@@ -150,7 +138,6 @@ function model_bes_kenmerk(params)
|
||||
"label": L("mgt_kenmerk_verplicht"),
|
||||
"typ": "key",
|
||||
"LOV": buildVerplichtingList(),
|
||||
"emptyisrealvalue": true,
|
||||
"emptyoption": null
|
||||
},
|
||||
"group": {
|
||||
@@ -174,7 +161,6 @@ function model_bes_kenmerk(params)
|
||||
{
|
||||
"name": "",
|
||||
"label": "",
|
||||
"showasgroup": false,
|
||||
"typ": "check",
|
||||
"mask": 3,
|
||||
"radios": [
|
||||
@@ -222,9 +208,9 @@ function model_bes_kenmerk(params)
|
||||
},
|
||||
"code": {
|
||||
"dbs": "bes_kenmerk_code",
|
||||
"label": L("mgt_kenmerk_code"),
|
||||
"label": L("lcl_bes_code"),
|
||||
"typ": "varchar",
|
||||
"readonly": !user.has("WEB_PRSSYS")
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
},
|
||||
"authorization": {
|
||||
"dbs": "fac_functie_key",
|
||||
|
||||
@@ -4,8 +4,11 @@
|
||||
|
||||
File: model_bes_kenmerkbestel.inc
|
||||
|
||||
Description: Model voor bes_kenmerkbestel = Kenmerken van bestelling
|
||||
Description: Vanuit CodeCharge gegenereerd model voor bes_kenmerkbestel
|
||||
|
||||
Context:
|
||||
|
||||
Notes:
|
||||
*/
|
||||
%>
|
||||
<%
|
||||
@@ -55,16 +58,12 @@ function model_bes_kenmerkbestel()
|
||||
"foreign": {
|
||||
"tbl": "(select bes_srtkenmerk_key"
|
||||
+ " , bes_srtkenmerk_omschrijving"
|
||||
+ (mode != "list"
|
||||
? " || ' (' || bes_srtkenmerk_kenmerktype || ')'"
|
||||
: "")
|
||||
+ " oms"
|
||||
+ " , bes_srtkenmerk_kenmerktype"
|
||||
+ " from bes_srtkenmerk"
|
||||
+ " where bes_srtkenmerk_verwijder is null"
|
||||
+ " order by bes_srtkenmerk_omschrijving asc)",
|
||||
"key": "bes_srtkenmerk_key",
|
||||
"desc": "oms",
|
||||
"desc": "bes_srtkenmerk_omschrijving",
|
||||
"extravalue": "bes_srtkenmerk_kenmerktype"
|
||||
},
|
||||
"defaultvalue": null,
|
||||
@@ -97,14 +96,6 @@ function model_bes_kenmerkbestel()
|
||||
"dbs": "bes_kenmerk_volgnummer",
|
||||
"label": L("mgt_kenmerk_volgnummer"),
|
||||
"typ": "number",
|
||||
"len": 3,
|
||||
"required": true
|
||||
},
|
||||
"rolecode": {
|
||||
"dbs": "bes_kenmerk_rolcode",
|
||||
"label": L("mgt_kenmerk_rolcode"),
|
||||
"typ": "number",
|
||||
"LOV": buildKenmerkRoleCodeLOV({ module: "BES" }),
|
||||
"required": true
|
||||
},
|
||||
"required": {
|
||||
@@ -135,9 +126,8 @@ function model_bes_kenmerkbestel()
|
||||
{
|
||||
"name": "",
|
||||
"label": "",
|
||||
"showasgroup": false,
|
||||
"typ": "check",
|
||||
"mask": 7,
|
||||
"mask": 3,
|
||||
"radios": [
|
||||
{
|
||||
"name": "overview_req",
|
||||
@@ -150,12 +140,6 @@ function model_bes_kenmerkbestel()
|
||||
"label": L("mgt_kenmerk_systeem_overview_pur"),
|
||||
"mask": 2,
|
||||
"defaultvalue": 0
|
||||
},
|
||||
{
|
||||
"name": "visible_bes_opdr",
|
||||
"label": L("lcl_bes_opdr_kenmerk_visible"),
|
||||
"mask": 4,
|
||||
"defaultvalue": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -180,19 +164,7 @@ function model_bes_kenmerkbestel()
|
||||
"typ": "memo",
|
||||
"translate": true
|
||||
},
|
||||
"code": {
|
||||
"dbs": "bes_kenmerk_code",
|
||||
"label": L("mgt_kenmerk_code"),
|
||||
"typ": "varchar",
|
||||
"readonly": !user.has("WEB_PRSSYS")
|
||||
},
|
||||
"authorization": { // wordt nog niet ondersteund in deze module
|
||||
"dbs": "fac_functie_key",
|
||||
"label": L("mgt_kenmerk_autorisatie"),
|
||||
"typ": "key",
|
||||
"foreign": "fac_functie"
|
||||
},
|
||||
"regexp": {
|
||||
"regexp": {
|
||||
"dbs": "bes_kenmerk_regexp",
|
||||
"label": L("mgt_kenmerk_regexp"),
|
||||
"typ": "varchar"
|
||||
|
||||
@@ -259,7 +259,6 @@ function model_bes_srtdeel(disc_key)
|
||||
"orderbys": [
|
||||
"ins_discipline_omschrijving",
|
||||
"bes_srtgroep_omschrijving",
|
||||
"bes_srtdeel_volgnr",
|
||||
"bes_srtdeel_nr"
|
||||
]
|
||||
}
|
||||
|
||||
@@ -134,8 +134,8 @@ function model_bes_srtkenmerk(params)
|
||||
"code": {
|
||||
"dbs": "bes_srtkenmerk_code",
|
||||
"typ": "varchar",
|
||||
"label": L("mgt_srtkenmerk_code"),
|
||||
"readonly": !user.has("WEB_PRSSYS")
|
||||
"label": L("lcl_bes_code"),
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -48,34 +48,9 @@ function model_bez_actie()
|
||||
"action": {
|
||||
"dbs": "bez_actie_flags",
|
||||
"label": L("bez_actie_flags"),
|
||||
"typ": "number",
|
||||
"bits": [
|
||||
{
|
||||
"name": "",
|
||||
"label": "",
|
||||
"typ": "check",
|
||||
"mask": 15,
|
||||
"radios": [
|
||||
{
|
||||
"name": "flag_oproepen",
|
||||
"label": L("bez_actie_flag_oproepen"),
|
||||
"mask": 1,
|
||||
"defaultvalue": 0
|
||||
},
|
||||
{ "name": "flag_badge",
|
||||
"label": L("bez_actie_flag_badge"),
|
||||
"mask": 2,
|
||||
"defaultvalue": 0
|
||||
},
|
||||
{
|
||||
"name": "flag_teams",
|
||||
"label": L("bez_actie_flag_teams"),
|
||||
"mask": 4,
|
||||
"defaultvalue": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
"typ": "key",
|
||||
"required": true,
|
||||
"LOV": L("bez_actie_flagsLOV")
|
||||
},
|
||||
"group": {
|
||||
"dbs": "bez_actie_groep_key",
|
||||
|
||||
@@ -38,7 +38,6 @@ function model_bez_kenmerk(params)
|
||||
"dbs": "bez_kenmerk_volgnr",
|
||||
"label": L("mgt_kenmerk_volgnummer"),
|
||||
"typ": "number",
|
||||
"len": 3,
|
||||
"required": true
|
||||
},
|
||||
"name": {
|
||||
@@ -73,7 +72,6 @@ function model_bez_kenmerk(params)
|
||||
"label": L("mgt_kenmerk_verplicht"),
|
||||
"typ": "key",
|
||||
"LOV": buildVerplichtingList(),
|
||||
"emptyisrealvalue": true,
|
||||
"emptyoption": null
|
||||
},
|
||||
"group": {
|
||||
@@ -84,13 +82,6 @@ function model_bez_kenmerk(params)
|
||||
"LOV": buildGroepsverplichtingList(),
|
||||
"emptyoption": null
|
||||
},
|
||||
"rolecode": {
|
||||
"dbs": "bez_kenmerk_rolcode",
|
||||
"label": L("mgt_kenmerk_rolcode"),
|
||||
"typ": "number",
|
||||
"LOV": buildKenmerkRoleCodeLOV({ module: "BEZ" }),
|
||||
"required": true
|
||||
},
|
||||
"readonly": {
|
||||
"dbs": "bez_kenmerk_toonbaar",
|
||||
"label": L("mgt_kenmerk_toonbaar"),
|
||||
@@ -104,7 +95,6 @@ function model_bez_kenmerk(params)
|
||||
{
|
||||
"name": "",
|
||||
"label": "",
|
||||
"showasgroup": false,
|
||||
"typ": "check",
|
||||
"mask": 15,
|
||||
"radios": [
|
||||
@@ -185,9 +175,9 @@ function model_bez_kenmerk(params)
|
||||
},
|
||||
"code": {
|
||||
"dbs": "bez_kenmerk_code",
|
||||
"label": L("mgt_kenmerk_code"),
|
||||
"label": L("lcl_bez_code"),
|
||||
"typ": "varchar",
|
||||
"readonly": !user.has("WEB_PRSSYS")
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
},
|
||||
"authorization": {
|
||||
"dbs": "fac_functie_key",
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
*/
|
||||
|
||||
%>
|
||||
<!-- #include file="../alg/alg.inc"-->
|
||||
<!-- #include file="../Shared/discxalg3d.inc"-->
|
||||
<!-- #include file="./model_custom_fields.inc"-->
|
||||
<!-- #include file="./model_alg_kenmerk.inc"-->
|
||||
@@ -65,14 +64,9 @@ function model_buildings()
|
||||
|
||||
this.REST_GET = function _GET(params)
|
||||
{
|
||||
var autfunction = ["WEB_ALGUSE","WEB_ALGMAN"];
|
||||
var urole = "fe"; // TODO: Moet echt niet ter zake doen
|
||||
var autfunction = urole == "fe"? "WEB_ALGUSE" : "WEB_ALGMAN";
|
||||
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
|
||||
if (params.filter.id)
|
||||
{
|
||||
var bld_key = params.filter.id;
|
||||
var this_alg = alg.func_enabled(bld_key, "G");
|
||||
user.auth_required_or_abort(this_alg.readman || this_alg.readuse);
|
||||
}
|
||||
|
||||
// TODO: Add authorization
|
||||
var query = api2.sqlfields(params, this);
|
||||
|
||||
@@ -65,7 +65,7 @@ function model_cad_tekening(niveau, params)
|
||||
|
||||
// Save in DB (link file to floor)
|
||||
var cadfields = [
|
||||
{ dbs: "cad_tekening_filenaam", typ: "varchar", val: safefilename.replace(/\.dwf$/i, "") }
|
||||
{ dbs: "cad_tekening_filenaam", typ: "varchar", val: safefilename.replace(/.dwf$/i, "") }
|
||||
];
|
||||
var sql = buildUpdate("cad_tekening", cadfields, { noValidateToken: true }) + " cad_tekening_key = " + the_key;
|
||||
Oracle.Execute(sql);
|
||||
@@ -116,7 +116,7 @@ function model_cad_tekening(niveau, params)
|
||||
// Save in DB (link file to floor)
|
||||
var cadfields = [
|
||||
{ dbs: "cad_tekening_key", typ: "key", seq: "cad_s_cad_tekening_key" },
|
||||
{ dbs: "cad_tekening_filenaam", typ: "varchar", val: safefilename.replace(/\.dwf$/i, "") },
|
||||
{ dbs: "cad_tekening_filenaam", typ: "varchar", val: safefilename.replace(/.dwf$/i, "") },
|
||||
{ dbs: "alg_locatie_key", typ: "key", val: getLocation(jsondata.floor) },
|
||||
{ dbs: "alg_verdieping_key", typ: "key", val: jsondata.floor },
|
||||
{ dbs: "cad_tekening_type", typ: "varchar", val: "P" }
|
||||
|
||||
@@ -66,6 +66,7 @@ function model_cht_discipline(disc_key, params)
|
||||
"label": L("prs_kostensoort_key"),
|
||||
"typ": "key",
|
||||
"foreign": "prs_kostensoort",
|
||||
"LOVinit": "",
|
||||
"multiedit": true,
|
||||
"showtransit": true
|
||||
},
|
||||
|
||||
@@ -72,12 +72,6 @@ model_cnt_disc_params =
|
||||
"label": L("cnt_discipline_factuurappr"),
|
||||
"typ": "check0"
|
||||
},
|
||||
"bookinvoice": {
|
||||
"dbs": "cnt_disc_params_factuurboeken",
|
||||
"label": L("cnt_discipline_factuurboeken"),
|
||||
"typ": "check0",
|
||||
"defaultvalue": 1
|
||||
},
|
||||
"invoicelimit": { // "limit" is een reserved naam in API2
|
||||
"dbs": "cnt_disc_params_factuurgrens",
|
||||
"label": L("cnt_discipline_factuurgrens"),
|
||||
@@ -150,18 +144,6 @@ model_cnt_disc_params =
|
||||
"label": L("cnt_discipline_verlengbaar"),
|
||||
"typ": "check0",
|
||||
"defaultvalue": 0
|
||||
},
|
||||
"costtypemandatory": {
|
||||
"dbs": "cnt_disc_params_ksverplicht",
|
||||
"label": L("cnt_discipline_ksverplicht"),
|
||||
"typ": "check0",
|
||||
"defaultvalue": 0
|
||||
},
|
||||
"approvenew": {
|
||||
"dbs": "cnt_disc_params_approve_new",
|
||||
"label": L("cnt_discipline_approve_new"),
|
||||
"typ": "check0",
|
||||
"defaultvalue": 0
|
||||
}
|
||||
/* // Voor als in cnt_disc_params_opties meerdere bits worden gebruikt om verschillende opties aan te geven:
|
||||
"options": {
|
||||
|
||||
@@ -20,6 +20,11 @@ function model_cnt_discipline(disc_key, params)
|
||||
// E<>n model voor de buitenwereld
|
||||
api2.merge_disc_params_model(this, _model_cnt_discipline);
|
||||
|
||||
this.hook_pre_edit = function (obj, fld, params)
|
||||
{
|
||||
fld.costtype.foreign = mgt.pre_edit_kostensoort(obj);
|
||||
}
|
||||
|
||||
this.hook_post_post = function (params, obj, key)
|
||||
{
|
||||
var org_disc_key = getQParamInt("id", -1);
|
||||
@@ -83,7 +88,8 @@ _model_cnt_discipline = // Internal only
|
||||
"dbs": "prs_kostensoort_key",
|
||||
"label": L("prs_kostensoort_key"),
|
||||
"typ": "key",
|
||||
"foreign": "prs_kostensoort"
|
||||
"foreign": "prs_kostensoort",
|
||||
"LOVinit": ""
|
||||
},
|
||||
"email": {
|
||||
"dbs": "ins_discipline_email",
|
||||
|
||||
@@ -50,9 +50,7 @@ function model_cnt_factuurschema()
|
||||
"typ": "float",
|
||||
"iscurrency": true,
|
||||
"required": true,
|
||||
"label": L("lcl_cnt_period_sum"),
|
||||
"total": true,
|
||||
"multiedit": true
|
||||
"label": L("lcl_cnt_period_sum")
|
||||
},
|
||||
"description": {
|
||||
"dbs": "cnt_factuurschema_opmerking",
|
||||
|
||||
@@ -45,16 +45,12 @@ function model_cnt_kenmerk(params)
|
||||
"foreign": {
|
||||
"tbl": "(select cnt_srtkenmerk_key"
|
||||
+ " , cnt_srtkenmerk_omschrijving"
|
||||
+ (mode != "list"
|
||||
? " || ' (' || cnt_srtkenmerk_kenmerktype || ')'"
|
||||
: "")
|
||||
+ " oms"
|
||||
+ " , cnt_srtkenmerk_kenmerktype"
|
||||
+ " from cnt_srtkenmerk"
|
||||
+ " where cnt_srtkenmerk_verwijder is null"
|
||||
+ " order by cnt_srtkenmerk_upper asc)",
|
||||
"key": "cnt_srtkenmerk_key",
|
||||
"desc": "oms",
|
||||
"desc": "cnt_srtkenmerk_omschrijving",
|
||||
"extravalue": "cnt_srtkenmerk_kenmerktype"
|
||||
},
|
||||
"defaultvalue": null,
|
||||
@@ -73,8 +69,7 @@ function model_cnt_kenmerk(params)
|
||||
"dbs": "cnt_srtkenmerk.cnt_srtkenmerk_kenmerktype",
|
||||
"label": L("mgt_srtkenmerk_kenmerktype"),
|
||||
"typ": "varchar",
|
||||
//"hidden_fld": true,
|
||||
"readonly" : true,
|
||||
"hidden_fld": true,
|
||||
"LOV": buildKenmerktypeLOV(),
|
||||
"showtransit": true
|
||||
},
|
||||
@@ -92,7 +87,6 @@ function model_cnt_kenmerk(params)
|
||||
"desc": "ins_discipline_omschrijving"
|
||||
},
|
||||
"LOVinit": "",
|
||||
"insertonly" : true,
|
||||
"showtransit": true
|
||||
},
|
||||
"level": {
|
||||
@@ -107,14 +101,6 @@ function model_cnt_kenmerk(params)
|
||||
"dbs": "cnt_kenmerk_volgnummer",
|
||||
"label": L("mgt_kenmerk_volgnummer"),
|
||||
"typ": "number",
|
||||
"len": 3,
|
||||
"required": true
|
||||
},
|
||||
"rolecode": {
|
||||
"dbs": "cnt_kenmerk_rolcode",
|
||||
"label": L("mgt_kenmerk_rolcode"),
|
||||
"typ": "number",
|
||||
"LOV": buildKenmerkRoleCodeLOV({ module: "CNT" }),
|
||||
"required": true
|
||||
},
|
||||
"required": {
|
||||
@@ -122,7 +108,6 @@ function model_cnt_kenmerk(params)
|
||||
"label": L("mgt_kenmerk_verplicht"),
|
||||
"typ": "key",
|
||||
"LOV": buildVerplichtingList(),
|
||||
"emptyisrealvalue": true,
|
||||
"emptyoption": null
|
||||
},
|
||||
"group": {
|
||||
@@ -168,9 +153,9 @@ function model_cnt_kenmerk(params)
|
||||
},
|
||||
"code": {
|
||||
"dbs": "cnt_kenmerk_code",
|
||||
"label": L("mgt_kenmerk_code"),
|
||||
"label": L("lcl_cnt_code"),
|
||||
"typ": "varchar",
|
||||
"readonly": !user.has("WEB_PRSSYS")
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
},
|
||||
"authorization": {
|
||||
"dbs": "fac_functie_key",
|
||||
|
||||
@@ -92,8 +92,8 @@ function model_cnt_srtkenmerk(params)
|
||||
"code": {
|
||||
"dbs": "cnt_srtkenmerk_code",
|
||||
"typ": "varchar",
|
||||
"label": L("mgt_srtkenmerk_code"),
|
||||
"readonly": !user.has("WEB_PRSSYS")
|
||||
"label": L("lcl_cnt_code"),
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -99,17 +99,6 @@ function model_companies()
|
||||
this.REST_GET = function _GET(params)
|
||||
{
|
||||
var autfunction = "WEB_RELMAN";
|
||||
var bedrijf_key = (!params.isNew && params && params.filter && params.filter.id ? params.filter.id : -1);
|
||||
if (bedrijf_key > 0) {
|
||||
var sql = "SELECT NVL(prs_bedrijf_intern, 0) intern"
|
||||
+ " FROM prs_bedrijf"
|
||||
+ " WHERE prs_bedrijf_key = " + bedrijf_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.EOF && oRs("intern").Value != 0) { // Extern systeem
|
||||
autfunction = "WEB_PRSMAN";
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
|
||||
|
||||
// TODO: Add authorization
|
||||
|
||||
@@ -42,8 +42,6 @@ function model_custom_fields(formodel, flexModel, flexParams)
|
||||
var sqlModule = flexModule;
|
||||
if (flexModule == 'MLD' && flexParams.pNiveau == 'O')
|
||||
sqlModule = 'OPDR';
|
||||
if (flexModule == 'FIN' && flexParams.pNiveau == 'R')
|
||||
sqlModule = 'FINR';
|
||||
var theSqlFlex = getSqlFlex(sqlModule, formodel.primary, flexParams);
|
||||
// enigszins undocumented maar met parameter '&custom_fields=' kun je het aantal opgeleverde velden beperken
|
||||
// (net zoals je met '&fields=' de gewone vaste velden kunt beperken)
|
||||
@@ -58,8 +56,6 @@ function model_custom_fields(formodel, flexModel, flexParams)
|
||||
var sqlModule = flexModule;
|
||||
if (flexModule == 'MLD' && flexParams.pNiveau == 'O')
|
||||
sqlModule = 'OPDR';
|
||||
if (flexModule == 'FIN' && flexParams.pNiveau == 'R')
|
||||
sqlModule = 'FINR';
|
||||
|
||||
var theSqlFlex = "SELECT * FROM ({0}) ".format(getSqlFlex(sqlModule, formodel.primary, flexParams));
|
||||
return theSqlFlex;
|
||||
@@ -88,7 +84,6 @@ function model_custom_fields(formodel, flexModel, flexParams)
|
||||
"sequence": {
|
||||
"dbs": "volgnummer",
|
||||
"label": L("mgt_kenmerk_volgnummer"),
|
||||
"len": 3,
|
||||
"typ": "number" },
|
||||
"label": {
|
||||
"dbs": "omschrijving",
|
||||
@@ -237,17 +232,6 @@ function model_custom_fields(formodel, flexModel, flexParams)
|
||||
{
|
||||
var attachment = jsondata.attachments[i];
|
||||
var safefilename = safe.filename(attachment.name);
|
||||
|
||||
// iPad/IPhone uploaden directe foto altijd als 'Image.jpg' wat erg lastig is
|
||||
// In dat geval bestandsnaam aanpassen.
|
||||
var newfilename = renameIphoneIpadFiles(safefilename, i);
|
||||
if (newfilename)
|
||||
{
|
||||
if (i == 0) jsondata.value = newfilename; // Gelijk aan het eerste bestand.
|
||||
jsondata.attachments[i] = newfilename;
|
||||
safefilename = newfilename;
|
||||
}
|
||||
|
||||
if (flexparams.isAllowedName(safefilename))
|
||||
{
|
||||
CreateFullPath(flexparams.AttachPath);
|
||||
@@ -263,34 +247,12 @@ function model_custom_fields(formodel, flexModel, flexParams)
|
||||
attachment.content_base64 || attachment.content_hex,
|
||||
fileencoding);
|
||||
}
|
||||
|
||||
// resizen van bijlagen
|
||||
var oCrypto = new ActiveXObject("SLNKDWF.Crypto");
|
||||
var fso = Server.CreateObject("Scripting.FileSystemObject")
|
||||
var orgFile = flexparams.AttachPath + safefilename;
|
||||
if (flexparams.regexp)
|
||||
{
|
||||
var resize_params = { resizecode: flexparams.regexp // "R800x600"
|
||||
, attachpath: flexparams.AttachPath
|
||||
, filename: safefilename
|
||||
, safename: safefilename
|
||||
, digest: oCrypto.hex_sha1_file(orgFile)
|
||||
, isupload: false
|
||||
, module: this.module
|
||||
};
|
||||
var resize_result = resizePicture(resize_params);
|
||||
if (resize_result.newsize && (resize_result.newsize > 0))
|
||||
{
|
||||
tmpFile = resize_result.file_resized;
|
||||
fso.DeleteFile(orgFile);
|
||||
fso.MoveFile(tmpFile, orgFile);
|
||||
}
|
||||
}
|
||||
|
||||
// Toevoegen bijlage/bestand tracken.
|
||||
trackBijlagen(this.module, parent_key, flexparams, {safefilename: [safefilename]}, "upload");
|
||||
if (flexparams.fac_bijlagen)
|
||||
{
|
||||
var oCrypto = new ActiveXObject("SLNKDWF.Crypto");
|
||||
var fso = Server.CreateObject("Scripting.FileSystemObject")
|
||||
var sql = "BEGIN "
|
||||
+ " flx.setflexbijlage"
|
||||
+ "(" + safe.quoted_sql(this.module) // MLD | RES | ....
|
||||
@@ -299,9 +261,9 @@ function model_custom_fields(formodel, flexModel, flexParams)
|
||||
+ ", " + safe.quoted_sql(flexparams.AttachSubPath)
|
||||
+ ", " + "NULL" // diskfilename
|
||||
+ ", " + safe.quoted_sql(safefilename)
|
||||
+ ", " + fso.GetFile(orgFile).Size
|
||||
+ ", " + fso.GetFile(flexparams.AttachPath + safefilename).Size
|
||||
+ ", " + "SYSDATE"
|
||||
+ ", " + safe.quoted_sql(oCrypto.hex_sha1_file(orgFile))
|
||||
+ ", " + safe.quoted_sql(oCrypto.hex_sha1_file(flexparams.AttachPath + safefilename))
|
||||
+ ");"
|
||||
+ " END;";
|
||||
Oracle.Execute(sql);
|
||||
@@ -317,22 +279,17 @@ function model_custom_fields(formodel, flexModel, flexParams)
|
||||
|
||||
if (typ != "M" && parent_key > 0)
|
||||
{
|
||||
var setFlexModule = this.module;
|
||||
if (this.module == 'MLD' && flexParams.pNiveau == 'O')
|
||||
setFlexModule = 'OPD';
|
||||
if (this.module == 'FIN' && flexParams.pNiveau == 'R')
|
||||
setFlexModule = 'FINR';
|
||||
var sql = "BEGIN flx.setflex({0}".format(safe.quoted_sql(setFlexModule))
|
||||
var sql = "BEGIN flx.setflex({0}".format(this.module == "MLD" && flexParams.pNiveau == "O" ? "'OPD'" : safe.quoted_sql(this.module))
|
||||
+ " , {0}".format(the_key) // == jsondata.propertyid
|
||||
+ " , {0}".format(parent_key)
|
||||
+ " , {0}".format(this.module == "MLD" || this.module == "FIN"? "NULL" : safe.quoted_sql(flexParams.pNiveau))
|
||||
+ " , {0}".format(this.module == "MLD" ? "NULL" : safe.quoted_sql(flexParams.pNiveau))
|
||||
+ " , {0});".format(safe.quoted_sql(jsondata.value))
|
||||
+ "END;"
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
api2.error(400, err.friendlyMsg);
|
||||
}
|
||||
return {token: tmpfolder, jsondata: jsondata}; // Tijdelijke folder en attachment data teruggeven. Bestandsnaam kan aangepast zijn.
|
||||
return tmpfolder;
|
||||
}
|
||||
|
||||
if (flexModel) // nog even niet voor MLD
|
||||
|
||||
@@ -19,7 +19,7 @@ function model_fac_email_setting()
|
||||
this.record_name = "emailsetting";
|
||||
this.table = "fac_email_setting";
|
||||
this.primary = "fac_email_setting_key";
|
||||
this.autfunction = "WEB_MLDMGT"; // de ernstige velden zijn blijven WEB_FACTAB
|
||||
this.autfunction = "WEB_FACTAB";
|
||||
this.record_title = L("fac_email_setting");
|
||||
this.records_title = L("fac_email_setting_m");
|
||||
|
||||
@@ -36,7 +36,7 @@ function model_fac_email_setting()
|
||||
"dbs": "fac_email_setting_volgnr",
|
||||
"label": L("fac_email_setting_volgnr"),
|
||||
"typ": "number",
|
||||
"required": true // de database zorgt voor defaultvalue 10
|
||||
"required": true
|
||||
},
|
||||
"name": {
|
||||
"dbs": "fac_email_setting_user",
|
||||
@@ -50,34 +50,19 @@ function model_fac_email_setting()
|
||||
"typ": "varchar",
|
||||
"multiedit": true
|
||||
},
|
||||
"reqtext": {
|
||||
"dbs": "fac_email_setting_text",
|
||||
"label": L("fac_email_setting_text"),
|
||||
"typ": "varchar",
|
||||
"multiedit": true
|
||||
},
|
||||
"frommode": {
|
||||
"dbs": "fac_email_setting_frommode",
|
||||
"label": L("fac_email_setting_frommode"),
|
||||
"typ": "number",
|
||||
"required": true,
|
||||
"LOV": L("fac_email_setting_frommodeLOV"),
|
||||
"emptyoption": null,
|
||||
"readonly": !(user.has("WEB_FACTAB"))
|
||||
"multiedit": true
|
||||
},
|
||||
"action": {
|
||||
"dbs": "fac_email_setting_action",
|
||||
"label": L("fac_email_setting_action"),
|
||||
"typ": "varchar",
|
||||
"defaultvalue" : "fac.processemail",
|
||||
"multiedit": true,
|
||||
"readonly": !(user.has("WEB_FACTAB"))
|
||||
},
|
||||
"stdmelding": {
|
||||
"dbs": "mld_stdmelding_key",
|
||||
"label": L("fac_email_setting_stdmelding_key"),
|
||||
"typ": "key",
|
||||
"foreign": "mld_stdmelding"
|
||||
"multiedit": true
|
||||
},
|
||||
"expire": {
|
||||
"dbs": "fac_email_setting_expire",
|
||||
@@ -89,15 +74,12 @@ function model_fac_email_setting()
|
||||
"dbs": "fac_email_setting_attachpath",
|
||||
"label": L("fac_email_setting_attachpath"),
|
||||
"typ": "varchar",
|
||||
"multiedit": true,
|
||||
"placeholder": "*flexfilespath",
|
||||
"readonly": !(user.has("WEB_FACTAB"))
|
||||
"multiedit": true
|
||||
},
|
||||
"attachext": {
|
||||
"dbs": "fac_email_setting_attachext",
|
||||
"label": L("fac_email_setting_attachext"),
|
||||
"typ": "varchar",
|
||||
"placeholder": S("flexAllowedExt"),
|
||||
"multiedit": true
|
||||
},
|
||||
"reqattachext": {
|
||||
@@ -118,8 +100,7 @@ function model_fac_email_setting()
|
||||
"typ": "number",
|
||||
"required": true,
|
||||
"defaultvalue": 0,
|
||||
"multiedit": true,
|
||||
"readonly": !(user.has("WEB_FACTAB"))
|
||||
"multiedit": true
|
||||
},
|
||||
"person": {
|
||||
"dbs": "prs_perslid_key_auth",
|
||||
|
||||
@@ -27,8 +27,8 @@ function model_fac_faq()
|
||||
|
||||
this.table = "fac_faq";
|
||||
this.primary = "fac_faq_key";
|
||||
this.records_name = "knowledgebase";
|
||||
this.record_name = "knowledgebase";
|
||||
this.records_name = "faqs";
|
||||
this.record_name = "faq";
|
||||
this.record_title = L("fac_faq");
|
||||
this.records_title = L("fac_faq_m");
|
||||
this.module = "FAQ";
|
||||
@@ -162,6 +162,7 @@ function model_fac_faq()
|
||||
tables: [],
|
||||
wheres: [
|
||||
where_auth, where_lang,
|
||||
"ROWNUM < " + S("faq_max_results"),
|
||||
"fac_faq.fac_faq_datum < SYSDATE"
|
||||
],
|
||||
orderbys: [
|
||||
|
||||
@@ -139,10 +139,7 @@ function model_fac_functie (functie_key, params)
|
||||
this.groep_key = params.groep_key;
|
||||
this.REST_DELETE = function (params, the_key) // we verwijderen niet het fac_functie record maar alle rechten er op.
|
||||
{
|
||||
var autparams = user.checkAutorisation(this.autfunction);
|
||||
user.auth_required_or_abort(autparams.PRSwritelevel < 9 && autparams.ALGwritelevel < 9);
|
||||
|
||||
var sql = "DELETE fac_groeprechten"
|
||||
var sql = "DELETE fac_groeprechten"
|
||||
+ " WHERE fac_functie_key = " + the_key
|
||||
+ " AND fac_groep_key = " + this.groep_key
|
||||
+ " AND fac_functie_key NOT IN (SELECT fac_functie_key"
|
||||
|
||||
@@ -171,28 +171,10 @@ function model_fac_gebruikersgroep(params)
|
||||
|
||||
this.hook_pre_edit = function(obj, fld)
|
||||
{
|
||||
var prs_arr = getQParamIntArray("prsarr", []);
|
||||
if (prs_arr.length > 0)
|
||||
{ // multiedit mode
|
||||
// Sluit de groepen die alle gebruikers overeenkomstig hebben uit van de lijst.
|
||||
// Als er maar 1 gebruiker geselecteerd is dan wordt de standaard where-clause gebruikt
|
||||
// die wordt gegenereerd obv "field.uniquewith" in scaffolding_edit.inc.
|
||||
prs_arr.push(obj.person.id);
|
||||
fld.authorizationgroup.foreign.where = "fac_groep_key NOT IN"
|
||||
+ "(SELECT fac_groep_key"
|
||||
+ " FROM (SELECT fac_groep_key, COUNT(prs_perslid_key)"
|
||||
+ " FROM fac_gebruikersgroep"
|
||||
+ " WHERE prs_perslid_key IN (" + prs_arr.join(",") + ")"
|
||||
+ " GROUP BY fac_groep_key"
|
||||
+ " HAVING COUNT(prs_perslid_key) = " + prs_arr.length
|
||||
+ " )"
|
||||
+ ")";
|
||||
}
|
||||
|
||||
if (obj.id > 0) { // Bestaand record
|
||||
if (!fld._fromperson && obj.person)
|
||||
{
|
||||
fld.authorizationgroup.readonly = true;
|
||||
fld.person.readonly = true;
|
||||
delete this.fields._fromperson;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -56,10 +56,7 @@ function model_fac_groep(groep_key, params)
|
||||
"substitutes": {
|
||||
"dbs": "fac_groep_collega",
|
||||
"label": L("lcl_prs_substitutes"),
|
||||
"typ": "key",
|
||||
"LOV": L("lcl_prs_substitutesLOV"),
|
||||
"defaultvalue": "0",
|
||||
"emptyoption": null
|
||||
"typ": "check0"
|
||||
},
|
||||
"externalid": {
|
||||
"dbs": "fac_groep_externid",
|
||||
@@ -72,7 +69,7 @@ function model_fac_groep(groep_key, params)
|
||||
"label": L("fac_groep_nn_leden"),
|
||||
"typ": "number"
|
||||
},
|
||||
"created": {
|
||||
"created": {
|
||||
"dbs": "fac_groep_aanmaak",
|
||||
"label": "Aanmaakdatum",
|
||||
"typ": "datetime",
|
||||
|
||||
@@ -18,10 +18,8 @@ function model_fac_nieuws_groep()
|
||||
this.table = "fac_nieuws_groep";
|
||||
this.primary = "fac_nieuws_groep_key";
|
||||
this.autfunction = "WEB_MSGBOF";
|
||||
this.record_name = "messagecategory";
|
||||
this.records_name = "messagecategories";
|
||||
this.record_title = L("fac_nieuws_groep");
|
||||
this.records_title = L("fac_nieuws_groep_m");
|
||||
this.record_name = L("fac_nieuws_groep");
|
||||
this.records_name = L("fac_nieuws_groep_m");
|
||||
this.fields = {
|
||||
"id": {
|
||||
"dbs": "fac_nieuws_groep_key",
|
||||
|
||||
@@ -108,13 +108,11 @@ function model_fac_notificatie_job(params) // J voor Jobs, S voor Scheduled mail
|
||||
"label": L("fac_notificatie_job_interval"),
|
||||
"typ": "number"
|
||||
},
|
||||
/* Alleen sensor updates wat nooit is uitgekristalliseerd
|
||||
"seconds": {
|
||||
"dbs": "fac_notificatie_job_seconds",
|
||||
"label": L("fac_notificatie_job_seconds"),
|
||||
"typ": "number"
|
||||
},
|
||||
*/
|
||||
"lastrun": {
|
||||
"dbs": "fac_notificatie_job_lastrun",
|
||||
"label": L("fac_notificatie_job_lastrun"),
|
||||
@@ -126,14 +124,12 @@ function model_fac_notificatie_job(params) // J voor Jobs, S voor Scheduled mail
|
||||
"label": L("fac_notificatie_job_nextrun"),
|
||||
"typ": "datetime"
|
||||
},
|
||||
/* Alleen sensor updates wat nooit is uitgekristalliseerd
|
||||
"queueid": {
|
||||
"dbs": "fac_notificatie_job_queue",
|
||||
"label": L("fac_notificatie_job_queue"),
|
||||
"typ": "varchar",
|
||||
"defaultvalue": "DEFAULT"
|
||||
},
|
||||
*/
|
||||
"fac_usrrap_key": {
|
||||
dbs: "fac_usrrap_key",
|
||||
typ: "key",
|
||||
@@ -180,7 +176,7 @@ function model_fac_notificatie_job(params) // J voor Jobs, S voor Scheduled mail
|
||||
wheres: ["fac_notificatie_job_view IS NOT NULL"]
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
if (user.has("WEB_PRSSYS"))
|
||||
{
|
||||
this.REST_POST = generic_REST_POST(this);
|
||||
|
||||
@@ -11,8 +11,8 @@
|
||||
Notes:
|
||||
*/
|
||||
%>
|
||||
<!-- #include file="../api2/model_prs_bedrijfadres_srtnoti.inc" -->
|
||||
<%
|
||||
|
||||
function model_fac_srtnotificatie(cust)
|
||||
{
|
||||
this.records_name = "notificationtypes";
|
||||
@@ -201,16 +201,6 @@ function model_fac_srtnotificatie(cust)
|
||||
}
|
||||
};
|
||||
|
||||
this.includes = {
|
||||
"srtnotifications": {
|
||||
"model": new model_prs_bedrijfadres_srtnoti(),
|
||||
"joinfield": "srtnotification"
|
||||
}
|
||||
};
|
||||
delete this.includes["srtnotifications"].model["REST_POST"];
|
||||
delete this.includes["srtnotifications"].model["REST_PUT"];
|
||||
delete this.includes["srtnotifications"].model["REST_DELETE"];
|
||||
|
||||
if (!S("puo_smsaccount"))
|
||||
this.fields.notificationmode.bits[0].radios.splice(2, 1);
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ function model_faq_kenmerk(params)
|
||||
"typ": "key",
|
||||
"seq": "faq_s_faq_kenmerk_key"
|
||||
},
|
||||
"facdiscipline": { // NULL betekent alle disciplines (denk ik)
|
||||
"facdiscipline": {
|
||||
"dbs": "faq_discipline_key",
|
||||
"label": L("faq_discipline_key"),
|
||||
"typ": "key",
|
||||
@@ -49,7 +49,6 @@ function model_faq_kenmerk(params)
|
||||
"dbs": "faq_kenmerk_volgnr",
|
||||
"label": L("mgt_kenmerk_volgnummer"),
|
||||
"typ": "number",
|
||||
"len": 3,
|
||||
"required": true
|
||||
},
|
||||
"name": {
|
||||
@@ -84,7 +83,6 @@ function model_faq_kenmerk(params)
|
||||
"label": L("mgt_kenmerk_verplicht"),
|
||||
"typ": "key",
|
||||
"LOV": buildVerplichtingList(),
|
||||
"emptyisrealvalue": true,
|
||||
"emptyoption": null
|
||||
},
|
||||
"group": {
|
||||
@@ -95,13 +93,6 @@ function model_faq_kenmerk(params)
|
||||
"LOV": buildGroepsverplichtingList(),
|
||||
"emptyoption": null
|
||||
},
|
||||
"rolecode": {
|
||||
"dbs": "faq_kenmerk_rolcode",
|
||||
"label": L("mgt_kenmerk_rolcode"),
|
||||
"typ": "number",
|
||||
"LOV": buildKenmerkRoleCodeLOV({ module: "FAQ" }),
|
||||
"required": true
|
||||
},
|
||||
"readonly": {
|
||||
"dbs": "faq_kenmerk_toonbaar",
|
||||
"label": L("mgt_kenmerk_toonbaar"),
|
||||
@@ -163,9 +154,9 @@ function model_faq_kenmerk(params)
|
||||
},
|
||||
"code": {
|
||||
"dbs": "faq_kenmerk_code",
|
||||
"label": L("mgt_kenmerk_code"),
|
||||
"label": L("lcl_faq_code"),
|
||||
"typ": "varchar",
|
||||
"readonly": !user.has("WEB_PRSSYS")
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
},
|
||||
"authorization": {
|
||||
"dbs": "fac_functie_key",
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
%>
|
||||
<%
|
||||
|
||||
function model_fin_kenmerk(niveau, params)
|
||||
function model_fin_kenmerk(params)
|
||||
{
|
||||
params = params || {};
|
||||
this.records_name = "invoiceproperties";
|
||||
@@ -21,9 +21,9 @@ function model_fin_kenmerk(niveau, params)
|
||||
this.table = "fin_kenmerk";
|
||||
this.primary = "fin_kenmerk_key";
|
||||
this.soft_delete = "fin_kenmerk_verwijder";
|
||||
this.autfunction = params.internal? false : "WEB_FINMGT";
|
||||
this.record_title = L("fin_kenmerk") + " " + get_fin_type_name(niveau); // dit niveau lijkt niet te werken?
|
||||
this.records_title = L("fin_kenmerk_m") + " " + get_fin_type_name(niveau);
|
||||
this.autfunction = params.internal?false:"WEB_FINMGT";
|
||||
this.record_title = L("fin_kenmerk");
|
||||
this.records_title = L("fin_kenmerk_m");
|
||||
this.module = "FIN";
|
||||
|
||||
this.fields = {
|
||||
@@ -38,7 +38,6 @@ function model_fin_kenmerk(niveau, params)
|
||||
"dbs": "fin_kenmerk_volgnr",
|
||||
"label": L("mgt_kenmerk_volgnummer"),
|
||||
"typ": "number",
|
||||
"len": 3,
|
||||
"required": true
|
||||
},
|
||||
"name": {
|
||||
@@ -75,19 +74,11 @@ function model_fin_kenmerk(niveau, params)
|
||||
"LOV": fill_fin_type_LOV(),
|
||||
"emptyoption": null
|
||||
},
|
||||
"rolecode": { // heeft voor deze module nog geen werking
|
||||
"dbs": "fin_kenmerk_rolcode",
|
||||
"label": L("mgt_kenmerk_rolcode"),
|
||||
"typ": "number",
|
||||
"LOV": buildKenmerkRoleCodeLOV({ module: "FIN" }),
|
||||
"required": true
|
||||
},
|
||||
"required": {
|
||||
"dbs": "fin_kenmerk_verplicht",
|
||||
"label": L("mgt_kenmerk_verplicht"),
|
||||
"typ": "key",
|
||||
"LOV": buildVerplichtingList(),
|
||||
"emptyisrealvalue": true,
|
||||
"emptyoption": null
|
||||
},
|
||||
"group": {
|
||||
@@ -111,7 +102,6 @@ function model_fin_kenmerk(niveau, params)
|
||||
{
|
||||
"name": "",
|
||||
"label": "",
|
||||
"showasgroup": false,
|
||||
"typ": "check",
|
||||
"mask": 15,
|
||||
"radios": [
|
||||
@@ -190,9 +180,9 @@ function model_fin_kenmerk(niveau, params)
|
||||
},
|
||||
"code": {
|
||||
"dbs": "fin_kenmerk_code",
|
||||
"label": L("mgt_kenmerk_code"),
|
||||
"label": L("lcl_fin_code"),
|
||||
"typ": "varchar",
|
||||
"readonly": !user.has("WEB_PRSSYS")
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
},
|
||||
"authorization": {
|
||||
"dbs": "fac_functie_key",
|
||||
@@ -223,11 +213,6 @@ function model_fin_kenmerk(niveau, params)
|
||||
<%
|
||||
}
|
||||
|
||||
var gparams = {"GET": {}};
|
||||
if (niveau)
|
||||
{
|
||||
gparams.GET = { wheres: [ "fin_kenmerk.fin_kenmerk_type = " + safe.quoted_sql(niveau) ] };
|
||||
}
|
||||
|
||||
this.REST_GET = generic_REST_GET(this);
|
||||
this.REST_POST = generic_REST_POST(this);
|
||||
@@ -239,16 +224,5 @@ function model_fin_kenmerk(niveau, params)
|
||||
return "F;"+L("fin_invoice")
|
||||
+ ";R;"+L("fin_invoicerows");
|
||||
}
|
||||
|
||||
function get_fin_type_name(niveau)
|
||||
{
|
||||
var naam = "";
|
||||
switch (niveau)
|
||||
{
|
||||
case "F": naam = L("fin_invoice"); break;
|
||||
case "R": naam = L("fin_invoicerows"); break;
|
||||
}
|
||||
return naam;
|
||||
}
|
||||
}
|
||||
%>
|
||||
@@ -12,7 +12,6 @@
|
||||
*/
|
||||
|
||||
%>
|
||||
<!-- #include file="../alg/alg.inc"-->
|
||||
<!-- #include file="../Shared/discxalg3d.inc"-->
|
||||
<!-- #include file="./model_cad_tekening.inc"-->
|
||||
<!-- #include file="./model_alg_kenmerk.inc"-->
|
||||
@@ -48,14 +47,9 @@ function model_floors() {
|
||||
}
|
||||
};
|
||||
this.REST_GET = function _GET(params) {
|
||||
var autfunction = ["WEB_ALGUSE", "WEB_ALGMAN"];
|
||||
var urole = "fe"; // TODO: Moet echt niet ter zake doen
|
||||
var autfunction = urole == "fe"? "WEB_ALGUSE" : "WEB_ALGMAN";
|
||||
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
|
||||
if (params.filter.id)
|
||||
{
|
||||
var flr_key = params.filter.id;
|
||||
var this_alg = alg.func_enabled(flr_key, "V");
|
||||
user.auth_required_or_abort(this_alg.readman || this_alg.readuse);
|
||||
}
|
||||
|
||||
var query = api2.sqlfields(params, this);
|
||||
query.wheres.push("alg_verdieping_verwijder IS NULL");
|
||||
|
||||
@@ -129,15 +129,14 @@ function model_generic(table, autfunction)
|
||||
model.nrfields++;
|
||||
var field = { dbs: oRs.Fields("column_name").Value,
|
||||
label: oRs.Fields("column_name").Value,
|
||||
typ: "varchar",
|
||||
ora_type: oRs("data_type").Value
|
||||
typ: "varchar"
|
||||
};
|
||||
|
||||
var ora_type = oRs("data_type").Value;
|
||||
var ora_length = oRs("data_length").Value;
|
||||
var ora_precision = oRs("data_precision").Value;
|
||||
var ora_scale = oRs("data_scale").Value;
|
||||
|
||||
switch (field.ora_type)
|
||||
switch (ora_type)
|
||||
{
|
||||
case 'NUMBER':
|
||||
field.typ = 'number';
|
||||
@@ -208,15 +207,14 @@ function model_generic(table, autfunction)
|
||||
case "CLOB":
|
||||
case "LONG":
|
||||
field.typ = 'memo';
|
||||
field.istyp = 'memo';
|
||||
break;
|
||||
default: // als je hier komt is je view mogelijk niet valid of niet gecompileerd
|
||||
abort_with_warning("Unknown Oracle type '{0}' for field '{1}.{2}'".format(field.ora_type, table, field.dbs));
|
||||
abort_with_warning("Unknown Oracle type '{0}' for field '{1}.{2}'".format(ora_type, table, field.dbs));
|
||||
}
|
||||
|
||||
var fld = oRs.Fields("column_name").Value;
|
||||
|
||||
if (fld == table.toLowerCase() + "_verwijder" || fld == 'ins_discipline_verwijder' || fld == 'res_srtartikel_og_verwijder' || fld == 'res_ruimte_opstel_verwijder')
|
||||
if (fld == table.toLowerCase() + "_verwijder" || fld == 'ins_discipline_verwijder')
|
||||
model.soft_delete = fld;
|
||||
|
||||
// Dan zien we hem ook nergens meer?
|
||||
@@ -240,7 +238,7 @@ function model_generic(table, autfunction)
|
||||
fld = "name";
|
||||
hasName = true;
|
||||
}
|
||||
if (!hasName && field.ora_type != 'CLOB' && fld.match(/(_omschrijving|_oms|_remark)$/))
|
||||
if (!hasName && fld.match(/(_omschrijving|_oms|_remark)$/))
|
||||
{
|
||||
fld = "name";
|
||||
hasName = true;
|
||||
|
||||
@@ -20,6 +20,11 @@ function model_ins_discipline(disc_key, params)
|
||||
// E<>n model voor de buitenwereld
|
||||
api2.merge_disc_params_model(this, _model_ins_discipline);
|
||||
|
||||
this.hook_pre_edit = function (obj, fld, params)
|
||||
{
|
||||
fld.costtype.foreign = mgt.pre_edit_kostensoort(obj);
|
||||
}
|
||||
|
||||
this.hook_post_post = function (params, obj, key)
|
||||
{
|
||||
var org_disc_key = getQParamInt("id", -1);
|
||||
@@ -83,7 +88,8 @@ _model_ins_discipline = // Internal only
|
||||
"dbs": "prs_kostensoort_key",
|
||||
"label": L("prs_kostensoort_key"),
|
||||
"typ": "key",
|
||||
"foreign": "prs_kostensoort"
|
||||
"foreign": "prs_kostensoort",
|
||||
"LOVinit": ""
|
||||
},
|
||||
"colors": {
|
||||
"dbs": "ins_discipline_color",
|
||||
|
||||
@@ -6,8 +6,8 @@
|
||||
|
||||
Description: Vanuit CodeCharge gegenereerd model voor ins_kenmerk
|
||||
|
||||
Context: paramater: niveau=O: Object kenmerken (level: D=Discipline, G=Objectgroep, S=Objectsoort)
|
||||
niveau=T: Taak kenmerken (level: T=Alle taken, C=Periodiek taken, E=Taakcategorie)
|
||||
Context: Met parameter 'niveau' worden alleen de inspectiekenmerken getoond.
|
||||
Zonder, alle niet-inspectie kenmerken.
|
||||
|
||||
Notes:
|
||||
*/
|
||||
@@ -17,8 +17,6 @@
|
||||
|
||||
function model_ins_kenmerk(niveau, params)
|
||||
{
|
||||
var isTaakKenmerk = (niveau == "T" || niveau == "E" || niveau == "C");
|
||||
|
||||
params = params || {};
|
||||
this.records_name = "objectproperties";
|
||||
this.record_name = "objectproperty";
|
||||
@@ -26,8 +24,8 @@ function model_ins_kenmerk(niveau, params)
|
||||
this.primary = "ins_kenmerk_key";
|
||||
this.soft_delete = "ins_kenmerk_verwijder";
|
||||
this.autfunction = params.internal?false:"WEB_INSMGT";
|
||||
this.record_title = (isTaakKenmerk? L("ins_srtcontrole_kenmerk") : L("ins_kenmerk"));
|
||||
this.records_title = (isTaakKenmerk? L("ins_srtcontrole_kenmerk_m") : L("ins_kenmerk_m"));
|
||||
this.record_title = L("ins_kenmerk");
|
||||
this.records_title = L("ins_kenmerk_m");
|
||||
this.module = "INS";
|
||||
this.defaultIcon = "fa-table-tree";
|
||||
|
||||
@@ -49,16 +47,12 @@ function model_ins_kenmerk(niveau, params)
|
||||
"foreign": {
|
||||
"tbl": "(SELECT ins_srtkenmerk_key"
|
||||
+ " , ins_srtkenmerk_omschrijving"
|
||||
+ (mode != "list"
|
||||
? " || ' (' || ins_srtkenmerk_kenmerktype || ')'"
|
||||
: "")
|
||||
+ " oms"
|
||||
+ " , ins_srtkenmerk_kenmerktype"
|
||||
+ " FROM ins_srtkenmerk"
|
||||
+ " WHERE ins_srtkenmerk_verwijder IS NULL"
|
||||
+ " ORDER by ins_srtkenmerk_omschrijving ASC)",
|
||||
"key": "ins_srtkenmerk_key",
|
||||
"desc": "oms",
|
||||
"desc": "ins_srtkenmerk_omschrijving",
|
||||
"extravalue": "ins_srtkenmerk_kenmerktype"
|
||||
},
|
||||
"showtransit": true
|
||||
@@ -105,53 +99,25 @@ function model_ins_kenmerk(niveau, params)
|
||||
"showtransit": true,
|
||||
"infoPointer": { Url: "appl/ins/ins_srtdeel.asp?srtdeel_key=" }
|
||||
},
|
||||
// "attributetypehide": { //het datatype van het kenmerksoort, zal-wel gekopieerd van CNT
|
||||
// "dbs": "ins_srtkenmerk.ins_srtkenmerk_kenmerktype",
|
||||
// "label": L("mgt_srtkenmerk_kenmerktype"),
|
||||
// "typ": "varchar",
|
||||
// "hidden_fld": true,
|
||||
// "LOV": buildKenmerktypeLOV(),
|
||||
// "showtransit": true
|
||||
// },
|
||||
"level": {
|
||||
"dbs": "ins_kenmerk_niveau",
|
||||
"label": L("mgt_kenmerk_niveau"),
|
||||
"typ": "varchar",
|
||||
"LOV": fill_ins_niveau_LOV(),
|
||||
"defaultvalue": "T",
|
||||
"showtransit": true,
|
||||
"insertonly": true
|
||||
},
|
||||
"taskdiscipline": {
|
||||
"dbs": "ctr_v_allsrtinstallatie.ins_discipline_key",
|
||||
"label": L("ctr_discipline"),
|
||||
"typ": "key",
|
||||
"foreign": { "tbl": "ctr_v_aanwezigdiscipline",
|
||||
"key": "ins_discipline_key",
|
||||
"desc": "ins_discipline_omschrijving",
|
||||
"where": "ins_discipline_verwijder IS NULL"
|
||||
},
|
||||
"showtransit": true,
|
||||
"insertonly": true,
|
||||
"emptyoption": L("mgt_kenmerk_controle_all")
|
||||
},
|
||||
"task": {
|
||||
"dbs": "ctr_v_allsrtinstallatie.ins_srtcontrole_key",
|
||||
"label": L("ins_srtcontrole"),
|
||||
"typ": "key",
|
||||
"foreign": "ins_srtcontrole",
|
||||
"foreignfiltercode": "PI",
|
||||
"urlAdd": [{urlParam: "ctrdisc_key_arr", field: "taskdiscipline"}],
|
||||
"showtransit": true,
|
||||
"insertonly": true,
|
||||
"emptyoption": " "
|
||||
},
|
||||
"objectkey": {
|
||||
"dbs": "ins_srtinstallatie_key",
|
||||
"label": L("lcl_ins_object"),
|
||||
"typ": "key",
|
||||
"hidden_fld": true,
|
||||
"required": true
|
||||
"required": true,
|
||||
"foreign": {"tbl": "ins_srtcontrole",
|
||||
"key": "ins_srtcontrole_key",
|
||||
"desc": "ins_srtcontrole_omschrijving"
|
||||
}
|
||||
},
|
||||
"level": {
|
||||
"dbs": "ins_kenmerk_niveau",
|
||||
"label": L("mgt_kenmerk_niveau"),
|
||||
"typ": "varchar",
|
||||
"hidden_fld": true,
|
||||
"LOV": fill_ins_niveau_LOV(),
|
||||
"defaultvalue": "C",
|
||||
"showtransit": true
|
||||
},
|
||||
"editlevel": {
|
||||
"dbs": "ins_kenmerk_bewerkniveau",
|
||||
@@ -166,16 +132,13 @@ function model_ins_kenmerk(niveau, params)
|
||||
"dbs": "ins_kenmerk_volgnummer",
|
||||
"label": L("ins_kenmerk_volgnummer"),
|
||||
"typ": "number",
|
||||
"len": 3,
|
||||
"required": true
|
||||
},
|
||||
"required": {
|
||||
"dbs": "ins_kenmerk_verplicht",
|
||||
"label": L("ins_kenmerk_verplicht"),
|
||||
"typ": "key",
|
||||
"LOV": buildVerplichtingList(),
|
||||
"emptyisrealvalue": true,
|
||||
"emptyoption": null,
|
||||
"LOV": fill_verplicht_LOV(),
|
||||
"listfunction": function(oRs) {
|
||||
var val = oRs.Fields("required.name").Value;
|
||||
if (val === null) {
|
||||
@@ -183,6 +146,7 @@ function model_ins_kenmerk(niveau, params)
|
||||
}
|
||||
return val;
|
||||
},
|
||||
"emptyoption": L("lcl_mld_niet_verplicht"),
|
||||
"multiedit": true
|
||||
},
|
||||
"requiredstatus": {
|
||||
@@ -192,19 +156,12 @@ function model_ins_kenmerk(niveau, params)
|
||||
"LOV": L("ins_kenmerk_requiredstatusLOV"),
|
||||
"emptyoption": null
|
||||
},
|
||||
"rolecode": {
|
||||
"dbs": "ins_kenmerk_rolcode",
|
||||
"label": L("mgt_kenmerk_rolcode"),
|
||||
"typ": "number",
|
||||
"LOV": buildKenmerkRoleCodeLOV({ module: (isTaakKenmerk ? "CTR" : "INS") }),
|
||||
"required": true
|
||||
},
|
||||
"group": {
|
||||
"dbs": "ins_kenmerk_groep",
|
||||
"label": L("mgt_kenmerk_groep"),
|
||||
"label": L("ins_kenmerk_groep"),
|
||||
"typ": "key",
|
||||
"required": true,
|
||||
"LOV": buildGroepsverplichtingList(),
|
||||
"LOV": fill_groepsverplichting_LOV(),
|
||||
"defaultvalue": "0",
|
||||
"multiedit": true
|
||||
},
|
||||
@@ -217,32 +174,7 @@ function model_ins_kenmerk(niveau, params)
|
||||
"inlist": {
|
||||
"dbs": "ins_kenmerk_inlijst",
|
||||
"label": L("mgt_kenmerk_systeem_overview"),
|
||||
"typ": "number",
|
||||
"bits": [
|
||||
{
|
||||
"name": "",
|
||||
"label": "",
|
||||
"showasgroup": false,
|
||||
"typ": "check",
|
||||
"mask": 3,
|
||||
"radios": [
|
||||
{
|
||||
"name": "listobj",
|
||||
//"label": L("mgt_kenmerk_systeem_overview_obj") + " " + L("mgt_kenmerk_systeem_overview"),
|
||||
"label": L("mgt_kenmerk_systeem_overview"),
|
||||
"mask": 1,
|
||||
"defaultvalue": 0
|
||||
},
|
||||
{
|
||||
"name": "listmjob",
|
||||
//"label": L("mgt_kenmerk_systeem_overview_mjob") + " " + L("mgt_kenmerk_systeem_overview"),
|
||||
"label": L("mgt_kenmerk_systeem_overview_mjob"),
|
||||
"mask": 2,
|
||||
"defaultvalue": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"typ": "check0",
|
||||
"multiedit": true
|
||||
},
|
||||
"measurement": {
|
||||
@@ -260,6 +192,11 @@ function model_ins_kenmerk(niveau, params)
|
||||
"emptyoption": null,
|
||||
"multiedit": true
|
||||
},
|
||||
"location": {
|
||||
"dbs": "ins_kenmerk_locatiekolom",
|
||||
"label": L("ins_kenmerk_locatiekolom"),
|
||||
"typ": "varchar"
|
||||
},
|
||||
"propertydefault": {
|
||||
"dbs": "ins_kenmerk_default",
|
||||
"label": L("mgt_kenmerk_default"),
|
||||
@@ -284,9 +221,9 @@ function model_ins_kenmerk(niveau, params)
|
||||
},
|
||||
"code": {
|
||||
"dbs": "ins_kenmerk_code",
|
||||
"label": L("mgt_kenmerk_code"),
|
||||
"label": L("lcl_ins_code"),
|
||||
"typ": "varchar",
|
||||
"readonly": !user.has("WEB_PRSSYS")
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
},
|
||||
"authorization": {
|
||||
"dbs": "fac_functie_key",
|
||||
@@ -323,57 +260,79 @@ function model_ins_kenmerk(niveau, params)
|
||||
return result;
|
||||
}
|
||||
|
||||
this.list = {
|
||||
"columns": ["id",
|
||||
"objectpropertydesc",
|
||||
"objectpropertytype",
|
||||
"sequence",
|
||||
"required",
|
||||
"group"
|
||||
]
|
||||
};
|
||||
/*
|
||||
this.search = {
|
||||
"autosearch": true,
|
||||
"filters": ["level",
|
||||
"objectdiscipline",
|
||||
"objectgroup",
|
||||
"objecttype",
|
||||
"objectpropertytype"
|
||||
]
|
||||
};
|
||||
this.edit = { modal: true};
|
||||
*/
|
||||
|
||||
// Server side code!
|
||||
//
|
||||
// Afhankelijk van niveau:
|
||||
|
||||
var gparams = { GET: { } };
|
||||
if (isTaakKenmerk)
|
||||
if (niveau == "C")
|
||||
{
|
||||
delete this.fields.objectdiscipline;
|
||||
delete this.fields.objectgroup;
|
||||
delete this.fields.objecttype;
|
||||
delete this.fields.editlevel;
|
||||
delete this.fields.measurement;
|
||||
|
||||
gparams.GET = {tables: ["ctr_v_allsrtinstallatie"],
|
||||
wheres: [ "ins_kenmerk.ins_kenmerk_niveau IN ('T', 'E', 'C')" // E=Taakcategorie (discipline), C=Periodiek taak.
|
||||
, "(ins_kenmerk.ins_srtinstallatie_key = ctr_v_allsrtinstallatie.ctr_srtinstallatie_key OR ins_kenmerk.ins_srtinstallatie_key IS NULL)"
|
||||
, "ins_kenmerk.ins_kenmerk_niveau = ctr_v_allsrtinstallatie.niveau"
|
||||
, "ins_kenmerk.ins_kenmerk_verwijder IS NULL"
|
||||
]
|
||||
};
|
||||
this.fields.inlist.bits = [
|
||||
{
|
||||
"name": "",
|
||||
"label": "",
|
||||
"typ": "check",
|
||||
"mask": 1,
|
||||
"radios": [
|
||||
{
|
||||
"name": "listctr",
|
||||
"label": L("mgt_kenmerk_systeem_overview_ctr"),
|
||||
"mask": 1,
|
||||
"defaultvalue": 0
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
delete this.fields.objectdiscipline;
|
||||
delete this.fields.objectgroup;
|
||||
delete this.fields.objecttype;
|
||||
delete this.fields.editlevel;
|
||||
delete this.fields.measurement;
|
||||
this.fields.objectkey.label = L("ins_srtcontrole");
|
||||
this.record_title = L("ins_srtcontrole_kenmerk");
|
||||
this.records_title = L("ins_srtcontrole_kenmerk_m");
|
||||
gparams.GET = {wheres: [ "ins_kenmerk.ins_kenmerk_niveau = " + safe.quoted_sql(niveau)
|
||||
, "ins_kenmerk.ins_kenmerk_verwijder IS NULL"
|
||||
]
|
||||
};
|
||||
}
|
||||
else
|
||||
{ //kenmerk_niveau: D | G | S
|
||||
delete this.fields.requiredstatus;
|
||||
delete this.fields.taskdiscipline;
|
||||
delete this.fields.task;
|
||||
|
||||
gparams.GET = {tables: ["ins_v_allsrtinstallatie"],
|
||||
wheres: [ "ins_kenmerk.ins_kenmerk_niveau IN ('D', 'G', 'S')",
|
||||
"ins_kenmerk.ins_srtinstallatie_key = ins_v_allsrtinstallatie.ins_srtinstallatie_key",
|
||||
"ins_kenmerk.ins_kenmerk_niveau = ins_v_allsrtinstallatie.niveau"
|
||||
]
|
||||
};
|
||||
delete this.fields.requiredstatus;
|
||||
this.record_title = L("ins_kenmerk");
|
||||
this.records_title = L("ins_kenmerk_m");
|
||||
gparams.GET = {tables: ["ins_v_allsrtinstallatie"],
|
||||
wheres: [ "ins_kenmerk.ins_kenmerk_niveau <> 'C'",
|
||||
"ins_kenmerk.ins_srtinstallatie_key = ins_v_allsrtinstallatie.ins_srtinstallatie_key",
|
||||
"ins_kenmerk.ins_kenmerk_niveau = ins_v_allsrtinstallatie.niveau"
|
||||
]
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
function fill_verplicht_LOV()
|
||||
{ // Listbox verplicht vullen. Bij het veld is de emptyoption gezet.
|
||||
// Hierdoor is er altijd een waarde geselecteerd.
|
||||
return "1;" + L("lcl_mld_altijd_verplicht")
|
||||
+ ";2;" + L("lcl_mld_groepsverplichting");
|
||||
}
|
||||
|
||||
function fill_groepsverplichting_LOV()
|
||||
{ // Listbox groepsverplichting vullen.
|
||||
var groep_array = ["0", "<"+L("lcl_none")+">"];
|
||||
for (i=1; i<=9; i++)
|
||||
{
|
||||
groep_array.push(i)
|
||||
groep_array.push(L("ins_kenmerk_groep")+" "+i);
|
||||
}
|
||||
return groep_array.join(";");
|
||||
}
|
||||
|
||||
this.REST_GET = generic_REST_GET(this, gparams);
|
||||
this.REST_POST = generic_REST_POST(this);
|
||||
this.REST_PUT = generic_REST_PUT(this);
|
||||
@@ -382,42 +341,10 @@ function model_ins_kenmerk(niveau, params)
|
||||
|
||||
function fill_ins_niveau_LOV()
|
||||
{
|
||||
return "T;" + L("mgt_kenmerk_controle_all")
|
||||
+ ";E;" + L("mgt_kenmerk_ctrdiscipline")
|
||||
+ ";C;" + L("mgt_kenmerk_srtcontrole")
|
||||
+ ";D;" + L("mgt_srtkenmerk_discipline")
|
||||
+ ";G;" + L("mgt_srtkenmerk_srtgroep")
|
||||
+ ";S;" + L("mgt_srtkenmerk_srtdeel")
|
||||
+ ";O;" + "Objecten";
|
||||
return "D;"+L("mgt_srtkenmerk_discipline")
|
||||
+ ";G;"+L("mgt_srtkenmerk_srtgroep")
|
||||
+ ";S;"+L("mgt_srtkenmerk_srtdeel");
|
||||
}
|
||||
|
||||
this.hook_pre_edit = function (obj, fld)
|
||||
{
|
||||
fld.propertydefault.label = this_model.get_objectpropertytype_srttype(obj).lbl_default;
|
||||
fld.readonly.label = this_model.get_objectpropertytype_srttype(obj).lbl_readonly;
|
||||
if (!obj.level.name)
|
||||
{
|
||||
if (obj.level.id == "O")
|
||||
obj.level.name = L("lcl_ins_objects");
|
||||
else if (obj.level.id == "T")
|
||||
obj.level.name = L("ins_srtcontrole_m");
|
||||
else
|
||||
obj.level.name = obj.level.id;
|
||||
}
|
||||
%>
|
||||
<script>
|
||||
var srtinstallatieselector_available = 1; // toon alleen actuele disciplines/groepen en objecten.
|
||||
</script>
|
||||
<%
|
||||
}
|
||||
|
||||
this.hook_pre_search = function(fld)
|
||||
{
|
||||
%>
|
||||
<script>
|
||||
var srtinstallatieselector_available = 1; // toon alleen actuele disciplines/groepen en objecten.
|
||||
</script>
|
||||
<%
|
||||
}
|
||||
}
|
||||
%>
|
||||
@@ -284,7 +284,6 @@ function model_ins_srtcontrole()
|
||||
"dbs": "ins_srtcontrole_options",
|
||||
"label": L("ins_srtcontrole_options"),
|
||||
"typ": "number",
|
||||
"multiedit": true,
|
||||
"bits": [
|
||||
{
|
||||
"name": "",
|
||||
@@ -339,18 +338,14 @@ function model_ins_srtcontrole()
|
||||
}
|
||||
};
|
||||
|
||||
// Met BAUS#80301 is er een eigen menuitem gekomen waarmee de taakkenmerken aangemaakt kunnen worden op dezelfde manier als bij andere kenmerken.
|
||||
// Taakkenmerken kunnen dan ook aangemaakt worden die voor alle taken gelden of voor een taakcategorie (ctrdiscipline).
|
||||
// Het tabje "Taakkenmerken bij een taak heb je dan niet meer nodig en is daarom hieronder uitgecommentariseerd.
|
||||
//
|
||||
//// Kenmerk *definities* als include is vrij uitzonderlijk
|
||||
//this.includes = {
|
||||
// "custom_properties": {
|
||||
// "model": new model_ins_kenmerk("C", { internal: true }),
|
||||
// "joinfield": "objectkey",
|
||||
// "enable_update": true
|
||||
// }
|
||||
//};
|
||||
// Kenmerk *definities* als include is vrij uitzonderlijk
|
||||
this.includes = {
|
||||
"custom_properties": {
|
||||
"model": new model_ins_kenmerk("C", { internal: true }),
|
||||
"joinfield": "objectkey",
|
||||
"enable_update": true
|
||||
}
|
||||
};
|
||||
|
||||
this.REST_GET = generic_REST_GET(this, {
|
||||
"GET": {
|
||||
|
||||
@@ -31,9 +31,23 @@ function model_ins_srtdeel()
|
||||
"label": L("lcl_key"),
|
||||
"typ": "key",
|
||||
"required": true,
|
||||
"seq": "ins_s_ins_srtinst_keys",
|
||||
"seq": "ins_s_ins_srtdeel_key",
|
||||
"defaultvalue": null
|
||||
},
|
||||
"objectdiscipline": {
|
||||
"dbs": "ins_discipline_key",
|
||||
"label": L("lcl_discipline"),
|
||||
"typ": "key",
|
||||
"foreign": {
|
||||
"tbl": "ins_v_aanwezigdiscipline",
|
||||
"key": "ins_discipline_key",
|
||||
"desc": "ins_discipline_omschrijving"
|
||||
},
|
||||
"LOVinit": "",
|
||||
"defaultvalue": null,
|
||||
"showtransit": true,
|
||||
"onchange": "onChangeDiscipline()"
|
||||
},
|
||||
"objectgroup": {
|
||||
"dbs": "ins_srtgroep_key",
|
||||
"label": L("lcl_obj_group"),
|
||||
@@ -42,7 +56,7 @@ function model_ins_srtdeel()
|
||||
"insertonly": true,
|
||||
"foreign": {
|
||||
"tbl": "ins_v_aanwezigsrtgroep",
|
||||
"key": "ins_srtgroep_key",
|
||||
"key": "inssrtgroep_key",
|
||||
"desc": "ins_srtgroep_omschrijving"
|
||||
},
|
||||
"LOVinit": "",
|
||||
|
||||
@@ -97,8 +97,8 @@ function model_ins_srtkenmerk(params)
|
||||
"code": {
|
||||
"dbs": "ins_srtkenmerk_code",
|
||||
"typ": "varchar",
|
||||
"label": L("mgt_srtkenmerk_code"),
|
||||
"readonly": !user.has("WEB_PRSSYS")
|
||||
"label": L("lcl_ins_code"),
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -50,8 +50,7 @@ function model_ins_tab_discipline(disc_key, params)
|
||||
"foreign" : {
|
||||
"tbl": "ins_srtdiscipline",
|
||||
"key": "ins_srtdiscipline_key",
|
||||
"desc": "ins_srtdiscipline_omschrijving",
|
||||
"where": "ins_srtdiscipline_verwijder IS NULL"
|
||||
"desc": "ins_srtdiscipline_omschrijving"
|
||||
}
|
||||
},
|
||||
"scope": {
|
||||
@@ -79,7 +78,8 @@ function model_ins_tab_discipline(disc_key, params)
|
||||
"dbs": "prs_kostensoort_key",
|
||||
"label": L("prs_kostensoort_key"),
|
||||
"typ": "key",
|
||||
"foreign": "prs_kostensoort"
|
||||
"foreign": "prs_kostensoort",
|
||||
"LOVinit": ""
|
||||
},
|
||||
"costcentremandatory": {
|
||||
"dbs": "ins_discipline_kpnverplicht",
|
||||
|
||||
@@ -15,105 +15,77 @@
|
||||
%>
|
||||
<!-- #include file="../Shared/discxalg3d.inc"-->
|
||||
<!-- #include file="../fin/fin.inc" -->
|
||||
<!-- #include file="./model_custom_fields.inc"-->
|
||||
<!-- #include file="./model_fac_tracking.inc"-->
|
||||
<!-- #include file="./model_fin_kenmerk.inc"-->
|
||||
<%
|
||||
|
||||
function model_invoicelines()
|
||||
model_invoicelines =
|
||||
{
|
||||
this.module = "FIN";
|
||||
this.table = "fin_factuurregel";
|
||||
this.primary = "fin_factuurregel_key";
|
||||
this.records_name = "invoicelines";
|
||||
this.record_name = "invoiceline";
|
||||
this.fields = { "id" : { dbs: "fin_factuurregel_key", typ: "key" },
|
||||
"name" : { dbs: "fin_factuurregel_omschrijving", typ: "varchar", track: true, label: L("lcl_descr"), filter: "like" },
|
||||
"line" : { dbs: "fin_factuurregel_nr", typ: "number" },
|
||||
"total" : { dbs: "fin_factuurregel_totaal", typ: "float", iscurrency: true, track: true, label: L("lcl_fin_total_sum_exBTW") },
|
||||
"vat" : { dbs: "fin_factuurregel_btw", typ: "float", iscurrency: true, track: true, label: L("lcl_fin_total_sum_inBTW") },
|
||||
"reference" : { dbs: "fin_factuurregel_referentie", typ: "varchar", track: true, label: L("lcl_fin_referencecode"), filter: "like" },
|
||||
"vatvalue" : { dbs: "fin_btwtabelwaarde_key", typ: "key", foreign: "fin_btwtabelwaarde", track: true, label: L("lcl_fin_btwtarief")},
|
||||
"costtype" : { dbs: "prs_kostensoort_key", typ: "key", foreign: "prs_kostensoort", track: true, label: L("lcl_shared_charge_type") },
|
||||
"invoice" : { dbs: "fin_factuur_key", typ: "key", foreign: "fin_factuur", insertonly: true },
|
||||
"code" : { dbs: "fin_factuurregel_code", typ: "varchar", track: true, label: L("lcl_fin_article_code") },
|
||||
"amount" : { dbs: "fin_factuurregel_aantal", typ: "float", track: true, label: L("lcl_fin_amount") },
|
||||
"unit" : { dbs: "fin_factuurregel_eenheid", typ: "varchar", track: true, label: L("lcl_fin_unit") },
|
||||
"orderlineid" : { dbs: "fin_factuurregel_id", typ: "number", track: true, label: L("lcl_fin_orderline_id") }
|
||||
};
|
||||
module: "FIN",
|
||||
table: "fin_factuurregel",
|
||||
primary: "fin_factuurregel_key",
|
||||
records_name: "invoicelines",
|
||||
record_name: "invoiceline",
|
||||
fields: { "id" : { dbs: "fin_factuurregel_key", typ: "key" },
|
||||
"name" : { dbs: "fin_factuurregel_omschrijving", typ: "varchar", track: true, label: L("lcl_descr"), filter: "like" },
|
||||
"line" : { dbs: "fin_factuurregel_nr", typ: "number" },
|
||||
"total" : { dbs: "fin_factuurregel_totaal", typ: "float", "iscurrency": true, track: true, label: L("lcl_fin_total_sum_exBTW") },
|
||||
"vat" : { dbs: "fin_factuurregel_btw", typ: "float", "iscurrency": true, track: true, label: L("lcl_fin_total_sum_inBTW") },
|
||||
"reference": { dbs: "fin_factuurregel_referentie", typ: "varchar", track: true, label: L("lcl_fin_referencecode"), filter: "like" },
|
||||
"vatvalue" : { dbs: "fin_btwtabelwaarde_key", typ: "key", foreign: "fin_btwtabelwaarde", track: true, label: L("lcl_fin_btwtarief")},
|
||||
"costtype" : { dbs: "prs_kostensoort_key", typ: "key", foreign: "prs_kostensoort", track: true, label: L("lcl_shared_charge_type") },
|
||||
"fin_factuur_key": { dbs: "fin_factuur_key", typ: "key" }
|
||||
},
|
||||
|
||||
this.includes = {
|
||||
"custom_fields" : {
|
||||
model: new model_custom_fields(this, new model_fin_kenmerk("R", { internal: true }), { pNiveau: "R", readman: true, readuse: true }),
|
||||
joinfield: "flexparentkey",
|
||||
enable_update: true
|
||||
},
|
||||
"tracking": {
|
||||
model: new model_tracking(["factuur"]),
|
||||
joinfield: "trackingrefkey"
|
||||
}
|
||||
};
|
||||
|
||||
function _pre_analyze_fields(params, jsondata) /* analyseer inkomende jsondata, common voor PUT en POST */
|
||||
_pre_analyze_fields: function (params, jsondata) /* analyseer inkomende jsondata, common voor PUT en POST */
|
||||
{
|
||||
delete jsondata.line; // factuurregelnummer niet door de gebruiker laten zetten.
|
||||
};
|
||||
},
|
||||
|
||||
function _analyze_fields(dbfields, params, jsondata) /* analyseer inkomende data, common voor PUT en POST */
|
||||
_analyze_fields: function (dbfields, params, jsondata) /* analyseer inkomende data, common voor PUT en POST */
|
||||
{
|
||||
};
|
||||
},
|
||||
|
||||
function _validate_fields(dbfields, params, jsondata) /* valideer dbfields, alle constraints die niet door de database worden afgevangen */
|
||||
_validate_fields: function (dbfields, params, jsondata) /* valideer dbfields, alle constraints die niet door de database worden afgevangen */
|
||||
{
|
||||
//__Log(jsondata);
|
||||
//var factuurregel_key = parseInt(jsondata.id);
|
||||
};
|
||||
},
|
||||
|
||||
function _synchronize_totals_sql(factuur_key)
|
||||
_synchronize_totals_sql: function (factuur_key)
|
||||
{
|
||||
// Redundante info bijwerken. Door dat hier te doen hebben we redelijk consistentie-garantie.
|
||||
var sql = " UPDATE fin_factuur ff"
|
||||
+ " SET fin_factuur_totaal = (SELECT SUM(fin_factuurregel_totaal)"
|
||||
+ " FROM fin_factuurregel fr"
|
||||
+ " WHERE fr.fin_factuur_key = ff.fin_factuur_key)"
|
||||
+ " FROM fin_factuurregel fr"
|
||||
+ " WHERE fr.fin_factuur_key = ff.fin_factuur_key)"
|
||||
+ " , fin_factuur_totaal_btw = (SELECT SUM(fin_factuurregel_btw)"
|
||||
+ " FROM fin_factuurregel fr"
|
||||
+ " WHERE fr.fin_factuur_key = ff.fin_factuur_key)"
|
||||
+ " FROM fin_factuurregel fr"
|
||||
+ " WHERE fr.fin_factuur_key = ff.fin_factuur_key)"
|
||||
+ " WHERE fin_factuur_key = " + factuur_key;
|
||||
return sql;
|
||||
};
|
||||
},
|
||||
|
||||
function _renumber_invoicelines_sql(factuur_key)
|
||||
_renumber_invoicelines_sql: function (factuur_key)
|
||||
{
|
||||
// Regels hernummeren zodat ze weer opeenvolgend zijn.
|
||||
var sql = "UPDATE fin_factuurregel"
|
||||
+ " SET fin_factuurregel_nr = ROWNUM"
|
||||
+ " WHERE fin_factuur_key = " + factuur_key;
|
||||
return sql;
|
||||
};
|
||||
},
|
||||
|
||||
|
||||
this.REST_GET = function _GET(params)
|
||||
REST_GET: function _GET(params)
|
||||
{
|
||||
var scope = params.filter.scope;
|
||||
if (scope)
|
||||
{
|
||||
var autfunction = { fe: "WEB_EXTFIN", fo: "WEB_FINFOF", bo: "WEB_FINBOF" } [scope];
|
||||
}
|
||||
else
|
||||
{
|
||||
var autfunction = ["WEB_EXTFIN", "WEB_FINFOF", "WEB_FINBOF"];
|
||||
var authparamsFINFOF = user.checkAutorisation("WEB_FINFOF", true);
|
||||
var authparamsFINBOF = user.checkAutorisation("WEB_FINBOF", true);
|
||||
}
|
||||
var scope = params.filter.scope || "fe";
|
||||
var autfunction = { fe: "WEB_EXTFIN", fo: "WEB_FINFOF", bo: "WEB_FINBOF" } [scope];
|
||||
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
|
||||
|
||||
var query = api2.sqlfields(params, this);
|
||||
var query = api2.sqlfields(params, model_invoicelines );
|
||||
var parentexists = ["f.fin_factuur_verwijder IS NULL"];
|
||||
|
||||
if (scope == "fe" || (!scope && !authparamsFINFOF && !authparamsFINBOF))
|
||||
{ // Frontend.
|
||||
parentexists.push("f.prs_perslid_key_user=" + user_key);
|
||||
if (scope == "fe")
|
||||
{
|
||||
parentexists.push("f.prs_perslid_key_user=" + user_key);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -129,25 +101,25 @@ function model_invoicelines()
|
||||
query.wheres.push(sqlparent);
|
||||
}
|
||||
|
||||
var wheres = api2.sqlfilter(params, this);
|
||||
var wheres = api2.sqlfilter(params, model_invoicelines);
|
||||
query.wheres = query.wheres.concat(wheres);
|
||||
|
||||
var sql = "SELECT " + query.selects.join(", ")
|
||||
+ " FROM " + query.tables.join(", ")
|
||||
+ " WHERE " + query.wheres.join(" AND " )
|
||||
+ " ORDER BY fin_factuurregel_nr";
|
||||
var json = api2.sql2json (params, sql, this);
|
||||
var json = api2.sql2json (params, sql, model_invoicelines );
|
||||
|
||||
return json;
|
||||
};
|
||||
},
|
||||
|
||||
this.REST_PUT = function (params, jsondata, the_key) /* update invoiceline */
|
||||
REST_PUT: function (params, jsondata, the_key) /* update invoiceline */
|
||||
{
|
||||
var finregel_key = the_key;
|
||||
_pre_analyze_fields(params, jsondata);
|
||||
var dbfields = api2.update_fields(params, this, jsondata); // Build updater
|
||||
_analyze_fields(dbfields, params, jsondata);
|
||||
_validate_fields(dbfields, params, jsondata);
|
||||
model_invoicelines._pre_analyze_fields(params, jsondata);
|
||||
var dbfields = api2.update_fields(params, model_invoicelines, jsondata); // Build updater
|
||||
model_invoicelines._analyze_fields(dbfields, params, jsondata);
|
||||
model_invoicelines._validate_fields(dbfields, params, jsondata);
|
||||
//
|
||||
var sql = "SELECT fin_factuur_key"
|
||||
+ " FROM fin_factuurregel"
|
||||
@@ -156,7 +128,6 @@ function model_invoicelines()
|
||||
var fin_factuur_key = oRs("fin_factuur_key").value;
|
||||
oRs.Close();
|
||||
|
||||
var fin_factuur_old = fin.factuur_info(fin_factuur_key);
|
||||
var this_fin = fin.func_enabled_factuur(fin_factuur_key);
|
||||
user.auth_required_or_abort(this_fin.canChange); // Geen wijzigingen toestaan bij onvoldoende rechten.
|
||||
|
||||
@@ -165,44 +136,21 @@ function model_invoicelines()
|
||||
|
||||
var sql = "BEGIN "
|
||||
+ finUpd.sql + ";"
|
||||
+ _synchronize_totals_sql(fin_factuur_key) + ";"
|
||||
+ model_invoicelines._synchronize_totals_sql(fin_factuur_key) + ";"
|
||||
+ "END;";
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
|
||||
var finUpdTrackarray = []; // Alle tracking van elke afzondelijke regel verzamelen.
|
||||
if (finUpd.trackarray.length > 0)
|
||||
{
|
||||
if (jsondata.name != "")
|
||||
finUpdTrackarray = finUpdTrackarray.concat([jsondata.name + ": "]); // Omschrijving van de regel noteren zodat ik weet welke regel is aangepast.
|
||||
finUpdTrackarray = finUpdTrackarray.concat(finUpd.trackarray);
|
||||
}
|
||||
|
||||
var fin_factuur_new = fin.factuur_info(fin_factuur_key);
|
||||
if (fin_factuur_old.fin_totaal != fin_factuur_new.fin_totaal)
|
||||
finUpdTrackarray.push(L("lcl_fin_total_sum_inBTW") + ": " + safe.curr(fin_factuur_old.fin_totaal + fin_factuur_old.fin_totaal_btw) + " => " + safe.curr(fin_factuur_new.fin_totaal + fin_factuur_new.fin_totaal_btw))
|
||||
if (fin_factuur_old.fin_totaal_btw != fin_factuur_new.fin_totaal_btw)
|
||||
finUpdTrackarray.push(L("lcl_fin_BTW_total_sum") + ": " + safe.curr(fin_factuur_old.fin_totaal_btw) + " => " + safe.curr(fin_factuur_new.fin_totaal_btw))
|
||||
|
||||
var fintrack = api2.process_includes(params, this, jsondata, the_key);
|
||||
|
||||
// update nog tracken
|
||||
if (fin_factuur_key > 0)
|
||||
{
|
||||
fin.trackfactuurupdate(fin_factuur_key, L("lcl_fin_is_finupdtrack").format(fin_factuur_key) + ((finUpdTrackarray.length + fintrack.length) > 0? "\n" : "") + finUpdTrackarray.concat(fintrack).join("\n"));
|
||||
};
|
||||
|
||||
return { key: finregel_key };
|
||||
};
|
||||
},
|
||||
|
||||
this.REST_POST = function (params, jsondata) /* new invoiceline */
|
||||
REST_POST: function (params, jsondata, parent_key) /* new invoiceline */
|
||||
{
|
||||
params.isNew = true;
|
||||
|
||||
var trackarray = [];
|
||||
var factuur_key = (typeof jsondata.invoice == "object" ? jsondata.invoice.id : jsondata.invoice);
|
||||
|
||||
var factuur_key = (parent_key && parent_key > -1 ? parent_key : jsondata.invoice);
|
||||
var this_fin = fin.func_enabled_factuur(factuur_key); // Wat heb ik zoal aan rechten op deze specifieke factuur
|
||||
var auth = ( (params.filter && params.filter.api2 && params.filter.api2 == "invoices"
|
||||
&& params.include && inArray("invoicelines",params.include)
|
||||
@@ -212,10 +160,10 @@ function model_invoicelines()
|
||||
);
|
||||
user.auth_required_or_abort(auth);
|
||||
|
||||
_pre_analyze_fields(params, jsondata);
|
||||
var dbfields = api2.update_fields(params, this, jsondata); // Build updater
|
||||
_analyze_fields(dbfields, params, jsondata);
|
||||
_validate_fields(dbfields, params, jsondata);
|
||||
model_invoicelines._pre_analyze_fields(params, jsondata);
|
||||
var dbfields = api2.update_fields(params, model_invoicelines, jsondata); // Build updater
|
||||
model_invoicelines._analyze_fields(dbfields, params, jsondata);
|
||||
model_invoicelines._validate_fields(dbfields, params, jsondata);
|
||||
|
||||
// Zet volgnummer van de nieuwe factuurregel.
|
||||
var sql = "SELECT COALESCE(MAX(fin_factuurregel_nr),0) volgnr"
|
||||
@@ -237,22 +185,20 @@ function model_invoicelines()
|
||||
|
||||
var sql = "BEGIN "
|
||||
+ finIns.sql + ";"
|
||||
+ _synchronize_totals_sql(factuur_key) + ";"
|
||||
+ model_invoicelines._synchronize_totals_sql(factuur_key) + ";"
|
||||
+ "END;";
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
|
||||
var fintrack = api2.process_includes(params, this, jsondata, factuurregel_key);
|
||||
|
||||
// Tracking toevoegen.
|
||||
trackarray.push(L("lcl_fin_invoicerow_add") + ": " + safe.quoted_sql(jsondata.name) + "/" + jsondata.total);
|
||||
shared.trackaction("FINNEW", factuur_key, trackarray.join("\n"));
|
||||
//
|
||||
return { key: factuurregel_key };
|
||||
};
|
||||
},
|
||||
|
||||
this.REST_DELETE = function (params, the_key) /* delete invoiceline */
|
||||
REST_DELETE: function (params, the_key) /* delete invoiceline */
|
||||
{
|
||||
var trackarray = [];
|
||||
var factuurregel_key = the_key;
|
||||
@@ -275,8 +221,8 @@ function model_invoicelines()
|
||||
fin.deleteFactuurregel(factuurregel_key);
|
||||
|
||||
var sql = "BEGIN "
|
||||
+ _synchronize_totals_sql(factuur_key) + ";"
|
||||
+ _renumber_invoicelines_sql(factuur_key) + ";"
|
||||
+ model_invoicelines._synchronize_totals_sql(factuur_key) + ";"
|
||||
+ model_invoicelines._renumber_invoicelines_sql(factuur_key) + ";"
|
||||
+ "END;"
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
@@ -286,6 +232,6 @@ function model_invoicelines()
|
||||
trackarray.push(L("lcl_fin_regel_del") + ": " + safe.quoted_sql(desc) + "/" + total);
|
||||
//shared.trackaction("FINDEL", factuur_key, trackarray.join("\n")); // srtnotificatie FINDEL bestaat (nog) niet
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
%>
|
||||
|
||||
@@ -36,50 +36,42 @@ function model_invoices(fin_key, params)
|
||||
this.primary = "fin_factuur_key";
|
||||
this.records_name = "invoices";
|
||||
this.record_name = "invoice";
|
||||
this.soft_delete = "fin_factuur_verwijder";
|
||||
|
||||
// Het interne factuurnr is de id, het externe nummer is name
|
||||
this.fields =
|
||||
{"id" : { dbs: "fin_factuur_key", typ: "key" },
|
||||
"invoicedate" : { dbs: "fin_factuur_datum", typ: "datetime", track: true, label: L("lcl_fin_findate"), filter: "range" },
|
||||
/*readonly*/ "creditor" : { dbs: "prs_bedrijf_key", typ: "key", foreign: "prs_bedrijf", track: true, label: L("lcl_ord_company_uit"),
|
||||
{"id" : { dbs: "fin_factuur_key", typ: "key" },
|
||||
"invoicedate" : { dbs: "fin_factuur_datum", typ: "datetime", track: true, label: L("lcl_fin_findate"), filter: "range" },
|
||||
/*readonly*/ "creditor" : { dbs: "prs_bedrijf_key", typ: "key", foreign: "prs_bedrijf", track: true, label: L("lcl_ord_company_uit"),
|
||||
sql: "COALESCE(mld_opdr.mld_uitvoerende_keys, bes_bestelopdr.prs_bedrijf_key, cnt_contract.cnt_prs_bedrijf_key)" },
|
||||
/*readonly*/ "referencetype" : { dbs: "dummy", typ: "varchar",
|
||||
/*readonly*/ "referencetype" : { dbs: "dummy", typ: "varchar",
|
||||
sql: "DECODE(fin_factuur.mld_opdr_key, NULL, DECODE(fin_factuur.bes_bestelopdr_key, NULL, DECODE(fin_factuur.cnt_contract_key, NULL, '?', 'C'), 'B'), 'O')" },
|
||||
/*readonly*/ "accountholder" : { dbs: "prs_perslid_key", typ: "key", foreign: "prs_perslid", track: true, label: L("lcl_prs_budgethouder"),
|
||||
/*readonly*/ "accountholder" : { dbs: "prs_perslid_key", typ: "key", foreign: "prs_perslid", track: true, label: L("lcl_prs_budgethouder"),
|
||||
sql: "fin.getfiatteur(fin_factuur.fin_factuur_key)" },
|
||||
"name" : { dbs: "fin_factuur_nr", typ: "varchar", track: true, label: L("lcl_fin_invoice_nr_extern") },
|
||||
"order" : { dbs: "mld_opdr_key", typ: "key", foreign: "mld_opdr"},
|
||||
"contract" : { dbs: "cnt_contract_key", typ: "key", foreign: "cnt_contract"},
|
||||
"purchaseorder" : { dbs: "bes_bestelopdr_key", typ: "key", foreign: "bes_bestelopdr"},
|
||||
"total" : { dbs: "fin_factuur_totaal", typ: "float", iscurrency: true, track: true, label: L("lcl_fin_totaal_bedrag") },
|
||||
"vat" : { dbs: "fin_factuur_totaal_btw", typ: "float", iscurrency: true, track: true, label: L("lcl_fin_totaal_bedrag_btw") },
|
||||
"blockedaccount" : { dbs: "fin_factuur_gbedrag", typ: "float", iscurrency: true, track: true, label: L("lcl_fin_gbedrag") },
|
||||
"status" : { dbs: "fin_factuur_statuses_key", typ: "key", foreign: fin.getfinstatustext, track: true, label: L("lcl_fin_fin_status")},
|
||||
"accountingperiod": { dbs: "fin_factuur_boekmaand", typ: "varchar", track: true, label: L("lcl_fin_divide_period"), multiedit: true },
|
||||
"debiteur_nr" : { dbs: "fin_factuur_debiteur_nr", typ: "varchar", track: true, label: L("lcl_fin_debtor_nr"), filter: "like", multiedit: true },
|
||||
"costtype" : { dbs: "prs_kostensoort_key", typ: "key", foreign: "prs_kostensoort", track: true, label: L("lcl_shared_charge_type"), multiedit: true },
|
||||
"contact" : { dbs: "prs_perslid_key_user", typ: "key", foreign: "prs_perslid", track: true, label: L("lcl_mld_name"), multiedit: true },
|
||||
"validater" : { dbs: "prs_perslid_key_goedkeur", typ: "number", foreign: "prs_perslid", track: true, label: L("lcl_fin_goedkeurder") },
|
||||
"source" : { dbs: "fin_factuur_bron", typ: "number", track: true, label: L("lcl_fin_invoice_source") },
|
||||
"advice" : { dbs: "fin_factuur_advies", typ: "date", track: true, label: L("lcl_fin_adviesdatum") },
|
||||
"flag" : { dbs: "fin_factuur_flag", typ: "number", track: true, label: L("lcl_fin_flags") },
|
||||
"contractplace" : { dbs: "cnt_contract_plaats_key", typ: "number", track: true, label: L("lcl_fin_location_scope") },
|
||||
"remark" : { dbs: "fin_factuur_opmerking", typ: "varchar", track: true, label: L("lcl_fin_remark"), filter: "like" },
|
||||
"remarkreject" : { dbs: "fin_factuur_opmerking_afw", typ: "varchar", track: true, label: L("lcl_fin_remark_reject"), filter: "like" },
|
||||
"externnr" : { dbs: "fin_factuur_externnr", typ: "varchar", label: L("extern_nr"), readonly: !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR")) },
|
||||
"externsyncdate" : { dbs: "fin_factuur_externsyncdate", typ: "datetime", label: L("extern_syncdate"), readonly: !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR")) },
|
||||
"contractplace" : { dbs: "bes_bestellevr_key", typ: "number", track: true, label: L("lcl_bes_bestellevr_pakbon") }
|
||||
"name" : { dbs: "fin_factuur_nr", typ: "varchar", track: true, label: L("lcl_fin_invoice_nr_extern") },
|
||||
"order" : { dbs: "mld_opdr_key", typ: "key", foreign: "mld_opdr"},
|
||||
"contract" : { dbs: "cnt_contract_key", typ: "key", foreign: "cnt_contract"},
|
||||
"purchaseorder" : { dbs: "bes_bestelopdr_key", typ: "key", foreign: "bes_bestelopdr"},
|
||||
"total" : { dbs: "fin_factuur_totaal", typ: "float", "iscurrency": true, track: true, label: L("lcl_fin_totaal_bedrag") },
|
||||
"vat" : { dbs: "fin_factuur_totaal_btw", typ: "float", "iscurrency": true, track: true, label: L("lcl_fin_totaal_bedrag_btw") },
|
||||
"finstatus" : { dbs: "fin_factuur_statuses_key", typ: "key", foreign: fin.getfinstatustext, track: true, label: L("lcl_fin_fin_status")},
|
||||
"accountingperiod": { dbs: "fin_factuur_boekmaand", multiedit: true, typ: "varchar", track: true, label: L("lcl_fin_divide_period") },
|
||||
"debiteur_nr" : { dbs: "fin_factuur_debiteur_nr", multiedit: true, typ: "varchar", track: true, label: L("lcl_fin_debtor_nr"), filter: "like" },
|
||||
"costtype" : { dbs: "prs_kostensoort_key", multiedit: true, typ: "key", foreign: "prs_kostensoort", track: true, label: L("lcl_shared_charge_type") },
|
||||
"contact" : { dbs: "prs_perslid_key_user", multiedit: true, typ: "key", foreign: "prs_perslid", track: true, label: L("lcl_mld_name") },
|
||||
"validater" : { dbs: "prs_perslid_key_goedkeur", typ: "key", foreign: "prs_perslid", track: true, label: L("lcl_fin_goedkeurder") },
|
||||
"remark" : { dbs: "fin_factuur_opmerking", typ: "varchar", track: true, label: L("lcl_fin_remark"), filter: "like" },
|
||||
"externnr" : { dbs: "fin_factuur_externnr", typ: "varchar", label: L("extern_nr"), readonly: !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR")) },
|
||||
"externsyncdate" : { dbs: "fin_factuur_externsyncdate", typ: "datetime", label: L("extern_syncdate"), readonly: !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR")) }
|
||||
};
|
||||
|
||||
this.includes = {
|
||||
"invoicelines": {
|
||||
model: new model_invoicelines(),
|
||||
joinfield: "invoice",
|
||||
model: model_invoicelines,
|
||||
joinfield: "fin_factuur_key",
|
||||
enable_update: true
|
||||
},
|
||||
"custom_fields" : {
|
||||
model: new model_custom_fields(this, new model_fin_kenmerk("F", { internal: true }), { pNiveau: "F", readman: true, readuse: true }),
|
||||
model: new model_custom_fields(this, new model_fin_kenmerk({ internal: true }), { readman: true, readuse: true }),
|
||||
joinfield: "flexparentkey",
|
||||
enable_update: true
|
||||
},
|
||||
@@ -89,28 +81,23 @@ function model_invoices(fin_key, params)
|
||||
}
|
||||
};
|
||||
|
||||
function _pre_analyze_fields(params, jsondata) /* analyseer inkomende jsondata, common voor PUT en POST */
|
||||
function _pre_analyze_fields (params, jsondata) /* analyseer inkomende jsondata, common voor PUT en POST */
|
||||
{
|
||||
// De factuurbedragen worden berekend uit de factuurregels. Eventuele waarden die hier gezet zijn negeren.
|
||||
if (params.method != "POST")
|
||||
{
|
||||
delete jsondata.total;
|
||||
delete jsondata.vat;
|
||||
}
|
||||
jsondata.total = 0;
|
||||
jsondata.vat = 0;
|
||||
|
||||
if (jsondata.status)
|
||||
{ // Er is een status meegegeven.
|
||||
jsondata.status = typeof jsondata.status == "object"? jsondata.status.id : jsondata.status;
|
||||
}
|
||||
// Status van 3 (foute import) moet bij saven op 2 worden gezet.
|
||||
var fin_status_key = jsondata.status;
|
||||
if (fin_status_key == 3) fin_status_key = 2;
|
||||
|
||||
// Status 6 (Akkoord) moet bij saven op 2 (Ingevoerd) worden gezet. Factuur dient indien nodig weer gefiatteerd te worden.
|
||||
if (jsondata.status == 3 || jsondata.status == 6)
|
||||
{
|
||||
jsondata.status = 2;
|
||||
}
|
||||
if (fin_status_key == 6) fin_status_key = 2;
|
||||
|
||||
jsondata.status = fin_status_key;
|
||||
};
|
||||
|
||||
function _analyze_fields(dbfields, params, jsondata) /* analyseer inkomende data, common voor PUT en POST */
|
||||
function _analyze_fields (dbfields, params, jsondata) /* analyseer inkomende data, common voor PUT en POST */
|
||||
{
|
||||
if (jsondata.purchaseorder_name && !dbfields.purchaseorder)
|
||||
{
|
||||
@@ -132,7 +119,7 @@ function model_invoices(fin_key, params)
|
||||
}
|
||||
};
|
||||
|
||||
function _validate_fields(dbfields, params, jsondata) /* valideer fields, alle constraints die niet door de database worden afgevangen */
|
||||
function _validate_fields (dbfields, params, jsondata) /* valideer fields, alle constraints die niet door de database worden afgevangen */
|
||||
{
|
||||
};
|
||||
|
||||
@@ -179,138 +166,26 @@ function model_invoices(fin_key, params)
|
||||
{
|
||||
var fin_key = the_key;
|
||||
var this_fin = fin.func_enabled_factuur(fin_key);
|
||||
|
||||
user.auth_required_or_abort(this_fin.canChange); // Geen wijzigingen toestaan bij onvoldoende rechten.
|
||||
|
||||
//
|
||||
_pre_analyze_fields(params, jsondata);
|
||||
var dbfields = api2.update_fields(params, this, jsondata); // Build updater
|
||||
_analyze_fields(dbfields, params, jsondata);
|
||||
_validate_fields(dbfields, params, jsondata);
|
||||
//
|
||||
var wheres = [" fin_factuur_key = " + fin_key];
|
||||
var finUpd = buildTrackingUpdate("fin_factuur", wheres.join(" AND " ), dbfields, { noValidateToken: true });
|
||||
var err = Oracle.Execute(finUpd.sql, true);
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
|
||||
//if ("filter" in params && "mode" in params.filter)
|
||||
// this_fin.canFlexChange = this_fin.canReadAny && params.filter.mode == "attachment"; // Deze mag altijd
|
||||
// Geen wijzigingen toestaan bij onvoldoende rechten.
|
||||
user.auth_required_or_abort(this_fin.canChange ||
|
||||
(this_fin.canReject && jsondata.status == 1) || // Afwijzen.
|
||||
((this_fin.canUnReject || this_fin.canUnapprove) && jsondata.status == 2) || // On-Afwijzen, On-Fiatteren of On-Goedkeuren.
|
||||
(this_fin.canAccept && jsondata.status == 5) || // Fiatteren.
|
||||
(this_fin.canGoedkeur && jsondata.status == 6)) // Goedkeuren.
|
||||
var fintrack = api2.process_includes(params, this, jsondata, the_key);
|
||||
|
||||
|
||||
if (jsondata.status == 1 && this_mld.canReject)
|
||||
{ // Afwijzen.
|
||||
var fields = [ { dbs: "fin_factuur_opmerking_afw", typ: "varchar", val: jsondata.remark, track: L("lcl_fin_remark_reject"), len: 4000} ];
|
||||
|
||||
var finUpd = buildTrackingUpdate("fin_factuur", "fin_factuur_key = " + fin_key, fields);
|
||||
oRs = Oracle.Execute(finUpd.sql);
|
||||
if (finUpd.trackarray.length)
|
||||
{
|
||||
fin.trackfactuurupdate(fin_key, L("lcl_fin_is_finupdtrack").format(fin_key) + "\n" + finUpd.trackarray.join("\n"));
|
||||
}
|
||||
|
||||
// Status naar Afgewezen(1).
|
||||
var sql = "UPDATE fin_factuur"
|
||||
+ " SET fin_factuur_statuses_key = 1"
|
||||
+ " WHERE fin_factuur_key = " + fin_key
|
||||
+ " AND (mld_opdr_key IS NOT NULL OR cnt_contract_key IS NOT NULL OR bes_bestelopdr_key IS NOT NULL)";
|
||||
Oracle.Execute(sql);
|
||||
shared.trackaction(this_fin.canAccept? "FINFNO" : "FINGNO", fin_key);
|
||||
|
||||
var pResult = new HookResult();
|
||||
// Klantspecifieke check functie (hookfunction) voor de invoer.
|
||||
if (!custfunc.fin_postsave(fin_key, pResult))
|
||||
{
|
||||
abort_with_warning(pResult.errmsg);
|
||||
}
|
||||
}
|
||||
else if (jsondata.status == 2 && (this_fin.canUnReject || this_fin.canUnapprove))
|
||||
{ // On-Afwijzen, On-Fiatteren of On-Goedkeuren.
|
||||
// Huidige status opvragen.
|
||||
sql = "SELECT fin_factuur_statuses_key"
|
||||
+ " FROM fin_factuur"
|
||||
+ " WHERE fin_factuur_key = " + fin_key;
|
||||
oRs = Oracle.Execute(sql);
|
||||
var fin_status_old = oRs("fin_factuur_statuses_key").Value;
|
||||
oRs.Close();
|
||||
|
||||
var fields = [ { dbs: "fin_factuur_opmerking_afw", typ: "varchar", val: jsondata.remark, track: L("lcl_fin_remark_reject"), len: 4000} ];
|
||||
|
||||
var finUpd = buildTrackingUpdate("fin_factuur", "fin_factuur_key = " + fin_key, fields);
|
||||
oRs = Oracle.Execute(finUpd.sql);
|
||||
if (finUpd.trackarray.length)
|
||||
{
|
||||
fin.trackfactuurupdate(fin_key, L("lcl_fin_is_finupdtrack").format(fin_key) + "\n" + finUpd.trackarray.join("\n"));
|
||||
}
|
||||
|
||||
// Status terugzetten naar Ingevoerd(2).
|
||||
sql = "UPDATE fin_factuur"
|
||||
+ " SET fin_factuur_statuses_key = 2"
|
||||
+ " WHERE fin_factuur_key = " + fin_key
|
||||
+ " AND (mld_opdr_key IS NOT NULL OR cnt_contract_key IS NOT NULL OR bes_bestelopdr_key IS NOT NULL)";
|
||||
Oracle.Execute(sql);
|
||||
|
||||
shared.trackaction((fin_status_old == 5? "FINGUN" : "FINFUN"), fin_key); // Vanuit status Afgewezen(1) en Akkoord(6) FINFUN en vanuit status Ter Goedkeuring(5) FINGUN.
|
||||
}
|
||||
else if (jsondata.status == 5 && this_fin.canAccept)
|
||||
{ // Fiatteren.
|
||||
var fin_enable_goedkeuren = S("fin_enable_goedkeuren");
|
||||
var fin_status_new = fin_enable_goedkeuren != 0
|
||||
? "CASE WHEN prs_perslid_key_goedkeur IS NOT NULL THEN 5 ELSE 6 END"
|
||||
: "6";
|
||||
sql = "UPDATE fin_factuur"
|
||||
+ " SET fin_factuur_statuses_key = " + fin_status_new
|
||||
+ " WHERE fin_factuur_key = " + fin_key
|
||||
+ " AND (mld_opdr_key IS NOT NULL OR cnt_contract_key IS NOT NULL OR bes_bestelopdr_key IS NOT NULL)";
|
||||
Oracle.Execute(sql);
|
||||
|
||||
shared.trackaction("FINFOK", fin_key);
|
||||
|
||||
var sql = "SELECT prs_perslid_key_goedkeur"
|
||||
+ " FROM fin_factuur f"
|
||||
+ " WHERE fin_factuur_key = " + fin_key;
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (fin_enable_goedkeuren != 0 && oRs("prs_perslid_key_goedkeur").Value > 0)
|
||||
{ // Factuur is naar status Ter goedkeuring(5) gegaan.
|
||||
// Notificatie aan de goedkeurder.
|
||||
fin.sendNeedApprovalNotification(fin_key, oRs("prs_perslid_key_goedkeur").Value);
|
||||
}
|
||||
//else // Factuur is naar status Akkoord(6) gegaan.
|
||||
oRs.Close();
|
||||
}
|
||||
else if (jsondata.status == 6 && this_fin.canGoedkeur)
|
||||
{ // Fiatteren.
|
||||
var sql = "UPDATE fin_factuur"
|
||||
+ " SET fin_factuur_statuses_key = 6"
|
||||
+ " WHERE fin_factuur_key = " + fin_key
|
||||
+ " AND (mld_opdr_key IS NOT NULL OR cnt_contract_key IS NOT NULL OR bes_bestelopdr_key IS NOT NULL)";
|
||||
Oracle.Execute(sql);
|
||||
|
||||
shared.trackaction("FINGOE", fin_key);
|
||||
|
||||
var pResult = new HookResult();
|
||||
// Klantspecifieke check functie (hookfunction) voor de invoer
|
||||
if (!custfunc.fin_postsave(fin_key, pResult))
|
||||
{
|
||||
abort_with_warning(pResult.errmsg);
|
||||
}
|
||||
}
|
||||
else
|
||||
// update nog tracken
|
||||
if (fin_key > 0)
|
||||
{
|
||||
var dbfields = api2.update_fields(params, this, jsondata); // Build updater
|
||||
_analyze_fields(dbfields, params, jsondata);
|
||||
_validate_fields(dbfields, params, jsondata);
|
||||
|
||||
var wheres = [" fin_factuur_key = " + fin_key];
|
||||
var finUpd = buildTrackingUpdate("fin_factuur", wheres.join(" AND " ), dbfields, { noValidateToken: true });
|
||||
var err = Oracle.Execute(finUpd.sql, true);
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
|
||||
var fintrack = api2.process_includes(params, this, jsondata, the_key);
|
||||
|
||||
// update nog tracken
|
||||
if (fin_key > 0)
|
||||
{
|
||||
fin.trackfactuurupdate(fin_key, L("lcl_fin_is_finupdtrack").format(fin_key) + (finUpd.trackarray.length > 0? "\n" : "") + finUpd.trackarray.join("\n"));
|
||||
};
|
||||
}
|
||||
fin.trackfactuurupdate(fin_key, L("lcl_fin_is_finupdtrack").format(fin_key) + (finUpd.trackarray.length > 0? "\n" : "") + finUpd.trackarray.join("\n"));
|
||||
};
|
||||
|
||||
return { key: fin_key };
|
||||
};
|
||||
@@ -331,7 +206,9 @@ function model_invoices(fin_key, params)
|
||||
var finIns = buildInsert("fin_factuur", dbfields, { noValidateToken: true} );
|
||||
var factuur_key = finIns.sequences["fin_factuur_key"];
|
||||
|
||||
var err = Oracle.Execute(finIns.sql, true);
|
||||
var sql = finIns.sql;
|
||||
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
|
||||
@@ -341,7 +218,9 @@ function model_invoices(fin_key, params)
|
||||
shared.trackaction("FINNEW", factuur_key);
|
||||
|
||||
// factuurmatching
|
||||
var sql_fm = "BEGIN fin.autoapprovefactuur(" + factuur_key + "); END;";
|
||||
var sql_fm = "BEGIN"
|
||||
+ " fin.autoapprovefactuur(" + factuur_key + ");"
|
||||
+ " END;";
|
||||
Oracle.Execute(sql_fm);
|
||||
|
||||
return { key: factuur_key };
|
||||
@@ -362,7 +241,7 @@ function model_invoices(fin_key, params)
|
||||
+ " AND fin_factuur_key = " + factuur_key;
|
||||
oRs = Oracle.Execute(sql);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
if (fin_key > 0)
|
||||
{
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user