NYBU#31121 Kan ik een deelreservering kopiëren naar een nieuwe buiten de reeks?

svn path=/Website/trunk/; revision=29853
This commit is contained in:
Erik Groener
2016-06-27 09:48:45 +00:00
parent d750ba758e
commit 3bf4725293
2 changed files with 25 additions and 3 deletions

View File

@@ -481,7 +481,9 @@ user.auth_required_or_abort(this_res.couldCreate);
%>
<div id="resmakedates"><%=L("lcl_res_makedates")%></div><br>
<% //======= FIELD 'Periode' =======
<%
RWCHECKBOXTR("isnewres", "fldcheck", L("lcl_res_copy_deelres"), false, {});
//======= FIELD 'Periode' =======
sql = "SELECT c.res_cyclus_periode"
+ " , " + lcl.xsqla('c.res_cyclus_naam', 'res_cyclus_key')
+ " FROM res_cyclus c"

View File

@@ -16,6 +16,7 @@ var JSON_Result = true;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../shared/save2db.inc" -->
<!-- #include file="./res.inc" -->
<!-- #include file="../bez/bez.inc" -->
<%
@@ -24,6 +25,7 @@ protectRequest.validateToken();
var urole = getQParamSafe("urole");
var rsv_ruimte_key = getQParamInt("rsv_ruimte_key");
var isnewres = (getFParamInt("has_isnewres", 0) == 1 ? getFParam("isnewres") == "on" : false);
res.res_set_dialect(rsv_ruimte_key);
var this_res = res.func_enabled(rsv_ruimte_key); // wat mocht ik zoal op deze reservering
@@ -64,6 +66,19 @@ if (!ispool) // Dan gaan bezoekers toch niet mee
oRs.Close();
}
var newres_params = "";
if (isnewres)
{ // Kopieer deelreservering naar een nieuwe reservering.
var resfields = [ { dbs: "res_reservering_key", typ: "key", seq: "res_s_res_reservering_key" },
{ dbs: "res_reservering_aanmaak", typ: "datetime", val: new Date() },
{ dbs: "res_reservering_ispool", typ: "number", val: 0 }
];
var resIns = buildInsert("res_reservering", resfields);
var newres_key = resIns.sequences["res_reservering_key"];
Oracle.Execute(resIns.sql);
newres_params = ",0,"+newres_key+","; // Het volgnummer wordt er in de for-loop bij achter gezet.
}
var form_dates = Request.Form("newDates");
var sql = "DECLARE"
+ " new_key NUMBER;"
@@ -81,7 +96,7 @@ for (var i = 1; i <= form_dates.Count; i++)
}
else // Gewone
{
sql += " new_key := res.res_copy_deelres(" + rsv_ruimte_key + "," + datum.toSQL() + "," + user_key + ");";
sql += " new_key := res.res_copy_deelres(" + rsv_ruimte_key + "," + datum.toSQL() + "," + user_key + (isnewres?newres_params+i:"") + ");";
if (S("res_fe_allow_dirty") != 1 && urole == 'fe')
{
sql += " IF res.dirty_level_all(new_key) <> 0 THEN"
@@ -97,7 +112,12 @@ if (err.friendlyMsg)
abort_with_warning(err.friendlyMsg);
shared.trackaction("RESCPY", rsv_ruimte_key);
var msg = [ L("lcl_res_copied").format(form_dates.Count) ];
var msg = [];
if (isnewres)
msg.push(L("lcl_res_copied_new").format(form_dates.Count))
else
msg.push(L("lcl_res_copied").format(form_dates.Count));
if (nrPAF > 0)
{
msg.push(L("lcl_bez_paf_not_copied").format(nrPAF));