コード例 #1
0
        public ActionResult View()
        {
            var d    = DomainSession.GetDomainForHttpContext(this.HttpContext);
            var nmod = new RoleListModel(d);

            return(View(nmod));
        }
コード例 #2
0
        private RoleListModel GetRolesViewModel()
        {
            RoleListModel roleModel = new RoleListModel();

            //UserRoles
            roleModel.HasApacctRole      = false;
            roleModel.HasCustServiceRole = false;
            roleModel.HasDataEntryRole   = false;
            roleModel.HasExceptionsRole  = false;
            roleModel.HasMgtReportsRole  = false;
            roleModel.HasTopsRole        = false;
            roleModel.HasVcRole          = false;
            roleModel.HasFinanceuserRole = false;
            roleModel.HasVendCoderRole   = false;
            roleModel.HasVerifyDupRole   = false;
            roleModel.PREPCODE           = "";
            roleModel.SYMBOL             = "";
            roleModel.ASSIGN_SRV         = "";

            if (this.UserName != null)
            {
                var mgr = new RolesManager();
                roleModel = mgr.GetUserRoles(this.UserName, roleModel,
                                             this.Roles as List <String>,
                                             this.AssignSrv,
                                             this.PrepCode,
                                             this.Symbol);
            }

            return(roleModel);
        }
コード例 #3
0
        public JsonResult RemoveRole(int[] RemoeRoles)
        {
            RoleListModel _model   = new RoleListModel();
            List <Role>   _deleted = new List <Role>();

            foreach (int RoleID in RemoeRoles)
            {
                Role role = Web.Admin.Logic.Collections.Roles.GetBy(RoleID);
                List <ProfileField> _profileFields = ProfileFields.GetByRole(RoleID);

                if (Web.Admin.Logic.Collections.Roles.GetMemberCount(role.RoleID) > 0)
                {
                    role.WasDeleted    = false;
                    role.UIMessage     = "The role contains members.";
                    role.UIMessageType = UIMessageType.Warning;
                    AuditEvent.AppEventSuccess(Profile.Member.Email, String.Format(AuditEvent.RoleContainsMembers, role.Name));
                }
                else if (_profileFields.Count > 0)
                {
                    role.WasDeleted = false;
                    role.UIMessage  = "The role has not been deleted. Attached fields: ";
                    foreach (ProfileField profileField in _profileFields)
                    {
                        role.UIMessage += "<u>" + profileField.FieldName + "</u>&nbsp;";
                    }
                    role.UIMessageType = UIMessageType.Warning;
                    AuditEvent.AppEventSuccess(Profile.Member.Email, String.Format(AuditEvent.RoleContainsMembers, role.Name));
                }
                else
                {
                    if (role.IsBuiltIn)
                    {
                        role.WasDeleted    = true;
                        role.UIMessage     = "The role is built in and can't be deleted.";
                        role.UIMessageType = UIMessageType.Warning;
                        AuditEvent.AppEventSuccess(Profile.Member.Email, String.Format(AuditEvent.RoleIsBuiltIn, role.Name));
                    }
                    else if (role.Delete())
                    {
                        role.WasDeleted    = true;
                        role.UIMessage     = "The role has been deleted.";
                        role.UIMessageType = UIMessageType.Success;
                        AuditEvent.AppEventSuccess(Profile.Member.Email, String.Format(AuditEvent.RoleDeleted, role.Name));
                    }
                }

                _deleted.Add(role);
            }

            _model.Roles = _deleted;

            return(Json(new
            {
                NotifyType = NotifyType.Dialog,
                Html = this.RenderPartialView(@"_RemoveRolesResult", _model)
            }, JsonRequestBehavior.AllowGet));
        }
コード例 #4
0
ファイル: RoleController.cs プロジェクト: HungNV88/CRM
        public RoleListModel Get(int page, int rows)
        {
            int totalRecords = 0;
            var model        = new RoleListModel();

            model.Rows    = RoleRepository.Search(string.Empty, page, rows, out totalRecords);
            model.Page    = page;
            model.Total   = (totalRecords / rows) + 1;
            model.Records = rows;
            return(model);
        }
コード例 #5
0
        public JsonResult GetEditRoleDialog(int RoleID)
        {
            Role          role   = Web.Admin.Logic.Collections.Roles.GetBy(RoleID);
            RoleListModel _model = new RoleListModel();

            _model.Roles.Add(role);

            return(Json(new
            {
                Html = this.RenderPartialView(@"_EditRole", _model),
            }, JsonRequestBehavior.AllowGet));
        }
