FCLT#53050 Object bij Multi-verplaatsen op verdieping zetten?

svn path=/Website/trunk/; revision=38113
This commit is contained in:
Erik Groener
2018-06-07 10:26:36 +00:00
parent 55ce4f6f78
commit b9a8a4300a
2 changed files with 182 additions and 153 deletions

View File

@@ -29,10 +29,6 @@ var autfunction = urole == "fo"? "WEB_INSFOF" : "WEB_INSMAN";
var authparams = user.checkAutorisation(autfunction); // Nog nodig voor FCLTplaatsselector
var ins_key_arr = getQParamIntArray("ins_keys");
var submitting = getQParamInt("submit", 0) == 1;
var warning = "";
var result = {};
var tobemoved = 0;
var ingesloten = [];
// Bepaal de objecten in de selectie die
@@ -52,141 +48,32 @@ user.anything_todo_or_abort(tobemoved > 0); // We klagen niet over enkele wel en
<html>
<head>
<% FCLTHeader.Generate(); %>
<%
if (submitting)
{
protectRequest.validateToken();
var w_key = getFParamInt("werkplekkey");
var r_key = getFParamInt("ruimtekey");
var v_key = getFParamInt("verdiepingkey");
var g_key = getFParamInt("gebouwkey");
var l_key = getFParamInt("locatiekey");
var btype = getFParam("bttype","");
var wis_grafisch = getFParam("wis_grafisch","off") == "on";
var bindings = [];
var bind_msg = "";
for (var i = 0; i < ingesloten.length; i++)
{
var sql_s = "SELECT ins_srtdeel_binding"
+ " FROM ins_srtdeel s"
+ " , ins_deel d"
+ " WHERE s.ins_srtdeel_key = d.ins_srtdeel_key"
+ " AND d.ins_deel_key = " + ingesloten[i];
var oRs_s = Oracle.Execute(sql_s);
var bindingBits = oRs_s("ins_srtdeel_binding").Value;
oRs_s.Close();
var bind_typ;
var bind_key;
// Deze kun je hier toch niet kiezen
//if (bindingBits & BIND_AFDELI)
//{
// // Kan niet naar afdeling verplaatsen
// msg = L("lcl_obj_bind_a") + " of ";
// bind_msg += (bind_msg.indexOf(msg) == -1 ? msg : "");
//}
//if (bindingBits & BIND_PERSOO)
//{
// // Kan niet naar persoon verplaatsen
// msg = L("lcl_obj_bind_p")+ " of ";
// bind_msg += (bind_msg.indexOf(msg) == -1 ? msg : "");
//}
if (bindingBits & BIND_TERREI)
{
if (g_key > 0 && btype == "T")
{
bind_typ = "T";
bind_key = g_key;
}
else
{
msg = L("lcl_obj_bind_t")+ " of ";
bind_msg += (bind_msg.indexOf(msg) == -1 ? msg : "");
}
}
if (bindingBits & BIND_RUIMTE)
{
if( r_key > 0 )
{
bind_typ = "R";
bind_key = r_key;
}
else
{
msg = L("lcl_obj_bind_r")+ " of ";
bind_msg += (bind_msg.indexOf(msg) == -1 ? msg : "");
}
}
if ((bindingBits & BIND_WERKPL) && w_key)
{
if (w_key > 0)
{
bind_typ = "W";
bind_key = w_key;
}
else
{
msg = L("lcl_obj_bind_w")+ " of ";
bind_msg += (bind_msg.indexOf(msg) == -1 ? msg : "");
}
}
bindings.push({bind_typ: bind_typ, bind_key: bind_key});
}
bind_msg = bind_msg.substring(0, bind_msg.length - 3);
if (bind_msg == "")
{
var sql_wis_dwgxy = ", ins_deel_dwgx = null"
+ ", ins_deel_dwgy = null"
+ ", ins_deel_dwgz = null"
var warning = null;
for (var i = 0; i < ingesloten.length; i++)
{
// Ik mag het object wijzigen dus voer wijziging uit
sql_u = "UPDATE ins_deel"
+ " SET ins_alg_ruimte_key = " + bindings[i].bind_key
+ " , ins_alg_ruimte_type = " + safe.quoted_sql(bindings[i].bind_typ)
+ (wis_grafisch ? sql_wis_dwgxy : "")
+ " WHERE ins_deel_key = " + ingesloten[i];
var err = Oracle.Execute(sql_u, true);
if (err.friendlyMsg)
warning = err.friendlyMsg;
}
}
else
{
warning = L("lcl_obj_bind_mandatory") + "\n" + bind_msg;
}
%>
<script type="text/javascript">
$(function()
{
FcltMgr.closeDetail(window, { warning: "<%=safe.jsstring(warning)%>", success: true }); // Altijd success en een refresh
});
</script>
<%
Response.End();
}
%>
<script type="text/javascript">
function ins_submit()
{
if (!validateForm("u2"))
return false;
document.forms.u2.submit();
return true; // disable button
}
function ins_submit()
{
if (!validateForm("u2"))
return false;
function ins_cancel()
{
FcltMgr.closeDetail(window, { cancel: true } );
}
$.post( $("form[name=u2]")[0].action
, $("[name=u2]").serialize()
, FcltCallbackAndThenAlways(ins_submit_callback)
, "json"
);
return true; // disable button
}
function ins_submit_callback(json)
{
iface.button.enable("btn_move_submit");
if (json.success)
FcltMgr.closeDetail(window, json);
}
function ins_cancel()
{
FcltMgr.closeDetail(window, { cancel: true } );
}
</script>
</head>
@@ -224,7 +111,7 @@ user.anything_todo_or_abort(tobemoved > 0); // We klagen niet over enkele wel en
}
%>
<form name="u2"
action="ins_move_deel_multi.asp?submit=1&r_key=<%=r_key%>&ins_keys=<%=ingesloten.join(",")%>>&urole=<%=urole%>"
action="ins_move_deel_multi_save.asp?urole=<%=urole%>&ins_keys=<%=ingesloten.join(",")%>"
method="post">
<%
BLOCK_START("insMultiMove", L("lcl_select_locatie"))
@@ -239,30 +126,27 @@ user.anything_todo_or_abort(tobemoved > 0); // We klagen niet over enkele wel en
}
);
BLOCK_END()
if (S("fg_ins_symbols"))
{
// zijn er objecten met coordinaten?
var sql = "SELECT count(*) aantal"
+ " FROM ins_deel"
+ " WHERE ins_deel_dwgx IS NOT NULL"
+ " AND ins_deel_key IN (" + ingesloten.join(",") + ")";
var oRs = Oracle.Execute(sql);
if (oRs("aantal") > 0)
if (S("fg_ins_symbols"))
{
%><table><%
// zijn er objecten met coordinaten?
var sql = "SELECT count(*) aantal"
+ " FROM ins_deel"
+ " WHERE ins_deel_dwgx IS NOT NULL"
+ " AND ins_deel_key IN (" + ingesloten.join(",") + ")";
var oRs = Oracle.Execute(sql);
if (oRs("aantal") > 0)
{
RWCHECKBOXTR("wis_grafisch", "fldcheck", L("lcl_ins_deel_wisgrafisch"), 1); // default wissen
%></table><%
}
}
}
BLOCK_END();
var buttons = [];
buttons.push({title: L("lcl_submit"), action:"ins_submit()", singlepress: true, id: "btn_move_submit"})
buttons.push({title: L("lcl_cancel"), action:"ins_cancel()"})
buttons.push({title: L("lcl_cancel"), action:"ins_cancel()"})
CreateButtons(buttons)
IFACE.FORM_END();
%>
</form>
</body>
</body>
</html>

