Files
Facilitor/APPL/PRS/prs_edit_dienstlocs.asp
Jos Groot Lipman 6ef0eac9dc FSN#36009 Multiselect ingeklapt beginnen soms uitgeklapt forceren
svn path=/Website/trunk/; revision=28836
2016-04-11 11:56:24 +00:00

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")%>&gt;&gt;</div>
<div class="mv l" onclick="removeLoc()">&lt;&lt;<%=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")%>&gt;&gt;</div>
<div class="mv l" onclick="removeGeb()">&lt;&lt;<%=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>