ASFC#34371: Start en stopmoment bij schoonmaak via inspecties kunnen vastleggen.

svn path=/Website/trunk/; revision=28757
This commit is contained in:
Maykel Geerdink
2016-04-05 14:19:15 +00:00
parent d90e42761f
commit 5928297d38
4 changed files with 196 additions and 105 deletions

View File

@@ -316,7 +316,7 @@ user.anything_todo_or_abort(tobehandled > 0); // We klagen niet over enkele wel
<body id="editbody" class="likemodal"> <body id="editbody" class="likemodal">
<% var buttons = []; <% var buttons = [];
if (insPlan || insEdit) if (insPlan || insEdit)
buttons.push({title: L("lcl_submit"), icon: "opslaan.png", action:"ins_submit()"}); buttons.push({title: L("lcl_submit"), icon: "opslaan.png", action:"ins_submit(0)"});
if (insClose) if (insClose)
{ {
buttons.push({title: L("lcl_ins_close"), icon: "finish.png", action:"ins_submit(0)"}); buttons.push({title: L("lcl_ins_close"), icon: "finish.png", action:"ins_submit(0)"});

View File

@@ -45,7 +45,7 @@ else if (savemode == "C") // Afmelden/Afronden (Close).
deelsrtcontrole_datum = getFParamDate("deelsrtcontrole_datum", new Date); deelsrtcontrole_datum = getFParamDate("deelsrtcontrole_datum", new Date);
else if (savemode == "E") else if (savemode == "E")
{ // Wijzigen (Edit). { // Wijzigen (Edit).
plandatum = getFParamDate("plandatum", null); // Plandatum wordt bij opmaak velden (fields) wel uit frm gehaald i.p.v. val.
if (multi) if (multi)
abort_with_warning(L("lcl_ins_allow_multi_edit")); abort_with_warning(L("lcl_ins_allow_multi_edit"));
@@ -206,7 +206,7 @@ function saveFlexKenmerkenInspection(pdlsrtcont_key, pinsPresent)
if (savemode == "P") if (savemode == "P")
{ // Inplannen inspectie. { // Inplannen inspectie.
var result = { success: true, plandatum: plandatum }; var result = { success: true, plandatum: plandatum, savemode: savemode };
for (var i = 0; i < ingesloten.length; i++) for (var i = 0; i < ingesloten.length; i++)
{ // Zetten van de status en afhandelen van de tracking van het starten. { // Zetten van de status en afhandelen van de tracking van het starten.
@@ -256,7 +256,7 @@ if (savemode == "P")
} }
else if (savemode == "C") else if (savemode == "C")
{ // Afmelden inspectie. { // Afmelden inspectie.
var result = { success: true, deelsrtcontrole_datum: deelsrtcontrole_datum }; var result = { success: true, deelsrtcontrole_datum: deelsrtcontrole_datum, savemode: savemode };
for (var i = 0; i < ingesloten.length; i++) for (var i = 0; i < ingesloten.length; i++)
{ {
@@ -394,6 +394,7 @@ else if (savemode == "C")
ingesloten[i].dlsrtcont_key = insIns.sequences["ins_deelsrtcontrole_key"]; ingesloten[i].dlsrtcont_key = insIns.sequences["ins_deelsrtcontrole_key"];
var err = Oracle.Execute(insIns.sql, true); var err = Oracle.Execute(insIns.sql, true);
} }
result.deelsrtcontrole_key = ingesloten[i].dlsrtcont_key;
if (err.friendlyMsg) if (err.friendlyMsg)
{ {
@@ -438,6 +439,7 @@ else if (savemode == "C")
ingesloten[i].dlsrtcont_key = insIns.sequences["ins_deelsrtcontrole_key"]; ingesloten[i].dlsrtcont_key = insIns.sequences["ins_deelsrtcontrole_key"];
var err = Oracle.Execute(insIns.sql, true); var err = Oracle.Execute(insIns.sql, true);
} }
result.deelsrtcontrole_key = ingesloten[i].dlsrtcont_key;
if (err.friendlyMsg) if (err.friendlyMsg)
{ {
@@ -484,9 +486,9 @@ else if (savemode == "C")
} }
else if (savemode == "E") else if (savemode == "E")
{ // Wijzigen inspectie (Edit). Update van de gegevens (plandatum, opmerking en flexkenmerken). { // Wijzigen inspectie (Edit). Update van de gegevens (plandatum, opmerking en flexkenmerken).
var result = { success: true, plandatum: plandatum }; var result = { success: true, plandatum: plandatum, deelsrtcontrole_key: ingesloten[0].dlsrtcont_key, savemode: savemode };
var fields = [ { dbs: "ins_deelsrtcontrole_plandatum", typ: "datetime", val: plandatum, track: L("lcl_opdr_plandate") }, var fields = [ { dbs: "ins_deelsrtcontrole_plandatum", typ: "datetime", frm: "plandatum", track: L("lcl_opdr_plandate") },
{ dbs: "ins_deelsrtcontrole_opmerking", typ: "varchar", frm: "opmerk", track: L("lcl_remark"), len: 2000 } { dbs: "ins_deelsrtcontrole_opmerking", typ: "varchar", frm: "opmerk", track: L("lcl_remark"), len: 2000 }
]; ];

View File

@@ -52,7 +52,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
var ins_deelsrtcontrole_key = oRs("ins_deelsrtcontrole_key").Value; var ins_deelsrtcontrole_key = oRs("ins_deelsrtcontrole_key").Value;
// Het laatste inspectierecord moet ingepland of verwerkt(6) zijn, anders kan de inspectie niet gestart worden. // Het laatste inspectierecord moet ingepland of verwerkt(6) zijn, anders kan de inspectie niet gestart worden.
if (oRs("ins_deelsrtcontrole_status").Value > 0 && oRs("ins_deelsrtcontrole_status").Value != 6) if (ins_deelsrtcontrole_status > 0 && ins_deelsrtcontrole_status != 6)
{ // Laatste inspectie is niet ingepland of verwerkt. Overslaan. { // Laatste inspectie is niet ingepland of verwerkt. Overslaan.
oRs.Close(); oRs.Close();
continue; continue;
@@ -71,7 +71,7 @@ for (var i = 0; i < ins_key_arr.length; i++)
} }
user.anything_todo_or_abort(tobestart > 0); // We klagen niet over enkele wel en enkele niet user.anything_todo_or_abort(tobestart > 0); // We klagen niet over enkele wel en enkele niet
var result = {success: true, multi: multi }; var result = {success: true, multi: multi, start: true };
for (var i = 0; i < ingesloten.length; i++) for (var i = 0; i < ingesloten.length; i++)
{ // Zetten van de status en afhandelen van de tracking van het starten. { // Zetten van de status en afhandelen van de tracking van het starten.
@@ -79,7 +79,7 @@ for (var i = 0; i < ingesloten.length; i++)
{ // Er is nog geen inspectie (ins_deelsrtcontrole) record aangemaakt. Eerst maar eens aanmaken. { // Er is nog geen inspectie (ins_deelsrtcontrole) record aangemaakt. Eerst maar eens aanmaken.
// Als er al een inspectie is geweest kan er een volgende inspectiedatum berekend worden. // Als er al een inspectie is geweest kan er een volgende inspectiedatum berekend worden.
var nextdate = null; var nextdate = null;
if (ingesloten.inspectiestatus > -1) if (ingesloten[i].inspectiestatus > -1)
{ // Bereken de volgende inspectiedatum. { // Bereken de volgende inspectiedatum.
sql = "SELECT ins.nextcyclusdate (" + ingesloten[i].ins_key + ", " + ingesloten[i].srtcont_key + ", 1) nextdate FROM DUAL" sql = "SELECT ins.nextcyclusdate (" + ingesloten[i].ins_key + ", " + ingesloten[i].srtcont_key + ", 1) nextdate FROM DUAL"
oRs = Oracle.Execute(sql); oRs = Oracle.Execute(sql);
@@ -105,8 +105,7 @@ for (var i = 0; i < ingesloten.length; i++)
result.success = false; result.success = false;
} }
} }
else // Er is al een inspectie (ins_deelsrtcontrole) record aangemaakt. De plandatum en orgdatum blijven onverandert. //else Er is al een inspectie (ins_deelsrtcontrole) record aangemaakt. De plandatum en orgdatum blijven onverandert.
// Bij bestaande inspecties mag het geen multi zijn.
// Kenmerken konden niet ingevuld/aangepast worden. // Kenmerken konden niet ingevuld/aangepast worden.

View File

@@ -197,7 +197,6 @@ if (srtcontrole_key < 0 || defaultmode_key > 0)
}; };
<% protectRequest.dataToken("data"); %> <% protectRequest.dataToken("data"); %>
//alert("ins {0}, soort {1}, mode {2}".format(<%=ins_key%>, deelsrtcont_key, <%=defaultmode_key%>));
$.post("../ins/ins_inspect_save.asp", $.post("../ins/ins_inspect_save.asp",
data, data,
McltCallbackAndThen(ins_submit_callback), McltCallbackAndThen(ins_submit_callback),
@@ -217,6 +216,38 @@ else
var oRs = Oracle.Execute(sql); var oRs = Oracle.Execute(sql);
var subject = oRs("ins_deel_omschrijving").Value; var subject = oRs("ins_deel_omschrijving").Value;
oRs.Close(); oRs.Close();
var sql = "SELECT idsc.ins_deelsrtcontrole_key"
+ " , idsc.ins_deelsrtcontrole_status"
+ " , idsc.ins_controlemode_key"
+ " , idsc.ins_deelsrtcontrole_opmerking"
+ " FROM ins_srtcontrole isc"
+ " , ins_deelsrtcontrole idsc"
+ " WHERE isc.ins_srtcontrole_key = idsc.ins_srtcontrole_key(+)" // Er kan nog voor de eerste keer geinspecteerd moeten worden.
+ " AND idsc.ins_deel_key(+) = " + ins_key
+ " AND isc.ins_srtcontrole_key = " + srtcontrole_key
+ (deelsrtcont_key > 0
? " AND idsc.ins_deelsrtcontrole_key = " + deelsrtcont_key
: "")
+ " ORDER BY ins_deelsrtcontrole_datum DESC";
var oRs = Oracle.Execute(sql);
// Waarden moeten aanwezig zijn. Mocht dat niet zo zijn dan is er iets fout.
var deelsrtcont_key = oRs("ins_deelsrtcontrole_key").Value != null? oRs("ins_deelsrtcontrole_key").Value : -1;
var ins_deelsrtcontrole_status = oRs("ins_deelsrtcontrole_status").Value != null? oRs("ins_deelsrtcontrole_status").Value : -1;
var status_str = "";
switch (ins_deelsrtcontrole_status)
{
case -1: status_str = L("lcl_ins_controle_first");
break;
case 6: status_str = L("lcl_ins_controle_new");
break;
case 0:
case 2:
case 5: status_str = ins.getinsstatustext(ins_deelsrtcontrole_status);
break;
}
var ins_controlemode_key = oRs("ins_controlemode_key").Value != null && ins_deelsrtcontrole_status != 6? oRs("ins_controlemode_key").Value : -1;
var ins_deelsrtcontrole_opmerking = oRs("ins_deelsrtcontrole_opmerking").Value != null && ins_deelsrtcontrole_status != 6? oRs("ins_deelsrtcontrole_opmerking").Value : "";
%> %>
<html> <html>
@@ -263,77 +294,109 @@ else
%> %>
// Na de insert moet een tweede opslaan een update doen. Dan deelsrtcont_key meegeven. // Na de insert moet een tweede opslaan een update doen. Dan deelsrtcont_key meegeven.
var deelsrtcont_key = -1; var deelsrtcont_key = -1;
function ins_submit_callback(json) function ins_callback(json)
{ {
if (json.success) if (json.success)
{ {
jqToast(L("lcl_mobile_data_saved")); jqToast(L("lcl_mobile_data_saved"));
window.deelsrtcont_key = json.deelsrtcontrole_key;
// if (json.start || json.finish || json.savemode != "E")
// reload kenmerken. FcltMgr.reload();
var s = "../ins/load_kenmerksrtcontrole.asp"
+ "?srtcont_key=" + $("#sel_srtcontrole").val()
+ "&deelsrtcont_key=" + json.deelsrtcontrole_key
+ "&mobile=1";
$("#insFlexList").load(s, function(responseText, textStatus, jqXHR)
{
FcltMgr.resized(window);
});
} }
} }
function ins_submit() function ins_submit(action)
{ {
if (!validateForm("u2")) var controlemodeField = (action == "E"? ["sel_controlemode"] : null);
if (!validateForm("u2", { checkNot: controlemodeField }))
return false; return false;
for (i = 0; i < inspected_srtcontroles.length; i++) if (action == "C")
{ {
if (inspected_srtcontroles[i].srtcontrole_key == $("#sel_srtcontrole").val()) // De uitvoerdatum van de inspectie is nu. Daardoor ligt deze na de laatste uitvoerdatum en niet in de toekomst.
for (i = 0; i < inspected_srtcontroles.length; i++)
{ {
// Controle of er op de inspectiedatum (Vandaag) of op het inspectieuur (Dit uur) al inspecties zijn geweest. if (inspected_srtcontroles[i].srtcontrole_key == $("#srtcont_key_arr").val())
if (new Date().midnight().getTime() == new Date(parseInt(inspected_srtcontroles[i].datum)).midnight().getTime() && {
inspected_srtcontroles[i].eenheid > 0 && // Controle of er op de inspectiedatum (Vandaag) of op het inspectieuur (Dit uur) al inspecties zijn geweest.
inspected_srtcontroles[i].mode == 0) // Geldt alleen voor momentmodus. if (new Date().midnight().getTime() == new Date(parseInt(inspected_srtcontroles[i].datum)).midnight().getTime() &&
{ // Op dezelfde dag mag niet. inspected_srtcontroles[i].eenheid > 0 &&
alert(L("lcl_ins_double_inspection_today")); inspected_srtcontroles[i].mode == 0) // Geldt alleen voor momentmodus.
return false; { // Op dezelfde dag mag niet.
} alert(L("lcl_ins_double_inspection_today"));
else if (new Date(new Date().setMinutes(0,0,0)).getTime() == new Date(new Date(parseInt(inspected_srtcontroles[i].datum)).setMinutes(0,0,0)).getTime() && return false;
inspected_srtcontroles[i].eenheid == 0 && }
inspected_srtcontroles[i].mode == 0) // Geldt alleen voor momentmodus. else if (new Date(new Date().setMinutes(0,0,0)).getTime() == new Date(new Date(parseInt(inspected_srtcontroles[i].datum)).setMinutes(0,0,0)).getTime() &&
{ // In hetzelfde uur mag niet. inspected_srtcontroles[i].eenheid == 0 &&
alert(L("lcl_ins_double_inspection_hour")); inspected_srtcontroles[i].mode == 0) // Geldt alleen voor momentmodus.
return false; { // In hetzelfde uur mag niet.
} alert(L("lcl_ins_double_inspection_hour"));
else if (new Date(new Date().setSeconds(0, 0)).getTime() == new Date(parseInt(inspected_srtcontroles[i].datum)).getTime() && return false;
inspected_srtcontroles[i].mode == 1) }
{ // Een inspectie doen op dezelfde datumtijd (controledatum hetzelfde) mag niet omdat je daarna dan niet meer de volgende inspectie kunt doen. else if (new Date(new Date().setSeconds(0, 0)).getTime() == new Date(parseInt(inspected_srtcontroles[i].datum)).getTime() &&
// De geplande _org tijd is dan hetzelfde als de laatste inspectie omdat de volgende inspectie dan niet opgeschoven is. inspected_srtcontroles[i].mode == 1)
// Inspecties op dezelfde datumtijd moeten dus afgevangen worden. { // Een inspectie doen op dezelfde datumtijd (controledatum hetzelfde) mag niet omdat je daarna dan niet meer de volgende inspectie kunt doen.
// Dit kan alleen voorkomen in de interval mode. // De geplande _org tijd is dan hetzelfde als de laatste inspectie omdat de volgende inspectie dan niet opgeschoven is.
alert(L("lcl_ins_double_inspection")); // Inspecties op dezelfde datumtijd moeten dus afgevangen worden.
return false; // Dit kan alleen voorkomen in de interval mode.
alert(L("lcl_ins_double_inspection"));
return false;
}
} }
} }
} }
$.post($("form[name=u2]")[0].action + "&deelsrtcont_key="+deelsrtcont_key, $("#savemode").val(action); // Vul savemode met "E": Wijzigen (Edit) of "C": Afmelden/Afronden (Close).
$.post($("form[name=u2]")[0].action + "&deelsrtcont_key=" + deelsrtcont_key,
$("form[name=u2]").serialize(), $("form[name=u2]").serialize(),
McltCallbackAndThen(ins_submit_callback), McltCallbackAndThen(ins_callback),
"json"); "json");
return false; return false;
} }
function ins_start()
{
if (confirm(L("lcl_ins_starting")))
{
var data = { ins_keys: <%=ins_key%>,
srtcont_keys: <%=srtcontrole_key%>
};
protectRequest.dataToken(data);
$.post( "../ins/ins_inspect_start.asp"
, data
, McltCallbackAndThen(ins_callback)
, "json"
);
}
}
function ins_finish()
{
if (confirm(L("lcl_ins_finishing")))
{
var data = { ins_keys: <%=ins_key%>,
dlsrtcont_keys: <%=deelsrtcont_key%>
};
protectRequest.dataToken(data);
$.post( "../ins/ins_inspect_finish.asp"
, data
, McltCallbackAndThen(ins_callback)
, "json"
);
}
}
function onChangeSrtControle() function onChangeSrtControle()
{ {
var s = "../ins/load_kenmerksrtcontrole.asp?srtcont_key=" + $("#sel_srtcontrole").val() + "&mobile=1"; var s = "../ins/load_kenmerksrtcontrole.asp?srtcont_key=" + $("#srtcont_key_arr").val() + "&mobile=1";
$("#insFlexList").load(s, function(data) $("#insFlexList").load(s, function(data)
{ {
FcltMgr.resized(window); FcltMgr.resized(window);
}); });
} }
</script> </script>
@@ -341,62 +404,89 @@ else
<form name="u2" action="../ins/ins_inspect_save.asp?ins_keys=<%=ins_key%>" method="post"> <form name="u2" action="../ins/ins_inspect_save.asp?ins_keys=<%=ins_key%>" method="post">
<input type="hidden" name="ins_keys" id="ins_keys" value="<%=ins_key%>"> <input type="hidden" name="ins_keys" id="ins_keys" value="<%=ins_key%>">
<input type="hidden" name="sel_srtcontrole" id="sel_srtcontrole" value="<%=srtcontrole_key%>"> <input type="hidden" name="srtcont_key_arr" id="srtcont_key_arr" value="<%=srtcontrole_key%>">
<input type="hidden" name="sel_deelsrtcont" id="sel_deelsrtcont" value="<%=deelsrtcont_key%>"> <input type="hidden" name="savemode" id="savemode" value="E">
<% <% ROFIELD("fld", L("lcl_ins_status"), status_str);
// Ik wil de vorige controle + opmerking tonen; optie is nog class expired2 toe te voegen als te laat // Ik wil de vorige controle + opmerking tonen; optie is nog class expired2 toe te voegen als te laat
// (misschien dat ook al bij de button als er binnen een dag een inspectie moet of zo) // (misschien dat ook al bij de button als er binnen een dag een inspectie moet of zo)
// Let op: deze datum hangt af van de srtcontrole, als dat er meer dan 1 is vind ik het nu de moeite nog niet waard. // Let op: deze datum hangt af van de srtcontrole, als dat er meer dan 1 is vind ik het nu de moeite nog niet waard.
var sql = "SELECT idsc.ins_deelsrtcontrole_datum" var sql = "SELECT idsc.ins_deelsrtcontrole_datum"
+ " , idsc.ins_deelsrtcontrole_opmerking" + " , idsc.ins_deelsrtcontrole_opmerking"
+ " FROM ins_deelsrtcontrole idsc" + " , idsc.ins_deelsrtcontrole_plandatum"
+ " WHERE idsc.ins_deel_key = " + ins_key + " FROM ins_deelsrtcontrole idsc"
+ " ORDER BY ins_deelsrtcontrole_datum DESC"; + " WHERE idsc.ins_deel_key = " + ins_key
var oRs = Oracle.Execute(sql); + " AND idsc.ins_deelsrtcontrole_status = 6"
if (!oRs.eof) { + " ORDER BY ins_deelsrtcontrole_datum DESC";
ROFIELD("fld", L("lcl_ins_controle_last"), toDateTimeString(oRs("ins_deelsrtcontrole_datum").Value) + " " + (oRs("ins_deelsrtcontrole_opmerking").Value || "") ); var oRs = Oracle.Execute(sql);
} if (!oRs.eof)
{
ROFIELD("fld", L("lcl_ins_controle_last"), toDateTimeString(oRs("ins_deelsrtcontrole_datum").Value) + " " + (oRs("ins_deelsrtcontrole_opmerking").Value || ""));
sql = "SELECT " + lcl.xsqla('isc.ins_srtcontrole_omschrijving', 'isc.ins_srtcontrole_key') var sql = "SELECT idsc.ins_deelsrtcontrole_plandatum"
+ " , ins_srtcontrole_type" + " FROM ins_deelsrtcontrole idsc"
+ " FROM ins_srtcontrole isc" + " WHERE idsc.ins_deel_key = " + ins_key
+ " WHERE ins_srtcontrole_key = " + srtcontrole_key; + " AND idsc.ins_deelsrtcontrole_status != 6";
oRs = Oracle.Execute(sql); var oRs = Oracle.Execute(sql);
var srtcontrole_oms = oRs("ins_srtcontrole_omschrijving").Value;
var srtcontrole_type = oRs("ins_srtcontrole_type").Value;
ROFIELD("sel_srtcontrole_oms", L("lcl_ins_controle"), srtcontrole_oms, {});
sql = "SELECT cm.ins_controlemode_key" if (!oRs.eof && oRs("ins_deelsrtcontrole_plandatum").Value != null)
+ " , " + lcl.xsqla('cm.ins_controlemode_oms', 'cm.ins_controlemode_key') ROFIELD("fld", L("lcl_opdr_plandate"), toDateTimeString(oRs("ins_deelsrtcontrole_plandatum").Value));
+ " FROM ins_controlemode cm" }
+ " WHERE ins_srtcontrole_type = " + srtcontrole_type;
FCLTselector("sel_controlemode",
sql,
{ label: L("lcl_ins_controle_mode"),
emptyOption: L("lcl_select_controlemode"),
required: true,
mobile: true
}
);
RWFIELD("opmerk", L("lcl_remark"), null, {multi: true}); sql = "SELECT " + lcl.xsqla('isc.ins_srtcontrole_omschrijving', 'isc.ins_srtcontrole_key')
+ " , ins_srtcontrole_type"
+ " FROM ins_srtcontrole isc"
+ " WHERE ins_srtcontrole_key = " + srtcontrole_key;
oRs = Oracle.Execute(sql);
var srtcontrole_oms = oRs("ins_srtcontrole_omschrijving").Value;
var srtcontrole_type = oRs("ins_srtcontrole_type").Value;
ROFIELD("sel_srtcontrole_oms", L("lcl_ins_controle"), srtcontrole_oms, {});
%><div id="insFlexList"><% // Wrapper div voor dynamisch herladen sql = "SELECT cm.ins_controlemode_key"
generateFlexKenmerkBlock({fnpre : function () {}, + " , " + lcl.xsqla('cm.ins_controlemode_oms', 'cm.ins_controlemode_key')
fnpost : "", + " FROM ins_controlemode cm"
deelsrtcontrole_key: deelsrtcont_key, + " WHERE ins_srtcontrole_type = " + srtcontrole_type;
srtcontrole_key: srtcontrole_key, FCLTselector("sel_controlemode",
reado: false, sql,
flexcolumns: 1, { initKey: ins_controlemode_key,
mobile: true label: L("lcl_ins_controle_mode"),
}); emptyOption: L("lcl_select_controlemode"),
%></div><% required: true,
mobile: true
}
);
CONTROLGROUP_START(); RWFIELD("opmerk", L("lcl_remark"), ins_deelsrtcontrole_opmerking, {multi: true});
BUTTON(L("lcl_submit"), {click: "ins_submit()", dataicon: "check"});
CONTROLGROUP_END(); %><div id="insFlexList"><% // Wrapper div voor dynamisch herladen
IFACE.FORM_END(); generateFlexKenmerkBlock({fnpre : function () {},
fnpost : "",
deelsrtcontrole_key: deelsrtcont_key,
srtcontrole_key: srtcontrole_key,
reado: false,
flexcolumns: 1,
mobile: true
});
%></div><%
CONTROLGROUP_START();
switch (ins_deelsrtcontrole_status)
{
case -1:
case 6: // Geen inplannen van inspecties bij mobiel.
case 0: BUTTON(L("lcl_ins_start"), {click: "ins_start()", dataicon: "check"});
BUTTON(L("lcl_ins_close"), {click: "ins_submit('C')", dataicon: "check"});
break;
case 2: BUTTON(L("lcl_submit"), {click: "ins_submit('E')", dataicon: "check"});
BUTTON(L("lcl_ins_close"), {click: "ins_submit('C')", dataicon: "check"});
//BUTTON(L("lcl_ins_finish"), {click: "ins_finish()", dataicon: "check"});
break;
case 5: BUTTON(L("lcl_submit"), {click: "ins_submit('E')", dataicon: "check"});
BUTTON(L("lcl_ins_finish"), {click: "ins_finish()", dataicon: "check"});
break;
}
CONTROLGROUP_END();
IFACE.FORM_END();
%></form><% %></form><%
CONTENT_END(); CONTENT_END();
FOOTER(); FOOTER();