update permissions work to reflect checker permissions (for maker-checker)
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
|
||||
ALTER TABLE m_permission
|
||||
CHANGE COLUMN `is_maker_checker` `can_maker_checker` TINYINT(1) NOT NULL DEFAULT '1' ;
|
||||
|
||||
/*
|
||||
add all checker permissions
|
||||
*/
|
||||
insert into m_permission(grouping, code, entity_name, action_name, can_maker_checker)
|
||||
select grouping, concat(code, '_CHECKER'), entity_name, action_name, false
|
||||
from m_permission
|
||||
where code not like 'READ_%'
|
||||
and grouping != 'special';
|
||||
|
||||
|
||||
/* 5k not enough for command json */
|
||||
ALTER TABLE m_portfolio_command_source
|
||||
CHANGE COLUMN `command_as_json` `command_as_json` TEXT NOT NULL ;
|
||||
|
||||
|
||||
+3
-3
@@ -16,19 +16,19 @@ public class PermissionUsageData {
|
||||
@SuppressWarnings("unused")
|
||||
private final Boolean selected;
|
||||
@SuppressWarnings("unused")
|
||||
private final Boolean isMakerChecker;
|
||||
private final Boolean canMakerChecker;
|
||||
|
||||
public static PermissionUsageData from(final String permissionCode, final boolean isSelected) {
|
||||
return new PermissionUsageData(null, permissionCode, null, null, isSelected, null);
|
||||
}
|
||||
|
||||
public PermissionUsageData(final String grouping, final String code, final String entityName, final String actionName,
|
||||
final Boolean selected, final Boolean isMakerChecker) {
|
||||
final Boolean selected, final Boolean canMakerChecker) {
|
||||
this.grouping = grouping;
|
||||
this.code = code;
|
||||
this.entityName = entityName;
|
||||
this.actionName = actionName;
|
||||
this.selected = selected;
|
||||
this.isMakerChecker = isMakerChecker;
|
||||
this.canMakerChecker = canMakerChecker;
|
||||
}
|
||||
}
|
||||
+27
-6
@@ -105,22 +105,33 @@ public class ReadWriteNonCoreDataServiceImpl implements
|
||||
validateAppTable(appTable);
|
||||
|
||||
String createPermission = "'CREATE_" + datatable + "'";
|
||||
String createPermissionChecker = "'CREATE_" + datatable + "_CHECKER'";
|
||||
String readPermission = "'READ_" + datatable + "'";
|
||||
String updatePermission = "'UPDATE_" + datatable + "'";
|
||||
String updatePermissionChecker = "'UPDATE_" + datatable + "_CHECKER'";
|
||||
String deletePermission = "'DELETE_" + datatable + "'";
|
||||
String deletePermissionChecker = "'DELETE_" + datatable + "_CHECKER'";
|
||||
// TODO - put in batch command later
|
||||
String sql = "insert into x_registered_table (registered_table_name, application_table_name) values ('"
|
||||
+ datatable + "', '" + appTable + "')";
|
||||
|
||||
genericDataService.updateSQL(sql, "SQL: " + sql);
|
||||
|
||||
sql = "insert into m_permission (grouping, code, action_name, entity_name, is_maker_checker) values "
|
||||
/*
|
||||
* add all permissions, including checker permissions for maintenance
|
||||
* tasks
|
||||
*/
|
||||
sql = "insert into m_permission (grouping, code, action_name, entity_name, can_maker_checker) values "
|
||||
+ "('datatable', "
|
||||
+ createPermission
|
||||
+ ", 'CREATE', '"
|
||||
+ datatable
|
||||
+ "', true),"
|
||||
+ "('datatable', "
|
||||
+ createPermissionChecker
|
||||
+ ", 'CREATE', '"
|
||||
+ datatable
|
||||
+ "', false),"
|
||||
+ "('datatable', "
|
||||
+ readPermission
|
||||
+ ", 'READ', '"
|
||||
+ datatable
|
||||
@@ -131,9 +142,19 @@ public class ReadWriteNonCoreDataServiceImpl implements
|
||||
+ datatable
|
||||
+ "', true),"
|
||||
+ "('datatable', "
|
||||
+ updatePermissionChecker
|
||||
+ ", 'UPDATE', '"
|
||||
+ datatable
|
||||
+ "', false),"
|
||||
+ "('datatable', "
|
||||
+ deletePermission
|
||||
+ ", 'DELETE', '"
|
||||
+ datatable + "', true)";
|
||||
+ datatable
|
||||
+ "', true),"
|
||||
+ "('datatable', "
|
||||
+ deletePermissionChecker
|
||||
+ ", 'DELETE', '"
|
||||
+ datatable + "', false)";
|
||||
|
||||
genericDataService.updateSQL(sql, "SQL: " + sql);
|
||||
|
||||
@@ -149,9 +170,9 @@ public class ReadWriteNonCoreDataServiceImpl implements
|
||||
|
||||
// TODO - put in batch command later
|
||||
|
||||
String permissionList = "('CREATE_" + datatable + "', 'READ_"
|
||||
+ datatable + "', 'UPDATE_" + datatable + "', 'DELETE_"
|
||||
+ datatable + "')";
|
||||
String permissionList = "('CREATE_" + datatable + "', 'CREATE_"
|
||||
+ datatable + "_CHECKER', 'READ_" + datatable + "', 'UPDATE_"
|
||||
+ datatable + "', 'UPDATE_" + datatable + "_CHECKER', 'DELETE_" + datatable + "', 'DELETE_" + datatable + "_CHECKER')";
|
||||
|
||||
String sql = "delete from m_role_permission where m_role_permission.permission_id in (select id from m_permission where code in "
|
||||
+ permissionList + ")";
|
||||
|
||||
@@ -26,8 +26,8 @@ public class Permission extends AbstractPersistable<Long> {
|
||||
private final String actionName;
|
||||
|
||||
@SuppressWarnings("unused")
|
||||
@Column(name = "is_maker_checker", nullable = false)
|
||||
private Boolean isMakerChecker;
|
||||
@Column(name = "can_maker_checker", nullable = false)
|
||||
private Boolean canMakerChecker;
|
||||
|
||||
protected Permission() {
|
||||
this.grouping = null;
|
||||
|
||||
+4
-4
@@ -54,19 +54,19 @@ public class PermissionReadPlatformServiceImpl implements PermissionReadPlatform
|
||||
final String entityName = rs.getString("entityName");
|
||||
final String actionName = rs.getString("actionName");
|
||||
final Boolean selected = rs.getBoolean("selected");
|
||||
final Boolean isMakerChecker = rs.getBoolean("isMakerChecker");
|
||||
final Boolean canMakerChecker = rs.getBoolean("canMakerChecker");
|
||||
|
||||
return new PermissionUsageData(grouping, code, entityName, actionName, selected, isMakerChecker);
|
||||
return new PermissionUsageData(grouping, code, entityName, actionName, selected, canMakerChecker);
|
||||
}
|
||||
|
||||
public String permissionSchema() {
|
||||
return "select p.grouping, p.code, p.entity_name as entityName, p.action_name as actionName, true as selected, p.is_maker_checker as isMakerChecker"
|
||||
return "select p.grouping, p.code, p.entity_name as entityName, p.action_name as actionName, true as selected, p.can_maker_checker as canMakerChecker"
|
||||
+ " from m_permission p " + " order by p.grouping, ifnull(entity_name, ''), p.code";
|
||||
}
|
||||
|
||||
public String rolePermissionSchema() {
|
||||
return "select p.grouping, p.code, p.entity_name as entityName, p.action_name as actionName, if(isnull(rp.role_id), false, true) as selected, "
|
||||
+ " if(isnull(rp.role_id), false, p.is_maker_checker) as isMakerChecker "
|
||||
+ " if(isnull(rp.role_id), false, p.can_maker_checker) as canMakerChecker "
|
||||
+ " from m_permission p "
|
||||
+ " left join m_role_permission rp on rp.permission_id = p.id and rp.role_id = ? "
|
||||
+ " order by p.grouping, ifnull(entity_name, ''), p.code";
|
||||
|
||||
Reference in New Issue
Block a user