diff --git a/entity/PermissionDetail_entity/entityfields/field/dropDownProcess.js b/entity/PermissionDetail_entity/entityfields/field/dropDownProcess.js index 123b0887b475ce6f8f0395511b849638dfd658cf..531be41df5558d08f05b6f5ff71d5966d69ac31e 100644 --- a/entity/PermissionDetail_entity/entityfields/field/dropDownProcess.js +++ b/entity/PermissionDetail_entity/entityfields/field/dropDownProcess.js @@ -3,9 +3,9 @@ import("system.vars"); import("system.project"); var entityTitle = vars.get("$field.ENTITY"); +var res = []; if (entityTitle != undefined && entityTitle != null && entityTitle != "") { var entityStructure = project.getEntityStructure(entityTitle); - var res = []; for (var field in entityStructure.fields) { field = entityStructure.fields[field]; @@ -13,11 +13,11 @@ if (entityTitle != undefined && entityTitle != null && entityTitle != "") { var name = field.name; var title = field.title; if (title != undefined && title != null && title != "") { - res.push([title, title]); + res.push([name, title]); } else { res.push([name, name]); } } } - result.object(res); -} \ No newline at end of file +} +result.object(res); \ No newline at end of file diff --git a/entity/PermissionDetail_entity/recordcontainers/jdito/contentProcess.js b/entity/PermissionDetail_entity/recordcontainers/jdito/contentProcess.js index a8b90871694702f7e892d3b6f96a05ceecb102eb..055d366a91c0bfede177ae7d76c2840318023c9e 100644 --- a/entity/PermissionDetail_entity/recordcontainers/jdito/contentProcess.js +++ b/entity/PermissionDetail_entity/recordcontainers/jdito/contentProcess.js @@ -1,3 +1,4 @@ +import("system.logging"); import("system.util"); import("system.vars"); import("system.db"); @@ -10,16 +11,27 @@ var sqlStr; var whereCond = " where"; var alias = "_____SYSTEMALIAS"; var entitiesMetaData = project.getDataModels(project.DATAMODEL_KIND_ENTITY); +var entityStructure; var entitiesUsePermFlagSet = []; +var fieldsUsePermFlagSet = []; // gets all names of the entites which have the 'usePermission'-flag set (positive list) +// gets all names of the fields which have the 'usePermission'-flag set (positive list) for each (let entityMetaData in entitiesMetaData) { if (entityMetaData[6] == "true") { entitiesUsePermFlagSet.push(entityMetaData[0]) - } + entityStructure = project.getEntityStructure(entityMetaData[0]); + for (fieldname in entityStructure.fields) { + field = entityStructure.fields[fieldname]; + if (field.usePermissions == true) { + fieldsUsePermFlagSet.push(field.name); + } + } + } } whereCond += " ENTITY_ID in ('" + entitiesUsePermFlagSet.join("','") + "')"; +whereCond += " and (FIELD_ID in ('" + fieldsUsePermFlagSet.join("','") + "') or FIELD_ID is NULL)"; if (vars.exists("$param.RoleTitle_param") && vars.get("$param.RoleTitle_param")) { whereCond += " and ASYS_PERMISSIONSET.ROLE_ID = '" + vars.getString("$param.RoleTitle_param") + "'";