Merge 2024.3 RC3 patches

svn path=/Website/trunk/; revision=66784
This commit is contained in:
2024-10-28 09:21:36 +00:00
parent 839021981d
commit a07df18aa5
21 changed files with 233 additions and 152 deletions

View File

@@ -1140,7 +1140,7 @@ function bez_list(pautfunction, params)
var defaultMessage = L("lcl_bezchat_message").format(bez_naam, bez_bedrijf, locatie).replace("()", "");
if (outputmode == 0 && oRs("authorized").Value ==1 && chatHostMail && ((oRs("bez_actie_flags").Value & 4)==4))
{
var chatUrl = S("bez_chat_link").format(chatHostMail, Server.URLencode(defaultMessage));
var chatUrl = S("bez_chat_message").format(chatHostMail, Server.URLencode(defaultMessage));
content = '<span id="chatIN' + oRs("bez_key").Value + '"'
+ ' class="ilbutton"'
+ ' OnClick="doLaunchChat(event, \'' + chatUrl + '\');"'

View File

@@ -78,7 +78,7 @@ __Log(actie);
server_conn.url = server_conn.url = "/notes.json?module=ORD&scope=bo";
server_conn.methode = "POST";
break;
case "department": server_url = "/departments.json?";
case "department": server_url = "/reports.json?rapcode=AFD_LOOKUP&";
switch (methode)
{
case "GET": server_conn.url = server_url + ((params.lookup && params.lookup.qparams) ? params.lookup.qparams : "");
@@ -86,7 +86,7 @@ __Log(actie);
default: server_conn.methode = "";
}
break;
case "account": server_url = "/costcentres.json?";
case "account": server_url = "/reports.json?rapcode=KPN_LOOKUP&";
switch (methode)
{
case "GET": server_conn.url = server_url + ((params.lookup && params.lookup.qparams) ? params.lookup.qparams : "");

View File

@@ -18,6 +18,8 @@
var iscust = getQParamInt("cust", 0);
var this_model = new model_fac_srtnotificatie(iscust);
settings.overrule_setting("qp_maxrows", 300); // Toon alle 254 (DB49) srtnotificaties direct
scaffolding(this_model,
{
"search": {

View File

@@ -856,27 +856,56 @@ if (savemode)
var flextrack = saveFlexKenmerken(mld_key, kenmerkParams);
if (copy || cont)
{
var sql = "SELECT mld_stdmelding_key FROM mld_melding WHERE mld_melding_key = " + mld_copy_key;
var oRs = Oracle.Execute(sql);
var old_stdmelding_key = oRs("mld_stdmelding_key").Value;
oRs.Close();
var flexsql = "SELECT k_old.mld_kenmerk_key k_old"
+ " , k_old.mld_kenmerk_key k_new"
+ " FROM mld_srtkenmerk t"
+ " , mld_kenmerk k_old"
+ " , mld_stdmelding s_old"
+ " , mld_discipline d_old"
+ " WHERE s_old.mld_stdmelding_key = " + stdm_key
+ " AND s_old.mld_ins_discipline_key = d_old.ins_discipline_key"
+ " AND t.mld_srtkenmerk_kenmerktype IN ('F', 'E', 'M')"
+ " AND ((k_old.mld_stdmelding_key IS NULL"
+ " AND k_old.mld_kenmerk_niveau = 'A')"
+ " OR (k_old.mld_stdmelding_key = s_old.mld_stdmelding_key"
+ " AND k_old.mld_kenmerk_niveau = 'S')"
+ " OR (k_old.mld_stdmelding_key = s_old.mld_ins_discipline_key"
+ " AND k_old.mld_kenmerk_niveau = 'D')"
+ " OR (k_old.mld_stdmelding_key = d_old.ins_srtdiscipline_key "
+ " AND k_old.mld_kenmerk_niveau = 'T'))"
+ " , k_new.mld_kenmerk_key k_new"
+ " FROM mld_kenmerk k_new"
+ " , mld_kenmerk k_old"
+ " , mld_srtkenmerk sk_new"
+ " , mld_srtkenmerk sk_old"
+ " WHERE k_new.mld_srtkenmerk_key = k_old.mld_srtkenmerk_key"
+ " AND k_new.mld_srtkenmerk_key = sk_new.mld_srtkenmerk_key"
+ " AND k_old.mld_srtkenmerk_key = sk_old.mld_srtkenmerk_key"
+ " AND sk_old.mld_srtkenmerk_key = sk_new.mld_srtkenmerk_key"
+ " AND COALESCE (k_new.mld_kenmerk_omschrijving, sk_new.mld_srtkenmerk_omschrijving) ="
+ " COALESCE (k_old.mld_kenmerk_omschrijving, sk_old.mld_srtkenmerk_omschrijving)"
+ " AND sk_new.mld_srtkenmerk_kenmerktype = sk_old.mld_srtkenmerk_kenmerktype"
+ " AND sk_new.mld_srtkenmerk_kenmerktype IN ('F', 'E', 'M')"
+ " AND k_old.mld_kenmerk_groep = k_new.mld_kenmerk_groep"
+ " AND ( ( k_new.mld_stdmelding_key IS NULL"
+ " AND k_new.mld_kenmerk_niveau = 'A')"
+ " OR ( k_new.mld_stdmelding_key = " + stdm_key
+ " AND k_new.mld_kenmerk_niveau = 'S')"
+ " OR ( k_new.mld_stdmelding_key = (SELECT s.mld_ins_discipline_key"
+ " FROM mld_stdmelding s"
+ " WHERE s.mld_stdmelding_key = " + stdm_key + ")"
+ " AND k_new.mld_kenmerk_niveau = 'D')"
+ " OR ( k_new.mld_stdmelding_key = (SELECT d.ins_srtdiscipline_key"
+ " FROM mld_stdmelding s, mld_discipline d"
+ " WHERE s.mld_ins_discipline_key = d.ins_discipline_key"
+ " AND s.mld_stdmelding_key = " + stdm_key + ")"
+ " AND k_new.mld_kenmerk_niveau = 'T'))"
+ " AND ( ( k_old.mld_stdmelding_key IS NULL"
+ " AND k_old.mld_kenmerk_niveau = 'A')"
+ " OR ( k_old.mld_stdmelding_key = " + old_stdmelding_key
+ " AND k_old.mld_kenmerk_niveau = 'S')"
+ " OR ( k_old.mld_stdmelding_key = (SELECT s.mld_ins_discipline_key"
+ " FROM mld_stdmelding s"
+ " WHERE s.mld_stdmelding_key = " + old_stdmelding_key + ")"
+ " AND k_old.mld_kenmerk_niveau = 'D')"
+ " OR ( k_old.mld_stdmelding_key = (SELECT d.ins_srtdiscipline_key"
+ " FROM mld_stdmelding s, mld_discipline d"
+ " WHERE s.mld_ins_discipline_key = d.ins_discipline_key"
+ " AND s.mld_stdmelding_key = " + old_stdmelding_key + ")"
+ " AND k_old.mld_kenmerk_niveau = 'T'))"
+ " AND k_old.mld_kenmerk_verwijder IS NULL"
+ " AND k_old.mld_srtkenmerk_key = t.mld_srtkenmerk_key"
+ " AND t.mld_srtkenmerk_verwijder IS NULL"
+ " AND BITAND(k_old.mld_kenmerk_wissen, 1) = 0";
+ " AND sk_old.mld_srtkenmerk_verwijder IS NULL"
+ " AND k_new.mld_kenmerk_verwijder IS NULL"
+ " AND sk_new.mld_srtkenmerk_verwijder IS NULL"
+ " AND BITAND(k_old.mld_kenmerk_wissen, 1) = 0";;
CopyFlexFolders("MLD", "M", mld_copy_key, "M", mld_key, flexsql);
}
}

View File

@@ -82,7 +82,6 @@ if (opdr_key > 0)
if (mld_opdr.contactpersuitv_key == null)
mld_opdr.contactpersuitv_key = -1;
}
else
{ // Nieuwe opdracht en dus ook bij copy (opdr_key == -1)
@@ -109,6 +108,10 @@ else
if (mld_opdr.contactpersuitv_key == null)
mld_opdr.contactpersuitv_key = -1;
if (fromofferte) {
mld_opdr.opdr_opmerking = null;
}
var this_opdr_copy = mld.func_enabled_opdracht(opdr_copy_key); // wat mag ik zoal op deze opdracht;
}
//else // echt nieuw

View File

@@ -825,6 +825,7 @@ function getFlexKenmerkBlockSql(params)
var listkenmerk_params = { kenmerk_search: advanced,
kenmerk_extraTD: (changeOpdracht || newOpdracht), // Voor opdrachten een extra TD erachter TODO: (MGE) klopt dit nog
stdm_key: (advanced ? null : stdm_arr[0]),
fnIsReadonly: isReadonly,
fnIsInvisible: isInvisible,
fnClassname: setClassname,

View File

@@ -285,10 +285,13 @@ oRs.close();
// Fast check to see if we have anything to do with FO-BO handling (doorzetten)
sql= "SELECT 1 FROM "
+ "(SELECT 1 FROM mld_disc_params dp, mld_discipline d "
+ "WHERE d.ins_discipline_key = dp.mld_ins_discipline_key AND mld_disc_params_directklaar>0 and d.ins_discipline_verwijder IS NULL "
+ "WHERE d.ins_discipline_key = dp.mld_ins_discipline_key AND mld_disc_params_directklaar>0 AND d.ins_discipline_verwijder IS NULL "
+ "UNION ALL "
+ "SELECT 1 FROM mld_stdmelding "
+ "WHERE mld_stdmelding_directklaar>0 AND mld_stdmelding_verwijder IS NULL) "
+ "SELECT 1 FROM mld_stdmelding std, mld_discipline d "
+ "WHERE mld_stdmelding_directklaar>0 AND mld_stdmelding_verwijder IS NULL "
+ " AND ( std.mld_stdmelding_vervaldatum IS NULL"
+ " OR std.mld_stdmelding_vervaldatum > SYSDATE) "
+ "AND std.mld_ins_discipline_key = d.ins_discipline_key AND d.ins_discipline_verwijder IS NULL) "
+ "WHERE ROWNUM = 1";
oRs = Oracle.Execute(sql);
var anyfobodiscs = !oRs.eof;

View File

@@ -410,20 +410,13 @@ if (rsv_ruimte_key == -1)
var isHoliday = cal_isVrijeDag(startDate) || cal_isWeekend(startDate);
// Display warning: Selected date is not a workday
if (organisation247Type == 0 && isHoliday) {
FcltMgr.confirm( "<%=L("lcl_holiday")%>", {
autoconfirm: !isHoliday,
fncancel: function() { return false; }
}, function() {
fn_res_next1_confirm();
});
} else if (organisation247Type == 2 && isHoliday) {
FcltMgr.confirm("<%=L("lcl_holiday")%>", {
autoconfirm: !isHoliday,
fncancel: function() { return false; }
}, () => {});
if (organisation247Type == 2 && isHoliday) {
FcltMgr.alert("<%=L("lcl_holiday_strict")%>");
} else {
fn_res_next1_confirm();
FcltMgr.confirm("<%=L("lcl_holiday")%>", {
autoconfirm: !isHoliday || organisation247Type == 1,
fncancel: function() { return false; }
}, fn_res_next1_confirm);
}
}

View File

@@ -506,7 +506,7 @@ var qrc = getQParamInt("qrc", 0) != 0;
if (is_beschikbaar > 0)
{ // Werkplek is voor deze datum nog niet gereserveerd.
// Gelijk de popup om te reserveren.
//if (oRs("bezet").value < dagcapaciteit - minimumbeschikbaarheid)
//if (oRs("bezet").value <= dagcapaciteit - minimumbeschikbaarheid)
var url = "../pda/reserveringen.asp?qrc="+(qrc?1:0)+"&res_deel_key="+werkpl_key+"&res_van="+(new Date(resdate).getTime());
Response.Redirect(url);
}
@@ -580,7 +580,7 @@ var qrc = getQParamInt("qrc", 0) != 0;
}
function fnSubmitRD(oRs)
{
if (oRs("bezet").value < calc_dagcapaciteit - minimumbeschikbaarheid)
if (oRs("bezet").value <= calc_dagcapaciteit - minimumbeschikbaarheid)
return "../pda/reserveringen.asp?qrc="+(qrc?1:0)+"&res_deel_key=" + oRs("res_deel_key").Value + "&res_van="+(new Date(resdate).getTime())
else
return "";

View File

@@ -175,6 +175,7 @@ if (submitting)
var rrr = {};
var sql = "SELECT rsv_r.res_reservering_key"
+ " , rsv_r.res_rsv_ruimte_volgnr"
+ " , ar.alg_ruimte_key"
+ " , ar.alg_verdieping_key"
+ " , rsv_r.res_rsv_ruimte_van"
+ " , rsv_r.res_rsv_ruimte_tot"
@@ -217,9 +218,9 @@ if (!oRs.eof)
, disc_oms: oRs("ins_discipline_omschrijving").Value
, discipline_key: oRs("res_discipline_key").Value
, verdieping_key: oRs("alg_verdieping_key").Value
, ruimte_key: -1 // voor als je op basis van ruimte de vrije werkplekken op de verdieping zoekt.
, van: (new Date(oRs("res_rsv_ruimte_van").Value)).getTime()
, tot: (new Date(oRs("res_rsv_ruimte_tot").Value)).getTime()
, ruimte_key: oRs("alg_ruimte_key").Value
, van: new Date(oRs("res_rsv_ruimte_van").Value)
, tot: new Date(oRs("res_rsv_ruimte_tot").Value)
, x: oRs("ins_ruimte_x").Value
, y: oRs("ins_ruimte_y").Value
}
@@ -298,9 +299,9 @@ if (!submitting)
%> <a href="<%=res_url%>" data-ajax="false"><%=res_nr%></a><%
COL_END();
COL_START(1); Response.Write('<div class="bold">' + L("lcl_date") + '</div>'); COL_END();
COL_START(2); Response.Write(toDateString(new Date(rrr.rsv.van), true)); COL_END();
COL_START(2); Response.Write(toDateString(rrr.rsv.van, true)); COL_END();
COL_START(1); Response.Write('<div class="bold">' + L("lcl_time") + '</div>'); COL_END();
COL_START(2); Response.Write(toTimeString(new Date(rrr.rsv.van)) + " - " + toTimeString(new Date(rrr.rsv.tot))); COL_END();
COL_START(2); Response.Write(toTimeString(rrr.rsv.van) + " - " + toTimeString(rrr.rsv.tot)); COL_END();
GRID_END();
CONTAINER_END();
@@ -374,9 +375,12 @@ if (!submitting)
, mobile: true
}
);
var autlevel = urole == "fe" ? (("WEB_RESUSE" in authRES._funcodes) ? authRES._funcodes["WEB_RESUSE"].PRSwritelevel : 9)
: (("WEB_RESFOF" in authRES._funcodes) ? authRES._funcodes["WEB_RESFOF"].PRSwritelevel : 9);
FCLTpersoonselector( "colx"
, "sgPerson"
, { label: L("lcl_res_reserve_for")
, autlevel: autlevel
, mobile: true
, embedded: true
}

View File

@@ -2589,22 +2589,8 @@ res = {
{
var sql = "SELECT z_iad.ins_alg_ruimte_key"
+ " , z_rad.res_discipline_key"
+ " , SUM( CASE WHEN z_iad.ins_deel_dwgy IS NOT NULL"
+ " THEN z_iad.ins_deel_dwgx"
+ " ELSE NULL"
+ " END"
+ " ) / COUNT( CASE WHEN z_iad.ins_deel_dwgx IS NULL OR z_iad.ins_deel_dwgy IS NULL"
+ " THEN NULL"
+ " ELSE 1"
+ " END) ins_ruimte_x"
+ " , SUM( CASE WHEN z_iad.ins_deel_dwgx IS NOT NULL"
+ " THEN z_iad.ins_deel_dwgy"
+ " ELSE NULL"
+ " END"
+ " ) / COUNT( CASE WHEN z_iad.ins_deel_dwgx IS NULL OR z_iad.ins_deel_dwgy IS NULL"
+ " THEN NULL"
+ " ELSE 1"
+ " END) ins_ruimte_y"
+ " , AVG(z_iad.ins_deel_dwgx) ins_ruimte_x"
+ " , AVG(z_iad.ins_deel_dwgy) ins_ruimte_y"
+ " FROM res_v_aanwezigdeel z_rad"
+ " , ins_v_aanwezigdeel z_iad"
+ " WHERE z_rad.res_ins_deel_key = z_iad.ins_deel_key"
@@ -2617,7 +2603,8 @@ res = {
var params = params || {};
if (!params.rsv)
{ // Eerst gegevens over de werkplekreservering ophalen met behulp van de rsv_ruimte_key als die niet gegeven zijn.
var sql = "SELECT ar.alg_verdieping_key"
var sql = "SELECT ar.alg_ruimte_key"
+ " , ar.alg_verdieping_key"
+ " , rsv_r.res_rsv_ruimte_van"
+ " , rsv_r.res_rsv_ruimte_tot"
+ " , rd.res_discipline_key"
@@ -2641,34 +2628,34 @@ res = {
+ " AND rd.res_discipline_key = z.res_discipline_key"
+ " AND rsv_r.res_rsv_ruimte_key = " + rsv_ruimte_key;
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
params = { rsv: { extra_wp_nr: 0
, rsv_ruimte_key: rsv_ruimte_key
, discipline_key: oRs("res_discipline_key").Value
, verdieping_key: oRs("alg_verdieping_key").Value
, ruimte_key: -1
, van: oRs("res_rsv_ruimte_van").Value
, tot: oRs("res_rsv_ruimte_tot").Value
, x: oRs("ins_ruimte_x").Value
, y: oRs("ins_ruimte_y").Value
}
, wp: { x: oRs("ins_deel_DWGX").Value
, y: oRs("ins_deel_DWGY").Value
}
}
}
params = { rsv: { extra_wp_nr: 0
, rsv_ruimte_key: rsv_ruimte_key
, discipline_key: oRs("res_discipline_key").Value
, verdieping_key: oRs("alg_verdieping_key").Value
, ruimte_key: oRs("alg_ruimte_key").Value
, van: new Date(oRs("res_rsv_ruimte_van").Value)
, tot: new Date(oRs("res_rsv_ruimte_tot").Value)
, x: oRs("ins_ruimte_x").Value
, y: oRs("ins_ruimte_y").Value
}
, wp: { x: oRs("ins_deel_DWGX").Value
, y: oRs("ins_deel_DWGY").Value
}
}
oRs.Close();
}
__Log(params);
var sql = "SELECT res_wp.*"
+ " FROM (SELECT rd.res_deel_key"
+ " , rd.res_deel_omschrijving"
+ " " + ( params.wp && params.wp.x && params.wp.y
? ", SQRT(POWER((id.ins_deel_DWGX - " + params.wp.x + "),2) + POWER((id.ins_deel_DWGY - " + params.wp.y + "),2)) afstand_werkplek"
+ ", SQRT(POWER((z.ins_ruimte_x - " + params.rsv.x + "),2) + POWER((z.ins_ruimte_y - " + params.rsv.y + "),2)) afstand_ruimte"
: ""
)
+ " , ar.alg_ruimte_nr ||' - '|| rd.res_deel_omschrijving res_deel_omschrijving"
+ " , " + ( params.wp && params.wp.x && params.wp.y
? "SQRT(POWER((id.ins_deel_DWGX - " + params.wp.x + "),2) + POWER((id.ins_deel_DWGY - " + params.wp.y + "),2))"
: "1"
) + " afstand_werkplek"
+ " , " + ( params.wp && params.wp.x && params.wp.y
? "SQRT(POWER((z.ins_ruimte_x - " + params.rsv.x + "),2) + POWER((z.ins_ruimte_y - " + params.rsv.y + "),2))"
: "CASE WHEN ar.alg_ruimte_key = " + params.rsv.ruimte_key + " THEN 0 ELSE 1 END"
) + " afstand_ruimte"
+ " FROM res_v_aanwezigdeel rd"
+ " , ins_v_aanwezigdeel id"
+ " , alg_v_aanwezigruimte ar"
@@ -2676,7 +2663,7 @@ res = {
+ " WHERE id.ins_alg_ruimte_key = ar.alg_ruimte_key"
+ " AND rd.res_ins_deel_key = id.ins_deel_key"
+ " AND ( rd.res_deel_vervaldatum IS NULL"
+ " OR rd.res_deel_vervaldatum > " + new Date(params.rsv.van).toSQL()
+ " OR rd.res_deel_vervaldatum > " + params.rsv.van.toSQL()
+ " )"
+ ( params.rsv.ruimte_key > 0
? " AND ar.alg_verdieping_key = (SELECT a.alg_verdieping_key FROM alg_ruimte a WHERE a.alg_ruimte_key = " + params.rsv.ruimte_key + ")"
@@ -2687,17 +2674,17 @@ res = {
+ " (SELECT 1"
+ " FROM res_v_aanwezigrsv_deel rsv_d"
+ " WHERE rsv_d.res_deel_key = rd.res_deel_key"
+ " AND rsv_d.res_rsv_deel_van < " + new Date(params.rsv.tot).toSQL(true)
+ " AND rsv_d.res_rsv_deel_tot > " + new Date(params.rsv.van).toSQL(true)
+ " AND rsv_d.res_rsv_deel_van < " + params.rsv.tot.toSQL(true)
+ " AND rsv_d.res_rsv_deel_tot > " + params.rsv.van.toSQL(true)
+ " )"
+ " AND z.ins_alg_ruimte_key = id.ins_alg_ruimte_key"
+ " AND z.res_discipline_key = rd.res_discipline_key"
+ " ) res_wp"
+ " ORDER BY " + ( params.wp && params.wp.x && params.wp.y
? " res_wp.afstand_ruimte , res_wp.afstand_werkplek, "
: ""
)
+ "res_wp.res_deel_omschrijving";
+ " ORDER BY res_wp.afstand_ruimte"
+ " , res_wp.afstand_werkplek"
+ " , res_wp.res_deel_omschrijving";
__Log(sql)
//abort_with_warning("STOP");
return sql;
}
}

View File

@@ -1240,22 +1240,18 @@ FCLTHeader.Requires({ plugins: ["jQuery", "kenmerk"] });
// No popup voor 24/7 organisation
// Display warning: Selected date is not a workday
if(organisation247Type == 0 && isHoliday) { // Warning can be ignored. Still possible to make a reservation
FcltMgr.confirm(L("lcl_holiday"), {
autoconfirm: !isHoliday,
fncancel: function() { iface.button.enable("btn_res_submit") }
}, function() {
$.post($("form[name=u2]")[0].action, $("[name=u2]").serialize(), FcltCallbackAndThenAlways(res_submit_callback), "json");
});
} else if(organisation247Type == 2 && isHoliday && isFrontend) { // Not possible to make a reservation for frontend users
FcltMgr.confirm(L("lcl_holiday"), {
autoconfirm: !isHoliday,
fncancel: function() { iface.button.enable("btn_res_submit") }
}, function() {
iface.button.enable("btn_res_submit");
});
if (organisation247Type == 2 && isHoliday && isFrontend) { // Not possible to make a reservation for frontend users
FcltMgr.alert("<%=L("lcl_holiday_strict")%>");
iface.button.enable("btn_res_submit");
} else {
$.post($("form[name=u2]")[0].action, $("[name=u2]").serialize(), FcltCallbackAndThenAlways(res_submit_callback), "json");
FcltMgr.confirm(L("lcl_holiday"), {
autoconfirm: !isHoliday || organisation247Type == 1,
fncancel: function() {
iface.button.enable("btn_res_submit");
}
}, function() {
$.post($("form[name=u2]")[0].action, $("[name=u2]").serialize(), FcltCallbackAndThenAlways(res_submit_callback), "json");
});
}
});
}

View File

@@ -96,11 +96,11 @@ user.auth_required_or_abort(this_res.couldCreate);
var gebouw_key = oRs("alg_gebouw_key").Value;
var vrije_dagen_alt = [];
var sqlVrijeDagen = "SELECT ag.mld_vrije_dagen_id"
+ " , mv.mld_vrije_dagen_datum"
+ " FROM alg_gebouw ag"
+ " , mld_vrije_dagen mv"
+ " WHERE ag.mld_vrije_dagen_id = mv.mld_vrije_dagen_id"
+ " AND ag.alg_gebouw_key = " + gebouw_key;
+ " , mv.mld_vrije_dagen_datum"
+ " FROM alg_gebouw ag"
+ " , mld_vrije_dagen mv"
+ " WHERE ag.mld_vrije_dagen_id = mv.mld_vrije_dagen_id"
+ " AND ag.alg_gebouw_key = " + gebouw_key;
var oRs2 = Oracle.Execute(sqlVrijeDagen);
while (!oRs2.eof)
{
@@ -430,18 +430,17 @@ user.auth_required_or_abort(this_res.couldCreate);
}
else
{
if ((res247orgType != 2) && isDateWeekendOrHoliday(nextDate, mld_vrije_dagen))
if ((res247orgType != 2) && isDateWeekendOrHoliday(nextDate, mld_vrije_dagen)) {
$("#withWeekends").prop("checked", false); // een vrije/weekend dag geselecteerd, dus niet alleen werkdagen.
else if(res247orgType == 2)
$("#withWeekends").prop("checked", true); // Alleen werkdagen.
} else if (res247orgType == 2) {
$("#withWeekends").prop("checked", true); // Alleen werkdagen.
}
nextDate.setDate(nextDate.getDate() + interval);
while (nextDate <= lastDate)
{
while (nextDate <= lastDate) {
// No holidays
if (!($("#withWeekends:checked").val() == "on" && isDateWeekendOrHoliday(nextDate, mld_vrije_dagen)))
{
if (!($("#withWeekends:checked").val() == "on" && isDateWeekendOrHoliday(nextDate, mld_vrije_dagen))) {
periodedagen.push(nextDate);
}
nextDate.setDate(nextDate.getDate() + interval);
@@ -501,28 +500,23 @@ user.auth_required_or_abort(this_res.couldCreate);
//if chosen dates have weekend or holiday
var hasHoliday = false;
for(var i = 0; i < dates.length; i++) {
for (var i = 0; i < dates.length; i++) {
var nextDate = dates[i];
$("#newDates").append("<option value=" + nextDate + ">" + toDateString(new Date(nextDate)) + "</option>");
if(!hasHoliday && (res247orgType == 2 || res247orgType == 0) && isDateWeekendOrHoliday(new Date(nextDate), mld_vrije_dagen))
if (!hasHoliday && (res247orgType == 2 || res247orgType == 0) && isDateWeekendOrHoliday(new Date(nextDate), mld_vrije_dagen)) {
hasHoliday = true;
}
}
if(hasHoliday) {
if(res247orgType == 2) { // Strict: holidays not allowed.
FcltMgr.alert(L("lcl_holiday_found"));
return false;
} else if (res247orgType == 0) { // Tolerated: Can book holidays, but warning is shown.
FcltMgr.confirm(L("lcl_holiday"), {
autoconfirm: false,
fncancel: function() { iface.button.enable("btn_res_submit") }
}, function() {
return postRepeat();
});
} else // No restrictions: Holidays are also workdays.
return postRepeat();
} else // No holiday found.
return postRepeat();
if (hasHoliday && res247orgType == 2) { // Strict: holidays not allowed.
FcltMgr.alert(L("lcl_holiday_found_strict"));
return false;
} else { // Tolerated: Can book holidays, but warning is shown.
FcltMgr.confirm(L("lcl_holiday_found"), {
autoconfirm: !hasHoliday || res247orgType == 1,
fncancel: function() { iface.button.enable("btn_res_submit"); }
}, postRepeat);
}
}
function postRepeat() {
@@ -596,12 +590,13 @@ user.auth_required_or_abort(this_res.couldCreate);
if ($.inArray(date.getTime(), dates) >= 0)
{
// Enable date so it can be deselected. Set style to be highlighted
return [true,"calselected"];
return [true, "calselected"];
}
// If date is a holiday or weekend, add disabled styling
if (res247orgType && isDateWeekendOrHoliday(date, mld_vrije_dagen))
// If date is a holiday or weekend, add disabled class
if (res247orgType == 2 && isDateWeekendOrHoliday(date, mld_vrije_dagen)) {
return [true, "ui-state-disabled"];
}
// Dates not in the array are left enabled, but with no extra style
return [true, ""];

View File

@@ -679,13 +679,13 @@ if (showMldFrame && urole == 'fe') // fe krijgt geen Add knop. Als er dan ook ge
+ " FROM res_deel rd, res_rsv_deel rrd"
+ " WHERE rd.res_deel_key = rrd.res_deel_key"
+ " AND rrd.res_rsv_ruimte_key = " + rsv_ruimte_key;
var ors_oRs = Oracle.Execute(ord_sql);
var ord_oRs = Oracle.Execute(ord_sql);
var userIsReservedResource = false;
while (!ors_oRs.EoF && !userIsReservedResource) {
if (user_key == ors_oRs("res_prs_perslid_key").Value) {
while (!ord_oRs.EoF && !userIsReservedResource) {
if (user_key == ord_oRs("res_prs_perslid_key").Value) {
userIsReservedResource = true;
}
ors_oRs.MoveNext();
ord_oRs.MoveNext();
}
auth = userIsReservedResource;
}

View File

@@ -400,6 +400,7 @@ while (nnregels < 8)
+ "</tr>";
oRs.MoveNext();
}
oRs.Close();
if (css) {
Response.Write("<style>\n" + css + "</style>");
Response.Write(html);

View File

@@ -130,7 +130,7 @@ sqlL = filtClause.locatie;
sqlG = filtClause.gebouw;
sqlarr = [];
if (!S("mld_opdr_pref_contractors_only") || isOfferte && S("mld_opdr_pref_contractors_only") == 2) sqlarr.push(sqlD);
if ((loc_key === -1 && bld_key === -1) || !S("mld_opdr_pref_contractors_only") || isOfferte && S("mld_opdr_pref_contractors_only") == 2) sqlarr.push(sqlD);
if (loc_key > 0) sqlarr.push(sqlL);
if (bld_key > 0) sqlarr.push(sqlG);
var mld_opdr_sel_intern_uitv = S("mld_opdr_sel_intern_uitv") == 1; // Internal contractors can be selected for all services {0=no (default) | 1=Yes}.

View File

@@ -8,7 +8,7 @@
Context: Vanuit ELK asp bestand
*/
var FCLTVersion="2024.3RC1";
var FCLTVersion="2024.3RC2";
var FCLTMinDatabaseSchema="49"; // Alleen de cijfers
var custpath = rooturl + "/cust/" + customerId; // path to customer files

View File

@@ -311,7 +311,69 @@ function BijlagenButton(tfield, tprops, tparams)
// Voor andere modules kan er 1 op 1 gekopieerd worden.
if (tprops.niveau == "M")
{ // Melding naar melding
lijst = BijlagenList(tparams.module, tprops.niveau, tparams.pkey, kenmerk_key, tfield.otherPath, tprops.sortFilename);
var sql = "SELECT mld_stdmelding_key"
+ " FROM mld_melding"
+ " WHERE mld_melding_key = " + tprops.parentKey;
var oRs = Oracle.Execute(sql);
var old_stdmelding_key = oRs("mld_stdmelding_key").Value;
oRs.Close();
var actual_kenmerk_key = kenmerk_key; /* Deze is mogelijk anders als we van stdm wijzigen */
if (old_stdmelding_key != tprops.stdm_key) {
sql = "SELECT k2.mld_kenmerk_key"
+ " FROM mld_kenmerk k1"
+ " , mld_kenmerk k2"
+ " , mld_srtkenmerk sk1"
+ " , mld_srtkenmerk sk2"
+ " WHERE k1.mld_srtkenmerk_key = k2.mld_srtkenmerk_key"
+ " AND k1.mld_srtkenmerk_key = sk1.mld_srtkenmerk_key"
+ " AND k2.mld_srtkenmerk_key = sk2.mld_srtkenmerk_key"
+ " AND sk1.mld_srtkenmerk_key = sk2.mld_srtkenmerk_key"
+ " AND COALESCE (k1.mld_kenmerk_omschrijving, sk1.mld_srtkenmerk_omschrijving) ="
+ " COALESCE (k2.mld_kenmerk_omschrijving, sk2.mld_srtkenmerk_omschrijving)"
+ " AND sk1.mld_srtkenmerk_kenmerktype = sk2.mld_srtkenmerk_kenmerktype" // Toch wel op z'n minst
+ " AND k1.mld_kenmerk_groep = k2.mld_kenmerk_groep"
+ " AND k1.mld_kenmerk_key = " + kenmerk_key
+ " AND ( ( k1.mld_stdmelding_key IS NULL"
+ " AND k1.mld_kenmerk_niveau = 'A')"
+ " OR ( k1.mld_stdmelding_key = " + tprops.stdm_key
+ " AND k1.mld_kenmerk_niveau = 'S')"
+ " OR ( k1.mld_stdmelding_key = (SELECT s.mld_ins_discipline_key"
+ " FROM mld_stdmelding s"
+ " WHERE s.mld_stdmelding_key = " + tprops.stdm_key + ")"
+ " AND k1.mld_kenmerk_niveau = 'D')"
+ " OR ( k1.mld_stdmelding_key = (SELECT d.ins_srtdiscipline_key"
+ " FROM mld_stdmelding s, mld_discipline d"
+ " WHERE s.mld_ins_discipline_key = d.ins_discipline_key"
+ " AND s.mld_stdmelding_key = " + tprops.stdm_key + ")"
+ " AND k1.mld_kenmerk_niveau = 'T'))"
+ " AND ( ( k2.mld_stdmelding_key IS NULL"
+ " AND k2.mld_kenmerk_niveau = 'A')"
+ " OR ( k2.mld_stdmelding_key = " + old_stdmelding_key
+ " AND k2.mld_kenmerk_niveau = 'S')"
+ " OR ( k2.mld_stdmelding_key = (SELECT s.mld_ins_discipline_key"
+ " FROM mld_stdmelding s"
+ " WHERE s.mld_stdmelding_key = " + old_stdmelding_key + ")"
+ " AND k2.mld_kenmerk_niveau = 'D')"
+ " OR ( k2.mld_stdmelding_key = (SELECT d.ins_srtdiscipline_key"
+ " FROM mld_stdmelding s, mld_discipline d"
+ " WHERE s.mld_ins_discipline_key = d.ins_discipline_key"
+ " AND s.mld_stdmelding_key = " + old_stdmelding_key + ")"
+ " AND k2.mld_kenmerk_niveau = 'T'))";
var oRs = Oracle.Execute(sql);
if (oRs.EoF)
actual_kenmerk_key = -1; // Dan weet ik het ook niet
else
{
actual_kenmerk_key = oRs("mld_kenmerk_key").Value;
oRs.MoveNext();
if (!oRs.EoF) // Dan hebben we schijnbaar geen unieke gevonden -> foute configuratie
actual_kenmerk_key = -1;
}
oRs.Close();
}
if (actual_kenmerk_key > 0) {
lijst = BijlagenList(tparams.module, tprops.niveau, tparams.pkey, actual_kenmerk_key, tfield.otherPath, tprops.sortFilename);
}
}
else if (tfield.otherPath) // tprops.niveau == "O"
{ // Opdracht naar opdracht

View File

@@ -561,7 +561,8 @@ function rotateLogfile(whenSize)
var expire = new Date();
expire.setDate(expire.getDate() - 7); // 7 dagen niets gebeurd? Dan wegmoven
// Merk op dat @trunk hier soms al een "Vreemd. Default voor .... is gecached als ..." is gelogd en de file dus nieuw is
if (f.Size > whenSize || new Date(f.DateLastModified) < expire)
var wasSize = f.Size;
if (wasSize > whenSize || new Date(f.DateLastModified) < expire)
{
var today = toISODateString(new Date());
var newname = oldname.replace(/\.html$/, "") + "_" + today + ".html";
@@ -575,9 +576,9 @@ function rotateLogfile(whenSize)
try
{
fso.MoveFile(oldname, newname);
if (f.Size > whenSize) // niet meteen nieuwe logfile starten als het tijdgebaseerd was
if (wasSize > whenSize) // niet meteen nieuwe logfile starten als het tijdgebaseerd was
{
__DoLog("Oversized logfile ({0} bytes) was archived in {1}".format(f.Size, newname), "#0f0");
__DoLog("Oversized logfile ({0} bytes) was archived in {1}".format(wasSize, newname), "#0f0");
}
}
catch(e)

View File

@@ -129,6 +129,7 @@ function sendnotifications(ref_key, pcode)
function sendnotificationforced(noti_key, params)
{
forceOrders = 1; // altijd FORCE
settings.overrule_setting("puo_flags", 1); // sta notificaties toe
clearNotifications = 0; // altijd KEEP
sendNotification(null, null, { noti_key: noti_key });
return { message: "Notification has been sent" };

View File

@@ -268,6 +268,7 @@ function doHTTP(url, params) // params is sterk vergelijkbaar met p_bedrijfadres
puo_hook.callhook("pre_custom_oauth_authentication", { params: params, params2: params2 });
Log2File(1, "Fetching oAuth token at: " + params.token_url);
// vaak secret tokens dus maar niet loggen Log2File(2, params2.data);
var result = doHTTP(params.token_url, params2);
var ctype = String(result.getResponseHeader("Content-Type"));
if (ctype.indexOf("application/json") == -1) // kan ook application/json;charset=UTF-8 zijn
@@ -280,6 +281,8 @@ function doHTTP(url, params) // params is sterk vergelijkbaar met p_bedrijfadres
params.headers["Authorization"] = "Bearer " + jresult.access_token;
params.username = null;
params.password = null;
puo_hook.callhook("post_custom_oauth_authentication", { params: params, params2: params2, jresult: jresult });
}
http_request.open(params.method, url, false, params.username, params.password); // Synchroon