20 Commits

Author SHA1 Message Date
Jos Groot Lipman
7bad3e81eb FCLT#61926 Aanmaken gebruiker via JWT/SAML geeft eerste keer 'Expired' melding
svn path=/Website/branches/v2019.2/; revision=46353
2020-03-24 15:09:07 +00:00
Jos Groot Lipman
f608627448 FCLT#61700 hot news alleen voor WEB_PRSSYS en WEB_FACMGT
svn path=/Website/branches/v2019.2/; revision=46168
2020-03-09 11:42:07 +00:00
Suzan Wiegerinck
051f08eb60 FCLT#61555: Mogelijkheid voor posten notities naar Topdesk Change via TD API
svn path=/Website/branches/v2019.2/; revision=45995
2020-02-26 15:13:08 +00:00
Jos Groot Lipman
dc490bb8fe Release 2019.2 Gold E
svn path=/Website/branches/v2019.2/; revision=45921
2020-02-20 14:07:45 +00:00
Erik Groener
b46fdb89e0 UWVA#61386 Extra release 2019.2 voor UWV
svn path=/Website/branches/v2019.2/; revision=45885
2020-02-18 15:56:54 +00:00
Alex Tiehuis
95d95cd57d FCLT#57249 Push berichten komen niet aan
svn path=/Website/branches/v2019.2/; revision=45729
2020-02-06 10:50:07 +00:00
Jos Groot Lipman
ad1ca3bb40 FCLT#61209 Import van ARAI_TEST kon tot productieverstoring leiden
svn path=/Website/branches/v2019.2/; revision=45691
2020-02-05 08:14:54 +00:00
Jos Groot Lipman
8b014fdbf6 Fac-verify ook laten windows (C:) drive laten controleren
svn path=/Website/branches/v2019.2/; revision=45630
2020-01-30 13:14:23 +00:00
Jos Groot Lipman
656b6582ea Fac-verify ook laten controleren of een externe url is te benaderen
svn path=/Website/branches/v2019.2/; revision=45624
2020-01-30 08:41:53 +00:00
Marcel Bourseau
dbebb8eca6 MARX#60974: Filenaam van embedded PDF in de UBL
svn path=/Website/branches/v2019.2/; revision=45611
2020-01-28 14:31:19 +00:00
Suzan Wiegerinck
144cbc53b3 FCLT#61112: Reserveren van vervallen objecten via mobile mogelijk
svn path=/Website/branches/v2019.2/; revision=45601
2020-01-28 08:44:18 +00:00
Arthur Egberink
a1fc8ffdbb YKPN#60847 -- Projecten in calendar tonen
svn path=/Website/branches/v2019.2/; revision=45600
2020-01-28 08:40:25 +00:00
Jos Groot Lipman
b89167fd85 FCLT#61003 Infobord zonder rapport wisselde niet goed van verdieping
svn path=/Website/branches/v2019.2/; revision=45598
2020-01-28 08:10:03 +00:00
Erik Groener
f395f12f71 AADS#61082 Reservering komt meerdere malen terug in overzicht
svn path=/Website/branches/v2019.2/; revision=45583
2020-01-27 08:51:16 +00:00
Jos Groot Lipman
fb941d7ee3 FCLT#61056 lek in authenticatie via X-FACILITOR-ACCESS-TOKEN
svn path=/Website/branches/v2019.2/; revision=45544
2020-01-22 14:24:52 +00:00
Jos Groot Lipman
20b2cff17f FCLT#60353 Allereerste app-registratie is natuurlijk ook meteen een 'login'
svn path=/Website/branches/v2019.2/; revision=45542
2020-01-22 12:24:22 +00:00
Jos Groot Lipman
e70971d111 KFSG#60873 RES_DEEL foto niet goed aanklikbaar
svn path=/Website/branches/v2019.2/; revision=45526
2020-01-21 09:43:27 +00:00
Jos Groot Lipman
d6207ac5ca FCLT#60353 Notificaties nieuwe App via Firebase
svn path=/Website/branches/v2019.2/; revision=45524
2020-01-21 08:46:42 +00:00
Jos Groot Lipman
783c274781 Verify-files ook controleren op readonly zodat je weet of het netjes gecommit is.
Daarnaast filenamen voor de zekerheid HTML-safe maken

svn path=/Website/branches/v2019.2/; revision=45521
2020-01-20 16:12:04 +00:00
Jos Groot Lipman
df29d6954b FCLT#60353 Notificaties nieuwe App via Firebase
svn path=/Website/branches/v2019.2/; revision=45514
2020-01-20 14:31:12 +00:00
31 changed files with 202 additions and 97 deletions

View File

