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

Permissions - Refactoring

parent cc1cae80
No related branches found
No related tags found
No related merge requests found
Showing
with 11 additions and 544 deletions
<?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.5" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.5">
<name>PermissionAction_entity</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<iconId>VAADIN:SHIELD</iconId>
<recordContainer>db</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
<dependencies>
<entityDependency>
<name>754e3cfc-7bc8-4dfa-a56e-1a4d12570fb2</name>
<entityName>PermissionDetail_entity</entityName>
<fieldName>PermissionActions</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
</entityProvider>
<entityField>
<name>AB_PERMISSIONACTIONID</name>
<title>Permission Action</title>
<valueProcess>%aditoprj%/entity/PermissionAction_entity/entityfields/ab_permissionactionid/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>AB_PERMISSION_ID</name>
<title>Parent Permission Action</title>
</entityField>
<entityField>
<name>ACTION</name>
<title>Action</title>
</entityField>
<entityProvider>
<name>PermissionActions</name>
<fieldType>DEPENDENCY_IN</fieldType>
<recordContainer>db</recordContainer>
<dependencies>
<entityDependency>
<name>504fe751-0e93-4ce3-aed7-26a669fd8ce4</name>
<entityName>Permission_entity</entityName>
<fieldName>PermissionPermissionActions</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
</entityProvider>
<entityParameter>
<name>PermissionId_param</name>
<expose v="true" />
<triggerRecalculation v="true" />
<mandatory v="true" />
<description>PARAMETER</description>
</entityParameter>
</entityFields>
<recordContainers>
<dbRecordContainer>
<name>db</name>
<alias>_____SYSTEMALIAS</alias>
<conditionProcess>%aditoprj%/entity/PermissionAction_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
<linkInformation>
<linkInformation>
<name>f73c027f-55f0-4f43-8520-8bd7b4bcbf81</name>
<tableName>ASYS_PERMISSIONACTION</tableName>
<primaryKey>PERMISSIONACTIONID</primaryKey>
<isUIDTable v="false" />
<readonly v="false" />
</linkInformation>
</linkInformation>
<recordFieldMappings>
<dbRecordFieldMapping>
<name>AB_PERMISSION_ID.value</name>
<recordfield>AB_PERMISSIONACTION.AB_PERMISSION_ID</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>AB_PERMISSIONACTIONID.value</name>
<recordfield>AB_PERMISSIONACTION.AB_PERMISSIONACTIONID</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>ACTION.value</name>
<recordfield>AB_PERMISSIONACTION.ACTION</recordfield>
</dbRecordFieldMapping>
</recordFieldMappings>
</dbRecordContainer>
</recordContainers>
</entity>
import("system.neon");
import("system.result");
import("system.util");
import("system.vars");
if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW)
result.string(util.getNewUUID());
\ No newline at end of file
import("system.vars");
import("system.db");
import("system.result");
if (vars.get("$param.PermissionId_param"))
result.string(db.translateCondition("ASYS_PERMISSION_ID = '" + vars.get("$param.PermissionId_param") + "'"));
\ 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.5" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.5">
<name>PermissionAdmin_entity</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<title>Permission Admin</title>
<iconId>VAADIN:SHIELD</iconId>
<recordContainer>JDito</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
</entityProvider>
<entityField>
<name>UID</name>
</entityField>
<entityConsumer>
<name>PermissionSets</name>
<fieldType>DEPENDENCY_OUT</fieldType>
<dependency>
<name>dependency</name>
<entityName>PermissionSet_entity</entityName>
<fieldName>PermissionSets</fieldName>
</dependency>
</entityConsumer>
</entityFields>
<recordContainers>
<jDitoRecordContainer>
<name>JDito</name>
<contentProcess>%aditoprj%/entity/PermissionAdmin_entity/recordcontainers/jdito/contentProcess.js</contentProcess>
<recordFields>
<element>UID.value</element>
</recordFields>
</jDitoRecordContainer>
</recordContainers>
</entity>
import("system.result");
result.object([["0"]])
\ No newline at end of file
......@@ -5,6 +5,7 @@ import("system.util");
import("system.db");
import("system.vars");
import("Permission_lib");
import("Entity_lib");
var table, cols, vals;
var alias = "_____SYSTEMALIAS";
......@@ -67,14 +68,20 @@ function checkInput(pInputArr) {
return true;
}
// returns the permission(id) with given parameters, otherwise returns empty string
// returns permissionid of the permission with fitting parameters, otherwise returns empty string
function permExists(pRole, pEntity, pField, pAccesstype, pCondtype, pCondition) {
var sqlStr = "";
var sqlExt = "";
if (pCondition != null && pCondition != undefined && pCondition != "")
if (checkInput([pCondition])) {
sqlExt += " and COND = '" + pCondition + "'";
if (pField != null && pField != undefined && pField != "")
}
if (checkInput([pField])) {
sqlExt += " and FIELD_ID = '" + pField + "'";
var sqlStr = "select ASYS_PERMISSION.ASYS_PERMISSIONID from ASYS_PERMISSIONSET"
}
sqlStr = "select ASYS_PERMISSION.ASYS_PERMISSIONID from ASYS_PERMISSIONSET"
+ " join ASYS_PERMISSION on ASYS_PERMISSION.ASYS_PERMISSIONSET_ID = ASYS_PERMISSIONSET.ASYS_PERMISSIONSETID"
+ " where ENTITY_ID = '" + pEntity + "' and ROLE_ID = '" + pRole + "'"
+ " and ACCESSTYPE = '" + pAccesstype + "' and CONDTYPE = '" + pCondtype + "'" + sqlExt;
......
<?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.5" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.5">
<name>PermissionSet_entity</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<title>Permission Set</title>
<contentTitleProcess>%aditoprj%/entity/PermissionSet_entity/contentTitleProcess.js</contentTitleProcess>
<iconId>VAADIN:SHIELD</iconId>
<recordContainer>db</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
</entityProvider>
<entityField>
<name>AB_PERMISSIONSETID</name>
<title>Permission Set</title>
<valueProcess>%aditoprj%/entity/PermissionSet_entity/entityfields/ab_permissionsetid/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>AB_PERMISSIONSET_ID</name>
<title>Parent Permission</title>
</entityField>
<entityField>
<name>ENTITY_ID</name>
<title>Entity</title>
</entityField>
<entityField>
<name>ROLE_ID</name>
<title>Role</title>
</entityField>
<entityField>
<name>FIELD_ID</name>
<title>Field</title>
</entityField>
<entityField>
<name>ACCESSTYPE</name>
<title>Access Type</title>
</entityField>
<entityProvider>
<name>PermissionSets</name>
<fieldType>DEPENDENCY_IN</fieldType>
<dependencies>
<entityDependency>
<name>fb648b04-2815-42b6-a63a-188d26f39955</name>
<entityName>PermissionAdmin_entity</entityName>
<fieldName>PermissionSets</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
</entityProvider>
<entityConsumer>
<name>Permissions</name>
<fieldType>DEPENDENCY_OUT</fieldType>
<dependency>
<name>dependency</name>
<entityName>Permission_entity</entityName>
<fieldName>Permissions</fieldName>
</dependency>
<children>
<entityParameter>
<name>PermissionSetId_param</name>
<valueProcess>%aditoprj%/entity/PermissionSet_entity/entityfields/permissions/children/permissionsetid_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
</entityFields>
<recordContainers>
<dbRecordContainer>
<name>db</name>
<alias>_____SYSTEMALIAS</alias>
<linkInformation>
<linkInformation>
<name>85886d1e-c26d-48ac-93fc-ff06c24ba8a3</name>
<tableName>ASYS_PERMISSIONSET</tableName>
<primaryKey>PERMISSIONSETID</primaryKey>
<isUIDTable v="false" />
<readonly v="false" />
</linkInformation>
</linkInformation>
<recordFieldMappings>
<dbRecordFieldMapping>
<name>AB_PERMISSIONSET_ID.value</name>
<recordfield>AB_PERMISSIONSET.AB_PERMISSIONSET_ID</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>AB_PERMISSIONSETID.value</name>
<recordfield>AB_PERMISSIONSET.AB_PERMISSIONSETID</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>ACCESSTYPE.value</name>
<recordfield>AB_PERMISSIONSET.ACCESSTYPE</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>ENTITY_ID.value</name>
<recordfield>AB_PERMISSIONSET.ENTITY_ID</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>FIELD_ID.value</name>
<recordfield>AB_PERMISSIONSET.FIELD_ID</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>ROLE_ID.value</name>
<recordfield>AB_PERMISSIONSET.ROLE_ID</recordfield>
</dbRecordFieldMapping>
</recordFieldMappings>
</dbRecordContainer>
</recordContainers>
</entity>
import("system.vars");
import("system.result");
var res = "";
switch (vars.get("$field.ACCESSTYPE")) {
case "E":
res += vars.get("$field.ENTITY_ID");
break;
case "R":
res += "Record";
break;
case "F":
res += vars.get("$field.FIELD_ID");
break;
}
result.string(res);
\ No newline at end of file
import("system.neon");
import("system.result");
import("system.util");
import("system.vars");
if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW)
result.string(util.getNewUUID());
import("system.result");
import("system.vars");
result.string(vars.get("$field.AB_PERMISSIONSETID"));
\ 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.5" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/entity/1.3.5">
<name>Permission_entity</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<iconId>VAADIN:SHIELD</iconId>
<recordContainer>db</recordContainer>
<entityFields>
<entityProvider>
<name>#PROVIDER</name>
</entityProvider>
<entityField>
<name>AB_PERMISSIONID</name>
<title>Permission</title>
<valueProcess>%aditoprj%/entity/Permission_entity/entityfields/ab_permissionid/valueProcess.js</valueProcess>
</entityField>
<entityField>
<name>AB_PERMISSIONSET_ID</name>
<title>Parent Permission</title>
</entityField>
<entityField>
<name>COND</name>
<title>Condition</title>
</entityField>
<entityField>
<name>CONDTYPE</name>
<title>Condition Type</title>
</entityField>
<entityConsumer>
<name>PermissionPermissionActions</name>
<fieldType>DEPENDENCY_OUT</fieldType>
<dependency>
<name>dependency</name>
<entityName>PermissionAction_entity</entityName>
<fieldName>PermissionActions</fieldName>
</dependency>
<children>
<entityParameter>
<name>PermissionId_param</name>
<valueProcess>%aditoprj%/entity/Permission_entity/entityfields/permissionpermissionactions/children/permissionid_param/valueProcess.js</valueProcess>
<expose v="false" />
<mandatory v="false" />
</entityParameter>
</children>
</entityConsumer>
<entityProvider>
<name>Permissions</name>
<fieldType>DEPENDENCY_IN</fieldType>
<recordContainer>db</recordContainer>
<dependencies>
<entityDependency>
<name>f902d1b2-15c4-4fbc-93c4-17f76625e746</name>
<entityName>PermissionSet_entity</entityName>
<fieldName>Permissions</fieldName>
<isConsumer v="false" />
</entityDependency>
</dependencies>
</entityProvider>
<entityParameter>
<name>PermissionSetId_param</name>
<expose v="true" />
<triggerRecalculation v="true" />
<mandatory v="true" />
<description>PARAMETER</description>
</entityParameter>
</entityFields>
<recordContainers>
<dbRecordContainer>
<name>db</name>
<alias>_____SYSTEMALIAS</alias>
<conditionProcess>%aditoprj%/entity/Permission_entity/recordcontainers/db/conditionProcess.js</conditionProcess>
<linkInformation>
<linkInformation>
<name>a2c1ed85-8827-47dc-ad87-cbed33c141e5</name>
<tableName>ASYS_PERMISSION</tableName>
<primaryKey>PERMISSIONID</primaryKey>
<isUIDTable v="false" />
<readonly v="false" />
</linkInformation>
</linkInformation>
<recordFieldMappings>
<dbRecordFieldMapping>
<name>COND.value</name>
<recordfield>AB_PERMISSION.COND</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>CONDTYPE.value</name>
<recordfield>AB_PERMISSION.CONDTYPE</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>AB_PERMISSIONID.value</name>
<recordfield>AB_PERMISSION.AB_PERMISSIONID</recordfield>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>AB_PERMISSIONSET_ID.value</name>
<recordfield>AB_PERMISSION.AB_PERMISSIONSET_ID</recordfield>
</dbRecordFieldMapping>
</recordFieldMappings>
</dbRecordContainer>
</recordContainers>
</entity>
import("system.neon");
import("system.result");
import("system.util");
import("system.vars");
if(vars.get("$sys.operatingstate") == neon.OPERATINGSTATE_NEW)
result.string(util.getNewUUID());
\ No newline at end of file
import("system.result");
import("system.vars");
result.string(vars.get("$field.AB_PERMISSIONID"));
\ No newline at end of file
import("system.vars");
import("system.db");
import("system.result");
if (vars.exists("$param.PermissionSetId_param") && vars.get("$param.PermissionSetId_param"))
result.string(db.translateCondition("ASYS_PERMISSIONSET_ID = '" + vars.get("$param.PermissionSetId_param") + "'"));
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
<name>Permission</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<mainview>PermissionMain_view</mainview>
<filterview>PermissionFilter_view</filterview>
<editview>PermissionEdit_view</editview>
<preview>PermissionPreview_view</preview>
<entity>Permission_entity</entity>
<references>
<neonViewReference>
<name>213eac8e-fab6-43ea-83be-94ab26e0b252</name>
<view>PermissionMain_view</view>
</neonViewReference>
<neonViewReference>
<name>f33c6b95-272e-4561-bf04-91cbd58c2499</name>
<view>PermissionFilter_view</view>
</neonViewReference>
<neonViewReference>
<name>03b59ef0-f628-451a-a01e-800ca07baa67</name>
<view>PermissionEdit_view</view>
</neonViewReference>
<neonViewReference>
<name>ea9569b9-1d57-4826-970e-142ea2104350</name>
<view>PermissionPreview_view</view>
</neonViewReference>
</references>
</neonContext>
<?xml version="1.0" encoding="UTF-8"?>
<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
<name>PermissionAction</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<mainview>PermissionActionMain_view</mainview>
<filterview>PermissionActionFilter_view</filterview>
<editview>PermissionActionEdit_view</editview>
<preview>PermissionActionPreview_view</preview>
<entity>PermissionAction_entity</entity>
<references>
<neonViewReference>
<name>5a7d27cc-ccc9-4b5a-af6d-1837d3bf8288</name>
<view>PermissionActionMain_view</view>
</neonViewReference>
<neonViewReference>
<name>5604d7b7-f37b-4995-a795-876cf2be244c</name>
<view>PermissionActionFilter_view</view>
</neonViewReference>
<neonViewReference>
<name>65501724-1b07-46c3-864c-eb3ecae7f5c7</name>
<view>PermissionActionEdit_view</view>
</neonViewReference>
<neonViewReference>
<name>63c1333e-af91-4293-9eef-b8e313aaa876</name>
<view>PermissionActionPreview_view</view>
</neonViewReference>
</references>
</neonContext>
<?xml version="1.0" encoding="UTF-8"?>
<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
<name>PermissionAdmin</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<mainview>PermissionAdminMain_view</mainview>
<entity>PermissionAdmin_entity</entity>
<references>
<neonViewReference>
<name>8f545d49-e62f-438d-8d14-edcd966d6cd5</name>
<view>PermissionAdminMain_view</view>
</neonViewReference>
</references>
</neonContext>
<?xml version="1.0" encoding="UTF-8"?>
<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.1.0">
<name>PermissionSet</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<mainview>PermissionSetMain_view</mainview>
<filterview>PermissionSetFilter_view</filterview>
<editview>PermissionSetEdit_view</editview>
<preview>PermissionSetPreview_view</preview>
<entity>PermissionSet_entity</entity>
<references>
<neonViewReference>
<name>9b826112-967a-4dd1-ab50-e6ca8c9554fd</name>
<view>PermissionSetMain_view</view>
</neonViewReference>
<neonViewReference>
<name>eaa7dbdc-da6f-43a2-acd0-f71d7aaff96c</name>
<view>PermissionSetFilter_view</view>
</neonViewReference>
<neonViewReference>
<name>18b656ef-33f7-40ca-a86b-dfdcfe96b3f2</name>
<view>PermissionSetEdit_view</view>
</neonViewReference>
<neonViewReference>
<name>5b618ffc-1124-46ae-ad88-0b207688689a</name>
<view>PermissionSetPreview_view</view>
</neonViewReference>
</references>
</neonContext>
<?xml version="1.0" encoding="UTF-8"?>
<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
<name>PermissionActionEdit_view</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<layout>
<boxLayout>
<name>layout</name>
</boxLayout>
</layout>
<children>
<genericViewTemplate>
<name>Generic</name>
<editMode v="true" />
<entityField>#ENTITY</entityField>
<fields>
<entityFieldLink>
<name>c2211f64-0134-4fff-b5bf-194fd4580d81</name>
<entityField>AB_PERMISSION_ID</entityField>
</entityFieldLink>
<entityFieldLink>
<name>5b378d43-5112-4d4d-9207-cd9b2caa7d1d</name>
<entityField>ACTION</entityField>
</entityFieldLink>
</fields>
</genericViewTemplate>
</children>
</neonView>
<?xml version="1.0" encoding="UTF-8"?>
<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.1" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.1.1">
<name>PermissionActionFilter_view</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<filterable v="true" />
<layout>
<boxLayout>
<name>layout</name>
</boxLayout>
</layout>
<children>
<tableViewTemplate>
<name>Table</name>
<entityField>#ENTITY</entityField>
<columns>
<neonTableColumn>
<name>641efc97-974e-4f8b-972f-54f75c3707a7</name>
<entityField>AB_PERMISSIONACTIONID</entityField>
</neonTableColumn>
<neonTableColumn>
<name>8c116c1f-8323-4c55-8607-05ec9450e2a1</name>
<entityField>AB_PERMISSION_ID</entityField>
</neonTableColumn>
<neonTableColumn>
<name>e7c5906a-f747-403b-927d-66bcf2eee167</name>
<entityField>ACTION</entityField>
</neonTableColumn>
</columns>
</tableViewTemplate>
</children>
</neonView>
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