FCLT#57229 Bezorgmodus toch te wijzigingen, ondanks instelling 'Afhalen, niet wijzigbaar'

svn path=/Website/branches/v2019.1/; revision=42007
This commit is contained in:
Erik Groener
2019-04-09 08:14:33 +00:00
parent 58e69b7b26
commit 1f578a82cc
2 changed files with 29 additions and 6 deletions

View File

@@ -1143,6 +1143,9 @@ var timeFrom = getQParamFloat("timefrom", S("res_t1"));
}
$("#afhaal").prop("disabled", (cvab_mode & 2) == 2);
$("#bezorg").prop("disabled", (cvab_mode & 2) == 2);
$("#ab_mode").val(cvab_mode);
if (!onLoad && $("#restype").val() == "CV")
{
onAfhaalBezorgClick(); // Maak plaatsfilter leeg. Alleen voor voorzieningen reserveringen.
@@ -1480,10 +1483,12 @@ var timeFrom = getQParamFloat("timefrom", S("res_t1"));
var rvi = res.res_voorzieningen_info(rsv_ruimte_key);
}
if (rrr.ab_mode & 2) // dan vast
if ( getQParamInt("activiteit_key", -1) > -1 || rrr.res_ruimte_extern || readonlyFE )
{
// Filter voor de plaatsselector is afhankelijk van de de huidige gekozen waarde (rrr.ab_mode)
urlAdd = [{urlParam: "filtcode", val: (rrr.ab_mode & 1? "RESB" : "RESA"), init: (rrr.ab_mode & 1? "RESB" : "RESA")}];
// Als de activiteit niet gewijzigd kan worden zijn de radiobuttons voor afhalen/bezorgen niet nodig.
// In plaats daarvan vaste teksten: Af te halen in / Te bezorgen in.
%><tr><td class="label">
<label><%=(rrr.ab_mode & 1)? L("lcl_res_bezorgen_fixed") : L("lcl_res_afhalen_fixed")%>:</label>
</td><td><input type="hidden" id="ab_mode" name="ab_mode" value="<%=rrr.ab_mode%>"></td></tr>
@@ -1492,11 +1497,19 @@ var timeFrom = getQParamFloat("timefrom", S("res_t1"));
{
// Filter voor de plaatsselector is afhankelijk van de de huidige gekozen waarde (rrr.ab_mode)
urlAdd = [{urlParam: "filtcode", jqfield: "#ab_mode_filtcode", init: (rrr.ab_mode & 1? "RESB" : "RESA")}];
// Omdat de activiteit nog wel te wijzigen is moeten de radiobuttons voor afhalen/bezorgen wel aanwezig zijn.
// Echter als de activiteit aangeeft dat de waarde afhalen/bezorgen vast is (=2|3) dan radiobuttons gray-out zodat gebruiker niet kan wijzigen.
%>
<tr><td></td>
<td><label class="lt"><input type="radio" id="afhaal" name="ab_mode" value="0" <%=!(rrr.ab_mode & 1)? "checked" : ""%> onClick="onAfhaalBezorgClick()"><%=L("lcl_res_afhalen")%></label>
<label class="lt"><input type="radio" id="bezorg" name="ab_mode" value="1" <%=rrr.ab_mode & 1? "checked" : ""%> onClick="onAfhaalBezorgClick()"><%=L("lcl_res_bezorgen")%></label>
<input type="hidden" id="ab_mode_filtcode" name="ab_mode_filtcode" value="<%=(rrr.ab_mode & 1? "RESB" : "RESA")%>">
<tr>
<td></td>
<td>
<label class="lt">
<input type="radio" id="afhaal" name="ab_mode" value="0" <%=(rrr.ab_mode & 2 ? "disabled " : "")%> <%=(!(rrr.ab_mode & 1)? "checked" : "")%> onClick="onAfhaalBezorgClick()"><%=L("lcl_res_afhalen")%>
</label>
<label class="lt">
<input type="radio" id="bezorg" name="ab_mode" value="1" <%=(rrr.ab_mode & 2 ? "disabled " : "")%> <%=( (rrr.ab_mode & 1)? "checked" : "")%> onClick="onAfhaalBezorgClick()"><%=L("lcl_res_bezorgen")%>
</label>
<input type="hidden" id="ab_mode_filtcode" name="ab_mode_filtcode" value=" <%=(rrr.ab_mode & 1? "RESB" : "RESA")%>">
</td>
</tr>
<%

View File

@@ -32,11 +32,13 @@ var restype = getFParam("restype", "R");
var act_key = getFParamInt("sel_activity");
var sql = "SELECT ra.res_srtactiviteit_key"
+ " , ra.res_activiteit_meteindtijd"
+ " , ra.res_activiteit_cvab_mode"
+ " 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;
var act_cvab_mode = oRs("res_activiteit_cvab_mode").Value;
oRs.Close();
var warning = "";
@@ -346,7 +348,15 @@ if (S("res_reservering_flags") > 0)
// Afhalen of bezorgen alleen voor CV reserveringen
if (restype == "CV")
{
fields.push({ dbs: "res_rsv_ruimte_cvab_mode", typ: "number", frm: "ab_mode", track: (L("lcl_res_bezorgen_fixed") +"/" + L("lcl_res_afhalen_fixed")) });
var cvab_mode = 0;
if ( hasFParam("ab_mode") )
cvab_mode = getFParamInt("ab_mode"); // Let op: ab_mode kan hier ook null zijn!
else
cvab_mode = ( (act_cvab_mode & 2) == 2
? act_cvab_mode
: ( getFParamSafe("ab_mode_filtcode", "") == "RESA" ? 0 : 1 )
);
fields.push({ dbs: "res_rsv_ruimte_cvab_mode", typ: "number", val: cvab_mode, track: (L("lcl_res_bezorgen_fixed") +"/" + L("lcl_res_afhalen_fixed")) });
}
// We kennen de checkbox res_noshow en invulveld bezshown (RWSN#19201)