public static void AssureAdminSystemUserGroupAndPermissions() {
Db.Transact(() => {
string admingroup = "Admin (System Users)";
// Assure Warehouse Admin Group
SystemUserGroup warehouseadminGroup = Db.SQL<SystemUserGroup>("SELECT o FROM Simplified.Ring3.SystemUserGroup o WHERE o.Name = ?", Security.WarehouseAdminGroupName).First;
if (warehouseadminGroup == null) {
warehouseadminGroup = new SystemUserGroup();
warehouseadminGroup.Name = Security.WarehouseAdminGroupName;
}
// Find all admin's and add them to the warehouse admin group.
SystemUserGroup adminGroup = Db.SQL<SystemUserGroup>("SELECT o FROM Simplified.Ring3.SystemUserGroup o WHERE o.Name = ?", admingroup).First;
if (adminGroup != null) {
foreach (SystemUser user in adminGroup.Members) {
SystemUser.AddUserToGroup(user, warehouseadminGroup);
}
}
//if (warehouseadminGroup.Parent == null) {
// SystemUserGroup adminGroup = Db.SQL<SystemUserGroup>("SELECT o FROM Simplified.Ring3.SystemUserGroup o WHERE o.Name = ?", admingroup).First;
// if (adminGroup != null) {
// warehouseadminGroup.Parent = adminGroup;
// }
//}
//if (warehouseadminGroup.Members == null || !warehouseadminGroup.Members.Any()) {
// // Assure that there is atleast one user with admin rights to the warehouse
// SystemUser user = new SystemUser();
// user.Username = "warehouse";
// user.Password = "warehouse";
// string hashedPassword;
// Utils.GeneratePasswordHash(user.Username.ToLower(), user.Password.ToLower(), out hashedPassword);
// user.Password = hashedPassword;
// SystemUser.AddUserToGroup(user, warehouseadminGroup);
//}
});
}
#endregion