Files
Facilitor/APPL/CAD/req_move.asp
2025-03-25 10:00:27 +00:00

171 lines
6.3 KiB
Plaintext

<%@ language="javascript"%>
<% /*
$Revision$
$Id$
File: CAD/req_move.asp
Description: Verplaats een prs_perslidwerkplek
Biedt een werkplek met voldoende ruimte aan of
laat huidige werkplek meenemen.
We genereren geen nieuwe werkplekken, hooguit een nieuw volgnummer!
Parameters: prswp_key: de huidige prs_perslidwerkplek_key
room_key: alg_ruimte_key waarop gedropt of W:prs_werkplek_key
Context: Modal na droppen van een prs_perslid op de tekening
Result: true als daadwerkelijk iets verplaats (dan moet je waarschijnlijk
ergens beeld refreshen)
Note:
*/ %>
<!--#include file="../Shared/common.inc"-->
<!--#include file="../Shared/WPFunctions.inc" -->
<!--#include file="../Shared/iface.inc" -->
<!--#include file="FGII.inc"-->
<html>
<head>
<%
FCLTHeader.Generate();
var autfunction = "WEB_PRSBOF";
var authparams = user.checkAutorisation(autfunction);
var oRs,i;
var sql="";
i=0;
var prswp_key = getQParamInt("prswp_key"); // perslidwerkplek_key
var roomkey_str = getQParam("room_key"); // Nieuwe ruimte, kan ook W:12344 bevatten voor werkplek of R:12345 voor ruimte
if (roomkey_str.match(/^W:/)) // Op werkplek gedropt
{
var wp_key = parseInt(roomkey_str.substring(2), 10);
sql = "UPDATE PRS_PERSLIDWERKPLEK"
+ " SET PRS_WERKPLEK_KEY = " + wp_key
+ " WHERE PRS_PERSLIDWERKPLEK_KEY = " + prswp_key;
Oracle.Execute(sql);
%><script type="text/javascript">FcltMgr.closeDetail(window);</script><%
Response.End;
}
var room_key = -1;
if (roomkey_str.split(":").length > 1)
{
room_key = parseInt(roomkey_str.substr(2), 10); // room_key moet nu echt een integer zijn.
}
else
{
room_key = parseInt(roomkey_str, 10);
}
var TransitParams = "prswp_key="+prswp_key+"&room_key="+room_key;
if (authparams.ALGwritelevel > -1)
{
var sql = "SELECT alg_ruimte_key FROM fac_v_my_rooms"
+ " WHERE prs_perslid_key=" + user_key
+ " AND alg_ruimte_key = " + room_key
+ " AND niveau="+authparams.ALGwritelevel;
oRs = Oracle.Execute(sql);
user.auth_required_or_abort(!oRs.Eof);
oRs.Close();
}
// Let op: alg_ruimte zoeken we met de doel-ruimte, niet herkomst. Beetje lui...
var sql = "SELECT " + S("prs_pers_string") + " naam, ar.alg_ruimte_nr,"
+ " prs_perslidwerkplek_bezetting, prs_werkplek_omschrijving, "
+ " pwp.prs_werkplek_key"
+ " FROM prs_perslid p, prs_perslidwerkplek pwp, "
+ " prs_werkplek pw, alg_ruimte ar"
+ " WHERE p.prs_perslid_key = pwp.prs_perslid_key"
+ " AND pwp.prs_werkplek_key = pw.prs_werkplek_key"
+ " AND ar.alg_ruimte_key = " + room_key
+ " AND pwp.prs_perslidwerkplek_key = " + prswp_key
oRs = Oracle.Execute(sql);
var bez = oRs("prs_perslidwerkplek_bezetting").Value;
var orgwp_key = oRs("prs_werkplek_key").Value;
%>
<script type="text/javascript">
function movePWPToWP( wp_key )
{
var data = { prswp_key : <%=prswp_key%>
, room_key : -1
, prs_key : -1
, wp_key : wp_key
, domove : "movepwp"
};
<% protectRequest.dataToken("data"); %>
$.post("req_move_save.asp",
data,
FcltCallbackClose,
"json");
}
function moveWPtoRoom( )
{
var data = { prswp_key : -1
, room_key : <%=room_key%>
, prs_key : -1
, wp_key : <%=orgwp_key%>
, domove : "movewp"
};
<% protectRequest.dataToken("data"); %>
$.post("req_move_save.asp",
data,
FcltCallbackClose,
"json");
}
</script>
</head>
<body class="fclt-modal" id="mod_req_move">
<% MODAL_START();
MODAL_BLOCK_START("req_move", L("lcl_workplace"), { icon: "fa-briefcase" });
%>
<tr><td class='label'><label><%=L("lcl_fg_domove")%></label></td><td><%=safe.html(oRs("naam").Value)%></td></tr>
<tr><td class='label'><label><%=L("lcl_fg_domovedest")%></label></td><td><%=safe.html(oRs("alg_ruimte_nr").Value)%></td></tr>
<% if (0) { /* Functionaliteit niet 100% uitgekristaliseerd dus uitschakelen */ %>
<tr><td>Laat de gebruiker zijn eigen werkplek <b><%=oRs("prs_werkplek_omschrijving").Value%> (<%=bez%>%)</b> <input type=button onClick="moveWPtoRoom()" value='meenemen'></td></tr>
<% } %>
<% MODAL_BLOCK_END();
var sql = "SELECT pw.prs_werkplek_key, prs_werkplek_omschrijving, "
+ " SUM(NVL(prs_perslidwerkplek_bezetting,0)) bezet"
+ " FROM prs_perslidwerkplek pwp, prs_werkplek pw"
+ " WHERE pw.prs_werkplek_key = pwp.prs_werkplek_key(+)"
+ " AND pw.prs_alg_ruimte_key = " + room_key
+ " GROUP BY pw.prs_werkplek_key, prs_werkplek_omschrijving";
oRs = Oracle.Execute(sql);
%>
<form name="u2" method="post">
<% MODAL_BLOCK_START("req_move", L("lcl_overview_list"), { icon: "fa-list" }); %>
<THEAD>
<tr>
<th><%=L("lcl_workplace")%></th>
<th><%=L("lcl_occupation_perc")%></th>
</tr>
</THEAD>
<%
var count=0;
while( !oRs.eof) {
count++;
var action="movePWPToWP(" + oRs("prs_werkplek_key").Value + ")"
%>
<tr id='row<%=count%>' onclick='javascript:<%=action%>' >
<TD VAlign=top class="selectable" ><%=safe.html(oRs("prs_werkplek_omschrijving").Value)%></TD>
<TD VAlign=top class="selectable" ><%=oRs("bezet").Value%></TD>
</tr>
<%
oRs.MoveNext();
}
oRs.close();
MODAL_BLOCK_END();
SIMPLE_BLOCK_START();
CreateButtons([ { title: L("lcl_cancel"), action: "FcltMgr.closeDetail(window, { cancel: true } )", icon: "fa-fclt-cancel"} ]);
SIMPLE_BLOCK_END();
%>
</form>
<% MODAL_END(); %>
</body>
</html>
<% ASPPAGE_END(); %>