AKZA#36634 ALG: "Multi wijzigen" flexkenmerken voor ruimtes
svn path=/Website/trunk/; revision=29891
This commit is contained in:
212
APPL/ALG/alg_edit_ruimte_multi.asp
Normal file
212
APPL/ALG/alg_edit_ruimte_multi.asp
Normal file
@@ -0,0 +1,212 @@
|
|||||||
|
<%@language = "javascript" %>
|
||||||
|
<% /*
|
||||||
|
$Revision$
|
||||||
|
$Id$
|
||||||
|
|
||||||
|
File: alg_edit_ruimte_multi.asp
|
||||||
|
Description: Multi editten van de flexkenmerken van ruimtes
|
||||||
|
Parameters: alg_keys
|
||||||
|
|
||||||
|
Context:
|
||||||
|
Note:
|
||||||
|
|
||||||
|
*/ %>
|
||||||
|
<!-- #include file="../Shared/common.inc" -->
|
||||||
|
<!-- #include file="../Shared/iface.inc" -->
|
||||||
|
<!-- #include file="../Shared/save2db.inc" -->
|
||||||
|
<!-- #include file="../Shared/json2.js" -->
|
||||||
|
<!-- #include file="../Shared/selector.inc" -->
|
||||||
|
<!-- #include file="../Shared/kenmerk_common.inc" -->
|
||||||
|
<!-- #include file="./alg_flexkenmerk.inc" -->
|
||||||
|
<!-- #include file="./alg.inc" -->
|
||||||
|
|
||||||
|
<%
|
||||||
|
FCLTHeader.Requires({ plugins:["suggest", "jQuery", "kenmerk"] });
|
||||||
|
|
||||||
|
var alg_key_arr = getQParamIntArray("alg_keys");
|
||||||
|
var alg_level = getQParam("alg_level");
|
||||||
|
|
||||||
|
var warning = "";
|
||||||
|
var result = {};
|
||||||
|
var tobeedited = 0;
|
||||||
|
var ingesloten = [];
|
||||||
|
// Bepaal de ruimtes in de selectie die
|
||||||
|
// ook echt bewerkt kunnen of mogen worden.
|
||||||
|
for (var i = 0; i < alg_key_arr.length; i++)
|
||||||
|
{
|
||||||
|
var this_alg = alg.func_enabled(alg_key_arr[i], "R");
|
||||||
|
if (this_alg.writeman || this_alg.writeuse)
|
||||||
|
{
|
||||||
|
ingesloten.push(alg_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(tobeedited > 0); // We klagen niet over enkele wel en enkele niet
|
||||||
|
|
||||||
|
/*
|
||||||
|
var sql = "SELECT alg_srtruimte_key"
|
||||||
|
+ " , mld_dienstniveau_key"
|
||||||
|
+ " , alg_ruimte_omschrijving"
|
||||||
|
+ " , alg_ruimte_opmerking"
|
||||||
|
+ " , alg_ruimte_beginuur"
|
||||||
|
+ " , alg_ruimte_einduur"
|
||||||
|
+ " , alg_ruimte_werkdagen"
|
||||||
|
+ " FROM alg_ruimte"
|
||||||
|
+ " WHERE alg_ruimte_key in (" + ingesloten.join(",") + ")";
|
||||||
|
var oRs = Oracle.Execute(sql);
|
||||||
|
if (!oRs.eof)
|
||||||
|
{
|
||||||
|
var diff = { srtruimte_key: oRs("alg_srtruimte_key").Value,
|
||||||
|
dienstniveau_key: oRs("mld_dienstniveau_key").Value,
|
||||||
|
omschrijving: oRs("alg_ruimte_omschrijving").Value,
|
||||||
|
opmerking: oRs("alg_ruimte_opmerking").Value,
|
||||||
|
beginuur: oRs("alg_ruimte_beginuur").Value,
|
||||||
|
einduur: oRs("alg_ruimte_einduur").Value,
|
||||||
|
werkdagen: oRs("alg_ruimte_werkdagen").Value
|
||||||
|
};
|
||||||
|
var i = 0;
|
||||||
|
while (!oRs.eof)
|
||||||
|
{
|
||||||
|
i++;
|
||||||
|
if (diff.srtruimte_key != oRs("alg_srtruimte_key").Value) diff.srtruimte_key = null;
|
||||||
|
if (diff.dienstniveau_key != oRs("mld_dienstniveau_key").Value) diff.dienstniveau_key = null;
|
||||||
|
if (diff.omschrijving != oRs("alg_ruimte_omschrijving").Value) diff.omschrijving = null;
|
||||||
|
if (diff.opmerking != oRs("alg_ruimte_opmerking").Value) diff.opmerking = null;
|
||||||
|
if (diff.beginuur != oRs("alg_ruimte_beginuur").Value) diff.beginuur = null;
|
||||||
|
if (diff.einduur != oRs("alg_ruimte_einduur").Value) diff.einduur = null;
|
||||||
|
if (diff.werkdagen != oRs("alg_ruimte_werkdagen").Value) diff.werkdagen = null;
|
||||||
|
oRs.MoveNext();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
oRs.Close();
|
||||||
|
*/
|
||||||
|
%>
|
||||||
|
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<% FCLTHeader.Generate(); %>
|
||||||
|
<script type="text/javascript">
|
||||||
|
function alg_submit()
|
||||||
|
{
|
||||||
|
$.post($("form[name=u2]")[0].action,
|
||||||
|
$("[name=u2]").serialize(),
|
||||||
|
FcltCallbackAndThenAlways(alg_submit_callback),
|
||||||
|
"json");
|
||||||
|
return true; // disable button
|
||||||
|
}
|
||||||
|
|
||||||
|
function alg_submit_callback(json)
|
||||||
|
{
|
||||||
|
iface.button.enable("btn_alg_submit");
|
||||||
|
if (json.success)
|
||||||
|
FcltMgr.closeDetail(window, json);
|
||||||
|
}
|
||||||
|
|
||||||
|
function alg_cancel()
|
||||||
|
{
|
||||||
|
FcltMgr.closeDetail(window, { cancel: true } );
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="modal" id="mod_algmultiedit">
|
||||||
|
<form name="u2" action="alg_edit_ruimte_multi_save.asp?alg_level=<%=alg_level%>&alg_keys=<%=ingesloten.join(",")%>" method="post">
|
||||||
|
<%
|
||||||
|
/*
|
||||||
|
if (last_this_alg.writeman || last_this_alg.writeuse)
|
||||||
|
{
|
||||||
|
BLOCK_START("algFlex", L("lcl_ins_meta_data"));
|
||||||
|
// ruimte specifieke velden
|
||||||
|
if (last_this_alg.writeman)
|
||||||
|
{
|
||||||
|
sql = "SELECT alg_srtruimte_key"
|
||||||
|
+ " , " + lcl.xsqla("alg_srtruimte_omschrijving", "alg_srtruimte_key")
|
||||||
|
+ " FROM alg_v_aanwezigsrtruimte"
|
||||||
|
+ " ORDER BY UPPER("+lcl.xsql("alg_srtruimte_omschrijving", "alg_srtruimte_key")+")";
|
||||||
|
FCLTselector( "room_srt",
|
||||||
|
sql,
|
||||||
|
{ label: L("lcl_estate_ruimte_man_sort"),
|
||||||
|
initKey: (diff.srtruimte_key ? diff.srtruimte_key : -1),
|
||||||
|
emptyOption: ""
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (last_this_alg.writeuse)
|
||||||
|
{
|
||||||
|
sql = "SELECT mld_dienstniveau_key"
|
||||||
|
+ " , " + lcl.xsqla("mld_dienstniveau_omschr", "mld_dienstniveau_key")
|
||||||
|
+ " FROM mld_dienstniveau"
|
||||||
|
+ " ORDER BY UPPER("+lcl.xsql("mld_dienstniveau_omschr", "mld_dienstniveau_key")+")";
|
||||||
|
FCLTselector( "dienstniveau",
|
||||||
|
sql,
|
||||||
|
{ label: L("lcl_mld_dienst_niveau"),
|
||||||
|
initKey: (diff.dienstniveau_key ? diff.dienstniveau_key : -1),
|
||||||
|
emptyOption: ""
|
||||||
|
});
|
||||||
|
|
||||||
|
RWFIELDTR("room_oms", "fld", L("lcl_estate_ruimte_man_descr"), diff.omschrijving, {maxlength: 30});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (last_this_alg.writeman)
|
||||||
|
{
|
||||||
|
RWFIELDTR("room_opm", "fld", L("lcl_estate_ruimte_man_opmerk"), diff.opmerking, {maxlength: 50});
|
||||||
|
|
||||||
|
var times = [];
|
||||||
|
for (i=0; i<24; i++)
|
||||||
|
{
|
||||||
|
sql = " SELECT " + String(i+0/4) + ", '" + String(i) + ":00' FROM DUAL"
|
||||||
|
+ " UNION ALL SELECT " + String(i+1/4) + ", '" + String(i) + ":15' FROM DUAL"
|
||||||
|
+ " UNION ALL SELECT " + String(i+2/4) + ", '" + String(i) + ":30' FROM DUAL"
|
||||||
|
+ " UNION ALL SELECT " + String(i+3/4) + ", '" + String(i) + ":45' FROM DUAL"
|
||||||
|
times.push(sql);
|
||||||
|
}
|
||||||
|
FCLTselector( "room_beginuur",
|
||||||
|
times.join(" UNION ALL "),
|
||||||
|
{ label: L("lcl_estate_gebouw_beginuur"),
|
||||||
|
initKey: diff.beginuur,
|
||||||
|
emptyOption: ""
|
||||||
|
}
|
||||||
|
);
|
||||||
|
FCLTselector( "room_einduur",
|
||||||
|
times.join(" UNION ALL "),
|
||||||
|
{ label: L("lcl_estate_gebouw_einduur"),
|
||||||
|
initKey: diff.einduur,
|
||||||
|
emptyOption: ""
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
sql = " SELECT null, " + safe.quoted_sql(L("lcl_alg_ruimte_volgens_gebouw")) + " FROM DUAL"
|
||||||
|
+ " UNION ALL SELECT 0, " + safe.quoted_sql(L("lcl_No")) + " FROM DUAL"
|
||||||
|
+ " UNION ALL SELECT 1, " + safe.quoted_sql(L("lcl_Yes")) + " FROM DUAL";
|
||||||
|
FCLTselector( "room_werkdagen",
|
||||||
|
sql,
|
||||||
|
{ label: L("lcl_estate_gebouw_werkdagen"),
|
||||||
|
initKey: diff.werkdagen
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
BLOCK_END();
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
generateFlexKenmerkBlock({
|
||||||
|
fnpre: function () {BLOCK_START("algMultiEdit", L("lcl_flexible_properties"));},
|
||||||
|
fnpost: BLOCK_END,
|
||||||
|
onrgoed_niveau: "R",
|
||||||
|
onrgoed_key: -1,
|
||||||
|
this_alg: last_this_alg,
|
||||||
|
reado: false,
|
||||||
|
multi: true,
|
||||||
|
flexcolumns: 1 // altijd want popup
|
||||||
|
});
|
||||||
|
|
||||||
|
var buttons = [];
|
||||||
|
buttons.push({title: L("lcl_submit"), action: "alg_submit()", singlepress: true, id: "btn_alg_submit"});
|
||||||
|
buttons.push({title: L("lcl_cancel"), action: "alg_cancel()"});
|
||||||
|
CreateButtons(buttons);
|
||||||
|
IFACE.FORM_END();
|
||||||
|
%>
|
||||||
|
</form>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
85
APPL/ALG/alg_edit_ruimte_multi_save.asp
Normal file
85
APPL/ALG/alg_edit_ruimte_multi_save.asp
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
<%@ language = "JavaScript" %>
|
||||||
|
<% /*
|
||||||
|
$Revision$
|
||||||
|
$Id$
|
||||||
|
|
||||||
|
File: alg_edit_ruimte_multi_save.asp
|
||||||
|
Description: save script van alg_edit_ruimte_multi.asp
|
||||||
|
Globalen:
|
||||||
|
Context:
|
||||||
|
Note:
|
||||||
|
*/
|
||||||
|
var JSON_Result = true;
|
||||||
|
%>
|
||||||
|
|
||||||
|
<!-- #include file="../Shared/common.inc" -->
|
||||||
|
<!-- #include file="../Shared/json2.js" -->
|
||||||
|
<!-- #include file="../Shared/save2db.inc" -->
|
||||||
|
<!-- #include file="../Shared/kenmerk_common.inc" -->
|
||||||
|
<!-- #include file="./alg.inc" -->
|
||||||
|
|
||||||
|
<%
|
||||||
|
//protectRequest.validateToken();
|
||||||
|
var alg_key_arr = getQParamIntArray("alg_keys");
|
||||||
|
var alg_level = getQParam("alg_level");
|
||||||
|
|
||||||
|
var warning = "";
|
||||||
|
var result = {};
|
||||||
|
var nr_edited = 0;
|
||||||
|
|
||||||
|
for (var i = 0; i < alg_key_arr.length; i++)
|
||||||
|
{
|
||||||
|
var alg_key = alg_key_arr[i];
|
||||||
|
var this_alg = alg.func_enabled(alg_key, "R");
|
||||||
|
if (this_alg.writeman || this_alg.writeuse)
|
||||||
|
{
|
||||||
|
// Ik mag de ruimte wijzigen dus voer wijziging uit
|
||||||
|
var fields = [];
|
||||||
|
var algUpd = buildTrackingUpdate("alg_ruimte", " alg_ruimte_key = " + alg_key, fields);
|
||||||
|
// // Submit the changed data
|
||||||
|
// var err = Oracle.Execute(algUpd.sql, true);
|
||||||
|
// if (err.friendlyMsg)
|
||||||
|
// warning = err.friendlyMsg;
|
||||||
|
|
||||||
|
currentKenmerkenSQL = "SELECT k.alg_kenmerk_key"
|
||||||
|
+ " , ok.alg_onrgoedkenmerk_waarde"
|
||||||
|
+ " FROM alg_onrgoedkenmerk ok"
|
||||||
|
+ " , alg_kenmerk k"
|
||||||
|
+ " WHERE ok.alg_kenmerk_key = k.alg_kenmerk_key"
|
||||||
|
+ " AND ok.alg_onrgoedkenmerk_verwijder IS NULL"
|
||||||
|
+ " AND ok.alg_onrgoed_niveau = " + safe.quoted_sql(alg_level)
|
||||||
|
+ " AND ok.alg_onrgoed_key = " + alg_key;
|
||||||
|
|
||||||
|
|
||||||
|
allKenmerkenSQL = "SELECT " + lcl.xsql('k.alg_kenmerk_omschrijving', 'k.alg_kenmerk_key') + " kenmerk_omschrijving"
|
||||||
|
+ ", fac_kenmerkdomein_key"
|
||||||
|
+ " FROM alg_kenmerk k"
|
||||||
|
+ " WHERE k.alg_kenmerk_key = "; /* wordt in saveFlexkenmerken uitgebreid */
|
||||||
|
|
||||||
|
var flextrack = saveFlexKenmerken(ingesloten[i],
|
||||||
|
{ kenmerkTable: "alg_onrgoedkenmerk",
|
||||||
|
kenmerkParentKey : "alg_onrgoed_key",
|
||||||
|
kenmerkWaarde: "alg_onrgoedkenmerk_waarde",
|
||||||
|
kenmerkKey: "alg_kenmerk_key",
|
||||||
|
currentKenmerkenSQL: currentKenmerkenSQL,
|
||||||
|
allKenmerkenSQL: allKenmerkenSQL,
|
||||||
|
requestQF: Request.Form,
|
||||||
|
flexPath: "ALG/R",
|
||||||
|
multiMode: true,
|
||||||
|
tracking: true,
|
||||||
|
module: "ALG",
|
||||||
|
moduleName: "alg_onrgoed_niveau",
|
||||||
|
moduleVal: alg_level
|
||||||
|
});
|
||||||
|
|
||||||
|
var update_string = L("lcl_alg_is_algrup") + "\n" + algUpd.trackarray.join("\n");
|
||||||
|
shared.trackaction("ALGRUP", alg_key, update_string);
|
||||||
|
nr_edited++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
result = { success : true, refresh: true };
|
||||||
|
|
||||||
|
Response.Write(JSON.stringify(result));
|
||||||
|
Response.End;
|
||||||
|
%>
|
||||||
@@ -49,6 +49,12 @@ function generateFlexKenmerkBlock(params)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function isInvisible(volgnummer, ktype)
|
||||||
|
{
|
||||||
|
if (params.multi)
|
||||||
|
return (ktype == 'M' || ktype == 'F' || ktype == 'E'); // onzichtbaar bij multi
|
||||||
|
}
|
||||||
|
|
||||||
var sql = "SELECT k.alg_kenmerk_key kenmerk_key, "
|
var sql = "SELECT k.alg_kenmerk_key kenmerk_key, "
|
||||||
+ lcl.xsql('k.alg_kenmerk_omschrijving', 'k.alg_kenmerk_key') +" kenmerk_omschrijving, "
|
+ lcl.xsql('k.alg_kenmerk_omschrijving', 'k.alg_kenmerk_key') +" kenmerk_omschrijving, "
|
||||||
+ " k.alg_kenmerk_kenmerktype kenmerk_kenmerktype, "
|
+ " k.alg_kenmerk_kenmerktype kenmerk_kenmerktype, "
|
||||||
@@ -95,6 +101,7 @@ function generateFlexKenmerkBlock(params)
|
|||||||
hideVervallen: onrgoed_key<0,
|
hideVervallen: onrgoed_key<0,
|
||||||
fnpre: params.fnpre,
|
fnpre: params.fnpre,
|
||||||
fnpost: params.fnpost,
|
fnpost: params.fnpost,
|
||||||
|
fnIsInvisible: isInvisible,
|
||||||
mobile: params.mobile,
|
mobile: params.mobile,
|
||||||
parentKey: onrgoed_key,
|
parentKey: onrgoed_key,
|
||||||
kenmerk_module: onrgoed_niveau }
|
kenmerk_module: onrgoed_niveau }
|
||||||
|
|||||||
@@ -67,6 +67,14 @@ function ruimte_list(pautfunction, params)
|
|||||||
FcltMgr.openDetail(url, "<%=L("lcl_room")%>" + ' ' + algData.oms);
|
FcltMgr.openDetail(url, "<%=L("lcl_room")%>" + ' ' + algData.oms);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function ruimteEditMulti(rowArray)
|
||||||
|
{
|
||||||
|
var algKeyString = getKeyString(rowArray);
|
||||||
|
var subject = L("lcl_alg_multi_edit");
|
||||||
|
var url = "../alg/alg_edit_ruimte_multi.asp?alg_level=R&alg_keys=" + algKeyString;
|
||||||
|
FcltMgr.openModalDetail(url, subject, {callback: FcltCallbackRefresh});
|
||||||
|
}
|
||||||
|
|
||||||
function doRuimteAfdeling(rowArray)
|
function doRuimteAfdeling(rowArray)
|
||||||
{
|
{
|
||||||
var ruimteArr = [];
|
var ruimteArr = [];
|
||||||
@@ -199,14 +207,15 @@ function ruimte_list(pautfunction, params)
|
|||||||
{
|
{
|
||||||
if (!floorCache[oRs("alg_verdieping_key").Value])
|
if (!floorCache[oRs("alg_verdieping_key").Value])
|
||||||
{
|
{
|
||||||
|
eEditMulti = true;
|
||||||
floorCache[oRs("alg_verdieping_key").Value] =
|
floorCache[oRs("alg_verdieping_key").Value] =
|
||||||
{
|
{
|
||||||
eDelete: alg.canWriteVerdieping(oRs("alg_verdieping_key").Value, authparams.rmALGwritelevel),
|
eDelete: alg.canWriteVerdieping(oRs("alg_verdieping_key").Value, authparams.rmALGwritelevel),
|
||||||
// Bezetting moet per regel en is afhankelijk van WEB_PRSBOF (werkplekbeheer)
|
// Bezetting moet per regel en is afhankelijk van WEB_PRSBOF (werkplekbeheer)
|
||||||
eBezetting: alg.func_enabled_ruimte(oRs("alg_verdieping_key").Value).canPRSBOFwrite
|
eBezetting: alg.func_enabled_ruimte(oRs("alg_verdieping_key").Value).canPRSBOFwrite,
|
||||||
|
eEditMulti: eEditMulti
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return (floorCache[oRs("alg_verdieping_key").Value]);
|
return (floorCache[oRs("alg_verdieping_key").Value]);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -271,6 +280,7 @@ function ruimte_list(pautfunction, params)
|
|||||||
}
|
}
|
||||||
|
|
||||||
rst.addAction({ action: "ruimteEdit", caption: L("lcl_edit"), isDefault: true });
|
rst.addAction({ action: "ruimteEdit", caption: L("lcl_edit"), isDefault: true });
|
||||||
|
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: "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" });
|
rst.addAction({ action: "doRuimteAfdeling", caption: L("lcl_alg_bezetting"), multi: true, multiOnce: true, enabler: "eBezetting" });
|
||||||
if (!noref)
|
if (!noref)
|
||||||
|
|||||||
Reference in New Issue
Block a user