PNBR#41323 Menu item koppelen aan reserverings catalogus

svn path=/Website/trunk/; revision=38181
This commit is contained in:
Erik Groener
2018-06-12 13:27:01 +00:00
parent 283d110620
commit e7a6d53352
2 changed files with 77 additions and 64 deletions

View File

@@ -50,6 +50,7 @@ if (menu_key != -1 && menuitem_key != -1)
+ " , m.ins_srtdiscipline_key"
+ " , m.ins_discipline_key"
+ " , f.fac_functie_code"
+ " , f.fac_functie_module"
+ " , lcl.l(f.fac_functie_omschrijving, 1) fac_functie_omschrijving"
+ " , m.fac_menu_level"
+ " , m.fac_menu_portal"
@@ -77,6 +78,7 @@ else if (menuitem_key != -1)
+ " , mi.fac_menuitems_default"
+ " , f.fac_functie_code"
+ " , lcl.l(f.fac_functie_omschrijving, 1) fac_functie_omschrijving"
+ " , f.fac_functie_module"
+ " FROM fac_menuitems mi"
+ " , fac_functie f"
+ " WHERE mi.fac_functie_key = f.fac_functie_key"
@@ -98,8 +100,11 @@ else if (menuitem_key != -1)
+ " , m.fac_functie_key altfunctiekey"
+ " , m.fac_menu_level"
+ " , m.fac_menu_portal"
+ " , f.fac_functie_module"
+ " FROM fac_menu m"
+ " WHERE m.fac_menu_key = " + menu_key;
+ " , fac_functie f"
+ " WHERE m.fac_functie_key = f.fac_functie_key"
+ " AND m.fac_menu_key = " + menu_key;
var oRs = Oracle.Execute(sql);
}
@@ -115,6 +120,7 @@ if (menuitem_key != -1)
var fac_mimod = oRs('fac_menuitems_module').value;
var fac_mioms = oRs('fac_menuitems_oms').value;
var fac_func = oRs('fac_functie_omschrijving').value + " (" + oRs('fac_functie_code').value + ")";
var fac_module = oRs('fac_functie_module').Value;
var fac_funckey = oRs('fac_functie_key').value;
var fac_mirw = oRs('fac_menuitems_rw').value;
var fac_miurl = oRs('fac_menuitems_url').value;
@@ -140,6 +146,7 @@ if (menu_key != -1)
var fac_msrtdisckey= oRs('ins_srtdiscipline_key').value
var fac_mlevel = oRs("fac_menu_level").value;
var fac_mportal = oRs("fac_menu_portal").value;
var fac_module = oRs('fac_functie_module').Value;
}
if (menu_key != -1 || menuitem_key != -1)
@@ -193,46 +200,43 @@ function fncolGroep(oRsvalue)
FcltMgr.closeDetail(window, { cancel: true } );
}
function toggle_disc_srtdisc()
function onchangeAltfunctie()
{
if ($("#altfunctie")[0].options[$("#altfunctie")[0].selectedIndex].disc == 0)
{
$("#disckey")[0].disabled = true;
$("#disckey").val(-1);
}
else
{
$("#disckey")[0].disabled = false;
//
var altfunc = $("#altfunctie :selected")[0];
var module = altfunc.getAttribute("functiecode").substr(4,3);
var module = altfunc.getAttribute("module");
var has_srtdisc = (altfunc.getAttribute("cnt_srtdisc") > 0 ? 1 : 0);
$("#srtdisckey")[0].disabled = !(has_srtdisc == 1);
$("#srtdisckey").val(-1);
$("#disckey")[0].disabled = (has_srtdisc == 1);
$("#disckey").val(-1);
$.getJSON( "../fac/get_fac_info_ajax.asp",
{ req_info: "menu",
module: module,
parent_key: -1, //parent_key,
init_key: -1 //init_key
soort: has_srtdisc,
parent_key: -1,
init_key: -1
},
process_info);
}
}
if ($("#altfunctie")[0].options[$("#altfunctie")[0].selectedIndex].srtdisc == 0)
{
$("#srtdisckey")[0].disabled = true;
$("#srtdisckey").val(-1);
}
else
{
$("#srtdisckey")[0].disabled = false;
//
var module = $("#altfunctie")[0].options[$("#altfunctie")[0].selectedIndex].functiecode;
function onchangeSrtdisc()
{
var altfunc = $("#altfunctie :selected")[0];
var module = altfunc.getAttribute("module");
var srtdisc = $("#srtdisckey").val();
$("#disckey").val(-1);
fill_url('srtdisc');
$.getJSON( "../fac/get_fac_info_ajax.asp",
{ req_info: "menu",
module: "MLD",
parent_key: -1, //parent_key,
module: module,
soort: 0,
parent_key: srtdisc,
init_key: -1 //init_key
},
process_info);
}
}
function fill_url(org)
@@ -264,7 +268,7 @@ function fncolGroep(oRsvalue)
}
}
var module = altfunc.getAttribute("functiecode").substr(4,3);
var module = altfunc.getAttribute("module");
if ($("#disckey").val() > 0 && module == "BES")
$("#alturl").val("appl/bes/bes_bestelling.asp?urole=" + urole);
else if ($("#disckey").val() > 0 && module == "RES")
@@ -298,14 +302,7 @@ function fncolGroep(oRsvalue)
function process_info(data)
{
var select;
switch(data.module)
{
case "BES": select = $("#disckey"); break;
case "RES": select = $("#disckey"); break;
case "MLD": select = $("#srtdisckey"); break;
}
var select = (data.soort == 1 ? $("#srtdisckey") : $("#disckey") );
var sel_key = -1;
$new_lov = $("<option>").val(-1).html("");
@@ -427,7 +424,13 @@ function fncolGroep(oRsvalue)
+ " , f.fac_functie_code || ': ' || lcl.l(f.fac_functie_omschrijving, 1)"
+ " , MAX(mi.fac_menuitems_disc) disc"
+ " , MAX(mi.fac_menuitems_srtdisc) srtdisc"
+ " , (SELECT COUNT(*)"
+ " FROM ins_srtdiscipline"
+ " WHERE ins_srtdiscipline_verwijder IS NULL"
+ " AND ins_srtdiscipline_module = f.fac_functie_module"
+ " ) cnt_srtdisc"
+ " , f.fac_functie_code functiecode"
+ " , f.fac_functie_module module"
+ " FROM fac_functie f"
+ " , fac_menuitems mi"
+ " WHERE f.fac_functie_key = mi.fac_functie_key(+)"
@@ -441,6 +444,7 @@ function fncolGroep(oRsvalue)
sql +=
" GROUP BY f.fac_functie_key"
+ " , f.fac_functie_code"
+ " , f.fac_functie_module"
+ " , f.fac_functie_omschrijving"
+ " ORDER BY 2";
@@ -448,8 +452,8 @@ function fncolGroep(oRsvalue)
sql,
{ label: L("lcl_fac_menuautorisatie"),
initKey: fac_altfunc_key? fac_altfunc_key : -1,
onChange: "toggle_disc_srtdisc()",
extraParamValue: "disc, srtdisc, functiecode",
onChange: "onchangeAltfunctie()",
extraParamValue: "disc, srtdisc, functiecode, module, cnt_srtdisc",
extraParamValueInit: "0, 0",
emptyOption: ""});
@@ -467,35 +471,38 @@ function fncolGroep(oRsvalue)
var oRs = Oracle.Execute(sql);
disc = (oRs("module").Value == "RES" ? oRs("srtdisc").Value : oRs("disc").value);
srtdisc = oRs("srtdisc").value;
oRs.Close();
}
sql = "SELECT ins_srtdiscipline_key"
+ ", " + lcl.xsqla("ins_srtdiscipline_omschrijving", "ins_srtdiscipline_key", "ins_srtdiscipline_omschrijving")
+ " FROM ins_v_aanwezigsrtdiscipline";
if (menuitem_key > -1 || menu_key > -1)
sql += " WHERE ins_srtdiscipline_module = " + safe.quoted_sql_upper(fac_module)
sql += " ORDER BY 2";
FCLTselector("srtdisckey",
sql,
{ label: L("lcl_mld_vakgroeptype"),
initKey: fac_msrtdisckey,
onChange: "onchangeSrtdisc()",
emptyOption: ""
});
sql = "SELECT ins_discipline_key"
+ ", " + lcl.xsqla("ins_discipline_omschrijving", "ins_discipline_key", "ins_discipline_omschrijving")
+ " FROM ins_tab_discipline"
+ " WHERE ins_discipline_verwijder IS NULL"
+ " AND ins_discipline_module IN ('BES','RES')"
+ " ORDER BY ins_discipline_module, 2";
+ " WHERE ins_discipline_verwijder IS NULL";
if (menuitem_key > -1 || menu_key > -1)
sql += " AND ins_discipline_module = " + safe.quoted_sql_upper(fac_module);
if (fac_misrtdisc)
sql += " AND ins_srtdiscipline_key = " + fac_misrtdisc;
sql += " ORDER BY ins_discipline_module, 2";
FCLTselector("disckey",
sql,
{ label: L("lcl_bes_discipline"),
initKey: fac_mdisckey,
onChange: "fill_url('disc')",
emptyOption: "",
disable: disc == 0
});
sql = "SELECT ins_srtdiscipline_key"
+ ", " + lcl.xsqla("ins_srtdiscipline_omschrijving", "ins_srtdiscipline_key", "ins_srtdiscipline_omschrijving")
+ " FROM ins_v_aanwezigsrtdiscipline ORDER BY 2";
FCLTselector("srtdisckey",
sql,
{ label: L("lcl_mld_vakgroeptype"),
initKey: fac_msrtdisckey,
onChange: "fill_url('srtdisc')",
emptyOption: "",
disable: srtdisc == 0
emptyOption: ""
});
RWCHECKBOXTR("level", "fldcheck", L("lcl_menulevel"), fac_mlevel, {html: "onclick='menuitemChanged();'"});

