public JsonResult GetRolePermissionsForRole(short roleId) { GetModulesForRoleResponse response = roleService.GetModulesForRole(new GetModulesForRoleRequest() { roleId = roleId }); return Json(new { success = true, response = response.moduleIds }, JsonRequestBehavior.AllowGet); }
public ActionResult AddRolePermissions(short roleId) { RolePermissionsViewModel viewModel = new RolePermissionsViewModel(); GetRolesResponse rolesResponse = roleService.GetRoles(new GetRolesRequest() { AccountId = this.Identity.ToAccountID() }); if (rolesResponse != null && !rolesResponse.RoleViewModel.Any(r => r.RoleId == roleId)) return RedirectToAction("NotFound", "Error"); GetModulesResponse modulesResponse = roleService.GetModules(new GetModulesRequest() { AccountID = this.Identity.ToAccountID() }); if (!this.Identity.IsSTAdmin()) { if(rolesResponse.SubscriptionId == 2) rolesResponse.RoleViewModel = rolesResponse.RoleViewModel.Where(s => s.RoleName != "Account Administrator"); else rolesResponse.RoleViewModel = rolesResponse.RoleViewModel.Where(s => s.RoleName != "Account Administrator" && s.RoleName != "Marketing Administrator" && s.RoleName != "Sales Administrator" && s.RoleName != "Marketing"); modulesResponse.ModuleViewModel = modulesResponse.ModuleViewModel.Where(s => s.ModuleId != (byte)AppModules.AccountSettings); } viewModel.Modules = modulesResponse.ModuleViewModel; viewModel.Roles = rolesResponse.RoleViewModel; GetModulesForRoleResponse response = roleService.GetModulesForRole(new GetModulesForRoleRequest() { roleId = roleId }); foreach (var item in response.moduleIds) { foreach (var module in viewModel.Modules) { if (module.ModuleId == item) { module.IsSelected = true; } if (module.SubModules != null) { foreach (var submodule in module.SubModules) { if (submodule.ModuleId == item) { submodule.IsSelected = true; } } } } } viewModel.SelectedRole = roleId; return View("RolePermissions", viewModel); }
public GetModulesForRoleResponse GetModulesForRole(GetModulesForRoleRequest request) { Logger.Current.Verbose("Request to fetch list of Modules for a role"); GetModulesForRoleResponse response = new GetModulesForRoleResponse(); Logger.Current.Informational("Requested Modules for RoleId " + request.roleId); List <byte> moduleIds = roleRepository.GetModulesByRole(request.roleId); if (moduleIds != null) { response.moduleIds = moduleIds; } else { response.moduleIds = null; } return(response); }