PNBR#35811 tijd tot in een Reservering

svn path=/Website/trunk/; revision=32202
This commit is contained in:
Erik Groener
2017-01-04 09:08:58 +00:00
parent d2785726a1
commit 6ccf6dbbb2

View File

@@ -60,11 +60,17 @@ else
// Voor zowel een ruimte als een voorzieningen reservering moet de duur minimaal S("res_block") zijn (DENB#18233)
// te kort voor een ruimte
var durationHours = (date_to - date_from) / 1000/60/60;
if ( durationHours < S("res_block") )
if (met_eindtijd && durationHours < S("res_block") )
{
abort_with_warning(L("lcl_res_bad_period"));
}
if (!met_eindtijd)
{ // Zet bij reserveringen zonder eindtijd de eindtijd altijd gelijk aan de begintijd.
// We houden nu geen rekening met de bloktijden en minimale reserveringsduur.
date_to = date_from;
}
// Is de reserveringstijd aangepast (dus niet voor nieuwe reservering)
var resdateChanged = true;
if (rsv_ruimte_key > -1)
@@ -79,7 +85,7 @@ if (rsv_ruimte_key > -1)
var date_to_old = new Date(oRs("res_rsv_ruimte_tot").Value);
var res_external = oRs("res_rsv_ruimte_externnr").Value;
oRs.Close();
if ((date_from_old.getTime() == date_from.getTime()) && (date_to_old.getTime() == date_to.getTime()))
if ((date_from_old.getTime() == date_from.getTime()) && (met_eindtijd && date_to_old.getTime() == date_to.getTime()))
{
var resdateChanged = false;
}
@@ -94,7 +100,7 @@ if (rsv_ruimte_key > -1)
var tmp_date_from = date_from.midnight();
var tmp_date_to = date_to.midnight();
var res_meerdaags = (tmp_date_from.getTime() != tmp_date_to.getTime());
var res_meerdaags = met_eindtijd && (tmp_date_from.getTime() != tmp_date_to.getTime());
if (res_meerdaags && hasCatering && !S("res_allow_multi_cat"))
{
@@ -145,7 +151,7 @@ if (restype == "R")
var min_duur = oRs("res_ruimte_min_duur").Value;
// Er moet voor een minimale tijd gereserveerd zijn.
if (min_duur && durationHours < min_duur)
if (met_eindtijd && min_duur && durationHours < min_duur)
{
abort_with_warning(L("lcl_res_room_min_duration").format(min_duur));
}
@@ -165,7 +171,8 @@ if (restype == "R")
abort_with_warning(L("lcl_res_date_room_closed"));
}
// Overlap met de blokkade
if ( oRs("res_ruimte_eindtijdblok").Value
if ( met_eindtijd
&& oRs("res_ruimte_eindtijdblok").Value
&& oRs("res_ruimte_begintijdblok").Value
&& df < oRs("res_ruimte_eindtijdblok").Value
&& dt > oRs("res_ruimte_begintijdblok").Value)
@@ -189,12 +196,15 @@ if (restype == "R")
oRs.Close();
// Mag deze activiteit in deze ruimte wel
var max_duration_err = res.max_duration_r(act_key, disc_key, durationHours);
if (max_duration_err.err)
abort_with_warning(max_duration_err.message);
if (met_eindtijd)
{
var max_duration_err = res.max_duration_r(act_key, disc_key, durationHours);
if (max_duration_err.err)
abort_with_warning(max_duration_err.message);
}
}
if (rsv_ruimte_key > 0)
if (met_eindtijd && rsv_ruimte_key > 0)
{ // "CV" ook altijd controleren
var max_duration_err = res.max_duration_cv(rsv_ruimte_key, durationHours);
if (max_duration_err.err)
@@ -217,16 +227,10 @@ if (resdateChanged)
if (theMinLimiet >= 0 && date_from < mindate)
abort_with_warning(L("lcl_res_error_date"));
if (theMaxLimiet > 0 && date_to > maxdate)
if (theMaxLimiet > 0 && date_to > maxdate && met_eindtijd)
abort_with_warning(L("lcl_res_error_date"));
}
if (!met_eindtijd)
{ // Zet bij reserveringen zonder eindtijd de eindtijd altijd gelijk aan de begintijd.
// We houden nu geen rekening met de bloktijden en minimale reserveringsduur.
date_to = date_from;
}
var nrbezoekers = getFParam("bezoekers", 1);
if ( (isNaN(parseInt(nrbezoekers))) && (nrbezoekers != ""))
{