Merge 2022.1 Gold patches

svn path=/Website/trunk/; revision=54821
This commit is contained in:
Jos Groot Lipman
2022-02-03 11:00:24 +00:00
parent 7cc06540a9
commit 51c7c71f7f
39 changed files with 358 additions and 224 deletions

View File

@@ -20,7 +20,12 @@ function model_fac_widget(onpage_mode)
this.record_name = "widget";
this.table = "fac_widget";
this.primary = "fac_widget_key";
this.autfunction = ["WEB_PRSSYS", "WEB_WGTMAN", "WEB_WGTUSE"];
this.autfunction = ["WEB_WGTMAN", "WEB_PRSSYS"];
// In onpage_mode wordt in buildWidgetTypeLOV() geregeld welke types je mag wijzigen.
// Met WEB_WGTUSE is dat alleen type WGT zodat je de huidige widget kan inwisselen voor een bestaande andere
// Die variant gaat uiteindelijk via een custom REST_PUT/POST niet langs mode == "save" waardoor het huidige record niet wordt aangepast.
if ((onpage_mode && mode != "save") || mode == "show" || mode == "wrap")
this.autfunction.push("WEB_WGTUSE");
this.record_title = L("fac_widget");
this.records_title = L("fac_widget_m");
@@ -176,19 +181,14 @@ function model_fac_widget(onpage_mode)
}
}
var authFAQ;
var authFAQ, advancedAuth;
function buildWidgetTypeLOV()
{
// Als ik in onpage_mode een widget edit, maar ik mag de widget zelf niet editen (bijv. als ik alleen WGTUSE heb maar de widget is openbaar)
if (onpage_mode && mode == "edit")
{
var this_wgt = wgt.func_enabled_wgt(widget_key);
if (!this_wgt.canWrite)
return L("fac_widget_typeWGT");
}
advancedAuth = user.has(["WEB_WGTMAN", "WEB_PRSSYS"]);
var widget_type_LOV = "";
if (S("wgt_enabled") == 1)
if (!advancedAuth)
widget_type_LOV = L("fac_widget_noauth_typeWGT");
else if (S("wgt_enabled") == 1)
{
widget_type_LOV = L("fac_widget_typeLOV");
if (onpage_mode)
@@ -260,9 +260,7 @@ function model_fac_widget(onpage_mode)
}
}
var hasWGTMAN = user.has("WEB_WGTMAN");
var hasPRSSYS = user.has("WEB_PRSSYS");
if (hasPRSSYS || hasWGTMAN)
if (advancedAuth)
{
if (S("wgt_enabled") == 1)
{
@@ -287,9 +285,9 @@ function model_fac_widget(onpage_mode)
+ " AND p.prs_perslid_key = " + user_key + "))";
}
this.REST_GET = generic_REST_GET(this, { GET: { wheres: (S("wgt_enabled") == 0 ? [" fac_widget_type = 'FAC'"] : []) } });
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);
this.REST_GET = generic_REST_GET(this, { GET: { wheres: (S("wgt_enabled") == 0 ? [" fac_widget_type = 'FAC'"] : []) } });
this.REST_POST = generic_REST_POST(this);
this.REST_PUT = generic_REST_PUT(this);
if (!onpage_mode)
{
this.REST_DELETE = generic_REST_DELETE(this);

View File

@@ -420,7 +420,7 @@ bez =
};
oRs.Close();
if (result.ruimte.length)
if (result.ruimte)
{ // Voor afspraak die niet aan reservering gekoppeld is de plaatsaanduiding
// terug herleiden naar ruimtenummer + ruimteomschrijving.
var sql = "SELECT o.alg_onroerendgoed_code ||"

View File

@@ -62,11 +62,15 @@ function showRequire()
if ($prkCheck.is(":visible"))
{
$prkCheck.toggleClass($this_bez.attr("name").replace("bez", "required10S"), $this.val() != "");
if ($this.val() == "") // Dan mag ook de required er af, als die er al op zit
$prkCheck.removeClass("required");
}
var $prkSelect = $("td div input[id^=gebouw].fld", $this_tr);
if ($prkSelect.is(":visible"))
{
$prkSelect.toggleClass($this_bez.attr("name").replace("bez", "required10S"), $this.val() != "");
if ($this.val() == "") // Dan mag ook de required er af, als die er al op zit
$prkSelect.removeClass("required");
}
}
toon = save_toon;

View File

@@ -75,7 +75,7 @@ if (afspraak_key == -1)
+ " AND rr.res_ruimte_key = ro.res_ruimte_key"
+ " AND rrr.res_rsv_ruimte_key = " + rsv_ruimte_key;
var oRs2 = Oracle.Execute(sql);
if (!oRs2.Eof && ((oRs2("res_ruimte_extern_id").Value != null || oRs2("res_rsv_ruimte_externnr").Value != null)) && !withinTimeRange(oRs_r("res_rsv_ruimte_van").Value))
if (!oRs2.Eof && ((oRs2("res_ruimte_extern_id").Value != null || oRs2("res_rsv_ruimte_externnr").Value != null)) && !withinTimeRange(oRs2("res_rsv_ruimte_van").Value))
canChange = false;
oRs2.Close();
}

View File