コード例 #6
0
        //角色管理
        public IActionResult RoleList(string id)
        {
            if (id == null || !id.ToUpper().Equals("DATA", StringComparison.OrdinalIgnoreCase))
            {
                // 权限和菜单
                RoleListModel model       = new RoleListModel();
                var           layoutModel = this.GetLayoutModel();
                if (layoutModel != null)
                {
                    layoutModel.ToT(ref model);
                }

                return(View(model));
            }
            else
            {
                //取角色列表
                string titleFilter = Request.Query["title"];

                int pageIndex = 0;
                int.TryParse(Request.Query["page"], out pageIndex);

                int pageLimit = Consts.Page_Limit;
                int totCount  = CMSAdminBO.GetRoleCount(titleFilter);
                int pageCount = (int)Math.Ceiling(totCount / (float)pageLimit);
                var roles     = new List <Role>();
                if (totCount > 0)
                {
                    IEnumerable <Role> roleIE = CMSAdminBO.GetRoles(titleFilter, pageLimit, pageIndex);
                    if (roleIE != null)
                    {
                        roles = roleIE.ToList();
                    }
                }

                dynamic model = new ExpandoObject();

                model.code  = 0;
                model.msg   = "";
                model.count = totCount;
                model.data  = roles.Select(s => new
                {
                    id    = s.ID,
                    title = s.Title,
                    state = s.State
                });

                return(new JsonResult(model));
            }
        }
コード例 #7
0
        public ActionResult RoleList()
        {
            RoleListModel        model = userProvider.GetRoleList();
            List <FuncItemModel> funcs = userProvider.GetAllFuncItem();

            foreach (RoleModel role in model.ItemList)
            {
                foreach (FuncItemModel func in funcs)
                {
                    role.AccessList = role.AccessList.Replace(func.FuncCode, string.Format(" {0} ", func.FuncText));
                }
            }
            return(View(model));
        }
コード例 #8
0
        public RoleListControl(RoleListModel model)
        {
            InitializeComponent();
            _presenter = new RoleListPresenter(this, model);

            gvRole.PopupMenuShowing  += gvRole_PopupMenuShowing;
            gvRole.FocusedRowChanged += gvRole_FocusedRowChanged;

            // init editor control accessibility
            btnNewRole.Enabled    = AllowInsert;
            cmsEditData.Enabled   = AllowEdit;
            cmsDeleteData.Enabled = AllowDelete;

            this.Load += RoleListControl_Load;
        }
コード例 #9
0
        public JsonResult GetRemoveRoleDialog(int[] RmoveRoles)
        {
            RoleListModel _model = new RoleListModel();

            foreach (int RoleID in RmoveRoles)
            {
                Role role = Web.Admin.Logic.Collections.Roles.GetBy(RoleID);
                _model.Roles.Add(role);
            }

            return(Json(new
            {
                Html = this.RenderPartialView(@"_RemoveRoles", _model),
            }, JsonRequestBehavior.AllowGet));
        }
コード例 #10
0
        // GET: NavMenu
        public ActionResult Index()
        {
            var           model     = new MainNavModel();
            RoleListModel roleModel = new RoleListModel();

            if (Session[SessionKey.RoleModel] == null)
            {
                // No role model created yet. Redirect to the login page.
                return(RedirectToAction("Index", "Login"));
            }

            roleModel = Session[SessionKey.RoleModel] as RoleListModel;
            model.HasExceptionsRole = roleModel.HasExceptionsRole;

            return(View("Index", roleModel));
        }
コード例 #11
0
        // If the user has the Financeuser role, this will set all user session state
        // and return true.
        // If not, clear all session state and return false.
        public static bool VerifyUser(string UserName)
        {
            var session = HttpContext.Current.Session;

            UserName = UserName.ToUpper();
            session[SessionKey.UserName] = UserName;

            var           roleModel = new RoleListModel();
            var           loginMgr  = new LoginManager();
            var           mgr       = new RolesManager();
            List <String> roleList  = new List <String>();

            // Get Roles
            var roles = DataAccess.GetRole(UserName, "VITAP");

            foreach (DataRow row in roles.Rows)
            {
                roleList.Add(row["ROLE_NAME"].ToString());
            }
            roleModel = mgr.GetUserRoles(UserName, roleModel, roleList, "", "", "");

            // Top-level access check (finance role).
            if (!HasTopLevelAccess(roleModel))
            {
                ClearSessionState();
                return(false);
            }

            roleModel.USERNAME = UserName;
            session.Add(SessionKey.Roles, roleList);

            // Get Other Login Data
            var LoginData = loginMgr.GetLoginData(UserName).ToList().FirstOrDefault();

            if (LoginData != null)
            {
                session.Add(SessionKey.AssignSrv, LoginData.ASSIGN_SRV);
                roleModel.ASSIGN_SRV = LoginData.ASSIGN_SRV;
                session.Add(SessionKey.PrepCode, LoginData.PREPCODE);
                roleModel.PREPCODE = LoginData.PREPCODE;
                session.Add(SessionKey.Symbol, LoginData.SYMBOL);
                roleModel.SYMBOL = LoginData.SYMBOL;
            }
            session.Add(SessionKey.RoleModel, roleModel);

            return(true);
        }
