224 lines
8.8 KiB
Plaintext
224 lines
8.8 KiB
Plaintext
<%@ language = "JavaScript" %>
|
|
<% /*
|
|
$Revision$
|
|
$Id$
|
|
|
|
File: prs_edit_dienstlocs.asp
|
|
Description: (Modal)dialoog om aan een bedrijf en dienst een scope (locaties en/of gebouwen) te koppelen
|
|
Globalen:
|
|
bedrijf_key Bedrijf key
|
|
dienst_key Dienst key
|
|
Context:
|
|
Note:
|
|
*/
|
|
%>
|
|
|
|
<!--#include file="../Shared/common.inc"-->
|
|
<!--#include file="../Shared/selector.inc"-->
|
|
<!--#include file="../Shared/iface.inc"-->
|
|
|
|
<%
|
|
FCLTHeader.Requires({ plugins: ["jQuery"] })
|
|
|
|
var bedrijf_key = getQParamInt("bedrijf_key"); // bedrijf key
|
|
var dienst_key = getQParamInt("dienst_key"); // bedrijf key
|
|
%>
|
|
<html>
|
|
<head>
|
|
<% FCLTHeader.Generate();
|
|
|
|
var submitting = getQParamInt("submit", 0) == 1;
|
|
if (submitting)
|
|
{
|
|
var locs = getFParamIntArray("locExist", []);
|
|
var gebs = getFParamIntArray("gebExist", []);
|
|
// Verwijderen alle oude waarden.
|
|
sql = "DELETE prs_bedrijfdienstlocatie"
|
|
+ " WHERE prs_bedrijf_key = " + bedrijf_key
|
|
+ " AND prs_dienst_key = " + dienst_key;
|
|
Oracle.Execute(sql);
|
|
|
|
if (locs.length > 0 || gebs.length > 0)
|
|
{ // Er zijn locaties en/of gebouwen geselecteerd.
|
|
for (i in locs)
|
|
{
|
|
var loc_key = locs[i];
|
|
var sql = "INSERT INTO prs_bedrijfdienstlocatie (prs_bedrijf_key, prs_dienst_key, alg_locatie_key)"
|
|
+ " VALUES (" + bedrijf_key + ", " + dienst_key + ", " + loc_key + ")";
|
|
Oracle.Execute(sql);
|
|
}
|
|
|
|
for (i in gebs)
|
|
{
|
|
var bld_key = gebs[i];
|
|
var sql = "INSERT INTO prs_bedrijfdienstlocatie (prs_bedrijf_key, prs_dienst_key, alg_gebouw_key)"
|
|
+ " VALUES (" + bedrijf_key + ", " + dienst_key + ", " + bld_key + ")";
|
|
Oracle.Execute(sql);
|
|
}
|
|
}
|
|
else
|
|
{ // Er zijn geen locaties of gebouwen geselecteerd. Dan nemen we 'Alle'. Anders moet je maar de gehele dienst(locatie) verwijderen.
|
|
var sql = "INSERT INTO prs_bedrijfdienstlocatie (prs_bedrijf_key, prs_dienst_key)"
|
|
+ " VALUES (" + bedrijf_key + ", " + dienst_key + ")";
|
|
Oracle.Execute(sql);
|
|
}
|
|
|
|
%><script>FcltMgr.closeDetail(window, { refresh: true } );</script><%
|
|
Response.End;
|
|
}
|
|
|
|
//
|
|
// Einde submit, nu de gewone dialoog
|
|
//
|
|
%>
|
|
<script>
|
|
function moveRightLoc(obj)
|
|
{
|
|
if ($("#locPossible option:selected")[0])
|
|
{
|
|
// Toevoegen
|
|
$("#locPossible option:selected").clone().prependTo("#locExist");
|
|
$("#locPossible option:selected").remove();
|
|
}
|
|
}
|
|
|
|
function moveRightGeb(obj)
|
|
{
|
|
$("#gebPossible option:selected").each(function(i, selected)
|
|
{
|
|
// Als de locatie van dit gebouw geselecteerd is, moet deze verwijderd worden in de geselecteerde locaties lijst.
|
|
var loc_key = $(selected)[0].alg_locatie_key;
|
|
$("#locExist option").each(function(i, selected2)
|
|
{
|
|
if (loc_key == $(selected2).val())
|
|
{
|
|
$(this).clone().prependTo("#locPossible");
|
|
$(this).remove();
|
|
}
|
|
});
|
|
})
|
|
|
|
// Toevoegen
|
|
$("#gebPossible option:selected").clone().prependTo("#gebExist");
|
|
$("#gebPossible option:selected").remove();
|
|
}
|
|
|
|
function removeLoc(obj)
|
|
{
|
|
$("#locExist option:selected").clone().prependTo("#locPossible");
|
|
$("#locExist option:selected").remove();
|
|
}
|
|
|
|
function removeGeb(obj)
|
|
{
|
|
$("#gebExist option:selected").clone().prependTo("#gebPossible");
|
|
$("#gebExist option:selected").remove();
|
|
}
|
|
|
|
function bdl_submit()
|
|
{
|
|
$("#gebExist>option").prop("selected", true); // alles submitten
|
|
$("#locExist>option").prop("selected", true); // alles submitten
|
|
document.forms.u2.submit();
|
|
}
|
|
</script>
|
|
</head>
|
|
<body id="editbody">
|
|
<% var buttons = [{title: L("lcl_submit"), icon: "opslaan.png", action: "bdl_submit()"},
|
|
{title: L("lcl_cancel"), icon: "undo.png", action: "FcltMgr.closeDetail(window, { cancel: true })"}];
|
|
IFRAMER_HEADER(L("lcl_prs_locbld_select"), buttons);
|
|
|
|
%>
|
|
<form name="u2" action="prs_edit_dienstlocs.asp?submit=1&bedrijf_key=<%=bedrijf_key%>&dienst_key=<%=dienst_key%>" method="post">
|
|
<table>
|
|
<tr>
|
|
<td>
|
|
<label><%=L("lcl_location")%>:</label><br>
|
|
<%
|
|
var existing_loc_sql =
|
|
"SELECT dl.alg_locatie_key"
|
|
+ " , l.alg_locatie_omschrijving"
|
|
+ " , 'L' locorgeb"
|
|
+ " FROM prs_bedrijfdienstlocatie dl"
|
|
+ " , alg_locatie l"
|
|
+ " WHERE dl.alg_locatie_key = l.alg_locatie_key"
|
|
+ " AND dl.prs_dienst_key = " + dienst_key
|
|
+ " AND dl.prs_bedrijf_key = " + bedrijf_key
|
|
+ " AND dl.alg_locatie_key IS NOT NULL";
|
|
|
|
var loc_sql =
|
|
"SELECT l.alg_locatie_key"
|
|
+ " , l.alg_locatie_omschrijving"
|
|
+ " , 'L' locorgeb"
|
|
+ " FROM alg_v_aanweziglocatie l";
|
|
|
|
FCLTselector("locPossible", loc_sql + " MINUS " + existing_loc_sql + " ORDER BY 2",
|
|
{ startmulti: true,
|
|
size: 10,
|
|
extraParamValue: "locorgeb"
|
|
} );
|
|
%>
|
|
</td>
|
|
<td>
|
|
<div class="mv r" onclick="moveRightLoc()"><%=L("lcl_add")%>>></div>
|
|
<div class="mv l" onclick="removeLoc()"><<<%=L("lcl_delete")%></div>
|
|
</td>
|
|
<td>
|
|
<label><%=L("lcl_prs_loc_selected") + ':'%></label><br/>
|
|
<% FCLTselector("locExist", existing_loc_sql+ " ORDER BY 2" ,
|
|
{ startmulti: true,
|
|
size: 10,
|
|
extraParamValue: "locorgeb"
|
|
}); %>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<% var existing_geb_sql = "SELECT dl.alg_gebouw_key"
|
|
+ " , l.alg_locatie_code||'-'||g.alg_gebouw_omschrijving"
|
|
+ " , 'G' locorgeb"
|
|
+ " , l.alg_locatie_key"
|
|
+ " FROM prs_bedrijfdienstlocatie dl"
|
|
+ " , alg_gebouw g"
|
|
+ " , alg_locatie l"
|
|
+ " WHERE dl.alg_gebouw_key = g.alg_gebouw_key"
|
|
+ " AND g.alg_locatie_key = l.alg_locatie_key"
|
|
+ " AND dl.prs_dienst_key = " + dienst_key
|
|
+ " AND dl.prs_bedrijf_key = " + bedrijf_key
|
|
+ " AND dl.alg_gebouw_key IS NOT NULL";
|
|
|
|
var geb_sql = "SELECT g.alg_gebouw_key"
|
|
+ " , l.alg_locatie_code||'-'||g.alg_gebouw_omschrijving"
|
|
+ " , 'G' locorgeb"
|
|
+ " , l.alg_locatie_key"
|
|
+ " FROM alg_v_aanweziggebouw g,"
|
|
+ " alg_locatie l"
|
|
+ " WHERE l.alg_locatie_key = g.alg_locatie_key";
|
|
|
|
%> <br><label><%=L("lcl_building")%>:</label><br>
|
|
<% FCLTselector("gebPossible", geb_sql + " MINUS " + existing_geb_sql + " ORDER BY 2",
|
|
{ startmulti: true,
|
|
size: 10,
|
|
extraParamValue: "alg_locatie_key"
|
|
});
|
|
%>
|
|
</td>
|
|
<td>
|
|
<div class="mv r" onclick="moveRightGeb()"><%=L("lcl_add")%>>></div>
|
|
<div class="mv l" onclick="removeGeb()"><<<%=L("lcl_delete")%></div>
|
|
</td>
|
|
<td>
|
|
<br><label><%=L("lcl_prs_bld_selected") + ':'%></label><br><%
|
|
FCLTselector("gebExist", existing_geb_sql+ " ORDER BY 2" ,
|
|
{ startmulti: true,
|
|
size: 10,
|
|
extraParamValue: "alg_locatie_key"
|
|
}); %>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
<% IFACE.FORM_END(); %>
|
|
</form>
|
|
</body>
|
|
</html>
|