From cc1cae802309e825faffab941270b8f030b800b9 Mon Sep 17 00:00:00 2001 From: Simon Leipold <s.leipold@adito.de> Date: Fri, 24 May 2019 13:40:49 +0200 Subject: [PATCH] Permissions - added default values + automatic filling for fields when creating new permissions --- .../PermissionDetail_entity.aod | 1 + .../accesstype/displayValueProcess.js | 28 ++++++++++++------- .../entityfields/accesstype/valueProcess.js | 28 ++++++++++++------- .../entityfields/condtype/valueProcess.js | 3 ++ .../entity/displayValueProcess.js | 21 ++++++++------ .../entityfields/entity/valueProcess.js | 21 ++++++++------ .../entityfields/role/displayValueProcess.js | 28 +++++++++---------- .../entityfields/role/valueProcess.js | 21 ++++++++------ 8 files changed, 90 insertions(+), 61 deletions(-) create mode 100644 entity/PermissionDetail_entity/entityfields/condtype/valueProcess.js diff --git a/entity/PermissionDetail_entity/PermissionDetail_entity.aod b/entity/PermissionDetail_entity/PermissionDetail_entity.aod index 254f12ad6aa..3ed12925636 100644 --- a/entity/PermissionDetail_entity/PermissionDetail_entity.aod +++ b/entity/PermissionDetail_entity/PermissionDetail_entity.aod @@ -66,6 +66,7 @@ <title>Condition Type</title> <consumer>KeywordConditionType</consumer> <mandatory v="true" /> + <valueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/condtype/valueProcess.js</valueProcess> <displayValueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/condtype/displayValueProcess.js</displayValueProcess> </entityField> <entityField> diff --git a/entity/PermissionDetail_entity/entityfields/accesstype/displayValueProcess.js b/entity/PermissionDetail_entity/entityfields/accesstype/displayValueProcess.js index 9df8d712eee..fe3b117045c 100644 --- a/entity/PermissionDetail_entity/entityfields/accesstype/displayValueProcess.js +++ b/entity/PermissionDetail_entity/entityfields/accesstype/displayValueProcess.js @@ -1,10 +1,18 @@ -//import("system.vars"); -//import("system.result"); -// -//var field = vars.get("$field.FIELD"); -// -//if (field != undefined && field != null && field != "") { -// result.string("Feld"); -//} else { -// result.string(""); -//} \ No newline at end of file +import("system.vars"); +import("system.result"); +import("Permission_lib"); + +var field = vars.get("$field.FIELD"); +var role = vars.get("$field.ROLE"); +var entity = vars.get("$field.ENTITY"); +var rootPermSet = PermissionUtil.getRootPermissionSet(role, entity); + +if (rootPermSet == "") { + result.string("Entität"); +} else { + result.string("Datensatz"); +} + +if (field != undefined && field != null && field != "") { + result.string("Feld"); +} \ No newline at end of file diff --git a/entity/PermissionDetail_entity/entityfields/accesstype/valueProcess.js b/entity/PermissionDetail_entity/entityfields/accesstype/valueProcess.js index 52f53388aaf..c24340acec1 100644 --- a/entity/PermissionDetail_entity/entityfields/accesstype/valueProcess.js +++ b/entity/PermissionDetail_entity/entityfields/accesstype/valueProcess.js @@ -1,10 +1,18 @@ -//import("system.vars"); -//import("system.result"); -// -//var field = vars.get("$field.FIELD"); -// -//if (field != undefined && field != null && field != "") { -// result.string("F"); -//} else { -// result.string(""); -//} \ No newline at end of file +import("system.vars"); +import("system.result"); +import("Permission_lib"); + +var field = vars.get("$field.FIELD"); +var role = vars.get("$field.ROLE"); +var entity = vars.get("$field.ENTITY"); +var rootPermSet = PermissionUtil.getRootPermissionSet(role, entity); + +if (rootPermSet == "") { + result.string("E"); +} else { + result.string("R"); +} + +if (field != undefined && field != null && field != "") { + result.string("F"); +} \ No newline at end of file diff --git a/entity/PermissionDetail_entity/entityfields/condtype/valueProcess.js b/entity/PermissionDetail_entity/entityfields/condtype/valueProcess.js new file mode 100644 index 00000000000..6f1c35b0b91 --- /dev/null +++ b/entity/PermissionDetail_entity/entityfields/condtype/valueProcess.js @@ -0,0 +1,3 @@ +import("system.result"); + +result.string("true"); \ No newline at end of file diff --git a/entity/PermissionDetail_entity/entityfields/entity/displayValueProcess.js b/entity/PermissionDetail_entity/entityfields/entity/displayValueProcess.js index 241d200ca45..dba6c0a34aa 100644 --- a/entity/PermissionDetail_entity/entityfields/entity/displayValueProcess.js +++ b/entity/PermissionDetail_entity/entityfields/entity/displayValueProcess.js @@ -1,9 +1,12 @@ -//import("system.vars"); -//import("system.result"); -//import("system.neon"); -// -//let recordstate = vars.get("$sys.recordstate"); -// -//if(vars.exists("$param.EntityTitle_param") && (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT)) { -// result.string(vars.getString("$param.EntityTitle_param")); -//} \ No newline at end of file +import("system.vars"); +import("system.result"); +import("system.neon"); + +var recordstate = vars.get("$sys.recordstate"); + +if(vars.exists("$param.EntityTitle_param") && (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT)) { + var entity = vars.get("$param.EntityTitle_param"); + if (entity != undefined && entity != null && entity != "") { + result.string(entity); + } +} \ No newline at end of file diff --git a/entity/PermissionDetail_entity/entityfields/entity/valueProcess.js b/entity/PermissionDetail_entity/entityfields/entity/valueProcess.js index 241d200ca45..dba6c0a34aa 100644 --- a/entity/PermissionDetail_entity/entityfields/entity/valueProcess.js +++ b/entity/PermissionDetail_entity/entityfields/entity/valueProcess.js @@ -1,9 +1,12 @@ -//import("system.vars"); -//import("system.result"); -//import("system.neon"); -// -//let recordstate = vars.get("$sys.recordstate"); -// -//if(vars.exists("$param.EntityTitle_param") && (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT)) { -// result.string(vars.getString("$param.EntityTitle_param")); -//} \ No newline at end of file +import("system.vars"); +import("system.result"); +import("system.neon"); + +var recordstate = vars.get("$sys.recordstate"); + +if(vars.exists("$param.EntityTitle_param") && (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT)) { + var entity = vars.get("$param.EntityTitle_param"); + if (entity != undefined && entity != null && entity != "") { + result.string(entity); + } +} \ No newline at end of file diff --git a/entity/PermissionDetail_entity/entityfields/role/displayValueProcess.js b/entity/PermissionDetail_entity/entityfields/role/displayValueProcess.js index d4c1d911ed4..c03a14ebfbb 100644 --- a/entity/PermissionDetail_entity/entityfields/role/displayValueProcess.js +++ b/entity/PermissionDetail_entity/entityfields/role/displayValueProcess.js @@ -1,14 +1,14 @@ -//import("system.vars"); -//import("system.result"); -//import("system.neon"); -// -//var recordstate = vars.get("$sys.recordstate"); -// -//if (vars.exists("$param.RoleTitle_param")) { -// var role = vars.get("$param.RoleTitle_param"); -// -// if(role != undefined && role != null && role != "" && (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT)) { -// res = role.split("_"); -// result.string(res[1]); -// } -//} \ No newline at end of file +import("system.vars"); +import("system.result"); +import("system.neon"); + +var recordstate = vars.get("$sys.recordstate"); + +if (vars.exists("$param.RoleTitle_param")) { + var role = vars.get("$param.RoleTitle_param"); + + if(role != undefined && role != null && role != "" && (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT)) { + res = role.split("_"); + result.string(res[1]); + } +} \ No newline at end of file diff --git a/entity/PermissionDetail_entity/entityfields/role/valueProcess.js b/entity/PermissionDetail_entity/entityfields/role/valueProcess.js index cc6b48287a7..9c569f85385 100644 --- a/entity/PermissionDetail_entity/entityfields/role/valueProcess.js +++ b/entity/PermissionDetail_entity/entityfields/role/valueProcess.js @@ -1,9 +1,12 @@ -//import("system.vars"); -//import("system.result"); -//import("system.neon"); -// -//let recordstate = vars.get("$sys.recordstate"); -// -//if(vars.exists("$param.RoleTitle_param") && (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT)) { -// result.string(vars.getString("$param.RoleTitle_param")); -//} \ No newline at end of file +import("system.vars"); +import("system.result"); +import("system.neon"); + +let recordstate = vars.get("$sys.recordstate"); + +if(vars.exists("$param.RoleTitle_param") && (recordstate == neon.OPERATINGSTATE_NEW || recordstate == neon.OPERATINGSTATE_EDIT)) { + var role = vars.get("$param.RoleTitle_param"); + if (role != undefined && role != null && role != "") { + result.string(role); + } +} \ No newline at end of file -- GitLab