コード例 #12
0
        public async Task <IActionResult> Edit(long id)
        {
            var role = await RoleSvc.GetByIdAsync(id);

            if (role == null)
            {
                return(NotFound());
            }
            var rolePers = await PerSvc.GetByRoleIdAsync(role.Id);

            var pers = await PerSvc.GetAllAsync <List <ListRolePermissionDTO> >();

            RoleListModel model = new RoleListModel();

            model.Role     = role;
            model.RolePers = rolePers;
            model.Pers     = pers;
            return(View(model));
        }
コード例 #13
0
        public async Task <RoleListModel> PrepareRoleListModel(RoleSearchModel searchModel)
        {
            if (searchModel == null)
            {
                throw new ArgumentNullException(nameof(searchModel));
            }

            var roles = _userService.GetRoles(true);

            var model = new RoleListModel
            {
                Data = roles.PaginationByRequestModel(searchModel).Select(role =>
                {
                    var roleModel = role.ToModel <RoleModel>();
                    return(roleModel);
                }),
                Total = roles.Count
            };

            // sort
            if (searchModel.Sort != null && searchModel.Sort.Any())
            {
                foreach (var s in searchModel.Sort)
                {
                    model.Data = await model.Data.Sort(s.Field, s.Dir);
                }
            }

            // filter
            if (searchModel.Filter != null && searchModel.Filter.Filters != null && searchModel.Filter.Filters.Any())
            {
                var filter = searchModel.Filter;
                model.Data = await model.Data.Filter(filter);

                model.Total = model.Data.Count();
            }

            return(model);
        }
コード例 #14
0
        public static RoleListModel Get(IDb db)
        {
            var model = new RoleListModel
            {
                Roles = db.Roles
                        .OrderBy(r => r.Name)
                        .Select(r => new ListItem
                {
                    Id             = r.Id,
                    Name           = r.Name,
                    NormalizedName = r.NormalizedName
                }).ToList()
            };

            foreach (var role in model.Roles)
            {
                role.UserCount = db.UserRoles
                                 .Count(r => r.RoleId == role.Id);
            }

            return(model);
        }
コード例 #15
0
ファイル: AdminController.cs プロジェクト: nanaz-f/Team4Zoo
        public ContentResult GetRoleList()
        {
            using (team4zooEntities DB = new team4zooEntities())
            {
                List <RoleListModel> rolelist = new List <RoleListModel>();

                //Get Role List
                var results = DB.Roles.ToList();

                //Convert all necessary data to List.
                foreach (Role role in results)
                {
                    RoleListModel roleVM = new RoleListModel();
                    //Assign Values

                    //Check if underscore
                    if (role.Job_Title.Contains('_'))
                    {
                        string tmpname = role.Job_Title.Replace("_", " ");
                        roleVM.Job_Title = tmpname;
                    }
                    else
                    {
                        roleVM.Job_Title = role.Job_Title;
                    }

                    //Assign Role ID
                    roleVM.Role_ID = role.Role_ID;


                    //Add to Chart Data
                    rolelist.Add(roleVM);
                }

                //Return serialised Json
                return(Content(JsonConvert.SerializeObject(rolelist), "application/json"));
            }
        }
コード例 #16
0
 public RoleListModel GetRoleList()
 {
     using (SQLDBDataContext context = new SQLDBDataContext())
     {
         RoleListModel result = new RoleListModel();
         result.ItemList = (from x in context.Roles
                            select new RoleModel()
         {
             RoleID = x.RoleID,
             RoleName = x.RoleName,
             Menus = (from menu in x.MenuAccess
                      orderby menu.MenuItem.OrderIndex
                      select new MenuItemModel()
             {
                 Link = menu.MenuItem.Link,
                 MenuCode = menu.MenuItem.MenuCode,
                 MenuText = menu.MenuItem.MenuText,
                 OrderIndex = menu.MenuItem.OrderIndex
             }).ToList(),
             AccessList = x.AccessList
         }).ToList();
         return(result);
     }
 }
