210 lines
7.1 KiB
Plaintext
210 lines
7.1 KiB
Plaintext
<%@language = "javascript" %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: pda/bezoeker.asp
|
|
Description: Add/wijzig melding (Mobile version)
|
|
Parameters: afs_key voor bestaande melding
|
|
afs_key=-1 voor nieuwe melding
|
|
|
|
Note:
|
|
|
|
*/ %>
|
|
|
|
<!-- #include file="../Shared/common.inc" -->
|
|
<!-- #include file="../Shared/calendar.inc" -->
|
|
<!-- #include file="../Shared/selector.inc" -->
|
|
<!-- #include file="../Shared/suggest/suggest.inc" -->
|
|
<!-- #include file="../bez/bez.inc" -->
|
|
<!-- #include file="../bez/bez_flexkenmerk.inc" -->
|
|
<!-- #include file="../res/res.inc" -->
|
|
<!-- #include file="./resultset_table.inc" -->
|
|
<!-- #include file="./mobile.inc" -->
|
|
<!-- #include file="./iface.inc" -->
|
|
|
|
<%
|
|
|
|
FCLTHeader.Requires({ plugins:["suggest"],
|
|
js: ["./modernizr-3.3.0.custom.min.js"] });
|
|
FCLTHeader.Requires({ js: ["jquery.timepicker-table.js"],
|
|
css: ["timePicker-table.css"] });
|
|
|
|
var afs_key = getQParamInt("afs_key"); // Bezoekers toevoegen aan bestaande afspraak.
|
|
var qrc = getQParamInt("qrc", 0) != 0;
|
|
var rsv_ruimte_key = getQParamInt("rsv_ruimte_key", -1);
|
|
|
|
var urole = "fe";
|
|
|
|
var isReservering = false;
|
|
|
|
if (rsv_ruimte_key != -1)
|
|
{
|
|
var sql = "SELECT bez_afspraak_key"
|
|
+ " FROM bez_afspraak"
|
|
+ " WHERE res_rsv_ruimte_key = " + rsv_ruimte_key;
|
|
var oRs = Oracle.Execute(sql);
|
|
if (!oRs.Eof)
|
|
afs_key = oRs("bez_afspraak_key").Value;
|
|
oRs.Close();
|
|
//
|
|
// Als afs_key == -1 dan zijn er nog geen bezoekers bij een reservering aangemeld.
|
|
// Haal de benodigde informatie uit de reservering.
|
|
var rsv = res.res_rsv_ruimte_info(rsv_ruimte_key);
|
|
isReservering = true;
|
|
}
|
|
|
|
|
|
var this_bez = bez.func_enabled_afspraak(afs_key);
|
|
user.auth_required_or_abort(this_bez.canReadAny);
|
|
var authparams = user.checkAutorisation("WEB_BEZUSE");
|
|
|
|
var aantal_gebter = 0;
|
|
if (afs_key != -1)
|
|
{
|
|
var bez_info = bez.bez_afspraak_info(afs_key);
|
|
// Heeft de locatie parkeerplaatsen?
|
|
var gebtersql = bez.getgebouwterrein_sql(bez_info.bez_afspraak_datum, bez_info.bez_afspraak_eind, bez_info.locatie_key);
|
|
oRs = Oracle.Execute(gebtersql);
|
|
while (!oRs.eof)
|
|
{
|
|
aantal_gebter++;
|
|
oRs.MoveNext();
|
|
}
|
|
oRs.Close();
|
|
}
|
|
|
|
var subject = isReservering
|
|
? L("lcl_mobile_bezoek")
|
|
: L("lcl_vis_appointment") + " " + afs_key;
|
|
%>
|
|
<html>
|
|
<head>
|
|
<% FCLTMHeader.Generate({title: subject }); %>
|
|
<script type="text/javascript">
|
|
function bez_submit_callback(json)
|
|
{
|
|
window.location.href = "afspraak.asp?afs_key=" + json.afspraak_key; // Terug naar het afspraken scherm
|
|
}
|
|
|
|
function validateBezoekers()
|
|
{
|
|
var find = 0;
|
|
if ($("#bez1"))
|
|
if ($("#bez1").val() != "")
|
|
{
|
|
// Voor elke blok met bezoekers-gegevens de classes ophalen.
|
|
// Zit er een class "requiredxxxx" bij, dan een aparte class "required" toevoegen voor alle flexvelden
|
|
// die verplicht zijn en dezelfde groep xxxx hebben.
|
|
// Heeft een blok met bezoekersgegevens geen classes dan kan dit overgeslagen worden.
|
|
if ($("#bez1").attr("class"))
|
|
{
|
|
var bez_classnames = $("#bez1").attr("class").split(/\s+/);
|
|
$.each( bez_classnames
|
|
, function(i, bez_class)
|
|
{
|
|
if (bez_class.indexOf("required") == 0)
|
|
{
|
|
var groep = bez_classnames[i].replace("required", "")
|
|
checkRequiredGroup(groep); // zet eventuele flexkenmerken op required als deze bezoeker is ingevuld.
|
|
}
|
|
}
|
|
)
|
|
}
|
|
find++;
|
|
}
|
|
if (find == 0)
|
|
{
|
|
alert(L("lcl_bez_geef_bezoeker"));
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
function bez_submit()
|
|
{
|
|
// Verwijderen parkeerplaats(en).
|
|
if (!$("#prk1").is(":checked"))
|
|
$("#gebouwkey1").val(-1);
|
|
if (!validateBezoekers())
|
|
return false;
|
|
|
|
var submit_url = $("form[name=bezoekers]")[0].action
|
|
+ (<%=rsv_ruimte_key%> != -1 ? "&rsv_ruimte_key=<%=rsv_ruimte_key%>" : "");
|
|
$.post( submit_url
|
|
, $("form[name=bezoekers]").serialize()
|
|
, McltCallbackAndThen(bez_submit_callback)
|
|
, "json");
|
|
return true;
|
|
}
|
|
</script>
|
|
</head>
|
|
<body>
|
|
<div>
|
|
<%
|
|
PAGE_START({id: "page-1-"+afs_key});
|
|
HEADER({title: subject, back:!qrc, home: !qrc, datatheme: jQFrontEndTheme });
|
|
CONTENT_START();
|
|
%>
|
|
<form name="bezoekers"
|
|
id="bezoekers"
|
|
action="../bez/bez_edit_bezoekers_save.asp?urole=fe&mobile=1&afspr_key=<%=afs_key%>&rsv_ruimte_key=<%=rsv_ruimte_key%>"
|
|
method="post">
|
|
<input type="hidden" name="next_vis" value="2">
|
|
<%
|
|
var rij = 0;
|
|
GRID_START(2);
|
|
COL_START(1);
|
|
RWFIELD("bez1", L("lcl_vis_name"), "" , { pclass: " required"});
|
|
COL_END();
|
|
COL_START(2);
|
|
RWFIELD("bed1", L("lcl_vis_company"), "");
|
|
COL_END();
|
|
// Als de locatie parkeerplaatsen heeft, dan de parkeerplaats checkbox plaatsen.
|
|
// Ook al kun je geen parkeerplaats boeken op de aangegeven locatie.
|
|
// Mocht je dan toch het vinkje hebben gezet, dan krijg je tijdens het boeken wel de melding dat de parkeerplaats niet geboekt kon worden.
|
|
if (S("vis_parking_key") != -1 && this_bez.canWritePrk && aantal_gebter > 0)
|
|
{
|
|
COL_START(1, {width: 100});
|
|
CHB_FIELD("prk1", L("lcl_vis_park"), false, {readonly: false});
|
|
// Voor mobile altijd checkboxen ("S"=suggestboxen, "C"=checkboxen). nodig voor het opslaan
|
|
// Voor nieuwe bezoeker altijd "C".
|
|
%> <div style="display: none"> <%
|
|
%> <input type="text" id="prkselect1" name="prkselect1" value="C"> <%
|
|
%> </div> <%
|
|
%> <input type="hidden" id="gebouwkey1" name="gebouwkey1" value="-1"> <%
|
|
COL_END();
|
|
}
|
|
|
|
COL_START(1, {width: 100});
|
|
CONTENT_START({});
|
|
%> <table id="bezFlexList1"><tbody> <%
|
|
generateFlexKenmerkCode ({ urole: urole
|
|
, bez_key : -1
|
|
, afspraak_key: afs_key
|
|
, reado: false
|
|
, flexcolumns: 1
|
|
, beznum: 1
|
|
, requiredbyfield: "bez1"
|
|
, mobile: true
|
|
});
|
|
%> </tbody></table> <%
|
|
CONTENT_END();
|
|
COL_END();
|
|
GRID_END();
|
|
|
|
CONTROLGROUP_START();
|
|
BUTTON(L("lcl_submit"), {click: "bez_submit()", dataicon: "refresh", singlepress: true});
|
|
CONTROLGROUP_END();
|
|
IFACE.FORM_END();
|
|
%>
|
|
</form>
|
|
<%
|
|
CONTENT_END();
|
|
FOOTER();
|
|
PAGE_END();
|
|
%>
|
|
</div>
|
|
</body>
|
|
</html>
|