FSN#48107 Afmelden Mobile geeft geen waarschuwing en controleert niet op verplichte opmerking (gelijk gemaakt aan de desktopversie)
svn path=/Website/trunk/; revision=38563
This commit is contained in:
@@ -306,7 +306,6 @@ function BUTTON(plabel, params)
|
||||
<%=1||params.mini ? " data-mini='true'" : ""%>
|
||||
<%=params.id ? " id='"+params.id+"'" : ""%>
|
||||
<%=params.dataicon ? " data-icon='"+params.dataicon+"'" : ""%>
|
||||
<%=params.datarel ? " data-rel='"+params.datarel+"'" : ""%>
|
||||
<%=params.dataiconpos? " data-iconpos='"+params.dataiconpos+"'" : ""%>
|
||||
<%=params.dataajax ? " data-ajax='"+params.dataajax+"'" : ""%>
|
||||
<%=params.transition ? " transition='"+params.transition+"'" : ""%>
|
||||
|
||||
@@ -20,11 +20,13 @@
|
||||
- als bij Vakgroep Kostenplaats verplicht aangevinkt is
|
||||
*/
|
||||
var mld_key = getQParamInt("mld_key",-1);
|
||||
var verynew = (getQParamInt("verynew",-1) == 1);
|
||||
var LOCKED_USER_OK = { "xmlnode": "melding", "key": mld_key };
|
||||
|
||||
%>
|
||||
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/calendar.inc" -->
|
||||
<!-- #include file="../Shared/selector.inc" -->
|
||||
<!-- #include file="../Shared/persoonselector.inc" -->
|
||||
@@ -52,6 +54,9 @@ var plaats_niveau = "";
|
||||
var ins_keys_arr = [];
|
||||
var ins_name_arr = [];
|
||||
var addSubheader = false;
|
||||
var lastopdr = (getQParamInt("lastopdr", 0) == 1)
|
||||
var TransitParam = buildTransitParam(["mld_key", "verynew", "lastopdr"]);
|
||||
var controleModeArray = [-1, -1, -1]; // De drie controlemoden zijn niet aanwezig (-1);
|
||||
|
||||
urole = autoUrole(urole, { bo: "WEB_MLDBOF", fo: "WEB_MLDFOF", fe: "WEB_MLDUSE" });
|
||||
|
||||
@@ -61,6 +66,16 @@ var fronto = (urole=="fo");
|
||||
var frontend = (urole=="fe");
|
||||
var backo = (urole=="bo");
|
||||
|
||||
var result = {};
|
||||
var tobeclosed = 0;
|
||||
var ingesloten = [];
|
||||
var canCloseOpdr = [];
|
||||
var mldRequireCnt = 0; // Aantal meldingen waarvan minstens <20><>n verplicht kenmerk en/of object niet is ingevuld.
|
||||
var reqStatusEmptyMelding = [];
|
||||
var reqStatusEmptyMeldingkey = -1;
|
||||
var reqStatusEmptyMeldingnr = "";
|
||||
var futureOpdr = false;
|
||||
|
||||
// Mogelijke parameters voor toevoegen only
|
||||
if (mld_key == -1)
|
||||
{
|
||||
@@ -151,8 +166,123 @@ if (mld_key == -1)
|
||||
|
||||
if (mld_key > -1)
|
||||
{
|
||||
//Bepaal of melding ook echt afgemeld mag worden
|
||||
var this_mld = mld.func_enabled_melding(mld_key);
|
||||
if (this_mld.canClose) // Als je mag accepteren mag je ook rejecten
|
||||
{
|
||||
// Zijn er nog kenmerken die nu wel verplicht zijn of een object?
|
||||
var afwezig = mld.hasRequiredStatusEmptyMelding(mld_key, 5); // Melding status "Afgemeld(5)"
|
||||
if (afwezig.kenm_ontbreekt.length || afwezig.obj_ontbreekt)
|
||||
{
|
||||
mldRequireCnt++;
|
||||
var mldnr = mld.mld_prefix(mld_key) + mld_key;
|
||||
if (afwezig.kenm_ontbreekt.length)
|
||||
reqStatusEmptyMelding.push(L("lcl_mld_req_status_empty").format(afwezig.kenm_ontbreekt.join(", "), mldnr) );
|
||||
if (afwezig.obj_ontbreekt)
|
||||
reqStatusEmptyMelding.push(L("lcl_mld_req_obj").format(mldnr) );
|
||||
reqStatusEmptyMeldingkey = mld_key;
|
||||
reqStatusEmptyMeldingnr = mldnr;
|
||||
}
|
||||
// Zijn er nog lopende opdrachten?
|
||||
var canCloseOpdrOfMld = [];
|
||||
var sql = "SELECT o.mld_opdr_key"
|
||||
+ " FROM mld_opdr o"
|
||||
+ " WHERE o.mld_melding_key IN (" + mld_key + ")"
|
||||
+ " AND o.mld_statusopdr_key NOT IN (1, 6, 7, 9)"
|
||||
var oRsOM = Oracle.Execute(sql);
|
||||
var noOpdrCloseAtAll = false;
|
||||
futureOpdr = false;
|
||||
while (!oRsOM.eof)
|
||||
{ // Voor elke opdracht van een melding controleren of deze afgemeld mag worden
|
||||
var this_opdr = mld.func_enabled_opdracht(oRsOM("mld_opdr_key").Value);
|
||||
var mld_opdr = this_opdr.mld_opdr;
|
||||
sql = "SELECT mld_opdr_einddatum"
|
||||
+ " FROM mld_opdr o"
|
||||
+ " WHERE o.mld_opdr_key = " + oRsOM("mld_opdr_key").Value;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
|
||||
var kosten_verplicht_afm = mld_opdr.typeopdr_matchtype != 4 && (mld_opdr.typeopdr_kosten_verplicht & 2 || (mld_opdr.typeopdr_kosten_verplicht == 0 && mld_opdr.opdrkosten_verplicht & 2));
|
||||
var opdr_kosten = mld_opdr.t_cost;
|
||||
|
||||
// Als Setting S("mld_ord_afmeld_future") niet is gezet (0): Opdrachten waarvan de einddatum in de toekomst ligt mogen niet worden afgemeld.
|
||||
if (!this_opdr.canClose || (S("mld_ord_afmeld_future") != 1 && (oRs("mld_opdr_einddatum").Value > new Date())) || (kosten_verplicht_afm && opdr_kosten == 0))
|
||||
{ // Geen autorisatie om alle opdrachten van een melding af te melden of opdrachten in de toekomst met setting S("mld_ord_afmeld_future") niet gezet-->dan geen enkele van die melding
|
||||
noOpdrCloseAtAll = true;
|
||||
if (S("mld_ord_afmeld_future") != 1 && (oRs("mld_opdr_einddatum").Value > new Date()))
|
||||
futureOpdr = true; // Indien opdrachten in de toekomst en setting S("mld_ord_afmeld_future") niet gezet (0) dan mag je de melding niet afmelden
|
||||
}
|
||||
oRs.Close();
|
||||
canCloseOpdrOfMld.push(oRsOM("mld_opdr_key").Value);
|
||||
oRsOM.MoveNext();
|
||||
}
|
||||
oRsOM.Close();
|
||||
// Geen autorisatie om alle opdrachten van een melding af te melden of opdrachten in de toekomst met setting S("mld_ord_afmeld_future") niet gezet (0)
|
||||
// --> dan geen enkele van die melding
|
||||
if (!noOpdrCloseAtAll)
|
||||
{
|
||||
for (var j = 0; j < canCloseOpdrOfMld.length; j++)
|
||||
{
|
||||
canCloseOpdr.push(canCloseOpdrOfMld[j]);
|
||||
}
|
||||
}
|
||||
|
||||
if (!futureOpdr)
|
||||
{ // Indien opdrachten in de toekomst en setting S("mld_ord_afmeld_future") niet gezet (0) dan mag je de melding niet afmelden
|
||||
ingesloten.push(mld_key);
|
||||
tobeclosed++;
|
||||
}
|
||||
}
|
||||
|
||||
// Als er meerder meldingen zijn waarvan een verplicht kenmerk niet is ingevuld, dan abort en melding.
|
||||
// Als er 1 melding is waarvan een verplicht kenmerk niet is ingevuld, dan wordt er verderop alleen een melding met twee buttons getoond.
|
||||
user.anything_todo_or_abort(mldRequireCnt < 2, reqStatusEmptyMelding.join("<br />"));
|
||||
// user.auth_required_or_abort(!(mld_key && futureOpdr), L("lcl_mld_einddatum_to_late_mld")); // Bij enkele melding met toekomstige opdrachten een aparte melding geven
|
||||
user.anything_todo_or_abort(tobeclosed > 0); // We klagen niet over enkele wel en enkele niet
|
||||
|
||||
var canCloseCtr = [];
|
||||
var srtContKeyArray = [];
|
||||
for (var i = 0; i < ingesloten.length; i++)
|
||||
{
|
||||
var mld_melding = mld.mld_melding_info(ingesloten[i]);
|
||||
if (i == 0) lcl.set_dialect(mld_melding.srtdisc, "MLD_SRTDISCIPLINE_KEY"); // Neem voor informatie de eerste melding.
|
||||
|
||||
if (mld_melding.meldbron_key == 10 && mld_melding.kto_type == 'T')
|
||||
{
|
||||
var sql = "SELECT dsc.ins_deel_key"
|
||||
+ " , dsc.ins_srtcontrole_key"
|
||||
+ " , ctr_disc_params_controle_type"
|
||||
+ " FROM ins_deelsrtcontrole dsc"
|
||||
+ " , ins_srtcontrole isc"
|
||||
+ " , ctr_disc_params cdp"
|
||||
+ " WHERE dsc.ins_srtcontrole_key = isc.ins_srtcontrole_key"
|
||||
+ " AND isc.ctr_discipline_key = cdp.ctr_ins_discipline_key"
|
||||
+ " AND dsc.ins_deelsrtcontrole_key = " + mld_melding.kto_key;
|
||||
var oRs = Oracle.Execute(sql);
|
||||
// De controle moet aanwezig zijn.
|
||||
var this_ins = ins.func_enabled_deel(oRs("ins_deel_key").Value,
|
||||
{srtcont_key: oRs("ins_srtcontrole_key").Value,
|
||||
deelsrtcont_key: mld_melding.kto_key,
|
||||
scen_key: 1
|
||||
});
|
||||
if (this_ins.canInspFinishMjb)
|
||||
{
|
||||
canCloseCtr.push({ ins_key: oRs("ins_deel_key").Value,
|
||||
srtcont_key: oRs("ins_srtcontrole_key").Value,
|
||||
deelsrtcont_key: mld_melding.kto_key,
|
||||
controlemode: oRs("ctr_disc_params_controle_type").Value
|
||||
});
|
||||
srtContKeyArray.push(oRs("ins_srtcontrole_key").Value);
|
||||
controleModeArray[oRs("ctr_disc_params_controle_type").Value - 1] = oRs("ctr_disc_params_controle_type").Value; // Controlemode 2 op de 2de plek van de Array invullen [-1, 2, -1].
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// De -1 waarden in de controlemode Array verwijderen
|
||||
for (var i = 2; i >= 0; i--)
|
||||
{
|
||||
if (controleModeArray[i] == -1) controleModeArray.splice(i, 1);
|
||||
}
|
||||
// BESTAANDE MELDING
|
||||
var this_mld = mld.func_enabled_melding(mld_key); // Wat heb ik zoal aan rechten op deze specifieke melding
|
||||
user.auth_required_or_abort(this_mld.canReadAny);
|
||||
mld_info = mld.mld_melding_info(mld_key);
|
||||
|
||||
@@ -328,22 +458,10 @@ var editKostenplaats = (stdm_info.ins_srtdiscipline_kostenklant==1 && stdm_info.
|
||||
return false;
|
||||
};
|
||||
|
||||
function mld_close()
|
||||
function mld_close(verynew)
|
||||
{
|
||||
if (!validateForm("meld"))
|
||||
return false;
|
||||
|
||||
$.post( $("form[name=meld]")[0].action
|
||||
, $("[name=meld]").serialize()
|
||||
, FcltCallbackAndThen(function ()
|
||||
{
|
||||
$.post( "<%=rooturl%>/appl/mld/mld_close_save.asp?mld_key=<%=mld_key%>"
|
||||
, $("[name=meld]").serialize()
|
||||
, McltCallbackRefresh
|
||||
, "json");
|
||||
})
|
||||
, "json");
|
||||
return false;
|
||||
window.location.href = "<%=rooturl%>/appl/pda/melding.asp?mld_key=<%=mld_key%>#meld-4-<%=mld_key%>";
|
||||
return false;
|
||||
};
|
||||
|
||||
function mld_submit_callback(json)
|
||||
@@ -420,12 +538,12 @@ var editKostenplaats = (stdm_info.ins_srtdiscipline_kostenklant==1 && stdm_info.
|
||||
|
||||
function PasteFromSelectbox()
|
||||
{
|
||||
if ($("#stdremark :selected").val() > -1)
|
||||
{
|
||||
$("#remark").focus();
|
||||
var PastedText = $("#stdremark :selected")[0].getAttribute("afmeldtekstoms");
|
||||
$("#remark").val($("#remark").val() + ($("#remark").val() != ""? "\n" : "") + PastedText);
|
||||
}
|
||||
if ($("#stdopmerk :selected").val() > -1)
|
||||
{
|
||||
$("#opmerk").focus();
|
||||
var PastedText = $("#stdopmerk :selected")[0].getAttribute("afmeldtekstoms");
|
||||
$("#opmerk").val($("#opmerk").val() + ($("#opmerk").val() != ""? "\n" : "") + PastedText);
|
||||
}
|
||||
}
|
||||
|
||||
function mld_forward_cancel()
|
||||
@@ -483,6 +601,38 @@ var editKostenplaats = (stdm_info.ins_srtdiscipline_kostenklant==1 && stdm_info.
|
||||
$("#time_from_enddate").val(endTime);
|
||||
}
|
||||
|
||||
function mld_close_submit()
|
||||
{
|
||||
if (!validateForm("u2"))
|
||||
return false;
|
||||
|
||||
$.post($("form[name=closeform]")[0].action, $("[name=closeform]").serialize(), McltCallbackAndThenAlways(function() {window.history.back();}), "json");
|
||||
return true; // disable button
|
||||
}
|
||||
|
||||
function ctrcloseToggler(deze)
|
||||
{
|
||||
var ctrclose = $(deze).prop('checked');
|
||||
if (ctrclose)
|
||||
{
|
||||
<% for (var i = 0; i < controleModeArray.length; i++)
|
||||
{ %>
|
||||
$("#sel_controlemode" + <%=controleModeArray[i]%>).addClass("required");
|
||||
<% } %>
|
||||
$("#inscontrolemode").show();
|
||||
FcltMgr.resized(window);
|
||||
}
|
||||
else
|
||||
{
|
||||
$("#inscontrolemode").hide();
|
||||
<% for (var i = 0; i < controleModeArray.length; i++)
|
||||
{ %>
|
||||
$("#sel_controlemode" + <%=controleModeArray[i]%>).removeClass("required");
|
||||
<% } %>
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
<script>
|
||||
|
||||
@@ -989,6 +1139,187 @@ if (action == "forward")
|
||||
FOOTER();
|
||||
PAGE_END();
|
||||
}
|
||||
if (mld_key > -1)
|
||||
{
|
||||
// scherm: Afmelden melding
|
||||
PAGE_START({id: "meld-4-" + mld_key, dialog: true})
|
||||
HEADER({title: L("lcl_close") + " " + subject, back: false, nohome:true});
|
||||
CONTENT_START();
|
||||
%>
|
||||
<form id="closeform" name="closeform" action="<%=rooturl%>/appl/mld/mld_close_save.asp?mld_key=<%=mld_key%>" method="post">
|
||||
<%
|
||||
if (mldRequireCnt == 1)
|
||||
{ %>
|
||||
<%= reqStatusEmptyMelding.join("<br />") + "<br />" + L("lcl_mld_change_now") %>
|
||||
<% }
|
||||
else
|
||||
{
|
||||
var prefix = "";
|
||||
var oldRemark = "";
|
||||
var req = false;
|
||||
var stdmld_arr = [];
|
||||
var disc_arr = [];
|
||||
|
||||
sql = "SELECT DISTINCT mld_stdmelding_afmeldtext"
|
||||
+ " , mld_melding_opmerking"
|
||||
+ " , ins_srtdiscipline_prefix"
|
||||
+ " , std.mld_stdmelding_key"
|
||||
+ " , md.ins_discipline_key"
|
||||
+ " FROM mld_melding mm"
|
||||
+ " , mld_stdmelding std"
|
||||
+ " , mld_discipline md"
|
||||
+ " , ins_srtdiscipline sd"
|
||||
+ " WHERE mld_melding_key IN (" + mld_key + ")"
|
||||
+ " AND mm.mld_stdmelding_key = std.mld_stdmelding_key"
|
||||
+ " AND std.mld_ins_discipline_key = md.ins_discipline_key"
|
||||
+ " AND md.ins_srtdiscipline_key = sd.ins_srtdiscipline_key";
|
||||
oRs = Oracle.Execute(sql);
|
||||
while (!oRs.eof)
|
||||
{
|
||||
prefix = oRs("ins_srtdiscipline_prefix").Value || "";
|
||||
oldRemark = oRs("mld_melding_opmerking").Value;
|
||||
req = req || ((S("mld_afhandeling_required_for_close") || oRs("mld_stdmelding_afmeldtext").value == 2) && (oldRemark == null));
|
||||
stdmld_arr[stdmld_arr.length] = oRs("mld_stdmelding_key").Value;
|
||||
disc_arr[disc_arr.length] = oRs("ins_discipline_key").Value;
|
||||
oRs.MoveNext();
|
||||
}
|
||||
|
||||
var txt = "";
|
||||
if (lastopdr)
|
||||
txt = L("lcl_mld_close_order_close_call") + "<br>";
|
||||
|
||||
// Mag ik kennisbank raadplegen en standaard-antwoorden knippen/plakken
|
||||
var authFaq = (S("faq_enabled") == 1) && user.checkAutorisation("WEB_FAQFOF", true);
|
||||
var buttons = [];
|
||||
if (authFaq && authFaq.PRSwritelevel < 9) // schrijfrechten op WEB_FAQFOF nodig
|
||||
{
|
||||
var goegel = "FcltMgr.openDetail('/appl/fac/fac_faq_search.asp?urole=bo&autosearch=1'"
|
||||
+ "+'&stdm_str='+'" + stdmld_arr.join(",") + "'"
|
||||
+ "+'&disc_key_str='+'" + disc_arr.join(",") + "'"
|
||||
+ ", '" + L("lcl_faq_kennisbank") + "') ";
|
||||
buttons.push({ icon: "book_open.png", title: L("lcl_mld_paste"), action: 'PasteFromClipboard()'});
|
||||
buttons.push({ icon: "lightbulb.png", title: L("lcl_fac_filterblok"), action: goegel});
|
||||
}
|
||||
|
||||
var sql_from_t = " FROM mld_afmeldtekst"
|
||||
+ " WHERE ((mld_stdmelding_key IN (" + stdmld_arr.join(",") + ") )"
|
||||
+ " OR (mld_stdmelding_key IS NULL AND mld_ins_discipline_key IN (" + disc_arr.join(",") + ") )"
|
||||
+ " OR (mld_stdmelding_key IS NULL AND mld_ins_discipline_key IS NULL))"
|
||||
+ " AND BITAND(mld_afmeldtekst_usefor, 1) = 1";
|
||||
|
||||
var sql_from_o = " FROM mld_opdr mo"
|
||||
+ " WHERE mo.mld_melding_key = " + ingesloten[0]
|
||||
+ " AND mo.mld_statusopdr_key in (6, 7, 9)" // status=afgemeld, verwerkt en afgerond
|
||||
+ " AND mo.mld_opdr_opmerking IS NOT NULL";
|
||||
|
||||
var sql = "SELECT SUM(aantal) aantal"
|
||||
+ " FROM ( SELECT COUNT(*) aantal" + sql_from_t
|
||||
+ (ingesloten.length == 1
|
||||
? " UNION SELECT COUNT(*)" + sql_from_o
|
||||
: ""
|
||||
)
|
||||
+ ")";
|
||||
oRs = Oracle.Execute(sql);
|
||||
var aantal_teksten = oRs("aantal").Value;
|
||||
oRs.Close();
|
||||
if (aantal_teksten > 0)
|
||||
{
|
||||
sql = "SELECT mld_afmeldtekst_key"
|
||||
+ " , " + lcl.xsqla('mld_afmeldtekst_naam', 'mld_afmeldtekst_key')
|
||||
+ " , " + lcl.xsql('mld_afmeldtekst_omschrijving', 'mld_afmeldtekst_key') + " afmeldtekstoms"
|
||||
+ " , 2 src"
|
||||
+ sql_from_t;
|
||||
if (ingesloten.length == 1)
|
||||
{
|
||||
sql += " UNION "
|
||||
+ "SELECT mo.mld_opdr_key"
|
||||
+ " ," + safe.quoted_sql(L("lcl_opdr_closeremark") + " /") +"|| mo.mld_opdr_bedrijfopdr_volgnr"
|
||||
+ " , mo.mld_opdr_opmerking"
|
||||
+ " , 1"
|
||||
+ sql_from_o
|
||||
}
|
||||
sql += " ORDER BY 4,2";
|
||||
|
||||
FCLTselector("stdopmerk",
|
||||
sql,
|
||||
{ label: L("lcl_mld_inf_std_opm"),
|
||||
initKey: -1,
|
||||
emptyOption: (S("mld_sel_single_closingtext")==2 && aantal_teksten==1 ? null : ""),
|
||||
extraParamValue: "afmeldtekstoms",
|
||||
onChange: "PasteFromSelectbox()"});
|
||||
}
|
||||
|
||||
// tekstveld waarin informatie over de afhandeling vermeld kan worden
|
||||
if (ingesloten.length == 1 && oldRemark)
|
||||
{
|
||||
%><div><%=safe.html(oldRemark)%></div><%
|
||||
}
|
||||
|
||||
RWFIELD("opmerk", "", "", {multi: true, disabled: false, pclass: "fldremark" + (req?" required":"")});
|
||||
if (canCloseOpdr.length)
|
||||
{ %>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<% CHB_FIELD("opdr_close", canCloseOpdr.length + L("lcl_mld_ord_close_all")); %>
|
||||
</td>
|
||||
</tr>
|
||||
<% }
|
||||
if (canCloseCtr.length)
|
||||
{ %>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<% CHB_FIELD("ctr_close", "", canCloseCtr.length + L("lcl_mld_ctr_close_all"), { html: "onChange='ctrcloseToggler(this)'" }); %>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<div id="inscontrolemode" style="display: none">
|
||||
<table>
|
||||
<% for (var i = 0; i < controleModeArray.length; i++)
|
||||
{ // Maximaal 3 types.
|
||||
var sctype;
|
||||
switch (controleModeArray[i])
|
||||
{
|
||||
case 1: sctype = L("lcl_ins_srtcontrole_insp"); break;
|
||||
case 2: sctype = L("lcl_ins_srtcontrole_repl"); break;
|
||||
case 3: sctype = L("lcl_ins_srtcontrole_cert"); break;
|
||||
}
|
||||
|
||||
sql = "SELECT ins_controlemode_key"
|
||||
+ " , " + lcl.xsqla('ins_controlemode_oms', 'ins_controlemode_key')
|
||||
+ " FROM ins_controlemode"
|
||||
+ " WHERE ins_srtcontrole_type = " + controleModeArray[i]
|
||||
+ " AND ins_controlemode_success = 1"
|
||||
+ " ORDER BY 2";
|
||||
|
||||
// Methode is voor de status Afgemeld(5) en Historie/Verwerkt(6) altijd ingevuld.
|
||||
// Required wordt gezet als de selectbox zichtbaar wordt.
|
||||
FCLTselector("sel_controlemode" + controleModeArray[i],
|
||||
sql,
|
||||
{ label: L("lcl_ins_controle_mode") + " " + sctype,
|
||||
initKey: -1,
|
||||
emptyOption: L("lcl_select_controlemode"),
|
||||
selectjustone: true
|
||||
});
|
||||
}
|
||||
%> </table>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<% }
|
||||
}
|
||||
|
||||
CONTROLGROUP_START();
|
||||
BUTTON(L("lcl_submit"), {click: "mld_close_submit();", dataicon: "refresh"});
|
||||
BUTTON(L("lcl_cancel"), {datarel: "back", dataicon: "back"} );
|
||||
CONTROLGROUP_END();
|
||||
IFACE.FORM_END();
|
||||
%>
|
||||
</form>
|
||||
<%
|
||||
CONTENT_END();
|
||||
PAGE_END();
|
||||
}
|
||||
%>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user