NYBU#55433 Arrangementen bij reserveringen realiseren
svn path=/Website/trunk/; revision=40210
This commit is contained in:
@@ -113,6 +113,8 @@ var api2_mapper = {
|
||||
"relationtypes" : { "filename": "appl/mgt/prs_relatietype.asp" },
|
||||
"employeefunctions" : { "filename": "appl/mgt/prs_srtperslid.asp" },
|
||||
"basispacelists" : { "filename": "appl/mgt/prs_staffel.asp" },
|
||||
"packages" : { "filename": "appl/mgt/res_arrangement.asp" },
|
||||
"packageitems" : { "filename": "appl/mgt/res_arrangement_artikel.asp" },
|
||||
"bookingactivities" : { "filename": "appl/mgt/res_activiteit.asp" },
|
||||
"bookingconsumables" : { "filename": "appl/mgt/res_artikel.asp" },
|
||||
"bookingcycles" : { "filename": "appl/mgt/res_cyclus.asp" },
|
||||
|
||||
@@ -39,7 +39,14 @@ scaffolding(this_model,
|
||||
"generalcosts",
|
||||
"sequence",
|
||||
"expirationdate"
|
||||
]
|
||||
],
|
||||
"actions":
|
||||
[
|
||||
{ action: "scf_multiarrangement", caption: L("lcl_multi_arrangement"), multi: true, onlyMulti: true, multiOnce: true }
|
||||
],
|
||||
"requires": {
|
||||
js: ["./res_artikel.js"]
|
||||
}
|
||||
},
|
||||
"show": {
|
||||
"buttons": [
|
||||
@@ -52,4 +59,8 @@ scaffolding(this_model,
|
||||
]
|
||||
}
|
||||
});
|
||||
|
||||
function scaffolding_arrangement(model, scf_params) {
|
||||
|
||||
}
|
||||
%>
|
||||
|
||||
@@ -35,6 +35,45 @@ res.res_set_dialect(rsv_ruimte_key);
|
||||
|
||||
var res_deel_key = getQParamInt("res_deel_key", -1); // Default
|
||||
var disc_key = getQParamInt("disc_key", -1); // Auto openklappen
|
||||
|
||||
// get arrangement items
|
||||
var arrangement_aantal = getQParamInt("aantal", 0);
|
||||
var arrangement_key = getQParamInt("arrangement", -1);
|
||||
%><script>
|
||||
var arrangement_aantal = <%=arrangement_aantal%>;
|
||||
var arrangement_key = <%=arrangement_key%>;
|
||||
var uren = '<%=getQParam("tijd", "12:00").split(":")[0]%>';
|
||||
var minuten = '<%=getQParam("tijd", "12:00").split(":")[1]%>';
|
||||
var items = {};
|
||||
<%
|
||||
if (arrangement_key > 0)
|
||||
{ // initial get of all arrangements and items
|
||||
var oRs = Oracle.Execute(
|
||||
"SELECT res_arrangement_key, res_artikel_key "+
|
||||
"FROM res_arrangement_artikel "+
|
||||
"ORDER BY res_arrangement_key, res_artikel_key"
|
||||
);
|
||||
var items={};
|
||||
while (!oRs.eof)
|
||||
{
|
||||
if (!items[oRs("res_arrangement_key").Value])
|
||||
{
|
||||
items[oRs("res_arrangement_key").Value] = [oRs("res_artikel_key").Value];
|
||||
%> items[<%=oRs("res_arrangement_key").Value%>] = [<%=oRs("res_artikel_key").Value%>]; <%
|
||||
}
|
||||
else
|
||||
{
|
||||
items[oRs("res_arrangement_key").Value].push(oRs("res_artikel_key").Value);
|
||||
%> items[<%=oRs("res_arrangement_key").Value%>].push(<%=oRs("res_artikel_key").Value%>); <%
|
||||
}
|
||||
oRs.MoveNext();
|
||||
}
|
||||
oRs.close();
|
||||
}
|
||||
%>
|
||||
</script>
|
||||
<%
|
||||
|
||||
if (res_deel_key > 0)
|
||||
{
|
||||
sql = "SELECT res_discipline_key"
|
||||
@@ -189,6 +228,7 @@ var new_item_key = 0; // Globaal
|
||||
$("[id^='inpbh1_c_']",$clone).focus(); // Zet cursor in urenveld.
|
||||
|
||||
FcltMgr.resized();
|
||||
return $clone;
|
||||
}
|
||||
|
||||
function showTotPriceArt_ex(elm)
|
||||
@@ -198,6 +238,7 @@ var new_item_key = 0; // Globaal
|
||||
var res_rsv = inpb_c.substr(7);
|
||||
showTotPriceArt(res_rsv);
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
@@ -276,7 +317,7 @@ var new_item_key = 0; // Globaal
|
||||
{
|
||||
if (first)
|
||||
{
|
||||
BLOCK_START("resObj",L("lcl_res_objects") + " <a href='javascript:openLegenda()'><span class='fa fa-list-ul details' title='"+L("lcl_res_legenda")+"'></span></a>", { ishtmlsafe: true });
|
||||
BLOCK_START("resObj",L("lcl_res_objects") + " <a href='javascript:openLegenda()'><i class='fa fa-list-ul details' title='"+L("lcl_res_legenda")+"'></i></a>" + " <a href='javascript:selectArrangement()'><i class='fa fa-download' title='"+L("res_arrangement")+"'></i></a>", { ishtmlsafe: true });
|
||||
%>
|
||||
<tr>
|
||||
<td>
|
||||
@@ -361,6 +402,115 @@ var new_item_key = 0; // Globaal
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function selectArrangement()
|
||||
{
|
||||
params = { width: "auto",
|
||||
height: "auto",
|
||||
resizable: true,
|
||||
position: { my: "center", at: "top+200px", of: window },
|
||||
title: '<%=L("lcl_select_package")%>'
|
||||
};
|
||||
$('#arrangement').val(-1);
|
||||
$("div.readonly.opmerkingen").html("");
|
||||
uren = '<%=res_van.getHours()%>';
|
||||
minuten = '<%=res_van.getMinutes()%>';
|
||||
$('#uren').val(extractLastTwo(uren));
|
||||
$('#minuten').val(extractLastTwo(minuten));
|
||||
$('div#modalArrangement').dialog(params).dialog('open');
|
||||
iface.button.enable(document.getElementById('btn_select_submit'))
|
||||
FcltMgr.resized();
|
||||
}
|
||||
function extractLastTwo(item) {
|
||||
return ("00").concat(item).substr(item.length, item.length+2);
|
||||
}
|
||||
function res_arr_submit()
|
||||
{ // Invoer van velden wordt realtime gevalideerd.
|
||||
uren = extractLastTwo($("#uren").val());
|
||||
minuten = extractLastTwo($("#minuten").val());
|
||||
if (arrangement_key > 0)
|
||||
{
|
||||
arrangement_key = $("#arrangement").val();
|
||||
arrangement_aantal = $("#aantal").val();
|
||||
addArrangementItems();
|
||||
$("div#modalArrangement").dialog('close');
|
||||
}
|
||||
else
|
||||
{
|
||||
var url=
|
||||
window.location.href
|
||||
+"&arrangement="+$("#arrangement").val() // attach "arrangement=" parm
|
||||
+"&aantal="+$("#aantal").val() // attach "aantal=" parm
|
||||
+"&tijd="+uren+":"+minuten; // attach "tijd=" parm in format 99:99
|
||||
window.location.href = url;
|
||||
return true; // disable button
|
||||
}
|
||||
}
|
||||
|
||||
function res_arr_cancel()
|
||||
{
|
||||
$("div#modalArrangement").dialog('close');
|
||||
}
|
||||
$(function()
|
||||
{
|
||||
$("#arrangement").on("change", function(e) {
|
||||
$("div.readonly.opmerkingen").html($("option:selected").attr("title"));
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<div id="modalArrangement" style="display:none; line-height: 30px;">
|
||||
<% BLOCK_START("arrgArtikelen", L("res_arrangement")); %>
|
||||
<tr>
|
||||
<td class="label"><label class="selector" for="arrangement"><%=L("res_arrangement")%>:</label></td>
|
||||
<td>
|
||||
<%
|
||||
// select arrangements
|
||||
var oRs = Oracle.Execute(
|
||||
"SELECT res_arrangement_key, res_arrangement_omschrijving, res_arrangement_opmerking "+
|
||||
"FROM res_arrangement"
|
||||
);
|
||||
%> <select class="fldarrangement" name="arrangement" id="arrangement">
|
||||
<option value="-1" class=" required"> </option>
|
||||
<%
|
||||
while (!oRs.eof)
|
||||
{
|
||||
%> <option data-rel="popup" data-transition="pop" value=<%=oRs("res_arrangement_key").Value%> id=<%=oRs("res_arrangement_key").Value%> title="<%=safe.html(oRs("res_arrangement_opmerking").Value)%>">
|
||||
<%=oRs("res_arrangement_omschrijving").Value%>
|
||||
</option>
|
||||
<% oRs.MoveNext();
|
||||
}
|
||||
oRs.close();
|
||||
%> </select>
|
||||
</td>
|
||||
</tr>
|
||||
<% ROTEXTAREATR("opmerkingen", L("res_arrangement_opmerking"), "");
|
||||
RWFIELDTR("aantal", "fldaantal", L("lcl_count"), 1, {datatype: "integer"});
|
||||
%> <tr>
|
||||
<td><%=L("lcl_time")%></td>
|
||||
<td><input type='number' id='uren'
|
||||
class='fld_cattime'
|
||||
name='uren'
|
||||
value='<%=res_van.getHours()%>'
|
||||
maxlength='2' size='2'>
|
||||
|
||||
<input type='number' id='minuten'
|
||||
class='fld_cattime'
|
||||
name='minuten'
|
||||
value='<%=res_van.getMinutes()%>'
|
||||
maxlength='2' size='2'>
|
||||
</td>
|
||||
</tr>
|
||||
<% BLOCK_END();
|
||||
var buttons = [];
|
||||
buttons.push({title: L("lcl_select"), action:"res_arr_submit()", singlepress: true, id: "btn_select_submit"});
|
||||
buttons.push({title: L("lcl_cancel"), action:"res_arr_cancel()"});
|
||||
CreateButtons(buttons);
|
||||
%> <div data-role="popup" id="selectremark" class="ui-content" data-theme="a" style="max-width:350px; display: none;">
|
||||
<20><><p>Here is a <strong>tiny popup</strong> being used like a tooltip. The text will wrap to multiple lines as needed.</p>
|
||||
</div>
|
||||
</div
|
||||
|
||||
|
||||
<% // ==========================================================================
|
||||
// Description: Bouwen van het catering edit blok voor een reservering
|
||||
|
||||
@@ -477,7 +627,7 @@ var new_item_key = 0; // Globaal
|
||||
<% }%>
|
||||
<div class="objcatdiv" id="div_dis<%=curr_disc_key%>" onClick="FcltMgr.stopPropagation(event)">
|
||||
<% // Hier wordt met Ajax res_load_cat.asp code tussen geplakt bij openklappen
|
||||
if (existing)
|
||||
if (existing || arrangement_key > 0)
|
||||
make_cat(curr_disc_key, rsv_ruimte_key, true, res_artikel_key);
|
||||
else
|
||||
Response.Write(loading_txt)
|
||||
@@ -492,6 +642,38 @@ var new_item_key = 0; // Globaal
|
||||
|
||||
} // einde: Toon catering
|
||||
BLOCK_END();
|
||||
|
||||
%>
|
||||
<script>
|
||||
// add arrangement items
|
||||
function addArrangementItems() {
|
||||
var itemAmt, itemRow, catLine, catLink, catSign;
|
||||
items[arrangement_key].forEach(function(item) {
|
||||
if ((itemRow = $("#row"+item)).length) { // when item is available in the list
|
||||
catLine = itemRow.closest("div.objcatline");
|
||||
catLink = $("a", catLine);
|
||||
catSign = $("i", catLink);
|
||||
catSign.removeClass("fa-plus-square-o").addClass("fa-plus-minus-o");
|
||||
catLine.removeClass("closed").addClass("existing");
|
||||
itemRow.removeClass("notexisting").addClass("existing");
|
||||
itemAmt = $("input.fld_catamount", itemRow);
|
||||
if (itemAmt.val() == 0) {
|
||||
$("input.fld_catamount", itemRow).val(arrangement_aantal);
|
||||
itemAmt.blur();
|
||||
}
|
||||
else
|
||||
{
|
||||
itemRow = res_addcat(itemAmt);
|
||||
$("input.fld_catamount", itemRow).val(arrangement_aantal);
|
||||
}
|
||||
$("[id^='inpbh1_c_']", itemRow).val(uren);
|
||||
$("[id^='inpbm1_c_']", itemRow).val(minuten);
|
||||
}
|
||||
});
|
||||
}
|
||||
if (arrangement_key > 0) { addArrangementItems(); }
|
||||
</script>
|
||||
<%
|
||||
IFACE.FORM_END();
|
||||
%>
|
||||
</form>
|
||||
|
||||
Reference in New Issue
Block a user