FCLT#56301 PvE Volksbank: verbruiksartikelen beschikbaar obv minimale duur en aantal prs
svn path=/Website/trunk/; revision=40891
This commit is contained in:
@@ -102,6 +102,20 @@ model_res_disc_params =
|
||||
"required": true,
|
||||
"multiedit": true
|
||||
},
|
||||
"mintime": {
|
||||
"dbs": "res_disc_params_min_duur",
|
||||
"label": L("res_catalogus_min_duur"),
|
||||
"typ": "number",
|
||||
"defaultvalue": 0,
|
||||
"multiedit": true
|
||||
},
|
||||
"minparticipants": {
|
||||
"dbs": "res_disc_params_min_deelnmrs",
|
||||
"label": L("res_catalogus_min_participants"),
|
||||
"typ": "float",
|
||||
"defaultvalue": 0,
|
||||
"multiedit": true
|
||||
},
|
||||
"company": {
|
||||
"dbs": "prs_bedrijf_key",
|
||||
"label": L("res_catalogus_bedrijf"),
|
||||
|
||||
@@ -50,6 +50,7 @@ sql = "SELECT res_reservering_key"
|
||||
+ " , res_rsv_ruimte_verwijder"
|
||||
+ " , alg_ruimte_key, res_ruimte_opstel_key"
|
||||
+ " , res_rsv_ruimte_van, res_rsv_ruimte_tot"
|
||||
+ " , res_rsv_ruimte_bezoekers"
|
||||
+ " , trunc(res_rsv_ruimte_tot) - trunc(res_rsv_ruimte_van) meerdaags"
|
||||
+ " , prs_kostenplaats_key"
|
||||
+ " , res_activiteit_key"
|
||||
@@ -59,6 +60,8 @@ oRs = Oracle.Execute(sql);
|
||||
var resdeleted = (oRs("res_rsv_ruimte_verwijder").value != null);
|
||||
var res_van = new Date(oRs("res_rsv_ruimte_van").value);
|
||||
var res_tot = new Date(oRs("res_rsv_ruimte_tot").value);
|
||||
var res_duur = (res_tot - res_van) / 1000 / 60 / 60; // duration from milliseconds to hours
|
||||
var res_bezoekers = oRs("res_rsv_ruimte_bezoekers").value;
|
||||
var res_meerdaags = oRs("meerdaags").value!=0;
|
||||
var activiteit_key = oRs("res_activiteit_key").value;
|
||||
|
||||
@@ -457,8 +460,11 @@ var new_item_key = 0; // Globaal
|
||||
+ (arrangementDiscs && arrangementDiscs.length
|
||||
? " , CASE WHEN d.ins_discipline_key IN (" + arrangementDiscs.join(",") + ") THEN 1 ELSE 0 END inArrangement"
|
||||
: " , 0 inArrangement")
|
||||
+ " FROM RES_v_aanwezigDISCIPLINE d"
|
||||
+ " FROM RES_v_aanwezigDISCIPLINE d, res_disc_params rd"
|
||||
+ " WHERE ins_discipline_min_level = 2"
|
||||
+ " AND rd.res_ins_discipline_key = d.ins_discipline_key"
|
||||
+ " AND rd.res_disc_params_min_deelnmrs <= " + res_bezoekers
|
||||
+ " AND rd.res_disc_params_min_duur <= " + res_duur
|
||||
+ " AND d.ins_discipline_key IN"
|
||||
+ "(SELECT g.ins_discipline_key"
|
||||
+ " FROM fac_v_webgebruiker g"
|
||||
|
||||
@@ -40,18 +40,30 @@ var met_eindtijd = oRs("res_activiteit_meteindtijd").Value == 1;
|
||||
oRs.Close();
|
||||
|
||||
var warning = "";
|
||||
var res_bezoekers = getFParamInt("bezoekers", null);
|
||||
var date_from = getFParamDate("date_from", null); // die hebben we vaak nodig
|
||||
if (!date_from)
|
||||
{ // fe_lastminute kon kalender niet bewerken
|
||||
var sql = "SELECT res_rsv_ruimte_van, res_rsv_ruimte_tot"
|
||||
var sql = "SELECT res_rsv_ruimte_van, res_rsv_ruimte_tot, res_rsv_ruimte_bezoekers"
|
||||
+ " FROM res_rsv_ruimte"
|
||||
+ " WHERE res_rsv_ruimte_key = " + rsv_ruimte_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
date_from = new Date(oRs("res_rsv_ruimte_van").Value);
|
||||
date_to = new Date(oRs("res_rsv_ruimte_tot").Value);
|
||||
if (res_bezoekers == null) { res_bezoekers = oRs("res_rsv_ruimte_bezoekers").value; }
|
||||
oRs.Close();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (rsv_ruimte_key > -1 && res_bezoekers == null)
|
||||
{
|
||||
var sql = "SELECT res_rsv_ruimte_bezoekers"
|
||||
+ " FROM res_rsv_ruimte"
|
||||
+ " WHERE res_rsv_ruimte_key = " + rsv_ruimte_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
res_bezoekers = oRs("res_rsv_ruimte_bezoekers").value;
|
||||
oRs.Close();
|
||||
}
|
||||
if (date_from.getSeconds() > 0 || date_from.getMilliseconds() > 0)
|
||||
date_from.setSeconds(59, 1000); // Omhoog afronden op minuten, minimaliseert conflicten
|
||||
var date_to = getFParamDate("date_to"); // die hebben we vaak nodig
|
||||
@@ -106,6 +118,28 @@ if (rsv_ruimte_key > -1)
|
||||
{
|
||||
abort_with_warning(L("lcl_res_allow_multi_cat")); // Meerdaagse reservering met catering niet toegestaan
|
||||
}
|
||||
// detect items who are not allowed within the parameters of their catalogue
|
||||
sql = "SELECT DISTINCT d.ins_discipline_key, " + lcl.xsqla('d.ins_discipline_omschrijving','d.ins_discipline_key')
|
||||
+ " FROM res_v_aanwezigrsv_artikel ara, res_v_aanwezigartikel ra, RES_v_aanwezigDISCIPLINE d, res_disc_params rd"
|
||||
+ " WHERE ara.RES_RSV_RUIMTE_KEY = " + rsv_ruimte_key
|
||||
+ " AND ra.res_artikel_key = ara.res_artikel_key"
|
||||
+ " AND d.ins_discipline_key = ra.res_discipline_key"
|
||||
+ " AND rd.res_ins_discipline_key = d.ins_discipline_key"
|
||||
+ " AND (rd.res_disc_params_min_deelnmrs > " + res_bezoekers
|
||||
+ " OR rd.res_disc_params_min_duur > " + durationHours + ")";
|
||||
oRs = Oracle.Execute(sql);
|
||||
if (!oRs.Eof)
|
||||
{
|
||||
var discArr = [];
|
||||
while (!oRs.eof)
|
||||
{
|
||||
discArr.push(oRs("ins_discipline_omschrijving").Value);
|
||||
oRs.MoveNext();
|
||||
}
|
||||
abort_with_warning(L("lcl_res_invalid_with_cat").format(discArr.join(", "))); // Some items are not allowed with this reservation
|
||||
}
|
||||
oRs.Close();
|
||||
|
||||
var this_res = res.func_enabled(rsv_ruimte_key); // Wat heb ik zoal aan rechten op deze specifieke reservering
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user