Something went wrong on our end
-
Simon Leipold authoredSimon Leipold authored
onUpdate.js 1.43 KiB
import("system.logging");
import("system.util");
import("system.db");
import("system.vars");
import("Permission_lib");
var table, cols, vals, cond;
var alias = "_____SYSTEMALIAS";
var permissionid = vars.get("$field.UID");
var actionNew = vars.get("$field.ACTION").split(",");
var entityNew = vars.get("$field.ENTITY");
var permCond = vars.get("$field.CONDITION");
var permCondType = vars.get("$field.CONDTYPE").trim();
var diff = PermissionUtil.getActionDiff(permissionid, actionNew);
if (diff.length > 0) {
// delete all linked permission actions
table = "ASYS_PERMISSIONACTION";
cond = SqlCondition.begin().and("ASYS_PERMISSION_ID = '" + permissionid + "'").build();
var dbDeletes = db.deleteData(table, cond, alias);
// insert the different actions
cols = db.getColumns(table, alias);
for each (var action in actionNew) {
PermissionUtil.insertNewPermissionAction(permissionid, action);
}
}
PermissionUtil.updateIfDiff(permissionid, permCond, "COND", "ASYS_PERMISSION"); // updates COND if the new cond is different to COND in DB
PermissionUtil.updateIfDiff(permissionid, permCondType, "CONDTYPE", "ASYS_PERMISSION"); // updates CONDTYPE if the new condtype is different to CONDTYPE in DB
// entity of children has to be changed/deleted/ignored?
// PermissionUtil.updateIfDiff(PermissionUtil.getParentPermissionSet(permissionid), entityNew, "ENTITY_ID", "ASYS_PERMISSIONSET");