586 lines
26 KiB
Plaintext
586 lines
26 KiB
Plaintext
<%@ language = "JavaScript" %>
|
||
<%
|
||
/*
|
||
$Revision$
|
||
$Id$
|
||
|
||
File: fac_fiattering_list.asp
|
||
Description: Overzicht fiatteringsverzoeken
|
||
Parameters:
|
||
Context: Vanuit fac_fiattering_search.asp
|
||
Requires: WEB_ORDOAP autorisatie
|
||
|
||
Ik moet fiatteren als:
|
||
BES) bes_bestelling_status == 2 AND
|
||
A1) bes_bestelling_fiat_user IS NULL AND
|
||
ik ben NVL(kostenplaatsverantwoordelijke, kostenplaatsgroepverantwoordelijke)
|
||
A2) of: bes_bestelling_fiat_user IS NOT NULL AND
|
||
ik ben de kostenplaatsgroepverantwoordelijke of
|
||
CNT) cnt_contract_status == 3 AND
|
||
A1) Ik heb WEB_CNTGO1 rechten AND
|
||
cnt_info.kosten > S("cnt_contract_limit1") AND // Zijn de kosten hoger als de limiet
|
||
cnt_info.approved <= S("cnt_contract_limit1") // Welke goedkeur? 1, 2 of 3?
|
||
A2) Ik heb CNTGO2 rechten AND
|
||
cnt_info.kosten > S("cnt_contract_limit2") AND
|
||
cnt_info.approved <= S("cnt_contract_limit2")
|
||
cnt_info.approved > S("cnt_contract_limit1") // Eerste goedkeuring is geweest
|
||
A3) Ik heb CNTGO3 rechten AND
|
||
cnt_info.kosten > S("cnt_contract_limit3") AND
|
||
cnt_info.approved <= S("cnt_contract_limit3")
|
||
cnt_info.approved > S("cnt_contract_limit2") // Tweede goedkeuring is geweest
|
||
A4) Ik heb CNTGO4 rechten AND
|
||
cnt_info.kosten > S("cnt_contract_limit4") AND
|
||
cnt_info.approved <= S("cnt_contract_limit4")
|
||
cnt_info.approved > S("cnt_contract_limit3") // Derde goedkeuring is geweest
|
||
A5) Ik heb CNTGO5 rechten AND
|
||
cnt_info.kosten > S("cnt_contract_limit5") AND
|
||
cnt_info.approved <= S("cnt_contract_limit5")
|
||
cnt_info.approved > S("cnt_contract_limit4")
|
||
MLD) Fiatteren opdracht) mld_statusopdr_key == 3 AND
|
||
A1) fac.gettrackinguserkey('ORDFOK', op.mld_opdr_key) IS NULL AND
|
||
ik ben NVL(kostenplaatsverantwoordelijke, kostenplaatsgroepverantwoordelijke)
|
||
A2) of: fac.gettrackinguserkey('ORDFOK', op.mld_opdr_key) IS NOT NULL AND
|
||
ik ben de kostenplaatsgroepverantwoordelijke
|
||
Goedkeuren opdracht) mld_statusopdr_key == 10 AND (Eisen GOE t/m GO5) AND (PRS/ALG rechten) AND ...
|
||
Accepten Opdracht) mld_statusopdr_key == 6 AND (aantal opdrachten IS NULL OR offerte is later als laatste opdracht)
|
||
FIN) Fiatteren) fin_factuur_statuses_key == 2 AND (ik ben budgethouder van de BrOC-kostenplaats (in collegakeylist) OR
|
||
ik heb write rechten op de locatie van het afleveradres (in collegakeylist) OR
|
||
ik heb write rechten op de plaats van de bijbehorende melding (in collegakeylist) OR
|
||
ik ben contracteigenaar (in collegakeylist))
|
||
Goedkeuren) fin_factuur_statuses_key == 5 AND prs_perslid_key_goedkeur in Collegakeylist (AND S("fin_enable_goedkeuren") != 0 geldt al omdat anders de status niet "Ter goedkeuring(5)" kan zijn)
|
||
Ik heb gefiatteerd of afgewezen als er tracking is geweest
|
||
BES) gefiateerd: 'BESFIT' (kostenplaatsverantwoordelijke) of 'BESACP'" (kostenplaatsgroepverantwoordelijke)
|
||
afgewezen: 'BESREJ'
|
||
CNT) gefiateerd: 'CNTFIT'
|
||
afgewezen: 'CNTREJ'
|
||
MLD) gefiateerd: 'ORDFOK'
|
||
afgewezen: 'ORDREJ'
|
||
FIN) gefiateerd: 'FINGOE'
|
||
afgewezen bij fiatteren: 'FINFNO'
|
||
goedgekeurd: 'FINFOK'
|
||
afgewezen bij goedkeuren: 'FINGNO'
|
||
|
||
*/
|
||
%>
|
||
|
||
<!-- #include file="../Shared/common.inc" -->
|
||
<!-- #include file="../Shared/status.inc" -->
|
||
<!-- #include file="../Shared/resultset_table_v2.inc" -->
|
||
<!-- #include file="../Shared/json2.js" -->
|
||
<!-- #include file="../BES/bes.inc" -->
|
||
<!-- #include file="../CNT/cnt.inc" -->
|
||
<!-- #include file="fac.inc" -->
|
||
<!-- #include file="../MLD/mld.inc" -->
|
||
<!-- #include file="../FAC/fac_fiattering_list.inc" -->
|
||
<!-- #include file="../FIN/fin.inc" -->
|
||
|
||
<%
|
||
var prsKeys = "" + user_key;
|
||
var outputmode = getQParamInt("outputmode", 0); // 0 = screen, 1 = print, 2 = excel etc
|
||
var showall = getQParamInt("showall", 0) == 1;
|
||
var getOpen = getQParamInt("open", 0) == 1;
|
||
var getClosed = getQParamInt("close", 0) == 1;
|
||
var getRejected = getQParamInt("reject", 0) == 1;
|
||
var opdrtype_key = getQParamInt("opdrtype_key", -1); // Opdrachttype
|
||
var dis_key = getQParamInt("districtkey", -1); // District
|
||
var loc_key = getQParamInt("locatiekey", -1); // Locatie
|
||
var bld_key = getQParamInt("gebouwkey", -1); // Gebouw
|
||
var betreft = getQParamArray("betreft", []); // Betreft module BES, CNT, FIN, MLDOF of MLDOP.
|
||
|
||
if (!getOpen && !getClosed && !getRejected)
|
||
getOpen = true;
|
||
|
||
var loc_key_arr = [];
|
||
if (dis_key > -1)
|
||
{
|
||
if (loc_key > -1)
|
||
{ // Een locatie geselecteerd.
|
||
loc_key_arr.push(loc_key);
|
||
}
|
||
else
|
||
{ // Zoek alle locaties die bij het gekozen district horen.
|
||
sqld = "SELECT alg_locatie_key"
|
||
+ " FROM alg_locatie"
|
||
+ " WHERE alg_district_key = " + dis_key;
|
||
var oRsd = Oracle.Execute(sqld);
|
||
while (!oRsd.eof)
|
||
{
|
||
loc_key_arr.push(oRsd("alg_locatie_key").value);
|
||
oRsd.MoveNext();
|
||
}
|
||
oRsd.Close();
|
||
}
|
||
}
|
||
|
||
var params = { getopen: getOpen
|
||
, getclosed: getClosed
|
||
, getrejected: getRejected
|
||
, opdrtype_key: (opdrtype_key != -1? opdrtype_key : null)
|
||
, dist_key: (dis_key != -1? dis_key : null)
|
||
, loc_key: (loc_key != -1? loc_key : null)
|
||
, bld_key: (bld_key != -1? bld_key : null)
|
||
, loc_key_arr: (loc_key_arr.length > 0? loc_key_arr : null)
|
||
, betreft: (betreft.length? betreft : null)
|
||
}
|
||
|
||
FCLTHeader.Requires({ plugins: ["jQuery"], js: ["jquery-ui.js"] });
|
||
%>
|
||
|
||
<html>
|
||
<head>
|
||
<% FCLTHeader.Generate({outputmode: outputmode}) %>
|
||
<script>
|
||
var todo_list = { BES: [],
|
||
CNT: [],
|
||
MLD: [],
|
||
GOED: [],
|
||
OFFERTE: [],
|
||
FIN: [],
|
||
FIN2: []
|
||
}
|
||
|
||
function one_done(module)
|
||
{
|
||
todo_list[module] = [];
|
||
var all_done = true;
|
||
for (var m in todo_list)
|
||
{
|
||
if (todo_list[m].length > 0)
|
||
all_done = false;
|
||
}
|
||
if (all_done)
|
||
FcltMgr.reload();
|
||
}
|
||
|
||
function one_post(key_param, data, url, module)
|
||
{
|
||
if (todo_list[module].length == 0)
|
||
{
|
||
one_done(module);
|
||
return;
|
||
}
|
||
|
||
var data = data || {};
|
||
data[key_param] = todo_list[module].join(",")
|
||
<% protectRequest.dataToken("data"); %>
|
||
$.post(url,
|
||
data,
|
||
function(json, textStatus)
|
||
{
|
||
one_done(module);
|
||
},
|
||
"json");
|
||
}
|
||
|
||
function fac_edit(row)
|
||
{
|
||
var facData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||
var item_key = row.getAttribute("ROWKEY");
|
||
var module = facData.module;
|
||
// We geven urole=fe mee omdat dat de lading het best dekt
|
||
switch (module)
|
||
{
|
||
case "BES":
|
||
{
|
||
FcltMgr.openDetail("appl/bes/bes_bestelling.asp?urole=fe&bes_key=" + item_key);
|
||
break;
|
||
}
|
||
case "CNT":
|
||
{
|
||
FcltMgr.openDetail("appl/cnt/cnt_contract.asp?urole=fe&cnt_key=" + item_key, L("lcl_cnt_contract") + " " + item_key);
|
||
break;
|
||
}
|
||
case "MLD":
|
||
case "GOED":
|
||
case "OFFERTE":
|
||
{
|
||
FcltMgr.openDetail("appl/mld/mld_opdr.asp?opdr_key=" + item_key); // Urole zoekt mld_opdr_edit.asp zelf wel uit.
|
||
break;
|
||
}
|
||
case "FIN":
|
||
case "FIN2":
|
||
{
|
||
FcltMgr.openDetail("appl/fin/fin_factuur.asp?fin_key=" + item_key, L("lcl_fin_invoice") + " " + item_key);
|
||
break;
|
||
}
|
||
default: INTERNAL_ERROR;
|
||
}
|
||
}
|
||
|
||
// Knop fiatteer gedrukt
|
||
function fac_approve(rowArray, isMulti, goedkeuren)
|
||
{
|
||
function opdrAcceptOfferCallback(json, textStatus)
|
||
{
|
||
function showVervolgOpdracht(json1, textStatus1)
|
||
{
|
||
// Automatisch een vervolg uitvoeringsopdracht (opdr_type is mld_typeopdr_typeopdr_key) aanmaken
|
||
// Als er een typeopdr_key is gedefinieerd voor de offerte, wordt er automatisch een opdracht aangemaakt. Anders refresh offerte.
|
||
if (json.typeopdr_key > 0)
|
||
{
|
||
var url = "appl/mld/mld_opdr.asp?urole=bo" // Om een opdracht te kunnen kopie<69>ren heb ik altijd "ORDBOF" rechten voor nodig. Dan kan ik ook urole=bo meegeven.
|
||
+ "&opdr_key=" + json.opdr_key
|
||
+ "&opdr_type=" + json.typeopdr_key
|
||
+ "&opdr_copy=1";
|
||
FcltMgr.openDetail(url, L("lcl_mld_opdr_uitvoeringopdracht")); // in nieuw tabje
|
||
FcltCallbackRefresh(json, textStatus); // van onzelf
|
||
}
|
||
else
|
||
FcltCallbackRefresh(json, textStatus);
|
||
}
|
||
|
||
one_done("OFFERTE");
|
||
if (json.success)
|
||
{
|
||
if (json.afwijsArray && json.afwijsArray.length > 0)
|
||
{
|
||
var data = { opdr_key: json.afwijsArray.join(","),
|
||
opdr_opm: L("lcl_mld_opdr_alternatief")
|
||
};
|
||
<% protectRequest.dataToken("data"); %>
|
||
$.post("../mld/opdr_reject_offer.asp?submit=1",
|
||
data,
|
||
function(json1, textStatus1)
|
||
{
|
||
showVervolgOpdracht(json1, textStatus1)
|
||
});
|
||
}
|
||
else
|
||
showVervolgOpdracht(json, textStatus);
|
||
}
|
||
else
|
||
FcltCallback(json, textStatus);
|
||
}
|
||
|
||
function off_accept(off_key_array)
|
||
{
|
||
// Alleen de eerste accepteren. Multi kan niet.
|
||
FcltMgr.openModalDetail("../mld/opdr_accept_offer.asp?opdr_key=" + off_key_array[0],
|
||
L("lcl_mld_accept"),
|
||
{ callback: opdrAcceptOfferCallback });
|
||
|
||
}
|
||
|
||
var theData = eval('(' + rowArray[0].getAttribute("ROWDATA") + ')');
|
||
var module = theData.module;
|
||
if (isMulti || module == "OFFERTE" ||
|
||
(module != "FIN2" && module != "GOED" && confirm(L("lcl_approve") + "?")) ||
|
||
((module == "FIN2" || module == "GOED") && goedkeuren))
|
||
//if (isMulti || module == "OFFERTE" || confirm(L("lcl_approve") + "?"))
|
||
{
|
||
for (var i = 0; i < rowArray.length; i++)
|
||
{
|
||
var item_key = rowArray[i].getAttribute("ROWKEY")
|
||
theData = eval('(' + rowArray[i].getAttribute("ROWDATA") + ')');
|
||
module = theData.module;
|
||
todo_list[module].push(item_key);
|
||
}
|
||
|
||
var data = {};
|
||
if (goedkeuren && !(<%=S("mld_opdr_refiat_preference")%> == 0 && isMulti))
|
||
{
|
||
var fiat = $("#has_sendforapproval").length == 0 || ($("#has_sendforapproval").length && $("#sendforapproval")[0].checked)? 1 : 0;
|
||
data.nofiat = (fiat == 1? 0 : 1);
|
||
}
|
||
|
||
// Parallel opstarten
|
||
one_post("bes_key", {}, "../bes/bes_approve.asp", "BES");
|
||
one_post("cnt_key", {}, "../cnt/cnt_approve.asp", "CNT");
|
||
one_post("opdr_key", {}, "../mld/opdr_approve.asp", "MLD");
|
||
one_post("opdr_key", data, "../mld/opdr_goedkeur.asp", "GOED");
|
||
one_post("fin_key", {}, "../fin/fin_approve.asp?a=1", "FIN");
|
||
one_post("fin_key", {}, "../fin/fin_goedkeur.asp?a=1", "FIN2");
|
||
|
||
if (todo_list["OFFERTE"].length > 0)
|
||
off_accept(todo_list["OFFERTE"]);
|
||
}
|
||
}
|
||
|
||
// Knop afwijzen gedrukt
|
||
function fac_reject(rowArray, isMulti)
|
||
{
|
||
function bes_reject(bes_key_array)
|
||
{
|
||
url = "../bes/bes_reject.asp?bes_key=" + bes_key_array.join(",");
|
||
FcltMgr.openModalDetail(url,
|
||
L("lcl_bes_reject"),
|
||
{ callback: function(json, textStatus)
|
||
{
|
||
one_done("BES");
|
||
var data = { opmerk: json.opmerk }; // Reden ook voor de rest gebruiken.
|
||
one_post("opdr_key", data, "../mld/opdr_reject_save.asp", "MLD");
|
||
one_post("opdr_key", data, "../mld/opdr_reject_save.asp", "GOED");
|
||
one_post("cnt_key", data, "../cnt/cnt_reject_save.asp", "CNT");
|
||
one_post("fin_key", data, "../fin/fin_approve.asp?r=1", "FIN");
|
||
one_post("fin_key", data, "../fin/fin_goedkeur.asp?r=1", "FIN2");
|
||
}}
|
||
);
|
||
|
||
}
|
||
|
||
function opdr_reject(opdr_key_array, module)
|
||
{
|
||
url = url = "../mld/opdr_reject.asp?opdr_key=" + opdr_key_array.join(",");
|
||
FcltMgr.openModalDetail(url,
|
||
L("lcl_mld_reject"),
|
||
{ callback: function(json, textStatus)
|
||
{
|
||
one_done(module);
|
||
var data = { opmerk: json.opmerk }; // Reden ook voor de rest gebruiken.
|
||
if (module != "GOED") // dan moet die nog
|
||
one_post("opdr_key", data, "../mld/opdr_reject_save.asp", "GOED");
|
||
one_post("cnt_key", data, "../cnt/cnt_reject_save.asp", "CNT");
|
||
one_post("fin_key", data, "../fin/fin_approve.asp?r=1", "FIN");
|
||
one_post("fin_key", data, "../fin/fin_goedkeur.asp?r=1", "FIN2");
|
||
}}
|
||
);
|
||
}
|
||
|
||
function cnt_reject(cnt_key_array)
|
||
{
|
||
url = url = "../cnt/cnt_reject.asp?cnt_key=" + cnt_key_array.join(",");
|
||
FcltMgr.openModalDetail(url,
|
||
L("lcl_cnt_reject"),
|
||
{ callback: function(json, textStatus)
|
||
{
|
||
one_done(module);
|
||
var data = { opmerk: json.opmerk }; // Reden ook voor de rest gebruiken.
|
||
one_post("fin_key", data, "../fin/fin_approve.asp?r=1", "FIN");
|
||
one_post("fin_key", data, "../fin/fin_goedkeur.asp?r=1", "FIN2");
|
||
}}
|
||
);
|
||
}
|
||
|
||
function fin_reject(fin_key_array)
|
||
{
|
||
if (confirm(L("lcl_reject") + "?"))
|
||
{
|
||
var data = { fin_key: fin_key_array.join(",") };
|
||
protectRequest.dataToken(data);
|
||
$.post("../fin/fin_approve.asp?r=1",
|
||
data,
|
||
function(json, textStatus)
|
||
{
|
||
one_done(module);
|
||
},
|
||
"json");
|
||
}
|
||
}
|
||
|
||
function off_reject(off_key_array)
|
||
{ // Alleen de eerste afwijzen. Multi kan niet.
|
||
FcltMgr.openModalDetail("../mld/opdr_reject_offer.asp?opdr_key=" + off_key_array[0],
|
||
L("lcl_mld_reject"),
|
||
{ callback: FcltCallbackRefresh });
|
||
}
|
||
|
||
for (var i = 0; i < rowArray.length; i++)
|
||
{
|
||
var item_key = rowArray[i].getAttribute("ROWKEY")
|
||
var theData = eval('(' + rowArray[i].getAttribute("ROWDATA") + ')');
|
||
var module = theData.module;
|
||
todo_list[module].push(item_key);
|
||
}
|
||
|
||
// De eerste zal een dialoog tonen met vraag om reden.
|
||
// De anderen krijgen allemaal dezelfde reden
|
||
if (todo_list["BES"].length > 0)
|
||
bes_reject(todo_list["BES"]);
|
||
else if (todo_list["MLD"].length > 0)
|
||
opdr_reject(todo_list["MLD"], "MLD");
|
||
else if (todo_list["GOED"].length > 0)
|
||
opdr_reject(todo_list["GOED"], "GOED");
|
||
else if (todo_list["CNT"].length > 0)
|
||
cnt_reject(todo_list["CNT"]);
|
||
else if (todo_list["FIN"].length > 0)
|
||
fin_reject(todo_list["FIN"]);
|
||
else if (todo_list["FIN2"].length > 0)
|
||
fin_reject(todo_list["FIN2"]);
|
||
|
||
if (todo_list["OFFERTE"].length > 0)
|
||
off_reject(todo_list["OFFERTE"]);
|
||
}
|
||
|
||
function mld_show_goedkeurmodal(rowArray, isMulti)
|
||
{
|
||
if (<%=S("mld_opdr_refiat_preference")%> == 0 && isMulti)
|
||
fac_approve(rowArray, isMulti, true);
|
||
else
|
||
{
|
||
$("#sendforapproval").prop('checked', true); // Checkbox weer zetten indien die was uitgeschakeld.
|
||
params = { width: "auto",
|
||
height: "auto",
|
||
modal: true,
|
||
resizable: false,
|
||
position: { my: "center", at: "center", of: window },
|
||
title: L("lcl_message"),
|
||
closeText: L("lcl_close_window"),
|
||
buttons: { "<%=L("lcl_goedkeur")%>": function () { $("#dmodal").dialog('close'); fac_approve(rowArray, isMulti, true); },
|
||
"<%=L("lcl_cancel")%>" : function () { $("#dmodal").dialog('close'); }
|
||
}
|
||
}
|
||
$('div#dmodal').dialog(params).dialog('open');
|
||
}
|
||
}
|
||
</script>
|
||
</head>
|
||
|
||
<body id="listbody">
|
||
<% var buttons_rp = [];
|
||
buttons_rp.push({ title: L("lcl_goedkeur"), action: "$('div#dmodal').dialog('close').remove();" });
|
||
buttons_rp.push({ title: L("lcl_cancel"), action: "$('div#dmodal').dialog('close').remove();" });
|
||
%>
|
||
<form name="u2" onSubmit="return false;">
|
||
<div id="dmodal" style="display:none">
|
||
<div>
|
||
<% ROFIELDTR("fld", "", L("lcl_goedkeur") + "?", {id: "modalsfatext"}); %>
|
||
</div>
|
||
<% if (S("mld_opdr_refiat_preference") == 1)
|
||
RWCHECKBOXTR("sendforapproval", "fldcheck", L("lcl_mld_sendfor_approval"), 1, {boxfirst: true}); %>
|
||
</div>
|
||
<%
|
||
function fnrowActionEnabler(oRs)
|
||
{
|
||
//var this_mld = mld.func_enabled_melding(oRs("mld_melding_key").Value);
|
||
var eReject = oRs("fiatstatus").Value == "open" && S("fin_enable_afwijzen") == 1; // Afwijzen
|
||
var data = { eReject: eReject };
|
||
|
||
var eApprove = oRs("fiatstatus").Value == "open"; // Fiatteren
|
||
if (eApprove)
|
||
{
|
||
switch (oRs("module").Value)
|
||
{
|
||
case "BES":
|
||
case "CNT":
|
||
case "FIN":
|
||
case "MLD": data.eApprove = true; break; // Fiatteren bestelling, contract, factuur, melding opdracht.
|
||
case "FIN2":
|
||
case "GOED": data.eGoedkeur = true; break; // Goedkeuren melding opdracht, factuur.
|
||
case "OFFERTE": data.eAccept = true; break; // Accepteren melding offerte.
|
||
default: INTERNAL_ERROR;
|
||
}
|
||
}
|
||
|
||
return data;
|
||
}
|
||
|
||
function allowFiat(oRs)
|
||
{ // op basis van de status geef ik aan of fiatteren/afwijzen mogelijk is (-1) of niet (0)
|
||
return (oRs("module") == 'BES'?(oRs("statuskey") != 2? -1 : 0) : (oRs("statuskey") != 3? -1 : 0));
|
||
}
|
||
|
||
function prepareTotal(oRs)
|
||
{
|
||
return safe.curr(oRs("bedrag").Value);
|
||
}
|
||
|
||
function prepareModule(oRs)
|
||
{
|
||
switch (oRs("module").Value)
|
||
{
|
||
case "BES": return L("lcl_bes_bestelling"); break;
|
||
case "CNT": return L("lcl_cnt_contract"); break;
|
||
case "MLD":
|
||
case "GOED": return L("lcl_shared_order") + "<br>" + safe.html(oRs("type").Value); break;
|
||
case "OFFERTE": return safe.html(oRs("type").Value) + "<br>" + safe.html(oRs("uitvoerende").Value); break;
|
||
case "FIN":
|
||
case "FIN2": return L("lcl_fin_factuur_type") + "<br>" + safe.html(oRs("type").Value); break;
|
||
default: INTERNAL_ERROR;
|
||
}
|
||
}
|
||
|
||
function fnrowData(oRs)
|
||
{
|
||
var data = { module: oRs("module").Value,
|
||
prefix: oRs("prefix").Value,
|
||
aanvraagnummer: oRs("aanvraagnummer").Value };
|
||
return JSON.stringify(data);
|
||
}
|
||
|
||
function fncolBesNr(oRs)
|
||
{ // Eigenlijk wil je een markering bij de parent, niet bij het child TODO
|
||
return (oRs("module").Value == "BES"? S("bes_bestelling_prefix") : "") + (oRs.fields("bes_bestelling_parentkey").Value > 0 ? oRs.fields("bes_bestelling_parentkey").Value + "*" : oRs.fields("aanvraagnummer").Value);
|
||
}
|
||
|
||
function fncolStatus(oRs)
|
||
{
|
||
switch (oRs.fields("module").Value)
|
||
{
|
||
case "BES": { return bes.getbesbestellingstatustext(oRs.fields("statuskey").Value); break; }
|
||
case "CNT": { return cnt.getcntstatustext(oRs.fields("statuskey").Value); break; }
|
||
case "MLD":
|
||
case "GOED": { return status.getopdrstatustext(oRs.fields("statuskey").Value); break; }
|
||
case "OFFERTE": { return L("lcl_mld_ter_acceptatie"); break; }
|
||
case "FIN":
|
||
case "FIN2": { return fin.getfinstatustext(oRs.fields("statuskey").Value); break; }
|
||
}
|
||
}
|
||
|
||
function fncolfiatteur(oRs)
|
||
{
|
||
switch (oRs.fields("module").Value)
|
||
{
|
||
case "BES":
|
||
case "MLD":
|
||
case "GOED":
|
||
case "OFFERTE":
|
||
case "FIN":
|
||
case "FIN2": { return oRs.fields("fiatteur").Value; break; }
|
||
case "CNT": { switch (oRs.fields("fiatteur").Value)
|
||
{
|
||
case "0": { return ''; break; } // Kan eigenlijk niet voorkomen.
|
||
case "1": { return L("lcl_cnt_approved_upto").format(S("cnt_contract_limit1")); break; }
|
||
case "2": { return L("lcl_cnt_approved_upto").format(S("cnt_contract_limit2")); break; }
|
||
case "3": { return L("lcl_cnt_approved_upto").format(S("cnt_contract_limit3")); break; }
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
function fncolGebouwTerrein(oRs)
|
||
{
|
||
if (oRs.fields("gebouw").Value == " " || oRs.fields("gebouw").Value == null)
|
||
if (oRs.fields("terrein").Value == " " || oRs.fields("terrein").Value == null)
|
||
return "";
|
||
else return oRs.fields("terrein").Value;
|
||
else return oRs.fields("gebouw").Value;
|
||
}
|
||
|
||
var sql = fiattering_sql(params);
|
||
var rst = new ResultsetTable({keyColumn: "request_key",
|
||
ID: "rfoTable",
|
||
sql: sql,
|
||
rowData: fnrowData,
|
||
rowActionEnabler: fnrowActionEnabler,
|
||
outputmode: outputmode,
|
||
filterParams: params,
|
||
showAll: showall,
|
||
emptySetString: L("lcl_rfo_no_items_to_approve")});
|
||
|
||
rst.addColumn(new Column({caption: "dummy", content: allowFiat, hidden: true}));
|
||
rst.addColumn(new Column({caption: "dummy", content: "module", hidden: true}));
|
||
rst.addColumn(new Column({caption: L("lcl_request_key"), content: fncolBesNr}));
|
||
rst.addColumn(new Column({caption: L("lcl_date"), content: "datum", datatype: "date"}));
|
||
rst.addColumn(new Column({caption: L("lcl_rfo_requestor"), content: "prs_perslid_naam_full", hasActions: true }));
|
||
rst.addColumn(new Column({caption: L("lcl_rfo_total_sum"), content: prepareTotal, datatype: "currency"}));
|
||
rst.addColumn(new Column({caption: L("lcl_rfo_type"), content: prepareModule}));
|
||
rst.addColumn(new Column({caption: L("lcl_rfo_category"), content: "categorie"}));
|
||
rst.addColumn(new Column({caption: L("lcl_bes_RFO_status"), content: fncolStatus}));
|
||
if (user.hasCollegas())
|
||
rst.addColumn(new Column({caption: L("lcl_bes_approver"), content: fncolfiatteur}));
|
||
rst.addColumn(new Column({caption: L("lcl_location"), content: "locatie"}));
|
||
rst.addColumn(new Column({caption: L("lcl_bld_terra"), content: fncolGebouwTerrein, combine: true}));
|
||
|
||
rst.addAction({action: "fac_edit", caption: L("lcl_details"), isDefault: true});
|
||
rst.addAction({action: "fac_approve", caption: L("lcl_approve"), enabler: "eApprove", multi: true, multiOnce: true});
|
||
rst.addAction({action: "mld_show_goedkeurmodal", caption: L("lcl_goedkeur"), enabler: "eGoedkeur", multi: true, multiOnce: true});
|
||
rst.addAction({action: "fac_approve", caption: L("lcl_accept"), enabler: "eAccept", multi: true, multiOnce: true});
|
||
rst.addAction({action: "fac_reject", caption: L("lcl_reject"), enabler: "eReject", multi: true, multiOnce: true});
|
||
|
||
|
||
var cnt = rst.processResultset();
|
||
%>
|
||
</form>
|
||
</body>
|
||
</html>
|