@@ -62,12 +62,14 @@ function model_aut_client_perslid(params)
"pushtoken": { "pushtoken": {
"dbs": "aut_client_perslid_pushtoken", "dbs": "aut_client_perslid_pushtoken",
"label": L("aut_client_perslid_pushtoken"), "label": L("aut_client_perslid_pushtoken"),
"typ": "varchar" "typ": "varchar",
"filter": "exact"
}, },
"refreshtoken": { "refreshtoken": {
"dbs": "aut_client_perslid_refreshtkn", "dbs": "aut_client_perslid_refreshtkn",
"label": L("aut_client_perslid_refreshtoken"), "label": L("aut_client_perslid_refreshtoken"),
"typ": "varchar" "typ": "varchar",
"filter": "exact"
}, },
"refreshdate": { "refreshdate": {
"dbs": "aut_client_perslid_refreshdate", "dbs": "aut_client_perslid_refreshdate",
@@ -77,7 +79,8 @@ function model_aut_client_perslid(params)
"accesstoken": { "accesstoken": {
"dbs": "aut_client_perslid_accesstoken", "dbs": "aut_client_perslid_accesstoken",
"label": L("aut_client_perslid_accesstoken"), "label": L("aut_client_perslid_accesstoken"),
"typ": "varchar" "typ": "varchar",
"filter": "exact"
}, },
"accessdate": { "accessdate": {
"dbs": "aut_client_perslid_accessdate", "dbs": "aut_client_perslid_accessdate",

View File

@@ -256,7 +256,7 @@ function model_prs_perslid(params)
{ {
if (user.prs_perslid_apikey() && user.oslogin()) if (user.prs_perslid_apikey() && user.oslogin())
{ {
this.fields["authtoken"] = { dbs: "prs_perslid_apikey", typ: "varchar", val: fnApiToken }; this.fields["authtoken"] = { dbs: "prs_perslid_apikey", typ: "varchar", val: fnApiToken, filter: "exact" };
} }
} }

View File

@@ -1218,8 +1218,8 @@ function process_claim(claim, idp_data, params)
// We zijn nu in principe ingelogd maar er kunnen nog extra voorwaarden zijn waarom het toch niet mag // We zijn nu in principe ingelogd maar er kunnen nog extra voorwaarden zijn waarom het toch niet mag
// Dan wordt je alsnog uitgelogd // Dan wordt je alsnog uitgelogd
var alles_ok = user_key > 0; var alles_ok = user_key > 0 || (idp_data.autocreate.id & 1);
if (alles_ok && idp_data.authorization && !user.has(idp_data.authorization.id)) // gebruiker moet deze autorisatie hebben if (user_key > 0 && idp_data.authorization && !user.has(idp_data.authorization.id)) // gebruiker moet deze autorisatie hebben
alles_ok = false; alles_ok = false;
if (alles_ok) if (alles_ok)

View File

@@ -64,6 +64,7 @@ var JSON_Result = true;
"refreshdate" : new Date(), "refreshdate" : new Date(),
"accesstoken" : '1$' + customerId + "_" + shared.random(32), // Does not expire yet? "accesstoken" : '1$' + customerId + "_" + shared.random(32), // Does not expire yet?
"accessdate" : new Date(), "accessdate" : new Date(),
"login" : new Date(),
"person" : user_key, "person" : user_key,
"pushtoken" : push_token || (customerId + "_" + shared.random(32)) "pushtoken" : push_token || (customerId + "_" + shared.random(32))
} }

View File

@@ -346,7 +346,8 @@ if (user_key < 0 && S("os_logon")
} }
// Tenslotte proberen we automatische iDP's // Tenslotte proberen we automatische iDP's
if (user_key < 0 var nosso = getQParamInt("nosso", 0) == 1;
if (user_key < 0 && !nosso
&& typeof Session("no_sso") == "undefined" && typeof Session("no_sso") == "undefined"
&& !Request.ServerVariables("HTTP_X_FACILITOR_API_KEY").Count && !Request.ServerVariables("HTTP_X_FACILITOR_API_KEY").Count
&& !Request.QueryString("APIKEY").Count) && !Request.QueryString("APIKEY").Count)

View File

@@ -355,6 +355,9 @@ function bez_list(pautfunction, params)
sql += ", 0 authorized"; // zou niet voor moeten komen dus niet geautoriseerd sql += ", 0 authorized"; // zou niet voor moeten komen dus niet geautoriseerd
} }
sql += ", rr.res_ruimte_extern_id"
+ ", rrr.res_rsv_ruimte_externnr";
sql += ", (SELECT COUNT (ins_deel_key)" sql += ", (SELECT COUNT (ins_deel_key)"
+ " FROM (SELECT i.ins_deel_key" + " FROM (SELECT i.ins_deel_key"
+ " , i.ins_alg_ruimte_key" + " , i.ins_alg_ruimte_key"
@@ -840,9 +843,10 @@ function bez_list(pautfunction, params)
tExpire = oRs("tExpire").Value; tExpire = oRs("tExpire").Value;
} }
var ruimte_extern = ((oRs("res_ruimte_extern_id").Value != null) || (oRs("res_rsv_ruimte_externnr").Value != null));
var aantaldone = oRs("aantaldone").Value; var aantaldone = oRs("aantaldone").Value;
var eEdit = (fronto || backo || (tVan > tExpire)); var eEdit = (fronto || backo || (tVan > tExpire));
var eDelete = (canDelete || (tVan > tExpire)) && aantaldone == 0; var eDelete = (canDelete || (tVan > tExpire)) && !ruimte_extern && aantaldone == 0;
var data = {eEdit: eEdit, eDelete: eDelete }; var data = {eEdit: eEdit, eDelete: eDelete };
return data; return data;

View File

@@ -41,10 +41,17 @@ if (afspraak_key == -1)
if (!oRs.eof) if (!oRs.eof)
{ {
afspraak_key = oRs("bez_afspraak_key").Value; afspraak_key = oRs("bez_afspraak_key").Value;
var sql_r = "SELECT rrr.res_rsv_ruimte_externnr"
+ " FROM res_rsv_ruimte rrr"
+ " WHERE rrr.res_rsv_ruimte_key = " + rsv_ruimte_key;
var oRs_r = Oracle.Execute(sql_r);
canChange = oRs_r("res_rsv_ruimte_externnr").Value != null;
oRs_r.Close();
} }
else // Eerste bezoeker bij een reservering niet toestaan voor externe reserveringen else // Eerste bezoeker bij een reservering niet toestaan voor externe reserveringen
{ {
sql = "SELECT res_ruimte_extern_id" sql = "SELECT res_ruimte_extern_id"
+ " , rrr.res_rsv_ruimte_externnr"
+ " FROM res_rsv_ruimte rrr" + " FROM res_rsv_ruimte rrr"
+ " , res_ruimte_opstelling ro" + " , res_ruimte_opstelling ro"
+ " , res_ruimte rr" + " , res_ruimte rr"
@@ -52,7 +59,7 @@ if (afspraak_key == -1)
+ " AND rr.res_ruimte_key = ro.res_ruimte_key" + " AND rr.res_ruimte_key = ro.res_ruimte_key"
+ " AND rrr.res_rsv_ruimte_key = " + rsv_ruimte_key; + " AND rrr.res_rsv_ruimte_key = " + rsv_ruimte_key;
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
if (!oRs.Eof && oRs("res_ruimte_extern_id").Value != null) if (!oRs.Eof && (oRs("res_ruimte_extern_id").Value != null || oRs("res_rsv_ruimte_externnr").Value != null))
canChange = false; canChange = false;
oRs.Close(); oRs.Close();
} }

View File

