diff --git a/entity/PermissionAction_entity/onValidation.js b/entity/PermissionAction_entity/onValidation.js index 47c7fa03520ed8ae10eccbaa3c1002bf4609384e..ea8413e93c72ca687f519b7f4a739581d30ba0f5 100644 --- a/entity/PermissionAction_entity/onValidation.js +++ b/entity/PermissionAction_entity/onValidation.js @@ -10,7 +10,9 @@ var actionTitle = vars.get("$field.ACTION"); var permissionId = vars.get("$param.PermissionId_param"); var permCondInput = vars.get("$param.PermissionCondition_param"); -if (PermissionUtil.existsPermission(permissionId)) { +if (actionTitle == "null" || actionTitle == undefined || actionTitle == null || actionTitle == "") { + result.string(translate.text("Empty actions are not allowed!")); +} else if (PermissionUtil.existsPermission(permissionId)) { // existing permission // check if action is already in DB var actionsInDb = PermissionUtil.getPermissionAction(permissionId); @@ -23,4 +25,6 @@ if (PermissionUtil.existsPermission(permissionId)) { break; } } +} else { + result.string(true); } \ No newline at end of file diff --git a/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js b/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js index 6bea9cea97e971c3ce1f4df662421f36c23aa9d7..2c418c0fb630dbf1d8b4981a72b61279ed8919a1 100644 --- a/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js @@ -9,6 +9,7 @@ var roleTitle = ""; var entityTitle = ""; var sqlCond = ""; var sqlStr = ""; +var roleInternalEveryone = "INTERNAL_EVERYONE"; var entitiesMetaData = project.getDataModels(project.DATAMODEL_KIND_ENTITY); var entitiesUsePermFlagSet = []; // array, which contains ids of entities with usePermission flag set @@ -17,6 +18,11 @@ var entitiesUsePermFlagSet = []; // array, which contains ids of entities with u for each (let entityMetaData in entitiesMetaData) { if (entityMetaData[6] == "true") { entitiesUsePermFlagSet.push(entityMetaData[0]) + if (PermissionUtil.getNumberOfPermissions(entityMetaData[0]) == 0) { + // no permissions found for the given entity -> create permissionset for role INTERNAL_EVERYONE with five X's for view, create, read, edit, delete + var noAccessPermissionSetIdEntity = PermissionUtil.insertNewPermissionSet("", entityMetaData[0], roleInternalEveryone, "", "E"); + PermissionUtil.insertNewPermission(noAccessPermissionSetIdEntity, "", "false"); // false is an indicator for PermissionDetails so the user can create a new PermissionSet on access level "E" + } } } diff --git a/process/autostartNeon/process.js b/process/autostartNeon/process.js index 24001259d3d1c426dcb14a5bebcfe93183bb1d54..ff0ca7831fc9a39fd0b7a1cd45f1899a9ff75570 100644 --- a/process/autostartNeon/process.js +++ b/process/autostartNeon/process.js @@ -28,7 +28,7 @@ for each (let entityMetaData in entitiesMetaData) { if (entityMetaData[6] == "true") { entitiesUsePermFlagSet.push(entityMetaData[0]) if (PermissionUtil.getNumberOfPermissions(entityMetaData[0]) == 0) { - // no permissions found for the given entity -> create permissionset for role INTERNAL_EVERYONE with five X's for view, create, read, edit, delete + // no permissions found for the given entity -> create permissionset for role INTERNAL_EVERYONE with five X's for view, create, read, update, delete var noAccessPermissionSetIdEntity = PermissionUtil.insertNewPermissionSet("", entityMetaData[0], roleInternalEveryone, "", "E"); PermissionUtil.insertNewPermission(noAccessPermissionSetIdEntity, "", "false"); // false is an indicator for PermissionDetails so the user can create a new PermissionSet on access level "E" }