Merge 2015.2 Gold C/D changes
svn path=/Website/trunk/; revision=26827
This commit is contained in:
@@ -128,7 +128,7 @@ if (action) // Bijv "fac.processemail" of "uwva.closeorder-sample"
|
||||
}
|
||||
sql = "BEGIN " + action + " (" + safe.quoted_sql(fromAddr) + ","
|
||||
+ safe.quoted_sql(toAddr) + ","
|
||||
+ safe.quoted_sql(Subject) + ","
|
||||
+ safe.quoted_sql(Subject || "<geen onderwerp>") + "," // de actions kunnen slecht tegen lege subject
|
||||
+ safe.quoted_sql(v_body) + ","
|
||||
+ safe.quoted_sql(psession_id) + ","
|
||||
+ user_key + ");"
|
||||
|
||||
@@ -50,7 +50,8 @@ if ("MLDremark" in API.apidata.options)
|
||||
if ("ORDremark" in API.apidata.options)
|
||||
ORDremark = API.apidata.options["ORDremark"];
|
||||
|
||||
Session("logging") = API.apidata.loglevel||0;
|
||||
if (API.apidata.loglevel > 1) // Zet maar op 3 als je HTML logging wilt
|
||||
Session("logging") = API.apidata.loglevel||0;
|
||||
|
||||
//user.checkAutorisation("WEB_MLDUSE"); // Dit is nog ongeacht de melding.
|
||||
|
||||
|
||||
@@ -51,7 +51,6 @@ model_approvals =
|
||||
getopen: inArray("o", statussen),
|
||||
getclosed: inArray("c", statussen),
|
||||
getrejected: inArray("r", statussen)}
|
||||
__DoLog(fparams);
|
||||
var sql = fiattering_sql(fparams);
|
||||
var json = api2.sql2json (params, sql, model_approvals);
|
||||
return json;
|
||||
|
||||
@@ -540,7 +540,7 @@ function model_orders(opdr_key, params)
|
||||
opdr_handfiat: voluntaryApproval};
|
||||
var approver = mld.getFirstApprover(mld_info, mld_opdr);
|
||||
approver_key = approver.approver_key;
|
||||
for_approval = approver.fiat;
|
||||
for_approval = approver.for_approval;
|
||||
}
|
||||
|
||||
if (for_approval && kp_fiat)
|
||||
|
||||
@@ -117,7 +117,7 @@ function model_reportcolumns(usrrap_key, params)
|
||||
if (i != -1)
|
||||
view_name_short = view_name_short.substring(i+1);
|
||||
|
||||
var sql = "SELECT object_name, object_type, last_ddl_time"
|
||||
var sql = "SELECT object_name, object_type, last_ddl_time, status"
|
||||
+ " FROM user_objects"
|
||||
+ " WHERE "
|
||||
+ (user.oslogin() == "_FACILITOR" ? "object_type IN ('VIEW', 'TABLE')" : " object_type = 'VIEW'")
|
||||
@@ -125,6 +125,20 @@ function model_reportcolumns(usrrap_key, params)
|
||||
var oRs = Oracle.Execute(sql);
|
||||
if (oRs.Eof)
|
||||
abort_with_warning("Unable to determine columns for report view '{0}'!".format(view_name_short));
|
||||
|
||||
if (oRs("status").Value != 'VALID') // Gebeurt nog wel eens na een dump-refresh
|
||||
{
|
||||
if (oRs("object_type").Value == 'VIEW')
|
||||
{
|
||||
__DoLog("Auto compile invalid {0}".format(view_name_short));
|
||||
Oracle.Execute("ALTER VIEW {0} COMPILE".format(view_name_short));
|
||||
oRs.Close();
|
||||
var oRs = Oracle.Execute(sql); // Tweede poging
|
||||
}
|
||||
}
|
||||
if (oRs("status").Value != 'VALID')
|
||||
abort_with_warning("Report view '{0}' is INVALID!".format(view_name_short));
|
||||
|
||||
var view_ddl_time = new Date(oRs("last_ddl_time").Value);
|
||||
oRs.Close();
|
||||
var mustRefresh = (oldcols.length == 0 || !lastrefresh || view_ddl_time > lastrefresh);
|
||||
|
||||
@@ -112,6 +112,11 @@ function model_reportsx(usrrap_key, rapparams)
|
||||
__Log(new_model);
|
||||
};
|
||||
|
||||
this.hook_pre_edit = function (obj)
|
||||
{
|
||||
this.fields.styling.LOV = api2.filterLOV(L("lcl_usrrap_stylingLOV"), "0,1,2,3,8,16"); // De meesten mogen L(ike) niet
|
||||
};
|
||||
|
||||
this.REST_GET = function _reportsx_GET(params, jsondata)
|
||||
{
|
||||
var query = api2.sqlfields(params, this);
|
||||
|
||||
@@ -111,10 +111,6 @@ cnt = { setcontractstatus:
|
||||
// Daarvoor hebben we de locatie van de contracten nodig.
|
||||
var sql_cntloc = cnt.getCntLocationsSql();
|
||||
|
||||
var ALGwritelevel = 9;
|
||||
var authparams = user.checkAutorisation(functie_code, true);
|
||||
if (authparams)
|
||||
var ALGwritelevel = authparams.ALGwritelevel;
|
||||
|
||||
// Bepaal de fiatteurs.
|
||||
// De functiekey apart bepalen is 15x sneller
|
||||
@@ -122,23 +118,30 @@ cnt = { setcontractstatus:
|
||||
oRs = Oracle.Execute(sql);
|
||||
var functie_key = oRs("fac_functie_key").Value;
|
||||
|
||||
// De ALGwritelevel (niveau) van de te bepalen goedkeurders weet ik niet.
|
||||
// Dat moet dus in de query zelf opgevraagd worden.
|
||||
var AlGwritelevel_GOE = "SELECT COALESCE (MIN (fac_gebruiker_alg_level_write), 9) awrite"
|
||||
+ " FROM fac_v_webgebruiker w"
|
||||
+ " WHERE w.prs_perslid_key = g.prs_perslid_key"
|
||||
+ " AND w.fac_functie_key IN (" + functie_key + ")";
|
||||
|
||||
sql = "SELECT DISTINCT g.prs_perslid_key"
|
||||
+ " FROM fac_functie f"
|
||||
+ " , fac_v_webgebruiker g"
|
||||
+ " , cnt_contract c"
|
||||
+ (ALGwritelevel >= 0
|
||||
? " , (" + sql_cntloc + ") cntloc"
|
||||
: "")
|
||||
+ " , (" + sql_cntloc + ") cntloc"
|
||||
+ " WHERE g.fac_functie_key = " + functie_key
|
||||
+ " AND g.ins_discipline_key = c.ins_discipline_key"
|
||||
+ " AND c.cnt_contract_key = " + cnt_key
|
||||
+ (ALGwritelevel >= 0
|
||||
? " AND c.cnt_contract_key = cntloc.cnt_contract_key(+)"
|
||||
+ " AND (cntloc.alg_locatie_key IN (SELECT alg_locatie_key FROM fac_v_my_locations"
|
||||
+ " WHERE prs_perslid_key = g.prs_perslid_key"
|
||||
+ " AND niveau = 2)" // locatie
|
||||
+ " OR cntloc.alg_locatie_key IS NULL)" // Op contracten zonder locatie(s) heeft iedereen rechten.
|
||||
: "");
|
||||
+ " AND c.cnt_contract_key = cntloc.cnt_contract_key(+)"
|
||||
// Als AlGwritelevel_GOE > -1 is dan moet de contract locatie(s) binnen de locatie scope van de goedkeurders zitten.
|
||||
+ " AND (cntloc.alg_locatie_key IN (SELECT alg_locatie_key FROM fac_v_my_locations"
|
||||
+ " WHERE prs_perslid_key = g.prs_perslid_key"
|
||||
+ " AND niveau = (" + AlGwritelevel_GOE + "))"
|
||||
// Op contracten zonder locatie(s) heeft iedereen rechten.
|
||||
+ " OR cntloc.alg_locatie_key IS NULL"
|
||||
// Heeft een goedkeurder alle CNTGOX rechten dan hoef je niet naar locatie(s) te kijken.
|
||||
+ " OR (" + AlGwritelevel_GOE + ") = -1)";
|
||||
oRs = Oracle.Execute(sql);
|
||||
while(!oRs.eof)
|
||||
{
|
||||
|
||||
@@ -49,14 +49,45 @@ FCLTHeader.Requires({ plugins: ["jQuery"] });
|
||||
<script>
|
||||
var sd = <%=JSON.stringify(xd.SecundaryDomains)%>;
|
||||
|
||||
// Vergelijk fac_fiattering_list.asp/fac_edit()
|
||||
function xd_edit(row)
|
||||
{
|
||||
$(row).addClass('dirty');
|
||||
var lKey = row.getAttribute("ROWKEY");
|
||||
var lData = eval("(" + row.getAttribute("ROWDATA") + ")");
|
||||
var module = lData.module;
|
||||
var name = $(row).find("span.xdcustname").text()||"";
|
||||
url = sd[lData.custid].deeplinkurl +"appl/mld/mld_melding.asp?mld_key=" + lKey + "<%=S("xd_add2deeplinkurl")%>";
|
||||
FcltMgr.openDetail(url, { reuse: true, titel: name });
|
||||
|
||||
// We geven urole=fe mee omdat dat de lading het best dekt
|
||||
switch (module)
|
||||
{
|
||||
case "BES":
|
||||
{
|
||||
url = sd[lData.custid].deeplinkurl + "appl/bes/bes_bestelling.asp?urole=fe&bes_key=" + lKey;
|
||||
break;
|
||||
}
|
||||
case "CNT":
|
||||
{
|
||||
url = sd[lData.custid].deeplinkurl + "appl/cnt/cnt_contract.asp?urole=fe&cnt_key=" + lKey;
|
||||
break;
|
||||
}
|
||||
case "MLD":
|
||||
case "GOED":
|
||||
case "OFFERTE":
|
||||
{
|
||||
url = sd[lData.custid].deeplinkurl + "appl/mld/mld_opdr.asp?opdr_key=" + lKey;
|
||||
break;
|
||||
}
|
||||
case "FIN":
|
||||
case "FIN2":
|
||||
{
|
||||
url = sd[lData.custid].deeplinkurl + "appl/fin/fin_factuur.asp?fin_key=" + lKey;
|
||||
break;
|
||||
}
|
||||
default: INTERNAL_ERROR;
|
||||
}
|
||||
|
||||
FcltMgr.openDetail(url + "<%=S("xd_add2deeplinkurl")%>", { reuse: true, titel: name });
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
@@ -119,6 +150,13 @@ for(var cid in gottenitems){ // per omgeving
|
||||
}
|
||||
dataset.sort(function (a, b) { return (a.sortdate <= b.sortdate? -1: 1) });
|
||||
|
||||
function fnRowData(oRs)
|
||||
{
|
||||
var data = { custid: oRs.Fields("custid").Value,
|
||||
module: oRs.Fields("module").Value };
|
||||
return JSON.stringify(data);
|
||||
}
|
||||
|
||||
function fncolBesNr(oRs)
|
||||
{ // Eigenlijk wil je een markering bij de parent, niet bij het child TODO
|
||||
if (oRs.Fields("module").Value != "BES")
|
||||
@@ -187,7 +225,7 @@ dataset.sort(function (a, b) { return (a.sortdate <= b.sortdate? -1: 1) });
|
||||
var rst = new ResultsetTable({keyColumn: "id",
|
||||
ID: "multi-approve-table",
|
||||
dataset: dataset,
|
||||
rowData: xd.fnRowData,
|
||||
rowData: fnRowData,
|
||||
outputmode: outputmode,
|
||||
//filterParams: params,
|
||||
showAll: showall,
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
<rules>
|
||||
<clear />
|
||||
<rule name="Versienummer">
|
||||
<match url="appl/fac/fac_verify.asp" />
|
||||
<action type="Rewrite" url="appl/fac/fac_verify.asp?rewriterversion=1.00" />
|
||||
|
||||
@@ -810,7 +810,7 @@ var FcltMgr =
|
||||
// Ietwat getruct alleen voor result-sets, anders willen gewone schermen
|
||||
// niet altijd goed resizen van klein naar groot.
|
||||
// 1 pixel extra marge voor IE-bug FSN#32255
|
||||
if (frmcontent.width() > $elm_iframe.width() + 1&& elm_iframe.parentElement.id == "result")
|
||||
if (frmcontent.width() > $elm_iframe.width() + 1 && elm_iframe.parentElement.id == "result")
|
||||
{
|
||||
widthToo = true;
|
||||
}
|
||||
@@ -846,7 +846,8 @@ var FcltMgr =
|
||||
elm_iframe.parentElement && elm_iframe.parentElement.id == 'result' &&
|
||||
!frmcontent[0].URL.match("empty\.(asp|html)") &&
|
||||
!$elm_iframe.attr("skipautoscroll") &&
|
||||
!largerOnly)
|
||||
!largerOnly &&
|
||||
$('#result').offset())
|
||||
{
|
||||
//window.location.hash = "result";
|
||||
$('html, body').animate({
|
||||
|
||||
@@ -468,7 +468,8 @@ function GetSetCallInfo(perslid_key)
|
||||
//changeDisciplineList(); // Mogelijk zijn niet alle disciplines toegestaan
|
||||
// Persoon is aangepast. Aangezien stdmelding afhankelijk is voor de persoon, kijken of de huidige waarde nog mag
|
||||
// setValue(key, txt, doonChange, checkExist, extraParam, lastTry);
|
||||
sgStdm.setValue(sgStdm.getValue(), $("#stdm_show").val(), true, true, null, true);
|
||||
if (window.sgStdm)
|
||||
sgStdm.setValue(sgStdm.getValue(), $("#stdm_show").val(), true, true, null, true);
|
||||
}
|
||||
|
||||
if (perslid_key > 0)
|
||||
@@ -527,7 +528,7 @@ function process_stdm_info(data, stdmChanged) // stdmChanged is optioneel.
|
||||
if (data.fixed_faq.length > 0)
|
||||
{
|
||||
var $tbl = $("#mldFaq").find("table");
|
||||
$tbl.empty().append(data.fixed_faq);
|
||||
$tbl.empty();
|
||||
for (var i = 0; i < data.fixed_faq.length; i++)
|
||||
{
|
||||
var safequestion = $("<span>").text(data.fixed_faq[i].question).html().replace(/\n/g, "<br>");
|
||||
|
||||
@@ -281,7 +281,7 @@ for (var u = 0; u < uitvkeyArray.length; u++)
|
||||
opdr_handfiat: voluntaryApproval};
|
||||
var approver = mld.getFirstApprover(mld_info, mld_opdr);
|
||||
approver_key = approver.approver_key;
|
||||
for_approval = approver.fiat;
|
||||
for_approval = approver.for_approval;
|
||||
}
|
||||
|
||||
if (for_approval && kp_fiat)
|
||||
|
||||
@@ -154,25 +154,26 @@ var tracking = getQParamInt("tracking", 1) == 1; // tracking erbij tonen? Onderd
|
||||
+ " WHERE n.prs_perslid_key = pf.prs_perslid_key (+)"
|
||||
+ " AND n.mld_melding_key = " + mld_key
|
||||
+ (mfe.haveOnlyFErights? " AND mld_melding_note_flag = 1" : "");
|
||||
var sqls = [sql];
|
||||
|
||||
if (S("mld_merge_notes_and_tracking") == 1 && tracking) // tracking info erbij?
|
||||
{
|
||||
var sql11 = "SELECT tr.fac_tracking_datum"
|
||||
+ " , tr.fac_tracking_key"
|
||||
+ " , tr.prs_perslid_key"
|
||||
+ " , pf.prs_perslid_naam_friendly"
|
||||
+ " , tr.fac_tracking_oms"
|
||||
+ " , NULL mld_melding_note_flag"
|
||||
+ " , str.fac_srtnotificatie_code"
|
||||
+ " FROM fac_tracking tr, fac_srtnotificatie str, prs_v_perslid_fullnames_all pf"
|
||||
+ " WHERE tr.fac_srtnotificatie_key = str.fac_srtnotificatie_key"
|
||||
+ " AND tr.prs_perslid_key = pf.prs_perslid_key (+)"
|
||||
+ " AND str.fac_srtnotificatie_code <> 'MLDNOT'" // beetje dubbelop
|
||||
+ " AND (tr.fac_tracking_refkey = " + mld_key + " AND str.fac_srtnotificatie_xmlnode IN ('melding'))";
|
||||
|
||||
sql= "SELECT * FROM ("+ sql + " UNION " + sql11 + ") ORDER BY 1 DESC";
|
||||
var sql = "SELECT tr.fac_tracking_datum"
|
||||
+ " , tr.fac_tracking_key"
|
||||
+ " , tr.prs_perslid_key"
|
||||
+ " , pf.prs_perslid_naam_friendly"
|
||||
+ " , tr.fac_tracking_oms"
|
||||
+ " , NULL mld_melding_note_flag"
|
||||
+ " , str.fac_srtnotificatie_code"
|
||||
+ " FROM fac_tracking tr, fac_srtnotificatie str, prs_v_perslid_fullnames_all pf"
|
||||
+ " WHERE tr.fac_srtnotificatie_key = str.fac_srtnotificatie_key"
|
||||
+ " AND tr.prs_perslid_key = pf.prs_perslid_key (+)"
|
||||
+ " AND str.fac_srtnotificatie_code <> 'MLDNOT'" // beetje dubbelop
|
||||
+ " AND (tr.fac_tracking_refkey = " + mld_key + " AND str.fac_srtnotificatie_xmlnode IN ('melding'))";
|
||||
sqls.push(sql)
|
||||
}
|
||||
|
||||
sql = "SELECT * FROM ("+ sqls.join(" UNION ") + ") ORDER BY 1"
|
||||
+ (S("mld_note_sort_ascending") == 0 ? " DESC " : "")
|
||||
}
|
||||
else
|
||||
{ // Geen mld_key dus kom vanuit het menu.
|
||||
|
||||
@@ -96,13 +96,13 @@
|
||||
+ " AND gr.niveau = " + authparams.ALGreadlevel + ")";
|
||||
}
|
||||
|
||||
if (gebouw_key > -1) {
|
||||
if (gebouw_key > -1 && S("vis_afspraak_onrgoed_uses_keys") == 1) {
|
||||
sql += " AND (l.alg_locatie_key IS NULL OR v.alg_gebouw_key = " + gebouw_key +")";
|
||||
}
|
||||
if (locatie_key > -1) {
|
||||
sql += " AND (l.alg_locatie_key IS NULL OR l.alg_locatie_key = " + locatie_key +")";
|
||||
}
|
||||
if (verdieping_key > -1) {
|
||||
if (verdieping_key > -1 && S("vis_afspraak_onrgoed_uses_keys") == 1) {
|
||||
sql += " AND (l.alg_locatie_key IS NULL OR v.alg_verdieping_key = " + verdieping_key +")";
|
||||
}
|
||||
sql += " ORDER BY bez_afspraak_datum, bez_afspraak_naam";
|
||||
|
||||
@@ -73,6 +73,8 @@ var verdieping_key = getQParamInt("verdieping_key", user.alg_verdieping_key({wit
|
||||
if (exhandler)
|
||||
{
|
||||
listmode = 1;
|
||||
// Autorisatie (WEB_ORDBO2: Om alleen eigen opdrachten te kunnen afmelden) hierin toch meenemen. Mocht je alles willen zien dan kan je hier de autorisatie altijd op aanpassen.
|
||||
autfunction = ["WEB_ORDBO2"];
|
||||
}
|
||||
else
|
||||
{ // b. heb ik dan opdrachtrechten binnen een scope, dat is ORDBOF of ORDBO2? Dan mag ik opdrachten binnen de scope zien.
|
||||
@@ -209,8 +211,8 @@ var verdieping_key = getQParamInt("verdieping_key", user.alg_verdieping_key({wit
|
||||
+ " )";
|
||||
|
||||
var sqlA = "";
|
||||
if ((listmode == 1) || (listmode == 4))
|
||||
sqlA = sql; // Voor listmode 1 geen autorisatie check nodig. Mag opdrachten van mijn eigen bedrijf zien.
|
||||
if (listmode == 4)
|
||||
sqlA = sql;
|
||||
else
|
||||
{ // pautfunction is nu altijd een Array met webfuncties
|
||||
for (var ii = 0; ii < autfunction.length; ii++)
|
||||
|
||||
@@ -53,8 +53,8 @@ var sql = "SELECT rr.res_reservering_key"
|
||||
+ " FROM res_rsv_ruimte rr"
|
||||
+ " , res_ruimte_opstelling ro"
|
||||
+ " , res_ruimte r"
|
||||
+ " WHERE rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key"
|
||||
+ " AND ro.res_ruimte_key = r.res_ruimte_key"
|
||||
+ " WHERE rr.res_ruimte_opstel_key = ro.res_ruimte_opstel_key(+)"
|
||||
+ " AND ro.res_ruimte_key = r.res_ruimte_key(+)"
|
||||
+ " AND rr.res_rsv_ruimte_key = " + rsv_ruimte_key;
|
||||
oRs = Oracle.Execute(sql);
|
||||
var resnum = oRs("res_reservering_key").value + "/" + oRs("res_rsv_ruimte_volgnr").value;
|
||||
|
||||
@@ -104,7 +104,7 @@ var shared = {
|
||||
// (Anders zou er waarschijnlijk een Ajax Error optreden)
|
||||
simpel_page: function(bodyhtml)
|
||||
{
|
||||
if (typeof mobile == "boolean" && mobile)
|
||||
if (typeof mobile == "object" && 'simpel_page' in mobile)
|
||||
mobile.simpel_page(bodyhtml);
|
||||
else
|
||||
if (typeof DOCTYPE_Disable == "undefined" || typeof JSON == "undefined")
|
||||
|
||||
@@ -69,9 +69,11 @@ div.leftcontainer,
|
||||
#finRefInfo,
|
||||
#finFlex,
|
||||
#insGeo,
|
||||
#kpnGrp,
|
||||
#menuCust,
|
||||
#mldFlex,
|
||||
#mldInfo,
|
||||
#mldFaq,
|
||||
#mldIns,
|
||||
#mldObjD,
|
||||
#mldOverig,
|
||||
|
||||
@@ -86,7 +86,7 @@ checkUserAgent(); // heeft device capability bits gezet
|
||||
<div id="logindiv">
|
||||
<table id="logintable">
|
||||
<tr><td class="label" colspan="2"><label><%=L("lcl_vis_log_name")%></label></td></tr>
|
||||
<tr><td><input class="required" type="text" maxlength="30" id="visname" name="vis_name"></td>
|
||||
<tr><td><input class="required" type="text" maxlength="100" id="visname" name="vis_name"></td>
|
||||
<td id="mobkey"><%
|
||||
if (S("mobile_password") == 1
|
||||
|| (S("mobile_password_pda") == 1 && device.test(device.isMobile))
|
||||
|
||||
@@ -129,7 +129,7 @@
|
||||
|
||||
if (!importres.success)
|
||||
{
|
||||
__Log(res.warning);
|
||||
__Log(importres.warning);
|
||||
WScript.Quit(); // Hopelijk is de file al wel weg
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user