コード例 #17
0
        public JsonResult List(DataSourceRequest command, RoleListModel model)
        {
            var dataModel = _roleService.GetAllRoles();

            return(Json(new { data = dataModel }));
        }
コード例 #18
0
        public ActionResult List()
        {
            var model = new RoleListModel();

            return(View(model));
        }
コード例 #19
0
 public IActionResult List()
 {
     return(View(RoleListModel.Get(_db)));
 }
コード例 #20
0
        public ActionResult ImportRoles()
        {
            System.Threading.Thread.Sleep(200);
            CultureInfo provider = CultureInfo.InvariantCulture;

            List <Role> RoleResult = new List <Role>();

            try
            {
                for (int i = 0; i < Request.Files.Count; i++)
                {
                    System.Threading.Thread.Sleep(1);

                    String             FileContent = "";
                    HttpPostedFileBase PostedFile  = Request.Files[i];

                    using (System.IO.Stream input = PostedFile.InputStream)
                    {
                        byte[] buffer = new byte[PostedFile.InputStream.Length];
                        input.Read(buffer, 0, buffer.Length);
                        FileContent = System.Text.ASCIIEncoding.UTF8.GetString(buffer);
                    }


                    if (FileContent.Length > 0)
                    {
                        string[] Lines = FileContent.Split(new string[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
                        AuditEvent.AppEventSuccess(Profile.Member.Email, String.Format(AuditEvent.RoleUploadHasStarted, Lines.Length));

                        int LineNumber = 1;
                        foreach (String Line in Lines)
                        {
                            if (LineNumber == 1 || Line == null || Line.Trim().Length == 0)
                            {
                                LineNumber++;
                                continue;
                            }

                            List <string> Values = new List <string>();
                            CsvParser     parser = new CsvParser(Line);

                            foreach (string s in parser)
                            {
                                Values.Add(s.Trim());
                            }

                            if (Values.Count >= 4)
                            {
                                Role Role = Web.Admin.Logic.Collections.Roles.GetBy(Values[0]);
                                if (Role.RoleID > 0)
                                {
                                    Role.UIMessage     = "Role already exists.";
                                    Role.UILineNumber  = LineNumber;
                                    Role.UIMessageType = Logic.UIMessageType.Warning;
                                    AuditEvent.AppEventWarning(Profile.Member.Email, String.Format(AuditEvent.RoleUploadMemberExists, Role.Name));
                                }
                                else
                                {
                                    Role.Name     = Values[0];
                                    Role.Settings = Values[1];

                                    if (Values[3].Trim().Length == 0)
                                    {
                                        Role.BackColor = "aaaaaa";
                                    }
                                    else
                                    {
                                        Role.BackColor = Values[2];
                                    }

                                    if (Values[3].Trim().Length == 0)
                                    {
                                        Role.ForeColor = "000000";
                                    }
                                    else
                                    {
                                        Role.ForeColor = Values[3];
                                    }

                                    if (BuiltInRoleMember.ContainsRole(Role.Name))
                                    {
                                        Role.IsBuiltIn = true;
                                    }
                                    else
                                    {
                                        Role.IsBuiltIn = false;
                                    }

                                    try
                                    {
                                        Role.Created = DateTime.ParseExact(Values[4], "dd.MM.yyyy HH:mm:ss", provider);
                                    }
                                    catch { }

                                    try
                                    {
                                        Role.Modified = DateTime.ParseExact(Values[5], "dd.MM.yyyy HH:mm:ss", provider);
                                    }
                                    catch {
                                    }

                                    Role.Save();

                                    Role.UIMessage     = "Role has been added.";
                                    Role.UIMessageType = Logic.UIMessageType.Success;
                                    Role.UILineNumber  = LineNumber;
                                    AuditEvent.AppEventSuccess(Profile.Member.Email, String.Format(AuditEvent.RoleUploadedItemAdded, Role.Name));
                                }

                                RoleResult.Add(Role);
                            }
                            else if (Values.Count > 0)
                            {
                                Role Role = new Role();

                                Role.UIMessage     = "Wrong line format. Number of columns: " + Values.Count.ToString();
                                Role.UIMessageType = Logic.UIMessageType.ErrorOrDanger;
                                Role.UILineNumber  = LineNumber;
                                AuditEvent.AppEventSuccess(Profile.Member.Email, String.Format(AuditEvent.RoleUploadWrongLineFormat, LineNumber, Values.Count));

                                RoleResult.Add(Role);
                            }

                            LineNumber++;
                        }
                    }
                }

                System.Threading.Thread.Sleep(1000);
                RoleListModel Model = new RoleListModel();
                Model.Roles = RoleResult;

                return(Json(new
                {
                    NotifyType = NotifyType.Dialog,
                    Html = this.RenderPartialView(@"_ImportRolesResult", Model)
                }, "text/html", JsonRequestBehavior.AllowGet));
            }
            catch (Exception ex)
            {
                RequestResultModel _model = new RequestResultModel();

                _model.Title         = "Warning";
                _model.Message       = String.Format("Something went wrong: {0}", HttpUtility.HtmlEncode(ex.Message));
                _model.InfoType      = RequestResultInfoType.ErrorOrDanger;
                _model.HideInSeconds = 0;
                _model.Height        = 250;

                AuditEvent.AppEventError(Profile.Member.Email, _model.Message, AuditEvent.GetSessionDetails(ex.StackTrace));

                return(Json(new
                {
                    NotifyType = NotifyType.DialogInline,
                    Html = this.RenderPartialView(@"_RequestResultDialog", _model)
                }, "text/html", JsonRequestBehavior.AllowGet));
            }
        }
コード例 #21
0
 public IActionResult AddRoleToRule(RoleListModel model)
 {
     _siteRulesDataService.AddRoleToRule((int)HttpContext.Session.GetInt32("RuleId"), model.RoleId);
     return(View("CloseCurrentView"));
 }
コード例 #22
0
 public static bool HasTopLevelAccess(RoleListModel roleModel)
 {
     return(roleModel.HasFinanceuserRole || roleModel.HasCustServiceRole);
 }
コード例 #23
0
        public async Task <ActionResult> Configure(string id)
        {
            ActionResult result = null;

            if (id.Equals("Users", System.StringComparison.CurrentCultureIgnoreCase))
            {
                var model = new UserListModel();

                (await Users.GetUsers()).ForEach(i =>
                {
                    model.Users.Add(new UserModel()
                    {
                        Enabled   = i.Enabled,
                        Name      = i.Name,
                        FirstName = i.FirstName,
                        LastName  = i.LastName,
                        Username  = i.Username,
                        Email     = i.Email,
                        Role      = i.Role,
                        Gravatar  = i.Gravatar,
                        Theme     = i.Theme
                    });
                });

                (await Roles.GetRoles()).ForEach(i =>
                {
                    model.Roles.Add(new RoleModel()
                    {
                        Name    = i.Name,
                        Builtin = i.Builtin
                    });
                });

                result = View("Users", model);
            }

            if (id.Equals("Roles", System.StringComparison.CurrentCultureIgnoreCase))
            {
                var model = new RoleListModel();

                (await Roles.GetRoles()).ForEach(i =>
                {
                    model.Roles.Add(new RoleModel()
                    {
                        Name    = i.Name,
                        Builtin = i.Builtin
                    });
                });

                result = View("Roles", model);
            }

            if (id.Equals("Pages", System.StringComparison.CurrentCultureIgnoreCase))
            {
                var model = new PageListModel();

                (await Pages.GetPages()).ForEach(i =>
                {
                    model.Pages.Add(new PageModel()
                    {
                        Group       = i.Group,
                        Name        = i.Name,
                        Url         = i.Url,
                        AbsoluteUrl = string.Format("{0}://{1}:{2}{3}", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, i.Url.Replace("/", "/?"))
                    });
                });

                result = View("Pages", model);
            }

            if (id.Equals("Groups", System.StringComparison.CurrentCultureIgnoreCase))
            {
                var model = new GroupListModel();

                (await Groups.GetGroups()).ForEach(i =>
                {
                    model.Groups.Add(new GroupModel()
                    {
                        Name    = i.Name,
                        Builtin = i.Builtin
                    });
                });

                result = View("Groups", model);
            }

            if (id.Equals("Authorization", System.StringComparison.CurrentCultureIgnoreCase))
            {
                var model = new PolicyListModel();

                (await Roles.GetRoles()).ForEach(i =>
                {
                    model.Roles.Add(new RoleModel()
                    {
                        Name    = i.Name,
                        Builtin = i.Builtin
                    });
                });

                (await Groups.GetGroups()).ForEach(i =>
                {
                    model.Groups.Add(new GroupModel()
                    {
                        Name    = i.Name,
                        Builtin = i.Builtin
                    });
                });

                (await Policies.GetPolicies()).ForEach(i =>
                {
                    model.Policies.Add(new PolicyModel()
                    {
                        Role   = i.Role,
                        Group  = i.Group,
                        Effect = i.Effect ? "ALLOW" : "DENY"
                    });
                });

                result = View("Authorization", model);
            }

            return(result);
        }
コード例 #24
0
 public IActionResult List()
 {
     return(View(RoleListModel.Get(_roleManager, _userManager)));
 }