Files
Facilitor/APPL/ALG/alg_srtruimte.asp
Maykel Geerdink c521c8eaf2 ASME#33110: Uitbreiding functionaliteit SLA tijd bij meldingen.
svn path=/Website/trunk/; revision=26123
2015-08-31 08:00:57 +00:00

336 lines
13 KiB
Plaintext

<%@language = "javascript" %>
<% /*
$Revision$
$Id$
File: alg_srtruimte.asp
Description: Wijzigen van srtruimte gegevens
Parameters:
Context:
*/ %>
<!-- #include file="../Shared/common.inc" -->
<!-- #include file="../Shared/iface.inc" -->
<!-- #include file="../Shared/json2.js" -->
<!-- #include file="../Shared/save2db.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<!-- #include file="../Shared/disciplineselector.inc" -->
<!-- #include file="../Shared/stdmeldingselector.inc" -->
<!-- #include file="../Shared/selector.inc" -->
<%
FCLTHeader.Requires({js: ["jquery-ui.js"]});
var srtruimte_key = getQParamInt("alg_srtruimte_key", -1); // default is nieuwe
var mode = getQParam("mode", "show");
if (srtruimte_key == -1 && mode == "show")
mode = "new";
var authparams = user.checkAutorisation("WEB_ALGMSU");
var srtr_info = {};
if (srtruimte_key > 0)
{ // bestaande ruimtesoort
var sql = "SELECT r.alg_srtruimte_key"
+ " , r.alg_srtruimte_omschrijving"
+ " , r.alg_srtruimte_prijs"
+ " , r.alg_srtruimte_prijs2"
+ " , r.alg_srtruimte_prijs3"
+ " , r.alg_srtruimte_prijs4"
+ " , r.alg_srtruimte_prijs5"
+ " , r.alg_srtruimte_code"
+ " , r.prs_bevat_werkplek"
+ " , r.prs_verhuurbaar"
+ " , r.alg_srtruimte_t_uitvoertijd.tijdsduur uitvoertijd_t"
+ " , r.alg_srtruimte_t_uitvoertijd.eenheid uitvoertijd_e"
+ " , r.alg_srtruimte_verwijder"
+ " FROM alg_srtruimte r"
+ " WHERE alg_srtruimte_key = " + srtruimte_key;
oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
var srtr_info = { alg_srtruimte_omschrijving: oRs("alg_srtruimte_omschrijving").Value,
alg_srtruimte_prijs: oRs("alg_srtruimte_prijs").Value,
alg_srtruimte_prijs2: oRs("alg_srtruimte_prijs2").Value,
alg_srtruimte_prijs3: oRs("alg_srtruimte_prijs3").Value,
alg_srtruimte_prijs4: oRs("alg_srtruimte_prijs4").Value,
alg_srtruimte_prijs5: oRs("alg_srtruimte_prijs5").Value,
alg_srtruimte_code: oRs("alg_srtruimte_code").Value,
prs_bevat_werkplek: oRs("prs_bevat_werkplek").Value,
prs_verhuurbaar: oRs("prs_verhuurbaar").Value,
tijd_uitvoertijd: oRs("uitvoertijd_t").Value,
eenh_uitvoertijd: oRs("uitvoertijd_e").Value
};
var srtruimte_deleted = oRs("alg_srtruimte_verwijder").value != null;
}
oRs.close();
}
else
{ // nieuwe ruimtesoort
var srtr_info = { alg_srtruimte_omschrijving: "",
alg_srtruimte_code: "",
tijd_uitvoertijd: null,
eenh_uitvoertijd: null
};
}
%>
<html>
<head>
<%
FCLTHeader.Generate();
if (mode == "save")
{
var fields = [ { dbs: "alg_srtruimte_omschrijving", typ: "varchar", frm: "omschrijving" },
{ dbs: "alg_srtruimte_prijs", typ: "float", frm: "prijs" },
{ dbs: "alg_srtruimte_prijs2", typ: "float", frm: "prijs2" },
{ dbs: "alg_srtruimte_prijs3", typ: "float", frm: "prijs3" },
{ dbs: "alg_srtruimte_prijs4", typ: "float", frm: "prijs4" },
{ dbs: "alg_srtruimte_prijs5", typ: "float", frm: "prijs5" },
{ dbs: "alg_srtruimte_code", typ: "varchar", frm: "code" },
{ dbs: "prs_bevat_werkplek", typ: "check", frm: "bevatwerkplek" },
{ dbs: "prs_verhuurbaar", typ: "check", frm: "verhuurbaar" }
];
// Checken of het eenheden selectveld met dagen/uren bij "Uitvoertijd" niet readonly was en wel is meegegeven.
// Als dit eenheden selectieveld readonly was dan is er geen waarde voor uitvoertijd ingevuld en moeten beide waarden null worden.
fields = shared.add_time_field(fields, "alg_srtruimte_t_uitvoertijd", "uitvoertijd", "dayshours_urg");
// Update, delete of insert uitvoeren.
if (srtruimte_key > 0)
{
var sql = buildUpdate("alg_srtruimte", fields)
+ " alg_srtruimte_key = " + srtruimte_key;
var err = Oracle.Execute(sql, true);
}
else
{
fields.push( { dbs: "alg_srtruimte_key", typ: "key", seq: "alg_s_alg_srtruimte_key" } );
var algIns = buildInsert("alg_srtruimte", fields);
var alg_srtruimte_key = algIns.sequences["alg_srtruimte_key"];
var err = Oracle.Execute(algIns.sql, true);
srtruimte_key = alg_srtruimte_key;
}
if (err.friendlyMsg)
{
%>
<script>
alert("<%=safe.jsstring(err.friendlyMsg)%>");
</script>
<%
}
else
{
%>
<script>
$(document).ready(function () {parent.window.location.href="alg_srtruimte.asp?mode=show&alg_srtruimte_key=<%=srtruimte_key%>";} );
</script>
<%
}
Response.End;
}
else if (srtruimte_key > 0 && mode == "delete")
{
var sql = "UPDATE alg_srtruimte"
+ " SET alg_srtruimte_verwijder = SYSDATE"
+ " WHERE alg_srtruimte_verwijder IS NULL"
+ " AND alg_srtruimte_key = " + srtruimte_key;
var err = Oracle.Execute(sql, true);
%>
<script>
$(document).ready(function () {
FcltMgr.closeDetail(window, { alg_srtruimte_key: <%=srtruimte_key%>,
warning: "<%=safe.jsstring(err.friendlyMsg)%>",
keepForm: <%=err.friendlyMsg? "true" : "false"%>
});
} );
</script>
<%
Response.End;
}
%>
<script type="text/javascript" >
function alg_submit()
{
$("#verhuurbaar").prop("disabled", false); // Weer enabled zodat waarde ook gesubmit wordt.
if (!validateForm("u2"))
return false;
document.forms.u2.submit();
}
function alg_edit()
{
window.location.href = "alg_srtruimte.asp?mode=edit&alg_srtruimte_key=<%=srtruimte_key%>";
}
function alg_delete()
{
if (confirm("<%=safe.jsstring(L("lcl_R_U_sure"))%>"))
window.location.href = "alg_srtruimte.asp?mode=delete&alg_srtruimte_key=<%=srtruimte_key%>";
}
function alg_cancel()
{
if (<%=srtruimte_key%> > 0)
{
window.location.href = "alg_srtruimte.asp?mode=show&alg_srtruimte_key=<%=srtruimte_key%>";
}
else
{
FcltMgr.closeDetail(window, { cancel: true });
}
}
function alg_close(params)
{
<% if (srtruimte_key == -1)
{
%>
if (params.cancel)
{
FcltMgr.closeDetail(window, params);
return true;
}
<% }
else
{ // Bestaand ruimtesoort bewerkt, switch naar show-mode
%>
if (params.close)
{
FcltMgr.closeDetail(window, { close: true})
}
<% }
%>
if (!params.keepForm)
window.location.href = "alg_srtruimte.asp?mode=show&alg_srtruimte_key=" + params.srtruimte_key;
}
function onChangeBevatWerkplek()
{
// Als bevat_werkplek is aangevinkt, moet verhuurbaar ook aangevinkt worden (constraint ALG_C_PRS_WERKPLEK_VERHUURBAAR)
if ($("#bevatwerkplek").is(":checked"))
{
$("#verhuurbaar").prop("checked", "checked");
$("#verhuurbaar").prop("disabled", true);
}
else
{
$("#verhuurbaar").prop("disabled", false);
}
}
function onChangeUitvoertijd()
{
if (isNaN(parseFloat($("#uitvoertijd").val())))
$("#dayshours_urg").prop("disabled", true);
else
$("#dayshours_urg").prop("disabled", false);
}
jQuery(document).ready(function()
{
$('textarea').resize(function () { FcltMgr.resized(window) } );
$('textarea').autogrow();
});
</script>
</head>
<body id="<%=((mode == "show")? "showbody" : "editbody")%>">
<%
var buttons = [];
if (!srtruimte_deleted)
{
if (mode == "show")
{
buttons.push( {title: L("lcl_change"), action:"alg_edit()", icon: "wijzigen.png" } );
buttons.push( {title: L("lcl_delete"), action:"alg_delete()", icon: "delete.png" } );
}
else
{
buttons.push( {title: L("lcl_submit"), action:"alg_submit()", icon: "opslaan.png" } );
buttons.push( {title: L("lcl_cancel"), action:"alg_cancel()", icon: "undo.png" } );
}
}
IFRAMER_HEADER(L("lcl_alg_srtruimte_details"), buttons);
if (mode == "show")
{
myFIELD = function (a, b, c, d, e) { ROFIELDTR(b, c, d, e) };
myTEXTAREA = function (a, b, c, d, e) { ROTEXTAREATR(b, c, d, e) };
myCHECKBOX = function (a, b, c, d, e) { ROCHECKBOXTR(b, c, d, e) };
}
else
{
myFIELD = RWFIELDTR;
myTEXTAREA = RWTEXTAREATR;
myCHECKBOX = RWCHECKBOXTR;
}
if (srtruimte_deleted)
{
%> <div class="alg_deleted"><%=L("lcl_record_is_deleted")%></div><%
}
%>
<div id="show">
<form name="u2"
action="alg_srtruimte.asp?mode=save&alg_srtruimte_key=<%=srtruimte_key%>"
method="post"
target="hidFrameSubmit"
onSubmit="alg_submit()">
<%
BLOCK_START("algInfo", safe.html(L("lcl_general_properties")));
ROFIELDTR( "fld", L("lcl_key"), srtruimte_key);
myFIELD("omschrijving", "fld", L("lcl_descr"), srtr_info.alg_srtruimte_omschrijving);
myFIELD("prijs", "fld", L("lcl_alg_alg_tarief")+" (m2)", safe.editablefloat(srtr_info.alg_srtruimte_prijs), {datatype: "float", suppressEmpty: true} );
myFIELD("prijs2", "fld", L("lcl_alg_alg_tariefA")+" (m2)", safe.editablefloat(srtr_info.alg_srtruimte_prijs2), {datatype: "float", suppressEmpty: true} );
myFIELD("prijs3", "fld", L("lcl_alg_alg_tariefB")+" (m2)", safe.editablefloat(srtr_info.alg_srtruimte_prijs3), {datatype: "float", suppressEmpty: true} );
myFIELD("prijs4", "fld", L("lcl_alg_alg_tariefC")+" (m2)", safe.editablefloat(srtr_info.alg_srtruimte_prijs4), {datatype: "float", suppressEmpty: true} );
myFIELD("prijs5", "fld", L("lcl_alg_alg_tariefD")+" (m2)", safe.editablefloat(srtr_info.alg_srtruimte_prijs5), {datatype: "float", suppressEmpty: true} );
myFIELD("code", "fld", L("lcl_alg_srtruimte_code"), srtr_info.alg_srtruimte_code);
myCHECKBOX("bevatwerkplek", "fldcheck", L("lcl_prs_has_workplace"), srtr_info.prs_bevat_werkplek, {html: "onChange='onChangeBevatWerkplek();'"});
myCHECKBOX("verhuurbaar", "fldcheck", L("lcl_prs_rentable"), srtr_info.prs_verhuurbaar);
sql = "SELECT 'U', " + safe.quoted_sql(L("lcl_mld_hours")) + " FROM DUAL"
+ " UNION "
+ "SELECT 'D', " + safe.quoted_sql(L("lcl_mld_days")) + " FROM DUAL"
+ " ORDER BY 2";
var selectparams = { fieldName: "dayshours_urg",
sql: sql,
params: { id: "dayshours_urg",
initKey: srtr_info.eenh_uitvoertijd,
readonly: (mode == "show"),
disable: !srtr_info.tijd_uitvoertijd
}
}
myFIELD("uitvoertijd", "fldalg_uitvtijd", L("lcl_mld_stduitvoertijd"), srtr_info.tijd_uitvoertijd? Math.round(srtr_info.tijd_uitvoertijd * 100) / 100 : ""
, {maxlength: 4, datatype: "float", html: "onChange='onChangeUitvoertijd();'", suppressEmpty: true, selector: selectparams});
BLOCK_END();
IFACE.FORM_END();
if (srtruimte_key > -1 && (user.checkAutorisation("WEB_MLDMGT", true)))
{ // 2. De overruling van de SLA (acceptatietijd en uitvoertijd)
page = "../mld/mld_stdmsrtruimte_search_list.asp?embedded=1&srtruimte_key=" + srtruimte_key;
IFRAMER("mldstdmsrtruimte", page, { refreshOnClose: true, initHide: false } );
}
%>
</form>
</div>
<iframe src="../Shared/empty.html"
name="hidFrameSubmit"
FcltClose="alg_close"
style="display:none"></iframe>
</body>
</html>