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

Permissions - field permissions and refactoring

parent 79899327
No related branches found
No related tags found
No related merge requests found
<?xml version="1.0" encoding="UTF-8"?>
<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6">
<name>PermissionDetail_entity</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<title>Permission Detail</title>
<contentTitleProcess>%aditoprj%/entity/PermissionDetail_entity/contentTitleProcess.js</contentTitleProcess>
<iconIdProcess>%aditoprj%/entity/PermissionDetail_entity/iconIdProcess.js</iconIdProcess>
<recordContainer>jDito</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
</entityProvider>
<entityField>
<name>CONDITION</name>
<title>Condition</title>
</entityField>
<entityField>
<name>ACTION</name>
<title>Action</title>
<mandatory v="true" />
<searchable v="false" />
</entityField>
<entityField>
<name>ROLE</name>
<title>Role</title>
<consumer>Roles</consumer>
<linkedContext>Role</linkedContext>
<mandatory v="true" />
<groupable v="true" />
<valueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/role/valueProcess.js</valueProcess>
<displayValueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/role/displayValueProcess.js</displayValueProcess>
</entityField>
<entityField>
<name>ENTITY</name>
<title>Entity</title>
<consumer>MetaData</consumer>
<linkedContext>PermissionMetaData</linkedContext>
<mandatory v="true" />
<groupable v="true" />
<valueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/entity/valueProcess.js</valueProcess>
<displayValueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/entity/displayValueProcess.js</displayValueProcess>
</entityField>
<entityField>
<name>FIELD</name>
<title>Field</title>
<groupable v="true" />
</entityField>
<entityField>
<name>UID</name>
<title>PermissionId</title>
</entityField>
<entityField>
<name>ICON</name>
</entityField>
<entityField>
<name>ACCESSTYPE</name>
<title>Access type</title>
<consumer>KeywordAccessType</consumer>
<mandatory v="true" />
<groupable v="true" />
<valueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/accesstype/valueProcess.js</valueProcess>
<displayValueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/accesstype/displayValueProcess.js</displayValueProcess>
</entityField>
<entityField>
<name>CONDTYPE</name>
<title>Condition Type</title>
<consumer>KeywordConditionType</consumer>
<mandatory v="true" />
<displayValueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/condtype/displayValueProcess.js</displayValueProcess>
</entityField>
<entityField>
<name>PARENT</name>
<title>Parent</title>
</entityField>
<entityProvider>
<name>Permissions</name>
<recordContainer>jDito</recordContainer>
<dependencies>
<entityDependency>
<name>b1a6483c-e7b1-4eb7-aa22-d0e9d0ef0b49</name>
<entityName>Role_entity</entityName>
<fieldName>Permissions</fieldName>
<isConsumer v="false" />
</entityDependency>
<entityDependency>
<name>cc0e9a4d-5d82-4407-bc4e-698dcfae5c86</name>
<entityName>PermissionMetaData_entity</entityName>
<fieldName>PermissionDetails</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
</entityProvider>
<entityParameter>
<name>RoleTitle_param</name>
<expose v="true" />
<description>PARAMETER</description>
</entityParameter>
<entityConsumer>
<name>Roles</name>
<dependency>
<name>dependency</name>
<entityName>Role_entity</entityName>
<fieldName>Roles</fieldName>
</dependency>
</entityConsumer>
<entityConsumer>
<name>MetaData</name>
<dependency>
<name>dependency</name>
<entityName>PermissionMetaData_entity</entityName>
<fieldName>MetaData</fieldName>
</dependency>
</entityConsumer>
<entityParameter>
<name>EntityTitle_param</name>
<expose v="true" />
<description>PARAMETER</description>
</entityParameter>
<entityConsumer>
<name>KeywordConditionType</name>
<dependency>
<name>dependency</name>
<entityName>KeywordEntry_entity</entityName>
<fieldName>SpecificContainerKeywords</fieldName>
</dependency>
<children>
<entityParameter>
<name>ContainerName_param</name>
<valueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/keywordconditiontype/children/containername_param/valueProcess.js</valueProcess>
<expose v="false" />
</entityParameter>
</children>
</entityConsumer>
<entityConsumer>
<name>KeywordAccessType</name>
<dependency>
<name>dependency</name>
<entityName>KeywordEntry_entity</entityName>
<fieldName>SpecificContainerKeywords</fieldName>
</dependency>
<children>
<entityParameter>
<name>ContainerName_param</name>
<valueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/keywordaccesstype/children/containername_param/valueProcess.js</valueProcess>
<expose v="false" />
</entityParameter>
</children>
</entityConsumer>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jDito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<contentProcess>%aditoprj%/entity/PermissionDetail_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<onInsert>%aditoprj%/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js</onInsert>
<onUpdate>%aditoprj%/entity/PermissionDetail_entity/recordcontainers/jdito/onUpdate.js</onUpdate>
<onDelete>%aditoprj%/entity/PermissionDetail_entity/recordcontainers/jdito/onDelete.js</onDelete>
<recordFields>
<element>UID.value</element>
<element>ENTITY.value</element>
<element>ROLE.value</element>
<element>FIELD.value</element>
<element>CONDITION.value</element>
<element>ACTION.value</element>
<element>ACCESSTYPE.value</element>
<element>CONDTYPE.value</element>
<element>PARENT.value</element>
</recordFields>
</jDitoRecordContainer>
</recordContainers>
</entity>
<?xml version="1.0" encoding="UTF-8"?>
<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6">
<name>PermissionDetail_entity</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<title>Permission Detail</title>
<contentTitleProcess>%aditoprj%/entity/PermissionDetail_entity/contentTitleProcess.js</contentTitleProcess>
<iconIdProcess>%aditoprj%/entity/PermissionDetail_entity/iconIdProcess.js</iconIdProcess>
<recordContainer>jDito</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
</entityProvider>
<entityField>
<name>CONDITION</name>
<title>Condition</title>
</entityField>
<entityField>
<name>ACTION</name>
<title>Action</title>
<mandatory v="true" />
<searchable v="false" />
</entityField>
<entityField>
<name>ROLE</name>
<title>Role</title>
<consumer>Roles</consumer>
<linkedContext>Role</linkedContext>
<mandatory v="true" />
<groupable v="true" />
<valueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/role/valueProcess.js</valueProcess>
<displayValueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/role/displayValueProcess.js</displayValueProcess>
</entityField>
<entityField>
<name>ENTITY</name>
<title>Entity</title>
<consumer>MetaData</consumer>
<linkedContext>PermissionMetaData</linkedContext>
<mandatory v="true" />
<groupable v="true" />
<valueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/entity/valueProcess.js</valueProcess>
<displayValueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/entity/displayValueProcess.js</displayValueProcess>
</entityField>
<entityField>
<name>FIELD</name>
<title>Field</title>
<dropDownProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/field/dropDownProcess.js</dropDownProcess>
<groupable v="true" />
</entityField>
<entityField>
<name>UID</name>
<title>PermissionId</title>
</entityField>
<entityField>
<name>ICON</name>
</entityField>
<entityField>
<name>ACCESSTYPE</name>
<title>Access type</title>
<consumer>KeywordAccessType</consumer>
<mandatory v="true" />
<groupable v="true" />
<valueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/accesstype/valueProcess.js</valueProcess>
<displayValueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/accesstype/displayValueProcess.js</displayValueProcess>
</entityField>
<entityField>
<name>CONDTYPE</name>
<title>Condition Type</title>
<consumer>KeywordConditionType</consumer>
<mandatory v="true" />
<displayValueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/condtype/displayValueProcess.js</displayValueProcess>
</entityField>
<entityField>
<name>PARENT</name>
<title>Parent</title>
</entityField>
<entityProvider>
<name>Permissions</name>
<recordContainer>jDito</recordContainer>
<dependencies>
<entityDependency>
<name>b1a6483c-e7b1-4eb7-aa22-d0e9d0ef0b49</name>
<entityName>Role_entity</entityName>
<fieldName>Permissions</fieldName>
<isConsumer v="false" />
</entityDependency>
<entityDependency>
<name>cc0e9a4d-5d82-4407-bc4e-698dcfae5c86</name>
<entityName>PermissionMetaData_entity</entityName>
<fieldName>PermissionDetails</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
</entityProvider>
<entityParameter>
<name>RoleTitle_param</name>
<expose v="true" />
<description>PARAMETER</description>
</entityParameter>
<entityConsumer>
<name>Roles</name>
<dependency>
<name>dependency</name>
<entityName>Role_entity</entityName>
<fieldName>Roles</fieldName>
</dependency>
</entityConsumer>
<entityConsumer>
<name>MetaData</name>
<dependency>
<name>dependency</name>
<entityName>PermissionMetaData_entity</entityName>
<fieldName>MetaData</fieldName>
</dependency>
<children>
<entityParameter>
<name>EntityName_param</name>
<valueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/metadata/children/entityname_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
<entityParameter>
<name>EntityTitle_param</name>
<expose v="true" />
<description>PARAMETER</description>
</entityParameter>
<entityConsumer>
<name>KeywordConditionType</name>
<dependency>
<name>dependency</name>
<entityName>KeywordEntry_entity</entityName>
<fieldName>SpecificContainerKeywords</fieldName>
</dependency>
<children>
<entityParameter>
<name>ContainerName_param</name>
<valueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/keywordconditiontype/children/containername_param/valueProcess.js</valueProcess>
<expose v="false" />
</entityParameter>
</children>
</entityConsumer>
<entityConsumer>
<name>KeywordAccessType</name>
<dependency>
<name>dependency</name>
<entityName>KeywordEntry_entity</entityName>
<fieldName>SpecificContainerKeywords</fieldName>
</dependency>
<children>
<entityParameter>
<name>ContainerName_param</name>
<valueProcess>%aditoprj%/entity/PermissionDetail_entity/entityfields/keywordaccesstype/children/containername_param/valueProcess.js</valueProcess>
<expose v="false" />
</entityParameter>
</children>
</entityConsumer>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jDito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<contentProcess>%aditoprj%/entity/PermissionDetail_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<onInsert>%aditoprj%/entity/PermissionDetail_entity/recordcontainers/jdito/onInsert.js</onInsert>
<onUpdate>%aditoprj%/entity/PermissionDetail_entity/recordcontainers/jdito/onUpdate.js</onUpdate>
<onDelete>%aditoprj%/entity/PermissionDetail_entity/recordcontainers/jdito/onDelete.js</onDelete>
<recordFields>
<element>UID.value</element>
<element>ENTITY.value</element>
<element>ROLE.value</element>
<element>FIELD.value</element>
<element>CONDITION.value</element>
<element>ACTION.value</element>
<element>ACCESSTYPE.value</element>
<element>CONDTYPE.value</element>
<element>PARENT.value</element>
</recordFields>
</jDitoRecordContainer>
</recordContainers>
</entity>
import("system.project");
import("system.logging");
import("system.vars");
import("system.result");
......@@ -15,7 +17,7 @@ switch (vars.get("$field.ACCESSTYPE")) {
res += "Record";
break;
case "F":
res += vars.get("$field.FIELD");
res += "Field '" + vars.get("$field.FIELD") + "'";
break;
default:
res += "Permission";
......
import("system.logging");
import("system.result");
import("system.vars");
import("system.project");
var entityTitle = vars.get("$param.EntityTitle_param");
if (entityTitle != undefined && entityTitle != null && entityTitle != "") {
var entityStructure = project.getEntityStructure(entityTitle);
var res = [];
for (var field in entityStructure.fields) {
field = entityStructure.fields[field];
if (field.usePermissions == true) {
var name = field.name;
var title = field.title;
if (title != undefined && title != null && title != "") {
res.push([title, title]);
} else {
res.push([name, name]);
}
}
}
result.object(res);
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6">
<name>PermissionMetaData_entity</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<icon>VAADIN:CONNECT</icon>
<title>Entities</title>
<contentTitleProcess>%aditoprj%/entity/PermissionMetaData_entity/contentTitleProcess.js</contentTitleProcess>
<iconIdProcess>%aditoprj%/entity/PermissionMetaData_entity/iconIdProcess.js</iconIdProcess>
<recordContainer>jDito</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
</entityProvider>
<entityField>
<name>TITLE</name>
<title>Title</title>
</entityField>
<entityField>
<name>DESCRIPTION</name>
<title>Description</title>
</entityField>
<entityField>
<name>UID</name>
<title>Name</title>
</entityField>
<entityProvider>
<name>MetaData</name>
<recordContainer>jDito</recordContainer>
<dependencies>
<entityDependency>
<name>3b2c9421-5ff0-49a3-99f0-6790f17bd76c</name>
<entityName>PermissionDetail_entity</entityName>
<fieldName>MetaData</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
<children>
<entityParameter>
<name>EntityName_param</name>
<valueProcess>%aditoprj%/entity/PermissionMetaData_entity/entityfields/metadata/children/entityname_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityProvider>
<entityConsumer>
<name>PermissionOverviews</name>
<dependency>
<name>dependency</name>
<entityName>PermissionOverview_entity</entityName>
<fieldName>PermissionOverviews</fieldName>
</dependency>
<children>
<entityParameter>
<name>EntityTitle_param</name>
<valueProcess>%aditoprj%/entity/PermissionMetaData_entity/entityfields/permissionoverviews/children/entitytitle_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
<entityConsumer>
<name>PermissionDetails</name>
<dependency>
<name>dependency</name>
<entityName>PermissionDetail_entity</entityName>
<fieldName>Permissions</fieldName>
</dependency>
<children>
<entityParameter>
<name>EntityTitle_param</name>
<valueProcess>%aditoprj%/entity/PermissionMetaData_entity/entityfields/permissiondetails/children/entitytitle_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
<entityParameter>
<name>EntityName_param</name>
<expose v="true" />
<description>PARAMETER</description>
</entityParameter>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jDito</name>
<jDitoRecordAlias>_____SYSTEMALIAS</jDitoRecordAlias>
<isPageable v="false" />
<isFilterable v="true" />
<contentProcess>%aditoprj%/entity/PermissionMetaData_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<recordFields>
<element>UID.value</element>
<element>TITLE.value</element>
<element>DESCRIPTION.value</element>
</recordFields>
</jDitoRecordContainer>
</recordContainers>
</entity>
<?xml version="1.0" encoding="UTF-8"?>
<entity xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.3.6" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.6">
<name>PermissionMetaData_entity</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<icon>VAADIN:CONNECT</icon>
<title>Entities</title>
<contentTitleProcess>%aditoprj%/entity/PermissionMetaData_entity/contentTitleProcess.js</contentTitleProcess>
<iconIdProcess>%aditoprj%/entity/PermissionMetaData_entity/iconIdProcess.js</iconIdProcess>
<recordContainer>jDito</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
</entityProvider>
<entityField>
<name>TITLE</name>
<title>Title</title>
</entityField>
<entityField>
<name>DESCRIPTION</name>
<title>Description</title>
</entityField>
<entityField>
<name>UID</name>
<title>Name</title>
</entityField>
<entityProvider>
<name>MetaData</name>
<recordContainer>jDito</recordContainer>
<dependencies>
<entityDependency>
<name>3b2c9421-5ff0-49a3-99f0-6790f17bd76c</name>
<entityName>PermissionDetail_entity</entityName>
<fieldName>MetaData</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
<children>
<entityParameter>
<name>EntityName_param</name>
<valueProcess>%aditoprj%/entity/PermissionMetaData_entity/entityfields/metadata/children/entityname_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityProvider>
<entityConsumer>
<name>PermissionOverviews</name>
<dependency>
<name>dependency</name>
<entityName>PermissionOverview_entity</entityName>
<fieldName>PermissionOverviews</fieldName>
</dependency>
<children>
<entityParameter>
<name>EntityTitle_param</name>
<valueProcess>%aditoprj%/entity/PermissionMetaData_entity/entityfields/permissionoverviews/children/entitytitle_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
<entityConsumer>
<name>PermissionDetails</name>
<dependency>
<name>dependency</name>
<entityName>PermissionDetail_entity</entityName>
<fieldName>Permissions</fieldName>
</dependency>
<children>
<entityParameter>
<name>EntityTitle_param</name>
<valueProcess>%aditoprj%/entity/PermissionMetaData_entity/entityfields/permissiondetails/children/entitytitle_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
<entityParameter>
<name>EntityName_param</name>
<expose v="true" />
<description>PARAMETER</description>
</entityParameter>
<entityField>
<name>USEPERMISSION</name>
</entityField>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>jDito</name>
<jDitoRecordAlias>_____SYSTEMALIAS</jDitoRecordAlias>
<isPageable v="false" />
<isFilterable v="true" />
<contentProcess>%aditoprj%/entity/PermissionMetaData_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<recordFields>
<element>UID.value</element>
<element>TITLE.value</element>
<element>DESCRIPTION.value</element>
<element>USEPERMISSION.value</element>
</recordFields>
</jDitoRecordContainer>
</recordContainers>
</entity>
import("system.logging");
import("system.vars");
import("system.result");
import("system.project");
var entities = project.getDataModels(project.DATAMODEL_KIND_ENTITY);
var selectedEntity = vars.get("$local.idvalues");
var res = [];
if (selectedEntity == null) {
for each (let entity in entities) {
if (entity[6] == "true") {
res.push([entity[0], entity[1], entity[2]]);
var allEntities = project.getDataModels(project.DATAMODEL_KIND_ENTITY);
for each (let e in allEntities) {
if (e[6] == "true") {
res.push([e[0], e[1], e[2], e[6]]);
}
}
} else {
for each (let entity in entities) {
if (entity[0] == selectedEntity) {
res.push([entity[0], entity[1], entity[2]]);
break;
}
}
entity = project.getDataModel(project.DATAMODEL_KIND_ENTITY, selectedEntity);
res.push([entity[0], entity[1], entity[2], entity[6]]);
}
result.object(res.sort());
\ No newline at end of file
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