View File

@@ -23,6 +23,7 @@ var JSON_Result = true;
<%
var req_info = getQParam("req_info");
var module = getQParam("module");
var soort = getQParamInt("soort", 0);
var parent_key = getQParamInt("parent_key", -1);
var child_key = getQParamInt("child_key", -1);
var init_key = getQParamInt("init_key", -1);
@@ -33,21 +34,25 @@ switch (req_info)
{
case "menu":
{
if (module == "BES" || module == "RES")
var sql = "";
if (soort > 0)
{
sql = "SELECT ins_srtdiscipline_key sel_key"
+ " , " + lcl.xsql("ins_srtdiscipline_omschrijving", "ins_srtdiscipline_key") + " sel_oms"
+ " FROM ins_v_aanwezigsrtdiscipline"
+ " WHERE ins_srtdiscipline_module = " + safe.quoted_sql_upper(module)
+ " ORDER BY 2";
}
else
{
sql = "SELECT ins_discipline_key sel_key"
+ ", " + lcl.xsql("ins_discipline_omschrijving", "ins_discipline_key") + " sel_oms"
+ " FROM ins_tab_discipline"
+ " WHERE ins_discipline_verwijder IS NULL"
+ " AND ins_discipline_module = " + safe.quoted_sql_upper(module)
+ (parent_key > -1 ? " AND ins_srtdiscipline_key = " + parent_key : "")
+ " ORDER BY ins_discipline_module, 2";
}
else if (module == "MLD")
{
sql = "SELECT ins_srtdiscipline_key sel_key"
+ " , " + lcl.xsql("ins_srtdiscipline_omschrijving", "ins_srtdiscipline_key") + " sel_oms"
+ " FROM ins_v_aanwezigsrtdiscipline ORDER BY 2";
}
var new_lov = [];
var oRs = Oracle.Execute(sql);
while (!oRs.eof)
@@ -60,6 +65,7 @@ switch (req_info)
}
oRs.Close();
result.module = module;
result.soort = soort;
result.lov = new_lov;
break;
}