diff --git a/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js b/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js index 1eb5be5c63d2298420150d94b7b492bfcb54ee26..600f35a746c351b24999fc504266b2b73bede20a 100644 --- a/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js @@ -1,3 +1,4 @@ +import("system.logging"); import("Sql_lib"); import("system.project"); import("system.vars"); @@ -19,12 +20,7 @@ var entitiesUsePermFlagSet = []; // array, which contains ids of entities with u // gets all names of the entites which have the 'usePermission'-flag set (positive list) 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.insertSet("", entityMetaData[0], roleInternalEveryone, "", "E"); - PermissionUtil.insertPermission(noAccessPermissionSetIdEntity, "", 0); // 0 is an indicator for PermissionDetails so the user can create a new PermissionSet on access level "E" - } + entitiesUsePermFlagSet.push(entityMetaData[0]); } } @@ -32,10 +28,23 @@ var sqlCondEntityUsePermFlagSet = " and ENTITY_ID in ('" + entitiesUsePermFlagSe if (vars.exists("$param.RoleTitle_param") && vars.get("$param.RoleTitle_param")) { roleTitle = vars.getString("$param.RoleTitle_param"); + if (roleTitle == roleInternalEveryone) { + var counter = 0; + for each (let entityUsePermFlagSet in entitiesUsePermFlagSet) { + if (PermissionUtil.getNumberOfPermissions(entityUsePermFlagSet, roleTitle) == 0) { + // no permissions for INTERNAL_EVERYONE found -> display X's for all actions + res.push(["NOREALPERMINDB" + counter++, entityUsePermFlagSet, "VAADIN:CLOSE", "VAADIN:CLOSE", "VAADIN:CLOSE", "VAADIN:CLOSE", "VAADIN:CLOSE"]); + } + } + } sqlCond = " where ROLE_ID = '" + roleTitle + "'"; sqlStr = "select distinct ENTITY_ID from ASYS_PERMISSIONSET" + sqlCond + sqlCondEntityUsePermFlagSet; } else if (vars.exists("$param.EntityTitle_param") && vars.get("$param.EntityTitle_param")) { entityTitle = vars.getString("$param.EntityTitle_param"); + if (PermissionUtil.getNumberOfPermissions(entityTitle, roleInternalEveryone) == 0) { + // no permissions for INTERNAL_EVERYONE found -> display X's for all actions + res.push(["NOREALPERMINDB", roleInternalEveryone, "VAADIN:CLOSE", "VAADIN:CLOSE", "VAADIN:CLOSE", "VAADIN:CLOSE", "VAADIN:CLOSE"]); + } sqlCond = " where ENTITY_ID = '" + entityTitle + "'"; sqlStr = "select distinct ROLE_ID from ASYS_PERMISSIONSET" + sqlCond + sqlCondEntityUsePermFlagSet; } diff --git a/process/autostartNeon/process.js b/process/autostartNeon/process.js index 03e2714f7ed4b863367e4783c016eeed33be0bc7..daee3c2fdc37f9d91604fc793837879f57145585 100644 --- a/process/autostartNeon/process.js +++ b/process/autostartNeon/process.js @@ -15,21 +15,4 @@ for(var i = 0; i < usersTools.length; i++) } calendars.setCalendarUser(users, calendars.RIGHT_READ | calendars.RIGHT_WRITE, false, calendars.SORTSTRATEGY_NATURAL); -calendars.setCheckAttendeesOnWrite(false); - -// permissions - creating default permission (with no actions) for role everyone -var entitiesMetaData = project.getDataModels(project.DATAMODEL_KIND_ENTITY); -var entitiesUsePermFlagSet = []; // array, which contains ids of entities with usePermission flag set -var roleInternalEveryone = "INTERNAL_EVERYONE"; - -// gets all names of the entites which have the 'usePermission'-flag set (positive list) -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, update, delete - var noAccessPermissionSetIdEntity = PermissionUtil.insertSet("", entityMetaData[0], roleInternalEveryone, "", "E"); - PermissionUtil.insertPermission(noAccessPermissionSetIdEntity, "", 0); // 0 is an indicator for PermissionDetails so the user can create a new PermissionSet on access level "E" - } - } -} +calendars.setCheckAttendeesOnWrite(false); \ No newline at end of file