diff --git a/entity/PermissionDetail_entity/PermissionDetail_entity.aod b/entity/PermissionDetail_entity/PermissionDetail_entity.aod index 3ed129256362fd7fc5277c4346d9d8afa09452fd..254f12ad6aa35fc0c9e9878dee1a79b8e25520d4 100644 --- a/entity/PermissionDetail_entity/PermissionDetail_entity.aod +++ b/entity/PermissionDetail_entity/PermissionDetail_entity.aod @@ -66,7 +66,6 @@ <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 fe3b117045c9901b505bc6f6e96b0381370b9dad..834f79bd2a754a3fb66944f5629e2a46de1ce41a 100644 --- a/entity/PermissionDetail_entity/entityfields/accesstype/displayValueProcess.js +++ b/entity/PermissionDetail_entity/entityfields/accesstype/displayValueProcess.js @@ -1,18 +1,39 @@ +import("system.neon"); import("system.vars"); import("system.result"); import("Permission_lib"); +var operatingState = vars.get("$sys.operatingstate"); var field = vars.get("$field.FIELD"); var role = vars.get("$field.ROLE"); var entity = vars.get("$field.ENTITY"); +var accesstype = vars.get("$field.ACCESSTYPE"); var rootPermSet = PermissionUtil.getRootPermissionSet(role, entity); -if (rootPermSet == "") { - result.string("Entität"); +if (operatingState == neon.OPERATINGSTATE_SEARCH || neon.OPERATINGSTATE_VIEW) { + switch (accesstype) { + case "E": + result.string("Entität"); + break; + case "R": + result.string("Datensatz"); + break; + case "F": + result.string("Feld"); + break; + } } else { - result.string("Datensatz"); -} + // editing/creating a new permission + // if there is no permission set for a given role-entity-combination -> permission has to be Entity + // otherwise Record + // if $field.FIELD is filled, then its a permission on Field access level + if (rootPermSet == "") { + result.string("Entität"); + } else { + result.string("Datensatz"); + } -if (field != undefined && field != null && field != "") { - result.string("Feld"); + if (field != undefined && field != null && field != "") { + result.string("Feld"); + } } \ No newline at end of file diff --git a/entity/PermissionDetail_entity/entityfields/condtype/valueProcess.js b/entity/PermissionDetail_entity/entityfields/condtype/valueProcess.js deleted file mode 100644 index 6f1c35b0b917950b2481062a096b8183f10ac0cc..0000000000000000000000000000000000000000 --- a/entity/PermissionDetail_entity/entityfields/condtype/valueProcess.js +++ /dev/null @@ -1,3 +0,0 @@ -import("system.result"); - -result.string("true"); \ No newline at end of file diff --git a/entity/PermissionDetail_entity/recordcontainers/jdito/onDelete.js b/entity/PermissionDetail_entity/recordcontainers/jdito/onDelete.js index f2c594edd7ecb9d5c67cf14ba6d301816a7e2ea6..372b60783ae0575b78b2245d737b3b03d28bef29 100644 --- a/entity/PermissionDetail_entity/recordcontainers/jdito/onDelete.js +++ b/entity/PermissionDetail_entity/recordcontainers/jdito/onDelete.js @@ -1,3 +1,4 @@ +import("system.neon"); import("system.db"); import("system.vars"); import("Permission_lib"); @@ -48,3 +49,5 @@ switch (accessType) { if (PermissionUtil.permSetIsEmpty(parentPermSetId)) { db.deleteData("ASYS_PERMISSIONSET", sqlCondDelPermSet, alias); // delete empty permissionset } + +neon.refreshAll(); \ No newline at end of file diff --git a/entity/PermissionDetail_entity/recordcontainers/jdito/onUpdate.js b/entity/PermissionDetail_entity/recordcontainers/jdito/onUpdate.js index 0cbb9dc17b704cf7c50a05e2a678e3bb35984877..7ccb059127d937b668acbb9fe0ce6584377042e6 100644 --- a/entity/PermissionDetail_entity/recordcontainers/jdito/onUpdate.js +++ b/entity/PermissionDetail_entity/recordcontainers/jdito/onUpdate.js @@ -1,3 +1,4 @@ +import("system.neon"); import("system.logging"); import("system.util"); import("system.db"); @@ -31,3 +32,5 @@ PermissionUtil.updateIfDiff(permissionid, permCond, "COND", "ASYS_PERMISSION"); PermissionUtil.updateIfDiff(permissionid, permCondType, "CONDTYPE", "ASYS_PERMISSION"); // updates CONDTYPE if the new condtype is different to CONDTYPE in DB // entity of children has to be changed/deleted/ignored? // PermissionUtil.updateIfDiff(PermissionUtil.getParentPermissionSet(permissionid), entityNew, "ENTITY_ID", "ASYS_PERMISSIONSET"); + +neon.refreshAll(); \ No newline at end of file