94 lines
3.0 KiB
Plaintext
94 lines
3.0 KiB
Plaintext
<%@language = "javascript" %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: wp_create.asp
|
|
Description: Maak een nieuwe werkplek aan op een locatie (XY).
|
|
Parameters: locKey
|
|
mode
|
|
OF: room_key OF: wp_key
|
|
dwgX, dwgY
|
|
Context: default.asp/Ajax.Updater
|
|
Result: X-JSON header
|
|
Note: Vooralsnog *moet* in een ruimte gegooid worden of op een werkpleksymbool.
|
|
XY is wel optioneel.
|
|
TODO: op een werkplek droppen kopieert die werkplek zijn objecten?
|
|
Result: X-JSON header
|
|
*/
|
|
JSON_Result = true;
|
|
%>
|
|
<!-- #include file="../Shared/common.inc" -->
|
|
<!-- #include file="../Shared/WPFunctions.inc" -->
|
|
<!-- #include file="FGII.inc" -->
|
|
|
|
<%
|
|
protectRequest.validateToken();
|
|
var inoutMode = getQParamInt("mode");
|
|
|
|
var scenario_key = getQParamInt("scenario_key"); // current scenario.
|
|
var vKey = getQParamInt("vKey");
|
|
|
|
var autfunction=(scenario_key == 0)? "WEB_CADUSE" : "WEB_PRJBOF";
|
|
var authparams = user.checkAutorisation(autfunction);
|
|
|
|
if (scenario_key == 0 && !WPCanWrite(vKey))
|
|
{
|
|
abort_with_warning(L("lcl_fg_obj_noedit"))
|
|
}
|
|
|
|
var wp_key = getQParamInt("wp_key", -1);
|
|
if (wp_key != -1) // Kopie ondersteunen we nog niet
|
|
{
|
|
abort_with_warning(L("lcl_wp_no_copy"))
|
|
// merk op: als we het gaan toestaan dan moet er een controle op met WPCanWrite
|
|
// en zou het misschien leuk zijn de inventaris mee te kopieren (compositie)
|
|
}
|
|
|
|
if (Request.QueryString("dwgX").Count == 0)
|
|
{
|
|
var newX = "NULL"; // Droppen met ctrlKey ingedrukt liet XY achterwege
|
|
var newY = "NULL";
|
|
}
|
|
else
|
|
{
|
|
var newX = parseFloat(getQParam("dwgX"));
|
|
var newY = parseFloat(getQParam("dwgY"));
|
|
}
|
|
|
|
var roomKey = getQParamInt("room_key"); // Die moet er zijn
|
|
var locKey = getQParamInt("loc_key");
|
|
|
|
if (scenario_key == 0)
|
|
{
|
|
wp_key = WPMake_WP(roomKey);
|
|
|
|
sql = "UPDATE prs_werkplek"
|
|
+ " SET prs_werkplek_dwgx = " + newX + ","
|
|
+ " prs_werkplek_dwgy = " + newY + ","
|
|
+ " prs_werkplek_dwgrotatie = 0,"
|
|
+ " prs_werkplek_dwgschaal = 1.0,"
|
|
+ " prs_werkplek_type = " + (S("prs_werkplek_implicit") == 1?1:0) // Impliciet altijd een 'Flex', Expliciet altijd een 'Vast'
|
|
+ " WHERE prs_werkplek_key = " + wp_key
|
|
Oracle.Execute(sql);
|
|
}
|
|
else
|
|
{
|
|
sql = "DECLARE"
|
|
+ " werkplekkey prj_werkplek.prj_werkplek_key%TYPE;"
|
|
+ "BEGIN"
|
|
+ " werkplekkey := prj.find_or_create_free_werkplek (" + roomKey + ", 101);" // Door 101 krijgen we altijd een nieuwe
|
|
+ " UPDATE prj_werkplek"
|
|
+ " SET prj_werkplek_dwgx = " + newX + ","
|
|
+ " prj_werkplek_dwgy = " + newY + ","
|
|
+ " prj_werkplek_dwgrotatie = 0,"
|
|
+ " prj_werkplek_dwgschaal = 1.0"
|
|
+ " WHERE prj_werkplek_key = werkplekkey;"
|
|
+ "END;"
|
|
Oracle.Execute(sql);
|
|
}
|
|
|
|
Response.Write(JSON.stringify({ success: true }));
|
|
%>
|
|
<% ASPPAGE_END(); %>
|