FCLT#55779 Nieuwe meldingen registreren t/m min verplicht niveau op Mobile
svn path=/Website/trunk/; revision=40816
This commit is contained in:
@@ -88,7 +88,7 @@ if (mld_key == -1)
|
||||
}
|
||||
// Optioneel:
|
||||
var ins_key = getQParamInt("ins_key", -1); // test 5009 Het kan zijn dat ik vanuit de lijst deze meekrijg om een nieuwe aan te maken
|
||||
var ruimte_key = getQParamInt("ruimte_key", -1); // Het kan zijn dat ik vanuit de lijst deze meekrijg om een nieuwe aan te maken
|
||||
var ruimte_key = getQParamInt("ruimte_key", getQParamInt("roo_key", -1)); // Het kan zijn dat ik vanuit de lijst deze meekrijg om een nieuwe aan te maken
|
||||
addSubheader = (ins_key > -1 || ruimte_key > -1);
|
||||
if (ruimte_key==-1 && ins_key > -1)
|
||||
{
|
||||
@@ -119,10 +119,10 @@ if (mld_key == -1)
|
||||
var alg_level = this_stdmelding.ins_srtdiscipline_alglevel;
|
||||
|
||||
// Deze zijn niet waarschijnlijk meegegeven, maar de defaultwaarde is ook al handig
|
||||
var locatie_key = getQParamInt("locatie_key", -1); // Locatie
|
||||
var gebouw_key = getQParamInt("gebouw_key", -1); // Gebouw, kan -1 zijn, dan niet gebruiken
|
||||
var verdieping_key = getQParamInt("verdieping_key", -1);
|
||||
var ruimte_key = getQParamInt("ruimte_key", -1);
|
||||
var locatie_key = getQParamInt("locatie_key", getQParamInt("loc_key", -1)); // Locatie
|
||||
var gebouw_key = getQParamInt("gebouw_key", getQParamInt("bld_key", -1)); // Gebouw, kan -1 zijn, dan niet gebruiken
|
||||
var verdieping_key = getQParamInt("verdieping_key", getQParamInt("flr_key", -1));
|
||||
var ruimte_key = getQParamInt("ruimte_key", getQParamInt("roo_key", -1));
|
||||
if (locatie_key < 0 && gebouw_key < 0 && verdieping_key < 0 && ruimte_key < 0)
|
||||
{ // Geen waarden meegegeven. Neem eigen werklocatie die hoort bij de srtdiscipline van de stdmelding.
|
||||
// Restrict level to mobile_alg_level setting (LGV)
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
<!-- #include file="../shared/common.inc" -->
|
||||
<!-- #include file="./resultset_table.inc" -->
|
||||
<!-- #include file="./mobile.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../prs/prs.inc" -->
|
||||
<!-- #include file="../mld/mld.inc" -->
|
||||
<!-- #include file="./iface.inc" -->
|
||||
<!-- #include file="../shared/suggest/stdmeldingFilter.inc" -->
|
||||
@@ -33,17 +35,36 @@ var qrc = getQParamInt("qrc", 0) != 0;
|
||||
var action = getQParam("action", "");
|
||||
var urole = getQParamSafe("urole", "");
|
||||
var stdm_keys = getQParamIntArray("stdm_keys", []);
|
||||
var objPlaats = {
|
||||
loc_key: -1,
|
||||
bld_key: -1,
|
||||
flr_key: -1,
|
||||
parms: function() {
|
||||
return (objPlaats.loc_key > 0 ? "&loc_key="+objPlaats.loc_key : "") +
|
||||
(objPlaats.bld_key > 0 ? "&bld_key="+objPlaats.bld_key : "") +
|
||||
(objPlaats.flr_key > 0 ? "&flr_key="+objPlaats.flr_key : "");
|
||||
}
|
||||
};
|
||||
|
||||
if (urole == "")
|
||||
{
|
||||
// Voorlopig bepalen wat de urole is, voor gebruik in autfunction.
|
||||
urole = (user.has("WEB_MLDFOF") ? "fo" : "fe");
|
||||
}
|
||||
var transitParam = buildTransitParam(["mld_key", "action", "disc", "srtdisc", "ins_key", "locatie_key", "gebouw_key", "verdieping_key", "ruimte_key", "meldbronkey", "deelsrtcont_key"] );
|
||||
var transitParam = buildTransitParam(["mld_key", "action", "disc", "srtdisc", "ins_key", "loc_key", "bld_key", "flr_key", "roo_key", "meldbronkey", "deelsrtcont_key"] );
|
||||
var sql = "SELECT COALESCE(MIN(fac_gebruiker_alg_level_write), 9) writelevel"
|
||||
+ " FROM fac_v_webgebruiker g, fac_functie f "
|
||||
+ " WHERE g.fac_functie_key = f.fac_functie_key "
|
||||
+ " AND f.fac_functie_code = " + safe.quoted_sql("MLD_FOF")
|
||||
+ " AND g.prs_perslid_key = " + user_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
var autlevel = oRs("writelevel").Value; // Pas op: kan ook '0' zijn (regio)
|
||||
oRs.Close();
|
||||
|
||||
// Verplicht:
|
||||
var disc_key = getQParamInt("disc", -1);
|
||||
var srtdisc_key = getQParamInt("srtdisc", -1);
|
||||
var stdm_key = getQParamInt("stdm", -1);
|
||||
|
||||
// Optioneel
|
||||
var ins_key = getQParamInt("ins_key", -1); // test UWVA:11525 Het kan zijn dat ik vanuit de lijst deze meekrijg om een nieuwe aan te maken
|
||||
@@ -55,6 +76,57 @@ if (user.has("WEB_MLDUSE")) autfunction.push("WEB_MLDUSE"); // voor urole=fe en
|
||||
if (srtdisc_key > 0)
|
||||
lcl.set_dialect(srtdisc_key, "MLD_SRTDISCIPLINE_KEY");
|
||||
|
||||
// determine required level through mld_stdmelding
|
||||
var stdm_info = stdm_key > 0 ? mld.mld_stdmeldinginfo(stdm_key) : "";
|
||||
|
||||
var requiredlevel = -1;
|
||||
if (stdm_info == "")
|
||||
{
|
||||
var next_asp = "melding_new.asp"; // until disc_key is present
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!stdm_info.ins_srtdiscipline_alg)
|
||||
{
|
||||
var next_asp = "melding.asp"; // no place selection required, back without place selected
|
||||
else
|
||||
{
|
||||
var next_asp = "plaatsselector.asp"; // via place selector
|
||||
switch (stdm_info.alg_onrgoed_niveau)
|
||||
{
|
||||
case "L" : requiredlevel = 2; break;
|
||||
case "G" : requiredlevel = 3; break;
|
||||
case "V" : requiredlevel = 4; break;
|
||||
case "R" : requiredlevel = 5; break;
|
||||
}
|
||||
// Determine user's workplace
|
||||
var thisUser = prs.prs_perslid(user_key, { withWL: true })
|
||||
var alg_level = -1; // location
|
||||
if (thisUser.werklocatie)
|
||||
{
|
||||
if (thisUser.werklocatie.alg_verdieping_key && thisUser.werklocatie.alg_verdieping_key > 0)
|
||||
alg_level = 4; // floor
|
||||
else if (thisUser.werklocatie.alg_gebouw_key && thisUser.werklocatie.alg_gebouw_key > 0)
|
||||
alg_level = 3; // building
|
||||
else if (thisUser.werklocatie.alg_locatie_key && thisUser.werklocatie.alg_locatie_key > 0)
|
||||
alg_level = 2; // location
|
||||
}
|
||||
|
||||
// determine how to handle place selection
|
||||
var startlevel = 2; // location
|
||||
if (S("mld_mobile_place_handler") == "2")
|
||||
{ // autofill user's workplace up to required level
|
||||
switch (requiredlevel)
|
||||
{
|
||||
case 5:
|
||||
case 4: if (alg_level >= 4) { objPlaats.flr_key = thisUser.werklocatie.alg_verdieping_key; }
|
||||
case 3: if (alg_level >= 3) { objPlaats.bld_key = thisUser.werklocatie.alg_gebouw_key; }
|
||||
case 2: if (alg_level >= 2) { objPlaats.loc_key = thisUser.werklocatie.alg_locatie_key; }
|
||||
}
|
||||
}
|
||||
if (alg_level >= requiredlevel) { var next_asp = "melding.asp"; }
|
||||
}
|
||||
}
|
||||
%>
|
||||
<html>
|
||||
<head>
|
||||
@@ -62,8 +134,48 @@ if (srtdisc_key > 0)
|
||||
<script type="text/javascript">
|
||||
function mld_new(disc_key, stdm_key, urole)
|
||||
{
|
||||
window.location.href = "melding.asp?disc_key="+disc_key+"&stdm_key=" + stdm_key + "<%=safe.jsstring(transitParam)%>&urole=" + urole;
|
||||
<% if (next_asp == "melding.asp")
|
||||
{
|
||||
%>
|
||||
var purl = "melding.asp"
|
||||
+ "?mld_key=-1"
|
||||
+ "&disc_key="+disc_key
|
||||
+ "&stdm_key=" + stdm_key
|
||||
+ "<%=safe.jsstring(objPlaats.parms())%>"
|
||||
+ "&urole=" + urole
|
||||
<%
|
||||
}
|
||||
else
|
||||
{
|
||||
%>
|
||||
var purl = "?mld_key=-1"
|
||||
+ "&disc_key=" + disc_key
|
||||
+ "&stdm_key=" + stdm_key
|
||||
+ "&urole=" + urole
|
||||
purl = "<%=next_asp%>"
|
||||
+ "?act_key=<%=getQParamInt("act_key", -1)%>" // fac_activiteit_key voor geplande meldingen.
|
||||
+ "&disc=" + disc_key
|
||||
+ "&stdm=" + stdm_key
|
||||
+ "&filtCode=FAC"
|
||||
+ "<%=safe.jsstring(objPlaats.parms())%>"
|
||||
+ "&autlevel=-1"
|
||||
+ "&startlevel=<%=startlevel%>"
|
||||
+ "&eindlevel=<%=requiredlevel%>"
|
||||
+ "&return_to=<%=safe.url("melding.asp")%>" + encodeURIComponent(purl);
|
||||
<%
|
||||
}
|
||||
%>
|
||||
window.location.href = purl;
|
||||
}
|
||||
<%
|
||||
if ((next_asp == "plaatsselector.asp" || next_asp == "melding.asp") && disc_key > 0)
|
||||
{
|
||||
%>
|
||||
mld_new("<%=disc_key%>", "<%=stdm_key%>", "<%=urole%>");
|
||||
<%
|
||||
}
|
||||
|
||||
%>
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
Reference in New Issue
Block a user