AAIT#54525 Mogelijkheid multi-actie bij gebouwen
svn path=/Website/trunk/; revision=39922
This commit is contained in:
214
APPL/ALG/alg_edit_gebouw_multi.asp
Normal file
214
APPL/ALG/alg_edit_gebouw_multi.asp
Normal file
@@ -0,0 +1,214 @@
|
||||
<%@language = "javascript" %>
|
||||
<% /*
|
||||
$Revision$
|
||||
$Id$
|
||||
|
||||
File: alg_edit_gebouw_multi.asp
|
||||
Description: Multi editten van gebouwen
|
||||
Parameters: key
|
||||
|
||||
Context: alg_gebouw_search_list.asp
|
||||
Note: De minimale multi-edit velden
|
||||
|
||||
*/ %>
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/persoonselector.inc" -->
|
||||
<!-- #include file="../Shared/kostenplaatsselector.inc" -->
|
||||
<!-- #include file="alg.inc" -->
|
||||
|
||||
<%
|
||||
FCLTHeader.Requires({ plugins:["suggest", "jQuery", "kenmerk"] });
|
||||
|
||||
var bld_key_arr = getQParamIntArray("bld_keys");
|
||||
var submitting = getQParamInt("submit", 0) == 1;
|
||||
|
||||
var warning = "";
|
||||
var result = {};
|
||||
var tobeedited = 0;
|
||||
var ingesloten = [];
|
||||
// Bepaal de gebouwen in de selectie die
|
||||
// ook echt gewijzigd kunnen of mogen worden.
|
||||
var onrgoedlvl = "G";
|
||||
for (var i = 0; i < bld_key_arr.length; i++)
|
||||
{
|
||||
var this_alg = alg.func_enabled(bld_key_arr[i], onrgoedlvl);
|
||||
if (this_alg.writeman || this_alg.writeuse)
|
||||
{
|
||||
ingesloten.push(bld_key_arr[i]);
|
||||
tobeedited++;
|
||||
var last_this_alg = this_alg; // deze gebruiken we voor rechtencontrole. Niet 100% zuiver maar goed genoeg
|
||||
}
|
||||
}
|
||||
|
||||
user.auth_required_or_abort(ingesloten.length); // We klagen niet over enkele wel en enkele niet
|
||||
%>
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<% FCLTHeader.Generate(); %>
|
||||
<%
|
||||
if (submitting)
|
||||
{
|
||||
var fields = [];
|
||||
if (Request.Form("prs_kstpl").Count == 1 && getFParam("check_prs_kstpl", "off") == "on")
|
||||
fields.push({ dbs: "prs_kostenplaats_key", typ: "key", frm: "prs_kstpl", track: L("lcl_prs_dept_kosten"), foreign: "prs_kostenplaats" });
|
||||
if (Request.Form("verantw").Count == 1 && getFParam("check_verantw", "off") == "on")
|
||||
fields.push({ dbs: "prs_perslid_key_verantw", typ: "key", frm: "verantw", track: L("lcl_alg_verantw"), foreign: "prs_perslid" });
|
||||
if (Request.Form("verantw2").Count == 1 && getFParam("check_verantw2", "off") == "on")
|
||||
fields.push({ dbs: "prs_perslid_key_verantw2", typ: "key", frm: "verantw2", track: L("lcl_alg_verantw2"), foreign: "prs_perslid" });
|
||||
|
||||
for (var i = 0; i < ingesloten.length; i++)
|
||||
{ // Ik mag het object wijzigen dus voer wijziging uit
|
||||
if (fields.length)
|
||||
{
|
||||
var algUpd = buildTrackingUpdate("alg_gebouw", " alg_gebouw_key = " + ingesloten[i], fields);
|
||||
// Submit the changed data
|
||||
var err = Oracle.Execute(algUpd.sql, true);
|
||||
if (err.friendlyMsg)
|
||||
warning = err.friendlyMsg;
|
||||
}
|
||||
else
|
||||
algUpd = { trackarray: [] };
|
||||
|
||||
// /* flextrackarray = */ ins.updateKenmerkdeel(ingesloten[i], {multimode: true});
|
||||
|
||||
var update_string = L("lcl_alg_is_alggup") + "\n" + algUpd.trackarray.join("\n");
|
||||
shared.trackaction("ALGGUP", ingesloten[i], update_string);
|
||||
}
|
||||
|
||||
%> <script type="text/javascript">
|
||||
$(function()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { success: true } )
|
||||
});
|
||||
</script>
|
||||
<% Response.End();
|
||||
}
|
||||
%>
|
||||
|
||||
<script type="text/javascript">
|
||||
function alg_submit()
|
||||
{ // Invoer van velden wordt realtime gevalideerd.
|
||||
document.forms.u2.submit();
|
||||
return true; // disable button
|
||||
}
|
||||
|
||||
function alg_cancel()
|
||||
{
|
||||
FcltMgr.closeDetail(window, { cancel: true } );
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body class="modal" id="mod_algmultiedit">
|
||||
<form name="u2" action="alg_edit_gebouw_multi.asp?submit=1&bld_keys=<%=ingesloten.join(",")%>" method="post">
|
||||
<%
|
||||
BLOCK_START("algGebouw", L("lcl_alg_gebouw_frame"));
|
||||
FCLTkostenplaatsselector( "prs_kstpl",
|
||||
"prs_kstpl",
|
||||
user_key,
|
||||
{ kostenplaatsKey: -1,
|
||||
label: L("lcl_prs_dept_kosten"),
|
||||
filtercode: "G",
|
||||
readonly: !last_this_alg.writeman
|
||||
});
|
||||
FCLTpersoonselector("verantw",
|
||||
"sgVerantw",
|
||||
{ perslidKey: -1,
|
||||
label: L("lcl_alg_verantw"),
|
||||
readonly: !last_this_alg.writeuse,
|
||||
autlevel: last_this_alg.authparams("WEB_ALGMAN") && last_this_alg.authparams("WEB_ALGMAN").PRSwritelevel
|
||||
});
|
||||
FCLTpersoonselector("verantw2",
|
||||
"sgVerantw2",
|
||||
{ perslidKey: -1,
|
||||
label: L("lcl_alg_verantw2"),
|
||||
readonly: !last_this_alg.writeuse,
|
||||
autlevel: last_this_alg.authparams("WEB_ALGMAN") && last_this_alg.authparams("WEB_ALGMAN").PRSwritelevel
|
||||
});
|
||||
BLOCK_END();
|
||||
%>
|
||||
<script type="text/javascript">
|
||||
|
||||
function putCheckmarkSuggest(prs_key, prs_txt, obj)
|
||||
{
|
||||
thisobj = $("#"+obj.suggestid);
|
||||
if (thisobj.is(":checkbox"))
|
||||
var isgevuld = thisobj.is(":checked")
|
||||
else
|
||||
var isgevuld = thisobj.val();
|
||||
|
||||
if (thisobj.hasClass("flddate"))
|
||||
var cb_name = "check_" + thisobj.attr("id").substr("show_".length);
|
||||
else if (thisobj.hasClass("suggest"))
|
||||
var cb_name = "check_" + thisobj.attr("id").substr(0, thisobj.attr("id").length-5);
|
||||
else
|
||||
var cb_name = "check_" + thisobj.attr("name");
|
||||
$("input[type=checkbox][name=" + cb_name + "]").prop("checked", isgevuld);
|
||||
// Eventuele andere onChange acties van een selecter hieronder toevoegen.
|
||||
};
|
||||
|
||||
$(function()
|
||||
{ // Een vinkboxje voor de invoer velden toevoegen.
|
||||
// Niet een vinkboxje toevoegen voor de flexkenmerken. Dat doet generateFlexKenmerkBlock.listKenmerk wel.
|
||||
$("input[type=text],input[type=checkbox],input[type=number],input:not([type]),select, textarea").not(".fldtime").not("[class^='fldflex']").not("[class^='fldSflex']").each(
|
||||
function() {
|
||||
if ($(this).hasClass("flddate"))
|
||||
var cb_name = "check_" + $(this).attr("id").substr("show_".length);
|
||||
else if ($(this).hasClass("suggest"))
|
||||
var cb_name = "check_" + $(this).attr("id").substr(0, $(this).attr("id").length-5);
|
||||
else
|
||||
var cb_name = "check_" + $(this).attr("name");
|
||||
var cb = $("<input type='checkbox'>").attr("name", cb_name);
|
||||
var td = $("<td class='multi_cb'></td>").append(cb);
|
||||
$(this).closest("tr").find(" td.label").before(td);
|
||||
|
||||
// Zetten vinkje als je waarde invult
|
||||
if ($(this).hasClass('suggest'))
|
||||
{ // Suggest veld: Functie putCheckmarkSuggest() aan sgonchange koppelen.
|
||||
this.setAttribute("sgonchange", "putCheckmarkSuggest");
|
||||
}
|
||||
else if ($(this).hasClass("flddate"))
|
||||
{
|
||||
// De FCLTcalendar vervaldatum heeft zijn eigen onChange functie die wordt aangeroepen.
|
||||
// Geen change functie aan het datum veld koppelen.
|
||||
}
|
||||
else
|
||||
{ // Andere velden dan suggest veld.
|
||||
$(this).change(function()
|
||||
{
|
||||
if ($(this).is(":checkbox"))
|
||||
var isgevuld = $(this).is(":checked")
|
||||
else
|
||||
var isgevuld = $(this).val();
|
||||
$("input[type=checkbox][name=" + cb_name + "]").prop("checked", isgevuld);
|
||||
});
|
||||
}
|
||||
|
||||
// Wissen waarde als je vinkje weghaalt
|
||||
cb.change(function(deze) {
|
||||
return function() {
|
||||
if (!$(this).is(":checked"))
|
||||
$(deze).val("");
|
||||
else if ($(deze).hasClass("required"))
|
||||
// Vinkje is aangevinkt en waarde is leeg.
|
||||
// Als het veld verplicht is het vinkje er weer afhalen.
|
||||
$(this).prop("checked", false);
|
||||
}
|
||||
}(this));
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
<%
|
||||
var buttons = [];
|
||||
buttons.push({title: L("lcl_submit"), action:"alg_submit()", singlepress: true, id: "btn_edit_submit"})
|
||||
buttons.push({title: L("lcl_cancel"), action:"alg_cancel()"})
|
||||
CreateButtons(buttons)
|
||||
IFACE.FORM_END();
|
||||
%>
|
||||
</form>
|
||||
</body>
|
||||
</html>
|
||||
@@ -80,10 +80,18 @@ function fnrowClass(oRs)
|
||||
function gebouwEdit(row)
|
||||
{
|
||||
var algData = eval('(' + row.getAttribute("ROWDATA") + ')');
|
||||
var url = "appl/alg/alg_gebouw.asp?mode=viewUpdate&key=" + algData.key;
|
||||
var url = "appl/alg/alg_gebouw.asp?mode=viewChange&key=" + algData.key;
|
||||
FcltMgr.openDetail(url, "<%=L("lcl_building")%>" + ' ' + algData.oms);
|
||||
}
|
||||
|
||||
function doChange(rowArray, isMulti)
|
||||
{
|
||||
var bldKeyString = getKeyString(rowArray);
|
||||
var subject = L("lcl_alg_multi_edit");
|
||||
var url = "../alg/alg_edit_gebouw_multi.asp?bld_keys=" + bldKeyString;
|
||||
FcltMgr.openModalDetail(url, subject, {callback: FcltCallbackRefresh});
|
||||
}
|
||||
|
||||
function doDelete(rowArray, isMulti)
|
||||
{
|
||||
FcltMgr.confirm(L("lcl_alg_del_txt_gebouw"), { autoconfirm: isMulti }, function() {
|
||||
@@ -137,13 +145,17 @@ function gebouw_list(pautfunction, params)
|
||||
function fnrowActionEnabler(oRs)
|
||||
{
|
||||
var eDelete = false;
|
||||
var eChange = false;
|
||||
var eObjMan = false;
|
||||
if (alg.canWriteGebouw(oRs("alg_gebouw_key").value, authparams.mALGwritelevel))
|
||||
eDelete = true;
|
||||
{
|
||||
eDelete = true;
|
||||
eChange = true;
|
||||
}
|
||||
// Heb ik rechten om het objectenbeheer overzicht te zien?
|
||||
if (readuse || readman)
|
||||
eObjMan = true;
|
||||
return ({eDelete: eDelete, eObjMan: eObjMan});
|
||||
return ({eDelete: eDelete, eChange: eChange, eObjMan: eObjMan});
|
||||
}
|
||||
|
||||
function fnrowFlexParams(oRs)
|
||||
@@ -280,6 +292,7 @@ function gebouw_list(pautfunction, params)
|
||||
rst.addColumn(new Column({caption: L("lcl_alg_gebouw_mjb_score1"), content: "alg_gebouw_mjb_score1"}));
|
||||
|
||||
rst.addAction({ action: "gebouwEdit", caption: L("lcl_edit"), isDefault: true});
|
||||
rst.addAction({ action: "doChange", caption: L("lcl_change"), enabler: "eChange", single:!noref, multi: true, multiOnce: true});
|
||||
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", single:!noref, multi: true, multiOnce: true});
|
||||
rst.addAction({ action: "toObjMan", caption: L("lcl_ins_object_management"), enabler: "eObjMan"});
|
||||
var cnt = rst.processResultset();
|
||||
|
||||
Reference in New Issue
Block a user