UWVA#40709 UDR clonen weer werkend als je geen FACFAC rechten hebt
svn path=/Website/branches/v2017.1/; revision=34079
This commit is contained in:
@@ -144,12 +144,12 @@ function model_reportsx(usrrap_key, rapparams)
|
||||
};
|
||||
|
||||
var hasFACFAC = user.has("WEB_FACFAC"); // Die mag ook tabellen doen
|
||||
this.is_safe_view = function(viewname)
|
||||
this.is_safe_view = function(viewname, params)
|
||||
{
|
||||
if (hasFACFAC)
|
||||
return true; // die mag alles
|
||||
|
||||
if (rapparams.internal)
|
||||
if (params.cloning)
|
||||
return true; // cloning
|
||||
|
||||
if (viewname)
|
||||
@@ -192,7 +192,7 @@ function model_reportsx(usrrap_key, rapparams)
|
||||
{
|
||||
// viewname zit alleen in dbfields als het een insert is. In edit-mode is dit veld readonly, dus niet in dbfields.
|
||||
if ("viewname" in dbfields)
|
||||
user.auth_required_or_abort(this.is_safe_view(jsondata.viewname));
|
||||
user.auth_required_or_abort(this.is_safe_view(jsondata.viewname, params));
|
||||
};
|
||||
|
||||
this.hook_pre_edit = function (obj)
|
||||
@@ -221,7 +221,7 @@ function model_reportsx(usrrap_key, rapparams)
|
||||
+ " FROM fac_v_webgebruiker W"
|
||||
+ " WHERE w.prs_perslid_key = " + user_key + ")");
|
||||
if (user.has("WEB_UDRMAN")) // Met UDRMAN hoef je er geen rechten op te hebben
|
||||
{ // Uitzondeing: FACFAC en FACTAB, daar moet je altijd rechten op hebben
|
||||
{ // Uitzondering: FACFAC en FACTAB, daar moet je altijd rechten op hebben
|
||||
whereor.push("fac_functie_key NOT IN"
|
||||
+ " (SELECT fac_functie_key"
|
||||
+ " FROM fac_functie"
|
||||
@@ -249,7 +249,7 @@ function model_reportsx(usrrap_key, rapparams)
|
||||
this.includes["columns"].model._view2columns(params.filter.id, rap_data.lastrefresh, rap_data.columns);
|
||||
var json = api2.sql2json (params, sql, this ); // En nu opnieuw ophalen
|
||||
}
|
||||
if ("viewname" in rap_data && !this.is_safe_view(rap_data.viewname))
|
||||
if (!params.internal && "viewname" in rap_data && !this.is_safe_view(rap_data.viewname, {}))
|
||||
this.fields["viewname"].readonly = true;
|
||||
|
||||
if (!params.cloning && rap_data.styling && rap_data.styling.id & 32) // UDR Template
|
||||
@@ -314,7 +314,8 @@ function model_reportsx(usrrap_key, rapparams)
|
||||
var err = Oracle.Execute(rapIns.sql, true);
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
|
||||
if (params.cloning)
|
||||
this.includes.columns.model.REST_POST = this.includes.columns.model._REST_POST; // Voor de clone van de kolommen
|
||||
var beztrack = api2.process_includes(params, this, jsondata, rap_key);
|
||||
|
||||
return { key: rap_key, warning: "" };
|
||||
|
||||
@@ -53,7 +53,7 @@ function scaffolding_save(model, scf_params)
|
||||
if (include.enable_update)
|
||||
incs.push(inc)
|
||||
}
|
||||
var olddata = api2.GET(model, clone_key, { include: incs } );
|
||||
var olddata = api2.GET(model, clone_key, { include: incs, internal: true } );
|
||||
for (var fld in model.fields)
|
||||
{
|
||||
var field = model.fields[fld];
|
||||
@@ -130,6 +130,7 @@ function scaffolding_save(model, scf_params)
|
||||
}
|
||||
else
|
||||
{
|
||||
params.cloning = cloning;
|
||||
var restresult = model.REST_POST(params, jsondata);
|
||||
key = restresult.key;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user