Compare commits
15 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 80792b1cc5 | |||
|
|
e19ecee669 | ||
|
|
4e5fcc0f79 | ||
|
|
f6952b9b79 | ||
|
|
8877559b2a | ||
|
|
33000d92a3 | ||
|
|
6bd3dd6577 | ||
|
|
4f655adc29 | ||
|
|
43c1c71a97 | ||
|
|
153065c47c | ||
|
|
330258b994 | ||
| 00bc9ae677 | |||
| 3bff33c4a8 | |||
|
|
30634d82b0 | ||
|
|
b926422969 |
2
APPL/.gitignore
vendored
2
APPL/.gitignore
vendored
@@ -1,2 +0,0 @@
|
||||
/.vscode
|
||||
.vs
|
||||
@@ -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;
|
||||
@@ -478,7 +484,7 @@ alg = {
|
||||
if (!oRs.eof)
|
||||
{
|
||||
multiflex = true;
|
||||
v_flexParams.flexlabel = L("lcl_flexlist_alg_" + p_niveau.toLowerCase());
|
||||
v_flexParams.flexlabel = L("lcl_flexlist_alg_b");
|
||||
while (!oRs.eof)
|
||||
{
|
||||
if (oRs("alg_kenmerk_kenmerktype").Value == "M")
|
||||
@@ -492,7 +498,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;
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
);
|
||||
|
||||
@@ -240,7 +240,6 @@ else
|
||||
, { label: L("lcl_calendar")
|
||||
, initKey: kalender_id
|
||||
, emptyOption: ""
|
||||
, emptyKey: ""
|
||||
, readonly: !this_alg.writeman
|
||||
}
|
||||
);
|
||||
|
||||
@@ -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">
|
||||
<%
|
||||
|
||||
@@ -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,12 @@ 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: "mld_vrije_dagen_id", typ: "varchar", frm: "cal_id", track: L("lcl_calendar")});
|
||||
|
||||
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(); %>
|
||||
|
||||
@@ -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 "
|
||||
|
||||
@@ -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,6 +19,7 @@ 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);
|
||||
@@ -41,19 +42,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 +141,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 +159,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 +220,11 @@ 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 = [];
|
||||
var adButton = [];
|
||||
if (canAdd)
|
||||
{
|
||||
buttons.push({ icon: "fa-plus", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + safe.jsstring(L("lcl_add")) + "')" });
|
||||
addButton.push({ icon: "fa-plus", title: L("lcl_add"), action: "FcltMgr.openDetail('" + addurl + "', '" + safe.jsstring(L("lcl_add")) + "')" });
|
||||
}
|
||||
buttons.push({ icon: "fa-columns", title: L("lcl_scf_columns"), action: "openColumns()"});
|
||||
|
||||
/**********************************
|
||||
* Callback functies ResultsetTable
|
||||
@@ -353,7 +318,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,7 +327,7 @@ function ruimte_list(pautfunction, params)
|
||||
flexId: "alg_ruimte_key",
|
||||
flexParams: fnrowFlexParams,
|
||||
filterParams: params,
|
||||
buttons: buttons,
|
||||
buttons: addButton,
|
||||
roundtripCode: (canImport ? "ONRGOED2" : "")
|
||||
});
|
||||
|
||||
@@ -392,25 +356,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" });
|
||||
|
||||
@@ -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(); %>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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,36 +198,16 @@ 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)
|
||||
function checkSubject(xmlParameters)
|
||||
{
|
||||
var subjectResult = { success: true };
|
||||
if (emlSetting == null)
|
||||
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)
|
||||
{
|
||||
// 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;
|
||||
senderResult = ( v_subject_undeliverable ? S("mail_subject_undeliverable") : S("mail_subject_ignore"));
|
||||
}
|
||||
return subjectResult;
|
||||
return senderResult;
|
||||
}
|
||||
|
||||
function setPath(attachpath)
|
||||
@@ -250,23 +230,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 +251,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 +269,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 +301,11 @@ 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;
|
||||
result.silentignoreemail = checkSubject(xmlParameters);
|
||||
}
|
||||
oRs.Close();
|
||||
return result;
|
||||
@@ -373,11 +327,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 +430,6 @@ function emailAction(emlSetting, xmlParam, resultParam)
|
||||
return result;
|
||||
}
|
||||
|
||||
//
|
||||
function checkAttach(xmlReq, xmlParameter, emlSetting)
|
||||
{
|
||||
var requiredFound = false;
|
||||
@@ -497,14 +450,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 +463,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,7 +677,7 @@ 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)
|
||||
{
|
||||
|
||||
@@ -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)
|
||||
@@ -1239,10 +1236,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 +1454,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
|
||||
{
|
||||
|
||||
@@ -89,7 +89,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 +146,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 +157,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 = "";
|
||||
@@ -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") + ";"
|
||||
@@ -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,8 +104,7 @@ 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",
|
||||
@@ -125,14 +114,12 @@ function model_alg_kenmerk(niveau, params)
|
||||
{
|
||||
"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"),
|
||||
"label": (niveau == "G"? L("mgt_kenmerk_systeem_overview_bui") : ""),
|
||||
"mask": 1,
|
||||
"defaultvalue": 0
|
||||
}
|
||||
@@ -186,9 +173,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,7 +204,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?
|
||||
if (niveau == "G")
|
||||
{
|
||||
this.fields.inlist.bits[0].mask = 3;
|
||||
this.fields.inlist.bits[0].radios.push({ "name": "start",
|
||||
@@ -237,7 +224,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 +236,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,7 +126,6 @@ function model_bes_kenmerkbestel()
|
||||
{
|
||||
"name": "",
|
||||
"label": "",
|
||||
"showasgroup": false,
|
||||
"typ": "check",
|
||||
"mask": 7,
|
||||
"radios": [
|
||||
@@ -180,19 +170,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")
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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,24 +171,6 @@ 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
|
||||
fld.authorizationgroup.readonly = true;
|
||||
fld.person.readonly = true;
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -216,7 +216,7 @@ function model_generic(table, autfunction)
|
||||
|
||||
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?
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -49,16 +49,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,14 +101,6 @@ 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"),
|
||||
@@ -166,16 +154,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 +168,7 @@ function model_ins_kenmerk(niveau, params)
|
||||
}
|
||||
return val;
|
||||
},
|
||||
"emptyoption": L("lcl_mld_niet_verplicht"),
|
||||
"multiedit": true
|
||||
},
|
||||
"requiredstatus": {
|
||||
@@ -192,19 +178,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
|
||||
},
|
||||
@@ -222,20 +201,17 @@ function model_ins_kenmerk(niveau, params)
|
||||
{
|
||||
"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"),
|
||||
"name": "inplan",
|
||||
"label": L("mgt_kenmerk_systeem_overview_obj"),
|
||||
"mask": 1,
|
||||
"defaultvalue": 0
|
||||
},
|
||||
{
|
||||
"name": "listmjob",
|
||||
//"label": L("mgt_kenmerk_systeem_overview_mjob") + " " + L("mgt_kenmerk_systeem_overview"),
|
||||
"name": "start",
|
||||
"label": L("mgt_kenmerk_systeem_overview_mjob"),
|
||||
"mask": 2,
|
||||
"defaultvalue": 0
|
||||
@@ -260,6 +236,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 +265,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",
|
||||
@@ -343,22 +324,6 @@ function model_ins_kenmerk(niveau, params)
|
||||
, "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
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
else
|
||||
{ //kenmerk_niveau: D | G | S
|
||||
@@ -373,7 +338,25 @@ function model_ins_kenmerk(niveau, params)
|
||||
]
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
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);
|
||||
|
||||
@@ -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")
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -79,7 +79,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)
|
||||
{
|
||||
|
||||
@@ -780,19 +780,6 @@ function model_issues(mld_key, params)
|
||||
if (!jsondata.treatmentteam)
|
||||
jsondata.treatmentteam = stdm_info.default_ins_disc_key;
|
||||
|
||||
if (!jsondata.subject && stdm_info.subject == 3 && (S("ai_enabled") & 1)) { // AI generate the subject
|
||||
var omschrijving = shared.stripbbcodes(jsondata.description || "");
|
||||
var result = shared.promptAI(omschrijving, { "instructions": L("lcl_mld_ai_subject_instructions").format(stdm_info.mld_stdmelding_omschrijving) });
|
||||
if (result.success) {
|
||||
jsondata.subject = result.content;
|
||||
this.fields["subject_ai"] = { dbs: "mld_melding_onderwerp_ai", typ: "varchar", val: jsondata.subject, len: 200 };
|
||||
} else {
|
||||
if (result.warning) {
|
||||
__DoLog(result.warning, "#FF0000");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
if (!jsondata.contact) jsondata.contact = user_key; // Als er geen aanvrager opgegeven is, dan de huidige gebruiker invullen.
|
||||
// Als de setting niet is gezet is "Melding voor" gelijk aan contactpersoon.
|
||||
@@ -837,7 +824,7 @@ function model_issues(mld_key, params)
|
||||
mld.nextworkflowstep(new_key, -1); // -1 = initial (the originating call)
|
||||
|
||||
// Controleer of er automatisch een opdracht aangemaakt moet worden.
|
||||
var sql = "BEGIN mld.mld_addautoorder(" + new_key + "); END;"; // Notificeert eventueel ook de ORDNEW naar uitvoerende
|
||||
var sql = "BEGIN mld.mld_addautoorder(" + new_key + "); END;"
|
||||
Oracle.Execute(sql);
|
||||
|
||||
return { key: new_key };
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: model_issues_mini.inc
|
||||
|
||||
Description: Melding mini model
|
||||
Parameters:
|
||||
Context: Minimaal aantal velden. Puur voor 'include' bij model_mld_opdr.inc
|
||||
|
||||
Notes:
|
||||
*/
|
||||
|
||||
%>
|
||||
<%
|
||||
|
||||
function model_issues_mini(mld_key)
|
||||
{
|
||||
this.module = "MLD";
|
||||
this.table = "mld_melding";
|
||||
this.primary = "mld_melding_key";
|
||||
this.records_name = "issues";
|
||||
this.record_name = "issue";
|
||||
this.fields =
|
||||
{
|
||||
"id" : { dbs: "mld_melding_key", typ: "key" },
|
||||
"contact" : { dbs: "prs_perslid_key", typ: "key", foreign: "prs_perslid", label: L("lcl_mld_name") },
|
||||
"location" : { dbs: "mld_alg_locatie_key", typ: "key", foreign: "alg_locatie", label: L("lcl_location") },
|
||||
"building" : { dbs: "alg_v_allonroerendgoed.alg_gebouw_key", typ: "key", foreign: "alg_gebouw", label: L("lcl_building") },
|
||||
"floor" : { dbs: "alg_v_allonroerendgoed.alg_verdieping_key", typ: "key", foreign: "alg_verdieping", label: L("lcl_floor") },
|
||||
"room" : { dbs: "alg_v_allonroerendgoed.alg_ruimte_key", typ: "key", foreign: "alg_ruimte", label: L("lcl_room") },
|
||||
"terrain" : { dbs: "alg_v_allonroerendgoed.alg_terreinsector_key", typ: "key", foreign: "alg_terreinsector", label: L("lcl_room") }
|
||||
};
|
||||
}
|
||||
%>
|
||||
@@ -41,7 +41,6 @@ function model_alg_locatie()
|
||||
"mjb_score" : { dbs: "alg_locatie_mjb_score1" , typ: "number" , "label": L("lcl_alg_locatie_mjb_score1")},
|
||||
"coordinate_x" : { dbs: "alg_locatie_x" , typ: "number" , "label": L("lcl_geoxcoord")},
|
||||
"coordinate_y" : { dbs: "alg_locatie_y" , typ: "number" , "label": L("lcl_geoycoord")},
|
||||
"expires" : { dbs: "alg_locatie_vervaldatum" , typ: "date" , "label": L("lcl_alg_vervaldatum")},
|
||||
"externnr" : { dbs: "alg_locatie_externnr" , typ: "varchar" , "label": L("extern_nr"), "readonly": !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR")) },
|
||||
"externsyncdate": { dbs: "alg_locatie_externsyncdate" , typ: "datetime" , "label": L("extern_syncdate"), "readonly": !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR")) },
|
||||
"seqnr" : { dbs: "alg_locatie_volgnr" , typ: "number" , "label": L("lcl_alg_locatie_volgnr") },
|
||||
@@ -62,8 +61,6 @@ function model_alg_locatie()
|
||||
switch (method)
|
||||
{
|
||||
case "GET":
|
||||
var autfunction = ["WEB_ALGUSE","WEB_ALGMAN"];
|
||||
params.authparams = user.checkAutorisation(autfunction, null, null, true); // pessimistisch
|
||||
if (params.filter.id)
|
||||
{
|
||||
var loc_key = params.filter.id;
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
*/
|
||||
%>
|
||||
<!-- #include file="model_mld_disc_params.inc" -->
|
||||
<!-- #include file="model_mld_discipline_discipline.inc" -->
|
||||
<!-- #include file="../mgt/mgt.inc"-->
|
||||
<%
|
||||
function model_mld_discipline(disc_key, params)
|
||||
@@ -20,6 +19,11 @@ function model_mld_discipline(disc_key, params)
|
||||
// E<>n model voor de buitenwereld
|
||||
api2.merge_disc_params_model(this, _model_mld_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);
|
||||
@@ -153,25 +157,6 @@ _model_mld_discipline = // Internal only
|
||||
"disc_params": {
|
||||
"model": model_mld_disc_params,
|
||||
"joinfield": "issuediscipline"
|
||||
},
|
||||
|
||||
"includes": {
|
||||
"disciplines1": {
|
||||
"model": new model_mld_discipline_discipline(),
|
||||
"joinfield": "discipline1",
|
||||
"label": L("mld_discipline_discipline_m"),
|
||||
"enable_update": true,
|
||||
"multiadd": "discipline2",
|
||||
"notransport": true // te ingewikkeld
|
||||
},
|
||||
"disciplines2": {
|
||||
"model": new model_mld_discipline_discipline(),
|
||||
"joinfield": "discipline2",
|
||||
"label": L("mld_discipline_discipline_m2"),
|
||||
"enable_update": "true",
|
||||
"multiadd": "discipline1",
|
||||
"notransport": true
|
||||
}
|
||||
}
|
||||
}
|
||||
%>
|
||||
@@ -12,7 +12,7 @@
|
||||
*/
|
||||
%>
|
||||
<%
|
||||
function model_mld_discipline_discipline()
|
||||
function model_mld_discipline_discipline(functie, params)
|
||||
{
|
||||
this.records_name = "issuediscdisciplines";
|
||||
this.record_name = "issuediscdiscipline";
|
||||
@@ -35,57 +35,74 @@ function model_mld_discipline_discipline()
|
||||
"label": L("lcl_mld_vakgroep"),
|
||||
"typ": "key",
|
||||
"required": true,
|
||||
"insertonly": true,
|
||||
"foreign": {
|
||||
"tbl": "(SELECT ins_discipline_key, isd.ins_srtdiscipline_omschrijving || ' - ' || ins_discipline_omschrijving AS ins_discipline_omschrijving"
|
||||
+ " FROM ins_srtdiscipline isd, ins_tab_discipline td, mld_disc_params dp"
|
||||
+ " WHERE isd.ins_srtdiscipline_key = td.ins_srtdiscipline_key"
|
||||
+ " AND td.ins_discipline_key = dp.mld_ins_discipline_key"
|
||||
+ " AND BITAND(dp.mld_disc_params_srtgroep, 5) = 5)", // 1+4 primair+kan behandelen
|
||||
"tbl": "(SELECT ins_discipline_key, ins_discipline_omschrijving"
|
||||
+ " FROM ins_tab_discipline td, mld_disc_params dp"
|
||||
+ " WHERE td.ins_discipline_key = dp.mld_ins_discipline_key"
|
||||
+ (params.disc > -1 ? " and td.ins_discipline_key = " + params.disc : "")
|
||||
+ " AND BITAND(dp.mld_disc_params_srtgroep, 5) = 5)",
|
||||
"key": "ins_discipline_key",
|
||||
"desc": "ins_discipline_omschrijving"
|
||||
},
|
||||
"uniquewith": "discipline2"
|
||||
}
|
||||
},
|
||||
"discipline2": {
|
||||
"dbs": "mld_discipline_key2",
|
||||
"label": L("mld_processing_group"),
|
||||
"typ": "key",
|
||||
"required": true,
|
||||
"insertonly": true,
|
||||
"foreign": {
|
||||
"tbl": "(SELECT ins_discipline_key, ins_discipline_omschrijving || ' (' || ins_srtdiscipline_omschrijving || ')' AS ins_discipline_omschrijving"
|
||||
+ " FROM ins_srtdiscipline isd, ins_tab_discipline td, mld_disc_params dp"
|
||||
+ " WHERE isd.ins_srtdiscipline_key = td.ins_srtdiscipline_key"
|
||||
+ " AND td.ins_discipline_key = dp.mld_ins_discipline_key"
|
||||
"tbl": "(SELECT ins_discipline_key, ins_discipline_omschrijving"
|
||||
+ " FROM ins_tab_discipline td, mld_disc_params dp"
|
||||
+ " WHERE ins_discipline_key = mld_ins_discipline_key"
|
||||
+ (mode == "edit" ? " AND ins_discipline_key NOT IN (select mld_discipline_key2 from mld_discipline_discipline where mld_discipline_key1 = " + params.disc + ")" : "")
|
||||
+ " AND BITAND(mld_disc_params_srtgroep, 2) = 2)",
|
||||
"key": "ins_discipline_key",
|
||||
"desc": "ins_discipline_omschrijving",
|
||||
"multiselect": true
|
||||
},
|
||||
"uniquewith": "discipline1"
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
this.list = {
|
||||
"columns": [
|
||||
"id",
|
||||
"discipline1",
|
||||
"discipline2"
|
||||
],
|
||||
"orderby": [
|
||||
"discipline1",
|
||||
"discipline2"
|
||||
]
|
||||
};
|
||||
this.hook_post_post = function (params, jsondata, key)
|
||||
{
|
||||
var nextdata = { id:-1, discipline1:jsondata.discipline1 };
|
||||
for (var i=1; i<jsondata.discipline2.length;i++)
|
||||
{
|
||||
nextdata.discipline2 = jsondata.discipline2[i];
|
||||
var restresult = this.REST_POST(params, nextdata);
|
||||
}
|
||||
}
|
||||
|
||||
this.edit = {
|
||||
modal: true
|
||||
};
|
||||
this.hook_pre_edit = function (obj, fld)
|
||||
{
|
||||
if (mode == "edit" && !add)
|
||||
{
|
||||
this.fields.discipline1.readonly = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
setTimeout(function() {
|
||||
var discipline1 = document.getElementById("discipline1");
|
||||
if (discipline1 && discipline1.length) {
|
||||
discipline1.style.display = "none";
|
||||
var selected = discipline1.options[discipline1.selectedIndex];
|
||||
var span = document.createElement("span");
|
||||
span.setAttribute('title', 'Key: ' + selected.value);
|
||||
span.setAttribute('class', 'fld');
|
||||
span.innerHTML = selected.text;
|
||||
discipline1.after(span);
|
||||
}
|
||||
}, 250);
|
||||
</script>
|
||||
<%
|
||||
}
|
||||
}
|
||||
|
||||
this.REST_GET = generic_REST_GET(this);
|
||||
this.REST_GET = generic_REST_GET(this, { GET: { wheres: (params.disc > -1 ? [" mld_discipline_key1 = " + params.disc] : []) } });
|
||||
this.REST_POST = generic_REST_POST(this);
|
||||
this.REST_PUT = generic_REST_PUT(this);
|
||||
//this.REST_PUT = generic_REST_PUT(this);
|
||||
this.REST_DELETE = generic_REST_DELETE(this);
|
||||
}
|
||||
%>
|
||||
@@ -91,14 +91,6 @@ function model_mld_kenmerk(niveau, params)
|
||||
"dbs": "mld_kenmerk_volgnummer",
|
||||
"label": L("mgt_kenmerk_volgnummer"),
|
||||
"typ": "number",
|
||||
"len": 3,
|
||||
"required": true
|
||||
},
|
||||
"rolecode": {
|
||||
"dbs": "mld_kenmerk_rolcode",
|
||||
"label": L("mgt_kenmerk_rolcode"),
|
||||
"typ": "number",
|
||||
"LOV": buildKenmerkRoleCodeLOV({ module: (isOpdrachtKenmerk ? "OPD" : "MLD") }),
|
||||
"required": true
|
||||
},
|
||||
"group": {
|
||||
@@ -114,7 +106,6 @@ function model_mld_kenmerk(niveau, params)
|
||||
"label": L("mgt_kenmerk_verplicht"),
|
||||
"typ": "key",
|
||||
"LOV": buildVerplichtingList(),
|
||||
"emptyisrealvalue": true,
|
||||
"emptyoption": null
|
||||
},
|
||||
"requiredstatus": {
|
||||
@@ -129,11 +120,11 @@ function model_mld_kenmerk(niveau, params)
|
||||
"label": (isOpdrachtKenmerk ? L("mgt_kenmerk_toonbaar") : L("lcl_mld_kenmerk_readonly") ),
|
||||
"typ": "check"
|
||||
},
|
||||
"code": {
|
||||
"dbs": "mld_kenmerk_code",
|
||||
"label": L("mgt_kenmerk_code"),
|
||||
"typ": "varchar",
|
||||
"readonly": !user.has("WEB_PRSSYS")
|
||||
"inlist": {
|
||||
"dbs": "mld_kenmerk_inlijst",
|
||||
"label": L("mgt_kenmerk_systeem_overview"),
|
||||
"typ": "check0",
|
||||
"multiedit": true
|
||||
},
|
||||
"clear": {
|
||||
"dbs": "mld_kenmerk_wissen",
|
||||
@@ -143,7 +134,6 @@ function model_mld_kenmerk(niveau, params)
|
||||
{
|
||||
"name": "",
|
||||
"label": "",
|
||||
"showasgroup": false,
|
||||
"typ": "check",
|
||||
"mask": 0, // Afhankelijk van mld/opdr en setting: wordt straks gezet.
|
||||
"radios": [] // Afhankelijk van mld/opdr en setting: wordt straks toegevoegd.
|
||||
@@ -206,7 +196,7 @@ function model_mld_kenmerk(niveau, params)
|
||||
fields_main.clear.bits[0].mask = 1;
|
||||
fields_main.clear.bits[0].radios.push(
|
||||
{"name": "copy_on",
|
||||
"label": L("mld_kenmerk_wissen_label") + " " + L("opd_kenmerk_wissen_copy_on"),
|
||||
"label": L("opd_kenmerk_wissen_copy_on"),
|
||||
"mask": 1,
|
||||
"defaultvalue": 1
|
||||
});
|
||||
@@ -216,13 +206,13 @@ function model_mld_kenmerk(niveau, params)
|
||||
fields_main.clear.bits[0].mask = 3;
|
||||
fields_main.clear.bits[0].radios.push(
|
||||
{"name": "copy_on",
|
||||
"label": L("mld_kenmerk_wissen_label") + " " + L("mld_kenmerk_wissen_copy_on"),
|
||||
"label": L("mld_kenmerk_wissen_copy_on"),
|
||||
"mask": 1,
|
||||
"defaultvalue": 1
|
||||
});
|
||||
fields_main.clear.bits[0].radios.push(
|
||||
{"name": "fwd_on",
|
||||
"label": L("mld_kenmerk_wissen_label") + " " + L("mld_kenmerk_wissen_fwd_on"),
|
||||
"label": L("mld_kenmerk_wissen_fwd_on"),
|
||||
"mask": 2,
|
||||
"defaultvalue": 1
|
||||
});
|
||||
@@ -258,6 +248,12 @@ function model_mld_kenmerk(niveau, params)
|
||||
"insertonly": !is_clone,
|
||||
"LOV": buildKenmerktypeLOV(null, { module: "MLD" })
|
||||
},
|
||||
"code": {
|
||||
"dbs": "mld_kenmerk_code",
|
||||
"label": L("lcl_mld_code"),
|
||||
"typ": "varchar",
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
},
|
||||
"disciplinetype": {
|
||||
"dbs": "view_mld_kenmerk.ins_srtdiscipline_key", //"mld_discipline.ins_srtdiscipline_key",
|
||||
"label": L("lcl_mld_vakgroeptype"),
|
||||
@@ -293,34 +289,6 @@ function model_mld_kenmerk(niveau, params)
|
||||
"showtransit": true,
|
||||
"insertonly": !is_clone,
|
||||
"search": false
|
||||
},
|
||||
"inlist": {
|
||||
"dbs": "mld_kenmerk_inlijst",
|
||||
"label": L("lcl_mld_kenmerk_visibility"),
|
||||
"typ": "key",
|
||||
"bits": [
|
||||
{
|
||||
"name": "",
|
||||
"label": "",
|
||||
"typ": "check",
|
||||
"mask": 3,
|
||||
"radios": [
|
||||
{
|
||||
"name": "in_list",
|
||||
"label": L("mgt_kenmerk_systeem_overview"),
|
||||
"mask": 1,
|
||||
"defaultvalue": 0
|
||||
},
|
||||
{
|
||||
"name": "in_bord",
|
||||
"label": L("lcl_mld_kenmerk_in_bord"),
|
||||
"mask": 2,
|
||||
"defaultvalue": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"multiedit": true
|
||||
}
|
||||
};
|
||||
|
||||
@@ -353,12 +321,6 @@ function model_mld_kenmerk(niveau, params)
|
||||
"typ": "key",
|
||||
"LOV": buildHltPropList(),
|
||||
"emptyoption": null
|
||||
},
|
||||
"inlist": {
|
||||
"dbs": "mld_kenmerk_inlijst",
|
||||
"label": L("mgt_kenmerk_systeem_overview"),
|
||||
"typ": "check0",
|
||||
"multiedit": true
|
||||
}
|
||||
};
|
||||
|
||||
@@ -404,7 +366,7 @@ function model_mld_kenmerk(niveau, params)
|
||||
function get_issuepropertytype_srttype(obj)
|
||||
{
|
||||
var issuepropertytype = getQParamInt("issuepropertytype", ( (obj.issuepropertytype && obj.issuepropertytype.id) ? obj.issuepropertytype.id : -1));
|
||||
var mld_opdr_readonly = (isOpdrachtKenmerk ? L("mgt_kenmerk_toonbaar") : L("lcl_mld_kenmerk_readonly"));
|
||||
var mld_opdr_readonly = (isOpdrachtKenmerk ? L("mgt_kenmerk_toonbaar") : L("lcl_mld_kenmerk_readonly") );
|
||||
var result = { lbl_default: L("mgt_kenmerk_default")
|
||||
, lbl_readonly: mld_opdr_readonly
|
||||
};
|
||||
@@ -414,11 +376,9 @@ function model_mld_kenmerk(niveau, params)
|
||||
+ " FROM mld_srtkenmerk"
|
||||
+ " WHERE mld_srtkenmerk_key = " + issuepropertytype;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.eof) {
|
||||
result.ktype = oRs("mld_srtkenmerk_kenmerktype").Value;
|
||||
result.lbl_default = (result.ktype == "l" || result.ktype == "b" ? L("mgt_kenmerk_icon") : L("mgt_kenmerk_default"));
|
||||
result.lbl_readonly = (result.ktype == "l" || result.ktype == "b" ? L("mgt_kenmerk_collapsed") : mld_opdr_readonly);
|
||||
}
|
||||
if (!oRs.eof)
|
||||
result.lbl_default = (oRs("mld_srtkenmerk_kenmerktype").Value == "l" || oRs("mld_srtkenmerk_kenmerktype").Value == "b"? L("mgt_kenmerk_icon") : L("mgt_kenmerk_default"));
|
||||
result.lbl_readonly = (oRs("mld_srtkenmerk_kenmerktype").Value == "l" || oRs("mld_srtkenmerk_kenmerktype").Value == "b"? L("mgt_kenmerk_collapsed") : mld_opdr_readonly);
|
||||
oRs.Close();
|
||||
}
|
||||
return result;
|
||||
@@ -455,13 +415,6 @@ function model_mld_kenmerk(niveau, params)
|
||||
var srttype = get_issuepropertytype_srttype(obj);
|
||||
fld["default"].label = srttype.lbl_default;
|
||||
fld["readonly"].label = srttype.lbl_readonly;
|
||||
if (obj.id > 0 && !isOpdrachtKenmerk) { // Nieuwe kenmerken togglen zelf via clientside code
|
||||
if (srttype.ktype && inArray(srttype.ktype, ['R', 'r', 'S'])) {
|
||||
// Alles staat al goed
|
||||
} else {
|
||||
fld.inlist.bits[0].radios.splice(1, 1);
|
||||
}
|
||||
}
|
||||
|
||||
if (obj.attributetype && (obj.attributetype.id == "b" || obj.attributetype.id == "l"))
|
||||
fld["default"].typ = "icon";
|
||||
@@ -502,13 +455,6 @@ function model_mld_kenmerk(niveau, params)
|
||||
var srttype = get_issuepropertytype_srttype(obj);
|
||||
fld["default"].label = srttype.lbl_default;
|
||||
fld["readonly"].label = srttype.lbl_readonly;
|
||||
if (!isOpdrachtKenmerk) {
|
||||
if (srttype.ktype && inArray(srttype.ktype, ['R', 'r', 'S'])) {
|
||||
// Alles staat al goed
|
||||
} else {
|
||||
fld.inlist.bits[0].radios.splice(1, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.hook_pre_post = function (params, obj)
|
||||
@@ -519,134 +465,94 @@ function model_mld_kenmerk(niveau, params)
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var kenmerktype = oRs("mld_srtkenmerk_kenmerktype").Value;
|
||||
oRs.Close();
|
||||
if (kenmerktype != "b") {
|
||||
if (kenmerktype != "b")
|
||||
{
|
||||
obj.treatmentteam = null;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
//this.REST_GET = generic_REST_GET(this, gparams);
|
||||
this.REST_GET = function (params)
|
||||
var gparams = {"GET": {}};
|
||||
if (isOpdrachtKenmerk)
|
||||
{
|
||||
var gparams = {"GET": {}};
|
||||
if (isOpdrachtKenmerk)
|
||||
{
|
||||
gparams.GET = { wheres: [ "mld_kenmerk.mld_kenmerk_niveau IN ('P', 'O')" ] };
|
||||
}
|
||||
else
|
||||
{
|
||||
var sql_kenmerk = "SELECT mkm.mld_kenmerk_key"
|
||||
+ " , mkm.mld_kenmerk_omschrijving"
|
||||
+ " , msk.mld_srtkenmerk_key"
|
||||
+ " , msk.mld_srtkenmerk_kenmerktype"
|
||||
+ " , msk.mld_srtkenmerk_omschrijving"
|
||||
+ " , s.mld_kenmerk_niveau"
|
||||
+ " , s.ref_mld_stdmelding_key"
|
||||
+ " , s.mld_stdmelding_key mld_mld_stdmelding_key"
|
||||
+ " , s.mld_stdmelding_omschrijving"
|
||||
+ " , s.ins_discipline_key discipline"
|
||||
+ " , s.ins_srtdiscipline_key"
|
||||
+ " , aantal"
|
||||
+ " , aantal365"
|
||||
+ " FROM mld_kenmerk mkm"
|
||||
+ " , mld_srtkenmerk msk"
|
||||
+ " , (SELECT 'S' mld_kenmerk_niveau"
|
||||
+ " , mld_stdmelding_key ref_mld_stdmelding_key"
|
||||
+ " , mld_stdmelding_key"
|
||||
+ " , mld_stdmelding_omschrijving"
|
||||
+ " , ins_discipline_key"
|
||||
+ " , m2.ins_srtdiscipline_key"
|
||||
+ " FROM mld_stdmelding md"
|
||||
+ " , mld_discipline m2"
|
||||
+ " WHERE md.mld_ins_discipline_key = m2.ins_discipline_key"
|
||||
+ " AND mld_stdmelding_verwijder IS NULL"
|
||||
+ " AND ins_discipline_verwijder IS NULL"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT 'D' mld_kenmerk_niveau"
|
||||
+ " , ins_discipline_key ref_mld_stdmelding_key"
|
||||
+ " , NULL mld_stdmelding_key"
|
||||
+ " , NULL mld_stdmelding_omschrijving"
|
||||
+ " , ins_discipline_key ins_discipline_key"
|
||||
+ " , ins_srtdiscipline_key"
|
||||
+ " FROM mld_discipline m2"
|
||||
+ " WHERE ins_discipline_verwijder IS NULL"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT 'T' mld_kenmerk_niveau"
|
||||
+ " , ins_srtdiscipline_key ref_mld_stdmelding_key"
|
||||
+ " , NULL mld_stdmelding_key"
|
||||
+ " , NULL mld_stdmelding_omschrijving"
|
||||
+ " , NULL ins_discipline_key"
|
||||
+ " , ins_srtdiscipline_key"
|
||||
+ " FROM ins_srtdiscipline m2"
|
||||
+ " UNION"
|
||||
+ " SELECT 'A' mld_kenmerk_niveau"
|
||||
+ " , NULL ref_mld_stdmelding_key"
|
||||
+ " , NULL mld_stdmelding_key"
|
||||
+ " , NULL mld_stdmelding_omschrijving"
|
||||
+ " , NULL ins_discipline_key"
|
||||
+ " , NULL ins_srtdiscipline_key"
|
||||
+ " FROM DUAL"
|
||||
+ " ) s"
|
||||
+ " , (SELECT mld_kenmerk_key"
|
||||
+ " , count(*) aantal"
|
||||
+ " FROM mld_kenmerkmelding"
|
||||
+ " GROUP BY mld_kenmerk_key"
|
||||
+ " ) nn"
|
||||
+ " , (SELECT mld_kenmerk_key"
|
||||
+ " , count(*) aantal365"
|
||||
+ " FROM mld_kenmerkmelding"
|
||||
+ " WHERE mld_kenmerkmelding_aanmaak > SYSDATE - 365"
|
||||
+ " GROUP BY mld_kenmerk_key"
|
||||
+ " ) nn365"
|
||||
+ " WHERE (mkm.mld_stdmelding_key = ref_mld_stdmelding_key OR mkm.mld_stdmelding_key IS NULL)"
|
||||
+ " AND mkm.mld_kenmerk_niveau = s.mld_kenmerk_niveau"
|
||||
+ " AND mkm.mld_srtkenmerk_key = msk.mld_srtkenmerk_key"
|
||||
+ " AND mkm.mld_kenmerk_key = nn.mld_kenmerk_key(+)"
|
||||
+ " AND mkm.mld_kenmerk_key = nn365.mld_kenmerk_key(+)";
|
||||
|
||||
if ("filter" in params && params.filter.level == "N" && params.filter.mld_issuetype > 0)
|
||||
{ // mld_stdmelding_key is bekend en men wil ALLE kenmerken zien die hierbij horen, dus ook van de bovenliggende niveau's.
|
||||
var v_srtd_key = params.filter.disciplinetype;
|
||||
var v_disc_key = params.filter.discipline;
|
||||
var v_stdm_key = params.filter.mld_issuetype;
|
||||
if (!v_srtd_key || !v_disc_key)
|
||||
{ // Via API-endpoint alleen mld_issuetype meegegeven: de overige parameters dan maar zelf ophalen.
|
||||
var sql = "SELECT m.mld_stdmelding_key"
|
||||
+ " , d.ins_discipline_key"
|
||||
+ " , d.ins_srtdiscipline_key"
|
||||
+ " FROM mld_stdmelding m"
|
||||
+ " , mld_discipline d"
|
||||
+ " WHERE m.mld_ins_discipline_key = d.ins_discipline_key"
|
||||
+ " AND m.mld_stdmelding_key = " + v_stdm_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.EOF)
|
||||
{
|
||||
v_stdm_key = oRs("mld_stdmelding_key").Value;
|
||||
v_disc_key = oRs("ins_discipline_key").Value;
|
||||
v_srtd_key = oRs("ins_srtdiscipline_key").Value;
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
sql_kenmerk += " AND ( (s.mld_stdmelding_key = " + v_stdm_key + ")"
|
||||
+ " OR (s.ins_discipline_key = " + v_disc_key + " AND s.mld_stdmelding_key IS NULL)"
|
||||
+ " OR (s.ins_srtdiscipline_key = " + v_srtd_key + " AND s.ins_discipline_key IS NULL)"
|
||||
+ " OR (s.ins_srtdiscipline_key IS NULL)"
|
||||
+ " )";
|
||||
// Op deze key's niet meer filteren in de buitenste where-clause.
|
||||
delete params.filter.disciplinetype;
|
||||
delete params.filter.discipline;
|
||||
delete params.filter.mld_issuetype;
|
||||
delete params.filter.level;
|
||||
}
|
||||
|
||||
gparams.GET = {
|
||||
tables: [ "(" + sql_kenmerk + ") view_mld_kenmerk" ],
|
||||
wheres: [ "mld_kenmerk.mld_kenmerk_key = view_mld_kenmerk.mld_kenmerk_key" ]
|
||||
};
|
||||
}
|
||||
// Verder met de default
|
||||
return generic_REST_GET(this, gparams)(params)
|
||||
gparams.GET = { wheres: [ "mld_kenmerk.mld_kenmerk_niveau IN ('P', 'O')" ] };
|
||||
}
|
||||
else
|
||||
{
|
||||
var sql_kenmerk = "SELECT mkm.mld_kenmerk_key"
|
||||
+ " , mkm.mld_kenmerk_omschrijving"
|
||||
+ " , msk.mld_srtkenmerk_key"
|
||||
+ " , msk.mld_srtkenmerk_kenmerktype"
|
||||
+ " , msk.mld_srtkenmerk_omschrijving"
|
||||
+ " , s.mld_kenmerk_niveau"
|
||||
+ " , s.ref_mld_stdmelding_key"
|
||||
+ " , s.mld_stdmelding_key mld_mld_stdmelding_key"
|
||||
+ " , s.mld_stdmelding_omschrijving"
|
||||
+ " , s.ins_discipline_key discipline"
|
||||
+ " , s.ins_srtdiscipline_key"
|
||||
+ " , aantal"
|
||||
+ " , aantal365"
|
||||
+ " FROM mld_kenmerk mkm"
|
||||
+ " , mld_srtkenmerk msk"
|
||||
+ " , (SELECT 'S' mld_kenmerk_niveau"
|
||||
+ " , mld_stdmelding_key ref_mld_stdmelding_key"
|
||||
+ " , mld_stdmelding_key"
|
||||
+ " , mld_stdmelding_omschrijving"
|
||||
+ " , ins_discipline_key"
|
||||
+ " , m2.ins_srtdiscipline_key"
|
||||
+ " FROM mld_stdmelding md"
|
||||
+ " , mld_discipline m2"
|
||||
+ " WHERE md.mld_ins_discipline_key = m2.ins_discipline_key"
|
||||
+ " AND mld_stdmelding_verwijder IS NULL"
|
||||
+ " AND ins_discipline_verwijder IS NULL"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT 'D' mld_kenmerk_niveau"
|
||||
+ " , ins_discipline_key ref_mld_stdmelding_key"
|
||||
+ " , NULL mld_stdmelding_key"
|
||||
+ " , NULL mld_stdmelding_omschrijving"
|
||||
+ " , ins_discipline_key ins_discipline_key"
|
||||
+ " , ins_srtdiscipline_key"
|
||||
+ " FROM mld_discipline m2"
|
||||
+ " WHERE ins_discipline_verwijder IS NULL"
|
||||
+ " UNION ALL"
|
||||
+ " SELECT 'T' mld_kenmerk_niveau"
|
||||
+ " , ins_srtdiscipline_key ref_mld_stdmelding_key"
|
||||
+ " , NULL mld_stdmelding_key"
|
||||
+ " , NULL mld_stdmelding_omschrijving"
|
||||
+ " , NULL ins_discipline_key"
|
||||
+ " , ins_srtdiscipline_key"
|
||||
+ " FROM ins_srtdiscipline m2"
|
||||
+ " UNION"
|
||||
+ " SELECT 'A' mld_kenmerk_niveau"
|
||||
+ " , NULL ref_mld_stdmelding_key"
|
||||
+ " , NULL mld_stdmelding_key"
|
||||
+ " , NULL mld_stdmelding_omschrijving"
|
||||
+ " , NULL ins_discipline_key"
|
||||
+ " , NULL ins_srtdiscipline_key"
|
||||
+ " FROM DUAL"
|
||||
+ " ) s"
|
||||
+ " , (SELECT mld_kenmerk_key"
|
||||
+ " , count(*) aantal"
|
||||
+ " FROM mld_kenmerkmelding"
|
||||
+ " GROUP BY mld_kenmerk_key"
|
||||
+ " ) nn"
|
||||
+ " , (SELECT mld_kenmerk_key"
|
||||
+ " , count(*) aantal365"
|
||||
+ " FROM mld_kenmerkmelding"
|
||||
+ " WHERE mld_kenmerkmelding_aanmaak > SYSDATE - 365"
|
||||
+ " GROUP BY mld_kenmerk_key"
|
||||
+ " ) nn365"
|
||||
+ " WHERE (mkm.mld_stdmelding_key = ref_mld_stdmelding_key OR mkm.mld_stdmelding_key IS NULL)"
|
||||
+ " AND mkm.mld_kenmerk_niveau = s.mld_kenmerk_niveau"
|
||||
+ " AND mkm.mld_srtkenmerk_key = msk.mld_srtkenmerk_key"
|
||||
+ " AND mkm.mld_kenmerk_key = nn.mld_kenmerk_key(+)"
|
||||
+ " AND mkm.mld_kenmerk_key = nn365.mld_kenmerk_key(+)";
|
||||
|
||||
gparams.GET = {
|
||||
tables: [ "(" + sql_kenmerk + ") view_mld_kenmerk" ],
|
||||
wheres: [ "mld_kenmerk.mld_kenmerk_key = view_mld_kenmerk.mld_kenmerk_key" ]
|
||||
};
|
||||
}
|
||||
this.REST_GET = generic_REST_GET(this, gparams);
|
||||
this.REST_POST = generic_REST_POST(this);
|
||||
this.REST_PUT = generic_REST_PUT(this);
|
||||
this.REST_DELETE = generic_REST_DELETE(this);
|
||||
|
||||
@@ -1,200 +0,0 @@
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: model_mld_melding_tag.inc
|
||||
|
||||
Description: Model voor mld_melding_tag (mijlpalen, releasekalender)
|
||||
|
||||
Context: Er wordt goed gelet op MLDTAG-schrijfrechten, maar leesrechten lijkt nog alles of niks. TODO denk ik.
|
||||
|
||||
Notes: Hoe gaan we normaal om met verwijderdatum? Wat mij betreft is weg=weg, en dat is standaard?
|
||||
*/
|
||||
%>
|
||||
<%
|
||||
|
||||
function model_mld_melding_tag()
|
||||
{
|
||||
this.records_name = "issuetags";
|
||||
this.record_name = "issuetag";
|
||||
this.table = "mld_melding_tag";
|
||||
this.primary = "mld_melding_tag_key";
|
||||
this.autfunction = "WEB_MLDTAG";
|
||||
this.soft_delete = "mld_melding_tag_verwijder";
|
||||
this.record_title = L("mld_melding_tag");
|
||||
this.records_title = L("mld_melding_tag_m");
|
||||
|
||||
var tag_key = getQParamInt("id", -1);
|
||||
var auth_mode = getQParamSafe("mode", "show") === "edit" ? "write" : "read";
|
||||
|
||||
this.fields = {
|
||||
"id": {
|
||||
"dbs": "mld_melding_tag_key",
|
||||
"label": "Key",
|
||||
"typ": "key",
|
||||
"hidden_fld": true,
|
||||
"required": true,
|
||||
"seq": "mld_s_mld_melding_tag_key",
|
||||
"defaultvalue": null
|
||||
},
|
||||
"disciplinetype": {
|
||||
"dbs": "ins_srtdiscipline_key",
|
||||
"label": L("ins_srtdiscipline"),
|
||||
"typ": "key",
|
||||
"xhidden_fld": true,
|
||||
"required": true,
|
||||
"foreign": { // tags zijn alleen relevant als er standaardmeldingen zijn die tags gebruiken
|
||||
"tbl": "(SELECT ins_srtdiscipline_key"
|
||||
+ " , ins_srtdiscipline_omschrijving" // lcl
|
||||
+ " FROM ins_srtdiscipline"
|
||||
+ " WHERE ins_srtdiscipline_module = 'MLD'"
|
||||
+ " AND ins_srtdiscipline_verwijder IS NULL"
|
||||
+ " AND ins_srtdiscipline_key IN "
|
||||
+ " (SELECT ins_srtdiscipline_key"
|
||||
+ " FROM mld_discipline"
|
||||
+ " WHERE ins_discipline_key IN "
|
||||
+ " (SELECT mld_ins_discipline_key"
|
||||
+ " FROM mld_stdmelding"
|
||||
+ " WHERE mld_stdmelding_taggable > 0)"
|
||||
+ " AND ins_discipline_key IN"
|
||||
+ " (SELECT w.ins_discipline_key"
|
||||
+ " FROM fac_v_webgebruiker w"
|
||||
+ " WHERE w.prs_perslid_key = " + user_key
|
||||
+ " AND fac_functie_key = " + F(this.autfunction)
|
||||
+ " AND w.fac_gebruiker_prs_level_" + auth_mode + " < 9 AND w.fac_gebruiker_alg_level_" + auth_mode + " < 9))"
|
||||
+ ")",
|
||||
"key": "ins_srtdiscipline_key",
|
||||
"desc": "ins_srtdiscipline_omschrijving"
|
||||
}
|
||||
},
|
||||
"name": {
|
||||
"dbs": "mld_melding_tag_naam",
|
||||
"label": L("mld_melding_tag_naam"),
|
||||
"typ": "varchar",
|
||||
"required": true
|
||||
},
|
||||
"description": {
|
||||
"dbs": "mld_melding_tag_oms",
|
||||
"label": L("mld_melding_tag_oms"),
|
||||
"typ": "varchar",
|
||||
"translate": true
|
||||
},
|
||||
"issuegroup": {
|
||||
"dbs": "mld_stdmeldinggroep_key",
|
||||
"typ": "key",
|
||||
"label": L("lcl_mld_meldinggroep"),
|
||||
"foreign": { // alleen meldinggroepen van standaardmeldingen die tags gebruiken
|
||||
"tbl": "(SELECT g.mld_stdmeldinggroep_key"
|
||||
+ ", " + lcl.xsqla("g.mld_stdmeldinggroep_naam", "g.mld_stdmeldinggroep_key")
|
||||
+ " FROM mld_stdmeldinggroep g"
|
||||
+ " WHERE g.mld_stdmeldinggroep_key IN "
|
||||
+ " (SELECT mld_stdmeldinggroep_key "
|
||||
+ " FROM mld_stdmelding "
|
||||
+ " WHERE mld_stdmelding_taggable > 0"
|
||||
+ " AND mld_ins_discipline_key IN "
|
||||
+ " (SELECT w.ins_discipline_key "
|
||||
+ " FROM fac_v_webgebruiker w"
|
||||
+ " WHERE w.prs_perslid_key = " + user_key
|
||||
+ " AND fac_functie_key = " + F(this.autfunction)
|
||||
+ " AND w.fac_gebruiker_prs_level_" + auth_mode + " < 9 AND w.fac_gebruiker_alg_level_" + auth_mode + " < 9)))",
|
||||
"key": "mld_stdmeldinggroep_key",
|
||||
"desc": "mld_stdmeldinggroep_naam"
|
||||
},
|
||||
"emptyoption": "",
|
||||
"showtransit": true,
|
||||
"multiedit": true
|
||||
},
|
||||
"person": {
|
||||
"dbs": "prs_perslid_key",
|
||||
"label": L("mld_melding_tag_person"),
|
||||
"typ": "key",
|
||||
"foreign": "prs_perslid",
|
||||
"defaultvalue" : user_key /* werk dit? */
|
||||
},
|
||||
"active": {
|
||||
"dbs": "mld_melding_tag_actief",
|
||||
"label": L("mld_melding_tag_actief"),
|
||||
"typ": "check0",
|
||||
"defaultvalue": 1
|
||||
},
|
||||
"begindate": {
|
||||
"dbs": "mld_melding_tag_datum_van",
|
||||
"label": L("mld_melding_tag_startdatum"),
|
||||
"typ": "date",
|
||||
"multiedit": true
|
||||
},
|
||||
"accdate": {
|
||||
"dbs": "mld_melding_tag_datum_acc",
|
||||
"label": L("mld_melding_tag_accdatum"),
|
||||
"typ": "date",
|
||||
"multiedit": true
|
||||
},
|
||||
"enddate": {
|
||||
"dbs": "mld_melding_tag_datum_tot",
|
||||
"label": L("mld_melding_tag_einddatum"),
|
||||
"typ": "date",
|
||||
"required": true,
|
||||
"multiedit": true
|
||||
}
|
||||
};
|
||||
|
||||
this.autclause = function _autclause(rw) {
|
||||
rw = (rw === "write" ? "write" : "read"); // Whitelisten voor de zekerheid
|
||||
return " ins_srtdiscipline_key IN"
|
||||
+ " (SELECT ins_srtdiscipline_key"
|
||||
+ " FROM mld_discipline"
|
||||
+ " WHERE ins_discipline_key IN"
|
||||
+ " (SELECT mld_ins_discipline_key"
|
||||
+ " FROM mld_stdmelding"
|
||||
+ " WHERE mld_stdmelding_taggable > 0)"
|
||||
+ " AND ins_discipline_key IN"
|
||||
+ " (SELECT w.ins_discipline_key"
|
||||
+ " FROM fac_v_webgebruiker w"
|
||||
+ " WHERE w.prs_perslid_key = " + user_key
|
||||
+ " AND fac_functie_key = " + F(this.autfunction)
|
||||
+ " AND w.fac_gebruiker_prs_level_" + rw + " < 9"
|
||||
+ " AND w.fac_gebruiker_alg_level_" + rw + " < 9))"
|
||||
+ " AND ( mld_stdmeldinggroep_key IS NULL"
|
||||
+ " OR (mld_stdmeldinggroep_key IN"
|
||||
+ " (SELECT mld_stdmeldinggroep_key"
|
||||
+ " FROM mld_stdmelding"
|
||||
+ " WHERE mld_stdmelding_taggable > 0"
|
||||
+ " AND mld_ins_discipline_key IN"
|
||||
+ " (SELECT w.ins_discipline_key"
|
||||
+ " FROM fac_v_webgebruiker w"
|
||||
+ " WHERE w.prs_perslid_key = " + user_key
|
||||
+ " AND fac_functie_key = " + F(this.autfunction)
|
||||
+ " AND w.fac_gebruiker_prs_level_" + rw + " < 9"
|
||||
+ " AND w.fac_gebruiker_alg_level_" + rw + " < 9))))";
|
||||
}
|
||||
|
||||
this.REST_GET = generic_REST_GET(this, { "GET": { "wheres": this.autclause() }});
|
||||
var autparams = user.checkAutorisation(this.autfunction);
|
||||
var canWrite = (autparams.PRSwritelevel < 9 && autparams.ALGwritelevel < 9);
|
||||
|
||||
/* Dit lost het multi-gebeuren nog niet op .. */
|
||||
|
||||
if (canWrite) {
|
||||
if (tag_key > -1) {
|
||||
var sql = "SELECT 'canWrite'"
|
||||
+ " FROM mld_melding_tag"
|
||||
+ " WHERE mld_melding_tag_key = " + tag_key
|
||||
+ " AND " + this.autclause("write");
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.EOF) { // Ik heb schrijfrechten op deze specifieke tag
|
||||
this.REST_POST = generic_REST_POST(this);
|
||||
this.REST_PUT = generic_REST_PUT(this);
|
||||
this.REST_DELETE = generic_REST_DELETE(this);
|
||||
}
|
||||
oRs.Close();
|
||||
} else {
|
||||
this.REST_POST = generic_REST_POST(this);
|
||||
// Geen multi-acties, wel door kunnen klikken
|
||||
this.list = {
|
||||
"default_action": "scf_show",
|
||||
"default_url": "appl/mgt/mld_melding_tag.asp?id={0}"
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
%>
|
||||
@@ -15,10 +15,8 @@
|
||||
<!-- #include file="../api2/model_fin_factuur.inc" -->
|
||||
<!-- #include file="./model_custom_fields.inc"-->
|
||||
<!-- #include file="./model_mld_kenmerk.inc"-->
|
||||
<!-- #include file="./model_notes.inc" -->
|
||||
<!-- #include file="./model_issues_mini.inc" -->
|
||||
<!-- #include file="./model_mld_opdr_materiaal.inc" -->
|
||||
<!-- #include file="../bgt/bgt_tools.inc" -->
|
||||
<!-- #include file="./model_notes.inc"-->
|
||||
<%
|
||||
|
||||
function model_mld_opdr()
|
||||
@@ -261,6 +259,7 @@ function model_mld_opdr()
|
||||
"typ": "key",
|
||||
"foreign": "prs_kostensoort",
|
||||
"readonly": S("mld_opdr_alt_kostensoort") == 1? false : true,
|
||||
"LOVinit": "",
|
||||
"track": true
|
||||
},
|
||||
"hours": {
|
||||
@@ -387,13 +386,13 @@ function model_mld_opdr()
|
||||
"dbs": "mld_opdr_externnr",
|
||||
"label": "externalnr",
|
||||
"typ": "key",
|
||||
"readonly": S("bgt_enabled") || !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR"))
|
||||
"hidden_fld": true
|
||||
},
|
||||
"externalsyncdate": {
|
||||
"dbs": "mld_opdr_externsyncdate",
|
||||
"label": "externalsyncdate",
|
||||
"typ": "datetime",
|
||||
"readonly": S("bgt_enabled") || !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR"))
|
||||
"hidden_fld": true
|
||||
}
|
||||
};
|
||||
|
||||
@@ -417,22 +416,8 @@ function model_mld_opdr()
|
||||
"model": new model_custom_fields(this, new model_mld_kenmerk('O', { internal: true }), { pNiveau: "O" }),
|
||||
"joinfield": "flexparentkey",
|
||||
"enable_update": true
|
||||
},
|
||||
"materials": {
|
||||
"model": new model_mld_opdr_materiaal(),
|
||||
joinfield: "order"
|
||||
},
|
||||
"issuedetails": {
|
||||
"model": new model_issues_mini(),
|
||||
"isdetailfor": "issue",
|
||||
"joinfunction": function ()
|
||||
{
|
||||
return { tables: ["mld_melding m2"],
|
||||
where: "mld_opdr.mld_melding_key = m2.mld_melding_key"
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
this.hook_pre_show = function(obj, fld, scf_params)
|
||||
{
|
||||
@@ -491,10 +476,10 @@ function model_mld_opdr()
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
/*
|
||||
TWYN#53173
|
||||
De bestaande knop "Kopi<70>ren" is komen te vervallen. Daarvoor in de plaats zijn twee nieuwe knoppen toegevoegd: "Nieuwe opdracht" en "nieuwe subopdracht".
|
||||
Bij een nieuwe subopdracht is het opdrachtnummer gelijk aan die van de opdracht van waaruit gekopieerd wordt en is niet te wijzigen. Het volgnummer staat standaard op volgnr(max+1).
|
||||
/*
|
||||
TWYN#53173
|
||||
De bestaande knop "Kopi<70>ren" is komen te vervallen. Daarvoor in de plaats zijn twee nieuwe knoppen toegevoegd: "Nieuwe opdracht" en "nieuwe subopdracht".
|
||||
Bij een nieuwe subopdracht is het opdrachtnummer gelijk aan die van de opdracht van waaruit gekopieerd wordt en is niet te wijzigen. Het volgnummer staat standaard op volgnr(max+1).
|
||||
if (obj._is_clone == 2)) // nieuw subcontract: bepaal hoogste volgnummer bij dit contract, en vul deze alvast in.
|
||||
{
|
||||
var sql = "SELECT COALESCE(MAX(s.mld_opdr_bedrijfopdr_volgnr), 0) + 1 volgnr"
|
||||
@@ -508,7 +493,7 @@ function model_mld_opdr()
|
||||
obj.sequence = oRs("volgnr").Value;
|
||||
oRs.Close();
|
||||
}
|
||||
*/
|
||||
*/
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -614,11 +599,11 @@ function model_mld_opdr()
|
||||
checkAanwezigBudget(v_costtype);
|
||||
getBudget(v_costtype); // Hierin wordt ook gecontroleerd of er een reservebudget bestaat. Zo niet, dan stoppen.
|
||||
|
||||
/*
|
||||
TWYN#53173 : waarschijnlijk pas met 2018.1
|
||||
obj._is_clone=1 --> nieuwe (hoofd) opdracht
|
||||
obj._is_clone=2 --> nieuwe sub-opdracht
|
||||
*/
|
||||
/*
|
||||
TWYN#53173 : waarschijnlijk pas met 2018.1
|
||||
obj._is_clone=1 --> nieuwe (hoofd) opdracht
|
||||
obj._is_clone=2 --> nieuwe sub-opdracht
|
||||
*/
|
||||
if (isclone) // Bij kopie van opdracht geen nieuw nummer genereren.
|
||||
{
|
||||
var v_project_key = (typeof obj.budgetproject == "object" ? obj.budgetproject.id : obj.budgetproject);
|
||||
@@ -1004,27 +989,6 @@ function model_mld_opdr()
|
||||
result.canRead = (pparams.authparams.PRSreadlevel < 9 && pparams.authparams.ALGreadlevel < 9);
|
||||
result.canWrite = (pparams.authparams.PRSwritelevel < 9 && pparams.authparams.ALGwritelevel < 9);
|
||||
result.canReadWrite = result.canRead || result.canWrite;
|
||||
|
||||
if (pparams.filter.mld_key && pparams.filter.mld_key > 0)
|
||||
{
|
||||
var sql = "SELECT s.mld_ins_discipline_key"
|
||||
+ " FROM mld_melding m"
|
||||
+ " , mld_stdmelding s"
|
||||
+ " WHERE m.mld_stdmelding_key = s.mld_stdmelding_key"
|
||||
+ " AND m.mld_melding_key = " + pparams.filter.mld_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var mld_disc_key = oRs("mld_ins_discipline_key").Value;
|
||||
oRs.Close();
|
||||
|
||||
pparams.enabled = user.func_enabled2("MLD", { ins_discipline_key: mld_disc_key, prs_key: user_key, isOptional:true });
|
||||
result.canWrite = pparams.enabled.anyfound;
|
||||
}
|
||||
else
|
||||
{
|
||||
result.canRead = false;
|
||||
result.canWrite = false;
|
||||
result.canReadWrite = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
return result; // Wordt in model gebruikt om te bepalen of de functies/knoppen Toevoegen en Verwijderen aanwezig moeten zijn.
|
||||
@@ -1406,7 +1370,7 @@ function model_mld_opdr()
|
||||
}
|
||||
}
|
||||
|
||||
this.REST_GET = function (params)
|
||||
this.REST_GET = function (params)
|
||||
{
|
||||
if (S("bgt_enabled") == 1)
|
||||
{ // autfunction = "WEB_BGTORD".
|
||||
@@ -1629,6 +1593,8 @@ function model_mld_opdr()
|
||||
delete_fld(jsondata, "module", true);
|
||||
delete_fld(jsondata, "additional", true);
|
||||
delete_fld(jsondata, "offer", true);
|
||||
delete_fld(jsondata, "externalnr", true);
|
||||
delete_fld(jsondata, "externalsyncdate", true);
|
||||
}
|
||||
|
||||
this.REST_PUT = function (params, jsondata, the_key)
|
||||
@@ -1788,11 +1754,7 @@ function model_mld_opdr()
|
||||
{
|
||||
if (!S("bgt_enabled")) // Nu pas voor API2 controleren. Voor BGT is canWrite hier zeker true.
|
||||
{
|
||||
var auth_par = { filter: { mld_key: jsondata.issue
|
||||
, id: getQParamInt("id", -1)
|
||||
, scope: getQParamSafe("scope", "")
|
||||
}
|
||||
};
|
||||
var auth_par = { filter: { id: getQParamInt("id", -1), scope: getQParamSafe("scope", "")}};
|
||||
var this_par = { autfunction: true};
|
||||
var authparams_cA = _checkAutorisation(this_par, auth_par);
|
||||
if (!authparams_cA.canWrite)
|
||||
@@ -1817,21 +1779,6 @@ function model_mld_opdr()
|
||||
// Status en tracking altijd met de functie setopdrachtstatus.
|
||||
// Zetten van de status van een nieuwe opdracht op nieuw en afhandelen van de tracking (status + uitvoerende tracking) en daarmee notificatie.
|
||||
var company = typeof jsondata.company == "object"? jsondata.company.id : jsondata.company;
|
||||
|
||||
params.mld_opdr = {}; // Zet hier de gegevens uit mld.mld_opdr_info() in.
|
||||
params.mld_opdr.uitvoerende = (jsondata.company? api2.get_jdata_refkey(jsondata.company) : -1);
|
||||
params.mld_opdr.opdr_type = (jsondata.issueordertype? jsondata.issueordertype : -1);
|
||||
|
||||
// Gegevens van het opdrachttype ophalen.
|
||||
var sql = "SELECT mld_typeopdr_confirm_for_send"
|
||||
+ " , mld_typeopdr_isofferte"
|
||||
+ " FROM mld_typeopdr"
|
||||
+ " WHERE mld_typeopdr_key = " + params.mld_opdr.opdr_type;
|
||||
oRs = Oracle.Execute(sql);
|
||||
params.mld_opdr.typeopdr_confirm_for_send = oRs("mld_typeopdr_confirm_for_send").Value;
|
||||
params.mld_opdr.mld_typeopdr_isofferte = oRs("mld_typeopdr_isofferte").Value;
|
||||
oRs.Close();
|
||||
|
||||
mld.setopdrachtstatus(opdr_key, setopdrstatus, company);
|
||||
|
||||
if (S("bgt_enabled") != 1) // BGT doet niets met mld_melding; mld_opdr heeft zelfs geen mld_melding_key!
|
||||
@@ -1842,27 +1789,26 @@ function model_mld_opdr()
|
||||
|
||||
if (!S("bgt_enabled"))
|
||||
{
|
||||
params.mld_opdr = {}; // Zet hier de gegevens uit mld.mld_opdr_info() in.
|
||||
params.mld_opdr.uitvoerende = (jsondata.company? api2.get_jdata_refkey(jsondata.company) : -1);
|
||||
params.mld_opdr.opdr_type = (jsondata.issueordertype? jsondata.issueordertype : -1);
|
||||
|
||||
// Bepaal of de opdracht een offerte is.
|
||||
var sql = "SELECT mld_typeopdr_isofferte"
|
||||
+ " FROM mld_typeopdr"
|
||||
+ " WHERE mld_typeopdr_key = " + params.mld_opdr.opdr_type;
|
||||
oRs = Oracle.Execute(sql);
|
||||
params.mld_opdr.mld_typeopdr_isofferte = oRs("mld_typeopdr_isofferte").Value;
|
||||
oRs.Close();
|
||||
|
||||
// Vooralsnog alleen voor nieuwe meldingen (POST).
|
||||
// Opdracht direct electronisch versturen of door putorders laten oppikken (te verzenden veld zetten) bij nieuwe opdrachten.
|
||||
// Nooit als er een activiteits key is meegegeven omdat het dan eigenlijk geen opdracht is. Bij de api is de fac_activiteit_key niet gevuld.
|
||||
|
||||
if (params.mld_opdr.mld_typeopdr_isofferte == 1)
|
||||
{ // Offerte opdracht.
|
||||
if (params.mld_opdr.typeopdr_confirm_for_send < 2)
|
||||
{ // Zonder bevestiging versturen.
|
||||
sql = "UPDATE mld_opdr SET mld_opdr_teverzenden = 1 WHERE mld_opdr_key = " + opdr_key;
|
||||
Oracle.Execute(sql);
|
||||
|
||||
if (setopdrstatus == 5)
|
||||
{ // Bij ORDNEW tracking wordt er niet genotificeerd. Dat moet als je mld_opdr_teverzenden op 1 zet nog gebeuren.
|
||||
Oracle.Execute("BEGIN fac.notifytrackingbedrijven ('ORDNEW', " + opdr_key + "); END;");
|
||||
}
|
||||
}
|
||||
else if (params.mld_opdr.typeopdr_confirm_for_send == 2)
|
||||
{ // Nog niet laten oppikken door achtergrond putorders alleen uitstellen.
|
||||
sql = "UPDATE mld_opdr SET mld_opdr_teverzenden = NULL WHERE mld_opdr_key = " + opdr_key;
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
// putorders.sendMLDorders doen we hier niet, altijd scheduled via putorders
|
||||
sql = "UPDATE mld_opdr SET mld_opdr_teverzenden = 1 WHERE mld_opdr_key = " + opdr_key;
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
else
|
||||
{ // Opdrachten
|
||||
@@ -1875,20 +1821,10 @@ function model_mld_opdr()
|
||||
var oRs = Oracle.Execute(sql);
|
||||
// Als (1) externe uitvoerder met (2) prs_bedrijfadres_url type O dan vragen
|
||||
// of de opdracht elektrisch verstuurd moet worden. Zo ja, dan
|
||||
if (!oRs.eof && params.mld_opdr.typeopdr_confirm_for_send == 0)
|
||||
if (!oRs.eof && S("mld_opdr_confirm_for_send") != 1)
|
||||
{ // Er is een mldorder_adres en zonder bevestiging versturen.
|
||||
sql = "UPDATE mld_opdr SET mld_opdr_teverzenden = 1 WHERE mld_opdr_key = " + opdr_key;
|
||||
Oracle.Execute(sql);
|
||||
|
||||
if (setopdrstatus == 5)
|
||||
{ // Bij ORDNEW tracking wordt er niet genotificeerd. Dat moet als je mld_opdr_teverzenden op 1 zet nog gebeuren.
|
||||
Oracle.Execute("BEGIN fac.notifytrackingbedrijven ('ORDNEW', " + opdr_key + "); END;");
|
||||
}
|
||||
}
|
||||
else if (!oRs.eof && params.mld_opdr.typeopdr_confirm_for_send == 2)
|
||||
{ // Er is een mldorder_adres maar nog niet laten oppikken door achtergrond putorders alleen uitstellen.
|
||||
sql = "UPDATE mld_opdr SET mld_opdr_teverzenden = NULL WHERE mld_opdr_key = " + opdr_key;
|
||||
Oracle.Execute(sql);
|
||||
}
|
||||
//else geen mldorder_adres, dan niet versturen.
|
||||
oRs.Close();
|
||||
|
||||
@@ -1,141 +0,0 @@
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: model_mld_opdr_materiaal.inc
|
||||
|
||||
Description:
|
||||
|
||||
Context: Alleen voor gebruik als include.
|
||||
|
||||
Notes:
|
||||
*/
|
||||
%>
|
||||
<%
|
||||
|
||||
function model_mld_opdr_materiaal()
|
||||
{
|
||||
this.records_name = "issueordermaterials";
|
||||
this.record_name = "issueordermaterial";
|
||||
this.table = "mld_opdr_materiaal";
|
||||
this.primary = "mld_opdr_materiaal_key";
|
||||
this.record_title = L("mld_opdr_materiaal");
|
||||
this.records_title = L("mld_opdr_materiaal_m");
|
||||
|
||||
|
||||
this.fields = {
|
||||
"id": {
|
||||
"dbs": "mld_opdr_materiaal_key",
|
||||
"label": L("lcl_key"),
|
||||
"typ": "key",
|
||||
"required": true,
|
||||
"seq": "mld_s_mld_opdr_materiaal_key"
|
||||
},
|
||||
"order": {
|
||||
"dbs": "mld_opdr_key",
|
||||
"label": L("lcl_mld_opdr"),
|
||||
"typ": "key"
|
||||
},
|
||||
"seq": {
|
||||
"dbs": "mld_opdr_materiaal_id", // materiaal volgnummer binnen opdracht
|
||||
"label": L("lcl_mld_opdr_id"),
|
||||
"typ": "number"
|
||||
},
|
||||
"code": {
|
||||
"dbs": "mld_opdr_materiaal_code",
|
||||
"label": L("lcl_mld_opdr_code"),
|
||||
"typ": "varchar"
|
||||
},
|
||||
"group": {
|
||||
"dbs": "mld_opdr_materiaal_groep",
|
||||
"label": L("lcl_mld_opdr_groep"),
|
||||
"typ": "varchar"
|
||||
},
|
||||
"listdefined": {
|
||||
"dbs": "fac_usrdata_key",
|
||||
"label": L("mld_opdr_materiaal_oms"),
|
||||
"typ": "key",
|
||||
"foreign": {
|
||||
"tbl": "fac_usrdata",
|
||||
"key": "fac_usrdata_key",
|
||||
"desc": "fac_usrdata_omschr"
|
||||
}
|
||||
},
|
||||
"userdefined": {
|
||||
"dbs": "mld_opdr_materiaal_omschr",
|
||||
"label": L("lcl_mld_opdr_omschr"),
|
||||
"typ": "varchar",
|
||||
"required": true
|
||||
},
|
||||
"price": {
|
||||
"dbs": "mld_opdr_materiaal_prijs",
|
||||
"label": L("lcl_mld_opdr_prijs"),
|
||||
"typ": "currency"
|
||||
},
|
||||
"vat_perc": {
|
||||
"dbs": "fin_btwtabelwaarde_key",
|
||||
"sql": "(SELECT fin_btwtabelwaarde_perc FROM fin_btwtabelwaarde where fin_btwtabelwaarde_key = mld_opdr_materiaal.fin_btwtabelwaarde_key)",
|
||||
"label": L("lcl_fin_btwtabelwaarde_perc"),
|
||||
"typ": "float"
|
||||
},
|
||||
"quantity": {
|
||||
"dbs": "mld_opdr_materiaal_aantal",
|
||||
"label": L("lcl_mld_opdr_aantal"),
|
||||
"typ": "float"
|
||||
},
|
||||
"unit": {
|
||||
"dbs": "mld_opdr_materiaal_eenheid",
|
||||
"label": L("lcl_mld_opdr_eenheid"),
|
||||
"typ": "varchar"
|
||||
},
|
||||
"unitcode": {
|
||||
"dbs": "mld_opdr_materiaal_eenheidcode",
|
||||
"label": L("lcl_mld_opdr_eenheidcode"),
|
||||
"typ": "varchar"
|
||||
},
|
||||
"info": {
|
||||
"dbs": "mld_opdr_materiaal_info",
|
||||
"label": L("lcl_mld_opdr_info"),
|
||||
"typ": "memo"
|
||||
},
|
||||
"extra1": {
|
||||
"dbs": "mld_opdr_materiaal_extra1",
|
||||
"label": L("lcl_mld_opdr_extra1"),
|
||||
"typ": "varchar"
|
||||
},
|
||||
"extra2": {
|
||||
"dbs": "mld_opdr_materiaal_extra2",
|
||||
"label": L("lcl_mld_opdr_extra2"),
|
||||
"typ": "varchar"
|
||||
},
|
||||
"extra3": {
|
||||
"dbs": "mld_opdr_materiaal_extra3",
|
||||
"label": L("lcl_mld_opdr_extra3"),
|
||||
"typ": "memo"
|
||||
},
|
||||
"extra4": {
|
||||
"dbs": "mld_opdr_materiaal_extra4",
|
||||
"label": L("lcl_mld_opdr_extra4"),
|
||||
"typ": "memo"
|
||||
},
|
||||
"externnr": {
|
||||
"dbs": "mld_opdr_materiaal_externnr",
|
||||
"label": L("extern_nr"),
|
||||
"typ": "varchar",
|
||||
"readonly": !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR"))
|
||||
},
|
||||
"externsyncdate": {
|
||||
"dbs": "mld_opdr_materiaal_extsyncdate",
|
||||
"label": L("extern_syncdate"),
|
||||
"typ": "datetime",
|
||||
"readonly": !(user.has("WEB_FACTAB") || user.has("WEB_FACXNR"))
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
this.REST_GET = generic_REST_GET(this);
|
||||
//this.REST_POST = generic_REST_POST(this);
|
||||
//this.REST_PUT = generic_REST_PUT(this);
|
||||
//this.REST_DELETE = generic_REST_DELETE(this);
|
||||
}
|
||||
%>
|
||||
@@ -122,8 +122,8 @@ function model_mld_srtkenmerk(params)
|
||||
"code": {
|
||||
"dbs": "mld_srtkenmerk_code",
|
||||
"typ": "varchar",
|
||||
"label": L("mgt_srtkenmerk_code"),
|
||||
"readonly": !user.has("WEB_PRSSYS")
|
||||
"label": L("lcl_mld_code"),
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -139,6 +139,7 @@ function model_mld_stdmelding()
|
||||
"typ": "key",
|
||||
"label": L("lcl_charge_type"),
|
||||
"foreign": "prs_kostensoort",
|
||||
"emptyoption": "",
|
||||
"multiedit": true
|
||||
},
|
||||
"costcentre": {
|
||||
@@ -213,10 +214,8 @@ function model_mld_stdmelding()
|
||||
"LOV": "0;" + L("lcl_mld_onzichtbaar") + ";"
|
||||
+ "1;" + L("lcl_mld_optioneel") + ";"
|
||||
+ "2;" + L("lcl_mld_verplicht")
|
||||
+ ( ((S("ai_enabled") & 1) || mode == "api2")
|
||||
? ";3;"
|
||||
: ";##DISABLED##;"
|
||||
) + L("lcl_mld_ai_generated"),
|
||||
+ (S("ai_enabled") & 1 ? ";3;" : ";##DISABLED##;")
|
||||
+ L("lcl_mld_ai_generated"),
|
||||
"emptyoption": null,
|
||||
"multiedit": true
|
||||
},
|
||||
@@ -497,14 +496,6 @@ function model_mld_stdmelding()
|
||||
"emptyoption": null,
|
||||
"multiedit": true
|
||||
},
|
||||
"objectsallowed": {
|
||||
"dbs": "mld_stdmelding_objects_allowed",
|
||||
"typ": "number",
|
||||
"label": L("mld_stdmelding_objects_allowed"),
|
||||
"LOV": L("mld_stdmelding_objects_allowed_LOV"),
|
||||
"emptyoption": null,
|
||||
"defaultvalue": 2
|
||||
},
|
||||
"externallink": {
|
||||
"dbs": "mld_stdmelding_externurl",
|
||||
"typ": "varchar",
|
||||
@@ -579,16 +570,6 @@ function model_mld_stdmelding()
|
||||
"label": L("lcl_mld_stdpriomatrix"),
|
||||
"multiedit": true
|
||||
},
|
||||
"bytag": {
|
||||
"dbs": "mld_stdmelding_taggable",
|
||||
"typ": "number",
|
||||
"label": L("lcl_mld_stdtaggable"),
|
||||
"LOV": "0;" + L("lcl_mld_stdtaggable0") + ";"
|
||||
+ "1;" + L("lcl_mld_stdtaggable1") + ";"
|
||||
+ "3;" + L("lcl_mld_stdtaggable3"),
|
||||
"emptyoption": null,
|
||||
"multiedit": true
|
||||
},
|
||||
"enddateempty": {
|
||||
"dbs": "mld_stdmelding_enddate_empty",
|
||||
"typ": "check0",
|
||||
|
||||
@@ -188,15 +188,6 @@ function model_mld_typeopdr()
|
||||
"label": L("mld_typeopdr_afhandeling"),
|
||||
"typ": "check0"
|
||||
},
|
||||
"confirmforsend": {
|
||||
"dbs": "mld_typeopdr_confirm_for_send",
|
||||
"label": L("mld_typeopdr_confirmforsend"),
|
||||
"typ": "number",
|
||||
"multiedit": true,
|
||||
"defaultvalue": "0",
|
||||
"LOV": L("mld_typeopdr_confirmforsendLOV"),
|
||||
"emptyoption": null
|
||||
},
|
||||
"mandatorycosts": {
|
||||
"dbs": "mld_typeopdr_kosten_verplicht",
|
||||
"label": L("mld_typeopdr_kosten_verplicht"),
|
||||
@@ -259,18 +250,6 @@ function model_mld_typeopdr()
|
||||
}
|
||||
],
|
||||
"track": true
|
||||
},
|
||||
"code": {
|
||||
"dbs": "mld_typeopdr_code",
|
||||
"label": L("lcl_mld_code"),
|
||||
"typ": "varchar",
|
||||
"readonly": !user.has("WEB_FACTAB")
|
||||
},
|
||||
"complete": {
|
||||
"dbs": "mld_typeopdr_afronden",
|
||||
"label": L("mld_typeopdr_complete"),
|
||||
"typ": "check0",
|
||||
"defaultvalue": 1
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -1,98 +0,0 @@
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: model_msg_message.inc
|
||||
|
||||
Description: Bericht versturen
|
||||
Parameters:
|
||||
Context:
|
||||
|
||||
Notes:
|
||||
*/
|
||||
%>
|
||||
<%
|
||||
|
||||
function model_msg_message()
|
||||
{
|
||||
this.table = "msg_message";
|
||||
this.primary = "msg_message_key";
|
||||
this.autfunction = "WEB_MSGBOF";
|
||||
this.autfunction_add = "-"; // unsupported via SCF
|
||||
this.record_name = "message";
|
||||
this.records_name = "messages";
|
||||
this.fields = {
|
||||
"id": {
|
||||
"dbs": "msg_message_key",
|
||||
"label": L("lcl_key"),
|
||||
"typ": "key",
|
||||
"required": true,
|
||||
"seq": "msg_s_msg_message_key"
|
||||
},
|
||||
"sender": {
|
||||
"dbs": "prs_perslid_key",
|
||||
"label": L("lcl_prs_bedrijfadres_afzender"), // LCL TODO
|
||||
"typ": "key",
|
||||
"foreign": "PRS_PERSLID",
|
||||
"hidden_fld": true,
|
||||
"defaultvalue": user_key
|
||||
},
|
||||
"subject": {
|
||||
"dbs": "msg_message_onderwerp",
|
||||
"label": L("lcl_mes_subject"),
|
||||
"typ": "varchar",
|
||||
"required": true
|
||||
},
|
||||
"description": {
|
||||
"dbs": "msg_message_oms",
|
||||
"label": L("lcl_mes_message"),
|
||||
"typ": "memo",
|
||||
"bb_codes": true,
|
||||
"module": "MES",
|
||||
"required": true
|
||||
},
|
||||
"priority": {
|
||||
"dbs": "msg_message_prioriteit",
|
||||
"label": L("lcl_mes_priority"),
|
||||
"typ": "varchar",
|
||||
"required": true,
|
||||
"LOV": priorityLOV(), /* 1=high, 2=normal, 3=low */
|
||||
"defaultvalue": 2 // Geet dit goed?
|
||||
},
|
||||
/* Doen de 2 onderstaande velden nog ergens ooit iets .. ?
|
||||
"url": {
|
||||
"dbs": "msg_message_url",
|
||||
"label": L("lcl_mes_link"),
|
||||
"typ": "varchar"
|
||||
},
|
||||
"reply_key": {
|
||||
"dbs": "msg_message_replykey",
|
||||
"label": L("lcl_mes_message_send"),
|
||||
"typ": "key",
|
||||
"foreign": {
|
||||
"tbl": "msg_message",
|
||||
"key": "msg_message_key",
|
||||
"desc": "msg_message_oms"
|
||||
},
|
||||
"readonly": true
|
||||
}, */
|
||||
"created": {
|
||||
"dbs": "msg_message_aanmaak",
|
||||
"label": L("lcl_mes_send_date_time"),
|
||||
"typ": "datetime",
|
||||
"readonly": true
|
||||
}
|
||||
};
|
||||
|
||||
function priorityLOV() {
|
||||
return "1;" + L("lcl_mes_high")
|
||||
+ ";2;" + L("lcl_mes_normaal")
|
||||
+ ";3;" + L("lcl_mes_low");
|
||||
}
|
||||
|
||||
this.REST_GET = generic_REST_GET(this);
|
||||
// this.REST_POST = generic_REST_POST(this);
|
||||
// this.REST_PUT = generic_REST_PUT(this);
|
||||
// this.REST_DELETE = generic_REST_DELETE(this);
|
||||
}
|
||||
%>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user