diff --git a/entity/PermissionDetail_entity/PermissionDetail_entity.aod b/entity/PermissionDetail_entity/PermissionDetail_entity.aod index 1f674316df068c350856880b1f1ba2e5cdc87853..a4e15eebbe0dc95786588fb321ed810e7f452154 100644 --- a/entity/PermissionDetail_entity/PermissionDetail_entity.aod +++ b/entity/PermissionDetail_entity/PermissionDetail_entity.aod @@ -48,6 +48,7 @@ <stateProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/entity/stateProcess.js</stateProcess> <valueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/entity/valueProcess.js</valueProcess> <displayValueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/entity/displayValueProcess.js</displayValueProcess> + <onValueChange>%aditoprj%/entity/PermissionDetail_entity/entityfields/entity/onValueChange.js</onValueChange> </entityField> <entityField> <name>FIELD</name> diff --git a/entity/PermissionDetail_entity/entityfields/condition/valueProcess.js b/entity/PermissionDetail_entity/entityfields/condition/valueProcess.js index 63d2b62fa7a27a2855ee7dd5967859f8049da68e..8a49a8e160e65b5feacc9daea4dbcd10f658213c 100644 --- a/entity/PermissionDetail_entity/entityfields/condition/valueProcess.js +++ b/entity/PermissionDetail_entity/entityfields/condition/valueProcess.js @@ -1,8 +1,12 @@ +import("system.logging"); import("system.neon"); import("system.vars"); import("system.result"); -if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && vars.getString("$this.value") == null) { +var thisValueNotValid = "{\"entity\":\"\",\"filter\":{\"type\":\"group\",\"operator\":\"AND\",\"childs\":[]}}"; + +if (vars.get("$sys.recordstate") == neon.OPERATINGSTATE_NEW && (vars.get("$this.value") == null || vars.get("$this.value") == thisValueNotValid)) { var entity = vars.get("$field.ENTITY"); - result.string(JSON.stringify({entity: "" + entity + "", filter: {type: "group", operator: "AND", childs: []}})); + var condJson = JSON.stringify({entity: "" + entity + "", filter: {type: "group", operator: "AND", childs: []}}); + result.string(condJson); } \ No newline at end of file diff --git a/entity/PermissionDetail_entity/entityfields/entity/onValueChange.js b/entity/PermissionDetail_entity/entityfields/entity/onValueChange.js new file mode 100644 index 0000000000000000000000000000000000000000..11440115d21a7626a41c66c47e40a9eef5044612 --- /dev/null +++ b/entity/PermissionDetail_entity/entityfields/entity/onValueChange.js @@ -0,0 +1,3 @@ +import("system.neon"); + +neon.refresh(); \ No newline at end of file diff --git a/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js b/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js index df2a2545e7f02a5b61ab2de2d49a6e8da67488d2..00b1e28b28b5c0d5810eea6ab9c4330f9a43d434 100644 --- a/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js +++ b/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js @@ -58,53 +58,4 @@ function checkInput(pInputArr) { return false; } return true; -} - -// -// // deletes permissions with CONDTYPE = 'false' - condtype=false if a permission is used to display that a entity has no permissions -// var childPermissions = PermissionUtil.getAllChildPermissions(permissionsetid); -// for each (var permid in childPermissions) { -// if (PermissionUtil.getCondType(permid) == "false") { -// PermissionUtil.deletePermission(permid); -// } -// } -// -// // check if a new permissions is needed or an existing one can be used -// var existingPermId = permExists(role, entity, field, accesstype, condtype, condition); -// if (existingPermId != "") { -// // update -// permissionid = existingPermId; -// } else { -// // permission doesnt exist -> insert new permission -// // new permissionid is needed to link actions to the permission in the next step -// logging.log("onInsert cond: " + condition); -// permissionid = PermissionUtil.insertNewPermission(permissionsetid, condition, condtype) -// } -// -// // insert new permissionaction -// var actionNew = action.split(","); -// for each (let permaction in actionNew) { -// PermissionUtil.insertNewPermissionAction(permissionid, permaction); -// } -// -// -//// returns permissionid of the permission with fitting parameters, otherwise returns empty string -//function permExists(pRole, pEntity, pField, pAccesstype, pCondtype, pCondition) { -// var sqlStr = ""; -// var sqlExt = ""; -// -// if (checkInput([pCondition])) { -// sqlExt += " and cast(COND as varchar(999) = '" + pCondition + "'"; -// } -// -// if (checkInput([pField])) { -// sqlExt += " and FIELD_ID = '" + pField + "'"; -// } -// -// sqlStr = "select ASYS_PERMISSION.ASYS_PERMISSIONID from ASYS_PERMISSIONSET" -// + " join ASYS_PERMISSION on ASYS_PERMISSION.ASYS_PERMISSIONSET_ID = ASYS_PERMISSIONSET.ASYS_PERMISSIONSETID" -// + " where ENTITY_ID = '" + pEntity + "' and ROLE_ID = '" + pRole + "'" -// + " and ACCESSTYPE = '" + pAccesstype + "' and CONDTYPE = '" + pCondtype + "'" + sqlExt; -// var permId = db.cell(sqlStr, alias); -// return permId; -//} \ No newline at end of file +} \ No newline at end of file