@@ -262,13 +262,12 @@ function addObjecten(cHandle, highlight_ins_deel_key)
+ " AND ins_deel_parent_key IS NULL"
+ " AND isd.ins_srtgroep_key = isg.ins_srtgroep_key"
+ " AND ins_srtdeel_acadsymbol IS NOT NULL"
+ " AND ( id.ins_discipline_key IN (" + pDiscs_arr.join(",") +")"
+ " AND isg.ins_discipline_key IN (" + pDiscs_arr.join(",") +")"
+ (pSrtG_arr.length ? " OR isg.ins_srtgroep_key IN (" + pSrtG_arr.join(",") +")" : "")
+ (pSrtD_arr.length ? " OR isd.ins_srtdeel_key IN (" + pSrtD_arr.join(",") +")" : "")
+ " AND ( 1=0"
+ (pDiscs_arr.length ? " OR id.ins_discipline_key IN (" + pDiscs_arr.join(",") +")" : "")
+ (pSrtG_arr.length ? " OR isg.ins_srtgroep_key IN (" + pSrtG_arr.join(",") +")" : "")
+ (pSrtD_arr.length ? " OR isd.ins_srtdeel_key IN (" + pSrtD_arr.join(",") +")" : "")
+ " )"
+ " GROUP BY ins_alg_ruimte_key"
+ " GROUP BY ins_alg_ruimte_key"
oRsRuimte = Oracle.Execute(sql);
while (!oRsRuimte.EOF)
{
@@ -297,10 +296,10 @@ function addObjecten(cHandle, highlight_ins_deel_key)
+ " AND isdp.ins_discipline_key = id.ins_discipline_key"
+ " AND di.ins_discipline_key = id.ins_discipline_key"
+ " AND di.ins_discipline_verwijder IS NULL"
+ " AND ( isg.ins_discipline_key IN (" + pDiscs_arr.join(",") + ")"
+ " AND id.ins_discipline_key IN (" + pDiscs_arr.join(",") + ")"
+ (pSrtG_arr.length ? " OR isg.ins_srtgroep_key IN (" + pSrtG_arr.join(",") +")" : "")
+ (pSrtD_arr.length ? " OR isd.ins_srtdeel_key IN (" + pSrtD_arr.join(",") +")" : "")
+ " AND ( 1=0"
+ (pDiscs_arr.length ? " OR id.ins_discipline_key IN (" + pDiscs_arr.join(",") +")" : "")
+ (pSrtG_arr.length ? " OR isg.ins_srtgroep_key IN (" + pSrtG_arr.join(",") +")" : "")
+ (pSrtD_arr.length ? " OR isd.ins_srtdeel_key IN (" + pSrtD_arr.join(",") +")" : "")
+ " )"
+ " AND ins_deel_verwijder IS NULL"
+ " AND (ins_deel_vervaldatum IS NULL OR ins_deel_vervaldatum > TRUNC(SYSDATE))"
@@ -341,10 +340,10 @@ function addObjecten(cHandle, highlight_ins_deel_key)
+ " AND di.ins_discipline_key = id.ins_discipline_key"
+ " AND di.ins_discipline_verwijder IS NULL"
+ " AND isdp.ins_discipline_key = id.ins_discipline_key"
+ " AND ( isg.ins_discipline_key IN (" + pDiscs_arr.join(",") +")"
+ " AND id.ins_discipline_key IN (" + pDiscs_arr.join(",") +")"
+ (pSrtG_arr.length ? " OR isg.ins_srtgroep_key IN (" + pSrtG_arr.join(",") +")" : "")
+ (pSrtD_arr.length ? " OR isd.ins_srtdeel_key IN (" + pSrtD_arr.join(",") +")" : "")
+ " AND ( 1=0"
+ (pDiscs_arr.length ? " OR id.ins_discipline_key IN (" + pDiscs_arr.join(",") +")" : "")
+ (pSrtG_arr.length ? " OR isg.ins_srtgroep_key IN (" + pSrtG_arr.join(",") +")" : "")
+ (pSrtD_arr.length ? " OR isd.ins_srtdeel_key IN (" + pSrtD_arr.join(",") +")" : "")
+ " )"
+ " ORDER BY isd.ins_srtdeel_key"
symbols = buildSymbols(cHandle, { sql : sql,
@@ -384,9 +383,10 @@ function addObjecten(cHandle, highlight_ins_deel_key)
+ " AND ins_deel_parent_key IS NULL"
+ " AND isd.ins_srtgroep_key = isg.ins_srtgroep_key"
+ " AND ins_srtdeel_acadsymbol IS NOT NULL"
+ " AND ( isg.ins_discipline_key IN (" + pDiscs_arr.join(",") +")"
+ (pSrtG_arr.length ? " OR isg.ins_srtgroep_key IN (" + pSrtG_arr.join(",") +")" : "")
+ (pSrtD_arr.length ? " OR isd.ins_srtdeel_key IN (" + pSrtD_arr.join(",") +")" : "")
+ " AND ( 1=0"
+ (pDiscs_arr.length ? " OR id.ins_discipline_key IN (" + pDiscs_arr.join(",") +")" : "")
+ (pSrtG_arr.length ? " OR isg.ins_srtgroep_key IN (" + pSrtG_arr.join(",") +")" : "")
+ (pSrtD_arr.length ? " OR isd.ins_srtdeel_key IN (" + pSrtD_arr.join(",") +")" : "")
+ " )"
+ " AND THEMA.ins_deel_key = id.ins_deel_key"
+ (datumfilter && hasColumn(viewName, 'fclt_f_datum', 'DATE') ? " AND THEMA.fclt_f_datum = " + datumfilter.toSQL():"")

View File

@@ -250,9 +250,9 @@ function transformStream(stream, xsl, params)
source.setProperty("ProhibitDTD", false); // niet moeilijk doen over DTD's
stream.Position = 0;
if (0) // testing
source.loadXML("<facilitor><FCLTattachment encoding='hex' templatenodename='test'>367079</FCLTattachment></facilitor>");
else
// if (0) // testing
// source.loadXML("<facilitor><FCLTattachment encoding='hex' templatenodename='test'>367079</FCLTattachment></facilitor>");
// else
if( ! source.load(stream) ) // Het bestand laden
{
var err = "XML error: " + source.parseError.reason + " @ " + source.parseError.line + "." + source.parseError.linepos;

View File

@@ -14,6 +14,7 @@
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<!-- #include file="../MLD/mld.inc" -->
<!-- #include file="../fac/fac.inc" -->
<%
var outputmode = getQParamInt("outputmode", 0); // 0 = screen, 1 = print, 2 = excel etc
@@ -33,15 +34,9 @@ var datum = oRs("fac_faq_datum").Value;
var mustProf = (level & 1) == 0; // Alleen professionals
oRs.close();
var authparamsFAQUSE = user.checkAutorisation("WEB_FAQUSE", true); // Frontend mag ingevoerde items bekijken
var authparamsFAQFOF = user.checkAutorisation("WEB_FAQFOF", true); // Frontoffice mag items aanmaken en bewerken
var authparamsFAQBOF = user.checkAutorisation("WEB_FAQBOF", true); // Backoffice mag ingevoerde items publiceren (publicatie datum zetten/aanpassen)
var this_faq = fac.func_enabled_faq(faq_key); // Wat heb ik zoal aan rechten op deze specifieke kennisbankitem.
user.auth_required_or_abort(authparamsFAQBOF || authparamsFAQFOF || (!mustProf && authparamsFAQUSE));
var canWriteFAQFOF = authparamsFAQFOF && authparamsFAQFOF.PRSwritelevel < 9 && authparamsFAQFOF.ALGwritelevel < 9;
var canWriteFAQBOF = authparamsFAQBOF && authparamsFAQBOF.PRSwritelevel < 9 && authparamsFAQBOF.ALGwritelevel < 9;
var canChange = canWriteFAQBOF || (canWriteFAQFOF && datum == null)
user.auth_required_or_abort(this_faq.canReadAny);
var addButton = [];
@@ -97,7 +92,7 @@ var addButton = [];
return "";
}
if (canChange)
if (this_faq.canChange)
{
addButton = [{icon: "fa-fclt-edit", title: L("lcl_change"), action: "alg_algfaq()"}];
}
@@ -136,4 +131,4 @@ var addButton = [];
</body>
</html>
<% ASPPAGE_END(); %>
<% ASPPAGE_END(); %>

View File

@@ -15,6 +15,7 @@ k
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/plaatsselector.inc" -->
<!-- #include file="../fac/fac.inc" -->
<%
FCLTHeader.Requires({ plugins:["jQuery"]
@@ -24,10 +25,14 @@ FCLTHeader.Requires({ plugins:["jQuery"]
var faq_key = getQParamInt("faq_key");
var submitting = getQParamInt("submit", 0) == 1;
var loc_key = -1;
var bld_key = -1;
var flr_key = -1;
var room_key = -1;
var this_faq = fac.func_enabled_faq(faq_key); // Wat heb ik zoal aan rechten op deze specifieke kennisbankitem.
user.auth_required_or_abort(this_faq.canChange);
var loc_key = -1;
var bld_key = -1;
var flr_key = -1;
var room_key = -1;
%>
<html>
<head>

View File

@@ -16,6 +16,7 @@ var JSON_Result = true;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../fac/fac.inc" -->
<%
protectRequest.validateToken();
@@ -23,6 +24,10 @@ protectRequest.validateToken();
var faq_key = getQParamInt("faq_key");
var nrRows = getFParamInt("nrRows", 0);
var this_faq = fac.func_enabled_faq(faq_key); // Wat heb ik zoal aan rechten op deze specifieke kennisbankitem.
user.auth_required_or_abort(this_faq.canChange);
var loc_key = -1;
var onr_key = -1;
var loc_keys = [];
@@ -65,4 +70,4 @@ Oracle.Execute(sql);
var result = {success: true};
Response.Write(JSON.stringify(result));
%>
<% ASPPAGE_END(); %>
<% ASPPAGE_END(); %>

View File

@@ -129,7 +129,7 @@ function CreateItems(menuItems, pmode, start_collapsed, max_lines)
else // MGE: komt dit wel voor? Een submenu item zonder href (link) naar een pagina?
action = "";
%>
<li tabindex="0" onkeypress="this.click()" class="mi<%=itm.level>0?" mi"+itm.level:""%>"<%=ttl+infomsg%> <%=j>=max_lines&&max_lines!=menuItems.length-1?"style='display:none'":""%><%= action %>>
<li tabindex="0" onkeypress="this.click()" class="mi<%=itm.level>0?" mi"+itm.level:""%>"<%=ttl+infomsg%> <%=j>=max_lines&&max_lines!=menuItems.length-1?"style='display:none'":""%><%= action %><%=(pmode == 3 ? " data-value='" + safe.htmlattr(itm.name) + "'" : "")%>>
<%=unpin%><%=showtxt%>
</li>
<%

View File

@@ -26,6 +26,7 @@
<%
FCLTHeader.Requires({ plugins:["jQuery"] });
var pkey = getQParamInt("key", user_key);
var nieuws_key_arr = getQParamIntArray("nieuws_key", []);
var showmore = getQParamInt("showmore", 0);
var additionalNews = 0;
@@ -70,6 +71,7 @@ var sqln = "SELECT DISTINCT" // Plaatsgebonden berichten alleen zichtbaar voor m
+ " AND n.fac_nieuws_groep_key = ng.fac_nieuws_groep_key(+)"
+ " AND n.prs_perslid_key = pf.prs_perslid_key"
+ (showmore ? " AND BITAND(fac_nieuws_show, 2) = 2" : " AND BITAND(fac_nieuws_show, 1) = 1")
+ (nieuws_key_arr.length ? " AND fac_nieuws_key IN (" + nieuws_key_arr.join(",") + ")" : "")
+ " UNION"
+ " SELECT DISTINCT" // Niet plaatsgebonden berichten zichtbaar voor iedereen of een gebruiksersgroep
+ " " + lcl.xsqla('fac_nieuws_titel', 'fac_nieuws_key')
@@ -97,6 +99,7 @@ var sqln = "SELECT DISTINCT" // Plaatsgebonden berichten alleen zichtbaar voor m
+ " AND n.fac_nieuws_groep_key = ng.fac_nieuws_groep_key(+)"
+ " AND n.prs_perslid_key = pf.prs_perslid_key"
+ (showmore ? " AND BITAND(fac_nieuws_show, 2) = 2" : " AND BITAND(fac_nieuws_show, 1) = 1")
+ (nieuws_key_arr.length ? " AND fac_nieuws_key IN (" + nieuws_key_arr.join(",") + ")" : "")
+ " ORDER BY fac_nieuws_van DESC";
var canEdit = user.has("WEB_MSGBOF");

View File

@@ -33,6 +33,8 @@ while (!oRs.Eof)
alluser[oRs("username").Value] = new Date(oRs("created").Value); // nog niet gevonden in een oracle.udl
oRs.MoveNext()
}
var ProviderVersion = String(Oracle.RealConnection.Properties("Provider Version"));
var ProviderName = String(Oracle.RealConnection.Properties("Provider Name"));
Oracle.RealConnection.Close();
Oracle = null; // Voorkom dat je per ongeluk 'gewoon' Oracle aanroept: hier moet je xdOracle gebruiken
@@ -232,7 +234,9 @@ result = { aFCLT: aFCLT,
svnrevision: parseInt("$Revision$".replace(/\D/g,'')),
extrauser: alluser,
local_addr: String(Request.ServerVariables("LOCAL_ADDR")),
remote_addr: String(Request.ServerVariables("REMOTE_ADDR"))
remote_addr: String(Request.ServerVariables("REMOTE_ADDR")),
ProviderVersion: ProviderVersion,
ProviderName: ProviderName
};
var oAbout = new ActiveXObject("SLNKDWF.About");

View File

@@ -26,6 +26,7 @@ FCLTHeader.Requires({plugins:["jQuery"], js: []})
// Autorisatie controle komt als we level weten
var faq_key = getQParamInt("faq_key");
var asWidget = getQParamInt("asWidget", 0);
var this_faq = fac.func_enabled_faq(faq_key); // Wat heb ik zoal aan rechten op deze specifieke kennisbankitem.
@@ -129,10 +130,15 @@ var isProf = this_faq.canFOwrite || this_faq.canBOwrite;
buttons.push({title: L("lcl_delete"), action: "faq_delete()", icon: "fa-trash-alt"});
}
IFRAMER_HEADER(L("lcl_faq_kennisitem"), buttons);
if (!asWidget)
IFRAMER_HEADER(L("lcl_faq_kennisitem"), buttons);
%>
<%
BLOCK_START("mldFaqedit", L("lcl_faq_item"), { wide: true, icon: "fa-book" });
BLOCK_START("mldFaqedit", asWidget ? question : L("lcl_faq_item"), { wide: true, icon: asWidget ? "fa-lightbulb-on" : "fa-book" });
if (asWidget)
ROTEXTAREATR("fldtxt", "", answer);
else
{
ROFIELDTR("fld", L("lcl_faq_kennisbank_nr"), faq_key);
FCLTdisciplineselector("fac_disc",
"sgDisc",
@@ -152,9 +158,10 @@ var isProf = this_faq.canFOwrite || this_faq.canBOwrite;
ROTEXTAREATR("fldtxt", L("lcl_faq_hint"), hint, { suppressEmpty: true } );
}
ROFIELDTR("fld truncate", L("lcl_faq_link"), url, { infoPointer: {Url: url, Title: L("lcl_faq_item"), NewWindow: true}, suppressEmpty: true});
}
BLOCK_END();
if (isProf)
if (!asWidget && isProf)
{
BLOCK_START("mldInfo", L("lcl_faq_itemadm"), { icon: "fa-tag"} );
ROFIELDTR("fld", L("lcl_faq_level"), fac.getfaqleveltext(level));
@@ -198,9 +205,10 @@ var isProf = this_faq.canFOwrite || this_faq.canBOwrite;
BLOCK_END();
}
generateFlexKenmerkCode ({ faq_key: faq_key,
reado : true
});
if (!asWidget)
generateFlexKenmerkCode ({ faq_key: faq_key,
reado : true
});
%>
<% SUBFRAME_END(); %>
</body>

View File

@@ -14,6 +14,7 @@
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/resultset_table_v2.inc" -->
<!-- #include file="../MLD/mld.inc" -->
<!-- #include file="../fac/fac.inc" -->
<%
var outputmode = getQParamInt("outputmode", 0); // 0 = screen, 1 = print, 2 = excel etc
@@ -33,15 +34,9 @@ var datum = oRs("fac_faq_datum").Value;
var mustProf = (level & 1) == 0; // Alleen professionals
oRs.close();
var authparamsFAQUSE = user.checkAutorisation("WEB_FAQUSE", true); // Frontend mag ingevoerde items bekijken
var authparamsFAQFOF = user.checkAutorisation("WEB_FAQFOF", true); // Frontoffice mag items aanmaken en bewerken
var authparamsFAQBOF = user.checkAutorisation("WEB_FAQBOF", true); // Backoffice mag ingevoerde items publiceren (publicatie datum zetten/aanpassen)
var this_faq = fac.func_enabled_faq(faq_key); // Wat heb ik zoal aan rechten op deze specifieke kennisbankitem.
user.auth_required_or_abort(authparamsFAQBOF || authparamsFAQFOF || (!mustProf && authparamsFAQUSE));
var canWriteFAQFOF = authparamsFAQFOF && authparamsFAQFOF.PRSwritelevel < 9 && authparamsFAQFOF.ALGwritelevel < 9;
var canWriteFAQBOF = authparamsFAQBOF && authparamsFAQBOF.PRSwritelevel < 9 && authparamsFAQBOF.ALGwritelevel < 9;
var canChange = canWriteFAQBOF || (canWriteFAQFOF && datum == null)
user.auth_required_or_abort(this_faq.canReadAny);
var addButton = [];
@@ -83,11 +78,11 @@ var addButton = [];
function fnrowActionEnabler(oRs)
{
var notfrontend = oRs("mld_stdmelding_notfrontend").value;
return { eMelding: canWriteFAQFOF || canWriteFAQBOF || !notfrontend
return { eMelding: this_faq.canFOwrite || this_faq.canBOwrite || !notfrontend
};
}
if (canChange)
if (this_faq.canChange)
{
addButton = [{icon: "fa-fclt-edit", title: L("lcl_change"), action: "mld_stdmeldingfaq()"}];
}
@@ -140,4 +135,4 @@ var addButton = [];
</body>
</html>
<% ASPPAGE_END(); %>
<% ASPPAGE_END(); %>

View File

@@ -16,6 +16,7 @@ k
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/disciplineselector.inc" -->
<!-- #include file="../Shared/stdmeldingselector.inc" -->
<!-- #include file="../fac/fac.inc" -->
<%
FCLTHeader.Requires({ plugins:["jQuery"]
@@ -24,8 +25,12 @@ FCLTHeader.Requires({ plugins:["jQuery"]
var faq_key = getQParamInt("faq_key");
var disc_key = -1;
var stdm_key = -1;
var this_faq = fac.func_enabled_faq(faq_key); // Wat heb ik zoal aan rechten op deze specifieke kennisbankitem.
user.auth_required_or_abort(this_faq.canChange);
var disc_key = -1;
var stdm_key = -1;
%>
<html>
<head>

View File

@@ -16,6 +16,7 @@ var JSON_Result = true;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../fac/fac.inc" -->
<%
protectRequest.validateToken();
@@ -23,6 +24,10 @@ protectRequest.validateToken();
var faq_key = getQParamInt("faq_key");
var nrRows = getFParamInt("nrRows", 0);
var this_faq = fac.func_enabled_faq(faq_key); // Wat heb ik zoal aan rechten op deze specifieke kennisbankitem.
user.auth_required_or_abort(this_faq.canChange);
var disc_key = -1;
var stdm_key = -1;
var disc_keys = [];
@@ -65,4 +70,4 @@ Oracle.Execute(sql);
var result = {success: true};
Response.Write(JSON.stringify(result));
%>
<% ASPPAGE_END(); %>
<% ASPPAGE_END(); %>

View File

@@ -1771,9 +1771,9 @@ checker("SLNKDWF Installed",
+ "<br>usTimer: " + Math.round(oSLNKDWF.usTimer)
+ " ({0} days uptime since {1})".format((msec/1e3/60/60/24).toFixed(2), toDateTimeString(tmup));
if (oSLNKDWF.VersionMajor < 4 || (oSLNKDWF.VersionMajor == 4 && oSLNKDWF.VersionMinor < 16))
if (oSLNKDWF.VersionMajor < 4 || (oSLNKDWF.VersionMajor == 4 && oSLNKDWF.VersionMinor < 27))
{
txt += "<p><span style='font-style:normal'>Old version detected. Required version 4.16</p>";
txt += "<p><span style='font-style:normal'>Old version detected. Required version 4.27</p>";
return { result: resultcodes.error, message: txt, info: oSLNKDWF.VersionString };
}

View File

@@ -432,33 +432,32 @@ wgt = {
func_enabled_wgt:
function _func_enabled_wgt(pkey)
{
// Als je de pagina mag zien, mag je de widgets ook zien,
// tenzij in de widgets zelf -bijv. bij rapportages- dat wordt tegengegaan, maar dat wordt in de widgets zelf afgehandeld
// Bij sommige widget-types kan in de widgets zelf ook nog autorisatie van toepassing zijn, bijv. bij rapportages
var result = { "canRead": true, "canWrite": false };
var xfunc = user.func_enabled2("WGT", { isOptional: true });
var authparamsPRSSYS = user.checkAutorisation("WEB_PRSSYS", true);
var prssys = wgt.getReadWrite(authparamsPRSSYS);
result.writeuse = S("wgt_enabled") == 1 && xfunc.canWrite("WEB_WGTUSE");
result.writeman = (S("wgt_enabled") == 1 && xfunc.canWrite("WEB_WGTMAN")) || prssys.canWrite;
if (!pkey || pkey == -1)
if (!pkey || pkey == -1 || (S("wgt_enabled") == 1 && result.writeman)) // Met writeman en wgt_enabled mag ik alles ongeacht extra autorisatie-functie
{
result.canWrite = result.writeuse || result.writeman; // Mag ik zelf een widget aanmaken?
result.canWrite = result.writeman; // Mag ik zelf een widget aanmaken?
return result;
}
var sql = "SELECT fac_widget_type, fac_functie_key, fac_widget_public"
var sql = "SELECT fac_widget_type, fac_functie_key"
+ " FROM fac_widget"
+ " WHERE fac_widget_key = " + pkey;
var oRs = Oracle.Execute(sql);
var wgt_type = oRs("fac_widget_type").Value;
var fac_functie_key = oRs("fac_functie_key").Value || -1;
var wgt_public = oRs("fac_widget_public").Value;
oRs.Close();
result.canWrite = ((!wgt_public && result.writeuse) || result.writeman) && (S("wgt_enabled") == 1 || wgt_type == "FAC");
result.canWrite = result.writeman && (S("wgt_enabled") == 1 || wgt_type == "FAC");
if (result.canWrite) // Met writeman mag ik alles ongeacht extra autorisatie-functie
return result;
if (fac_functie_key > -1)
{
@@ -466,7 +465,7 @@ wgt = {
var extraF = wgt.getReadWrite(authParams);
result.canRead = result.canRead && extraF.canRead;
result.canWrite = result.canWrite && extraF.canWrite;
// result.canWrite = result.canWrite && extraF.canWrite; // Momenteel is canWrite hier altijd false
}
return result;

View File

@@ -623,6 +623,13 @@ function extractAttachments(safeSourceXML, filename, flexcode)
{ // Als geen filenaam-attribuut aanwezig, dan proberen we element ID
filename = XMLval(Attachments[i], "cbc:ID");
}
if (filename &&
!filename.match(/\.pdf$/i) &&
Attachment.length &&
Attachment[0].getAttribute("mimeCode") == "application/pdf")
{
filename += ".pdf";
}
var safefilename = safe.filename(filename);
if (!params.isAllowedName(safefilename))
{

View File

@@ -84,28 +84,28 @@ user.auth_required_or_abort(ins_xcp_active_cost > 0 && ins_xcp_active_cost < 16)
"fldshort",
L("ins_srtcontrole_kosten") + " (%)",
"",
{ datatype: "currency",
{ datatype: "float",
html: "onBlur='checkPrice(1)'" })
if (ins_xcp_active_cost & 2)
RWFIELDTR("costs2",
"fldshort",
L("ins_srtcontrole_kosten2") + " (%)",
"",
{ datatype: "currency",
{ datatype: "float",
html: "onBlur='checkPrice(2)'" })
if (ins_xcp_active_cost & 4)
RWFIELDTR("costs3",
"fldshort",
L("ins_srtcontrole_kosten3") + " (%)",
"",
{ datatype: "currency",
{ datatype: "float",
html: "onBlur='checkPrice(3)'" })
if (ins_xcp_active_cost & 8)
RWFIELDTR("material",
"fldshort",
L("ins_srtcontrole_materiaal") + " (%)",
"",
{ datatype: "currency",
{ datatype: "float",
html: "onBlur='checkPrice(4)'" })
MODAL_BLOCK_END();

View File

@@ -1,4 +1,5 @@
<%@language = "javascript" %>
<% Server.ScriptTimeout=6000; %>
<% /*
$Revision$
$Id$
@@ -47,16 +48,17 @@ var srtdeel_key = getFParamInt("srtdeel_key", -1); // Subrecept.
var authparams = user.checkAutorisation("WEB_INSMGT");
var result = { ctrdisc_key: ctrdisc_key, disc_key: disc_key, srtgroup_key: srtgroup_key, srtdeel_key: srtdeel_key, success: true };
var result = { ctrdisc_key: ctrdisc_key, disc_key: disc_key, srtgroup_key: srtgroup_key, srtdeel_key: srtdeel_key };
if (pc_costs > 0 || pc_costs2 > 0 || pc_costs3 > 0 || pc_material > 0)
if (pc_costs != 0 || pc_costs2 != 0 || pc_costs3 != 0 || pc_material != 0)
{
// Als het veld NULL is blijft het veld deze waarde behouden (NULL * waarde = NULL).
var sql = "UPDATE ins_srtcontrole"
+ " SET ins_srtcontrole_kosten = ins_srtcontrole_kosten * (1 + " + pc_costs + " / 100)"
+ " , ins_srtcontrole_kosten2 = ins_srtcontrole_kosten2 * (1 + " + pc_costs2 + " / 100)"
+ " , ins_srtcontrole_kosten3 = ins_srtcontrole_kosten3 * (1 + " + pc_costs3 + " / 100)"
+ " , ins_srtcontrole_materiaal = ins_srtcontrole_materiaal * (1 + " + pc_material + " / 100)"
var sql = "SELECT ins_srtcontrole_key"
+ " , ins_srtcontrole_omschrijving"
+ " , ins_srtcontrole_kosten"
+ " , ins_srtcontrole_kosten2"
+ " , ins_srtcontrole_kosten3"
+ " , ins_srtcontrole_materiaal"
+ " FROM ins_srtcontrole"
+ " WHERE ins_srtcontrole_key IN (SELECT ins_srtcontrole.ins_srtcontrole_key"
+ " FROM ins_srtcontrole"
+ " , ins_v_allsrtinstallatie"
@@ -75,14 +77,49 @@ if (pc_costs > 0 || pc_costs2 > 0 || pc_costs3 > 0 || pc_material > 0)
? " AND ins_v_allsrtinstallatie.ins_srtdeel_key = " + srtdeel_key
: "")
+ " )";
var err = Oracle.Execute(sql, true);
var oRs = Oracle.Execute(sql);
while (!oRs.eof)
{ // Periodieke taak indexeren.
var srtcontrole_key = oRs("ins_srtcontrole_key").Value;
var srtcontrole_oms = oRs("ins_srtcontrole_omschrijving").Value;
var srtcontrole_kosten = oRs("ins_srtcontrole_kosten").Value;
var srtcontrole_kosten2 = oRs("ins_srtcontrole_kosten2").Value;
var srtcontrole_kosten3 = oRs("ins_srtcontrole_kosten3").Value;
var srtcontrole_materiaal = oRs("ins_srtcontrole_materiaal").Value;
if (err && err.friendlyMsg)
{
result.warning = err.friendlyMsg;
result.success = false;
var haveToUpdate = ((pc_costs != 0 && srtcontrole_kosten != null) ||
(pc_costs2 != 0 && srtcontrole_kosten2 != null) ||
(pc_costs3 != 0 && srtcontrole_kosten3 != null) ||
(pc_material != 0 && srtcontrole_materiaal != null));
if (haveToUpdate)
{ // Huidige kosten zijn ingevuld en er is een indexatie ingevuld.
// Als het veld NULL is blijft het veld deze waarde behouden (NULL * waarde = NULL).
var fields = [ { dbs: "ins_srtcontrole_kosten", typ: "float", val: (srtcontrole_kosten == null? null : Math.round(srtcontrole_kosten * (1 + (pc_costs/100)) * 100) / 100),
track: L("ins_srtcontrole_kosten") + " (" + (Math.round(pc_costs * 100) / 100) + "%)" },
{ dbs: "ins_srtcontrole_kosten2", typ: "float", val: (srtcontrole_kosten2 == null? null : Math.round(srtcontrole_kosten2 * (1 + (pc_costs2/100)) * 100) / 100),
track: L("ins_srtcontrole_kosten2") + " (" + (Math.round(pc_costs2 * 100) / 100) + "%)" },
{ dbs: "ins_srtcontrole_kosten3", typ: "float", val: (srtcontrole_kosten3 == null? null : Math.round(srtcontrole_kosten3 * (1 + (pc_costs3/100)) * 100) / 100),
track: L("ins_srtcontrole_kosten3") + " (" + (Math.round(pc_costs3 * 100) / 100) + "%)" },
{ dbs: "ins_srtcontrole_materiaal", typ: "float", val: (srtcontrole_materiaal == null? null : Math.round(srtcontrole_materiaal * (1 + (pc_material/100)) * 100) / 100),
track: L("ins_srtcontrole_materiaal") + " (" + (Math.round(pc_material * 100) / 100) + "%)" }
];
var insUpd = buildTrackingUpdate("ins_srtcontrole", " ins_srtcontrole_key = " + srtcontrole_key, fields);
var err = Oracle.Execute(insUpd.sql, true);
if (err.friendlyMsg)
abort_with_warning(err.friendlyMsg);
if (insUpd && insUpd.trackarray.length)
shared.trackaction("#CTRSUP", srtcontrole_key, "Indexatie van de kosten" // TODO: Use L("lcl_ins_idexation_costs") in 2022.2.
+ "\n" + insUpd.trackarray.join("\n"));
}
oRs.MoveNext();
}
oRs.Close();
}
result.success = false;
result.toaster = L("lcl_mjb_price_change_completed");
Response.Write(JSON.stringify(result));
Response.End();

View File

@@ -54,10 +54,11 @@ var mjb_freeze_year = S("mjb_freeze_year");
var authparams = user.checkAutorisation("WEB_INSMGT");
var result = {key: "", pricechange: true };
var ingesloten = [];
// Bepaal de objecten in de selectie die
// ook echt gewijzigd kunnen of mogen worden.
if (pc_costs > 0 || pc_costs2 > 0 || pc_costs3 > 0 || pc_material > 0)
if (pc_costs != 0 || pc_costs2 != 0 || pc_costs3 != 0 || pc_material != 0)
{
var showempty = getFParamInt("showempty", 0) == 1; // Ook lege regels tonen.
var dist_key_arr = getFParamIntArray("dist_key_arr", []); // District array.
@@ -131,8 +132,6 @@ if (pc_costs > 0 || pc_costs2 > 0 || pc_costs3 > 0 || pc_material > 0)
var mjblist_sql = ins.getmjblist_sql(mjbparams);
// De mjblist_sql bevat nu alle objecten (ins_deel_key) van de aangevinkte regels uit het mjb overzicht en levert voor elk object de waarden voor de insert op.
var result = {key: "", success: true, pricechange: true };
var oRs = Oracle.Execute(mjblist_sql);
user.anything_todo_or_abort(!oRs.eof); // We klagen niet over enkele wel en enkele niet.
@@ -164,22 +163,22 @@ if (pc_costs > 0 || pc_costs2 > 0 || pc_costs3 > 0 || pc_material > 0)
+ " , xcp.ins_srtdeel_eenheid aanteh_val"
+ " , xcp.ins_srtcontrole_periode periode_val"
+ " , xcp.ins_srtcontrole_bits bits_val"
+ " , xcp.ins_srtcontrole_kosten"
+ " , ROUND(xcp.ins_srtcontrole_kosten"
+ (ins_xcp_active_cost & 1
? " * (1 + " + pc_costs + " / 100)"
: "") + " kosten1_val"
+ " , xcp.ins_srtcontrole_kosten2"
: "") + ", 2) kosten1_val"
+ " , ROUND(xcp.ins_srtcontrole_kosten2"
+ (ins_xcp_active_cost & 2
? " * (1 + " + pc_costs2 + " / 100)"
: "") + " kosten2_val"
+ " , xcp.ins_srtcontrole_kosten3"
: "") + ", 2) kosten2_val"
+ " , ROUND(xcp.ins_srtcontrole_kosten3"
+ (ins_xcp_active_cost & 4
? " * (1 + " + pc_costs3 + " / 100)"
: "") + " kosten3_val"
+ " , xcp.ins_srtcontrole_materiaal"
: "") + ", 2) kosten3_val"
+ " , ROUND(xcp.ins_srtcontrole_materiaal"
+ (ins_xcp_active_cost & 8
? " * (1 + " + pc_material + " / 100)"
: "") + " materiaal_val"
: "") + ", 2) materiaal_val"
+ " , xcp.ins_srtcontrole_uren uren_val"
+ " , xcp.ins_srtcontrole_percentage perc_val"
+ " , xcp.ins_srtcontrole_groep groep_val"
@@ -202,7 +201,7 @@ if (pc_costs > 0 || pc_costs2 > 0 || pc_costs3 > 0 || pc_material > 0)
// Alleen als er wat te veranderden is.
// Dan moet er bij de taak: 1) een bedrag bij de kosten ingevuld zijn en
// 2) een prijsverandering zijn ingevuld bij die kosten
if ((pc_costs > 0 && kosten1 > 0) || (pc_costs2 > 0 && kosten2 > 0) || (pc_costs3 > 0 && kosten3 > 0) || (pc_material > 0 && materiaal > 0))
if ((pc_costs != 0 && kosten1 > 0) || (pc_costs2 != 0 && kosten2 > 0) || (pc_costs3 != 0 && kosten3 > 0) || (pc_material != 0 && materiaal > 0))
{
var params = { xcp_key: xcp_key,
periode: oRs_val("periode_val").Value,
@@ -224,7 +223,7 @@ if (pc_costs > 0 || pc_costs2 > 0 || pc_costs3 > 0 || pc_material > 0)
scen_key: -1,
commit: false
};
var result = ins.saveXcp(ins_key, srtcont_key, params);
result = ins.saveXcp(ins_key, srtcont_key, params);
}
oRs_val.Close();
oRs.MoveNext();

View File

@@ -122,12 +122,13 @@ function process_info(data)
function pre_submit()
{
var bes_kenmerk_key = $("#id").val();
var discipline_key = $("#orderdiscipline").val();
var srtgroep_key = $("#orderarticlegroup").val();
var srtdeel_key = $("#orderarticle").val();
var add = $("#id").val() == -1;
var discipline_key = $("#orderdiscipline").val() || -1;
var srtgroep_key = $("#orderarticlegroup").val() || -1;
var srtdeel_key = $("#orderarticle").val() || -1;
if (bes_kenmerk_key)
// Na het toevoegen zijn de discipline, srtgroep en srtdeel niet meer aan te passen.
if (add)
{
if (srtdeel_key != -1)
{

View File

@@ -49,6 +49,20 @@ if (mode == "show")
break;
}
}
else if (mode == "list" || mode == "search")
{
this_model.fields.wgt_onpage_count = {
"dbs": "wgt_onpage_count",
"sql": "( SELECT COUNT (1)"
+ " FROM fac_widget_onpage op"
+ " WHERE op.fac_widget_key = fac_widget.fac_widget_key"
+ " GROUP BY op.fac_widget_page_key)",
"label": I("fa-tally"), // Todo; -> L("fac_widget_onpage_cnt")
"title": "Komt op zoveel widgetpagina's voor", // Todo; -> L("fac_widget_onpage_cnt_title")
"typ": "number",
"nosearch": true
}
}
this_model.hook_pre_post = pre_save;
this_model.hook_pre_put = pre_save;
@@ -99,6 +113,7 @@ var scf_params = {
"linkurl",
"public",
"refreshtime",
"wgt_onpage_count",
"created"
],
"orderby": [

View File

@@ -24,7 +24,7 @@ function suggest_widget_name()
// Ook gebruikt in /MGT/fac_widget_onpage.asp
function onChange_widget_type()
{
var widget_type = $("#type").val();
var widget_type = $("#type").val() || "WGT";
// Eerst allemaal tonen
$("tr").show();

View File

@@ -13,7 +13,7 @@ this_model.hook_pre_post = pre_save;
function pre_save(params, jsondata)
{
if (jsondata.type == "WGT")
if ((jsondata.type || "WGT") == "WGT")
{
this_model.REST_PUT = function (params, jsondata, key) { return { key: jsondata.widgets } };
this_model.REST_POST = function (params, jsondata, key) { return { key: jsondata.widgets } };

View File

@@ -161,20 +161,28 @@ var srtContKeyArray = [];
var mjbAantal;
function priceChangeCallback(json, taskdiscipline, objectdiscipline, objectgroup, objecttype)
{
if (json.costs > 0 || json.costs2 > 0 || json.costs3 > 0 || json.material > 0)
json.costs = json.costs || 0;
json.costs2 = json.costs2 || 0;
json.costs3 = json.costs3 || 0;
json.material = json.material || 0;
if (json.costs != 0 || json.costs2 != 0 || json.costs3 != 0 || json.material != 0)
{
var data = { ctrdisc_key: taskdiscipline,
disc_key: objectdiscipline,
srtgroup_key : objectgroup,
srtdeel_key: objecttype,
costs: json.costs || 0,
costs2: json.costs2 || 0,
costs3: json.costs3 || 0,
material: json.material || 0
costs: json.costs,
costs2: json.costs2,
costs3: json.costs3,
material: json.material
};
protectRequest.dataToken(data);
$.post("../ins/ins_srtcontrole_pc_save.asp", data, FcltCallbackRefresh, "json");
$.post("../ins/ins_srtcontrole_pc_save.asp",
data,
FcltCallbackRefresh,
"json");
}
}

View File

@@ -105,16 +105,13 @@ var frontend = (!fronto && !backo && !minfo);
var autfunction = '';
if (fronto)
autfunction = "WEB_MLDFOF";
autfunction = 'WEB_MLDFOF';
else if (minfo)
autfunction = "WEB_MLDBAC";
autfunction = 'WEB_MLDBAC';
else if (backo)
autfunction = "WEB_MLDBOF"; // twijfel - PF
autfunction = 'WEB_MLDBOF'; // twijfel - PF
else
autfunction = "WEB_MLDUSE";
if (cont && (fronto || backo))
autfunction = ["WEB_MLDFOF", "WEB_MLDBOF"];
autfunction = 'WEB_MLDUSE';
var authparams = user.checkAutorisation(autfunction); // Dit is nog ongeacht de melding

View File

@@ -585,7 +585,6 @@ var faq_info_timer;
function callback_faq_info(data)
{
window.faq_info = data;
if (data.popup_faq && !fromkb)
{
// Een vertraging om bij meerdere callbacks achter elkaar alleen de laatste uit te voeren.
@@ -597,11 +596,7 @@ function callback_faq_info(data)
function callback_faq_info_once()
{
var filledlevel = 1;
if (!!$("#locatie").val()) { filledlevel = 2; } // location has a value
if (!!$("#gebouw").val()) { filledlevel = 3; } // building has a value
if (!!$("#verdieping").val()) { filledlevel = 4; } // floor has a value
if (!!$("#ruimte").val()) { filledlevel = 5; } // room has a value
var filledlevel = findFilledLevel();
data = window.faq_info;
if (data.changed < 5 || requiredlevel <= filledlevel)
{
@@ -741,8 +736,8 @@ function onChangeMelder(perslid_key, txt)
if (mld_allow_for_others == 1) sgPersonFor.setValue(perslid_key, txt);
GetSetCallInfo(perslid_key);
}
if ($("span#stdm_show").length > 0 && $("input[name=mld_copy]").val() == "0") { // prevent loadKenmerk() from erasing values in case of copying
loadKenmerk(); // reload if standard call is readonly
if ($("input[name=mld_copy]").val() == "0" && $(".flexsql", "div.block-wrapper.flexblock").length > 0) { // prevent loadKenmerk() from erasing values
loadKenmerk(); // reload when not copying and there is a Sql statement involved
}
if ($("#stdm").val() > 0) // Als er geen melding (stdmelding) is geselecteerd dan kun je nog geen objecten bepalen.
@@ -999,6 +994,11 @@ function process_stdm_info(data, stdmChanged) // stdmChanged is optioneel.
window.requiredlevel = 5; // Required level van de plaatsselector aanpassen.
break;
}
// show faq when at least required level has a value
if (levelHasValue(window.requiredlevel))
{
onChangeAlg(findFilledLevel());
}
}
// Zet de discipline indien niet ingevuld. Voor frontend is id afhankelijk van de setting mld_selector_mode.
@@ -1194,6 +1194,25 @@ function onChangeVakgroep(vakgroep_key)
else if (vakgroep_key == -1)
toggleBehandelgroep({ "srtgroep": 0 });
}
function findFilledLevel()
{
var _level = 0;
if (!!$("#locatie").val()) { _level = 2; } // location has a value
if (!!$("#gebouw").val()) { _level = 3; } // building has a value
if (!!$("#verdieping").val()) { _level = 4; } // floor has a value
if (!!$("#ruimte").val()) { _level = 5; } // room has a value
return _level;
}
function levelHasValue(level)
{
switch (level) {
case 5: return $("#ruimtekey").val();
case 4: return $("#verdiepingkey").val();
case 3: return $("#gebouwkey").val();
case 2: return $("#locatiekey").val();
default: return undefined;
}
}
function onChangeStdMelding(stdmelding_key, txt, params)
{

View File

@@ -96,7 +96,7 @@ function mld_continue(rowArray, isMulti)
return;
var mldPrefix = mldData.mldPrefix;
var mldUrl = "appl/mld/mld_melding.asp?urole=" + urole + "&mld_key=" + mldKeyString + "&mld_continue=1";
var mldUrl = "appl/mld/mld_melding.asp?urole=fo&mld_key=" + mldKeyString + "&mld_continue=1";
FcltMgr.openDetail(mldUrl
, L("lcl_mld_continuation_mld") + (rowArray.length == 1
? mldPrefix + rowArray[0].getAttribute("ROWKEY")

View File

@@ -26,7 +26,7 @@
if (mld_key == -1) // dat is dus opdr_key > 0
{
var this_mld = mld.func_enabled_opdracht(opdr_key); // faalt wel als zelfs geen leesrechten
FCLT2XMLResponse({xmlnode: 'opdracht', key: opdr_key, company: bedrijf_key, mode: (share>0 ? 'SHARE' : null)});
FCLT2XMLResponse({xmlnode: 'opdracht', key: opdr_key, company: bedrijf_key, mode: (share>0 ? 'share' : null)});
if (share<0)
{
@@ -38,7 +38,7 @@
{
var this_mld = mld.func_enabled_melding(mld_key); // faalt wel als zelfs geen leesrechten
FCLT2XMLResponse({xmlnode: 'melding', key: mld_key, company: bedrijf_key, mode: (share>0 ? 'SHARE' : null)});
FCLT2XMLResponse({xmlnode: 'melding', key: mld_key, company: bedrijf_key, mode: (share>0 ? 'share' : null)});
if (share<0)
{
sql = "UPDATE mld_melding SET mld_melding_geprint = 1 WHERE mld_melding_geprint IS NULL AND mld_melding_key = " + mld_key;
@@ -46,4 +46,4 @@
}
}
%>
<% ASPPAGE_END(); %>
<% ASPPAGE_END(); %>

View File

@@ -30,7 +30,7 @@ user.auth_required_or_abort(this_mld.canReadAny);
function mld_continue()
{
FcltMgr.openDetail("appl/mld/mld_melding.asp?urole=" + urole + "&mld_key=" + mld_key + "&mld_continue=1", L("lcl_mld_continuation_mld"));
FcltMgr.openDetail("appl/mld/mld_melding.asp?urole=fo&mld_key=" + mld_key + "&mld_continue=1", L("lcl_mld_continuation_mld"));
}
</script>
@@ -99,4 +99,4 @@ user.auth_required_or_abort(this_mld.canReadAny);
%>
</body>
</html>
<% ASPPAGE_END(); %>
<% ASPPAGE_END(); %>

View File

@@ -483,38 +483,35 @@ function make_plan_obj_v2(disc_key, res_van, res_tot, params)
+ ", d.ins_deel_key"
+ ", NULL prs_perslid_key";
var select_bulkfields = "distinct "
+ "cnt.res_deel_key"
+ ", res_deel_opmerking"
+ ", " + lcl.xsql('r.res_deel_omschrijving', 'r.res_deel_key') + " || ' (' || cnt.total || ')'" + " res_deel_omschrijving"
+ ", r.res_deel_prijs"
+ ", r.res_deel_image"
+ ", " + lcl.xsqla('r.res_deel_eenheid', 'r.res_deel_key')
+ ", res_disc_params_preposttime"
+ ", 1 isbulk"
+ ", cnt.total"
+ ", sel.selected"
+ ", d.ins_alg_ruimte_key_org"
+ ", d.ins_discipline_key"
+ ", d.ins_deel_state"
+ ", cnt.ins_deel_key"
+ ", NULL prs_perslid_key";
var select_bulkfields = " distinct cnt.res_deel_key"
+ ", res_deel_opmerking"
+ ", " + lcl.xsql('r.res_deel_omschrijving', 'cnt.res_deel_key') + " || ' (' || cnt.total || ')'" + " res_deel_omschrijving"
+ ", r.res_deel_prijs"
+ ", r.res_deel_image"
+ ", " + lcl.xsqla('r.res_deel_eenheid', 'cnt.res_deel_key')
+ ", res_disc_params_preposttime"
+ ", 1 isbulk"
+ ", cnt.total"
+ ", sel.selected"
+ ", d.ins_alg_ruimte_key_org"
+ ", d.ins_discipline_key"
+ ", d.ins_deel_state"
+ ", cnt.ins_deel_key"
+ ", NULL prs_perslid_key";
var group_by = " GROUP BY "
+ " r.res_deel_key"
+ ", res_prs_perslid_key"
+ ", r.res_deel_opmerking"
+ ", r.res_deel_omschrijving"
+ ", r.res_deel_vervaldatum"
+ ", r.res_deel_prijs"
+ ", r.res_deel_image"
+ ", r.res_deel_eenheid"
+ ", res_disc_params_preposttime";
var group_by = " GROUP BY "
+ " r.res_deel_key"
+ ", res_prs_perslid_key"
+ ", r.res_deel_opmerking"
+ ", r.res_deel_omschrijving"
+ ", r.res_deel_vervaldatum"
+ ", r.res_deel_prijs"
+ ", r.res_deel_image"
+ ", r.res_deel_eenheid"
+ ", res_disc_params_preposttime";
var bulk_group_by;
if (params.isload)
bulk_group_by = " GROUP BY "
+ (params.personenmode ? " r.res_deel_key" : " cnt.res_deel_key")
var bulk_group_by = " GROUP BY "
+ (params.personenmode ? "r.res_deel_key" : "cnt.res_deel_key")
+ ", res_prs_perslid_key"
+ ", r.res_deel_opmerking"
+ ", r.res_deel_omschrijving"
@@ -531,13 +528,12 @@ function make_plan_obj_v2(disc_key, res_van, res_tot, params)
+ ", d.ins_deel_state"
+ ", d.ins_deel_key";
if (params.isload)
bulk_group_by += ", d.ins_alg_ruimte_key_org"
+ ", d.ins_discipline_key"
+ ", d.ins_deel_state"
+ ", cnt.ins_deel_key"
+ ", cnt.total"
+ ", sel.selected";
bulk_group_by += ", d.ins_alg_ruimte_key_org"
+ ", d.ins_discipline_key"
+ ", d.ins_deel_state"
+ ", cnt.ins_deel_key"
+ ", cnt.total"
+ ", sel.selected";
}
if (bulk_group_by)
@@ -554,7 +550,7 @@ function make_plan_obj_v2(disc_key, res_van, res_tot, params)
mld_opdr_key: params.mld_opdr_key,
personenmode: params.personenmode,
select_fields : select_fields,
select_bulkfields : (params.isload ? select_bulkfields : ""),
select_bulkfields : select_bulkfields,
reg_key : params.reg_key,
dist_key : params.dist_key,
loc_key : params.loc_key,

View File

@@ -835,7 +835,7 @@ function scf_LABELTR(fld, field, params)
if (field.labelvalue)
Response.Write('<tr><td>'+field.label+'</td><td>'+field.labelvalue+'</td></tr>');
else if (field.bits && field.bits[0].typ != "LOV" && !field.bits[0].label) // prevent extra line when first field.bits has no label
field.bits[0].label = field.label + ':'; // put label in the label of the first bit field
field.bits[0].label = field.label; // put label in the label of the first bit field
else
Response.Write('<tr><td colspan="2">'+field.label+'</td></tr>');
}

View File

@@ -520,6 +520,7 @@ function scaffolding_list(model, scf_params)
var coldata = { caption: field.orglabel? field.orglabel: field.label,
content: fld,
name: fldname,
title: field.title,
datatype: field.typ,
withSeconds: field.seconds,
total: field.total,

View File

@@ -5114,6 +5114,14 @@ li.mi {
background-color: transparent;
opacity: 1;
}
li.mi[data-value]::before {
content: attr(data-value);
display: block;
font-weight: bold;
height: 0px;
overflow: hidden;
visibility: hidden;
}
.menuDropdown li.mi {
color:==menuitemhovercolor== !important;
background-color:==menuitemhoverbackgroundcolor== !important;
@@ -5472,6 +5480,7 @@ td.bessrtdeelfoto {
.widget-type-mi .menuimg {
min-width: 100px;
max-width: 95%;
text-align: center;
}
.widget-type-mk span.menuimg li.mi,
#portalmenu span.menuimg li.mi {
@@ -5514,14 +5523,19 @@ td.bessrtdeelfoto {
width: auto;
max-width: none;
}
#portalmenu span.menuimg {
text-align: center;
}
}
.widget-type-mk .portalmenukop.withimg span.menuimg,
.widget-type-mi span.menuimg,
#portalmenu .portalmenukop.withimg span.menuimg {
float: none;
margin: auto;
padding-right: 0em;
padding-right: 0;
}
#portalmenu .portalmenukop.withimg span.menuimg {
line-height: normal;
}

View File

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

View File

@@ -1999,28 +1999,28 @@ END:VCALENDAR
<xsl:comment>Facilitor default XSL template for melding</xsl:comment>
<xsl:call-template name="htmlhead"/>
<xsl:element name="body">
<xsl:if test="$mode!='email' and $mode!='SHARE' ">
<xsl:if test="$mode!='email' and $mode!='share' ">
<xsl:attribute name="onload">window.print();</xsl:attribute>
</xsl:if>
<xsl:call-template name="pageheader"/>
<xsl:choose>
<xsl:when test="$mode = 'SHARE'">
<div>Melding <xsl:value-of select="discipline/srtdiscipline/prefix"/><xsl:value-of select="key"/> (<xsl:value-of select="stdmelding/omschrijving"/>)
<xsl:element name="a">
<xsl:attribute name="href">https://<xsl:value-of select="$FacilitorRoot"/>?<xsl:value-of select="../bookmarks/melding"/><xsl:value-of select="key"/></xsl:attribute>
<xsl:attribute name="target">_new</xsl:attribute>#<xsl:value-of select="key"/>
</xsl:element>
<xsl:if test="onderwerp != ''">&#160;<br/><span class="subj"><xsl:value-of select="onderwerp"/></span></xsl:if>
</div>
</xsl:when>
<xsl:when test="$srtnotificatiecode = 'MLDKTO'">
<xsl:apply-templates select="." mode="kto"/>
</xsl:when>
<xsl:when test="$mode = 'share'">
<div>Melding <xsl:value-of select="discipline/srtdiscipline/prefix"/><xsl:value-of select="key"/> (<xsl:value-of select="stdmelding/omschrijving"/>)
<xsl:element name="a">
<xsl:attribute name="href">https://<xsl:value-of select="$FacilitorRoot"/>?<xsl:value-of select="../bookmarks/melding"/><xsl:value-of select="key"/></xsl:attribute>
<xsl:attribute name="target">_new</xsl:attribute>#<xsl:value-of select="key"/>
</xsl:element>
<xsl:if test="onderwerp != ''">&#160;<br/><span class="subj"><xsl:value-of select="onderwerp"/></span></xsl:if>
</div>
</xsl:when>
<xsl:when test="$srtnotificatiecode = 'MLDKTO'">
<xsl:apply-templates select="." mode="kto"/>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="." mode="include"/>
</xsl:otherwise>
</xsl:choose>
<xsl:call-template name="pagefooter"/>
</xsl:otherwise>
</xsl:choose>
<xsl:call-template name="pagefooter"/>
</xsl:element>
</html>
</xsl:otherwise>
@@ -2302,25 +2302,25 @@ END:VCALENDAR
<xsl:comment>Facilitor default XSL template for opdracht</xsl:comment>
<xsl:call-template name="htmlhead"/>
<xsl:element name="body">
<xsl:if test="$mode!='email' and $mode!='SHARE'">
<xsl:if test="$mode!='email' and $mode!='share'">
<xsl:attribute name="onload">window.print();</xsl:attribute>
</xsl:if>
<xsl:choose>
<xsl:when test="$mode = 'SHARE'">
<div>Opdracht <xsl:value-of select="melding/discipline/srtdiscipline/prefix"/><xsl:value-of select="melding/key"/>/<xsl:value-of select="bedrijfopdr_volgnr"/> (<xsl:value-of select="melding/stdmelding/omschrijving"/>)
<xsl:element name="a">
<xsl:attribute name="href">https://<xsl:value-of select="$FacilitorRoot"/>?<xsl:value-of select="../bookmarks/opdracht"/><xsl:value-of select="key"/></xsl:attribute>
<xsl:attribute name="target">_new</xsl:attribute>#<xsl:value-of select="melding/key"/>/<xsl:value-of select="bedrijfopdr_volgnr"/>
</xsl:element>
<xsl:if test="onderwerp != ''">&#160;<br/><span class="subj"><xsl:value-of select="melding/onderwerp"/></span></xsl:if>
</div>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="pageheader"/>
<xsl:apply-templates select="." mode="include"/>
<xsl:call-template name="pagefooter"/>
</xsl:otherwise>
</xsl:choose>
<xsl:when test="$mode = 'share'">
<div>Opdracht <xsl:value-of select="melding/discipline/srtdiscipline/prefix"/><xsl:value-of select="melding/key"/>/<xsl:value-of select="bedrijfopdr_volgnr"/> (<xsl:value-of select="melding/stdmelding/omschrijving"/>)
<xsl:element name="a">
<xsl:attribute name="href">https://<xsl:value-of select="$FacilitorRoot"/>?<xsl:value-of select="../bookmarks/opdracht"/><xsl:value-of select="key"/></xsl:attribute>
<xsl:attribute name="target">_new</xsl:attribute>#<xsl:value-of select="melding/key"/>/<xsl:value-of select="bedrijfopdr_volgnr"/>
</xsl:element>
<xsl:if test="onderwerp != ''">&#160;<br/><span class="subj"><xsl:value-of select="melding/onderwerp"/></span></xsl:if>
</div>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="pageheader"/>
<xsl:apply-templates select="." mode="include"/>
<xsl:call-template name="pagefooter"/>
</xsl:otherwise>
</xsl:choose>
</xsl:element>
</html>
</xsl:otherwise>

View File

@@ -688,6 +688,7 @@ function kv2html(pfield, pparams)
+ '<span class="'
+ (pparams.addPreview ? 'labelextra details' : '')
+ (pfield.kkenmerktype == 'L' ? ' flexlabellabel' : '')
+ (pfield.isSqlExpr ? ' flexsql' : '')
+ (pfield.isExpression ? ' expression ' + (pfield.isShowExpr ? "flexshow" : "flexexpr") : '') + '">'
+ '<span title="' + safe.htmlattr(pfield.khint) + '">'
+ (pparams.addPreview ? '<span class="preview" id="p'+pfield.idCounter+'" title="'+L("lcl_flex_preview")+'">' + I("fa-image fa-lg") + '</span>' : '') + '</span>'
@@ -952,6 +953,7 @@ function kenmerktype_text (pfield, pprops, pparams)
+ " class='fldtxt fldflexC "
+ (pparams.flexExprIncluded ? " initTriggerChange " : "")
+ (pfield.required ? pparams.required_class : "")
+ (pfield.isSqlExpr ? ' flexsql' : '')
+ (pfield.isExpression? " expression " + (pfield.isShowExpr ? "flexshow" : "flexexpr") : "")
+ "'"
+ (pfield.required ? " required='required' " : "")
@@ -990,6 +992,7 @@ function kenmerktype_text (pfield, pprops, pparams)
+ " class='fld fldflexC "
+ (pparams.flexExprIncluded ? " initTriggerChange " : "")
+ (pfield.required ? pparams.required_class : "")
+ (pfield.isSqlExpr ? ' flexsql' : '')
+ (pfield.isExpression? " expression " + (pfield.isShowExpr ? "flexshow" : "flexexpr") : "")
+ "'"
+ (pfield.required ? " required='required' " : "")
@@ -1028,6 +1031,7 @@ function kenmerktype_listbox (pfield, pprops, pparams)
{
lkv = '<span class="fld fldflexR'
+ ((xmlnode && !pprops.mobile) ? ' details' : '')
+ (pfield.isSqlExpr ? ' flexsql' : '')
+ (pfield.isExpression? " expression " + (pfield.isShowExpr ? "flexshow" : "flexexpr") : "")
+ (inactiveval? ' inactive' : '')
+ '" type="text" readonly tabindex=-1'
@@ -1077,6 +1081,7 @@ function kenmerktype_listbox (pfield, pprops, pparams)
+ " class='fld fldflexR "
+ (pparams.flexExprIncluded ? " initTriggerChange " : "")
+ (pfield.required ? pparams.required_class : "")
+ (pfield.isSqlExpr ? ' flexsql' : '')
+ (pfield.isExpression? " expression " + (pfield.isShowExpr ? "flexshow" : "flexexpr") : "")
+ "'"
+ (pprops.kenmerk_search ? " advmulti=1 " : "")
@@ -1248,6 +1253,7 @@ function kenmerktype_suggest (pfield, pprops, pparams)
+ "name='Suggest" + pprops.nameprefix + pfield.idCounter + "_show' "
+ "value='" + safe.htmlattr(lkenmerkwaarde) + "' "
+ "class='fld fldflexS "
+ (pfield.isSqlExpr ? ' flexsql' : '')
+ (pfield.isExpression? "expression " + (pfield.isShowExpr ? "flexshow" : "flexexpr") : "")
+ (pparams.flexExprIncluded ? " initTriggerChange " : "")
+ (pfield.required ? pparams.required_class : "") + "'"
@@ -1287,6 +1293,7 @@ function kenmerktype_date (pfield, pprops, pparams, dpYearRanges)
lkv += " class='flddate " /* deze bepaalt ook dat er een dateselector op komt */
+ (pparams.flexExprIncluded ? " initTriggerChange " : "")
+ (pfield.required ? pparams.required_class : "")
+ (pfield.isSqlExpr ? ' flexsql' : '')
+ (pfield.isExpression? " expression " + (pfield.isShowExpr ? "flexshow" : "flexexpr") : "")
+ "'"
+ (pfield.required ? " required='required' " : "")
@@ -1355,6 +1362,7 @@ function kenmerktype_time (pfield, pprops, pparams)
+ " class='fldtime " /* deze bepaalt ook dat er een timeselector op komt */
+ (pparams.flexExprIncluded ? " initTriggerChange " : "")
+ (pfield.required ? pparams.required_class : "")
+ (pfield.isSqlExpr ? ' flexsql' : '')
+ (pfield.isExpression? " expression " + (pfield.isShowExpr ? "flexshow" : "flexexpr") : "")
+ "'"
+ (pfield.required ? " required='required' " : "")
@@ -1396,6 +1404,7 @@ function kenmerktype_checkbox (pfield, pprops, pparams)
lkv = "<input type='checkbox' class='fldshort "
+ (pparams.flexExprIncluded ? " initTriggerChange " : "")
+ (pfield.required ? pparams.required_class : "")
+ (pfield.isSqlExpr ? ' flexsql' : '')
+ (pfield.isExpression? " expression " + (pfield.isShowExpr ? "flexshow" : "flexexpr") : "")
+ "'"
+ " onChange='fvalid=checkKenmerk(this, false,\"" + pfield.kkenmerktype + "\"," + pfield.klengte + "," + pfield.kdec + "," + pfield.knmin + "," + pfield.knmax + ", " + (pprops.requiredbyemptyval != null? "{emptyvalue: " + pprops.requiredbyemptyval + "}" : "null") + ")"
@@ -1441,6 +1450,7 @@ function kenmerktype_number (pfield, pprops, pparams)
lkv += " class='fldshort "
+ (pfield.required ? pparams.required_class : "")
+ (pfield.kdec > 0 ? " float " : " number ")
+ (pfield.isSqlExpr ? ' flexsql' : '')
+ (pfield.isExpression? " expression " + (pfield.isShowExpr ? "flexshow" : "flexexpr") : "")
+ (pparams.flexExprIncluded ? " initTriggerChange " : "") // add iniTriggerChange for Date field later
+ "'"
@@ -1726,6 +1736,7 @@ function kenmerktype_bijlage (pfield, pprops, pparams)
+ (pfield.readonlyfield ? " readonly tabindex=-1 " : " id='" + fld + "' name='" + fld + "' ")
+ "class='fld fldflexF "
+ (missing ? " missing " : " details ")
+ (pfield.isSqlExpr ? ' flexsql' : '')
+ (pfield.isExpression? " expression " + (pfield.isShowExpr ? "flexshow" : "flexexpr") : "")
+ "'"
+ (pfield.required ? " required='required' " : "")
@@ -1779,6 +1790,7 @@ function kenmerktype_bijlage (pfield, pprops, pparams)
lkv += "<input type='button' "
+ (pprops.mobile? "data-icon='fa fa-file' " : "")
+ "class='bijlage1 button "
+ (pfield.isSqlExpr ? ' flexsql' : '')
+ (pfield.isExpression? " expression " + (pfield.isShowExpr ? "flexshow" : "flexexpr") : "")
+ (pfield.required? pparams.required_class : "") + "' "
+ "isBijlage='1' nBijlagen='"+(flexfilenaam?1:0)+"' "
@@ -2173,6 +2185,7 @@ function listKenmerk(sql, module, pkey, props)
thisfield.isExpression = false;
thisfield.isReadonly = false;
thisfield.isShowExpr = false;
thisfield.isSqlExpr = false;
//ExpressionClass= (params.isShowExpr ? "flexshow" : "flexexpr")
addPreview = false;
@@ -2188,6 +2201,7 @@ function listKenmerk(sql, module, pkey, props)
thisfield.isExpression = (thisfield.kdefault && thisfield.kdefault.match('##EXPR##') != null);
if (thisfield.isExpression)
thisfield.isReadonly = true;
thisfield.isSqlExpr = (thisfield.kdefault && thisfield.kdefault.match('##SQL##') != null);
thisfield.isShowExpr = (thisfield.kshow_expr && thisfield.kshow_expr.match('##SHOW##') != null);
if (thisfield.isShowExpr)
thisfield.isExpression = true;