diff --git a/entity/PermissionDetail_entity/recordcontainers/jdito/contentProcess.js b/entity/PermissionDetail_entity/recordcontainers/jdito/contentProcess.js index 8d45a3c3c7865e0965a7f8698b4ad4320f4cf541..a8b90871694702f7e892d3b6f96a05ceecb102eb 100644 --- a/entity/PermissionDetail_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/PermissionDetail_entity/recordcontainers/jdito/contentProcess.js @@ -3,16 +3,28 @@ import("system.vars"); import("system.db"); import("system.result"); import("Permission_lib"); +import("system.project"); var selectedPermission = vars.get("$local.idvalues"); var sqlStr; -var whereCond = ""; +var whereCond = " where"; var alias = "_____SYSTEMALIAS"; +var entitiesMetaData = project.getDataModels(project.DATAMODEL_KIND_ENTITY); +var entitiesUsePermFlagSet = []; + +// 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]) + } +} + +whereCond += " ENTITY_ID in ('" + entitiesUsePermFlagSet.join("','") + "')"; if (vars.exists("$param.RoleTitle_param") && vars.get("$param.RoleTitle_param")) { - whereCond = " where ASYS_PERMISSIONSET.ROLE_ID = '" + vars.getString("$param.RoleTitle_param") + "'"; + whereCond += " and ASYS_PERMISSIONSET.ROLE_ID = '" + vars.getString("$param.RoleTitle_param") + "'"; } else if (vars.exists("$param.EntityTitle_param") && vars.get("$param.EntityTitle_param")) { - whereCond = " where ASYS_PERMISSIONSET.ENTITY_ID = '" + vars.getString("$param.EntityTitle_param") + "'"; + whereCond += " and ASYS_PERMISSIONSET.ENTITY_ID = '" + vars.getString("$param.EntityTitle_param") + "'"; } sqlStr = diff --git a/entity/PermissionOverview_entity/PermissionOverview_entity.aod b/entity/PermissionOverview_entity/PermissionOverview_entity.aod index 49d95285d5aba126e61163f29bde728af0211d51..36efa207cf4d728551e779ceb4bb5087feb9c274 100644 --- a/entity/PermissionOverview_entity/PermissionOverview_entity.aod +++ b/entity/PermissionOverview_entity/PermissionOverview_entity.aod @@ -3,6 +3,8 @@ <name>PermissionOverview_entity</name> <majorModelMode>DISTRIBUTED</majorModelMode> <title>Permission Overview</title> + <grantUpdate v="false" /> + <grantDelete v="false" /> <iconIdProcess>%aditoprj%/entity/PermissionOverview_entity/iconIdProcess.js</iconIdProcess> <recordContainer>jDito</recordContainer> <entityFields> diff --git a/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js b/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js index 577562c79ec3fe2ae8ca2c381662f203b499b757..ef9f7289abcdda535c17bac289fc1cccea15a380 100644 --- a/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/PermissionOverview_entity/recordcontainers/jdito/contentProcess.js @@ -1,3 +1,4 @@ +import("system.project"); import("system.vars"); import("system.result"); import("system.db"); @@ -9,14 +10,26 @@ var entityTitle = ""; var sqlCond = ""; var sqlStr = ""; +var entitiesMetaData = project.getDataModels(project.DATAMODEL_KIND_ENTITY); +var entitiesUsePermFlagSet = []; + +// 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]) + } +} + +var sqlCondEntityUsePermFlagSet = " and ENTITY_ID in ('" + entitiesUsePermFlagSet.join("','") + "')"; + if (vars.exists("$param.RoleTitle_param") && vars.get("$param.RoleTitle_param")) { roleTitle = vars.getString("$param.RoleTitle_param"); sqlCond = " where ROLE_ID = '" + roleTitle + "'"; - sqlStr = "select distinct ENTITY_ID from ASYS_PERMISSIONSET" + sqlCond; + 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"); sqlCond = " where ENTITY_ID = '" + entityTitle + "'"; - sqlStr = "select distinct ROLE_ID from ASYS_PERMISSIONSET" + sqlCond; + sqlStr = "select distinct ROLE_ID from ASYS_PERMISSIONSET" + sqlCond + sqlCondEntityUsePermFlagSet; } var rolesOrEntities = db.array(db.COLUMN, sqlStr);