Skip to content
Snippets Groups Projects
Commit 8c59ede5 authored by Simon Leipold's avatar Simon Leipold
Browse files

Merge branch 'Permissions' into 'stable2019.3'

Permissions

See merge request xrm/basic!74
parents 6218ee2a 4ad5e5c0
No related branches found
No related tags found
No related merge requests found
...@@ -202,6 +202,7 @@ ...@@ -202,6 +202,7 @@
<jDitoRecordContainer> <jDitoRecordContainer>
<name>jDito</name> <name>jDito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias> <jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<isSortable v="true" />
<contentProcess>%aditoprj%/entity/PermissionDetail_entity/recordcontainers/jdito/contentProcess.js</contentProcess> <contentProcess>%aditoprj%/entity/PermissionDetail_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<onInsert>%aditoprj%/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js</onInsert> <onInsert>%aditoprj%/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js</onInsert>
<onUpdate>%aditoprj%/entity/PermissionDetail_entity/recordcontainers/jdito/onUpdate.js</onUpdate> <onUpdate>%aditoprj%/entity/PermissionDetail_entity/recordcontainers/jdito/onUpdate.js</onUpdate>
......
...@@ -19,12 +19,7 @@ var entitiesUsePermFlagSet = []; // array, which contains ids of entities with u ...@@ -19,12 +19,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) // gets all names of the entites which have the 'usePermission'-flag set (positive list)
for each (let entityMetaData in entitiesMetaData) { for each (let entityMetaData in entitiesMetaData) {
if (entityMetaData[6] == "true") { if (entityMetaData[6] == "true") {
entitiesUsePermFlagSet.push(entityMetaData[0]) 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"
}
} }
} }
...@@ -32,10 +27,23 @@ var sqlCondEntityUsePermFlagSet = " and ENTITY_ID in ('" + entitiesUsePermFlagSe ...@@ -32,10 +27,23 @@ var sqlCondEntityUsePermFlagSet = " and ENTITY_ID in ('" + entitiesUsePermFlagSe
if (vars.exists("$param.RoleTitle_param") && vars.get("$param.RoleTitle_param")) { if (vars.exists("$param.RoleTitle_param") && vars.get("$param.RoleTitle_param")) {
roleTitle = vars.getString("$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 + "'"; sqlCond = " where ROLE_ID = '" + roleTitle + "'";
sqlStr = "select distinct ENTITY_ID from ASYS_PERMISSIONSET" + sqlCond + sqlCondEntityUsePermFlagSet; sqlStr = "select distinct ENTITY_ID from ASYS_PERMISSIONSET" + sqlCond + sqlCondEntityUsePermFlagSet;
} else if (vars.exists("$param.EntityTitle_param") && vars.get("$param.EntityTitle_param")) { } else if (vars.exists("$param.EntityTitle_param") && vars.get("$param.EntityTitle_param")) {
entityTitle = vars.getString("$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 + "'"; sqlCond = " where ENTITY_ID = '" + entityTitle + "'";
sqlStr = "select distinct ROLE_ID from ASYS_PERMISSIONSET" + sqlCond + sqlCondEntityUsePermFlagSet; sqlStr = "select distinct ROLE_ID from ASYS_PERMISSIONSET" + sqlCond + sqlCondEntityUsePermFlagSet;
} }
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
</entityField> </entityField>
<entityField> <entityField>
<name>USERCOUNT</name> <name>USERCOUNT</name>
<title>Amount</title>
</entityField> </entityField>
<entityConsumer> <entityConsumer>
<name>Permissions</name> <name>Permissions</name>
......
...@@ -11,8 +11,9 @@ ...@@ -11,8 +11,9 @@
<cardViewTemplate> <cardViewTemplate>
<name>Card</name> <name>Card</name>
<iconField>#ICON</iconField> <iconField>#ICON</iconField>
<titleField>ROLETITLE</titleField> <titleField>UID</titleField>
<subtitleField>USERCOUNT</subtitleField> <subtitleField>ROLETITLE</subtitleField>
<descriptionField>USERCOUNT</descriptionField>
<entityField>#ENTITY</entityField> <entityField>#ENTITY</entityField>
</cardViewTemplate> </cardViewTemplate>
<genericViewTemplate> <genericViewTemplate>
......
...@@ -15,21 +15,4 @@ for(var i = 0; i < usersTools.length; i++) ...@@ -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.setCalendarUser(users, calendars.RIGHT_READ | calendars.RIGHT_WRITE, false, calendars.SORTSTRATEGY_NATURAL);
calendars.setCheckAttendeesOnWrite(false); calendars.setCheckAttendeesOnWrite(false);
\ No newline at end of file
// 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"
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment