PNBR#35811 tijd tot in een Reservering

svn path=/Website/trunk/; revision=32100
This commit is contained in:
Erik Groener
2016-12-22 10:19:55 +00:00
parent eedb7e0b8c
commit 76f8f6b6ff
7 changed files with 70 additions and 54 deletions

View File

@@ -75,9 +75,9 @@ function model_res_activiteit()
"label": L("res_activiteit_duur"),
"typ": "float"
},
"res_hasvisitors": {
"dbs": "res_activiteit_bezoeker",
"label": L("res_activiteit_bezoeker"),
"has_endtime": {
"dbs": "res_activiteit_meteindtijd",
"label": L("res_activiteit_meteindtijd"),
"typ": "check0",
"defaultvalue": 1
}

View File

@@ -614,7 +614,7 @@ res = {
+ " , r.res_activiteit_key"
+ " , r.res_rsv_ruimte_afgerond"
+ " , ra.res_activiteit_notfrontend"
+ " , ra.res_activiteit_bezoeker"
+ " , ra.res_activiteit_meteindtijd"
+ " FROM res_rsv_ruimte r,"
+ " res_activiteit ra"
+ " WHERE res_rsv_ruimte_key = " + rsv_ruimte_key
@@ -634,7 +634,7 @@ res = {
var res_goedgekeurd = roRs("res_rsv_ruimte_afgerond").Value == 1;
var res_opstel_key = roRs("res_ruimte_opstel_key").Value;
var notfrontend = roRs("res_activiteit_notfrontend").Value;
var has_visitors = roRs("res_activiteit_bezoeker").Value == 1;
var met_eindtijd = roRs("res_activiteit_meteindtijd").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
@@ -849,7 +849,7 @@ res = {
rresult.max_dbkosten = max_dbkosten;
rresult.res_reservering_key = res_reservering_key;
rresult.rsv_ruimte_verwijder = rsv_ruimte_verwijder;
rresult.res_has_visitors = has_visitors;
rresult.res_met_eindtijd = met_eindtijd;
rresult.canReadNoShow = rresult.canRead("WEB_RESNOS");
rresult.canWriteNoShow = rresult.canWrite("WEB_RESNOS");

View File

@@ -116,18 +116,18 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"],
var activiteit_key = getQParamInt("activiteit_key", -1);
var aantal_verplicht = false;
var descript_required = false;
var has_visitors = true;
var met_eindtijd = true;
if (activiteit_key > 0)
{
sql = "SELECT ac.res_activiteit_aantalverplicht,"
+ " res_activiteit_omsverplicht,"
+ " res_activiteit_bezoeker"
+ " res_activiteit_meteindtijd"
+ " FROM res_activiteit ac"
+ " WHERE res_activiteit_key = " + activiteit_key;
oRs = Oracle.Execute(sql);
aantal_verplicht = oRs("res_activiteit_aantalverplicht").value == 1;
descript_required = oRs("res_activiteit_omsverplicht").value == 1;
has_visitors = oRs("res_activiteit_bezoeker").Value == 1;
met_eindtijd = oRs("res_activiteit_meteindtijd").Value == 1;
}
var rrr = { rsv_ruimte_key : rsv_ruimte_key,
@@ -155,7 +155,7 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"],
kostenplaats_module : user.afdeling().kpn_module() || "",
descript_required : descript_required,
aantal_verplicht : aantal_verplicht,
has_visitors : has_visitors,
met_eindtijd : met_eindtijd,
kosten_klant : S("kosten_klant_default") == 1,
resnrtxt : L("lcl_new"),
srtactiviteit_kpnverplicht : srtdisc_kpnverplicht,
@@ -370,7 +370,7 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"],
+ " rrr.res_activiteit_key, "
+ " ra.res_activiteit_omsverplicht, "
+ " ra.res_activiteit_aantalverplicht, "
+ " ra.res_activiteit_bezoeker, "
+ " ra.res_activiteit_meteindtijd, "
+ " sa.res_srtactiviteit_prefix, "
+ " res_rsv_ruimte_noshow, "
+ " res_rsv_ruimte_bezoekers, "
@@ -449,7 +449,7 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"],
descript : oRs("res_rsv_ruimte_omschrijving").value,
descript_required : oRs("res_activiteit_omsverplicht").value==1,
aantal_verplicht : oRs("res_activiteit_aantalverplicht").value==1,
has_visitors : oRs("res_activiteit_bezoeker").value==1,
met_eindtijd : oRs("res_activiteit_meteindtijd").value==1,
res_ordernr : oRs("res_rsv_ruimte_ordernr").value,
ruimte_korting : oRs("res_rsv_ruimte_korting").value,
ruimte_totaal : oRs("res_rsv_ruimte_totaal").value,
@@ -930,8 +930,15 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"],
FcltMgr.resized();
} );
var opt = $("#sel_activity").find("option:selected");
var has_visitors = (act_key != -1 ? opt[0].getAttribute("res_activiteit_bezoeker") : 1) == 1;
$(".date_to_wrapper").toggle(has_visitors);
var met_eindtijd = (act_key != -1 ? opt[0].getAttribute("res_activiteit_meteindtijd") : 1) == 1;
<% if (restype == "R") { %>
$("#time_from_date_to").prev().toggle(met_eindtijd);
$("#time_from_date_to").toggle(met_eindtijd);
$("#time_from_date_to").next().toggle(met_eindtijd);
<% } else { %>
$(".date_to_wrapper").toggle(met_eindtijd);
<% } %>
checkVeldenVerplicht();
autosetEindtijd();
}
@@ -998,10 +1005,11 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"],
<% if (restype == "R") { /* verplaats van-tijd naar voor tot-tijd */ %>
var clocksymbol = $("#time_from_date_from").next();
$("#time_from_date_from").insertBefore($("#time_from_date_to"))
.after("&nbsp;" + L("lcl_tot") + "&nbsp;")
.after("<span>&nbsp;" + L("lcl_tot") + "&nbsp;</span>")
.after(clocksymbol)
.after(" ");
<% } %>
OnChangeActivity();
});
</script>
@@ -1052,7 +1060,7 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"],
+ " , a.res_activiteit_duur"
+ " , a.res_activiteit_omsverplicht"
+ " , a.res_activiteit_aantalverplicht"
+ " , a.res_activiteit_bezoeker"
+ " , a.res_activiteit_meteindtijd"
+ " FROM res_activiteit a"
+ " , res_srtactiviteit sa"
+ (res_deel_key > 0 || res_artikel_key > 0
@@ -1095,7 +1103,7 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"],
emptyOption: rrr.activiteit_key == -1? L("lcl_res_select_activity") : null,
initKey: rrr.activiteit_key,
onChange: "OnChangeActivity()",
extraParamValue: "res_activiteit_duur,res_activiteit_omsverplicht,res_activiteit_aantalverplicht,res_activiteit_bezoeker",
extraParamValue: "res_activiteit_duur,res_activiteit_omsverplicht,res_activiteit_aantalverplicht,res_activiteit_meteindtijd",
readonly: getQParamInt("activiteit_key", -1) > -1 || rrr.res_ruimte_extern || readonlyFE,
required: true
}
@@ -1129,30 +1137,23 @@ FCLTHeader.Requires({plugins: ["jQuery", "kenmerk"],
</script>
<% }
if (rrr.has_visitors || restype == "R")
{
FCLTcalendar( "date_to",
{ label : restype == "CV"? L("lcl_res_endtime_CV") : L("lcl_time"),
datum : rrr.rsv_ruimte_tot,
minFuture: ((urole=="fe")?rrr.fe_expire_dagen:null),
maxFuture: ((urole=="fe"&&S("res_fe_reservering_limiet")>0)?S("res_fe_reservering_limiet"):S("res_reservering_limiet")),
timeField: true,
timeStep : S("res_h")*60,
startTime: S("res_t1"),
endTime : S("res_t2"),
volgnr : 2,
readonly : fe_lastminute || (rsv_copy_key > 0 && rrr.reservering_ispool) || rrr.res_ruimte_extern || readonlyFE,
saveValue: (rsv_copy_key>0 && rrr.reservering_ispool),
hidden : (restype == "R"), // Meerdaags ruimte ondersteunen we nog niet echt
trclass : "date_to_wrapper",
required : true,
onChange : '$("#time_from_date_to").css("color", "auto")'
});
}
else
{
%> <input type="hidden" id="date_to" name="date_to" value="<%=rrr.rsv_ruimte_tot.valueOf()%>"> <%
}
FCLTcalendar( "date_to",
{ label : restype == "CV"? L("lcl_res_endtime_CV") : L("lcl_time"),
datum : rrr.rsv_ruimte_tot,
minFuture: ((urole=="fe")?rrr.fe_expire_dagen:null),
maxFuture: ((urole=="fe"&&S("res_fe_reservering_limiet")>0)?S("res_fe_reservering_limiet"):S("res_reservering_limiet")),
timeField: true,
timeStep : S("res_h")*60,
startTime: S("res_t1"),
endTime : S("res_t2"),
volgnr : 2,
readonly : fe_lastminute || (rsv_copy_key > 0 && rrr.reservering_ispool) || rrr.res_ruimte_extern || readonlyFE,
saveValue: (rsv_copy_key>0 && rrr.reservering_ispool),
hidden : (restype == "R"), // Meerdaags ruimte ondersteunen we nog niet echt
trclass : (restype == "R" ? "" : "date_to_wrapper"),
required : true,
onChange : '$("#time_from_date_to").css("color", "auto")'
});
//======= FIELD 'Aantal personen/nr visitors' =======
if (rrr.srtactiviteit_metaantal)
{

View File

@@ -31,10 +31,12 @@ var res_undelete = getQParamInt("undelete", 0) == 1; // undelete reservering
var restype = getFParam("restype", "R");
var act_key = getFParamInt("sel_activity");
var sql = "SELECT ra.res_srtactiviteit_key"
+ " , ra.res_activiteit_meteindtijd"
+ " FROM res_activiteit ra"
+ " WHERE ra.res_activiteit_key = " + act_key;
var oRs = Oracle.Execute(sql);
lcl.set_dialect(oRs("res_srtactiviteit_key").Value, "RES_SRTACTIVITEIT_KEY");
var met_eindtijd = oRs("res_activiteit_meteindtijd").Value == 1;
oRs.Close();
var warning = "";

View File

@@ -371,6 +371,7 @@ function res_list (pautfunction, params)
+ ", rm.res_rsv_ruimte_volgnr"
+ ", sa.res_srtactiviteit_prefix"
+ ", rr.res_ruimte_vervaldatum"
+ ", ract.res_activiteit_meteindtijd"
+ " FROM theResrsv rm"
+ ", res_reservering r"
+ ", res_ruimte_opstelling ro"
@@ -514,6 +515,7 @@ function res_list (pautfunction, params)
+ ", res_rsv_ruimte_volgnr"
+ ", sa.res_srtactiviteit_prefix"
+ ", null"
+ ", ract.res_activiteit_meteindtijd"
+ " FROM (" + sqlDeelCount + ") rd"
+ ", alg_v_ruimte_gegevens_all rg"
+ ", theResrsv rvarr"
@@ -623,6 +625,7 @@ function res_list (pautfunction, params)
+ ", res_rsv_ruimte_volgnr"
+ ", sa.res_srtactiviteit_prefix"
+ ", null"
+ ", ract.res_activiteit_meteindtijd"
+ " FROM (" + sqlArtCount + ") ra"
+ ", theResrsv rvarr"
+ ", alg_v_ruimte_gegevens_all rg"
@@ -693,7 +696,8 @@ function res_list (pautfunction, params)
+ " FROM res_rsv_artikel"
+ " WHERE res_rsv_ruimte_key = rec2.res_rsv_ruimte_key) nrObjects"
+ ", rec2.res_srtactiviteit_prefix"
+ ", rec2.verval";
+ ", rec2.verval"
+ ", rec2.res_activiteit_meteindtijd";
sql_groupby = " rec2.res_reservering_key"
+ ", rec2.res_reservering_ispool"
@@ -718,7 +722,8 @@ function res_list (pautfunction, params)
+ ", rec2.res_srtactiviteit_prefix"
+ ", rec2.verval"
+ ", rec2.res_rsv_ruimte_afgerond"
+ ", rec2.approval";
+ ", rec2.approval"
+ ", rec2.res_activiteit_meteindtijd";
if (fronto)
{
@@ -827,6 +832,7 @@ function res_list (pautfunction, params)
sql_rec2 += " THEN 1"
+ " ELSE 0"
+ " END approval"
+ ", res_activiteit_meteindtijd"
+ " FROM (" + sqlinside + ")"
+ " GROUP BY res_reservering_key"
+ ", res_reservering_ispool"
@@ -851,7 +857,8 @@ function res_list (pautfunction, params)
+ ", res_rsv_ruimte_volgnr"
+ ", res_srtactiviteit_prefix"
+ ", res_ruimte_vervaldatum"
+ ", res_rsv_ruimte_afgerond";
+ ", res_rsv_ruimte_afgerond"
+ ", res_activiteit_meteindtijd";
// Voeg laatste tracking datum toe
sqltrack = ", (SELECT MAX(t.fac_tracking_datum)"
@@ -922,10 +929,16 @@ function res_list (pautfunction, params)
function fncolTot(oRs)
{
var met_eindtijd = oRs("res_activiteit_meteindtijd").Value == 1;
var dateto = new Date(oRs("datumtot").value);
var dt = toTimeString(dateto);
if (isMeerdaags(oRs))
if (met_eindtijd)
{
if (isMeerdaags(oRs))
dt += "<br>" + toDateString(dateto, excel); // excel-->noDay
}
else
dt = "";
return dt;
}

View File

@@ -124,13 +124,13 @@ if (rsv_ruimte_key == -1)
if (act_key > 0)
{
var sql_a = "SELECT res_srtactiviteit_key"
+ " , res_activiteit_bezoeker"
+ " , res_activiteit_meteindtijd"
+ " FROM res_activiteit"
+ " WHERE res_activiteit_key = " + act_key;
var oRs_a = Oracle.Execute(sql_a);
if (!oRs_a.eof)
srtact = oRs_a("res_srtactiviteit_key").value;
bezoeker = oRs_a("res_activiteit_bezoeker").value == 1;
bezoeker = oRs_a("res_activiteit_meteindtijd").value == 1;
oRs_a.Close();
}
@@ -151,7 +151,7 @@ if (rsv_ruimte_key == -1)
var rrr = { rsv_ruimte_key : -1,
reservering_ispool : getQParamInt("pool",0)==1,
reservering_key : -1,
has_visitors: bezoeker
met_eindtijd: bezoeker
}
//FCLTHeader.Title(restype=='R'?L("lcl_menu_rooms"):L("lcl_menu_res_fe_objects"));
}
@@ -176,13 +176,13 @@ else // Bestaande reservering
rsv_ruimte_volgnr : oRs("res_rsv_ruimte_volgnr").value,
rsv_ruimte_verwijder: oRs("res_rsv_ruimte_verwijder").value,
rsv_ruimte_dirtlevel: oRs("res_rsv_ruimte_dirtlevel").value,
has_visitors : true
met_eindtijd : true
};
restype = oRs("alg_ruimte_key").Value? "CV" : "R";
oRs.Close()
FCLTHeader.Title(L("lcl_reservation"));
var this_res = res.func_enabled(rsv_ruimte_key); // Wat heb ik zoal aan rechten op deze specifieke reservering
rrr.has_visitors = this_res.res_has_visitors;
rrr.met_eindtijd = this_res.res_met_eindtijd;
var hasFOBOread = this_res.canReadFO || this_res.canReadBO;
user.auth_required_or_abort(this_res.canReadAny); // Meeste diepere schermen controleren ook zelf wel (UWVA#20446: bez nog niet).
@@ -681,7 +681,7 @@ if (options.length > 1) {
//======================================
if (rrr.rsv_ruimte_verwijder == null && bezauthparams && rrr.has_visitors) //TODO Ook nog check op IsBldVisitable();
if (rrr.rsv_ruimte_verwijder == null && bezauthparams && rrr.met_eindtijd) //TODO Ook nog check op IsBldVisitable();
{
if (rsv_ruimte_key < 0)
var page = "res_save_first.asp?module=BEZ";

View File

@@ -89,7 +89,7 @@ FCLTHeader.Requires({plugins: ["jQuery"]})
+ " rrr.res_rsv_ruimte_satisfaction,"
+ " rrr.res_rsv_ruimte_satisfaction_op,"
+ " res_rsv_ruimte_afgerond,"
+ " ra.res_activiteit_bezoeker"
+ " ra.res_activiteit_meteindtijd"
+ " FROM res_rsv_ruimte rrr, "
+ " res_activiteit ra, "
+ " res_srtactiviteit sa, "
@@ -141,7 +141,7 @@ FCLTHeader.Requires({plugins: ["jQuery"]})
satisfaction : oRs("res_rsv_ruimte_satisfaction").value,
satisfaction_op : oRs("res_rsv_ruimte_satisfaction_op").value,
afgerond : oRs("res_rsv_ruimte_afgerond").Value == 1,
has_visitors : oRs("res_activiteit_bezoeker").Value == 1
met_eindtijd : oRs("res_activiteit_meteindtijd").Value == 1
};
lcl.set_dialect(oRs("res_srtactiviteit_key").Value, "RES_SRTACTIVITEIT_KEY");
@@ -413,7 +413,7 @@ FCLTHeader.Requires({plugins: ["jQuery"]})
if (rrr.rsv_ruimte_tot.midnight().getTime() == rrr.rsv_ruimte_van.midnight().getTime())
{
ROFIELDTR("fldDateTime", L("lcl_date"), toDateString(rrr.rsv_ruimte_van));
var v_tot = (rrr.has_visitors || restype == "R"? " "+ L("lcl_tot") + " " + toTimeString(rrr.rsv_ruimte_tot) : "");
var v_tot = (rrr.met_eindtijd ? " "+ L("lcl_tot") + " " + toTimeString(rrr.rsv_ruimte_tot) : "");
ROFIELDTR("fldDateTime", L("lcl_time"), toTimeString(rrr.rsv_ruimte_van) + v_tot);
}
else // meerdaags