Compare commits
109 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ebb5936377 | |||
| 5ef8fba144 | |||
| 969d178b9d | |||
|
|
cf33956175 | ||
|
|
26b3247fea | ||
|
|
2c6c5a726c | ||
|
|
12fc92b906 | ||
|
|
666e902ea9 | ||
|
|
2d39456578 | ||
|
|
94c9f4cef1 | ||
|
|
59f858fb76 | ||
| 943f7a681b | |||
| 89e0b6b366 | |||
| 43b3dd0f82 | |||
| 29b91963fa | |||
| fc13609e92 | |||
| 886c1ba0c9 | |||
| 7728ed87ee | |||
| f09afea57d | |||
|
|
a265670b4f | ||
|
|
3712b6c19e | ||
| 91a30de42c | |||
|
|
201a5cad4a | ||
|
|
9cf1349c50 | ||
| b2c129d945 | |||
|
|
576187c2d6 | ||
|
|
9b171120c5 | ||
| 7d9c9650cb | |||
|
|
8424ac811e | ||
|
|
3a4d5980cf | ||
|
|
7de2e7773f | ||
|
|
c7ce4b8c6d | ||
| 99c579e6b4 | |||
| f8bc90de46 | |||
| cb4545dbec | |||
| 52dab4cd8c | |||
|
|
e906a99068 | ||
|
|
30b310dbaa | ||
|
|
7878496362 | ||
|
|
4540f0b01a | ||
|
|
4ccf1cb544 | ||
| ef5d4fe51d | |||
| 30f78f6647 | |||
| 8bd35ff260 | |||
|
|
f13244110e | ||
| ad4dbaf278 | |||
| b9cd0321d3 | |||
| 919d8189ba | |||
| ac55fc3f44 | |||
| d12a184280 | |||
| 8f9e4cf196 | |||
| 934714d87d | |||
|
|
43d4440286 | ||
| e0ea34c55d | |||
| 38a6c76910 | |||
| 4833a51a40 | |||
| 1786d9682c | |||
| 8c6293a240 | |||
| 89547ce7c9 | |||
| bea17906ab | |||
| 65a7467d5d | |||
| 725bfff46b | |||
| b52673b8fb | |||
|
|
6ce0cd714e | ||
|
|
0a68aa29e3 | ||
| b3aeb56d84 | |||
| 6086329e46 | |||
| b1b879af84 | |||
| 4556c922cd | |||
|
|
fabc557c35 | ||
|
|
dde810396f | ||
| c8a07225bf | |||
| b988b2e556 | |||
| c775bf70fb | |||
| 54714f0f74 | |||
| f411f2166b | |||
| 23c8d0b931 | |||
|
|
e3794723bf | ||
|
|
a20549bb65 | ||
|
|
929ca587cb | ||
|
|
ddee5d09e0 | ||
| 73afcea85b | |||
|
|
d51da13462 | ||
| aba548c49b | |||
| 14ef6de023 | |||
|
|
12c974d9c9 | ||
|
|
4cd77c9456 | ||
| 08e7ac0b4c | |||
| 988c1e6557 | |||
| f48cafb3a1 | |||
|
|
5c8452264f | ||
| da85ef0938 | |||
|
|
694416465c | ||
|
|
83cf8849e7 | ||
| 1518a166e0 | |||
|
|
ae1e67dedc | ||
|
|
0199786b41 | ||
| 9951c5a8fe | |||
|
|
2ba947c433 | ||
| d556b94218 | |||
|
|
99d072d5f4 | ||
| 4e277821ae | |||
| 24bc25bff3 | |||
|
|
615d37e715 | ||
|
|
2ed587e00b | ||
|
|
c515520248 | ||
|
|
6b595eba50 | ||
|
|
bdeb500f10 | ||
|
|
c4625e1eee |
@@ -411,9 +411,8 @@ alg = {
|
||||
+ " MAX(alg_verdieping_bruto_vloeropp) opp_bruto, "
|
||||
+ " SUM (alg_ruimte_opp_alt1) opp2, "
|
||||
+ " SUM (alg_ruimte_opp_alt2) opp3 "
|
||||
+ " FROM alg_ruimte r, alg_verdieping v "
|
||||
+ " WHERE v.alg_verdieping_key = r.alg_verdieping_key(+) "
|
||||
+ " AND r.alg_ruimte_verwijder IS NULL";
|
||||
+ " FROM alg_v_aanwezigruimte r, alg_verdieping v "
|
||||
+ " WHERE v.alg_verdieping_key = r.alg_verdieping_key(+)";
|
||||
|
||||
if (lvl == "G") {
|
||||
sql += " AND alg_gebouw_key = " + alg_key
|
||||
|
||||
@@ -31,7 +31,7 @@ user.auth_required_or_abort(this_alg.writeman || (bld_key>0&&this_alg.writeuse))
|
||||
|
||||
if (bld_key > 0)
|
||||
{
|
||||
var sql = " SELECT *"
|
||||
var sql = " SELECT g.*, alg_locatie_adres, alg_locatie_postcode"
|
||||
+ " FROM alg_gebouw g, alg_locatie l"
|
||||
+ " WHERE g.alg_locatie_key = l.alg_locatie_key"
|
||||
+ " AND alg_gebouw_key = " + bld_key;
|
||||
|
||||
@@ -45,7 +45,8 @@ var warning = "";
|
||||
if (flr_key > 0)
|
||||
{
|
||||
var algUpd = buildTrackingUpdate("alg_verdieping", " alg_verdieping_key = " + flr_key, fields);
|
||||
var err = Oracle.Execute(sql, true);
|
||||
sql = algUpd.sql;
|
||||
var err = Oracle.Execute(sql, true);
|
||||
if (err.friendlyMsg)
|
||||
warning = err.friendlyMsg;
|
||||
}
|
||||
|
||||
@@ -42,15 +42,16 @@ switch (req_info)
|
||||
{
|
||||
var alg_locatie_key = getQParamInt("alg_locatie_key", -1);
|
||||
var result = [];
|
||||
var sql = "SELECT alg_gebouw_key"
|
||||
+ " FROM alg_gebouw"
|
||||
+ " WHERE alg_locatie_key = " + alg_locatie_key
|
||||
+ " AND alg_gebouw_verwijder IS NULL"
|
||||
+ " AND (alg_gebouw_vervaldatum IS NULL OR alg_gebouw_vervaldatum > TRUNC(SYSDATE))";
|
||||
var sql = "SELECT g.alg_gebouw_key"
|
||||
+ ", " + S("alg_geb_string") + " gebouw_naam"
|
||||
+ " FROM alg_gebouw g"
|
||||
+ " WHERE g.alg_locatie_key = " + alg_locatie_key
|
||||
+ " AND g.alg_gebouw_verwijder IS NULL"
|
||||
+ " AND (g.alg_gebouw_vervaldatum IS NULL OR g.alg_gebouw_vervaldatum > TRUNC(SYSDATE))";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
while (!oRs.eof)
|
||||
{
|
||||
result.push(oRs("alg_gebouw_key").Value);
|
||||
result.push( {key: oRs("alg_gebouw_key").Value, name: oRs("gebouw_naam").Value});
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
@@ -187,7 +187,7 @@ function model_aut_idp(params)
|
||||
fld_hide = ["samlmetaurl"];
|
||||
break;
|
||||
case 5: // saml
|
||||
fld_hide = "algorithm audience issuer secret timeout duration remoteloginurl remotelogouturl ipfilter ipauto".split(" ");
|
||||
fld_hide = "algorithm audience secret timeout duration remoteloginurl remotelogouturl ipfilter ipauto".split(" ");
|
||||
break;
|
||||
}
|
||||
for (var d=0; d<fld_hide.length; d++)
|
||||
|
||||
@@ -21,7 +21,7 @@ function model_issueobjects()
|
||||
this.fields = {"id" : { dbs: "mld_melding_object_key", typ: "key", seq: "mld_s_mld_object_key" },
|
||||
"object" : { dbs: "ins_deel_key", typ: "key", foreign: "ins_deel" },
|
||||
"issue" : { dbs: "mld_melding_key", typ: "key" },
|
||||
"inspection": { dbs: "ins_deelsrtcontrole_key", typ: "key", foreign: "ins_deelsrtcontrole" }
|
||||
"inspection": { dbs: "ins_deelsrtcontrole_key", typ: "key" }
|
||||
};
|
||||
|
||||
this.REST_GET = generic_REST_GET(this);
|
||||
|
||||
@@ -73,6 +73,7 @@ function model_issues(mld_key, params)
|
||||
"room" : { dbs: "alg_v_allonroerendgoed.alg_ruimte_key", typ: "key", foreign: "alg_ruimte", label: L("lcl_room"), track: true },
|
||||
"terrain" : { dbs: "alg_v_allonroerendgoed.alg_terreinsector_key", typ: "key", foreign: "alg_terreinsector", label: L("lcl_room"), track: true },
|
||||
"parent" : { dbs: "mld_melding_parentkey", typ: "key", xforeign: "mld_melding", label: L("lcl_mld_completion_in"), track: true },
|
||||
"continuedfrom": { dbs: "mld_melding_start_key", typ: "key", xforeign: "mld_melding", label: L("lcl_mld_continue_of"), track: true },
|
||||
"extern_id" : { dbs: "mld_melding_externnr", typ: "varchar", label: L("lcl_mld_externr"), track: true },
|
||||
"extern_sync": { dbs: "mld_melding_externsyncdate", typ: "datetime", label: L("extern_syncdate"), readonly: !user.has("WEB_FACTAB") },
|
||||
"kto_key" : { dbs: "mld_melding_kto_key", typ: "key", label: L("lcl_mld_linktoparent"), track: true },
|
||||
@@ -490,6 +491,7 @@ function model_issues(mld_key, params)
|
||||
delete_fld(jsondata, "kto_type", kto_key_readonly );
|
||||
delete_fld(jsondata, "subject", oms_readonly );
|
||||
delete_fld(jsondata, "description", oms_readonly );
|
||||
delete_fld(jsondata, "continuedfrom", true);
|
||||
}
|
||||
|
||||
function _validate_close (params, jsondata, the_key) /* uit: mld_close_save.asp */
|
||||
@@ -753,6 +755,19 @@ function model_issues(mld_key, params)
|
||||
{ // Kon ook geen default kostenplaats vinden.
|
||||
api2.error(500, "Account could not be validated");
|
||||
}
|
||||
|
||||
if (jsondata.continuedfrom)
|
||||
{
|
||||
var sql = "SELECT COUNT(m.mld_workflowstep_key) is_workflow"
|
||||
+ " FROM mld_melding m"
|
||||
+ " WHERE m.mld_melding_key = " + jsondata.continuedfrom;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var isWorkflow = oRs("is_workflow").Value != 0;
|
||||
oRs.Close();
|
||||
if (isWorkflow)
|
||||
api2.error(500, "Issue is part of workflow. Cannot be continued");
|
||||
}
|
||||
|
||||
jsondata.account = kpkey;
|
||||
if (!jsondata.issuedate)
|
||||
jsondata.issuedate = new Date();
|
||||
|
||||
@@ -333,9 +333,9 @@ function model_reports(fac_usrrap_key)
|
||||
};
|
||||
// Voor gewone rapporten zijn expressies via tablesql opgelost
|
||||
// Styled rapporten gaan echter via xml.make_xml2 welke tablesql niet gebruikt
|
||||
if (model.styling && (model.styling & 1))
|
||||
if (model.styling && (model.styling & 1))
|
||||
{
|
||||
field.sql = usrrap.columns[i].expression;
|
||||
field.sql = usrrap.columns[i].expression;
|
||||
}
|
||||
|
||||
if (usrrap.columns[i].urllink)
|
||||
@@ -519,7 +519,7 @@ function report_GET(params)
|
||||
if (fld in params.filter)
|
||||
transitList.push(fld);
|
||||
}
|
||||
params.urllink.link = params.urllink.link.replace(/\&##TRANSIT##/i, buildTransitParam(transitList));
|
||||
params.urllink.link = params.urllink.link.replace(/\&##TRANSIT##/i, "&scf_transit=" + transitList.join(",") + buildTransitParam(transitList) + "&scf_transitend=1");
|
||||
}
|
||||
|
||||
if (params.columns && params.groupby && params.groupby.length > 0)
|
||||
|
||||
@@ -56,10 +56,14 @@ function onChangeLocatie()
|
||||
}
|
||||
|
||||
function changeLocatieCallback(data) {
|
||||
if (data.length == 1 && typeof sgBld != "undefined" && !sgBld.isReadOnly()) {
|
||||
$("#gebouwkey").val(data[0]);
|
||||
if (typeof sgBld != "undefined") {
|
||||
if (data.length == 1 && !sgBld.isReadonly()) {
|
||||
sgBld.setValue(data[0].key, data[0].name);
|
||||
}
|
||||
} else {
|
||||
var init_act_key = $("#actie option:selected").val();
|
||||
fill_actie((data[0]?.key || -1), init_act_key);
|
||||
}
|
||||
|
||||
onChangeGebouw();
|
||||
get_freeprk_info();
|
||||
}
|
||||
@@ -207,8 +211,10 @@ function fill_actie(alg_gebouw_key, init_act_key)
|
||||
{
|
||||
var sel = -1;
|
||||
var def = -1;
|
||||
var init_key = (init_act_key ? init_act_key : -1);
|
||||
$("#actie").empty().append($("<option>").val(-1).html(""));
|
||||
var init_key = (init_act_key && init_act_key != -1 ? init_act_key : -1);
|
||||
$("#actie").empty();
|
||||
if (data.length > 1)
|
||||
$("#actie").append($("<option>").val(-1).html(""));
|
||||
for (var i=0; i< data.length; i++)
|
||||
{
|
||||
$("#actie").append($("<option>")
|
||||
|
||||
@@ -119,10 +119,8 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
<% if (!minfo) { %>
|
||||
if ($("#locatiekey").val() > 0)
|
||||
{
|
||||
window.afterfiltersready = function () { document.forms.u2.submit() };
|
||||
window.afterfiltersready = function () { document.forms.u2.submit() };
|
||||
}
|
||||
|
||||
|
||||
<% } %>
|
||||
<% } %>
|
||||
});
|
||||
@@ -245,7 +243,6 @@ SEARCH_BLOCK_START();
|
||||
else
|
||||
var endlevel = 2; // locatie
|
||||
}
|
||||
var pstartlevel = (alg_startlevel >= 0? alg_startlevel : startlevel);
|
||||
FCLTplaatsselector(authparams.ALGreadlevel,
|
||||
{ regiokey: regio_key,
|
||||
districtkey: district_key, // indien startlevel 2 is, dan wordt deze parameter niet gebruikt
|
||||
@@ -254,6 +251,7 @@ SEARCH_BLOCK_START();
|
||||
verdiepingkey: verdieping_key, // indien eindlevel 2 is, dan wordt deze parameter niet gebruikt
|
||||
onLocChange: "onChangeLocatie()",
|
||||
onGebChange: "onChangeGebouw()",
|
||||
//autoselect: true,
|
||||
multitoggle: 4,
|
||||
multionchange: true,
|
||||
startlevel: alg_startlevel >= 0? alg_startlevel : startlevel,
|
||||
|
||||
@@ -30,10 +30,7 @@ function onChangeLocatie()
|
||||
, { req_info: "locatie_gebouwen"
|
||||
, alg_locatie_key: $("#locatiekey").val()
|
||||
}
|
||||
, function(data) {
|
||||
$("#gebouwkey").val( (data.length==1 ? data[0] : -1) );
|
||||
onChangeGebouw();
|
||||
}
|
||||
, function(data) {}
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@@ -95,7 +95,10 @@ else
|
||||
function MMap_onClick(SlnkEvent)
|
||||
{
|
||||
console.log(SlnkEvent);
|
||||
$("#clicked").show().html("Clicked X=" + Math.round(SlnkEvent.dwgX) + " Y=" + Math.round(SlnkEvent.dwgY));
|
||||
var txt = "Clicked X=" + Math.round(SlnkEvent.dwgX) + " Y=" + Math.round(SlnkEvent.dwgY);
|
||||
if (SlnkEvent.ContourKey)
|
||||
txt += " ({0})".format(SlnkEvent.ContourKey)
|
||||
$("#clicked").show().html(txt);
|
||||
return false; // Don't process
|
||||
}
|
||||
|
||||
|
||||
@@ -54,7 +54,7 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
ROFIELDTR("fld", L("lcl_location"), loc);
|
||||
ROFIELDTR("fld", L("lcl_building"), bld);
|
||||
ROFIELDTR("fld", L("lcl_floor"), flr);
|
||||
FILEPICKERTR("file", L("lcl_fg_tek_file"), file_name, { "key": cad_tek_key, "module": "FGII", "defaultValue": L("lcl_fg_tek_file") });
|
||||
FILEPICKERTR("file", L("lcl_fg_tek_file"), file_name, { "key": cad_tek_key, "module": "FGII", "icon": "fa-layer-group", "defaultValue": L("lcl_fg_tek_file") });
|
||||
|
||||
MODAL_BLOCK_END();
|
||||
|
||||
|
||||
@@ -27,10 +27,8 @@ if (chatdata.messages)
|
||||
result.messages = chatdata.messages[fromchannelId];
|
||||
delete chatdata.messages[fromchannelId];
|
||||
Application(chat_data_name) = JSON.stringify(chatdata);
|
||||
if (result.messages)
|
||||
{
|
||||
var last_index = result.messages.length-1;
|
||||
result.messages[last_index].safe_message = safe.fclthtml(result.messages[last_index].message, {"mldlink": true, "cntlink": true, "faqlink": true});
|
||||
for (var i in result.messages) {
|
||||
result.messages[i].safe_message = safe.fclthtml(result.messages[i].message, { "fcltlinks": true });
|
||||
}
|
||||
}
|
||||
Application.UnLock();
|
||||
|
||||
@@ -86,7 +86,6 @@
|
||||
<script>
|
||||
var chatReadchannelId = "<%=safe.jsstring(chatReadchannelId)%>"; // wijzelf
|
||||
var chatSendchannelId = "<%=safe.jsstring(chatSendchannelId)%>"; // de ander
|
||||
var chatIncoming = (<%=prs_key%> > 0);
|
||||
notify.signal(chatSendchannelId, chatReadchannelId);
|
||||
|
||||
function add2chat(messages)
|
||||
@@ -97,8 +96,7 @@
|
||||
extraClass += messages[i].aborted?' aborted' : '';
|
||||
extraClass += messages[i].inactive?' inactive' : '';
|
||||
extraClass += messages[i].mine?' self' : ' other';
|
||||
var theMessage = (chatIncoming && !messages[i].mine ? messages[i].safe_message : messages[i].message);
|
||||
$("#chathistory").prepend($('<span>').addClass('chatmsg'+extraClass).html(theMessage))
|
||||
$("#chathistory").prepend($('<span>').addClass('chatmsg'+extraClass).html(messages[i].safe_message))
|
||||
.prepend($('<span>').addClass('chatfrom'+extraClass).text(messages[i].fromname))
|
||||
.prepend($('<span>').addClass('chattime').text(messages[i].sincetime));
|
||||
}
|
||||
@@ -131,14 +129,14 @@
|
||||
// session ended due to inactivity
|
||||
if (data.end == 1)
|
||||
{
|
||||
add2chat([{message: "<%=L('lcl_chat_inactive_ended')%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", inactive: true, mine: false}]);
|
||||
add2chat([{safe_message: "<%=L('lcl_chat_inactive_ended')%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", inactive: true, mine: false}]);
|
||||
$("#chat, span.sendbutton").attr('readonly', true);
|
||||
return false; // stop polling notify
|
||||
}
|
||||
// session aborted by user
|
||||
else if (data.end == 2)
|
||||
{
|
||||
add2chat([{message: "<%=L('lcl_chat_user_ended')%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", aborted: true, mine: false}]);
|
||||
add2chat([{safe_message: "<%=L('lcl_chat_user_ended')%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", aborted: true, mine: false}]);
|
||||
$("#chat, span.sendbutton").attr('readonly', true);
|
||||
return false; // stop polling notify
|
||||
}
|
||||
@@ -154,18 +152,18 @@
|
||||
ago15.setMinutes(ago15.getMinutes() - 15);
|
||||
if (!ended && last_alive < ago15.getTime())
|
||||
{
|
||||
add2chat([{message: "<%=L("lcl_chat_ended")%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", inactive: true, system: true, mine: false}]);
|
||||
add2chat([{safe_message: "<%=L("lcl_chat_ended")%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", inactive: true, system: true, mine: false}]);
|
||||
$("#chat, span.sendbutton").attr('readonly', true);
|
||||
notify.end(chatSendchannelId, chatReadchannelId, 1); // session ended due to inactivity
|
||||
ended = true;
|
||||
return false;
|
||||
} else if (!warning_2 && last_alive < ago14.getTime())
|
||||
{
|
||||
add2chat([{message: "<%=L("lcl_chat_inactive_warning_2")%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", system: true, mine: false}]);
|
||||
add2chat([{safe_message: "<%=L("lcl_chat_inactive_warning_2")%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", system: true, mine: false}]);
|
||||
warning_2 = true;
|
||||
} else if (!warning_1 && last_alive < ago10.getTime())
|
||||
{
|
||||
add2chat([{message: "<%=L("lcl_chat_inactive_warning_1")%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", system: true, mine: false}]);
|
||||
add2chat([{safe_message: "<%=L("lcl_chat_inactive_warning_1")%>", sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_system')%>", system: true, mine: false}]);
|
||||
warning_1 = true;
|
||||
}
|
||||
}
|
||||
@@ -189,15 +187,20 @@
|
||||
function chat_send()
|
||||
{
|
||||
var msg = $("textarea#chat").val();
|
||||
if (msg)
|
||||
{
|
||||
if (msg) {
|
||||
$("textarea#chat").val("");
|
||||
chat_dosend(msg);
|
||||
$.getJSON("../Shared/get_shared_info.asp", {
|
||||
req_info: "eval_bb_code",
|
||||
fcltlinks: 1,
|
||||
input: msg
|
||||
}, function (json) {
|
||||
add2chat([{ safe_message: json.fclthtml, sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_selfname')%>", mine: true }]);
|
||||
chat_dosend(msg);
|
||||
});
|
||||
}
|
||||
}
|
||||
function chat_dosend(msg)
|
||||
{
|
||||
add2chat([{message: msg, sincetime: toTimeString(new Date(), true), fromname: "<%=L('lcl_chat_selfname')%>", mine: true}]);
|
||||
$.post( "./ChatSend.asp",
|
||||
{
|
||||
fromchannelId: chatReadchannelId,
|
||||
@@ -216,8 +219,8 @@
|
||||
|
||||
$(function () {
|
||||
FcltMgr.startEdit(window); // hot tab
|
||||
add2chat([{message: L("lcl_chat_initialmsg"), sincetime: toTimeString(new Date(), true), fromname: "<%=(prs_key > 0 ? L('lcl_chat_selfname') : L('lcl_chatter_naam'))%>", mine: <%=prs_key > 0 ? "true" : "false"%> }]);
|
||||
add2chat([{message: "<%=safe.jsstring(startMessage)%>", sincetime: toTimeString(new Date(), true), fromname: "<%=safe.jsstring(prs_key > 0 ? other : L('lcl_chat_selfname'))%>", mine: <%=prs_key > 0 ? "false" : "true"%> }]);
|
||||
add2chat([{safe_message: L("lcl_chat_initialmsg"), sincetime: toTimeString(new Date(), true), fromname: "<%=(prs_key > 0 ? L('lcl_chat_selfname') : L('lcl_chatter_naam'))%>", mine: <%=prs_key > 0 ? "true" : "false"%> }]);
|
||||
add2chat([{safe_message: "<%=safe.jsstring(safe.fclthtml(startMessage, { "fcltlinks": true }))%>", sincetime: toTimeString(new Date(), true), fromname: "<%=safe.jsstring(prs_key > 0 ? other : L('lcl_chat_selfname'))%>", mine: <%=prs_key > 0 ? "false" : "true"%> }]);
|
||||
$("#chat").on("keydown", function(event) {
|
||||
if (event.keyCode == 13 && !event.shiftKey) {
|
||||
event.preventDefault();
|
||||
@@ -233,8 +236,8 @@
|
||||
<!--Debug: reading channel <%=safe.html(chatReadchannelId)%><br>sending channel <%=safe.html(chatSendchannelId)%>-->
|
||||
<div id="chatinput" class="chatinput">
|
||||
<div class="text-wrapper">
|
||||
<textarea id="chat" class="fldtxt" placeholder='<%=L("lcl_chat_entermessage")%>'></textarea>
|
||||
<span class="sendbutton" onclick="chat_send()" title=<%=safe.htmlattr(L("lcl_chat_send"))%>><%=I("fa-paper-plane fa-lg")%></span>
|
||||
<textarea id="chat" class="fldtxt" placeholder="<%=L("lcl_chat_entermessage")%>"></textarea>
|
||||
<span class="sendbutton" onclick="chat_send()" title="<%=safe.htmlattr(L("lcl_chat_send"))%>"><%=I("fa-paper-plane fa-lg")%></span>
|
||||
</div>
|
||||
|
||||
<div id="chathistory" class="chathistory"></div>
|
||||
|
||||
@@ -39,6 +39,7 @@ function cleanurl(purl)
|
||||
autourl = autourl.replace(/[\&|\?]from_search_key=\d+/, "");
|
||||
autourl = autourl.replace(/[\&|\?]asWidget=\d/, "");
|
||||
autourl = autourl.replace(/[\&|\?]fcltfilters=.*/, "");
|
||||
autourl = autourl.replace(/[\&|\?]scf_transit=.*&scf_transitend=1/, "");
|
||||
autourl = autourl.replace(/[\&|\?]$/, "");
|
||||
|
||||
__Log("Cleanurl: " + autourl);
|
||||
@@ -92,7 +93,7 @@ if (unpin)
|
||||
else
|
||||
{
|
||||
var tab_count = getFParamInt("tab_count", 1); // Wordt alleen bij taboption = "A" meegegeven
|
||||
var autoopenurl_arr = getFParamArray("autoopenurl", []);
|
||||
var autoopenurl_arr = getFParamArray("autoopenurl", [], true); // Elk element van "autoopenurl" niet splitsen (want er kunnen komma's in de titel staan)
|
||||
var autoopenttl_arr = getFParamArray("autoopenttl", [], true); // Elk element van "autoopenttl" niet splitsen (want er kunnen komma's in de titel staan)
|
||||
var filters_arr = getFParamArray("filters", [], true); // Elk element van "filters" niet splitsen!
|
||||
var advfilters_arr = getFParamArray("advfilters", [], true); // Elk element van "advfilters" niet splitsen!
|
||||
|
||||
@@ -189,12 +189,9 @@ function prettyJson(j)
|
||||
+ " aria-controls='" + itm + "'"
|
||||
+ " data-default-title='" + safe.htmlattr(itm) + "'"
|
||||
+ " data-module='STYLE'"
|
||||
+ " data-new='1'"
|
||||
+ " data-upload-url='" + safe.htmlattr(protectQS.create("../shared/BijlagenForm.asp?module=STYLE&itm=" + Server.URLEncode(itm))) + "'>"
|
||||
+ " data-upload-url='" + safe.htmlattr(protectQS.create("../shared/BijlagenForm.asp?module=STYLE")) + "'>"
|
||||
+ " </span>"
|
||||
+ " <span class='default-clickable-icon symbol-delete' aria-controls='" + safe.htmlattr(itm) + "'"
|
||||
+ " data-delete-url='" + safe.htmlattr(protectQS.create(rooturl + "/appl/Shared/Bijlagenform_delete.asp?style=" + itm + "&module=STYLE" + (con ? "&DoDelete=" + Server.URLEncode(con) : ""))) + "'"
|
||||
+ " >"
|
||||
+ " <span class='default-clickable-icon symbol-delete' aria-controls='" + safe.htmlattr(itm) + "'>"
|
||||
+ I("fa-trash-alt")
|
||||
+ " </span>"
|
||||
+ " </td>");
|
||||
@@ -202,7 +199,11 @@ function prettyJson(j)
|
||||
<td><input class="fld" id='<%=safe.htmlattr(itm)%>' name='<%=safe.htmlattr(itm)%>' value='<%=safe.htmlattr(con)%>'></td>
|
||||
<%} %>
|
||||
<td style="text-align:right"><% =(act && (FCLTHeader.defaultTemplate[itm]).match(/^#(?!#)|^rgb/i) || act.match(/^#(?!#)|^rgb/i)) ? '<div class="color-preview" style="color:'+safe.htmlattr(act)+'">' + I("fa-square fa-2x", { fastyle: "fas" }) + '</div>' : '' %></td>
|
||||
<% if (itm.slice(-5) === "image" && act && act.match(/^## .* ##$/) === null) { %>
|
||||
<td><span class="details" onClick="parent.FcltMgr.windowopen('<%=safe.htmlattr(S("style_image_path") + "/" + act)%>');"><%=safe.html(act)%></span></td>
|
||||
<% } else { %>
|
||||
<td><%=safe.html(act)%></td>
|
||||
<% } %>
|
||||
</tr><%
|
||||
}
|
||||
%>
|
||||
|
||||
@@ -15,14 +15,17 @@ function init_reportx()
|
||||
{
|
||||
if (params_js.model == "report")
|
||||
{
|
||||
$("#filter").change( change_filter );
|
||||
if ($("#filter").val() == "P")
|
||||
$("#expression").removeClass("required").prop("disabled", true);
|
||||
$("input[name=fac_usrrap_functie1]").change(function() {change_styling(); });
|
||||
$("input[name=fac_usrrap_functie2]").change(function() {change_styling(); });
|
||||
$("#graph").change(function() {change_graph(); });
|
||||
if ($("#graph").val() != 0)
|
||||
$("#graph_type").addClass("required");
|
||||
}
|
||||
else if (params_js.model == "columns")
|
||||
{
|
||||
$("#filter").change( change_filter );
|
||||
if ($("#filter").val() == "P")
|
||||
$("#expression").removeClass("required").prop("disabled", true);
|
||||
|
||||
if ($("#urllink"))
|
||||
{
|
||||
@@ -38,9 +41,7 @@ function init_reportx()
|
||||
$("#visible option[value='U']").attr("disabled", true);
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (params_js.model == "columns")
|
||||
{
|
||||
|
||||
if (!params_js.hasfactab && params_js.id == -1)
|
||||
{
|
||||
$("#name").closest("tr").hide();
|
||||
@@ -138,6 +139,9 @@ function pre_submit()
|
||||
|
||||
function kenmerkkolom(p_autostart)
|
||||
{
|
||||
if ($("#expression").is(":disabled")) {
|
||||
return false;
|
||||
}
|
||||
var col_id = -1;
|
||||
var rap_id = $("#fac_usrrap_key").val();
|
||||
// Haal id van reportcolumns uit de url-parameters.
|
||||
|
||||
@@ -110,13 +110,13 @@ var JSON_Result = true;
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
// Custom queue
|
||||
// Custom queue old
|
||||
var sql = "SELECT count(*) cnt,"
|
||||
+ " MIN(fac_notificatie_datum) fac_notificatie_datum,"
|
||||
+ " MAX(fac_notificatie_datum) max_notificatie_datum"
|
||||
+ " FROM fac_v_notifyqueue"
|
||||
+ " WHERE BITAND (fac_notificatie_status, " + (puo_const.STATUS_CUST) + ") > 0"
|
||||
+ " AND fac_notificatie_datum < SYSDATE - 1/2/24"; // minstens half uur oud
|
||||
+ " AND fac_notificatie_datum < TRUNC(SYSDATE)";
|
||||
var oRs = Oracle.Execute(sql);
|
||||
result.custqueue = oRs("cnt").Value;
|
||||
if (result.custqueue)
|
||||
@@ -126,6 +126,22 @@ var JSON_Result = true;
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
// Custom queue today
|
||||
var sql = "SELECT count(*) cnt,"
|
||||
+ " MIN(fac_notificatie_datum) fac_notificatie_datum,"
|
||||
+ " MAX(fac_notificatie_datum) max_notificatie_datum"
|
||||
+ " FROM fac_v_notifyqueue"
|
||||
+ " WHERE BITAND (fac_notificatie_status, " + (puo_const.STATUS_CUST) + ") > 0"
|
||||
+ " AND fac_notificatie_datum > TRUNC(SYSDATE)"; // minstens half uur oud
|
||||
var oRs = Oracle.Execute(sql);
|
||||
result.custqueuenew = oRs("cnt").Value;
|
||||
if (result.custqueuenew)
|
||||
{
|
||||
result.custnotidatenew = new Date(oRs("fac_notificatie_datum").Value);
|
||||
result.lastcustnotidatenew = new Date(oRs("max_notificatie_datum").Value);
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
// Krachtige users. Pas op: fac_v_webgebruiker is hier uitgewerkt omdat die bij UWV te traag was
|
||||
var sql = "SELECT p.prs_perslid_key, "
|
||||
+ " prs_perslid_oslogin, "
|
||||
|
||||
@@ -114,7 +114,7 @@ prs.checkAutorisation(prs_key);
|
||||
{
|
||||
|
||||
page = "../mgt/fac_notificatie_job.asp?mode=list&niveau=S&receiver=" + prs_key;
|
||||
IFRAMER("appFrame", page, { icon: "fa-list", title: L("lcl_scheduled_reports") } );
|
||||
IFRAMER("rapFrame", page, { icon: "fa-list", title: L("lcl_scheduled_reports") } );
|
||||
}
|
||||
|
||||
if (hasAppRegistrations)
|
||||
|
||||
@@ -1332,7 +1332,7 @@ if (this.S) // (deze test werkt niet vanuit verify.asp.inc)
|
||||
{
|
||||
if (!S("puo_fclt_web_url"))
|
||||
{
|
||||
return { result: resultcodes.warning, message: "S('puo_fclt_web_url') is not set.<br>Embedded photos in e-mails will not be available" };
|
||||
return { result: resultcodes.error, message: "S('puo_fclt_web_url') is not set.<br>Scheduled reports and embedded photos in e-mails will not be available" };
|
||||
}
|
||||
var puo_web_url = S("puo_fclt_web_url") + "/appl/fac/fac_verify_test.asp?checkINSTANCE=1&fac_id=" + custID;
|
||||
// Controleer of we via S("puo_fclt_web_url") op dezelfde webserver uitkomen als de huidige request
|
||||
|
||||
@@ -38,7 +38,7 @@ FCLTHeader.Requires({ plugins:["jQuery"], js: ["jQuery-ui.js"]});
|
||||
$(".card-header-content").append("<span class='filter fal fa-search'><input type='text' id='autofilter' placeholder='" + L("lcl_autofilter_eng") + "'></span>");
|
||||
|
||||
$("#autofilter").on("keyup", e => {
|
||||
var searchStr = $("#autofilter").val();
|
||||
var searchStr = $("#autofilter").val().toLowerCase();
|
||||
$(".fa-icon-picker").find("i").each((i, elem) => {
|
||||
$(elem).toggle(String($(elem).attr("title")).indexOf(searchStr) > -1);
|
||||
});
|
||||
|
||||
@@ -253,7 +253,8 @@ function impReadStream(fileStream, import_app_key, params)
|
||||
}
|
||||
|
||||
// De _IMPORT_ proc zal doorgaans de data van FAC_IMP_FILE naar bijv. FAC_IMP_CATALOGUS overzetten
|
||||
sql = "BEGIN " + procprefix + "_IMPORT_" + import_app + "(" + import_key + "); END;"
|
||||
var extra_params = (params.proc_params ? params.proc_params : "");
|
||||
sql = "BEGIN " + procprefix + "_IMPORT_" + import_app + "(" + import_key + extra_params + "); END;"
|
||||
Oracle.Execute(sql);
|
||||
|
||||
var read_lines = teller-1;
|
||||
|
||||
@@ -2743,10 +2743,11 @@ ins = {checkAutLevel:
|
||||
|
||||
var v_sqlPositionParent = ( params.parent_key
|
||||
? " AND ( (i.ins_alg_ruimte_type IN ('A','P') AND dl.alg_locatie_key IS NULL)"
|
||||
+ " OR (i.ins_alg_ruimte_type NOT IN ('A','P') AND dl.alg_locatie_key = o.alg_locatie_key AND bld.alg_gebouw_key = o.alg_gebouw_key)"
|
||||
+ " OR (i.ins_alg_ruimte_type NOT IN ('A','P') "
|
||||
+ " AND dl.alg_locatie_key = o.alg_locatie_key)"
|
||||
+ " )"
|
||||
: " AND dl.alg_locatie_key = o.alg_locatie_key"
|
||||
+" AND bld.alg_gebouw_key = o.alg_gebouw_key"
|
||||
+" AND bld.alg_gebouw_key(+) = o.alg_gebouw_key"
|
||||
);
|
||||
|
||||
if (auth_org)
|
||||
@@ -6067,6 +6068,10 @@ ins = {checkAutLevel:
|
||||
}
|
||||
}
|
||||
|
||||
if (commit)
|
||||
// Alleen bij het doorvoeren van een scenario het xcp record (ins_srtcontroledl_xcp_key) verwijderen.
|
||||
Oracle.Execute("DELETE FROM ins_srtcontroledl_xcp WHERE ins_srtcontroledl_xcp_key = " + xcp_key);
|
||||
|
||||
if (err && err.friendlyMsg)
|
||||
{
|
||||
result.warning = err.friendlyMsg;
|
||||
|
||||
@@ -519,7 +519,7 @@ if (!catclose && ins_key_arr.length == 1)
|
||||
var autoconfirm = true;
|
||||
var nextdatum;
|
||||
var uitvoerdatum;
|
||||
<% if (!eersteinspectie)
|
||||
<% if (ingesloten.length == 1 && !eersteinspectie)
|
||||
{ // Het is NIET de eerste inspectie.
|
||||
var sqln = "SELECT ins.nextcyclusdate (" + ingesloten[0] + ", " + ingeslotensc[0] + ", 1, 1) nextdate FROM DUAL"
|
||||
var oRsn = Oracle.Execute(sqln);
|
||||
|
||||
@@ -52,6 +52,7 @@ if (freeze && groupby < 9)
|
||||
var disc_key_arr = getFParamInt("disc_key_arr", []);
|
||||
var srtgroep_key_arr = getFParamInt("srtgroep_key_arr", []);
|
||||
var srtdeel_key_arr = getFParamInt("srtdeel_key_arr", []);
|
||||
var srtgebouw_key_arr = getFParamIntArray("srtgebouw_key_arr", []);
|
||||
var groep_str_arr = getFParamArray("groep_str_arr", []); // Groep
|
||||
var categorie_key = getFParamInt("categorie_key", -1); // Categorie
|
||||
var srtcontrole_key_arr = getFParamIntArray("srtcontrole_key_arr", []); // Taak
|
||||
@@ -91,6 +92,7 @@ if (freeze && groupby < 9)
|
||||
disc_key_arr: disc_key_arr,
|
||||
srtgroep_key_arr: srtgroep_key_arr,
|
||||
srtdeel_key_arr: srtdeel_key_arr,
|
||||
srtgebouw_key_arr: srtgebouw_key_arr,
|
||||
groep_str_arr: groep_str_arr,
|
||||
categorie_key: categorie_key,
|
||||
srtcontrole_key_arr: srtcontrole_key_arr,
|
||||
|
||||
@@ -638,6 +638,7 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
werkplekkey: wpl_key, // indien eindlevel 5 is, dan wordt deze parameter niet gebruikt
|
||||
terrein: true,
|
||||
multitoggle: 5,
|
||||
multionchange: true,
|
||||
onRegChange: alg_startlevel==0? "UnSelectOwner()" : null,
|
||||
onDisChange: alg_startlevel==1? "UnSelectOwner()" : null,
|
||||
onLocChange: alg_startlevel==2? "UnSelectOwner()" : null,
|
||||
@@ -661,6 +662,7 @@ var authparams = user.checkAutorisation(autfunction);
|
||||
startlevel: alg_startlevel,
|
||||
eindlevel: (frontend ? 2 : 3), // frontend: locatie(2), fronto: gebouw(3)
|
||||
multitoggle: 5,
|
||||
multionchange: true,
|
||||
trclass: "noxd",
|
||||
whenEmpty: L("lcl_search_generic"), // want filter
|
||||
cadSelect: true,
|
||||
|
||||
@@ -75,12 +75,42 @@ function UnSelectPos()
|
||||
{
|
||||
switch (alg_startlevel)
|
||||
{
|
||||
case 0: sgReg.setValue(-1, ""); // zou dat niet al voldoende moeten zijn?
|
||||
case 1: if (typeof sgDis !== "undefined") sgDis.setValue(-1, "");
|
||||
case 2: if (typeof sgLoc !== "undefined") sgLoc.setValue(-1, "");
|
||||
case 3: if (typeof sgBld !== "undefined") sgBld.setValue(-1, "");
|
||||
case 4: if (typeof sgFlr !== "undefined") sgFlr.setValue(-1, "");
|
||||
case 5: if (typeof sgRoom !== "undefined") sgRoom.setValue(-1, "");
|
||||
case 0: if ($("#regio").prop("tagName") == "INPUT")
|
||||
{
|
||||
sgReg.setValue(-1, ""); // zou dat niet al voldoende moeten zijn?
|
||||
}
|
||||
else // $("#regio").prop("tagName") == "SELECT"
|
||||
$("#regio option:selected").prop("selected", false);
|
||||
case 1: if ($("#district").prop("tagName") == "INPUT")
|
||||
{
|
||||
if (typeof sgDis !== "undefined") sgDis.setValue(-1, "");
|
||||
}
|
||||
else // $("#district").prop("tagName") == "SELECT"
|
||||
$("#district option:selected").prop("selected", false);
|
||||
case 2: if ($("#locatie").prop("tagName") == "INPUT")
|
||||
{
|
||||
if (typeof sgLoc !== "undefined") sgLoc.setValue(-1, "");
|
||||
}
|
||||
else // $("#locatie").prop("tagName") == "SELECT"
|
||||
$("#locatie option:selected").prop("selected", false);
|
||||
case 3: if ($("#gebouw").prop("tagName") == "INPUT")
|
||||
{
|
||||
if (typeof sgBld !== "undefined") sgBld.setValue(-1, "");
|
||||
}
|
||||
else // $("#gebouw").prop("tagName") == "SELECT"
|
||||
$("#gebouw option:selected").prop("selected", false);
|
||||
case 4: if ($("#verdieping").prop("tagName") == "INPUT")
|
||||
{
|
||||
if (typeof sgFlr !== "undefined") sgFlr.setValue(-1, "");
|
||||
}
|
||||
else // $("#verdieping").prop("tagName") == "SELECT"
|
||||
$("#verdieping option:selected").prop("selected", false);
|
||||
case 5: if ($("#ruimte").prop("tagName") == "INPUT")
|
||||
{
|
||||
if (typeof sgRoom !== "undefined") sgRoom.setValue(-1, "");
|
||||
}
|
||||
else // $("#ruimte").prop("tagName") == "SELECT"
|
||||
$("#ruimte option:selected").prop("selected", false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -505,11 +505,16 @@ var iface =
|
||||
if (!file_input.value) { // Leeggemaakt
|
||||
return false;
|
||||
}
|
||||
var formData = new FormData();
|
||||
for (var i = 0; i < file_input.files.length; i++) {
|
||||
formData.append(file_input.name, file_input.files[i]);
|
||||
}
|
||||
formData.append("RVT_token", window.RVT_token);
|
||||
// Hier wordt $.ajax gebruikt ipv $.post omdat we contentType & processData = false willen verzenden, dat kan niet met $.post
|
||||
$.ajax({
|
||||
"url": $(file_input).data("upload-url"),
|
||||
"type": "POST",
|
||||
"data": new FormData(file_input.form),
|
||||
"data": formData,
|
||||
"dataType": "json",
|
||||
"processData": false,
|
||||
"contentType": false,
|
||||
@@ -563,20 +568,24 @@ var iface =
|
||||
if (valType == 1 || isPlaceholder) {
|
||||
iface.update_symbol_fld({ "delete": true }, fld);
|
||||
} else if (valType == 2) {
|
||||
FcltMgr.confirm(L("lcl_delete") + " " + fileName + "?", function() {
|
||||
let data = {};
|
||||
protectRequest.dataToken(data);
|
||||
let url = $("[aria-controls=" + fld + "].symbol-delete").attr("data-delete-url");
|
||||
let isNew = $filebtn.data("new");
|
||||
if (isNew && $val_fld.val()) {
|
||||
url += "&newfilename=" + $val_fld.val();
|
||||
let url = $("[aria-controls=" + fld + "].symbol-delete").attr("data-delete-url");
|
||||
if (!url) { // Hier unlinken we alleen en hoeven we het bestand niet echt te deleten
|
||||
iface.update_symbol_fld({ "delete": true }, fld);
|
||||
} else {
|
||||
FcltMgr.confirm(L("lcl_delete") + " " + fileName + "?", function() {
|
||||
let data = {};
|
||||
protectRequest.dataToken(data);
|
||||
let isNew = $filebtn.data("new");
|
||||
if (isNew && $val_fld.val()) {
|
||||
url += "&newfilename=" + $val_fld.val();
|
||||
}
|
||||
$.post(
|
||||
url,
|
||||
data,
|
||||
FcltCallbackAndThen(function (json) { iface.update_symbol_fld({ "delete": true }, fld); })
|
||||
);
|
||||
});
|
||||
}
|
||||
$.post(
|
||||
url,
|
||||
data,
|
||||
FcltCallbackAndThen(function (json) { iface.update_symbol_fld({ "delete": true }, fld); })
|
||||
);
|
||||
});
|
||||
}
|
||||
},
|
||||
// Opent de iconpicker in een modal en callbacked naar update_symbol_fld
|
||||
@@ -611,14 +620,16 @@ var iface =
|
||||
$filebtn = $(".symbol-upload[aria-controls=" + fld + "]");
|
||||
$filebtn.val(json.fileName).attr("title", json.fileName); // Knop
|
||||
$val_fld.val(json.fileName).closest("td[data-type]").attr("data-type", "2");
|
||||
$del_btn.attr("data-delete-url", json.deleteUrl); // Om de delete knop te doen werken
|
||||
if (json.deleteUrl) {
|
||||
$del_btn.attr("data-delete-url", json.deleteUrl); // Om de delete knop te doen werken
|
||||
}
|
||||
}
|
||||
} else {
|
||||
iface.update_symbol_fld({ delete: true }, fld);
|
||||
}
|
||||
}
|
||||
} else if (json.delete) {
|
||||
$iconbtn.val($filebtn.data("default-value") || L("mgt_kenmerk_icon")).attr("title", $iconbtn.data("default-title"));
|
||||
$iconbtn.val(L("mgt_kenmerk_icon")).attr("title", $iconbtn.data("default-title"));
|
||||
$filebtn.val($filebtn.data("default-value") || L("lcl_image")).attr("title", $filebtn.data("default-title"));
|
||||
$val_fld.val("").closest("td[data-type]").attr("data-type", "0"); // Leeg
|
||||
$iconbtn.closest(".button-icon-wrapper").find("i").replaceWith(I("fa-flag")); // Default FA-icoon
|
||||
|
||||
@@ -131,7 +131,8 @@
|
||||
"fields": ["ins_deel_key"]
|
||||
},
|
||||
"prs_perslid": { "track": "#PRSUPD",
|
||||
"fields": ["prs_perslid_flags"]
|
||||
"fields": ["prs_perslid_flags",
|
||||
"prs_perslid_inactief"]
|
||||
},
|
||||
"fac_bookmark": { "track": null,
|
||||
"fields": ["fac_bookmark_id"]
|
||||
@@ -163,7 +164,7 @@
|
||||
fld.match(/externsyncdate$/) ||
|
||||
fld.match(/extsyncdate$/) ||
|
||||
fld.match(/extsyncd$/) ||
|
||||
fld.match(/externnr$/) ||
|
||||
fld.match(/externnr2?$/) ||
|
||||
fld.match(/externid$/) ||
|
||||
exception && inArray(fld, exception.fields))
|
||||
{
|
||||
|
||||
@@ -160,24 +160,38 @@ if (mode == "show" && res_ruimte_key > -1 && user.has("WEB_RESMGT")) {
|
||||
}
|
||||
|
||||
if (mode == "show" && res_ruimte_key > -1 && (S("msgraph_sync_level") & 6)) {
|
||||
var sql = "SELECT ''"
|
||||
+ " FROM res_rsv_ruimte rrr, res_ruimte_opstelling rro, res_ruimte rr"
|
||||
+ " WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key"
|
||||
+ " AND rro.res_ruimte_key = rr.res_ruimte_key"
|
||||
+ " AND rrr.res_rsv_ruimte_van > SYSDATE"
|
||||
+ " AND rr.res_ruimte_extern_id IS NOT NULL"
|
||||
+ " AND rrr.res_rsv_ruimte_verwijder IS NULL"
|
||||
+ " AND rrr.res_rsv_ruimte_externsyncdate IS NULL"
|
||||
+ " AND rrr.res_rsv_ruimte_externnr IS NULL"
|
||||
+ " AND rrr.res_rsv_ruimte_externnr2 IS NULL"
|
||||
+ " AND rro.res_ruimte_key = " + res_ruimte_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.EoF) {
|
||||
res_ruimtemodel_params.show.buttons.unshift(
|
||||
{ "title": L("res_ruimte_sync"), "tooltip": L("res_ruimte_sync_hint"), "id": "sync_outlook", "singlepress": true, "action": "sync_outlook", "icon": "fa-cloud-arrow-up" }
|
||||
);
|
||||
try {
|
||||
var fso = new ActiveXObject("Scripting.FileSystemObject");
|
||||
var configPath = Server.MapPath(custpath) + "\\Exchange\\exchange.config";
|
||||
if (fso.FileExists(configPath)) {
|
||||
var f = fso.OpenTextFile(configPath, 1);
|
||||
var config = eval("(" + f.ReadAll() + ")");
|
||||
f.Close();
|
||||
}
|
||||
} catch (e) {
|
||||
__DoLog(e.message, "#FF0000");
|
||||
}
|
||||
if (config) {
|
||||
var sql = "SELECT ''"
|
||||
+ " FROM res_rsv_ruimte rrr, res_ruimte_opstelling rro, res_ruimte rr"
|
||||
+ " WHERE rrr.res_ruimte_opstel_key = rro.res_ruimte_opstel_key"
|
||||
+ " AND rro.res_ruimte_key = rr.res_ruimte_key"
|
||||
+ " AND rrr.res_rsv_ruimte_tot >= TRUNC(SYSDATE) - " + config.fullpast
|
||||
+ " AND rrr.res_rsv_ruimte_van <= TRUNC(SYSDATE) + " + config.fullfuture
|
||||
+ " AND rr.res_ruimte_extern_id IS NOT NULL"
|
||||
+ " AND rrr.res_rsv_ruimte_verwijder IS NULL"
|
||||
+ " AND rrr.res_rsv_ruimte_externsyncdate IS NULL"
|
||||
+ " AND rrr.res_rsv_ruimte_externnr IS NULL"
|
||||
+ " AND rrr.res_rsv_ruimte_externnr2 IS NULL"
|
||||
+ " AND rro.res_ruimte_key = " + res_ruimte_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.EoF) {
|
||||
res_ruimtemodel_params.show.buttons.unshift(
|
||||
{ "title": L("res_ruimte_sync"), "tooltip": L("res_ruimte_sync_hint"), "id": "sync_outlook", "singlepress": true, "action": "sync_outlook", "icon": "fa-cloud-arrow-up" }
|
||||
);
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
scaffolding(res_ruimtemodel, res_ruimtemodel_params);
|
||||
|
||||
@@ -138,7 +138,8 @@ DOCTYPE_Disable = 1;
|
||||
}
|
||||
else
|
||||
{ // Fouten blijken als PNG terug te komen
|
||||
Response.contenttype = "image/png";
|
||||
var ctype = String(objXMLHTTP.getResponseHeader("Content-Type"));
|
||||
Response.contenttype = ctype;
|
||||
Response.BinaryWrite(objXMLHTTP.responseBody);
|
||||
//Response.End;
|
||||
|
||||
|
||||
@@ -222,9 +222,21 @@ for (var i = 0; i < ingesloten.length; i++)
|
||||
var err = Oracle.Execute(insIns.sql, true);
|
||||
}
|
||||
}
|
||||
|
||||
// Het inspectierecord (ins_deelsrtcontrole) verwijderen.
|
||||
Oracle.Execute("DELETE FROM ins_deelsrtcontrole"
|
||||
+ " WHERE ins_deel_key = " + ingesloten[i].ins_key
|
||||
+ " AND ins_srtcontrole_key = " + ingesloten[i].srtcont_key
|
||||
+ " AND ins_scenario_key = " + scen_key);
|
||||
|
||||
if ((i % 100) == 99) // Modulus. Bij elke 100 committen.
|
||||
{
|
||||
Oracle.Commit();
|
||||
Oracle.Transaction();
|
||||
}
|
||||
}
|
||||
// Nu nog het scenario verwijderen.
|
||||
// Een scenario gooit via de cascade zijn ins_deelsrtcontrole en ins_srtcontroledl_xcp records mee weg.
|
||||
// Een scenario gooit via de cascade zijn ins_deelsrtcontrole en ins_srtcontroledl_xcp records mee weg. Maar die zijn al verwijderd.
|
||||
Oracle.Execute("DELETE FROM ins_scenario WHERE ins_scenario_key = " + scen_key);
|
||||
|
||||
Oracle.Commit();
|
||||
|
||||
@@ -359,7 +359,7 @@ FCLTHeader.Requires({ plugins: ["jQuery"],
|
||||
$("#btn_new").hide();
|
||||
$("#mjbnewmld").show();
|
||||
FcltMgr.resized(window);
|
||||
//$("#mld_key").val(-1); // Nieuwe melding => mld_key waarde -1 geven.
|
||||
$("#mld_key").val(-1); // Nieuwe melding => mld_key waarde -1 geven.
|
||||
$("#mld_key_show").removeClass("required");
|
||||
$("#mjbsubject").addClass("required");
|
||||
$("#stdm_show").addClass("required");
|
||||
|
||||
@@ -235,10 +235,13 @@ user.anything_todo_or_abort(((hasReadCTRUSE || hasReadCTRBOF) && scen_key == 1)
|
||||
if (S("mjb_start_year") >= start_year)
|
||||
start_year = S("mjb_start_year");
|
||||
|
||||
if (mode != 2)
|
||||
if (mode == 1)
|
||||
{ %>
|
||||
<input type="hidden" name="fromyear" value="<%=start_year%>">
|
||||
<% }
|
||||
//else if (mode == 2) // FCLTselector verderop.
|
||||
//else if (mode == 3) // Dan wordt door mjb_search_list.asp altijd het freeze jaar genomen.
|
||||
|
||||
RWFIELDTR("deel", "fld", L("lcl_obj_identification"), deel, { trclass: "primsearch", datatype: "text" });
|
||||
FCLTplaatsselector(authparamsINSUSE.ALGreadlevel,
|
||||
{ regiokey: reg_key,
|
||||
@@ -263,7 +266,7 @@ user.anything_todo_or_abort(((hasReadCTRUSE || hasReadCTRBOF) && scen_key == 1)
|
||||
module: "INS",
|
||||
filtercode: "I", // alleen disciplines met inspecties
|
||||
perslidKey: user_key,
|
||||
autfunctionKey: authparamsINSUSE.ALGreadlevel,
|
||||
autfunctionKey: authparamsINSUSE.autfunctionkey,
|
||||
autRW: "R",
|
||||
onChange: "onChangeDiscipline", // disgroepChanged
|
||||
multitoggle: true,
|
||||
@@ -595,6 +598,7 @@ user.anything_todo_or_abort(((hasReadCTRUSE || hasReadCTRBOF) && scen_key == 1)
|
||||
label: L("lcl_mjb_fromyear")
|
||||
});
|
||||
}
|
||||
//else if (mode == 3) // Dan wordt door mjb_search_list.asp altijd het freeze jaar genomen.
|
||||
|
||||
RWCHECKBOXTR("incbtw", "fldincbtw", L("lcl_mjb_inclusiefbtw"), incbtw, { html: " value='1' "});
|
||||
sql = "SELECT 1, " + safe.qL("lcl_district") + ", 1 FROM DUAL"
|
||||
|
||||
@@ -82,8 +82,8 @@ var mjb_show_years = S("mjb_show_years");
|
||||
|
||||
var groupby = getQParamInt("groupby"); // kan obv filtering nog wijzigen verderop
|
||||
var fulldetails = (groupby == 9); // Geen aggregate, dan kun je van alles manipuleren
|
||||
var fromyear = getQParamInt("fromyear", new Date().getFullYear());
|
||||
var toyear = getQParamInt("toyear", new Date().getFullYear());
|
||||
var fromyear = (mode == 3)? mjb_freeze_year : getQParamInt("fromyear", new Date().getFullYear());
|
||||
var toyear = (mode == 3)? mjb_freeze_year : getQParamInt("toyear", new Date().getFullYear());
|
||||
|
||||
var deel = getQParam("deel", ""); // Identieficatie
|
||||
var categorie_key = getQParamInt("categorie_key", -1); // Categorie
|
||||
@@ -1021,7 +1021,9 @@ var transitParam = buildTransitParam(["urole", "mode", "deel", "groep", "categor
|
||||
if (fulldetails)
|
||||
{
|
||||
rst.addAction({ action: "mjb_dragdrop", caption: L("lcl_mjb_dragdrop"), multi: true, multiOnce: true, onlyMulti: true });
|
||||
rst.addAction({ action: "mjb_moveYearBack", caption: L("lcl_mjb_move_back"), multi: true, multiOnce: true, onlyMulti: true });
|
||||
if (scenario == 1)
|
||||
// De button "Terugplannen" alleen in de actuele situatie tonen.
|
||||
rst.addAction({ action: "mjb_moveYearBack", caption: L("lcl_mjb_move_back"), multi: true, multiOnce: true, onlyMulti: true });
|
||||
}
|
||||
|
||||
if (scenario == 1)
|
||||
|
||||
@@ -216,7 +216,7 @@ function mjb_dragdrop_1x(evt, ins_key, srtcont_key, scen_key, dlsrtcont_key, sta
|
||||
}
|
||||
|
||||
function mjb_moveYearBack(rowArray, isMulti)
|
||||
{
|
||||
{ // Deze functie wordt alleen aangeroepen in de actuele situatie (scenario key is 1) (WOHW#79637).
|
||||
var ins_key_arr = [];
|
||||
var srtcont_key_arr = [];
|
||||
var dlsrtcont_key_arr = [];
|
||||
|
||||
@@ -522,12 +522,34 @@ mld = {
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
// Objecten verwijderen.
|
||||
// Als de verwijderde objecten taken hebben, dan moet de status van die taken van "Ter uitvoering(3)" teruggezet worden naar "Gaccepteerd(2)".
|
||||
sql = " SELECT ins_deel_key"
|
||||
+ " , ins_deelsrtcontrole_key"
|
||||
+ " FROM mld_melding_object"
|
||||
+ " WHERE mld_melding_key = " + mld_key
|
||||
+ " AND ins_deelsrtcontrole_key IS NOT NULL" // Alleen de objecten met taken.
|
||||
+ (obj_arr.length != 0
|
||||
? " AND ins_deel_key NOT IN (" + obj_arr.join(",") + ")" // Uitgezonderd de objecten die niet zijn verwijderd.
|
||||
: "");
|
||||
oRs = Oracle.Execute(sql);
|
||||
while(!oRs.eof)
|
||||
{ // Status terugzetten van "Ter uitvoering(3)" naar "Gaccepteerd(2)" en geef de bijpassende tracking en notificatie.
|
||||
// I.p.v. ins.setinspectstatus aan te roepen, roepen we zelf de database procedure aan.
|
||||
// Dan hoeven we hier het bestand ins.inc niet te includen.
|
||||
//ins.setinspectstatus(oRs("ins_deelsrtcontrole_key").Value, 2); // Geaccordeerd(2).
|
||||
var sql = "BEGIN ins.setinspectstatus(" + oRs("ins_deelsrtcontrole_key").Value + ", 2, " + user_key + "); END;"
|
||||
Oracle.Execute(sql);
|
||||
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
// Objecten verwijderen uit de melding.
|
||||
sql = " DELETE mld_melding_object"
|
||||
+ " WHERE mld_melding_key = " + mld_key
|
||||
+ (obj_arr.length != 0
|
||||
? " AND ins_deel_key NOT IN (" + obj_arr.join(",") + ")"
|
||||
: "")
|
||||
: "");
|
||||
Oracle.Execute(sql);
|
||||
|
||||
// Objecten opslaan.
|
||||
@@ -2659,12 +2681,7 @@ mld = {
|
||||
+ " , mld_melding_onderwerp"
|
||||
+ " , mld_melding_datum"
|
||||
+ " , mld_melding_actiedatum"
|
||||
+ " , (SELECT fac_tracking_datum"
|
||||
+ " FROM fac_tracking"
|
||||
+ " WHERE fac_tracking_refkey = mld_melding_key "
|
||||
+ " AND fac_srtnotificatie_key = (SELECT fac_srtnotificatie_key"
|
||||
+ " FROM fac_srtnotificatie"
|
||||
+ " WHERE fac_srtnotificatie_code = 'MLDAFM')) afmelddatum"
|
||||
+ " , fac.gettrackingdate('MLDAFM', mld_melding_key) afmelddatum"
|
||||
+ " , s.mld_ins_discipline_key stdm_ins_discipline_key"
|
||||
+ " , s.prs_dienst_key"
|
||||
+ " , m.mld_stdmelding_key"
|
||||
@@ -5952,7 +5969,7 @@ mld = {
|
||||
|
||||
if (mld_key > 0)
|
||||
{
|
||||
var sql = "SELECT d.ins_deel_key"
|
||||
var sql = "SELECT DISTINCT d.ins_deel_key"
|
||||
+ " , " + element_description + " deel"
|
||||
+ " , CASE"
|
||||
+ " WHEN d.ins_deel_t_uitvoertijd.eenheid = 'U'"
|
||||
|
||||
@@ -63,7 +63,9 @@ if (!mld_info.parent_key && (stdm_info.doublecheck == 2 || stdm_info.doublecheck
|
||||
// else if (stdm_info.alg_onrgoed_niveau == "L")
|
||||
// var where_alg = "org.alg_locatie_key = " + mld_info.loc_key;
|
||||
else if (stdm_info.alg_onrgoed_niveau == "L")
|
||||
where_alg = "m.mld_alg_locatie_key = " + mld_info.loc_key;
|
||||
var where_alg = "m.mld_alg_locatie_key = " + mld_info.loc_key;
|
||||
else // stdm_info.alg_onrgoed_niveau == null
|
||||
var where_alg = "1=1"
|
||||
|
||||
var where_obj = "";
|
||||
|
||||
@@ -76,6 +78,7 @@ if (!mld_info.parent_key && (stdm_info.doublecheck == 2 || stdm_info.doublecheck
|
||||
{ // Haal de key van dit ene object op.
|
||||
where_obj = " OR mo.ins_deel_key = " + oRs("ins_deel_key").value;
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
sql = "SELECT DISTINCT m.mld_melding_key"
|
||||
+ " FROM mld_melding m"
|
||||
@@ -93,6 +96,7 @@ if (!mld_info.parent_key && (stdm_info.doublecheck == 2 || stdm_info.doublecheck
|
||||
{ // Er is mogelijk een dubbele melding aanwezig
|
||||
result.maybeDouble = true;
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
Response.Write(JSON.stringify(result));
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
File: mld_edit_melding.js
|
||||
*/
|
||||
|
||||
var finishBeforeSubmit = [];
|
||||
function isGoodInteger(str)
|
||||
{
|
||||
var anum=/(^\d+$)/
|
||||
@@ -133,6 +134,8 @@ async function mld_submit()
|
||||
$("form[name=u2] input.expression:hidden").val("");
|
||||
$('#r_objs>option').prop("selected", "true"); // Zet selected zodat verplicht ze ziet en zodat waarden worden gesubmit
|
||||
|
||||
await Promise.all(finishBeforeSubmit);
|
||||
|
||||
// Standaard checks op verplichte velden, datum formaat, numeriek en float formaat, currency formaat.
|
||||
if (!await validateForm("u2"))
|
||||
return false;
|
||||
@@ -186,11 +189,18 @@ function loadKenmerk()
|
||||
+ (copy? "©=1" : "")
|
||||
+ (mld_key > 0 && !canFlexChange? "&reado=1" : "")
|
||||
+ "&prs_key=" + prs_key;
|
||||
$.get(s, data => {
|
||||
flexReloaded(data);
|
||||
if (copy)
|
||||
make_attachments_readonly();
|
||||
});
|
||||
finishBeforeSubmit.push(
|
||||
new Promise((resolve, reject) => {
|
||||
$.when($.get(s, async data => {
|
||||
flexReloaded(data);
|
||||
if (copy)
|
||||
make_attachments_readonly();
|
||||
resolve();
|
||||
}).fail(() => {
|
||||
reject();
|
||||
}));
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
function setReferentie(kanverwijzen)
|
||||
@@ -1190,7 +1200,7 @@ function onChangeStdMelding(stdmelding_key, txt, params)
|
||||
$("#req_r_objs,#r_objs,#r_objs_button,#r_objs option,#r_objs_show").removeClass("required");
|
||||
_toggleObjects(false);
|
||||
}
|
||||
if (!params.init && !params.copy) {loadKenmerk();} // Bij initialisatie (initOnChange) niet de kenmerken herladen anders worden de waarden gewist.
|
||||
if (!params.init && !params.copy) { loadKenmerk(); } // Bij initialisatie (initOnChange) niet de kenmerken herladen anders worden de waarden gewist.
|
||||
}
|
||||
|
||||
function _hasObjects() {
|
||||
|
||||
@@ -608,8 +608,10 @@ if (savemode)
|
||||
{
|
||||
if (alg_onroerendgoed_keys > 0)
|
||||
newsql = "SELECT alg_plaatsaanduiding FROM alg_v_plaatsaanduiding_all WHERE alg_onroerendgoed_keys = " + alg_onroerendgoed_keys;
|
||||
else
|
||||
else if (locatiekey > 0)
|
||||
newsql = "SELECT alg_locatie_code FROM alg_locatie WHERE alg_locatie_key = " + locatiekey;
|
||||
else
|
||||
newsql = "SELECT '' FROM DUAL";
|
||||
var og_key = mldUpd.oldjsvals["mld_alg_onroerendgoed_keys"];
|
||||
var loc_key = mldUpd.oldjsvals["mld_alg_locatie_key"];
|
||||
if (og_key>0)
|
||||
|
||||
@@ -45,13 +45,45 @@ if (opmerk)
|
||||
|
||||
// Er zijn alleen opdrachten met de status Afgemeld/Technisch voltooid(6), dus geen open opdrachten.
|
||||
// Dan zetten we de Melding hier terug naar Geaccepteerd(4), zodat die bij de FO weer onder Inbehandeling valt.
|
||||
// Dat is dan status Niet opgelost(99).
|
||||
mld.setmeldingstatus(mld_key, 4); // Zorgt er ook voor dat de MLDAFM tracking wordt omgezet naar een MLDUPD tracking.
|
||||
// BLCC#79069: Niet via "mld.setmeldingstatus(mld_key, 4);" De status op 4 zetten. Anders kans dat er 2x moet worden afgemeld.
|
||||
var mld_key_arr = [];
|
||||
var sql = "SELECT mld_melding_key"
|
||||
+ " FROM mld_melding "
|
||||
+ " WHERE mld_melding_key = " + mld_key
|
||||
+ " OR mld_melding_parentkey = " + mld_key; // De statussen van de childmeldingen synchroon laten lopen aan die van de parent.
|
||||
oRs = Oracle.Execute(sql);
|
||||
while (!oRs.eof)
|
||||
{
|
||||
mld_key_arr.push(oRs("mld_melding_key").Value);
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
// Indien het heropen niet goed is gegaan, dan een warning geven.
|
||||
sql = "UPDATE mld_melding"
|
||||
+ " SET mld_melding_status = 4"
|
||||
+ " WHERE mld_melding_key IN (" + mld_key_arr.join(",") + ")";
|
||||
Oracle.Execute(sql);
|
||||
|
||||
// De MLDAFM trackingen omzetten in een MLDUPD tracking. De tekst (fac_srtnotificatie_oms) blijft hetzelfde.
|
||||
sql = "UPDATE fac_tracking"
|
||||
+ " SET fac_srtnotificatie_key = ((SELECT fac_srtnotificatie_key"
|
||||
+ " FROM fac_srtnotificatie tr"
|
||||
+ " WHERE fac_srtnotificatie_code = 'MLDUPD'))"
|
||||
+ " , fac_tracking_oms = lcl.l('lcl_mld_is_mldafm')"
|
||||
+ " WHERE fac_tracking_refkey IN (" + mld_key_arr.join(",") + ")"
|
||||
+ " AND fac_srtnotificatie_key = ((SELECT sn.fac_srtnotificatie_key"
|
||||
+ " FROM fac_srtnotificatie sn"
|
||||
+ " WHERE sn.fac_srtnotificatie_code = 'MLDAFM'))";
|
||||
Oracle.Execute(sql);
|
||||
|
||||
// Een extra heropenen tracking toevoegen.
|
||||
for (var i = 0; i < mld_key_arr.length; i++)
|
||||
mld.trackmeldingupdate(mld_key_arr[i], L("lcl_mld_reopen_done"));
|
||||
|
||||
// Indien het heropenen niet goed is gegaan, dan een warning geven. Alleen de parent controleren.
|
||||
sql = "SELECT ''"
|
||||
+ " FROM mld_melding"
|
||||
+ " WHERE mld_melding_key = " + mld_key
|
||||
+ " WHERE mld_melding_key = " + mld_key_arr[0]
|
||||
+ " AND mld_melding_status = 4";
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (oRs.eof)
|
||||
|
||||
@@ -359,7 +359,7 @@ SUBFRAME_START();
|
||||
modal: true,
|
||||
width: "auto",
|
||||
resizable: false,
|
||||
position: { my: "center", at: "center", of: window },
|
||||
position: { my: "center top", at: "center bottom", of: ".fcltframeheader" },
|
||||
close: function()
|
||||
{
|
||||
if (FcltMgr.detailManager()._editactive && FcltMgr._panelModalHot)
|
||||
|
||||
@@ -98,7 +98,7 @@ var JSON_Result = true;
|
||||
fields.pop();
|
||||
}
|
||||
var nkey = req.sequences["fac_nieuws_key"];
|
||||
move_new_bb_files("MSG", nkey);
|
||||
move_new_bb_files("MSG", nkey, getFParamStringArray("bb_files", []));
|
||||
result = {success: true, nieuws_key: nkey, close: false, keepForm: !!warning, warning: warning};
|
||||
} else {
|
||||
//update van bestaand portalitem (1 vernieuwd portalitem)
|
||||
|
||||
@@ -695,7 +695,7 @@ var canAdd = addparams && addparams.ALGwritelevel;
|
||||
+ (actiecode & 2 ? "<span class='ac2'>" + I("fa-user-circle", { fastyle: "fas" }) + " " + L("lcl_mld_actiecodeFE") + "</span>" : "")
|
||||
+ (oRs("melder").Value != oRs("behandelaar").Value || actiecode & 128 || actiecode & 2 ? "<br>" : "")
|
||||
+ (oRs("plaatsmelding").Value? I("fa-map-marker") + " " + safe.html(oRs("plaatsmelding").Value) + "<br>" : "")
|
||||
+ (oRs("mld_stdmelding_planbaar").Value&2 != 2
|
||||
+ ((oRs("mld_stdmelding_planbaar").Value&2) != 2
|
||||
? I("fa-clock") + " " + toDateTimeString(oRs("mld_melding_einddatum").Value, false, false, true) + "<br>"
|
||||
: ""
|
||||
)
|
||||
|
||||
@@ -692,28 +692,24 @@ FCLTHeader.Requires({ plugins: ["kenmerk"], css: [rooturl+"/appl/res/res.css"] }
|
||||
}
|
||||
|
||||
// Maak een mooie header als er een foto is, met de beschrijving er overheen
|
||||
if (foto) {
|
||||
var url, descr;
|
||||
if (!foto.match(/^http/)) {
|
||||
url = S("res_image_path");
|
||||
if (RuimteMode) {
|
||||
descr = res_ruimte_nr;
|
||||
} else if (DeelMode) {
|
||||
url += "deel/";
|
||||
descr = res_deel_omschrijving;
|
||||
} else if (ArtikelMode) {
|
||||
url += "artikel/";
|
||||
descr = res_deel_omschrijving;
|
||||
}
|
||||
url += foto;
|
||||
var headerImageUrl;
|
||||
if (foto && !foto.match(/^http/)) {
|
||||
var module;
|
||||
if (RuimteMode) {
|
||||
module = "RESPHR";
|
||||
} else if (DeelMode) {
|
||||
module = "RESPHD";
|
||||
} else if (ArtikelMode) {
|
||||
module = "RESPHA";
|
||||
}
|
||||
headerImageUrl = flexProps(module).RelativePath + foto;
|
||||
var fso = new ActiveXObject("Scripting.FileSystemObject");
|
||||
if (url && fso.FileExists(Server.MapPath(url))) {
|
||||
if (fso.FileExists(Server.MapPath(headerImageUrl))) {
|
||||
var hasImageHeader = true;
|
||||
}
|
||||
}
|
||||
|
||||
PAGE_START({pclass: (nubezet ? "pbezet" : "pvrij"), headerImage: url });
|
||||
PAGE_START({pclass: (nubezet ? "pbezet" : "pvrij"), headerImage: headerImageUrl });
|
||||
HEADER ({title: RuimteMode ? res_ruimte_nr : res_deel_omschrijving, back:!qrc, home: !qrc});
|
||||
CONTENT_START({pclass: (nubezet ? "dbezet" : "dvrij") });
|
||||
%> <form id="resform" name="resform" action="reserveringen.asp?submit=1<%=transitParam%>" method="post"><%
|
||||
@@ -808,13 +804,18 @@ FCLTHeader.Requires({ plugins: ["kenmerk"], css: [rooturl+"/appl/res/res.css"] }
|
||||
|
||||
var myres_rsv_ruimte_key = getQParamInt("res_rsv_ruimte_key", -1);
|
||||
if (myres_rsv_ruimte_key > 0) { // Altijd?
|
||||
sql_vt = "SELECT res_rsv_ruimte_van, res_rsv_ruimte_tot FROM res_rsv_ruimte WHERE res_rsv_ruimte_key = " + myres_rsv_ruimte_key;
|
||||
sql_vt = "SELECT res_rsv_ruimte_van"
|
||||
+ " , res_rsv_ruimte_tot"
|
||||
+ " , res_reservering_key"
|
||||
+ " , res_rsv_ruimte_volgnr"
|
||||
+ " FROM res_rsv_ruimte"
|
||||
+ " WHERE res_rsv_ruimte_key = " + myres_rsv_ruimte_key;
|
||||
oRs_vt = Oracle.Execute(sql_vt);
|
||||
var mystart = oRs_vt("res_rsv_ruimte_van").Value;
|
||||
var myend = oRs_vt("res_rsv_ruimte_tot").Value;
|
||||
oRs_vt.Close();
|
||||
myres_reservering_nrs = [myres_rsv_ruimte_key];
|
||||
myres_reservering_nrs = [oRs_vt("res_reservering_key").Value + "/" + oRs_vt("res_rsv_ruimte_volgnr").Value];
|
||||
myres = true;
|
||||
oRs_vt.Close();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -849,7 +850,7 @@ FCLTHeader.Requires({ plugins: ["kenmerk"], css: [rooturl+"/appl/res/res.css"] }
|
||||
bezet_key: <%=oRs_pers("host_key").Value%>,
|
||||
res_deel_key: <%=(RuimteMode ? "null" : oRs_pers("res_deel_key").Value)%>,
|
||||
res_rsv_ruimte_key: <%=oRs_pers("res_rsv_ruimte_key").Value%>,
|
||||
res_reservering_nr: "<%=oRs_pers("res_reservering_key").Value+"/"+oRs_pers("res_rsv_ruimte_volgnr").Value%>",
|
||||
res_reservering_nr: "<%=oRs_pers("res_reservering_key").Value + "/" + oRs_pers("res_rsv_ruimte_volgnr").Value%>",
|
||||
resvan: new Date(<%=van.getTime()%>),
|
||||
restot: new Date(<%=tot.getTime()%>)
|
||||
});
|
||||
@@ -909,7 +910,7 @@ FCLTHeader.Requires({ plugins: ["kenmerk"], css: [rooturl+"/appl/res/res.css"] }
|
||||
FCLTpersoonselector("person",
|
||||
"sgPerson",
|
||||
{ label: L("lcl_res_reserve_for"),
|
||||
perslidKey: S("res_fo_default_user") ? user_key : -1,
|
||||
perslidKey: !authRES.canWrite("WEB_RESFOF") || S("res_fo_default_user") ? user_key : -1,
|
||||
autlevel: authRES._funcodes["WEB_RESFOF"] && authRES._funcodes["WEB_RESFOF"].PRSwritelevel,
|
||||
required: true,
|
||||
hidden: !authRES.canWrite("WEB_RESFOF"),
|
||||
|
||||
@@ -93,9 +93,9 @@ else
|
||||
var username = oRs("prs_bedrijfadres_username").Value;
|
||||
var password = oRs("prs_bedrijfadres_password").Value;
|
||||
var authmethod = oRs("prs_bedrijfadres_authmethod").Value;
|
||||
var token_url = oRs('prs_bedrijfadres_oa_token_url').value;
|
||||
var oa_scope = oRs('prs_bedrijfadres_oa_scope').value;
|
||||
var oa_resource = oRs('prs_bedrijfadres_oa_resource').value;
|
||||
var token_url = oRs('prs_bedrijfadres_oa_token_url').Value;
|
||||
var oa_scope = oRs('prs_bedrijfadres_oa_scope').Value;
|
||||
var oa_resource = oRs('prs_bedrijfadres_oa_resource').Value;
|
||||
var prs_ordermode = oRs("prs_bedrijfadres_ordermode").Value;
|
||||
var soapversion = oRs("prs_bedrijfadres_soapversion").Value;
|
||||
var soapaction = oRs("prs_bedrijfadres_soapaction").Value;
|
||||
@@ -111,8 +111,8 @@ else
|
||||
var flexfiles = oRs("prs_bedrijfadres_flexfiles").Value;
|
||||
var encoding = oRs("prs_bedrijfadres_encoding").Value;
|
||||
var charset = oRs("prs_bedrijfadres_charset").Value;
|
||||
var plugin = oRs('prs_bedrijfadres_plugin').value;
|
||||
var plugindata = oRs('prs_bedrijfadres_plugindata').value;
|
||||
var plugin = oRs('prs_bedrijfadres_plugin').Value;
|
||||
var plugindata = oRs('prs_bedrijfadres_plugindata').Value;
|
||||
|
||||
oRs.Close();
|
||||
}
|
||||
@@ -262,7 +262,7 @@ else
|
||||
RWFIELDTR("locksecret", "fld", L("lcl_prs_bedrijfadres_locksecret"), locksecret);
|
||||
RWFIELDTR("lockexpire", "fld", L("lcl_prs_bedrijfadres_lockexpire"), lockexpire, {datatype: "number" });
|
||||
RWFIELDTR("loglevel", "fldshort", L("lcl_prs_bedrijfadres_loglevel"), loglevel, {required: true});
|
||||
FILEPICKERTR("bijlage", L("lcl_prs_bedrijfadres_bijlage"), bijlage, { "key": badr_key, "module": "BDRADR" });
|
||||
FILEPICKERTR("bijlage", L("lcl_prs_bedrijfadres_bijlage"), bijlage, { "key": badr_key, "module": "BDRADR", "icon": "fa-file-lines", "defaultValue": L("lcl_prs_bedrijfadres_bijlage") });
|
||||
BLOCK_END();
|
||||
|
||||
// De andere kant van de configuratie
|
||||
|
||||
@@ -245,7 +245,7 @@ if (prs_key > 0) // Fotoblokje alleen bij bestaande records
|
||||
+ " SELECT 9, "+safe.quoted_sql(L("lcl_prs_person_geslachtX"))+" FROM DUAL";
|
||||
FCLTselector("prs_geslacht", sql,
|
||||
{ label: L("lcl_prs_person_geslacht"),
|
||||
initKey: prs_geslacht,
|
||||
initKey: prs_key > -1? prs_geslacht : null, // Bij een nieuwe melding dan moet de eerste ("Onbekend") genomen worden.
|
||||
emptyKey: "",
|
||||
emptyOption: L("lcl_prs_person_geslachtO"),
|
||||
readonly: !prsauthparams.writeman,
|
||||
|
||||
@@ -806,14 +806,17 @@ res = {
|
||||
+ " , r.res_rsv_ruimte_externnr" // Ruimte-event-id
|
||||
+ " , r.res_rsv_ruimte_externnr2" // Organisator-event-id
|
||||
+ " , r.res_rsv_ruimte_externsyncdate" // sync (export) datum
|
||||
+ " , DECODE(p.prs_perslid_oslogin, '_MSGRAPH_FALLBACK_ROOMS', 1, '_MSGRAPH_FALLBACK_UNKNOWN', 1, 0) fallback_host" // Deze zijn niet in Facilitor wijzigbaar
|
||||
+ " , ra.res_activiteit_notfrontend"
|
||||
+ " , ra.res_activiteit_meteindtijd"
|
||||
+ " , ra.res_activiteit_ismaster"
|
||||
+ " , ra.res_activiteit_master_key"
|
||||
+ " FROM res_rsv_ruimte r,"
|
||||
+ " res_activiteit ra"
|
||||
+ " res_activiteit ra,"
|
||||
+ " prs_perslid p"
|
||||
+ " WHERE res_rsv_ruimte_key = " + rsv_ruimte_key
|
||||
+ " AND r.res_activiteit_key = ra.res_activiteit_key";
|
||||
+ " AND r.res_activiteit_key = ra.res_activiteit_key"
|
||||
+ " AND r.res_rsv_ruimte_host_key = p.prs_perslid_key(+)";
|
||||
var roRs = Oracle.Execute(sql);
|
||||
if (roRs.EOF) // vanuit API2 niet bestaande id
|
||||
return null;
|
||||
@@ -837,6 +840,7 @@ res = {
|
||||
var met_eindtijd = roRs("res_activiteit_meteindtijd").Value == 1;
|
||||
var rsv_ruimte_externnr = roRs("res_rsv_ruimte_externnr").Value;
|
||||
var rsv_ruimte_externnr2 = roRs("res_rsv_ruimte_externnr2").Value;
|
||||
var fallback_host = roRs("fallback_host").Value == 1;
|
||||
var rsv_ruimte_externsyncdate = roRs("res_rsv_ruimte_externsyncdate").Value;
|
||||
|
||||
// Bepaal discipline parkeerplaatsen voor reserveringen. Deze moet uitgesloten worden voor de autorisatie controle.
|
||||
@@ -1113,6 +1117,7 @@ res = {
|
||||
rsv_ruimte_externnr2 == null &&
|
||||
rsv_ruimte_externsyncdate != null)) // Deze reservering is vanuit Facilitor ge-initieerd (vanuit Outlook is de externsyncdate niet gevuld)
|
||||
|| (S("msgraph_sync_level") & 4); // We hebben schrijfrechten op alle gebruikers
|
||||
rresult.canWriteExtern = rresult.canWriteExtern && !fallback_host; // Deze mag niet in Facilitor gewijzigd worden.
|
||||
|
||||
// -- CONTROLE SCHRIJFRECHTEN --
|
||||
// Je moet tenminste schrijfrechten hebben
|
||||
|
||||
@@ -264,8 +264,10 @@ var authparams = user.checkAutorisation(autfunction)
|
||||
var $this = $(this);
|
||||
var $labelgrid = $this.parent().prevAll("div.labelgrid").first();
|
||||
$this.removeClass("bad");
|
||||
var value = parseInt($this.val(), 10);
|
||||
var max = parseInt($this.attr("max"), 10);
|
||||
if ($("input[type=checkbox]", $labelgrid).prop("checked") &&
|
||||
($this.val() > $this.attr("max") || $this.val() < $this.attr("min")))
|
||||
(value > max || value < 0))
|
||||
{
|
||||
$this.addClass("bad");
|
||||
returnValue = false;
|
||||
|
||||
@@ -136,7 +136,7 @@ if (!isNew)
|
||||
onlineProviderChanged = true;
|
||||
if (hasFParam("descript") && getFParam("descript", "") != res_oms_old)
|
||||
omsChanged = true;
|
||||
if (hasFParam("opmerk") && getFParam("opmerk", "") != res_opm_old)
|
||||
if (hasFParam("opmerk") && getFParam("opmerk", "") != (res_opm_old || ""))
|
||||
opmChanged = true;
|
||||
|
||||
var sql = "SELECT COUNT(*)"
|
||||
@@ -639,7 +639,7 @@ if (isNew) // Nieuw, dan moeten we ook nog een res_reservering record aanmaken
|
||||
// CV kan nog niet echt dirty zijn? Jawel, als je planbord lang laat staan
|
||||
// dirty is te forceren door nodirty mee te submitten
|
||||
var check_fail_sql = "";
|
||||
if (getFParamInt("nodirty",0) == 1 || (S("res_fe_allow_dirty") != 1 && urole == 'fe'))
|
||||
if (getFParamInt("nodirty",0) == 1 || (S("res_fe_allow_dirty") != 1 && urole == 'fe') || extern_id) // Ook Externe reserveringen mogen niet dirty worden
|
||||
{
|
||||
check_fail_sql = " if res.dirty_level_all(" + rsv_ruimte_key + ") <> 0 then"
|
||||
+ " raise_application_error (-20001, " + safe.qL("lcl_res_fe_no_dirty") + ");"
|
||||
|
||||
@@ -2392,6 +2392,12 @@ function res_list (pautfunction, params)
|
||||
return ((oRs("categorie").value != "R")? safe.html(oRs("res_voorziening").value) + c_flex : "");
|
||||
}
|
||||
|
||||
function fnrowNrObject(oRs)
|
||||
{
|
||||
var c_flex = getFlexArticle(oRs);
|
||||
return ((oRs("categorie").value != "R")? (oRs("aantal").Value? oRs("aantal").Value + " * " : "") + safe.html(oRs("res_voorziening").value) + c_flex : "");
|
||||
}
|
||||
|
||||
function fnrowConfiguration(oRs)
|
||||
{ // Print.
|
||||
var isDefault = true;
|
||||
@@ -2606,15 +2612,18 @@ function res_list (pautfunction, params)
|
||||
|
||||
rst.addColumn(new Column({caption: L("lcl_resnr"), content: fnrowResNr, colName: "fnrowResNr", customSort: fncustomSort}));
|
||||
rst.addColumn(new Column({caption: L("lcl_res_pers_n"), content: fnrowVisitors, colName: "fnrowVisitors"}));
|
||||
|
||||
// Aparte kolommen voor opstelling en aantal/voorzieningen.
|
||||
rst.addColumn(new Column({caption: L("lcl_res_opstelling"), content: fnrowOpstelling, colName: "fnrowOpstelling", keepKeyRepeat: true}));
|
||||
if (excel)
|
||||
{ // Aparte kolommen voor aantal/config en aantal/voorzieningen
|
||||
rst.addColumn(new Column({caption: L("lcl_res_opstelling"), content: fnrowOpstelling, colName: "fnrowOpstelling"}));
|
||||
{
|
||||
if (groupres != 1)
|
||||
rst.addColumn(new Column({caption: L("lcl_res_aantalvoorziening"), content: "aantal", datatype: "number"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_reserved_object"), content: fnrowObject, colName: "fnrowObject"}));
|
||||
}
|
||||
else
|
||||
rst.addColumn(new Column({caption: L("lcl_config_instance"), content: fnrowConfiguration, colName: "fnrowConfiguration", colText: L("lcl_res_opstelling"), keepKeyRepeat: true}));
|
||||
else if (groupres != 1)
|
||||
rst.addColumn(new Column({caption: L("lcl_reserved_object"), content: fnrowNrObject, colName: "fnrowNrObject", combine: true, keepKeyRepeat: true}));
|
||||
|
||||
if (S("res_allow_for_others") && S("res_bo_show_host") == 1)
|
||||
rst.addColumn(new Column({caption: L("lcl_host"), content: "gastheer"}));
|
||||
rst.addColumn(new Column({caption: L("lcl_res_requestor"), content: "aanvrager"}));
|
||||
|
||||
@@ -154,11 +154,12 @@ else
|
||||
{
|
||||
var bTimeChanged = old_van.getHours() != new_van.getHours() || old_van.getMinutes() != new_van.getMinutes();
|
||||
}
|
||||
|
||||
if (!this_res.canChange)
|
||||
badmsg = L("lcl_res_no_auth_change"); // "Geen autorisatie voor het wijzigen van de ruimte";
|
||||
else if (!can_reserve_newroom)
|
||||
badmsg = L("lcl_res_select_diff_room"); // "Er moet wel een andere ruimte gekozen worden dan de huidige waarde";
|
||||
else if (hours_new_van < S("res_t1") || hours_new_tot > S("res_t2"))
|
||||
else if (bTimeChanged && (hours_new_van < S("res_t1") || hours_new_tot > S("res_t2")))
|
||||
badmsg = L("lcl_res_time_out_limit"); // "De gekozen tijd valt buiten de grenzen";
|
||||
else if (!bTimeChanged && old_ruimte_key == new_ruimte_key)
|
||||
badmsg = L("lcl_res_no_changes"); // "Geen aanpassingen";
|
||||
|
||||
@@ -323,6 +323,12 @@ function scaffolding_search(model, scf_params)
|
||||
<form name="u2" method="get" target="workFrame" onsubmit="doSubmit()">
|
||||
<%
|
||||
var defaults = shared.qs2json(model); // TODO: Ook via scf_params
|
||||
if (!("fcltfilters" in scf_params)) {
|
||||
scf_params.fcltfilters = shared.qs2json(model, true);
|
||||
if (!isEmptyObject(scf_params.fcltfilters)) {
|
||||
Response.Write("<script>var fcltfilters = '" + safe.jsstring(JSON.stringify(scf_params.fcltfilters)) + "';</script>");
|
||||
}
|
||||
}
|
||||
|
||||
for (var fld in model.fields)
|
||||
{
|
||||
|
||||
@@ -29,7 +29,7 @@ function bijlagen(autfunction, label, module, reado, imp_exp_key)
|
||||
{
|
||||
if (xfunc.canWrite(autfunction))
|
||||
{
|
||||
var url = "../shared/BijlagenForm.asp?key=0&module=" + module + transitParam;
|
||||
var url = "../shared/BijlagenForm.asp?showall=1&module=" + module + transitParam;
|
||||
if (reado)
|
||||
url += "&reado=1";
|
||||
if (imp_exp_key)
|
||||
@@ -67,6 +67,7 @@ if (!groep || user.has("WEB_PRSSYS"))
|
||||
bijlagen("WEB_PRSSYS", "Locatie foto's", "ALGPHL");
|
||||
bijlagen("WEB_PRSSYS", "Gebouw foto's", "ALGPHG");
|
||||
bijlagen("WEB_PRSSYS", "Terrein foto's", "ALGPHT");
|
||||
bijlagen("WEB_PRSSYS", "Opdrachtverstrekking bijlagen", "BDRADR");
|
||||
bijlagen("WEB_PRSSYS", "Bestelartikel catalogus symbolen", "BESD");
|
||||
bijlagen("WEB_PRSSYS", "Bestelartikel plaatjes", "BESPH");
|
||||
bijlagen("WEB_PRSSYS", "Budgetprojecten symbolen", "BGTD");
|
||||
@@ -88,7 +89,7 @@ if (!groep || user.has("WEB_PRSSYS"))
|
||||
bijlagen("WEB_PRSSYS", "Melding plaatjes", "MLDS");
|
||||
bijlagen("WEB_PRSSYS", "Marktplaats foto's", "MRK");
|
||||
bijlagen("WEB_PRSSYS", "Menu plaatjes", "MENU");
|
||||
bijlagen("WEB_PRSSYS", "Opdrachtverstrekking bijlagen", "BDRADR");
|
||||
bijlagen("WEB_PRSSYS", "Styling plaatjes", "STYLE");
|
||||
BLOCK_END();
|
||||
}
|
||||
|
||||
|
||||
@@ -30,6 +30,7 @@
|
||||
*/
|
||||
var pKey = getQParamInt("key", -1);
|
||||
var pModule = getQParamSafe("module");
|
||||
var showall = getQParamInt("showall", 0) == 1;
|
||||
var imp_exp_key = getQParamInt("imp_exp_key", -1);
|
||||
var pNiveau = getQParamSafe("niveau", "");
|
||||
var pTmpfolder = getQParam("tmpfolder", "");
|
||||
@@ -64,7 +65,7 @@ var showFilter = getFParam("showFilter", ""); // zoek mogelijkheid binnen lijst
|
||||
var pAlgLevel = getQParam("kenmerk_module", "");
|
||||
|
||||
var transitParam = buildTransitParam(["key", "module", "niveau", "kenmerk_key", "encrypt", "extFilter", "pregexp",
|
||||
"showFilter", "reado", "multi", "tmpfolder", "kenmerk_module", "itm",
|
||||
"showFilter", "reado", "multi", "tmpfolder", "kenmerk_module",
|
||||
"zipfile", "autozipfile", "candelete", "imp_exp_key"]);
|
||||
|
||||
// Sorteer afhankelijk van de setting S("flexFilesOrdering") twee FileToAdd record's
|
||||
@@ -89,7 +90,7 @@ var transitParam = buildTransitParam(["key", "module", "niveau", "kenmerk_key",
|
||||
return 0;
|
||||
}
|
||||
|
||||
params = flexProps(pModule, pKey === -1 ? getQParam("newfilename", getQParam("itm", "")) : pKey, String(pKenmerk_key), pNiveau, {getFiles: true, alglevel: pAlgLevel, imp_exp_key: imp_exp_key});
|
||||
params = flexProps(pModule, pKey === -1 ? getQParam("newfilename", "") : pKey, String(pKenmerk_key), pNiveau, {getFiles: true, showall: showall, alglevel: pAlgLevel, imp_exp_key: imp_exp_key});
|
||||
|
||||
//var pregexp = getQParam("pregexp", null);
|
||||
var default_afmeting = (params.regexp ? params.regexp.substr(1) : "");
|
||||
@@ -349,6 +350,7 @@ __Log("Zoeken bestanden onder " + params.AttachPath);
|
||||
type: $form.attr("method"),
|
||||
data: ajaxData,
|
||||
cache: false,
|
||||
contentType: false,
|
||||
processData: false,
|
||||
success: FcltCallbackAndThen(uploadDone)
|
||||
});
|
||||
@@ -489,7 +491,7 @@ __Log("Zoeken bestanden onder " + params.AttachPath);
|
||||
FcltMgr.topmanager().window.$.toast({ loaderBg: "#fff", text: L("lcl_appendix_added").format(safe.html(uploaded_files[i])), icon: "success", position: "top-center"});
|
||||
}
|
||||
let extraTransitParam = "";
|
||||
<% if (pKey === -1 && "linkImmediate" in params && !params.multi || pModule === "STYLE") { %>
|
||||
<% if (pKey === -1 && "linkImmediate" in params && !params.multi) { %>
|
||||
extraTransitParam = "&newfilename=" + encodeURIComponent(uploaded_files[0].replace(/\.dwf$/, ""));
|
||||
<% } %>
|
||||
window.location = "<%=protectQS.create("BijlagenForm.asp?x=x" + transitParam)%>" + extraTransitParam;
|
||||
@@ -501,41 +503,20 @@ __Log("Zoeken bestanden onder " + params.AttachPath);
|
||||
{
|
||||
FcltMgr.alert(L("lcl_busy_upload_file"));
|
||||
}
|
||||
if (defVal) {
|
||||
new Promise((resolve, reject) => {
|
||||
<% if (fileArray.length) { %>
|
||||
var fileName = "<%=safe.jsstring(fileArray[0].name)%>";
|
||||
var deleteUrl = "<%=safe.jsstring(protectQS.create("Bijlagenform_delete.asp?DoDelete=" + Server.URLEncode(fileArray[0].name) + transitParam))%>";
|
||||
FcltMgr.confirm(L("lcl_delete") + " " + fileName + "?", { "fncancel": function () { return resolve({ "success": false }); } }, function() {
|
||||
var data = {};
|
||||
protectRequest.dataToken(data);
|
||||
resolve($.post(
|
||||
deleteUrl,
|
||||
data
|
||||
));
|
||||
});
|
||||
<% } else { %>
|
||||
resolve({ "success": true });
|
||||
<% } %>
|
||||
}).then((json) => {
|
||||
if (json && json.success) {
|
||||
window.return_data.org_data = FcltMgr.dialogArguments();
|
||||
window.return_data.fileName = defVal;
|
||||
FcltMgr.closeDetail(window, return_data);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
var unUploadedFiles = (looseFiles.length ? looseFiles.length : (document.forms.u2.imgfile ? document.forms.u2.imgfile.files.length : 0));
|
||||
FcltMgr.confirm(L("lcl_shared_unfinished_uploads"),
|
||||
{ autoconfirm: !unUploadedFiles,
|
||||
fncancel: function() { /* geen actie bij confirm=cancel */ }
|
||||
},
|
||||
function()
|
||||
{
|
||||
window.return_data.org_data=FcltMgr.dialogArguments();
|
||||
FcltMgr.closeDetail(window, return_data);
|
||||
});
|
||||
}
|
||||
var unUploadedFiles = (looseFiles.length ? looseFiles.length : (document.forms.u2.imgfile ? document.forms.u2.imgfile.files.length : 0));
|
||||
FcltMgr.confirm(L("lcl_shared_unfinished_uploads"),
|
||||
{ autoconfirm: !unUploadedFiles,
|
||||
fncancel: function() { /* geen actie bij confirm=cancel */ }
|
||||
},
|
||||
function()
|
||||
{
|
||||
window.return_data.org_data=FcltMgr.dialogArguments();
|
||||
if (defVal) {
|
||||
window.return_data.fileName = defVal;
|
||||
delete window.return_data.multi;
|
||||
}
|
||||
FcltMgr.closeDetail(window, return_data);
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
@@ -51,14 +51,6 @@ if (pDoDelete === "" && "linkImmediate" in params) {
|
||||
}
|
||||
}
|
||||
|
||||
if (pModule === "STYLE") {
|
||||
if (pDoDelete === "## grijstint ##" || pDoDelete === "## transparant ##") {
|
||||
Response.Write(JSON.stringify({ "success": true }));
|
||||
ASPPAGE_END();
|
||||
Response.End();
|
||||
}
|
||||
}
|
||||
|
||||
result = { success: true, toaster: L("lcl_appendix_removed").format(safe.html(pDoDelete))};
|
||||
|
||||
if (pDoDelete != "")
|
||||
|
||||
@@ -329,9 +329,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
result.multi = true;
|
||||
result.searchfile = true;
|
||||
result.extFilter = "dwf";
|
||||
if (!result.multi && typeof pKey === "string") {
|
||||
params.filter = "^" + safe.regexp(pKey) + ".dwf$";
|
||||
}
|
||||
break;
|
||||
case "FGIIV": // Vluchtplannen
|
||||
result.AttachRootPath = S("flexfilespath") + "/cad/vlucht/";
|
||||
@@ -348,9 +345,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
"key_col" : "ins_srtdeel_key",
|
||||
"link_col" : "ins_srtdeel_acadsymbol"
|
||||
}
|
||||
if (typeof pKey === "string") {
|
||||
params.filter = "^" + safe.regexp(pKey) + ".dwf$";
|
||||
}
|
||||
break;
|
||||
case "FGIIP":
|
||||
result.AttachRootPath = S("flexfilespath") + "/cad/prj/";
|
||||
@@ -388,9 +382,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
result.regexp = S("ins_photo_size");
|
||||
result.directlink = true;
|
||||
result.linkImmediate = "ins_srtdeel";
|
||||
if (typeof pKey === "string") {
|
||||
params.filter = "^" + safe.regexp(pKey) + "$";
|
||||
}
|
||||
break;
|
||||
case "BESD": // bes_discipline symbolen
|
||||
result.AttachRootPath = Server.MapPath(S("besd_image_path"));
|
||||
@@ -400,9 +391,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
result.regexp = S("bes_photo_size");
|
||||
result.directlink = true;
|
||||
result.linkImmediate = "discipline";
|
||||
if (typeof pKey === "string") {
|
||||
params.filter = safe.regexp(pKey);
|
||||
}
|
||||
break;
|
||||
case "BGTD": // bgt_discipline symbolen
|
||||
result.AttachRootPath = Server.MapPath(S("bgtd_image_path"));
|
||||
@@ -412,9 +400,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
result.regexp = S("bgt_photo_size");
|
||||
result.directlink = true;
|
||||
result.linkImmediate = "discipline";
|
||||
if (typeof pKey === "string") {
|
||||
params.filter = safe.regexp(pKey);
|
||||
}
|
||||
break;
|
||||
case "INSD": // ins_discipline symbolen
|
||||
result.AttachRootPath = Server.MapPath(S("insd_image_path"));
|
||||
@@ -424,9 +409,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
result.regexp = S("ins_photo_size");
|
||||
result.directlink = true;
|
||||
result.linkImmediate = "discipline";
|
||||
if (typeof pKey === "string") {
|
||||
params.filter = safe.regexp(pKey);
|
||||
}
|
||||
break;
|
||||
case "CNTD": // cnt_discipline symbolen
|
||||
result.AttachRootPath = Server.MapPath(S("cntd_image_path"));
|
||||
@@ -436,9 +418,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
result.regexp = S("cnt_photo_size");
|
||||
result.directlink = true;
|
||||
result.linkImmediate = "discipline";
|
||||
if (typeof pKey === "string") {
|
||||
params.filter = safe.regexp(pKey);
|
||||
}
|
||||
break;
|
||||
case "RESD": // ins_discipline symbolen
|
||||
result.AttachRootPath = Server.MapPath(S("resd_image_path"));
|
||||
@@ -448,9 +427,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
result.regexp = S("res_photo_size");
|
||||
result.directlink = true;
|
||||
result.linkImmediate = "discipline";
|
||||
if (typeof pKey === "string") {
|
||||
params.filter = safe.regexp(pKey);
|
||||
}
|
||||
break;
|
||||
case "MLDS": // Stdmelding symbolen
|
||||
result.AttachRootPath = Server.MapPath(S("mlds_image_path"));
|
||||
@@ -460,9 +436,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
result.regexp = S("mld_photo_size");
|
||||
result.directlink = true;
|
||||
result.linkImmediate = "mld_stdmelding";
|
||||
if (typeof pKey === "string") {
|
||||
params.filter = safe.regexp(pKey);
|
||||
}
|
||||
break;
|
||||
case "MLDG": // Meldinggroep symbolen
|
||||
result.AttachRootPath = Server.MapPath(S("mldg_image_path"));
|
||||
@@ -472,9 +445,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
result.regexp = S("mld_photo_size");
|
||||
result.directlink = true;
|
||||
result.linkImmediate = "mld_stdmeldinggroep";
|
||||
if (typeof pKey === "string") {
|
||||
params.filter = safe.regexp(pKey);
|
||||
}
|
||||
break;
|
||||
case "MLDD": // mld_discipline symbolen
|
||||
result.AttachRootPath = Server.MapPath(S("mldd_image_path"));
|
||||
@@ -484,9 +454,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
result.regexp = S("mld_photo_size");
|
||||
result.directlink = true;
|
||||
result.linkImmediate = "discipline";
|
||||
if (typeof pKey === "string") {
|
||||
params.filter = safe.regexp(pKey);
|
||||
}
|
||||
break;
|
||||
case "MLDSD": // mld_srtdiscipline symbolen
|
||||
result.AttachRootPath = Server.MapPath(S("mldsd_image_path"));
|
||||
@@ -496,9 +463,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
result.regexp = S("mld_photo_size");
|
||||
result.directlink = true;
|
||||
result.linkImmediate = "ins_srtdiscipline";
|
||||
if (typeof pKey === "string") {
|
||||
params.filter = safe.regexp(pKey);
|
||||
}
|
||||
break;
|
||||
case "ALG":
|
||||
case "BES":
|
||||
@@ -583,9 +547,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
result.extFilter = S("imgAllowedExt");
|
||||
result.regexp = S("alg_photo_size");
|
||||
result.directlink = true;
|
||||
if (typeof pKey === "string") {
|
||||
params.filter = "^" + safe.regexp(pKey) + "$";
|
||||
}
|
||||
break;
|
||||
case "RESPHR": /* Reserveerbare Ruimte */
|
||||
case "RESPHO": /* Opstelling */
|
||||
@@ -614,10 +575,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
result.extFilter = S("imgAllowedExt");
|
||||
result.regexp = S("res_photo_size");
|
||||
result.directlink = true;
|
||||
/* result.linkImmediate = "discipline"; TODO */
|
||||
if (typeof pKey === "string") {
|
||||
params.filter = "^" + safe.regexp(pKey) + "$";
|
||||
}
|
||||
break;
|
||||
case "MRK":
|
||||
result.AttachRootPath = Server.MapPath(S("mrk_image_path"));
|
||||
@@ -654,9 +611,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
result.regexp = S("ins_photo_size"); // "r200x150", Resized naar binnen 200x150 (zonder crop, met behoud aspect ratio)
|
||||
result.directlink = true;
|
||||
result.linkImmediate = "ins_deel";
|
||||
if (typeof pKey === "string") {
|
||||
params.filter = "^" + safe.regexp(pKey) + "$";
|
||||
}
|
||||
break;
|
||||
case "MENU":
|
||||
result.AttachRootPath = Server.MapPath(S("menu_image_path"));
|
||||
@@ -666,9 +620,6 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
result.regexp = S("menu_photo_size");
|
||||
result.directlink = true;
|
||||
result.linkImmediate = "fac_menu";
|
||||
if (typeof pKey === "string") {
|
||||
params.filter = "^" + safe.regexp(pKey) + "$";
|
||||
}
|
||||
break;
|
||||
case "BDRADR":
|
||||
result.AttachRootPath = Server.MapPath(S("bdradrfiles_path"));
|
||||
@@ -676,14 +627,8 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
result.RelativePath = S("bdradrfiles_path") + "/";
|
||||
result.extFilter = S("flexExtensionFilter"); // Mag in principe alles zijn
|
||||
result.directlink = true;
|
||||
result.linkImmediate = {
|
||||
"table": "prs_bedrijfadres",
|
||||
"key_col": "prs_bedrijfadres_key",
|
||||
"link_col": "prs_bedrijfadres_attachfile"
|
||||
};
|
||||
if (typeof pKey === "string") {
|
||||
params.filter = "^" + safe.regexp(pKey) + "$";
|
||||
}
|
||||
result.pickfile = true;
|
||||
result.multi = true;
|
||||
break;
|
||||
case "CUSTXSL":
|
||||
result.AttachRootPath = Server.MapPath(custpath + "/xsl");
|
||||
@@ -877,15 +822,8 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
result.extFilter = S("imgAllowedExt");
|
||||
result.regexp = S("menu_photo_size");
|
||||
result.directlink = true;
|
||||
|
||||
if (typeof pKey === "string" && pKey in S("csstemplate")) { // Style-variabele-naam, bijv. 'headerimage'
|
||||
params.filter = "^" + safe.regexp(sharedTrim(S("csstemplate")[pKey])) + "$";
|
||||
} else if (typeof pKey === "string" && !(pKey in FCLTHeader.defaultTemplate)) { // Bestandsnaam
|
||||
params.filter = "^" + safe.regexp(sharedTrim(pKey)) + "$";
|
||||
} else {
|
||||
params.filter = "$^"; // Matched niets
|
||||
}
|
||||
|
||||
result.pickfile = true;
|
||||
result.multi = true;
|
||||
break;
|
||||
default:
|
||||
_AiAi("INTERNAL_ERROR, invalid module {0}".format(pModule));
|
||||
@@ -932,7 +870,10 @@ function flexProps(pModule, pKey, pSubpath, pNiveau, params)
|
||||
{
|
||||
var oCrypto = new ActiveXObject("SLNKDWF.Crypto");
|
||||
|
||||
if (!params.getFile && params.getFiles && "linkImmediate" in result && !result.multi) {
|
||||
if (params.showall) { // 'Alle bijlagen'
|
||||
result.pickfile = false;
|
||||
result.multi = true;
|
||||
} else if (!params.getFile && params.getFiles && "linkImmediate" in result && !result.multi) {
|
||||
params.getFiles = false; // Ik wil er eigenlijk altijd maar 1
|
||||
if (pKey > 0) {
|
||||
var sql = "SELECT " + result.linkImmediate.link_col
|
||||
@@ -1556,8 +1497,8 @@ function DeleteFile(fullpath, km_params)
|
||||
}
|
||||
|
||||
// Verplaats nieuwe bb-bijlages
|
||||
function move_new_bb_files(module, refkey) {
|
||||
var bb_files = getFParamStringArray("bb_files", []);
|
||||
function move_new_bb_files(module, refkey, bb_files) {
|
||||
var bb_files = bb_files || [];
|
||||
if (bb_files.length) {
|
||||
var fso = Server.CreateObject("Scripting.FileSystemObject");
|
||||
var newProps = flexProps(module);
|
||||
|
||||
@@ -405,33 +405,36 @@ var shared = {
|
||||
}
|
||||
return strval;
|
||||
},
|
||||
form2json: function _form2json(model)
|
||||
form2json: function _form2json(model, transit)
|
||||
{
|
||||
return shared._coll2json(model, Request.Form);
|
||||
return shared._coll2json(model, Request.Form, transit);
|
||||
},
|
||||
qs2json: function _qs2json(model)
|
||||
qs2json: function _qs2json(model, transit)
|
||||
{
|
||||
return shared._coll2json(model, Request.QueryString);
|
||||
return shared._coll2json(model, Request.QueryString, transit);
|
||||
},
|
||||
tempFolder: function _tempFolder()
|
||||
{
|
||||
return Server.MapPath(rooturl + '/temp/' + customerId);
|
||||
},
|
||||
_coll2json: function _coll2json(model, pColl) // Vergelijk ook api2.form2JSONdata die er erg op lijkt
|
||||
_coll2json: function _coll2json(model, pColl, transit) // Vergelijk ook api2.form2JSONdata die er erg op lijkt
|
||||
{
|
||||
var filter = {};
|
||||
var scf_transit = getQParamArray("scf_transit", []);
|
||||
for (var i = 1; i <= pColl.Count; i++)
|
||||
{
|
||||
var name = pColl.key(i).toLowerCase();
|
||||
var data = pColl(i);
|
||||
if (data.Count > 1)
|
||||
{
|
||||
filter[name] = [];
|
||||
for (var j = 1; j <= data.Count; j ++)
|
||||
filter[name].push(shared._qssafe(model, name, String(data(j))));
|
||||
if (inArray(name, scf_transit) === !!transit) {
|
||||
if (data.Count > 1)
|
||||
{
|
||||
filter[name] = [];
|
||||
for (var j = 1; j <= data.Count; j ++)
|
||||
filter[name].push(shared._qssafe(model, name, String(data(j))));
|
||||
}
|
||||
else
|
||||
filter[name] = shared._qssafe(model, name, String(data));
|
||||
}
|
||||
else
|
||||
filter[name] = shared._qssafe(model, name, String(data));
|
||||
}
|
||||
return filter;
|
||||
},
|
||||
@@ -1473,13 +1476,13 @@ safe = {
|
||||
var re = new RegExp(strre, "g");
|
||||
safehtml = safehtml.replace(re, strnew);
|
||||
}
|
||||
if (params.mldlink)
|
||||
if (params.fcltlinks || params.mldlink)
|
||||
var safehtml = safe.mldlinkhtml(safehtml);
|
||||
|
||||
if (params.cntlink)
|
||||
if (params.fcltlinks || params.cntlink)
|
||||
var safehtml = safe.cntlinkhtml(safehtml);
|
||||
|
||||
if (params.faqlink)
|
||||
if (params.fcltlinks || params.faqlink)
|
||||
var safehtml = safe.faqlinkhtml(safehtml);
|
||||
|
||||
// Nu de <br>'s binnen de tabel terugzetten. Let op dat ze *binnen* <td>'s weer wel moeten blijven
|
||||
@@ -1533,7 +1536,7 @@ safe = {
|
||||
if (!S("cnt_autolink_regexp")) {
|
||||
return safehtml;
|
||||
} else if (S("cnt_autolink_regexp") == "(?:((?:contract\\s?)|(?:C\\s?))(\\d+))|((?:contract#\\s?|(?:C#\\s?))(([a-z]|[0-9])+))") {
|
||||
settings.overrule_setting("cnt_autolink_regexp", "(?:((?:contract\\s?)|(?:\\WC\\s?))(\\d+))|((?:contract#\\s?|(?:\\WC#\\s?))(([a-z]|[0-9])+))");
|
||||
settings.overrule_setting("cnt_autolink_regexp", "(?:((?:contract)\\s+)([\\w-/]*))");
|
||||
}
|
||||
|
||||
var cnt_arr = safehtml.match(new RegExp(S("cnt_autolink_regexp"), "ig"));
|
||||
@@ -1542,7 +1545,7 @@ safe = {
|
||||
for (var i=0; i<cnt_arr.length; i++)
|
||||
{
|
||||
var cnt_str = cnt_arr[i];
|
||||
var cnt_num = (cnt_str.indexOf("#") > 0 ? cnt_str.substr(cnt_str.indexOf("#") + 1) : cnt_str.replace(/\D/g, ""));
|
||||
var cnt_num = cnt_str.substr(cnt_str.indexOf(" ") + 1);
|
||||
var sql = "SELECT cnt_contract_key"
|
||||
+ " FROM cnt_v_aanwezigcontract"
|
||||
+ " WHERE UPPER(cnt_contract_nummer_intern) = " + safe.quoted_sql_upper(cnt_num)
|
||||
|
||||
@@ -91,27 +91,31 @@ if (ikBenVerantwoordelijke || mld_read)
|
||||
+ " , mld_stdmelding sm"
|
||||
+ " , mld_discipline md"
|
||||
+ " , ins_srtdiscipline sd"
|
||||
+ " , mld_disc_params dp"
|
||||
+ (filtercode != "MJBU"
|
||||
? " , mld_disc_params dp"
|
||||
: "")
|
||||
+ " , mld_statuses st"
|
||||
+ (filtercode == "MJBU"
|
||||
? " , mld_melding_object mo"
|
||||
+ " , mld_stdmelding_srtinst msi"
|
||||
? " , mld_stdmelding_srtinst msi"
|
||||
+ " , ins_srtgroep isg"
|
||||
+ " , ins_srtdeel isd"
|
||||
: "")
|
||||
// Zoektekst op melding, vakgroep, meldingnummer.
|
||||
+ " WHERE (TO_CHAR(m.mld_melding_key) LIKE " + safe.quoted_sql_wild2(chars)
|
||||
+ ((filtercode == "MG" || filtercode == "MGO" || filtercode == "MJBU")?" OR UPPER(mld_melding_omschrijving) LIKE " + safe.quoted_sql_wild2(chars)
|
||||
+ " OR UPPER(mld_melding_onderwerp) LIKE " + safe.quoted_sql_wild2(chars):"")
|
||||
+ ")"
|
||||
+ ((filtercode == "MG" || filtercode == "MGO" || filtercode == "MJBU")
|
||||
? " OR UPPER(mld_melding_omschrijving) LIKE " + safe.quoted_sql_wild2(chars)
|
||||
+ " OR UPPER(mld_melding_onderwerp) LIKE " + safe.quoted_sql_wild2(chars)
|
||||
: "")
|
||||
+ ")"
|
||||
+ " AND sm.mld_ins_discipline_key = md.ins_discipline_key"
|
||||
+ " AND m.mld_stdmelding_key = sm.mld_stdmelding_key"
|
||||
+ " AND sd.ins_srtdiscipline_key = md.ins_srtdiscipline_key"
|
||||
+ " AND md.ins_discipline_key = dp.mld_ins_discipline_key"
|
||||
+ (filtercode != "MJBU"
|
||||
? " AND md.ins_discipline_key = dp.mld_ins_discipline_key"
|
||||
: "")
|
||||
+ " AND m.mld_melding_status = st.mld_statuses_key"
|
||||
+ (filtercode == "MJBU"
|
||||
? " AND m.mld_melding_key = mo.mld_melding_key"
|
||||
+ " AND sm.mld_stdmelding_key = msi.mld_stdmelding_key"
|
||||
? " AND sm.mld_stdmelding_key = msi.mld_stdmelding_key"
|
||||
+ " AND ((msi.ins_srtinstallatie_key = isg.ins_discipline_key AND msi.ins_srtinstallatie_niveau = 'D')"
|
||||
+ " OR (msi.ins_srtinstallatie_key = isg.ins_srtgroep_key AND msi.ins_srtinstallatie_niveau = 'G')"
|
||||
+ " OR (msi.ins_srtinstallatie_key = isd.ins_srtdeel_key AND msi.ins_srtinstallatie_niveau = 'S'))"
|
||||
|
||||
@@ -334,31 +334,21 @@ function getFiltClausePersoon(pfiltcode, params)
|
||||
+ " )";
|
||||
break;
|
||||
case 'INSB': // Objectbeheerders, met schrijfrechten op INSMAN of INSUSE - gokje
|
||||
lfiltClause = " AND ( (1 = "+ S("ins_can_edit_own_objects")+" )"
|
||||
+ " OR p.prs_perslid_key IN"
|
||||
+ "( SELECT prs_perslid_key"
|
||||
+ " FROM fac_v_webgebruiker g"
|
||||
+ " WHERE g.fac_functie_key IN"
|
||||
+ "( SELECT fac_functie_key"
|
||||
+ " FROM fac_functie"
|
||||
+ " WHERE fac_functie_code IN ('WEB_INSMAN', 'WEB_INSUSE')"
|
||||
+ ")"
|
||||
+ " AND g.fac_gebruiker_alg_level_write < 9"
|
||||
+ " AND g.fac_gebruiker_prs_level_write < 9"
|
||||
+ ")"
|
||||
+ " )"
|
||||
+ " AND (p.prs_perslid_key IN"
|
||||
+ "( SELECT prs_perslid_key"
|
||||
+ " FROM fac_v_webgebruiker g"
|
||||
+ " WHERE g.fac_functie_key IN"
|
||||
+ "( SELECT fac_functie_key"
|
||||
+ " FROM fac_functie"
|
||||
+ " WHERE fac_functie_code IN ('WEB_INSMAN', 'WEB_INSUSE')"
|
||||
+ ")"
|
||||
+ " AND g.fac_gebruiker_alg_level_read < 9"
|
||||
+ " AND g.fac_gebruiker_prs_level_read < 9"
|
||||
+ ")"
|
||||
+ " )"
|
||||
lfiltClause = " AND (p.prs_perslid_key IN"
|
||||
+ " ( SELECT prs_perslid_key"
|
||||
+ " FROM fac_v_webgebruiker g"
|
||||
+ " WHERE g.fac_functie_key IN"
|
||||
+ " ( SELECT fac_functie_key"
|
||||
+ " FROM fac_functie"
|
||||
+ " WHERE fac_functie_code IN ('WEB_INSMAN', 'WEB_INSUSE')"
|
||||
+ " )"
|
||||
+ ((S("ins_can_edit_own_objects") == 1) // Dan volstaan leesrechten
|
||||
? " AND g.fac_gebruiker_alg_level_read < 9"
|
||||
+ " AND g.fac_gebruiker_prs_level_read < 9"
|
||||
: " AND g.fac_gebruiker_alg_level_write < 9"
|
||||
+ " AND g.fac_gebruiker_prs_level_write < 9")
|
||||
+ " )"
|
||||
+ " )";
|
||||
break;
|
||||
case 'INS': // Bestaande beheerders van bestaande objecten
|
||||
lfiltClause = " AND p.prs_perslid_key IN (SELECT prs_perslid_key_beh FROM ins_deel WHERE ins_deel_verwijder IS NULL)";
|
||||
|
||||
@@ -169,7 +169,6 @@ function getFiltClauseReferentie(pfiltcode, params)
|
||||
+ " AND m.mld_melding_status IN (0,2,3,4,7)"; // en status is niet gesloten
|
||||
if (pfiltcode == "MJBU")
|
||||
lfiltClause.M += " AND m.mld_melding_status IN (2,4,7)" // open meldingen.
|
||||
+ " AND mo.ins_deelsrtcontrole_key IS NOT NULL" // Meldingen met taken.
|
||||
+ " AND sd.ins_srtdiscipline_key != " + S("cnd_gebreken_srtdisc_key"); // Geen conditie metingen.
|
||||
break;
|
||||
case 'O': // Weergeven van alle mogelijke eigen referenties
|
||||
|
||||
@@ -166,7 +166,7 @@ var oorzaak_bekend = false;
|
||||
else
|
||||
{
|
||||
var savedfilename = safefilename;
|
||||
if (("linkImmediate" in params) || pModule === "STYLE") { // Deze willen we niet overschrijven omdat meerdere instanties 1 map delen
|
||||
if ("linkImmediate" in params) { // Deze willen we niet overschrijven omdat meerdere instanties 1 map delen
|
||||
savedfilename = uniqueFileName(params.AttachPath, savedfilename);
|
||||
}
|
||||
var BinaryStream = Server.CreateObject("ADODB.Stream");
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
Context: Vanuit ELK asp bestand
|
||||
*/
|
||||
|
||||
var FCLTVersion="2023.2";
|
||||
var FCLTVersion="2023.2d";
|
||||
var FCLTMinDatabaseSchema="45"; // Alleen de cijfers
|
||||
|
||||
var custpath = rooturl + "/cust/" + customerId; // path to customer files
|
||||
|
||||
@@ -29,12 +29,18 @@ switch (req_info)
|
||||
{
|
||||
case "eval_bb_code":
|
||||
{
|
||||
var file_params = {
|
||||
"key": getQParamInt("key", -1),
|
||||
"module": getQParam("module", "")
|
||||
var params = {
|
||||
"file_params": {
|
||||
"key": getQParamInt("key", -1),
|
||||
"module": getQParam("module", "")
|
||||
},
|
||||
"mldlink": getQParamInt("mldlink", 0) == 1,
|
||||
"cntlink": getQParamInt("cntlink", 0) == 1,
|
||||
"faqlink": getQParamInt("faqlink", 0) == 1,
|
||||
"fcltlinks": getQParamInt("fcltlinks", 0) == 1
|
||||
}
|
||||
result = {
|
||||
"fclthtml": safe.fclthtml(getQParam("input"), { "file_params": file_params })
|
||||
"fclthtml": safe.fclthtml(getQParam("input"), params)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1064,7 +1064,7 @@ function FILEPICKER_HTML(pname, plabel, pvalue, params) {
|
||||
+ " data-module='" + params.module + "'"
|
||||
+ (params.reloadOnCallback ? " data-reload-on-callback='1'" : "")
|
||||
+ (params.callback ? " data-callback='" + params.callback + "'" : "")
|
||||
+ " data-upload-url='" + protectQS.create("../shared/BijlagenForm.asp?key=" + (params.key || -1) + "&module=" + params.module + (params.module === "STYLE" ? "&style=" + params.itm : "")) + "'>"
|
||||
+ " data-upload-url='" + protectQS.create("../shared/BijlagenForm.asp?key=" + (params.key || -1) + "&module=" + params.module) + "'>"
|
||||
+ "</span>";
|
||||
return result;
|
||||
}
|
||||
@@ -1092,9 +1092,11 @@ function ICONPICKERTR_HTML(pname, plabel, pvalue, params) {
|
||||
}
|
||||
|
||||
function FILEPICKERTR_HTML(pname, plabel, pvalue, params) {
|
||||
if (params.readonly || pvalue === null) {
|
||||
var fileProps = flexProps(params.module, params.key, null, null, { getFiles: true });
|
||||
if (pvalue === null && fileProps.files.length > 0 && !fileProps.multi) { // Geen waarde, wel files gevonden; 1 map per 'key' -> pak de eerste (normaal is dit er ook max. 1)
|
||||
var fileProps = flexProps(params.module);
|
||||
if (pvalue !== null || // -> Vind 0 of 1 bestand
|
||||
!fileProps.multi && !fileProps.pickfile) { // (Deprecated) Soms zit hier toch een bestand bij, bijv. in de SML/MRK module
|
||||
fileProps = flexProps(params.module, params.key, null, null, { getFiles: true, getFile: pvalue });
|
||||
if (pvalue === null && fileProps.files.length > 0) { // Geen waarde, wel files gevonden; 1 map per 'key' -> pak de eerste (normaal is dit er ook max. 1)
|
||||
pvalue = fileProps.files[0].name;
|
||||
params.addDeleteUrl = "&DoDelete=" + Server.URLEncode(pvalue);
|
||||
}
|
||||
@@ -1105,8 +1107,10 @@ function FILEPICKERTR_HTML(pname, plabel, pvalue, params) {
|
||||
}
|
||||
var regex = new RegExp(S("flexPreviewExt"), "i");
|
||||
var anyPreview = false;
|
||||
for (var i = 0; !anyPreview && i < fileProps.files.length; i++) {
|
||||
anyPreview |= regex.test(fileProps.files[i].name);
|
||||
if (!fileProps.pickfile) {
|
||||
for (var i = 0; !anyPreview && i < fileProps.files.length; i++) {
|
||||
anyPreview |= regex.test(fileProps.files[i].name);
|
||||
}
|
||||
}
|
||||
|
||||
var result = "<tr>"
|
||||
@@ -1119,7 +1123,7 @@ function FILEPICKERTR_HTML(pname, plabel, pvalue, params) {
|
||||
: "")
|
||||
+ " </td>"
|
||||
+ " <td>"
|
||||
+ (fileProps.files.length && !fileProps.multi
|
||||
+ (fileProps.files.length && (!fileProps.multi || fileProps.pickfile) // => Max. 1 bestand
|
||||
? "<span class='details' onclick='FcltMgr.windowopen(\"" + safe.htmlattr(safe.jsstring(fileProps.files[0].deepurl)) + "\", \"" + safe.htmlattr(plabel) + "\")'>" + safe.html(pvalue || fileProps.files[0].name) + "</span>"
|
||||
: "")
|
||||
+ " </td>"
|
||||
@@ -1133,7 +1137,9 @@ function FILEPICKERTR_HTML(pname, plabel, pvalue, params) {
|
||||
+ " <input type='hidden' id='" + pname + "' name='" + pname + "' value='" + safe.htmlattr(pvalue) + "'>"
|
||||
+ FILEPICKER_HTML(pname, plabel, pvalue, params)
|
||||
+ " <span class='default-clickable-icon symbol-delete' aria-controls='" + pname + "' title='" + L("lcl_delete") + "'"
|
||||
+ " data-delete-url='" + safe.htmlattr(protectQS.create(rooturl + "/appl/Shared/Bijlagenform_delete.asp?key=" + (params.key || -1) + "&module=" + params.module + (params.addDeleteUrl || ""))) + "'"
|
||||
+ (fileProps.linkImmediate || !(fileProps.multi && fileProps.pickfile) // Bij multi = true && pickfile = true wordt er met deze knop niets gedelete
|
||||
? " data-delete-url='" + safe.htmlattr(protectQS.create(rooturl + "/appl/Shared/Bijlagenform_delete.asp?key=" + (params.key || -1) + "&module=" + params.module + (params.addDeleteUrl || ""))) + "'"
|
||||
: "")
|
||||
+ ">"
|
||||
+ I("fa-trash-alt")
|
||||
+ " </span>"
|
||||
|
||||
@@ -807,7 +807,9 @@ notes =
|
||||
note_key = noteIns.sequences[params.table + "_note_key"];
|
||||
Oracle.Execute(noteIns.sql);
|
||||
var note_module = (params.table == "mld_opdr" ? "ORD" : params.module) + "N";
|
||||
move_new_bb_files(note_module, note_key);
|
||||
if (!params.noValidateToken) { // Uit API, we kunnen hier getFParam niet meer gebruiken (en is deze functie uberhaupt nvt)
|
||||
move_new_bb_files(note_module, note_key, getFParamStringArray("bb_files", []));
|
||||
}
|
||||
|
||||
// Alleen bij nieuwe notities, notificaties van 'mentions' versturen
|
||||
var mentionRegexpStr = "\\[mention\\](\\d+)\\|(.+?)\\[\\/mention\\]";
|
||||
|
||||
@@ -112,7 +112,7 @@ function bestandenlijst(pmodule, pniveau, pkey)
|
||||
if (pmodule && pniveau)
|
||||
{
|
||||
var refkey = (pmodule == "RES" ? xkey : pkey);
|
||||
var flex_bijlagen = flexProps(pmodule, refkey, null, pniveau);
|
||||
var flex_bijlagen = flexProps(pmodule, refkey, null, pniveau, {kenmerk_geldig: true});
|
||||
if (flex_bijlagen && flex_bijlagen.files.length > 0)
|
||||
bestandlijst = flex_bijlagen.files;
|
||||
}
|
||||
|
||||
@@ -413,6 +413,7 @@ ResultsetTable.prototype.ProcessAsCSV = function _ProcessAsCSV()
|
||||
var fso = new ActiveXObject("Scripting.FileSystemObject")
|
||||
var tmpcsv = "CSV_" + shared.random(16) +".csv"
|
||||
var uitvoerstream = fso.CreateTextFile(shared.tempFolder() + "/" + tmpcsv, true);
|
||||
Session.LCID = 1033; // English(United States) omdat csv2xlsx_386.exe dat verwacht voor floating points
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -464,7 +465,7 @@ ResultsetTable.prototype.ProcessAsCSV = function _ProcessAsCSV()
|
||||
case "date" : csvtype = "date"; break; // kan dit beter? format:"d-m-jjjj" of zo?
|
||||
case "datetime": csvtype = "date"; break; // kan dit beter? format:"d-m-jjjj uu:mm" of zo?
|
||||
case "time" : csvtype = "standard"; break; // kan dit beter? format:"uu:mm" of zo?
|
||||
case "currency": csvtype = "format:#,##0.00"; break;
|
||||
case "currency": csvtype = "format:###0.00"; break;
|
||||
case "float" : csvtype = "number"; break;
|
||||
case "number" : csvtype = "integer"; break;
|
||||
case "html" : return val;
|
||||
|
||||
@@ -45,19 +45,20 @@
|
||||
FCLTHeader.Requires({ plugins: ["jQuery"] });
|
||||
|
||||
// Functie kijkt of de waarde pvalue voorkomt in de array parray
|
||||
function valueInArray(parray, pvalue, pmulti)
|
||||
function valueInArray(parray, pvalue, pmulti, pemptyIsRealValue)
|
||||
{
|
||||
// TODO return $.inArray()
|
||||
var vvalue = (pemptyIsRealValue && pvalue == null ? "" : pvalue);
|
||||
if (pmulti && parray.length > 1) // parray is nu een array met waarden
|
||||
{
|
||||
for (i = 0; i < parray.length; i++)
|
||||
{
|
||||
if (parray[i] == pvalue) return true;
|
||||
if (parray[i] == vvalue) return true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return (parray[0] == pvalue)
|
||||
return (parray[0] == vvalue)
|
||||
}
|
||||
return false
|
||||
}
|
||||
@@ -247,7 +248,7 @@ function FCLTselectorOptionsHTML(sql, params)
|
||||
var extraPVI = params.extraParamValueInit.split(",");
|
||||
}
|
||||
|
||||
// TODO: als required en initKey dan hoeft emptyoption er natuurlijk niet bij zou ik zeggen
|
||||
// TODO: als required en initKey dan hoeft emptyOption er natuurlijk niet bij zou ik zeggen
|
||||
if ((((params.emptyOption || params.emptyOption == "") && !(justone && params.required == 1)) || params.initEmpty) && !(params.selectjustone && justone))
|
||||
{
|
||||
var hasEmpty = true; // afgeleide var voor het gemak
|
||||
@@ -274,7 +275,7 @@ function FCLTselectorOptionsHTML(sql, params)
|
||||
result.initKey = oRs(0).value;
|
||||
result.initText = oRs(1).value;
|
||||
}
|
||||
result.html += '<option value="' + safe.htmlattr(oRs(0).value) + '" ' + (valueInArray(params.initKey, oRs(0).value, params.multi) || (justone && !hasEmpty) ? ' selected ' : '');
|
||||
result.html += '<option value="' + safe.htmlattr(oRs(0).value) + '" ' + (valueInArray(params.initKey, oRs(0).value, params.multi, params.emptyIsRealValue) || (justone && !hasEmpty) ? ' selected ' : '');
|
||||
if (params.titleCol)
|
||||
{
|
||||
title = oRs(params.titleCol).value;
|
||||
|
||||
@@ -224,6 +224,8 @@ function STR2Stream(xmlstr, xslfile, Stream, params)
|
||||
}
|
||||
}
|
||||
var startPos = p_bodyhtml.indexOf("frc=", eindPos) + 4;
|
||||
var imgstart = p_bodyhtml.lastIndexOf("<img", startPos); // moet wel binnen een <img> vallen
|
||||
var imgend = p_bodyhtml.indexOf(">", imgstart);
|
||||
var quote = p_bodyhtml.substr(startPos, 1);
|
||||
var eindPos = p_bodyhtml.indexOf(quote, startPos + 2);
|
||||
}
|
||||
|
||||
@@ -89,6 +89,9 @@
|
||||
+ " WHERE res_ruimte_verwijder IS NULL"
|
||||
+ " AND res_ruimte_extern_id IS NOT NULL";
|
||||
oRs = Oracle.Execute(sql);
|
||||
|
||||
var full_import_app_key = getImportAppKey("EXCHFULL");
|
||||
|
||||
while (!oRs.Eof) {
|
||||
// Fullsync bij het aanmaken van een nieuwe subscription zodat we volgens updates snel met een deltatoken kunnen ophalen
|
||||
var zaalemail = oRs("res_ruimte_extern_id").Value;
|
||||
@@ -97,6 +100,16 @@
|
||||
res_ruimte_key,
|
||||
webhookurl,
|
||||
true); // Voorkomt onnodige validaties van de notificatie-url, want dat is hierboven al gebeurd
|
||||
|
||||
// Verwijder de regels van deze ruimte die wachten om opnieuw geprobeert te worden, dat is deprecated;
|
||||
var del_sql = "DELETE FROM exc_import"
|
||||
+ " WHERE gelukt IS NULL"
|
||||
+ " AND fac_import_key IN (SELECT fac_import_key"
|
||||
+ " FROM fac_import"
|
||||
+ " WHERE fac_import_refkey = " + res_ruimte_key
|
||||
+ " AND fac_import_app_key = " + full_import_app_key + ")";
|
||||
Oracle.Execute(del_sql);
|
||||
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
@@ -35,18 +35,21 @@
|
||||
subscriptionList.push(response.value[i]);
|
||||
}
|
||||
}
|
||||
var success = true;
|
||||
var deleted = 0;
|
||||
for (var i = 0; i < subscriptionList.length; i++) {
|
||||
var request = {
|
||||
"method": "DELETE",
|
||||
"url": "https://graph.microsoft.com/v1.0/subscriptions/" + subscriptionList[i].id,
|
||||
"headers": { "Accept": "application/json", "Authorization": "Bearer " + token }
|
||||
if (config.hookurl && subscriptionList[i].notificationUrl.toUpperCase().indexOf(config.hookurl.toUpperCase()) != -1 // Alleen de subscriptions van deze omgeving verwijderen
|
||||
|| subscriptionList[i].notificationUrl.indexOf("ngrok.io") != -1) { // en gewoon alle lokale
|
||||
var request = {
|
||||
"method": "DELETE",
|
||||
"url": "https://graph.microsoft.com/v1.0/subscriptions/" + subscriptionList[i].id,
|
||||
"headers": { "Accept": "application/json", "Authorization": "Bearer " + token }
|
||||
}
|
||||
if (doHTTP(request)) {
|
||||
deleted++;
|
||||
}
|
||||
}
|
||||
success = success && doHTTP(request);
|
||||
}
|
||||
if (success) {
|
||||
WScript.Echo(subscriptionList.length + " subscription(s) deleted");
|
||||
}
|
||||
WScript.Echo(deleted + "/" + subscriptionList.length + " subscription(s) deleted");
|
||||
}
|
||||
</script>
|
||||
</job>
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
// Facilitor properties
|
||||
hookurl : 'https://CUST.facilitor.nl/', // De url van de omgeving, leeglaten bij lokaal gebruik (-> ngrok)
|
||||
hookurl : 'https://CUST.facilitor.nl/api_intern/', // De url van de omgeving, leeglaten bij lokaal gebruik (-> ngrok)
|
||||
fullpast : 0, // Tot 0 dagen in het verleden bij nachtelijke calendar-sync
|
||||
fullfuture : 90, // Tot 90 dagen in de toekomst bij nachtelijke calendar-sync
|
||||
xmlfolder : "./csv/", // csv voor graph: Hier worden alle opgehaalde CSV's geplaatst. Moet bestaan bij gebruik van exchange_graph.wsf
|
||||
|
||||
@@ -197,18 +197,15 @@ function getReserveringByEvent(event, zaalemail)
|
||||
+ " , rr.res_rsv_ruimte_tot"
|
||||
+ " , rr.res_rsv_ruimte_externnr"
|
||||
+ " , rr.res_rsv_ruimte_externnr2"
|
||||
+ " , p.prs_perslid_email host_email"
|
||||
+ " FROM res_rsv_ruimte rr,"
|
||||
+ " res_ruimte_opstelling ro,"
|
||||
+ " res_ruimte r,"
|
||||
+ " prs_v_aanwezigperslid p"
|
||||
+ " res_ruimte r"
|
||||
+ " WHERE rr.res_rsv_ruimte_externnr IS NOT NULL"
|
||||
+ " AND " + compareExternnrSql
|
||||
+ " AND rr.res_rsv_ruimte_verwijder IS NULL"
|
||||
+ " AND ro.res_ruimte_opstel_key = rr.res_ruimte_opstel_key"
|
||||
+ " AND r.res_ruimte_key = ro.res_ruimte_key"
|
||||
+ " AND r.res_ruimte_verwijder IS NULL"
|
||||
+ " AND rr.res_rsv_ruimte_host_key = p.prs_perslid_key"
|
||||
+ " AND UPPER(r.res_ruimte_extern_id) = " + safe.quoted_sql_upper(zaalemail);
|
||||
var eventoRs = Oracle.Execute(eventSql);
|
||||
var result = [];
|
||||
@@ -264,6 +261,43 @@ function makeCSV(data, zaalemail)
|
||||
var maxPastMS = curDate.setHours(0, 0, 0, 0) - (config.fullpast * millisPerDay);
|
||||
var maxFutureMS = curDate.setHours(23, 59, 59, 999) + (config.fullfuture * millisPerDay);
|
||||
|
||||
var _roomFallbackEmail;
|
||||
var _unknownFallbackEmail;
|
||||
if (data.length) {
|
||||
var sql = "SELECT prs_perslid_email FROM prs_v_aanwezigperslid WHERE prs_perslid_oslogin = " + safe.quoted_sql_upper("_MSGRAPH_FALLBACK_ROOMS");
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (!oRs.EoF) {
|
||||
_roomFallbackEmail = oRs("prs_perslid_email").Value;
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
sql = "SELECT prs_perslid_email FROM prs_v_aanwezigperslid WHERE prs_perslid_oslogin = " + safe.quoted_sql_upper("_MSGRAPH_FALLBACK_UNKNOWN");
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (!oRs.EoF) {
|
||||
_unknownFallbackEmail = oRs("prs_perslid_email").Value;
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
|
||||
// Past de organizer.emailAddress.address aan van het meegegeven event indien nodig
|
||||
function validateOrganizer(event) {
|
||||
// Als de organisator niet als prs_perslid in Facilitor bekend is, kennen we 2 fallback-accounts;
|
||||
// 1) De organisator is een ruimte; externe software boekt vaak direct in de agenda vd ruimte, zoals Yealink, maar ook Facilitor zelf (bij msgraph_sync_level & 2)
|
||||
// 2) De organisator is onbekend; technisch/funcioneel account, of gewoon onbekend in Facilitor
|
||||
// Als de relevante fallback-account niet (juist) is geconfigureerd, returnen we een falsy value en wordt de regel niet geimporteerd
|
||||
if (event.isOrganizer) { // Ruimte = organizer (Yealink)
|
||||
event.organizer.emailAddress.address = _roomFallbackEmail;
|
||||
} else { // Try to find host by email
|
||||
sql = "SELECT COUNT (*) aantal FROM prs_v_aanwezigperslid WHERE UPPER(prs_perslid_email) = " + safe.quoted_sql_upper(event.organizer.emailAddress.address);
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (oRs("aantal").Value !== 1) { // Unknown or non-unique organizer
|
||||
event.organizer.emailAddress.address = _unknownFallbackEmail;
|
||||
}
|
||||
oRs.Close();
|
||||
}
|
||||
return event.organizer.emailAddress.address;
|
||||
}
|
||||
|
||||
// Header
|
||||
var headerRow = [
|
||||
"Subject",
|
||||
@@ -300,10 +334,13 @@ function makeCSV(data, zaalemail)
|
||||
}
|
||||
|
||||
var reserveringenFacilitor = getReserveringByEvent(thisEvent, zaalemail) || []; // Dit levert meerdere records op bij type = seriesMaster
|
||||
if (( getMSGraphSyncLevel() > 2 && reserveringenFacilitor == "pending") || // Deze is zojuist aangemaakt in Facilitor en wacht nog op een externnr
|
||||
if (( getMSGraphSyncLevel() > 2 && reserveringenFacilitor == "pending") || // Deze is zojuist aangemaakt in Facilitor en wacht nog op een externnr
|
||||
( (getMSGraphSyncLevel() & 2) == 2 && // Als wij zelf afspraken op naam van de ruimte boeken, willen we zulke events nooit importeren
|
||||
( (reserveringenFacilitor.length > 0 && reserveringenFacilitor[0].organisatorId == thisEvent.id) || // Deze is bekend in Facilitor en de ruimte is de organisator
|
||||
(reserveringenFacilitor.length === 0 && thisEvent.isOrganizer)))) { // Deze is niet bekend in Facilitor en de ruimte is de organisator
|
||||
(reserveringenFacilitor.length === 0 && /* Ooit; !_roomFallbackEmail && // Als je de fallback-user gebruikt dan is dit supported, anders niet */
|
||||
(thisEvent.isOrganizer || // Deze is niet bekend in Facilitor en de ruimte is de organisator
|
||||
inArray(thisEvent.type, ["occurrence", "exception"]) &&
|
||||
(getSeriesMaster(data, thisEvent.seriesMasterId) || {}).isOrganizer))))) { // idem, maar dan bij de seriesMaster
|
||||
// Deze slaan we over
|
||||
continue;
|
||||
}
|
||||
@@ -333,11 +370,11 @@ function makeCSV(data, zaalemail)
|
||||
"",
|
||||
"",
|
||||
"D", // [D]elete
|
||||
eventId,
|
||||
occurrenceId,
|
||||
safe.csv(eventId),
|
||||
safe.csv(occurrenceId),
|
||||
++seqNbr
|
||||
];
|
||||
trs.push(tds.join(";"));
|
||||
trsXpush(tds);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -351,15 +388,18 @@ function makeCSV(data, zaalemail)
|
||||
var modifier = reserveringenFacilitor.length === 0 ? "C" : "U"; // [U]pdate of [C]reate
|
||||
if (thisEvent.type == "singleInstance") // Simpel, single event
|
||||
{
|
||||
if (!validateOrganizer(thisEvent)) {
|
||||
continue;
|
||||
}
|
||||
tds = [
|
||||
'"' + thisEvent.subject + '"',
|
||||
safe.csv(thisEvent.subject),
|
||||
_startDate.toISOString(),
|
||||
_endDate.toISOString(),
|
||||
'"' + thisEvent.organizer.emailAddress.address + '"',
|
||||
safe.csv(thisEvent.organizer.emailAddress.address),
|
||||
"",
|
||||
"",
|
||||
modifier,
|
||||
thisEvent.id,
|
||||
safe.csv(thisEvent.id),
|
||||
"",
|
||||
++seqNbr
|
||||
];
|
||||
@@ -376,23 +416,26 @@ function makeCSV(data, zaalemail)
|
||||
"",
|
||||
"",
|
||||
"D", // cancelled or deleted
|
||||
thisEvent.seriesMasterId,
|
||||
thisEvent.id,
|
||||
safe.csv(thisEvent.seriesMasterId),
|
||||
safe.csv(thisEvent.id),
|
||||
++seqNbr
|
||||
];
|
||||
trs.push(tds.join(";"));
|
||||
trsXpush(tds);
|
||||
continue;
|
||||
} else {
|
||||
if (!validateOrganizer(masterEvent)) {
|
||||
continue;
|
||||
}
|
||||
tds = [
|
||||
'"' + masterEvent.subject + '"',
|
||||
safe.csv(masterEvent.subject),
|
||||
_startDate.toISOString(),
|
||||
_endDate.toISOString(),
|
||||
'"' + masterEvent.organizer.emailAddress.address + '"',
|
||||
safe.csv(masterEvent.organizer.emailAddress.address),
|
||||
"",
|
||||
"",
|
||||
modifier,
|
||||
thisEvent.seriesMasterId,
|
||||
thisEvent.id,
|
||||
safe.csv(thisEvent.seriesMasterId),
|
||||
safe.csv(thisEvent.id),
|
||||
++seqNbr
|
||||
];
|
||||
}
|
||||
@@ -421,17 +464,17 @@ function makeCSV(data, zaalemail)
|
||||
"",
|
||||
"",
|
||||
"D", // [D]eleted
|
||||
reserveringenFacilitor[f].externnr.split("|")[0],
|
||||
reserveringenFacilitor[f].externnr.split("|")[1],
|
||||
safe.csv(reserveringenFacilitor[f].externnr.split("|")[0]),
|
||||
safe.csv(reserveringenFacilitor[f].externnr.split("|")[1]),
|
||||
++seqNbr
|
||||
];
|
||||
trs.push(tds.join(";"));
|
||||
trsXpush(tds);
|
||||
}
|
||||
}
|
||||
continue; // Klaar
|
||||
}
|
||||
|
||||
trs.push(tds.join(";"));
|
||||
trsXpush(tds);
|
||||
|
||||
// Deelnemers
|
||||
if ("attendees" in thisEvent)
|
||||
@@ -439,21 +482,23 @@ function makeCSV(data, zaalemail)
|
||||
var eventId = inArray(thisEvent.type, ["occurrence", "exception"]) ? thisEvent.seriesMasterId : thisEvent.id;
|
||||
var occurrenceId = inArray(thisEvent.type, ["occurrence", "exception"]) ? thisEvent.id : "";
|
||||
for (var attendee in thisEvent.attendees) {
|
||||
if (thisEvent.attendees[attendee].emailAddress.address !== thisEvent.organizer.emailAddress.address && // Organisator hoeft niet
|
||||
if (thisEvent.attendees[attendee].emailAddress &&
|
||||
thisEvent.attendees[attendee].emailAddress.address &&
|
||||
thisEvent.attendees[attendee].emailAddress.address !== thisEvent.organizer.emailAddress.address && // Organisator hoeft niet
|
||||
thisEvent.attendees[attendee].emailAddress.address.toUpperCase() !== zaalemail.toUpperCase()) { // Ruimte ook niet
|
||||
tds = [
|
||||
'"' + thisEvent.subject + '"',
|
||||
safe.csv(thisEvent.subject),
|
||||
_startDate.toISOString(),
|
||||
_endDate.toISOString(),
|
||||
'"' + thisEvent.organizer.emailAddress.address + '"',
|
||||
'"' + thisEvent.attendees[attendee].emailAddress.address + '"',
|
||||
'"' + thisEvent.attendees[attendee].emailAddress.name + '"',
|
||||
safe.csv(thisEvent.organizer.emailAddress.address),
|
||||
safe.csv(thisEvent.attendees[attendee].emailAddress.address),
|
||||
safe.csv(thisEvent.attendees[attendee].emailAddress.name),
|
||||
modifier,
|
||||
eventId,
|
||||
occurrenceId,
|
||||
safe.csv(eventId),
|
||||
safe.csv(occurrenceId),
|
||||
seqNbr
|
||||
];
|
||||
trs.push(tds.join(";"));
|
||||
trsXpush(tds);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -461,6 +506,19 @@ function makeCSV(data, zaalemail)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function trsXpush(tds) { // Tijdelijke asp fix voor #79438
|
||||
if (zaalemail.length + tds[0].length + 35 > 200) { // v_aanduiding = VARCHAR2(200), 35 is de maximale overhead min de safe.csv quotes
|
||||
var subjectMaxLength = 200 - 37 - zaalemail.length;
|
||||
tds[0] = '"' + tds[0] // Het onderwerp
|
||||
.slice(1, -1) // Min de begin en eind quotes
|
||||
.substring(0, subjectMaxLength) // Knip af op maximale lengte
|
||||
.replace(/"*$/, "") // Verwijder trailing double quotes tbv veilige escaping
|
||||
+ '"'; // Met nieuwe omvattende dubbele quotes
|
||||
}
|
||||
trs.push(tds.join(";"));
|
||||
}
|
||||
|
||||
if (trs.length)
|
||||
trs = [headerRow].concat(trs);
|
||||
return trs.join("\r\n");
|
||||
|
||||
@@ -108,10 +108,9 @@ function requestTokenCertificate(config)
|
||||
}
|
||||
var pfx = new ActiveXObject("Chilkat_9_5_0.Pfx");
|
||||
var success = pfx.LoadPfxFile(custabspath + "\\Exchange\\" + config.certificate, config.certificate_password);
|
||||
if (success != 1)
|
||||
{
|
||||
__Log("LoadEncryptedPemFile geen succes");
|
||||
__Log(pfx.LastErrorText);
|
||||
if (success != 1) {
|
||||
__DoLog("LoadEncryptedPemFile geen succes", "#FF0000");
|
||||
__DoLog(pfx.LastErrorText);
|
||||
return null;
|
||||
}
|
||||
var privKey = pfx.GetPrivateKey(0);
|
||||
@@ -491,15 +490,20 @@ function doHTTP(method, url, body, headers, params)
|
||||
var params = params || {};
|
||||
}
|
||||
|
||||
//var SXH_PROXY_SET_PROXY = 2;
|
||||
// var SXH_PROXY_SET_PROXY = 2;
|
||||
var SXH_OPTION_IGNORE_SERVER_SSL_CERT_ERROR_FLAGS = 2;
|
||||
var SXH_SERVER_CERT_IGNORE_ALL_SERVER_ERRORS = 0x3300;
|
||||
|
||||
var objXMLHTTP = new ActiveXObject("MSXML2.ServerXMLHTTP.6.0");
|
||||
// objXMLHTTP.setProxy(SXH_PROXY_SET_PROXY, "127.0.0.1:8888");
|
||||
|
||||
objXMLHTTP.setTimeouts(1200000, 270000, 255000, 240000);
|
||||
// Defaults: Unlimited, 60000, 30000, 30000
|
||||
|
||||
objXMLHTTP.open(method, url, !!params.async);
|
||||
if (headers) {
|
||||
if ("Authorization" in headers && headers.Authorization === "Bearer null") {
|
||||
headers.Authorization = "Bearer " + requestToken(config);
|
||||
}
|
||||
var header;
|
||||
for (header in headers) {
|
||||
objXMLHTTP.setRequestHeader(header, headers[header]);
|
||||
@@ -520,10 +524,15 @@ function doHTTP(method, url, body, headers, params)
|
||||
__Log2File("request.xml", body);
|
||||
}
|
||||
|
||||
var start = new Date().getTime();
|
||||
try {
|
||||
objXMLHTTP.send(body);
|
||||
} catch (e) {
|
||||
__DoLog("doHTTP ERROR: " + e.description, "#FF0000"); // Bijvoorbeeld; 'A connection with the server could not be established' als ngrok lokaal niet draait
|
||||
var duration = new Date().getTime() - start;
|
||||
__DoLog("doHTTP ERROR: " + e.description + " (" + duration + "ms)", "#FF0000"); // Bijvoorbeeld; 'A connection with the server could not be established' als ngrok lokaal niet draait
|
||||
if (request) {
|
||||
__DoLog(request);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -535,7 +544,7 @@ function _handleMsGraphResponse(request, httpResponse)
|
||||
{
|
||||
if (request.params.async) {
|
||||
if (httpResponse.readyState && httpResponse.readyState != 4) {
|
||||
httpResponse.waitForResponse(29); // Wacht max. 29s op antwoord (default timeout = 30s)
|
||||
httpResponse.waitForResponse(180); // Wacht max. 180s op antwoord
|
||||
}
|
||||
}
|
||||
|
||||
@@ -610,6 +619,9 @@ function _handleMsGraphFailure(request, httpResponse) {
|
||||
break;
|
||||
default:
|
||||
__DoLog("[" + httpResponse.status + "] - MS Graph error code [" + msGraphResponse.error.code + "]: " + msGraphResponse.error.message, "#FF0000");
|
||||
if (request) {
|
||||
__DoLog(request);
|
||||
}
|
||||
return msGraphResponse;
|
||||
}
|
||||
} else if (typeof msGraphResponse == "object" && typeof msGraphResponse.error == "string") { // Azure errors
|
||||
@@ -655,7 +667,7 @@ function doImport(res_ruimte_key, zaalemail, import_type) {
|
||||
user_key = DEZE.user_key;
|
||||
customerId = DEZE.customerId;
|
||||
}
|
||||
|
||||
var procedure_params = ", " + (config.fullpast || 0) + ", " + (config.fullfuture || 90);
|
||||
var res = impReadStream(fileStream,
|
||||
import_app_key,
|
||||
{ fac_home: custabspath + "/exchange/",
|
||||
@@ -665,12 +677,13 @@ function doImport(res_ruimte_key, zaalemail, import_type) {
|
||||
keep_old: 300, // Parallelle import 300 seconden ondersteunen (nodig voor deze import?)
|
||||
user_key: user_key,
|
||||
keep_backup: false, // mits fac_import_app_folder gezet
|
||||
is_stream: true
|
||||
is_stream: true,
|
||||
proc_params: procedure_params
|
||||
});
|
||||
if (res.success) {
|
||||
var processres = impProcessStream(res.import_key, {
|
||||
customerId: customerId,
|
||||
proc_params: ", " + (config.fullpast || 0) + ", " + (config.fullfuture || 90)
|
||||
proc_params: procedure_params
|
||||
});
|
||||
} else {
|
||||
__DoLog(res);
|
||||
@@ -733,7 +746,7 @@ function unlockChilkat() {
|
||||
try {
|
||||
var glob = new ActiveXObject("Chilkat_9_5_0.Global");
|
||||
} catch (e) {
|
||||
__Log(e.description);
|
||||
__DoLog(e.description, "#FF0000");
|
||||
}
|
||||
var sql = "SELECT COALESCE(fac_setting_pvalue, fac_setting_default) fac_setting_value"
|
||||
+ " FROM fac_setting"
|
||||
@@ -742,7 +755,7 @@ function unlockChilkat() {
|
||||
var success = glob.UnlockBundle(oRs("fac_setting_value").Value);
|
||||
oRs.Close();
|
||||
if (success != 1) {
|
||||
__Log("Chilkat_9_5_0 Unlock failed:\n" + oChilglob.LastErrorText);
|
||||
__DoLog("Chilkat_9_5_0 Unlock failed:\n" + oChilglob.LastErrorText, "#FF0000");
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
|
||||
@@ -289,7 +289,12 @@ function _resToGraph(oRs, CRUD, params)
|
||||
res_ruimte_extern_id = params.old_extern_id; // -> Verwijder de afspraak gekoppeld aan de [oude] ruimte
|
||||
} else if (CRUD == "U") {
|
||||
if (res_ruimte_extern_id == null) { // [Nieuwe] ruimte is niet aan Outlook gekoppeld (De oude wel, anders komen we hier niet)
|
||||
return _resToGraph(oRs, "D", params); // -> Verwijder de hele afspraak in Outlook
|
||||
if (roomEventID === "" && organizerEventID === "") { // De oude ruimte was wel gekoppeld, maar de reservering zelf niet
|
||||
__Log("Oude reservering was niet gekoppeld -> Geen actie");
|
||||
return false;
|
||||
} else {
|
||||
return _resToGraph(oRs, "D", params); // -> Verwijder de hele afspraak in Outlook
|
||||
}
|
||||
} else if (params.old_extern_id == null) { // [Oude] ruimte was niet aan Outlook gekoppeld
|
||||
return _resToGraph(oRs, "C", params); // -> Maak een [nieuwe] afspraak in Outlook
|
||||
} else { // [Oude] ruimte was ook aan Outlook gekoppeld
|
||||
@@ -297,6 +302,8 @@ function _resToGraph(oRs, CRUD, params)
|
||||
var res_D = _resToGraph(oRs, "D", params); // -> Verwijder de afspraak van de [oude] ruimte
|
||||
var res_C = _resToGraph(oRs, "C", params); // -> Maak een nieuwe afspraak aan voor de [nieuwe] ruimte
|
||||
return (params.batch ? res_D.concat(res_C) : res_C);
|
||||
} else if (organizerEventID == "") { // Van deze Outlook reservering moeten we eerst nog (bij de oude ruimte) het organizerEventID opvragen
|
||||
organizerEventID = updateExternnr2(params.old_extern_id, roomEventID, host_mail);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -308,6 +315,10 @@ function _resToGraph(oRs, CRUD, params)
|
||||
}
|
||||
|
||||
if ((CRUD == "U" || CRUD == "D") && organizerEventID == "") {
|
||||
if (roomEventID == "") {
|
||||
__Log("Deze reservering is niet gekoppeld -> Geen actie");
|
||||
return false
|
||||
}
|
||||
if (getMSGraphSyncLevel() & 4) {
|
||||
organizerEventID = updateExternnr2(res_ruimte_extern_id, roomEventID, host_mail);
|
||||
} else if ((getMSGraphSyncLevel() & 6) == 2) {
|
||||
|
||||
@@ -247,11 +247,11 @@ function notificationMail(rec, p_notificationXSL, params)
|
||||
var stdTxt = WshShellExec.StdOut.ReadAll();
|
||||
if (errTxt)
|
||||
{
|
||||
Log2File(2, "Error calling csv2xlsx: " + errTxt);
|
||||
Log2File(1, "Error calling csv2xlsx: " + errTxt);
|
||||
}
|
||||
if (!fso.FileExists(tmpxlsx))
|
||||
{
|
||||
Log2File(2, "csv2xlsx output " + stdTxt);
|
||||
Log2File(1, "csv2xlsx output " + stdTxt);
|
||||
throw { description: "Weird: csv2xlsx did not convert {0} to {1}\nPossible cause: putorders was not run from the server?".format(jresult.tmpcsv, tmpxlsx) };
|
||||
}
|
||||
mail_params.include_cust_file = tmpxlsx;
|
||||
|
||||
@@ -284,6 +284,8 @@ function sendMail( p_mailfrom
|
||||
}
|
||||
// Volgende zoeken
|
||||
startPos = p_bodyhtml.indexOf("frc=", eindPos) + 4;
|
||||
imgstart = p_bodyhtml.lastIndexOf("<img", startPos); // moet wel binnen een <img> vallen
|
||||
imgend = p_bodyhtml.indexOf(">", imgstart);
|
||||
quote = p_bodyhtml.substr(startPos, 1);
|
||||
eindPos = p_bodyhtml.indexOf(quote, startPos + 2);
|
||||
}
|
||||
|
||||
@@ -133,6 +133,14 @@ safe = { // extracted from shared.inc
|
||||
filename: function (naam) // geen 'lage' karakters een geen (back)slashes, *,%,<,>, '"', ':', '?' and '|'
|
||||
{
|
||||
return naam.replace(/[\x00-\x1F|\/|\\|\*|\%\<\>\"\:\;\?\|]+/g, "_"); // " syntax highlight correctie
|
||||
},
|
||||
// Altijd quotes er om, we verdubbelen interne
|
||||
// CR+LF binnen een waarde maken we alleen LF van
|
||||
csv: function (waarde)
|
||||
{
|
||||
if (waarde==null)
|
||||
return "";
|
||||
return "\"" + String(waarde).replace(/\x0D\x0A/g,'\x0A').replace(/\"/g,'""') + "\""; // " syntax highlight correctie
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user