View File

@@ -0,0 +1,145 @@
<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: ins_move_deel_multi_save.asp
Description: SUBMIT-form
*/ %>
<%
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="./ins.inc" -->
<%
protectRequest.validateToken();
var urole = getQParamSafe("urole");
var fronto = urole == "fo";
var backo = urole == "bo";
var minfo = urole == "mi";
var frontend = (!fronto & !backo & !minfo);
var autfunction = urole == "fo"? "WEB_INSFOF" : "WEB_INSMAN";
var authparams = user.checkAutorisation(autfunction); // Nog nodig voor FCLTplaatsselector
var ins_key_arr = getQParamIntArray("ins_keys");
var tobemoved = 0;
var ingesloten = [];
// Bepaal de objecten in de selectie die
// ook echt geinspecteerd kunnen of mogen worden.
for (var i = 0; i < ins_key_arr.length; i++)
{
var this_ins = ins.func_enabled_deel(ins_key_arr[i]);
if (this_ins.canChange)
{
ingesloten.push(ins_key_arr[i]);
tobemoved++;
}
}
user.anything_todo_or_abort(tobemoved > 0); // We klagen niet over enkele wel en enkele niet
/***** Get form parameters *****/
var w_key = getFParamInt("werkplekkey");
var r_key = getFParamInt("ruimtekey");
var v_key = getFParamInt("verdiepingkey");
var g_key = getFParamInt("gebouwkey");
var l_key = getFParamInt("locatiekey");
var btype = getFParam("bttype","");
var wis_grafisch = getFParam("wis_grafisch","off") == "on";
var result = { success: true
, refresh: true
};
var bindings = [];
var bind_msg = "";
for (var i = 0; i < ingesloten.length; i++)
{
var sql_s = "SELECT ins_srtdeel_binding"
+ " FROM ins_srtdeel s"
+ " , ins_deel d"
+ " WHERE s.ins_srtdeel_key = d.ins_srtdeel_key"
+ " AND d.ins_deel_key = " + ingesloten[i];
var oRs_s = Oracle.Execute(sql_s);
var bindingBits = oRs_s("ins_srtdeel_binding").Value;
oRs_s.Close();
var bind_typ;
var bind_key;
if (bindingBits & BIND_TERREI)
{
if (g_key > 0 && btype == "T")
{
bind_typ = "T";
bind_key = g_key;
}
else
{
msg = L("lcl_obj_bind_t")+ " of ";
bind_msg += (bind_msg.indexOf(msg) == -1 ? msg : "");
}
}
if (bindingBits & BIND_RUIMTE)
{
if( r_key > 0 )
{
bind_typ = "R";
bind_key = r_key;
}
else
{
msg = L("lcl_obj_bind_r")+ " of ";
bind_msg += (bind_msg.indexOf(msg) == -1 ? msg : "");
}
}
if ((bindingBits & BIND_WERKPL) && w_key)
{
if (w_key > 0)
{
bind_typ = "W";
bind_key = w_key;
}
else
{
msg = L("lcl_obj_bind_w")+ " of ";
bind_msg += (bind_msg.indexOf(msg) == -1 ? msg : "");
}
}
bindings.push({bind_typ: bind_typ, bind_key: bind_key});
}
bind_msg = bind_msg.substring(0, bind_msg.length - 3);
if (bind_msg == "")
{
var sql_wis_dwgxy = ", ins_deel_dwgx = null"
+ ", ins_deel_dwgy = null"
+ ", ins_deel_dwgz = null"
for (var i = 0; i < ingesloten.length; i++)
{
// Ik mag het object wijzigen dus voer wijziging uit
sql_u = "UPDATE ins_deel"
+ " SET ins_alg_ruimte_key = " + bindings[i].bind_key
+ " , ins_alg_ruimte_type = " + safe.quoted_sql(bindings[i].bind_typ)
+ (wis_grafisch ? sql_wis_dwgxy : "")
+ " WHERE ins_deel_key = " + ingesloten[i];
var err = Oracle.Execute(sql_u, true);
if (err.friendlyMsg)
{
result.message = err.friendlyMsg;
}
}
}
else
{
result.message = L("lcl_obj_bind_mandatory") + "\n" + bind_msg;
}
result.success = !result.message;
Response.Write(JSON.stringify(result));
%>