MARX#54156: Verplichte flexprops bij afwijzen opdracht in de popup "afwijzen".
svn path=/Website/trunk/; revision=38788
This commit is contained in:
@@ -37,6 +37,7 @@ generateFlexKenmerkBlock({ stdm_arr : getQParamIntArray("stdm_str", []), //
|
||||
opdr_key : getQParamInt("opdr_key", -1),
|
||||
reado : (getQParamInt("reado", 0) == 1),
|
||||
flexcolumns : getQParamInt("advanced", 0) == 1?1:S("mld_flexcolumns"),
|
||||
cancel : (getQParamInt("cancel", 0) == 1),
|
||||
closing : (getQParamInt("close", 0) == 1),
|
||||
copy : (getQParamInt("opdr_copy", 0) == 1),
|
||||
opdr_status : getQParamInt("opdr_status", -1),
|
||||
|
||||
@@ -44,11 +44,13 @@ function generateFlexKenmerkBlock(params)
|
||||
var opdr_type_org = (params.opdr_type_org? params.opdr_type_org : -1);
|
||||
var opdr_key = (params.opdr_key? params.opdr_key : -1);
|
||||
var reado = (params.reado? params.reado : false);
|
||||
var cancel = (params.cancel? params.cancel : false);
|
||||
var showClose = (params.showClose? params.showClose : false);
|
||||
var copy = (params.copy? params.copy : false);
|
||||
var opdr_status = (params.opdr_status? params.opdr_status : -1);
|
||||
var advanced = (params.advanced? params.advanced : false); // Geavanceerd
|
||||
var prs_key = (params.prs_key? params.prs_key : -1); // Perslid key
|
||||
var onlyverplicht = params.onlyverplicht;
|
||||
var forward = params.forward;
|
||||
|
||||
// opdrman true betekent: user mag opdracht flexkenmerken > 900 zien/editen
|
||||
@@ -284,10 +286,15 @@ function generateFlexKenmerkBlock(params)
|
||||
+ sql_waarde + " kenmerk_waarde, "
|
||||
+ " k.mld_kenmerk_volgnummer kenmerk_volgnr, "
|
||||
+ " k.mld_kenmerk_groep kenmerk_groep, "
|
||||
+ lcl.xsql('t.mld_srtkenmerk_dimensie', 't.mld_srtkenmerk_key') +" kenmerk_dimensie, "
|
||||
+ lcl.xsql('k.mld_kenmerk_hint', 't.mld_srtkenmerk_key') +" kenmerk_hint, "
|
||||
+ lcl.xsql('k.mld_kenmerk_default','k.mld_kenmerk_key') +" kenmerk_default, "
|
||||
+ " k.mld_kenmerk_verplicht kenmerk_verplicht, "
|
||||
+ lcl.xsql("t.mld_srtkenmerk_dimensie", "t.mld_srtkenmerk_key") + " kenmerk_dimensie, "
|
||||
+ lcl.xsql("k.mld_kenmerk_hint", "t.mld_srtkenmerk_key") + " kenmerk_hint, "
|
||||
+ lcl.xsql("k.mld_kenmerk_default", "k.mld_kenmerk_key") + " kenmerk_default, "
|
||||
+ " CASE"
|
||||
+ " WHEN k.mld_kenmerk_verplicht = 1"
|
||||
+ (cancel
|
||||
? " OR k.mld_kenmerk_verplicht_status = 1"
|
||||
: "")
|
||||
+ " THEN 1 ELSE NULL END kenmerk_verplicht, "
|
||||
+ " " + otherKenmerkPath + " otherpath," // corresponderende pad voor copy/move folder
|
||||
+ " k.mld_kenmerk_toonbaar kenmerk_toonbaar," // 1=Alleen toonbaar (readonly)
|
||||
+ " k.mld_kenmerk_uniek kenmerk_uniek,"
|
||||
@@ -314,6 +321,8 @@ function generateFlexKenmerkBlock(params)
|
||||
// Alleen met opdrman rechten mag ik opdracht flexkenmerken boven de 900 zien
|
||||
if (!opdrman)
|
||||
sql1 += " AND k.mld_kenmerk_volgnummer <= 900";
|
||||
if (cancel)
|
||||
sql1 += " AND k.mld_kenmerk_verplicht_status = 1";
|
||||
}
|
||||
else
|
||||
{ // changeMelding || newMelding || advancedMelding
|
||||
|
||||
@@ -18,6 +18,7 @@ var LOCKED_USER_OK = { "xmlnode": "opdracht", "key": opdr_key };
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/iface.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="mld_flexkenmerk.inc" -->
|
||||
<!-- #include file="mld.inc" -->
|
||||
|
||||
<%
|
||||
@@ -32,9 +33,7 @@ user.auth_required_or_abort(this_opdr.canCancel); // Mag ik deze opdracht annule
|
||||
var mld_opdr = this_opdr.mld_opdr;
|
||||
lcl.set_dialect(mld_opdr.opdr_type, "MLD_TYPEOPDR_KEY");
|
||||
|
||||
var reqStatusEmptyOpdr = [];
|
||||
// Zijn bij deze opdracht alle verplichte kenmerken ingevuld?
|
||||
reqStatusEmptyOpdr = mld.getReqStatusEmptyOpdr(reqStatusEmptyOpdr, opdr_key, 1); // Opdracht status "Afgewezen(1)"
|
||||
// Kenmerken die verplicht zijn bij Afwijzen worden in het popup scherm getoond en moeten verplicht ingevuld worden. Dat hoef ik hier niet meer te testen.
|
||||
%>
|
||||
|
||||
<html>
|
||||
@@ -53,13 +52,6 @@ reqStatusEmptyOpdr = mld.getReqStatusEmptyOpdr(reqStatusEmptyOpdr, opdr_key, 1);
|
||||
if (!validateForm("u2"))
|
||||
return false;
|
||||
|
||||
// Zijn er opdrachtkenmerken die alleen verplicht zijn bij het afmelden en niet zijn ingevuld?
|
||||
if (<%=reqStatusEmptyOpdr.length%> != 0)
|
||||
{
|
||||
FcltMgr.alert("<%=safe.jsstring(reqStatusEmptyOpdr.join('\n'))%>");
|
||||
return false;
|
||||
}
|
||||
|
||||
$.post($("form[name=cancelform]")[0].action, $("[name=cancelform]").serialize(), FcltCallbackClose, "json");
|
||||
|
||||
return true; // disable button
|
||||
@@ -88,6 +80,22 @@ reqStatusEmptyOpdr = mld.getReqStatusEmptyOpdr(reqStatusEmptyOpdr, opdr_key, 1);
|
||||
mld_opdr.opdr_opmerking,
|
||||
{html: "rows='8'" + (!this_opdr.canOpmChange? " readonly" : "")});
|
||||
BLOCK_END();
|
||||
|
||||
// De verplichte afwijs (cancel) kenmerken tonen bij het afmelden. Vooralsnog worden de andere verplichte kenmerken niet getoond.
|
||||
generateFlexKenmerkBlock({ opdr_key: opdr_key,
|
||||
opdr_type: mld_opdr.opdr_type,
|
||||
opdr_type_org: mld_opdr.opdr_type,
|
||||
opdr_status: mld_opdr.opdr_status,
|
||||
mld_key: mld_opdr.mld_key,
|
||||
stdm_arr: [mld_opdr.stdm_key], // Stdmelding
|
||||
cancel: true,
|
||||
act_key: -1,
|
||||
reado: (!(this_opdr.canFlexChange || this_opdr.canChangeARFlex)? "1" : null),
|
||||
onlyverplicht: true,
|
||||
prs_key: user_key, // Perslid key, wordt alleen gebruikt als geldt (!kenmerk_search && !multiMode)
|
||||
showConfidential: this_opdr.canViewConfidential
|
||||
});
|
||||
|
||||
var buttons = [ {title: L("lcl_mld_opdr_cancel_button"), icon: "accept.png", action: "mld_close()", singlepress: true, id: "btn_close_submit" },
|
||||
{title: L("lcl_back"), icon: "cancel.png", action: "mld_cancel()" } ];
|
||||
CreateButtons(buttons);
|
||||
|
||||
@@ -21,6 +21,7 @@ var LOCKED_USER_OK = { "xmlnode": "opdracht", "key": opdr_key };
|
||||
<!-- #include file="../Shared/common.inc" -->
|
||||
<!-- #include file="../Shared/json2.js" -->
|
||||
<!-- #include file="../Shared/save2db.inc" -->
|
||||
<!-- #include file="../Shared/kenmerk_common.inc" -->
|
||||
<!-- #include file="mld.inc" -->
|
||||
<%
|
||||
protectRequest.validateToken();
|
||||
@@ -29,11 +30,8 @@ user.auth_required_or_abort(opdr_key > 0); // Hebben we een opdracht key gekrege
|
||||
// Controleren of ik deze opdracht mag annuleren
|
||||
var this_opdr = mld.func_enabled_opdracht(opdr_key); // wat mag ik zoal op deze opdracht
|
||||
|
||||
var reqStatusEmptyOpdr = [];
|
||||
// Zijn bij deze opdracht alle verplichte kenmerken ingevuld?
|
||||
reqStatusEmptyOpdr = mld.getReqStatusEmptyOpdr(reqStatusEmptyOpdr, opdr_key, 1); // Opdracht status "Afgewezen(1)"
|
||||
|
||||
user.auth_required_or_abort(this_opdr.canCancel && !reqStatusEmptyOpdr.length, JSON.stringify({ message: L("lcl_shared_no_auth"), success: false })); // Mag ik deze opdracht annuleren
|
||||
// Kenmerken die verplicht zijn bij Afwijzen worden in het popup scherm getoond en moeten verplicht ingevuld worden. Dat hoef ik hier niet meer te testen.
|
||||
user.auth_required_or_abort(this_opdr.canCancel, L("lcl_shared_no_auth")); // Mag ik deze opdracht annuleren
|
||||
|
||||
var result = { opdr_key: opdr_key, message: "", success: false};
|
||||
|
||||
@@ -51,6 +49,39 @@ if (this_opdr.canOpmChange)
|
||||
mld.trackopdrachtupdate(opdr_key, L("lcl_ord_is_ordupdtrack").format(formattedID) + "\n" + mldUpd.trackarray.join("\n"));
|
||||
}
|
||||
|
||||
var currentKenmerkenSQL = " SELECT k.mld_kenmerk_key, mld_kenmerkopdr_waarde"
|
||||
+ " FROM mld_kenmerkopdr ko"
|
||||
+ ", mld_kenmerk k"
|
||||
+ " WHERE k.mld_kenmerk_key = ko.mld_kenmerk_key"
|
||||
+ " AND mld_kenmerkopdr_verwijder IS NULL"
|
||||
+ " AND mld_opdr_key = " + opdr_key;
|
||||
|
||||
var allKenmerkenSQL = "SELECT " + lcl.xsql('t.mld_srtkenmerk_omschrijving', 't.mld_srtkenmerk_key') +" kenmerk_omschrijving"
|
||||
+ ", t.mld_srtkenmerk_kenmerktype kenmerk_kenmerktype"
|
||||
+ ", t.mld_srtkenmerk_systeem kenmerk_systeem"
|
||||
+ ", k.mld_kenmerk_toonbaar kenmerk_readonly"
|
||||
+ ", k.mld_kenmerk_uniek kenmerk_uniek"
|
||||
+ ", fac_kenmerkdomein_key"
|
||||
+ " FROM mld_kenmerk k, "
|
||||
+ " mld_srtkenmerk t"
|
||||
+ " WHERE k.mld_srtkenmerk_key = t.mld_srtkenmerk_key"
|
||||
+ " AND k.mld_kenmerk_key = "; /* wordt in saveFlexkenmerken uitgebreid */
|
||||
|
||||
var flextrack =
|
||||
saveFlexKenmerken(opdr_key, { kenmerkTable: "mld_kenmerkopdr",
|
||||
kenmerkParentKey : "mld_opdr_key",
|
||||
kenmerkWaarde: "mld_kenmerkopdr_waarde",
|
||||
kenmerkKey: "mld_kenmerk_key",
|
||||
currentKenmerkenSQL: currentKenmerkenSQL,
|
||||
allKenmerkenSQL: allKenmerkenSQL,
|
||||
requestQF: Request.Form,
|
||||
isNew: false,
|
||||
flexPath: "MLD/O",
|
||||
tracking: true,
|
||||
module: "MLD"
|
||||
}
|
||||
);
|
||||
|
||||
// Zetten van de status en afhandelen van de tracking van het annuleren (cancel).
|
||||
mld.setopdrachtstatus(opdr_key, 1); // Verworpen
|
||||
mld.updatemeldingstatus(mld_opdr.mld_key, 0);
|
||||
|
||||
Reference in New Issue
Block a user