Files
Facilitor/APPL/PDA/bezoeker.asp
2017-07-17 14:36:24 +00:00

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>