FSN#35003 Superuser meldingen en opdrachten: FACFAC mag enkele velden *altijd* bewerken
svn path=/Website/trunk/; revision=33705
This commit is contained in:
@@ -1604,6 +1604,8 @@ function generic_REST_PUT(model, gparams)
|
||||
var err = Oracle.Execute(xxxUpd.sql, true);
|
||||
if (err.friendlyMsg)
|
||||
abort_with_warning(err.friendlyMsg);
|
||||
if (model.trackcode)
|
||||
shared.trackaction(model.trackcode, the_key, xxxUpd.trackarray.join("\n"));
|
||||
}
|
||||
var inctrack = api2.process_includes(params, model, jsondata, the_key);
|
||||
|
||||
|
||||
@@ -19,16 +19,75 @@
|
||||
<%
|
||||
user.checkAutorisation("WEB_FACFAC");
|
||||
|
||||
var edit_fields = { "bes_bestelopdr": { "track": null,
|
||||
"fields": ["bes_bestelopdr_status"]
|
||||
},
|
||||
"cnt_contract": { "track": "#CNTUPD",
|
||||
"fields": ["cnt_contract_status",
|
||||
"ins_discipline_key",
|
||||
"cnt_contract_teverzenden"]
|
||||
},
|
||||
"fac_tracking": { "track": null,
|
||||
"fields": ["fac_tracking_datum",
|
||||
"name",
|
||||
"fac_tracking_oms",
|
||||
"prs_perslid_key"]
|
||||
},
|
||||
"fin_factuur": { "track": "#FINUPD",
|
||||
"fields": ["prs_kostensoort_key",
|
||||
"fin_factuur_statuses_key"]
|
||||
},
|
||||
"mld_melding": { "track": "#MLDUPD",
|
||||
"fields": ["mld_melding_status",
|
||||
"prs_perslid_key",
|
||||
"prs_kostenplaats_key"]
|
||||
},
|
||||
"mld_opdr": { "track": "#ORDUPD",
|
||||
"fields": ["mld_typeopdr_key",
|
||||
"mld_statusopdr_key",
|
||||
"mld_opdr_teverzenden",
|
||||
"mld_opdr_verzonden"]
|
||||
},
|
||||
"res_rsv_ruimte": { "track": "#RESUPD",
|
||||
"fields": ["res_status_fo_key",
|
||||
"res_status_bo_key"]
|
||||
},
|
||||
"res_rsv_deel": { "track": "#RESUPD",
|
||||
"fields": ["res_status_bo_key"]
|
||||
},
|
||||
"res_rsv_artikel": { "track": "#RESUPD",
|
||||
"fields": ["res_status_bo_key"]
|
||||
}
|
||||
}
|
||||
|
||||
var table = getQParam("table").toUpperCase();
|
||||
|
||||
var model = model_generic(table, "WEB_FACFAC");
|
||||
if (mode == "show")
|
||||
delete model.soft_delete;
|
||||
|
||||
var params = { "transit": { "table": table },
|
||||
"show": {} // zodat je kunt doorklikken
|
||||
};
|
||||
|
||||
// Meeste velden geforceerd readonly
|
||||
for (var fld in model.fields)
|
||||
{
|
||||
var exception = edit_fields[table.toLowerCase()];
|
||||
if (fld == model.soft_delete ||
|
||||
exception && inArray(fld, exception.fields))
|
||||
{
|
||||
model.fields[fld].multiedit = !model.fields[fld].foreign;
|
||||
model.fields[fld].track = true;
|
||||
model.trackcode = exception.track;
|
||||
continue;
|
||||
}
|
||||
// Anders altijd:
|
||||
model.fields[fld].readonly = true;
|
||||
|
||||
}
|
||||
|
||||
if (mode == "show" || mode == "edit" )
|
||||
delete model.soft_delete;
|
||||
|
||||
params.search = {};
|
||||
if ("id" in model.fields)
|
||||
{
|
||||
@@ -57,13 +116,11 @@
|
||||
if ("estimated_rows" in model && model.estimated_rows < S("qp_maxrows"))
|
||||
params.search.autosearch = true;
|
||||
|
||||
if (model.nrfields > 10)
|
||||
if (getQParamInt("scf_multi", 0) == 0 && model.nrfields > 10)
|
||||
params.multicolumn = true;
|
||||
|
||||
model.REST_GET = generic_REST_GET(model);
|
||||
// geforceerd readonly
|
||||
// Toevoegen en delete staan we niet toe
|
||||
model.REST_POST = null;
|
||||
model.REST_PUT = null;
|
||||
model.REST_DELETE = null;
|
||||
|
||||
scaffolding(model, params);
|
||||
|
||||
@@ -582,6 +582,7 @@ function scf_RWFIELDTR(model, fld, val, key, params)
|
||||
{
|
||||
switch (field.typ)
|
||||
{
|
||||
case "key": params.datatype = "number"; break; // Voor mgt_generic soms
|
||||
case "varchar": params.datatype = "text"; break;
|
||||
case "number":
|
||||
case "float": params.datatype = field.typ; break;
|
||||
|
||||
@@ -183,6 +183,9 @@ function scaffolding_edit(model, scf_params)
|
||||
params.checkNot = [];
|
||||
$("input[type=text],input[type=checkbox],input[type=number],select").not("[name^=scf_multi]").each(function() {
|
||||
var thisname = $(this).attr("name");
|
||||
if (!thisname) // Veel te ingewikkeld met datumvelden, die controleren we multi nooit
|
||||
return;
|
||||
|
||||
var cb_name = "scf_multi_" + thisname;
|
||||
if (!$("input[name=" + cb_name + "]").is(":checked"))
|
||||
params.checkNot.push(thisname);
|
||||
@@ -283,7 +286,10 @@ function scaffolding_edit(model, scf_params)
|
||||
<% if (multi) {
|
||||
// Overal een vinkje voorzetten
|
||||
%>
|
||||
$("input[type=text],input[type=checkbox],input[type=number],select").each(function() {
|
||||
$("input[type=text],input[type=checkbox],input[type=number],select").not(".fldtime").each(function() {
|
||||
if ($(this).hasClass('flddate'))
|
||||
var cb_name = "scf_multi_" + $(this).attr("id").substr("show_".length);
|
||||
else
|
||||
var cb_name = "scf_multi_" + $(this).attr("name");
|
||||
var cb = $("<input type='checkbox'>").attr("name", cb_name);
|
||||
var td = $("<td class='multi_cb'></td>").append(cb);
|
||||
|
||||
Reference in New Issue
Block a user