NYBU#33454: Herziening facturatieproces FACILITOR - VERMAAT.

svn path=/Website/trunk/; revision=26367
This commit is contained in:
Maykel Geerdink
2015-09-17 09:25:31 +00:00
parent 93b73d3aa1
commit 02a2aa2a12
4 changed files with 98 additions and 13 deletions

View File

@@ -498,18 +498,19 @@ res = {
{
var params = params || {};
// Wat informatie om rechten te kunnen bepalen
var sql = "SELECT r.res_ruimte_opstel_key,"
+ " r.alg_ruimte_key,"
+ " r.res_rsv_ruimte_van,"
+ " r.res_rsv_ruimte_tot,"
+ " r.res_rsv_ruimte_contact_key,"
+ " r.res_rsv_ruimte_host_key,"
+ " r.res_status_fo_key,"
+ " r.res_status_bo_key,"
+ " r.res_reservering_key,"
+ " r.res_rsv_ruimte_verwijder,"
+ " r.res_activiteit_key"
+ " FROM res_rsv_ruimte r "
var sql = "SELECT r.res_ruimte_opstel_key"
+ " , r.alg_ruimte_key"
+ " , r.res_rsv_ruimte_van"
+ " , r.res_rsv_ruimte_tot"
+ " , r.res_rsv_ruimte_contact_key"
+ " , r.res_rsv_ruimte_host_key"
+ " , r.res_status_fo_key"
+ " , r.res_status_bo_key"
+ " , r.res_reservering_key"
+ " , r.res_rsv_ruimte_verwijder"
+ " , r.res_activiteit_key"
+ " , r.res_rsv_ruimte_afgerond"
+ " FROM res_rsv_ruimte r"
+ " WHERE res_rsv_ruimte_key = " + rsv_ruimte_key;
var roRs = Oracle.Execute(sql);
@@ -523,6 +524,7 @@ res = {
var rsv_ruimte_contact_key = roRs("res_rsv_ruimte_contact_key").Value;
var rsv_ruimte_host_key = roRs("res_rsv_ruimte_host_key").Value;
var res_activiteit_key = roRs("res_activiteit_key").Value;
var res_goedgekeurd = roRs("res_rsv_ruimte_afgerond").Value == 1;
// Bepaal discipline parkeerplaatsen voor reserveringen. Deze moet uitgesloten worden voor de autorisatie controle.
// Als de reservering *voor* earliest_expire ligt gaan we moeilijk doen
@@ -723,6 +725,9 @@ res = {
rresult.canReadNoShow = rresult.canRead("WEB_RESNOS");
rresult.canWriteNoShow = rresult.canWrite("WEB_RESNOS");
// PAS OP!!!: WEB_RESMSU is disciplineloos dus niet in cresult! Daardoor zijn cresult.canWrite("WEB_RESMSU") en cresult.canRead("WEB_RESMSU") altijd false.
var haveRESMSUrights = user.checkAutorisation("WEB_RESMSU", true) != null; // Pas op: disciplineloos dus niet in cresult!
var vandaag = new Date();
var flike_days = vandaag.getTime() - rsv_ruimte_tot.getTime();
var flike_past = S("facilities_flike_past") * 1000 * 60 * 60 * 24;
@@ -765,7 +770,8 @@ res = {
(rresult.canWrite("WEB_RESFOF") ||
rresult.canWrite("WEB_RESBOF") ||
rresult.canWrite("WEB_RESUSE")) &&
canWritePresentPrk;
canWritePresentPrk &&
(!res_goedgekeurd || (res_goedgekeurd && haveRESMSUrights));
rresult.canChangeCV = rresult.canChange;
// als disc_key_arr leeg is hebben we nog 'niets' en zijn we heel soepel
@@ -914,6 +920,11 @@ res = {
|| (rresult.canWrite("WEB_RESBOF") && (S("res_roompricingtotaal") & 2))
);
// Goedkeuren door aanmaker/besteller (of zijn/haar vervanger) nadat de reservering voorbij is (in het verleden ligt).
rresult.canGoedkeur = S("res_approval") == 1 && !res_goedgekeurd &&
rresult.canChange && user.isCollega(rsv_ruimte_contact_key) &&
rsv_ruimte_tot < new Date();
if ((status_bo_key && status_bo_key < S("res_bo_status_key")) || // ruimte is af te melden
(rresult.min_bo && rresult.min_bo < S("res_bo_status_key"))) // CV is af te melden
{

55
APPL/RES/res_goedkeur.asp Normal file
View File

@@ -0,0 +1,55 @@
<%@ LANGUAGE = JavaScript %>
<% /*
$Revision$
$Id$
File: res_goedkeur.asp
Description: Keur specifieke deelreserveringen goed
Parameters:
opdr_key Array van deelreservering keys die moeten worden goedgekeurd
Context:
Note:
*/ %>
<%
DOCTYPE_Disable = 1;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="res.inc" -->
<%
protectRequest.validateToken();
var rsv_ruimte_key_arr = getFParamIntArray("rsv_ruimte_key");
var multi = getFParamInt("multi", 0) == 1;
var tobegoedkeuren = 0;
var ingesloten = [];
// Bepaal de deelreserveringen in de selectie die ook echt goedgekeurd kunnen of mogen worden.
for (var i = 0; i < rsv_ruimte_key_arr.length; i++)
{
var this_res = res.func_enabled(rsv_ruimte_key_arr[i]); // Wat heb ik zoal aan rechten op deze specifieke deelreservering
var res_ruimte = res.res_ruimte_info(rsv_ruimte_key_arr[i]);
if (this_res.canGoedkeur)
{
ingesloten.push(rsv_ruimte_key_arr[i]);
tobegoedkeuren++;
}
}
user.anything_todo_or_abort(tobegoedkeuren > 0); // We klagen niet over enkele wel en enkele niet
for (var i = 0; i < ingesloten.length; i++)
{ // Zetten van de status en afhandelen van de tracking van het afronden (finish).
var sql = "UPDATE res_rsv_ruimte SET res_rsv_ruimte_afgerond = 1 WHERE res_rsv_ruimte_key = " + ingesloten[i];
Oracle.Execute(sql);
// Tracking Reservering XXX is goedgekeurd.
shared.trackaction("RESROK", ingesloten[i]);
}
var result = { key: ingesloten.join(","), success: true, multi: multi };
Response.Write(JSON.stringify(result));
%>

View File

@@ -206,6 +206,21 @@ FCLTHeader.Requires({plugins: ["jQuery"]})
window.location.href = "res_edit_rsv_ruimte.asp?urole=<%=this_res.canChangeUrole%>&rsv_ruimte_key=<%=rsv_ruimte_key%>"
}
function res_goedkeur()
{
if (confirm(L("lcl_res_goedkeur").format("<%=safe.jsstring(rrr.resnrtxt)%>")))
{ // Goedkeuren reservering
var data = { rsv_ruimte_key: <%=rsv_ruimte_key%>
};
protectRequest.dataToken(data);
$.post( "res_goedkeur.asp"
, data
, FcltCallbackRefresh
, "json"
);
}
}
function res_undelete()
{
if (FcltMgr.startEdit(window))
@@ -323,6 +338,9 @@ FCLTHeader.Requires({plugins: ["jQuery"]})
else if (this_res.canWriteNoShow)
buttons.push({action: "resNoShow()", title: L("lcl_res_no_show"), icon: "noshow.png"});
if (this_res.canGoedkeur)
buttons.push( {title: L("lcl_goedkeur"), icon: "accept.png", action: "res_goedkeur()"});
if (this_res.canDelete)
buttons.push( {title: L("lcl_delete"), icon: "delete.png", action: "res_delete()"});

View File

@@ -143,6 +143,7 @@ var status = {
case "RESNOS" : tekst = L("lcl_res_is_resnos") ; break;
case "RESMLT" : tekst = L("lcl_res_is_resmlt") ; break;
case "RESCPY" : tekst = L("lcl_res_is_rescpy") ; break;
case "RESROK" : tekst = L("lcl_res_is_resrok") ; break;
case "ORDNEW" : tekst = L("lcl_ord_is_ordnew") ; break;
case "ORDUPD" : tekst = L("lcl_ord_is_ordupd") ; break;