@@ -162,7 +162,8 @@ if (fac_usrrap_key > -1)
$("#MMap")[0].src = mapper; // Forceer refresh $("#MMap")[0].src = mapper; // Forceer refresh
$("#RRap")[0].src = rapper; if ($("#RRap").length)
$("#RRap")[0].src = rapper;
} }
/************************************************************\ /************************************************************\

View File

@@ -15,6 +15,7 @@ DOCTYPE_Disable = true;
ANONYMOUS_Allowed = 1; ANONYMOUS_Allowed = 1;
%> %>
<!-- #include file="../Shared/common.inc" --> <!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../Shared/save2db.inc" --> <!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="../Shared/xml_converter.inc" --> <!-- #include file="../Shared/xml_converter.inc" -->
<% <%
@@ -61,7 +62,10 @@ ANONYMOUS_Allowed = 1;
case "change": topdesk_url = "/tas/api/operatorChanges"; case "change": topdesk_url = "/tas/api/operatorChanges";
switch (methode) switch (methode)
{ {
case "POST": case "POST": topdesk_url += "";
break;
case "PATCH": topdesk_url += "/number/" + params.data.get_id;
break;
} }
break; break;
} }
@@ -76,7 +80,7 @@ ANONYMOUS_Allowed = 1;
http_request.open(methode, topdesk_url, false); // Synchroon http_request.open(methode, topdesk_url, false); // Synchroon
http_request.setRequestHeader("Authorization", topdesk_aut); http_request.setRequestHeader("Authorization", topdesk_aut);
http_request.setRequestHeader("Accept", "application/json"); http_request.setRequestHeader("Accept", "application/json");
if (methode == "PUT" || methode == "POST") if (methode == "PUT" || methode == "POST" || methode == "PATCH")
{ {
http_request.setRequestHeader("Content-Type", "application/json"); http_request.setRequestHeader("Content-Type", "application/json");
http_request.send(JSON.stringify(params.data)); http_request.send(JSON.stringify(params.data));

View File

@@ -657,6 +657,7 @@ function sqlTracking(refkey, node)
+ " , res_v_aanwezigrsv_deel dd" + " , res_v_aanwezigrsv_deel dd"
+ " WHERE rr.res_status_bo_key IS NULL AND dd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key" + " WHERE rr.res_status_bo_key IS NULL AND dd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key"
+ " AND (rr.res_rsv_ruimte_van BETWEEN SYSDATE - " + S("facilitiespast_res") + " AND SYSDATE + " + S("facilitiesfuture_res") + " OR rr.res_rsv_ruimte_van IS NULL)" + " AND (rr.res_rsv_ruimte_van BETWEEN SYSDATE - " + S("facilitiespast_res") + " AND SYSDATE + " + S("facilitiesfuture_res") + " OR rr.res_rsv_ruimte_van IS NULL)"
+ " AND rr.res_rsv_ruimte_host_key <> rr.res_rsv_ruimte_contact_key"
+ " UNION ALL " // 5 Host cateringreservering dirtlevel van de onderliggenden bepalen? + " UNION ALL " // 5 Host cateringreservering dirtlevel van de onderliggenden bepalen?
+ "SELECT rr.res_rsv_ruimte_host_key prs_perslid_key" + "SELECT rr.res_rsv_ruimte_host_key prs_perslid_key"
+ " , TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr" + " , TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr"
@@ -681,6 +682,7 @@ function sqlTracking(refkey, node)
+ " , res_v_aanwezigrsv_artikel dd" + " , res_v_aanwezigrsv_artikel dd"
+ " WHERE rr.res_status_bo_key IS NULL AND dd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key " + " WHERE rr.res_status_bo_key IS NULL AND dd.res_rsv_ruimte_key = rr.res_rsv_ruimte_key "
+ " AND (rr.res_rsv_ruimte_van BETWEEN SYSDATE - " + S("facilitiespast_res") + " AND SYSDATE + " + S("facilitiesfuture_res") + " OR rr.res_rsv_ruimte_van IS NULL)" + " AND (rr.res_rsv_ruimte_van BETWEEN SYSDATE - " + S("facilitiespast_res") + " AND SYSDATE + " + S("facilitiesfuture_res") + " OR rr.res_rsv_ruimte_van IS NULL)"
+ " AND rr.res_rsv_ruimte_host_key <> rr.res_rsv_ruimte_contact_key"
+ " UNION " // 6 Contact cateringreservering dirtlevel van de onderliggenden bepalen? + " UNION " // 6 Contact cateringreservering dirtlevel van de onderliggenden bepalen?
+ "SELECT rr.res_rsv_ruimte_contact_key prs_perslid_key" + "SELECT rr.res_rsv_ruimte_contact_key prs_perslid_key"
+ " , TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr" + " , TO_CHAR (rr.res_reservering_key) || '/' || rr.res_rsv_ruimte_volgnr"

View File

@@ -21,6 +21,9 @@ if (hasNews)
function injectNews () function injectNews ()
{ {
if (!user.has("WEB_PRSSYS") && !user.has("WEB_FACMGT"))
return;
// Hot news overruled forum berichten // Hot news overruled forum berichten
if (Application("portalalert")) if (Application("portalalert"))
{ {
@@ -33,7 +36,7 @@ function injectNews ()
Response.Write('</script>'); Response.Write('</script>');
} }
return; // uitgeschakeld return; // rest is uitgeschakeld
var hasNews = S("fac_nieuws_forum_url") && S("fac_nieuws_forum_max") > 0 && var hasNews = S("fac_nieuws_forum_url") && S("fac_nieuws_forum_max") > 0 &&
(user.checkAutorisation("WEB_PRSSYS", true) || user.checkAutorisation("WEB_FACMGT", true)); (user.checkAutorisation("WEB_PRSSYS", true) || user.checkAutorisation("WEB_FACMGT", true));

View File

@@ -701,52 +701,62 @@ if (0) checker("Charset",
} }
) )
function driveInfo(drvPath)
{
res = resultcodes.unknown;
try
{
var d = fso.GetDrive(fso.GetDriveName(drvPath));
var totaltxt = (d.TotalSize/1024/1024/1024).toFixed(1) + " GB";
var free = d.AvailableSpace / d.TotalSize * 100;
if (free < 10)
free = free.toFixed(1);
else
free = Math.round(free);
var availtxt = (d.AvailableSpace/1024/1024/1024).toFixed(1) + " GB (" + free + "%)";
txt = "Drive " + drvPath.toUpperCase();
txt += "<br>Volumename " + d.VolumeName;
//txt += "<br>Free Space: " + (d.FreeSpace/1024/1024/1024).toFixed(1) + " GB";
txt += "<br>Total Space: " + totaltxt
+ "<br>Available Space: " + availtxt;
if (d.AvailableSpace < 2e9 || free < 5) // Minder dan 2GB of 5% is slecht
{
res = resultcodes.error;
txt += "<br>Less than 2GB or less than 5%";
}
else if (d.AvailableSpace > 10e9 || free > 10) // Meer dan 10GB of meer dan 10% is ok
{
res = resultcodes.ok;
}
else // twijfel
{
res = resultcodes.warning;
txt += "<br>Less than 10GB or less than 10%";
}
}
catch (e)
{
return { result: resultcodes.warning,
message: e.description,
info: "Could not read"};
}
return { result: res, message: txt, info: availtxt };
}
checker("Free diskspace Windows",
function ()
{
var drvPath = "C:";
return driveInfo(drvPath);
}
)
checker("Free diskspace", checker("Free diskspace",
function () function ()
{ {
res = resultcodes.unknown; var drvPath = Server.MapPath("../../");
try return driveInfo(drvPath);
{
drvPath = Server.MapPath("../../");
//return { message: drvPath};
var d = fso.GetDrive(fso.GetDriveName(drvPath));
var totaltxt = (d.TotalSize/1024/1024/1024).toFixed(1) + " GB";
var free = d.AvailableSpace / d.TotalSize * 100;
if (free < 10)
free = free.toFixed(1);
else
free = Math.round(free);
var availtxt = (d.AvailableSpace/1024/1024/1024).toFixed(1) + " GB (" + free + "%)";
txt = "Drive " + drvPath.toUpperCase();
//txt += "<br>Volumename " + d.VolumeName;
//txt += "<br>Free Space: " + (d.FreeSpace/1024/1024/1024).toFixed(1) + " GB";
txt += "<br>Total Space: " + totaltxt
+ "<br>Available Space: " + availtxt;
if (d.AvailableSpace < 2e9 || free < 5) // Minder dan 2GB of 5% is slecht
{
res = resultcodes.error;
txt += "<br>Less than 2GB or less than 5%";
}
else if (d.AvailableSpace > 10e9 || free > 10) // Meer dan 10GB of meer dan 10% is ok
{
res = resultcodes.ok;
}
else // twijfel
{
res = resultcodes.warning;
txt += "<br>Less than 10GB or less than 10%";
}
}
catch (e)
{
return { result: resultcodes.warning,
message: e.description,
info: "Could not read"};
}
return { result: res, message: txt, info: availtxt };
} }
) )
@@ -1079,7 +1089,7 @@ if (this.S) // (deze test werkt niet vanuit verify.asp.inc)
if (http_request.status < 200 || http_request.status > 299) if (http_request.status < 200 || http_request.status > 299)
{ {
result.result = resultcodes.error; result.result = resultcodes.error;
result.message += "<br>http_request error " + http_request.status + ": (" + http_request.statusText + ")"; result.message += "<br>http_request error: " + http_request.status + " " + http_request.statusText;
} }
else else
{ {
@@ -1095,13 +1105,50 @@ if (this.S) // (deze test werkt niet vanuit verify.asp.inc)
catch(e) catch(e)
{ {
result.result = resultcodes.error; result.result = resultcodes.error;
result.message += "<br>http_request error " + e.description; result.message += "<br>http_request error: " + e.description;
} }
return result; return result;
} }
) )
} }
checker("External url (testing https://facilitor.nl)",
function ()
{
var puo_web_url = "https://facilitor.nl/";
var result = { result: resultcodes.ok, message: "Checking external url: " + puo_web_url };
try
{
var http_request = new ActiveXObject("Msxml2.ServerXMLHTTP.6.0");
http_request.open("GET", puo_web_url, false); // Synchroon
// Het hoeft niet echt lang te duren!
var lResolve = 1 * 1000;
var lConnect = 1 * 1000;
var lSend = 2 * 1000;
var lReceive = 2 * 1000;
http_request.setTimeouts(lResolve, lConnect, lSend, lReceive);
http_request.send();
if (http_request.status < 200 || http_request.status > 299)
{
result.result = resultcodes.warning;
result.message += "<br>http_request response: " + http_request.status + " " + http_request.statusText;
}
else
{
result.message += "<br>" + http_request.status + " " + http_request.statusText;
}
}
catch(e)
{
result.result = resultcodes.warning;
result.message += "<br>http_request error: " + e.description;
result.message += "<br>Is a firewall blocking traffic? Sending orders to external systems may fail.";
}
return result;
}
)
checker("Logfiles", checker("Logfiles",
function () function ()
{ {

View File

@@ -47,13 +47,14 @@ if (SHAinfo.changed.length)
{ {
%><h2>Changed files (<%=SHAinfo.changed.length%>)</h2> %><h2>Changed files (<%=SHAinfo.changed.length%>)</h2>
<table class='rstable'> <table class='rstable'>
<thead><tr><th>File</th><th>Message</th><th>Date</th></tr></thead> <thead><tr><th>File</th><th>Message</th><th>Date</th><th>Readonly</th></tr></thead>
<% <%
var cntbad = 0; var cntbad = 0;
for (var i in SHAinfo.changed) for (var i in SHAinfo.changed)
{ {
var file = SHAinfo.changed[i]; var file = SHAinfo.changed[i];
Response.Write("<tr><td>" + file.fname + "</td><td>" + file.message + "</td><td>" + toDateTimeString(file.date, true) + "</td></tr>"); Response.Write("<tr><td>{0}</td><td>{1}</td><td>{2}</td><td>{3}</td></tr>".format(safe.html(file.fname), safe.html(file.message),
toDateTimeString(file.date, true), file.readonly?"ok":"false"));
} }
%></table><% %></table><%
} }
@@ -70,7 +71,7 @@ if (SHAinfo.missing.length)
for (var i in SHAinfo.missing) for (var i in SHAinfo.missing)
{ {
var file = SHAinfo.missing[i]; var file = SHAinfo.missing[i];
Response.Write("<tr><td>" + file.fname + "</td></tr>"); Response.Write("<tr><td>{0}</td></tr>".format(safe.html(file.fname)));
} }
%></table><% %></table><%
} }
@@ -79,13 +80,13 @@ if (SHAinfo.unknown.length)
{ {
%><h2>Unknown files (<%=SHAinfo.unknown.length%>)</h2> %><h2>Unknown files (<%=SHAinfo.unknown.length%>)</h2>
<table class='rstable'> <table class='rstable'>
<thead><tr><th>File</th><th>Date</th></tr></thead> <thead><tr><th>File</th><th>Date</th><th>Readonly</th></tr></thead>
<% <%
var cntbad = 0; var cntbad = 0;
for (var i in SHAinfo.unknown) for (var i in SHAinfo.unknown)
{ {
var file = SHAinfo.unknown[i]; var file = SHAinfo.unknown[i];
Response.Write("<tr><td>" + file.fname + "</td><td>" + toDateTimeString(file.date, true) + "</td></tr>"); Response.Write("<tr><td>{0}</td><td>{1}</td><td>{2}</td></tr>".format(safe.html(file.fname), toDateTimeString(file.date, true), file.readonly?"ok":"false"));
} }
%></table><% %></table><%
} }

View File

@@ -83,6 +83,7 @@ function findSHAinfo()
{ {
var ff = fso.GetFile(Server.MapPath("../" + fname)); var ff = fso.GetFile(Server.MapPath("../" + fname));
file.date = new Date(ff.DateLastModified); file.date = new Date(ff.DateLastModified);
file.readonly = (ff.attributes & 1) == 1;
try try
{ {
var sha_is = oCrypto.hex_sha1_file(Server.MapPath("../" + fname)); var sha_is = oCrypto.hex_sha1_file(Server.MapPath("../" + fname));
@@ -129,7 +130,10 @@ function findSHAinfo()
// We zouden kunnen zoeken of zijn sha bij de 'missing' voorkomt // We zouden kunnen zoeken of zijn sha bij de 'missing' voorkomt
// wat een rename aangeeft. // wat een rename aangeeft.
//var sha1 = oCrypto.hex_sha1_file(rootdir + scanDir + filename); //var sha1 = oCrypto.hex_sha1_file(rootdir + scanDir + filename);
shainfo.unknown.push ({ fname: "/" + scanDir + filename, date: new Date(fil.DateLastModified) }); shainfo.unknown.push ({ fname: "/" + scanDir + filename,
date: new Date(fil.DateLastModified),
readonly: (fil.attributes & 1) == 1
});
} }
} }
// En nu recursief alle subfolders. // En nu recursief alle subfolders.

View File

@@ -572,12 +572,14 @@ function extractAttachments(safeSourceXML, filename, flexcode)
__Log("Variabele nr_att_2: " + nr_att_2); __Log("Variabele nr_att_2: " + nr_att_2);
for (var i=0; i < Attachments.length; i++) for (var i=0; i < Attachments.length; i++)
{ {
var filename = XMLval(Attachments[i], "cbc:ID"); // Eerst maar eens het attribute 'filename' zoeken
var filename = "";
var Attachment = Attachments[i].getElementsByTagName("cbc:EmbeddedDocumentBinaryObject");
if (Attachment.length)
filename = Attachment[0].getAttribute("filename");
if (!filename) if (!filename)
{ // Dan als attribute 'filename' zoeken { // Als geen filenaam-attribuut aanwezig, dan proberen we element ID
var Attachment = Attachments[i].getElementsByTagName("cbc:EmbeddedDocumentBinaryObject"); filename = XMLval(Attachments[i], "cbc:ID");
if (Attachment.length)
var filename = Attachment[0].getAttribute("filename");
} }
var safefilename = safe.filename(filename); var safefilename = safe.filename(filename);
if (!params.isAllowedName(safefilename)) if (!params.isAllowedName(safefilename))

View File

@@ -19,7 +19,7 @@ var JSON_Result = true;
protectRequest.validateToken(); protectRequest.validateToken();
var msg = "Facilitor {0} test notification\nSent from {1}\nSent to {2} ({3})\nSubmitted at {4}".format(customerId, HTTP.urlzelf(), user.naam(), user_key, toDateTimeString(new Date(), true)); var msg = "Facilitor {0} test notification\nSent from {1}\nSent to {2} ({3})\nSubmitted at {4}".format(customerId, HTTP.urlzelf(), user.naam(), user_key, toDateTimeString(new Date(), true));
var puo_result = putorders.sendAPP(user_key, msg); var puo_result = putorders.sendAPP(user_key, msg, "appl/pda/user_info.asp");
var result = { success: true }; var result = { success: true };

View File

@@ -18,6 +18,7 @@ var JSON_Result = true;
var date_from = new Date(getQParamInt("start") * 1000); var date_from = new Date(getQParamInt("start") * 1000);
var date_to = new Date(getQParamInt("end") * 1000); var date_to = new Date(getQParamInt("end") * 1000);
var behkey = getQParamInt("bk"); var behkey = getQParamInt("bk");
var disckey = getQParamInt("disc");
function fnNodeColor(oRs) { function fnNodeColor(oRs) {
var lecolor = "#ccc"; var lecolor = "#ccc";
@@ -42,7 +43,7 @@ var JSON_Result = true;
+ " FROM (" + " FROM ("
+ "SELECT mld_melding_key item_key" + "SELECT mld_melding_key item_key"
+ ", sd.ins_srtdiscipline_prefix||mld_melding_key item" // +prefix + ", sd.ins_srtdiscipline_prefix||mld_melding_key item" // +prefix
+ ", mld_stdmelding_omschrijving detail" + ", mld_melding_onderwerp detail"
+ ", mld_melding_datum datum1" + ", mld_melding_datum datum1"
+ ", mld_melding_einddatum datum2" + ", mld_melding_einddatum datum2"
+ ", mld_melding_status" + ", mld_melding_status"
@@ -52,10 +53,11 @@ var JSON_Result = true;
+ ", ins_srtdiscipline sd" + ", ins_srtdiscipline sd"
+ " WHERE m.mld_stdmelding_key = s.mld_stdmelding_key" + " WHERE m.mld_stdmelding_key = s.mld_stdmelding_key"
+ " AND s.mld_ins_discipline_key = d.ins_discipline_key" + " AND s.mld_ins_discipline_key = d.ins_discipline_key"
+ (disckey==-1?"":" AND d.ins_discipline_key = " + disckey)
+ " AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key" + " AND d.ins_srtdiscipline_key = sd.ins_srtdiscipline_key"
+ " AND m.mld_melding_status IN (0,2,4,7)" // lopende + " AND m.mld_melding_status IN (0,2,4,7)" // lopende
+ " AND m.fac_activiteit_key IS NULL" + " AND m.fac_activiteit_key IS NULL"
+ " AND m.mld_melding_behandelaar_key = " + behkey + (behkey==-1?"":" AND m.mld_melding_behandelaar_key = " + behkey)
+ " AND m.mld_melding_datum <= " + date_to.toSQL(true) + " AND m.mld_melding_datum <= " + date_to.toSQL(true)
+ " AND m.mld_melding_einddatum >= " + date_from.toSQL(true) + " AND m.mld_melding_einddatum >= " + date_from.toSQL(true)
+ ")"; + ")";

View File

@@ -55,7 +55,7 @@ FCLTHeader.Requires({ js: [rooturl+"/appl/pda/modernizr-3.3.0.custom.min.js"],
DeelMode = true; DeelMode = true;
if (res_deel_key == -1) if (res_deel_key == -1)
{ {
sql = "SELECT MAX(res_deel_key) res_deel_key FROM res_deel WHERE res_deel_verwijder IS NULL AND res_ins_deel_key="+ins_key; sql = "SELECT MAX(res_deel_key) res_deel_key FROM res_deel WHERE res_deel_verwijder IS NULL AND (res_deel_vervaldatum IS NULL or res_deel_vervaldatum > sysdate ) AND res_ins_deel_key="+ins_key;
var oRs = Oracle.Execute(sql); var oRs = Oracle.Execute(sql);
if (!oRs("res_deel_key").value) if (!oRs("res_deel_key").value)
{ {

View File

@@ -201,6 +201,7 @@ table.planbord input[type=radio] { height:16px; width: 16px; }
border-right-style: solid; border-right-style: solid;
border-right-color: #808080; border-right-color: #808080;
} }
.res_extern { background-color: #4287F5; color: #fff;} /* Via API (extern_id) gereserveerd */
div.gepland { border-left: 1px solid #999; border-right: 1px solid #999; } div.gepland { border-left: 1px solid #999; border-right: 1px solid #999; }
table.planbord4 div.gepland { border-left: 0px solid #999; border-right: 0px solid #999; } table.planbord4 div.gepland { border-left: 0px solid #999; border-right: 0px solid #999; }

View File

@@ -670,6 +670,7 @@ res = {
+ " , r.res_rsv_ruimte_verwijder" + " , r.res_rsv_ruimte_verwijder"
+ " , r.res_activiteit_key" + " , r.res_activiteit_key"
+ " , r.res_rsv_ruimte_afgerond" + " , r.res_rsv_ruimte_afgerond"
+ " , r.res_rsv_ruimte_externnr"
+ " , ra.res_activiteit_notfrontend" + " , ra.res_activiteit_notfrontend"
+ " , ra.res_activiteit_meteindtijd" + " , ra.res_activiteit_meteindtijd"
+ " FROM res_rsv_ruimte r," + " FROM res_rsv_ruimte r,"
@@ -692,6 +693,7 @@ res = {
var res_opstel_key = roRs("res_ruimte_opstel_key").Value; var res_opstel_key = roRs("res_ruimte_opstel_key").Value;
var notfrontend = roRs("res_activiteit_notfrontend").Value; var notfrontend = roRs("res_activiteit_notfrontend").Value;
var met_eindtijd = roRs("res_activiteit_meteindtijd").Value == 1; var met_eindtijd = roRs("res_activiteit_meteindtijd").Value == 1;
var res_ruimte_extern = roRs("res_rsv_ruimte_externnr").Value != null;
// Bepaal discipline parkeerplaatsen voor reserveringen. Deze moet uitgesloten worden voor de autorisatie controle. // Bepaal discipline parkeerplaatsen voor reserveringen. Deze moet uitgesloten worden voor de autorisatie controle.
// Als de reservering *voor* earliest_expire ligt gaan we moeilijk doen // Als de reservering *voor* earliest_expire ligt gaan we moeilijk doen
@@ -828,7 +830,6 @@ res = {
// Na de disciplines van de voorzieningen nu als laatste de discipline van de ruimte van de reservering. // Na de disciplines van de voorzieningen nu als laatste de discipline van de ruimte van de reservering.
var canWrite_ruimte = true; var canWrite_ruimte = true;
var res_ruimte_extern = false;
if (alg_ruimte_key == null && (typeof pdisc_key == "undefined" || pdisc_key == null)) if (alg_ruimte_key == null && (typeof pdisc_key == "undefined" || pdisc_key == null))
{ // "R" reservering, bepaal *ook* discipline van de ruimte en alg_ruimte_key { // "R" reservering, bepaal *ook* discipline van de ruimte en alg_ruimte_key
var sql = "SELECT MIN (alg_ruimte_key) alg_ruimte_key" var sql = "SELECT MIN (alg_ruimte_key) alg_ruimte_key"
@@ -862,7 +863,7 @@ res = {
} }
var disc_key_r = oRs("res_discipline_key").Value; var disc_key_r = oRs("res_discipline_key").Value;
alg_ruimte_key = oRs("alg_ruimte_key").Value; alg_ruimte_key = oRs("alg_ruimte_key").Value;
res_ruimte_extern = oRs("res_ruimte_extern_id").Value != null; res_ruimte_extern = res_ruimte_extern || oRs("res_ruimte_extern_id").Value != null;
disc_key_arr.push(disc_key_r); disc_key_arr.push(disc_key_r);
oRs.Close(); oRs.Close();
// Rechten op ruimte controleren met afzonderlijke query (niet samen met catering). // Rechten op ruimte controleren met afzonderlijke query (niet samen met catering).
@@ -907,6 +908,7 @@ res = {
rresult.res_reservering_key = res_reservering_key; rresult.res_reservering_key = res_reservering_key;
rresult.rsv_ruimte_verwijder = rsv_ruimte_verwijder; rresult.rsv_ruimte_verwijder = rsv_ruimte_verwijder;
rresult.res_met_eindtijd = met_eindtijd; rresult.res_met_eindtijd = met_eindtijd;
rresult.res_ruimte_extern = res_ruimte_extern;
rresult.canReadNoShow = rresult.canRead("WEB_RESNOS"); rresult.canReadNoShow = rresult.canRead("WEB_RESNOS");
rresult.canWriteNoShow = rresult.canWrite("WEB_RESNOS"); rresult.canWriteNoShow = rresult.canWrite("WEB_RESNOS");
@@ -1553,6 +1555,7 @@ res = {
+ " , rsv_prepost.res_disc_params_preposttime" + " , rsv_prepost.res_disc_params_preposttime"
+ " , ro.res_ruimte_opstel_key" + " , ro.res_ruimte_opstel_key"
+ " , ro.res_ruimte_opstel_tijd" + " , ro.res_ruimte_opstel_tijd"
+ " , rv.res_rsv_ruimte_externnr"
+ " FROM res_v_aanwezigrsv_ruimte rv" + " FROM res_v_aanwezigrsv_ruimte rv"
+ " , res_ruimte_opstelling ro" + " , res_ruimte_opstelling ro"
+ " , res_activiteit ra" + " , res_activiteit ra"
@@ -1619,6 +1622,8 @@ res = {
data.na_koppel = 1; data.na_koppel = 1;
if (oRs("res_rsv_ruimte_dirtlevel").Value) if (oRs("res_rsv_ruimte_dirtlevel").Value)
data.dirtlevel = oRs("res_rsv_ruimte_dirtlevel").Value; data.dirtlevel = oRs("res_rsv_ruimte_dirtlevel").Value;
if (oRs("res_rsv_ruimte_externnr").Value)
data.extern_api = true;
if (params.anonymous && data.dirtlevel > 0) if (params.anonymous && data.dirtlevel > 0)
{ {

View File

@@ -1686,7 +1686,7 @@ var timeFrom = getQParamFloat("timefrom", S("res_t1"));
autlevel: authparams.PRSwritelevel, autlevel: authparams.PRSwritelevel,
onChange: "changeNameH", onChange: "changeNameH",
moreinfo: urole!='fe', moreinfo: urole!='fe',
readonly: authparams.PRSwritelevel==9 || ordernr_reado, readonly: authparams.PRSwritelevel==9 || ordernr_reado || rrr.res_ruimte_extern,
required: true, required: true,
trclass: (S("res_allow_for_others")?"":"hidden") trclass: (S("res_allow_for_others")?"":"hidden")
}); });
@@ -1701,10 +1701,10 @@ var timeFrom = getQParamFloat("timefrom", S("res_t1"));
kostenplaatsKey: rrr.kostenplaats_key, kostenplaatsKey: rrr.kostenplaats_key,
filtercode: "AA", // Alleen actieve kostenplaatsen kunnen selecteren "All Active". Huidige waarde als initi<74>le waarde kan bij kostenplaatsen altijd. filtercode: "AA", // Alleen actieve kostenplaatsen kunnen selecteren "All Active". Huidige waarde als initi<74>le waarde kan bij kostenplaatsen altijd.
urlAdd: [{ urlParam: "prs_key", field: "person" }], urlAdd: [{ urlParam: "prs_key", field: "person" }],
readonly: ordernr_reado, readonly: ordernr_reado || rrr.res_ruimte_extern,
kptoggle: { ischecked: rrr.kosten_klant, kptoggle: { ischecked: rrr.kosten_klant,
onChange: "changeKostK(this);", onChange: "changeKostK(this);",
readonly: ordernr_reado, readonly: ordernr_reado || rrr.res_ruimte_extern,
hidden: (frontend) }, hidden: (frontend) },
required: rrr.srtactiviteit_kpnverplicht == 1 || required: rrr.srtactiviteit_kpnverplicht == 1 ||
((rrr.res_ruimte_key > 0 && restype == "R" && rri.kpnverplicht) || ((rrr.res_ruimte_key > 0 && restype == "R" && rri.kpnverplicht) ||
@@ -1729,7 +1729,7 @@ var timeFrom = getQParamFloat("timefrom", S("res_t1"));
} }
if (rrr.srtactiviteit_metopmerk) if (rrr.srtactiviteit_metopmerk)
{ {
RWTEXTAREATR("opmerk", "fldomschr", L("lcl_remark"), rrr.rsv_ruimte_opmerking, {html: "rows='4'" + (ordernr_reado ? " readonly" : ""), maxlength: 2000}); RWTEXTAREATR("opmerk", "fldomschr", L("lcl_remark"), rrr.rsv_ruimte_opmerking, {html: "rows='4'" + (ordernr_reado || rrr.res_ruimte_extern ? " readonly" : ""), maxlength: 2000});
} }
%> %>
@@ -1763,6 +1763,7 @@ var timeFrom = getQParamFloat("timefrom", S("res_t1"));
, { initKey: rrr.status_flag , { initKey: rrr.status_flag
, label: L("lcl_res_flags") , label: L("lcl_res_flags")
, onChange: "OnChangeSubstatus()" , onChange: "OnChangeSubstatus()"
, readonly: rrr.res_ruimte_extern
, trclass: "showflag" , trclass: "showflag"
} }
); );

View File

@@ -320,7 +320,10 @@ function make_plan_regel(room, ar, params, nr_days, hour_px)
res_flag = "<div style=\"float:left\">" + I("fa-circle fa-fw respl resflag"+ar[ci].flag_status) + "</div>"; res_flag = "<div style=\"float:left\">" + I("fa-circle fa-fw respl resflag"+ar[ci].flag_status) + "</div>";
} }
if (!ar[ci].na_koppel && !not_available && !params.forSelectRoom) if (ar[ci].extern_api)
theClass += " res_extern";
if (!ar[ci].na_koppel && !ar[ci].extern_api && !not_available && !params.forSelectRoom)
theClass += " click"; theClass += " click";
var div = "<div class='"+theClass+"'"; var div = "<div class='"+theClass+"'";

View File

@@ -151,7 +151,7 @@ hour_px = res.hour_px(width_px - 400, nr_days);
var blokje = hour_px * <%=safe.jsfloat(S("res_h"))%>; var blokje = hour_px * <%=safe.jsfloat(S("res_h"))%>;
var startx; // start positie van het slepen (left); var startx; // start positie van het slepen (left);
var starty; // start positie van het slepen (top); var starty; // start positie van het slepen (top);
$('div.gepland:not(.res_nietvrij,.res_lunchblok,.overflowright,.overflowleft.continueright,.continueleft,.extern)').resizable( $('div.gepland:not(.res_nietvrij,.res_lunchblok,.overflowright,.overflowleft.continueright,.continueleft,.extern,.res_extern)').resizable(
{ containment: '#tab_room_sched', { containment: '#tab_room_sched',
grid: [blokje, 12], grid: [blokje, 12],
handles: 'e, w', handles: 'e, w',
@@ -244,7 +244,7 @@ hour_px = res.hour_px(width_px - 400, nr_days);
$('table.planbord').each(function () $('table.planbord').each(function ()
{ {
var x, y; var x, y;
var element = $(this).find('div.gepland:not(.overflowleft,.overflowright)'); var element = $(this).find('div.gepland:not(.overflowleft,.overflowright,.res_extern)');
element.draggable( element.draggable(
{ cursor: 'crosshair' , { cursor: 'crosshair' ,
containment: $(this), //.find(".plantd.reserv"), containment: $(this), //.find(".plantd.reserv"),
@@ -410,6 +410,7 @@ while (nnregels < 8)
<tr><td class="res_vervallen"><%= L("lcl_vervallen") %></td></tr> <tr><td class="res_vervallen"><%= L("lcl_vervallen") %></td></tr>
<tr><td class="res_blok"><%= L("lcl_blokkade") %></td></tr> <tr><td class="res_blok"><%= L("lcl_blokkade") %></td></tr>
<tr><td class="res_nietvrij"><%= L("lcl_niet_beschikbaar") %></td></tr> <tr><td class="res_nietvrij"><%= L("lcl_niet_beschikbaar") %></td></tr>
<tr><td class="res_extern"><%= L("lcl_reservation_extern") %></td></tr>
<tr><td class="res_fatalicon"><%=I("fa-times")%>&nbsp;<% = L("lcl_dirty") %></td></tr> <tr><td class="res_fatalicon"><%=I("fa-times")%>&nbsp;<% = L("lcl_dirty") %></td></tr>
<% if (urole != 'fe') { %> <% if (urole != 'fe') { %>
<tr><td><%=I("fa-wrench")%>&nbsp;<% = L("lcl_complains") %></td></tr> <tr><td><%=I("fa-wrench")%>&nbsp;<% = L("lcl_complains") %></td></tr>

View File

@@ -61,6 +61,7 @@ FCLTHeader.Requires({plugins: ["jQuery"]})
+ " rrr.res_rsv_ruimte_tot, " + " rrr.res_rsv_ruimte_tot, "
+ " trunc(rrr.res_rsv_ruimte_tot) - trunc(rrr.res_rsv_ruimte_van) meerdaags, " + " trunc(rrr.res_rsv_ruimte_tot) - trunc(rrr.res_rsv_ruimte_van) meerdaags, "
+ " rrr.res_activiteit_key, " + " rrr.res_activiteit_key, "
+ " rrr.res_rsv_ruimte_externnr,"
+ " sa.res_srtactiviteit_prefix, " + " sa.res_srtactiviteit_prefix, "
+ " sa.res_srtactiviteit_key," + " sa.res_srtactiviteit_key,"
+ " res_rsv_ruimte_noshow, " // Oude stijl + " res_rsv_ruimte_noshow, " // Oude stijl
@@ -68,7 +69,8 @@ FCLTHeader.Requires({plugins: ["jQuery"]})
+ " res_rsv_ruimte_volgnr, " + " res_rsv_ruimte_volgnr, "
+ " res_rsv_ruimte_dirtlevel, " + " res_rsv_ruimte_dirtlevel, "
+ " res_rsv_ruimte_aanmaak, " + " res_rsv_ruimte_aanmaak, "
+ " alg_ruimte_key, res_ruimte_opstel_key," + " alg_ruimte_key,"
+ " res_ruimte_opstel_key,"
+ " COALESCE(res_rsv_ruimte_opmerking,'') res_rsv_ruimte_opmerking," + " COALESCE(res_rsv_ruimte_opmerking,'') res_rsv_ruimte_opmerking,"
+ " rrr.res_rsv_ruimte_contact_key," + " rrr.res_rsv_ruimte_contact_key,"
+ " rrr.res_rsv_ruimte_host_key," + " rrr.res_rsv_ruimte_host_key,"
@@ -110,6 +112,7 @@ FCLTHeader.Requires({plugins: ["jQuery"]})
status_bo_key : oRs("res_status_bo_key").value || 2, // let op: bij CV is deze NULL status_bo_key : oRs("res_status_bo_key").value || 2, // let op: bij CV is deze NULL
status_flag : oRs("res_rsv_ruimte_flag").value||0, status_flag : oRs("res_rsv_ruimte_flag").value||0,
activiteit_key : oRs("res_activiteit_key").value, activiteit_key : oRs("res_activiteit_key").value,
res_ruimte_extern : oRs("res_rsv_ruimte_externnr").Value != null,
rsv_ruimte_van : new Date(oRs("res_rsv_ruimte_van").value), rsv_ruimte_van : new Date(oRs("res_rsv_ruimte_van").value),
rsv_ruimte_tot : new Date(oRs("res_rsv_ruimte_tot").value), rsv_ruimte_tot : new Date(oRs("res_rsv_ruimte_tot").value),
rsv_ruimte_meerdaags: oRs("meerdaags").value!=0, rsv_ruimte_meerdaags: oRs("meerdaags").value!=0,
@@ -167,7 +170,7 @@ FCLTHeader.Requires({plugins: ["jQuery"]})
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
rrr.res_ruimte_key = oRs("res_ruimte_key").Value; rrr.res_ruimte_key = oRs("res_ruimte_key").Value;
rrr.alg_locatie_key = oRs("alg_locatie_key").Value; rrr.alg_locatie_key = oRs("alg_locatie_key").Value;
rrr.res_ruimte_extern = oRs("res_ruimte_extern_id").Value != null; rrr.res_ruimte_extern = rrr.res_ruimte_extern || oRs("res_ruimte_extern_id").Value != null;
oRs.close(); oRs.close();
} }
else else
@@ -345,12 +348,12 @@ FCLTHeader.Requires({plugins: ["jQuery"]})
buttons.push( {title: "Touch", icon: "hand_point.png", action: "res_touch()" }); buttons.push( {title: "Touch", icon: "hand_point.png", action: "res_touch()" });
} }
if (this_res.canChange || this_res.canChangeFEExtended) if ((this_res.canChange && !this_res.res_ruimte_extern) || this_res.canChangeFEExtended)
buttons.push( {title: L("lcl_change"), icon: "wijzigen.png", action: "res_change()"}); buttons.push( {title: L("lcl_change"), icon: "wijzigen.png", action: "res_change()"});
else if (this_res.canWriteNoShow) else if (this_res.canWriteNoShow)
buttons.push({action: "resNoShow()", title: L("lcl_res_no_show"), icon: "noshow.png"}); buttons.push({action: "resNoShow()", title: L("lcl_res_no_show"), icon: "noshow.png"});
if (this_res.canDelete) if (this_res.canDelete && !this_res.res_ruimte_extern)
buttons.push( {title: L("lcl_delete"), icon: "delete.png", action: "res_delete()"}); buttons.push( {title: L("lcl_delete"), icon: "delete.png", action: "res_delete()"});
if (this_res.canGoedkeur) if (this_res.canGoedkeur)

View File

@@ -710,8 +710,13 @@ function oneFileInfo(fsoFile, result, pModule, pKey, pSubpath, pNiveau, params)
{ {
if (result.directlink) if (result.directlink)
{ {
filedata.deepurl = HTTP.urlzelfnoroot() + S("res_image_path") + filedata.name; var root = HTTP.urlzelfnoroot() + S("res_image_path");
if (pModule == "RESPHA")
root += 'artikel/';
if (pModule == "RESPHD")
root += 'deel/';
filedata.deepurl = root + filedata.name;
} }
else // Alleen streaming, bestand staat buiten webroot? else // Alleen streaming, bestand staat buiten webroot?
{ {

View File

@@ -69,11 +69,11 @@ var putorders = {
return result; return result;
}, },
sendAPP: sendAPP:
function _sendAPP(prs_key, msg) function _sendAPP(prs_key, msg, url)
{ {
var hook = putorders._puo_hook(); var hook = putorders._puo_hook();
__Log("APP message {0} to {1}".format(msg, prs_key)); __Log("APP message {0} to {1} with url {2}".format(msg, prs_key, url));
var result = hook.puo_sendAPP(prs_key, msg); var result = hook.puo_sendAPP(prs_key, msg, url);
hook = null; hook = null;
return result; return result;
} }

View File

@@ -8,7 +8,7 @@
Context: Vanuit ELK asp bestand Context: Vanuit ELK asp bestand
*/ */
var FCLTVersion="2019.2d"; var FCLTVersion="2019.2e";
var FCLTMinDatabaseSchema="37"; var FCLTMinDatabaseSchema="37";
var custpath = rooturl + "/cust/" + customerId; // path to customer files var custpath = rooturl + "/cust/" + customerId; // path to customer files

View File

@@ -24,7 +24,7 @@ DOCTYPE_Disable = 1;
switch (pworker) switch (pworker)
{ {
case "faclist" : lworker = "../fac/fac_list_worker.asp"; break; case "faclist" : lworker = "../fac/fac_list_worker.asp"; break;
case "mldlist" : lworker = "../mld/mld_melding_worker.asp?bk="+getQParamInt("bk"); case "mldlist" : lworker = "../mld/mld_melding_worker.asp?bk="+getQParamInt("bk",-1)+"&disc="+getQParamInt("disc",-1);
break; break;
case "opdrlist" : lworker = "../mld/mld_opdr_worker.asp"; break; case "opdrlist" : lworker = "../mld/mld_opdr_worker.asp"; break;
// Leuk zou zijn om hier een exit te hebben die een usrrap als worker kan definieren worker=usrrap en workerkey=usrrapkey // Leuk zou zijn om hier een exit te hebben die een usrrap als worker kan definieren worker=usrrap en workerkey=usrrapkey

View File

@@ -48,6 +48,7 @@
<method name="puo_sendAPP"> <method name="puo_sendAPP">
<PARAMETER name="prs_key"/> <PARAMETER name="prs_key"/>
<PARAMETER name="msg"/> <PARAMETER name="msg"/>
<PARAMETER name="url"/>
</method> </method>
</public> </public>
@@ -202,10 +203,10 @@ function puo_sendSMS(telnr, msg)
} }
// Vanuit ASP mgt/aut_app_test_notification.asp // Vanuit ASP mgt/aut_app_test_notification.asp
function puo_sendAPP(prs_key, msg) function puo_sendAPP(prs_key, msg, url)
{ {
Log2File(1, "\n====== Sending APP (" + toDateTimeString(new Date()) + ")"); Log2File(1, "\n====== Sending APP (" + toDateTimeString(new Date()) + ")");
return sendAPP( prs_key, msg, "", {}) return sendAPP( prs_key, msg, url, {})
} }

View File

@@ -95,7 +95,10 @@ function sendAPP( p_perslid_key
"body" : p_msg "body" : p_msg
}, },
"to" : oRs("aut_client_perslid_pushtoken").Value, "to" : oRs("aut_client_perslid_pushtoken").Value,
"data" : { } "data" : {
"title" : "Facilitor",
"body" : p_msg
}
}; };
if (S("puo_forceapppushtoken")) if (S("puo_forceapppushtoken"))
@@ -137,7 +140,7 @@ function sendAPP( p_perslid_key
forcemsg += "\n (effective to pushtoken: " + json.Tag + ")"; forcemsg += "\n (effective to pushtoken: " + json.Tag + ")";
} }
Log2File(1, forcemsg); Log2File(1, forcemsg);
Log2File(2, "Payload: " + body); Log2File(1, "Payload: " + body);
var params = bedrijfadres; var params = bedrijfadres;
params.data = body; params.data = body;
params.headers = { "Content-Type": "application/json" }; params.headers = { "Content-Type": "application/json" };

View File

@@ -19,7 +19,7 @@ del %1
sqlplus.exe %oracle_login%@%targetSERVER% @CreateUserTEST.sql %targetUSER% %targetPASS% sqlplus.exe %oracle_login%@%targetSERVER% @CreateUserTEST.sql %targetUSER% %targetPASS%
IF errorlevel 1 GOTO nocreate IF errorlevel 1 GOTO nocreate
imp %oracle_login%@%targetSERVER% file=%dmpfile% toid_novalidate=%targetUSER%.MLD_T_UITVOERTIJD fromuser=%sourceUSER% touser=%targetUSER% log=%targetUSER%.log imp %oracle_login%@%targetSERVER% file=%dmpfile% toid_novalidate=%targetUSER%.MLD_T_UITVOERTIJD fromuser=%sourceUSER% touser=%targetUSER% log=%targetUSER%.log COMPILE=N
EXIT | sqlplus.exe %targetUSER%/%targetPASS%@%targetSERVER% @%postrefreshsql% EXIT | sqlplus.exe %targetUSER%/%targetPASS%@%targetSERVER% @%postrefreshsql%