HSLE#36222 Vanuit ruimtelijst multi verbruiksartikelen scope toevoegen

svn path=/Website/trunk/; revision=30648
This commit is contained in:
Jos Groot Lipman
2016-09-08 13:13:47 +00:00
parent b0d4314633
commit 1d8c6bd97a
4 changed files with 137 additions and 0 deletions

View File

@@ -88,6 +88,16 @@ function ruimte_list(pautfunction, params)
FcltMgr.openModalDetail("alg_ruimteafdeling.asp?ruimte_keys=" + ruimteArr.join(","), L("lcl_alg_ruimte_bezetting"));
}
function doRESScope(rowArray)
{
var ruimteArr = [];
for (var i = 0; i < rowArray.length; i++)
{
ruimteArr.push(rowArray[i].getAttribute("ROWKEY"))
}
FcltMgr.openModalDetail("alg_ruimteresscope.asp?ruimte_keys=" + ruimteArr.join(","), L("res_srtartikel_onrgoed"));
}
function doDelete(row, isMulti)
{
$(row).addClass('dirty');
@@ -293,6 +303,8 @@ function ruimte_list(pautfunction, params)
rst.addAction({ action: "ruimteEditMulti", caption: L("lcl_alg_multi_edit"), multi: true, multiOnce: true, single: false, enabler: "eEditMulti"});
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), multi: true, single: !noref, enabler: "eDelete" });
rst.addAction({ action: "doRuimteAfdeling", caption: L("lcl_alg_bezetting"), multi: true, multiOnce: true, enabler: "eBezetting" });
if (user.has("WEB_RESMSU"))
rst.addAction({ action: "doRESScope", caption: L("res_srtartikel_onrgoed"), multi: true, single: false, multiOnce: true });
if (!noref)
{
if (S("prs_werkplek_implicit") == 0)

View File

@@ -0,0 +1,72 @@
<%@language = "javascript"%>
<% /*
$Revision$
$Id$
File: alg_ruimteresscope.asp
Description: Laat een ruimtes x res_catalogus kiezen bulk kiezen
Parameters: ruimte_keys: komma separated lijst met alg_ruimte_keys
Context:
Note:
k
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="alg.inc" -->
<%
FCLTHeader.Requires({ plugins:["jQuery"]
});
user.checkAutorisation('WEB_RESMSU');
var ruimte_key_arr = getQParamIntArray("ruimte_keys");
%>
<html>
<head>
<% FCLTHeader.Generate(); %>
<script>
function alg_submit(scopemode)
{
if ($('select#objcatmulti option:selected').length == 0)
return;
if (!confirm(L(scopemode=="A"?"lcl_add":"lcl_delete") + "\n" + L("lcl_R_U_sure")))
return;
$('input#scopemode').val(scopemode);
$.post($("form[name=u2]")[0].action, $("[name=u2]").serialize(), FcltCallbackClose, "json");;
}
</script>
</head>
<body class="modal" id="mod_ruimteresscope">
<form name="u2" method="post" action="alg_ruimteresscope_save.asp?ruimte_keys=<%=ruimte_key_arr.join(",")%>">
<input type='hidden' name='scopemode' id='scopemode'>
<% BLOCK_START("alg_ruimteresscope", L("lcl_alg_geselecteerde_ruimten") + ": " + ruimte_key_arr.length);
var sql = "SELECT rd.ins_discipline_key"
+ ", "+ lcl.xsql('rd.ins_discipline_omschrijving','rd.ins_discipline_key') +" omschrijving"
+ " FROM res_v_aanwezigdiscipline rd"
+ " WHERE rd.ins_discipline_min_level = 2"
+ " ORDER BY ins_discipline_volgnr, 2";
FCLTselector("objcatmulti",
sql,
{
label: L("lcl_res_objcat"),
size: 10,
multi: true,
startmulti: true
});
BLOCK_END();
var buttons = [ {title: L("lcl_add"), action: "alg_submit('A')" },
{title: L("lcl_delete"), action: "alg_submit('D')" },
{title: L("lcl_cancel"), action: "gen_cancel()"} ];
CreateButtons(buttons);
IFACE.FORM_END();
%>
</form>
</body>
</html>

View File

@@ -0,0 +1,52 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
SUBMIT-form
*/ %>
<%
var JSON_Result = true;
%>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../API2/api2.inc" -->
<!-- #include file="../Shared/json2.js" -->
<%
protectRequest.validateToken();
user.checkAutorisation('WEB_RESMSU');
var ruimte_key_arr = getQParamIntArray("ruimte_keys");
var scope_key_arr = getFParamIntArray("objcatmulti");
var scopemode = getFParamSafe("scopemode"); // A=Add, D=Delete
var toaster;
if (scopemode == 'A')
{
var sql = "INSERT INTO res_srtartikel_onrgoed"
+ " (alg_onrgoed_niveau, alg_onrgoed_key, res_discipline_key)"
+ " SELECT 'R', alg_ruimte_key, ins_discipline_key"
+ " FROM alg_ruimte,"
+ " res_discipline"
+ " WHERE alg_ruimte_key IN ({0})".format(ruimte_key_arr.join(", "))
+ " AND ins_discipline_key IN ({0})".format(scope_key_arr.join(", "));
Oracle.Execute(sql);
//var toaster = L("lcl_scf_is_added").format(L("res_srtartikel_onrgoed_m"));
}
else if (scopemode == 'D')
{
var sql = "UPDATE res_srtartikel_onrgoed"
+ " SET res_srtartikel_og_verwijder = SYSDATE"
+ " WHERE res_srtartikel_og_verwijder IS NULL"
+ " AND alg_onrgoed_niveau = 'R'"
+ " AND alg_onrgoed_key IN ({0})".format(ruimte_key_arr.join(", "))
+ " AND res_discipline_key IN ({0})".format(scope_key_arr.join(", "));
Oracle.Execute(sql);
var toaster = L("lcl_scf_is_deleted").format(L("res_srtartikel_onrgoed_m"));
}
var result = { toaster: toaster,
success: true };
Response.Write(JSON.stringify(result));
%>

View File

@@ -2771,6 +2771,7 @@ body.likemodal {
#mod_mldfixsla {width:500px; height: 260px;}
#mod_urenremarkbody {width:500px;}
#mod_resdelete {width:500px;}
#mod_ruimteresscope {width:500px;}
#mod_mldforward {width:600px;}
#mod_tekedit {width:500px;}
#mod_caddoorvoeren {width:500px;}