Skip to content
Snippets Groups Projects
Commit 64c16fea authored by Johannes Hörmann's avatar Johannes Hörmann
Browse files

fix permission detail view -> insert

parent 6ab60ad9
No related branches found
No related tags found
No related merge requests found
This diff is collapsed.
......@@ -201,7 +201,7 @@
<recordContainers>
<jDitoRecordContainer>
<name>jDito</name>
<jDitoRecordAlias>Data_alias</jDitoRecordAlias>
<jDitoRecordAlias>_____SYSTEMALIAS</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>
......
......@@ -8,7 +8,13 @@ import("system.project");
var selectedPermission = vars.get("$local.idvalues");
var sqlStr;
var whereCond = " where";
var querySelect = newSelect("ASYS_PERMISSION.ASYS_PERMISSIONID, ASYS_PERMISSIONSET.ENTITY_ID, ASYS_PERMISSIONSET.ROLE_ID,"
+ " ASYS_PERMISSIONSET.FIELD_ID, ASYS_PERMISSION.COND, ASYS_PERMISSIONACTION.ACTION, ASYS_PERMISSIONSET.ACCESSTYPE, ASYS_PERMISSION.CONDTYPE", alias)
.from("ASYS_PERMISSIONSET")
.join("ASYS_PERMISSION", "ASYS_PERMISSION.ASYS_PERMISSIONSET_ID = ASYS_PERMISSIONSET.ASYS_PERMISSIONSETID")
.join("ASYS_PERMISSIONACTION", "ASYS_PERMISSIONACTION.ASYS_PERMISSION_ID = ASYS_PERMISSION.ASYS_PERMISSIONID")
.orderBy("ASYS_PERMISSION.ASYS_PERMISSIONID")
var alias = SqlUtils.getSystemAlias();
var entitiesMetaData = project.getDataModels(project.DATAMODEL_KIND_ENTITY);
var entityStructure;
......@@ -31,25 +37,27 @@ for each (let entityMetaData in entitiesMetaData) {
}
}
whereCond += " ENTITY_ID in ('" + entitiesUsePermFlagSet.join("','") + "')";
whereCond += " and (FIELD_ID in ('" + fieldsUsePermFlagSet.join("','") + "') or FIELD_ID is NULL)";
var sqlRes = [];
if (vars.get("$param.RoleTitle_param")) {
whereCond += " and ASYS_PERMISSIONSET.ROLE_ID = '" + vars.get("$param.RoleTitle_param") + "'";
} else if (vars.get("$param.EntityTitle_param")) {
whereCond += " and ASYS_PERMISSIONSET.ENTITY_ID = '" + vars.get("$param.EntityTitle_param") + "'";
// load nothing if no entity uses permissions
if (entitiesUsePermFlagSet.length > 0)
{
querySelect.where("ASYS_PERMISSIONSET.ENTITY_ID", entitiesUsePermFlagSet, SqlBuilder.IN());
// if fieldsUsePermFlagSet is empty it checks only for "is null" (that's why newWhereIfSet and not newWhere)
querySelect.and(newWhereIfSet("ASYS_PERMISSIONSET.FIELD_ID", fieldsUsePermFlagSet, SqlBuilder.IN())
.or("FIELD_ID is NULL"));
if (vars.get("$param.RoleTitle_param")) {
querySelect.and("ASYS_PERMISSIONSET.ROLE_ID", "$param.RoleTitle_param")
} else if (vars.get("$param.EntityTitle_param")) {
querySelect.and("ASYS_PERMISSIONSET.ENTITY_ID", "$param.EntityTitle_param")
}
// get all permissions which are already in db
sqlRes = querySelect.table();
}
// get all permissions which are already in db
sqlStr =
"select ASYS_PERMISSION.ASYS_PERMISSIONID, ASYS_PERMISSIONSET.ENTITY_ID, ASYS_PERMISSIONSET.ROLE_ID,"
+ " ASYS_PERMISSIONSET.FIELD_ID, ASYS_PERMISSION.COND, ASYS_PERMISSIONACTION.ACTION, ASYS_PERMISSIONSET.ACCESSTYPE, ASYS_PERMISSION.CONDTYPE from ASYS_PERMISSIONSET"
+ " join ASYS_PERMISSION on ASYS_PERMISSION.ASYS_PERMISSIONSET_ID = ASYS_PERMISSIONSET.ASYS_PERMISSIONSETID"
+ " join ASYS_PERMISSIONACTION on ASYS_PERMISSIONACTION.ASYS_PERMISSION_ID = ASYS_PERMISSION.ASYS_PERMISSIONID"
+ whereCond
+ " order by ASYS_PERMISSION.ASYS_PERMISSIONID";
var sqlRes = db.table(sqlStr, alias);
var permissionTable = PermissionUtil.convertArrToObj(sqlRes);
var permissionTableOrigin = permissionTable; // used to build tree
......
......@@ -88,7 +88,7 @@ function PermissionUtil () {}
{
return newSelect("ASYS_PERMISSIONACTION.ACTION", alias)
.from("ASYS_PERMISSIONACTION")
.whereIfSet("ASYS_PERMISSIONACTIONID", pActionId)
.whereIfSet("ASYS_PERMISSIONACTION.ASYS_PERMISSIONACTIONID", pActionId)
.cell(true);
}
......
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