MDUX#57403 Probleem met rechten op account niveau bij bestellingen na release

svn path=/Website/branches/v2019.1/; revision=42122
This commit is contained in:
Erik Groener
2019-04-16 14:29:16 +00:00
parent d3e3fa7844
commit 9dcd49a10c
4 changed files with 32 additions and 26 deletions

View File

@@ -1329,35 +1329,41 @@
func_enabled_bestelitem: // Wat mag ik zoal op deze specifieke bestel item?
function _func_enabled_bestelitem(bes_key, item_key)
{
var voor_prs_key = user_key; // default voor als bestelling zelf nog niet bestaat (maken nieuwe bestelling)
var bresult = {};
// Controleeer wel de rechten voor een bestaande besteling.
if (bes_key > -1)
{
var voor_prs_key = user_key;
var sql = "SELECT prs_perslid_key_voor"
+ " FROM bes_bestelling"
+ " WHERE bes_bestelling_key = " + bes_key;
var oRs = Oracle.Execute(sql);
if (!oRs.eof)
{
voor_prs_key = oRs("prs_perslid_key_voor").Value;
}
voor_prs_key = oRs("prs_perslid_key_voor").Value;
oRs.Close();
var sql = "SELECT g.ins_discipline_key"
+ " FROM bes_srtdeel d"
+ " , bes_srtgroep g"
+ " WHERE d.bes_srtgroep_key = g.bes_srtgroep_key"
+ " AND d.bes_srtdeel_key = " + item_key;
var oRs = Oracle.Execute(sql);
var disc_key = oRs("ins_discipline_key").Value;
oRs.Close();
}
var sql = "SELECT g.ins_discipline_key"
+ " FROM bes_srtdeel d"
+ " , bes_srtgroep g"
+ " WHERE d.bes_srtgroep_key = g.bes_srtgroep_key"
+ " AND d.bes_srtdeel_key = " + item_key;
var oRs = Oracle.Execute(sql);
var disc_key = oRs("ins_discipline_key").Value;
oRs.Close();
var bresult = user.func_enabled2( "BES"
, { ins_discipline_key: disc_key
, prs_key: voor_prs_key
, checkOptimistic: false // pessimist
, isOptional: false
}
);
var func_result = user.func_enabled2( "BES"
, { ins_discipline_key: disc_key
, prs_key: voor_prs_key
, checkOptimistic: false // pessimist
, isOptional: true
}
);
bresult.canChangeLine = func_result.canWrite("WEB_BESBOF");
}
else
{
// Als je bezig bent met een nieuse bestelling dan heb je voldoende rechten.
bresult = { canChangeLine: true }
}
return bresult;
},

View File

@@ -88,7 +88,7 @@ function doSubmit()
objReturn[2] = new Array(); // flexkenmerk omschrijving
objReturn[3] = new Array(); // flexkenmerkwaarde omschrijving
objReturn[4] = new Array(); // url
objReturn[5] = {canWriteBESBOF: <%=(bresult.canWrite("WEB_BESBOF")?1:0)%>}; // andere eigenschappen: canWriteBESBOF
objReturn[5] = {canWriteBESBOF: <%=(bresult.canChangeLine?1:0)%>}; // andere eigenschappen: canWriteBESBOF
var nameprefix = 'k';
for (var i=1; i<=window.document.getElementById("k_all").value; i++) {

View File

@@ -225,7 +225,7 @@ function generateDetails(bes_key, params)
if (fotopad && fotopad.indexOf("/") == -1) // Nog geen enkele slash? Dan moet het wel lokaal zijn.
fotopad = S("bes_image_path") + oRs("ins_discipline_key").Value + "/" + fotopad;
var bresult = bes.func_enabled_bestelitem(bes_key, oRs("bes_srtdeel_key").Value);
var bresult = bes.func_enabled_bestelitem( (edit?bes_key:-1), oRs("bes_srtdeel_key").Value);
%>
details_Items[<%=oRs("bes_bestelling_item_key").value%>] =
{ bestelling_key: <%=oRs("bes_bestelling_key").value%>,
@@ -251,7 +251,7 @@ function generateDetails(bes_key, params)
urole: "<%=safe.jsstring(params.urole)%>",
disc_key: <%=oRs("ins_discipline_key").Value%>,
srtgroup_key: <%=oRs("bes_srtgroep_key").Value%>,
auth: { canWriteBESBOF: <%=(bresult.canWrite("WEB_BESBOF")?1:0)%> }
auth: { canWriteBESBOF: <%=(bresult.canChangeLine?1:0)%> }
};
<%

View File

@@ -113,7 +113,7 @@ if (req_info == "")
detailURL = oRs("prs_bedrijf_details_loc").value + oRs("nrofdeel").value;
else // Als geen detail gedefineerd dan maar plaatje groot tonen bij onClick
detailURL = imgpath;
var bresult = bes.func_enabled_bestelitem(bestelling_key, oRs("bes_srtdeel_key").Value);
result = { srtdeel_key: srtdeel_key,
@@ -139,7 +139,7 @@ if (req_info == "")
staffeltabel_key: oRs("bes_staffeltabel_key").value,
disc_key: oRs("ins_discipline_key").value,
prs_bedrijf_key: oRs("prs_bedrijf_key").Value,
auth: { canWriteBESBOF: (bresult.canWrite("WEB_BESBOF")?1:0) }
auth: { canWriteBESBOF: (bresult.canChangeLine?1:0) }
};
oRs.Close();