FCLT#77302 Meerdere personen in autorisatiegroepen stoppen (multi-actie)

svn path=/Website/trunk/; revision=60638
This commit is contained in:
Erik Groener
2023-06-06 07:18:35 +00:00
parent 2f53effca4
commit ba18111697
3 changed files with 46 additions and 9 deletions

View File

@@ -15,6 +15,12 @@
var prs_key = getQParamInt("person", -1);
var prs_arr = getQParamIntArray("prsarr", []);
var xfunc = user.func_enabled("*", null, null, user_key);
var canAddAuth = ( user.has("WEB_PRSSYS").autfunction == "WEBPRSSYS"
|| xfunc.canWrite("WEB_PRSMSU")
|| ( xfunc._funcodes["WEB_PRSMSU"] && xfunc._funcodes["WEB_PRSMSU"].PRSreadlevel < 9)
);
if (mode == 'list')
{
Oracle.Execute("alter session set nls_comp = 'LINGUISTIC' NLS_SORT = 'BINARY_AI'"); // Zodat m<>ller gevonden wordt
@@ -23,10 +29,9 @@ var this_model_params = { readonly: true // We willen hier niet via de interf
, prs_key: prs_key
, prs_arr: prs_arr
}
var this_model = new model_prs_perslid(this_model_params); // We willen hier niet via de interface bewerken
scaffolding(this_model,
{
var this_model = new model_prs_perslid(this_model_params); // We willen hier niet via de interface bewerken
var scf_params = {
"search": {
"filters": [
"lastname",
@@ -44,7 +49,10 @@ var this_model = new model_prs_perslid(this_model_params); // We willen hier nie
"firstname",
"login",
"authorization.authorizationgroup"
]
],
"requires": {
js: ["./prs_perslid.js"]
}
},
"show": {},
"layout": {
@@ -63,6 +71,14 @@ var this_model = new model_prs_perslid(this_model_params); // We willen hier nie
"transit_qlist": [
{"name": "prsarr", "val": prs_arr}
]
});
};
if (canAddAuth)
{
scf_params.list.actions = [{ "action": "authgroupAdd", "caption": L("fac_groep"), multi: true, onlyMulti: true, multiOnce: true } ];
}
scaffolding(this_model, scf_params);
%>
<% ASPPAGE_END(); %>

16
APPL/MGT/prs_perslid.js Normal file
View File

@@ -0,0 +1,16 @@
/*
$Revision$
$Id$
*/
function authgroupAdd(rowArray)
{
var prsKeyArray = getKeyString(rowArray).split(",");
var aantalPrs = prsKeyArray.length;
var prsKey = prsKeyArray.shift();
var url = "../mgt/prs_perslid.asp?mode=edit&model=authorization&person="+prsKey
+ (prsKeyArray.length>0 ? "&prsarr="+prsKeyArray.join(",") : "");
var title = "[" + aantalPrs + "] " + (aantalPrs == 1 ? L("prs_perslid") : L("prs_perslid_m"));
FcltMgr.openModalDetail(url, title, {callback: FcltCallbackRefresh});
}

View File

@@ -96,7 +96,11 @@ function perslid_list(pautfunction, params)
var canAdd = (authparamsPRSMAN && authparamsPRSMAN.ALGwritelevel < 9 && authparamsPRSMAN.PRSwritelevel < 9);
var canMultiAdd = ((authparamsFINMSU && authparamsFINMSU.ALGwritelevel < 9) ||
(authparamsFACMAN && authparamsFACMAN.PRSwritelevel < 9));
var xfunc = user.func_enabled("*", null, null, user_key);
var canAddAuth = ( user.has("WEB_PRSSYS").autfunction == "WEBPRSSYS"
|| xfunc.canWrite("WEB_PRSMSU")
|| ( xfunc._funcodes["WEB_PRSMSU"] && xfunc._funcodes["WEB_PRSMSU"].PRSreadlevel < 9)
);
// Voor resulttable de globalen zetten; zou ng anders moeten.
var outputmode = params.outputmode; // print to 0 = screen, 1 = printer, 2 = excel, etc.
var showall = params.showall;
@@ -129,7 +133,8 @@ function perslid_list(pautfunction, params)
return {eChange: eChange,
eDelete: eDelete,
eMandate: eMandate,
eAuthgroup: eAuthgroup};
eAuthgroup: eAuthgroup
};
}
%>
@@ -472,8 +477,8 @@ function perslid_list(pautfunction, params)
rst.addAction({ action: "doDelete", caption: L("lcl_delete"), enabler: "eDelete", single: false, multi: true, multiOnce: true});
if (canMultiAdd)
rst.addAction({ action: "mandateAdd", caption: L("lcl_prs_mandatering"), enabler: "eMandate", single: false, multi: true, multiOnce: true});
rst.addAction({ action: "authgroupAdd", caption: L("fac_groep"), enabler: "eAuthgroup", single: false, multi: true, multiOnce: true});
if (canAddAuth)
rst.addAction({ action: "authgroupAdd", caption: L("fac_groep"), enabler: "eAuthgroup", single: false, multi: true, multiOnce: true});
var cnt = rst.processResultset();
%>
</body>