Пример #1
0
        public ActionResult ResetUserPassword([Bind(Include = "NewPassword,ConfirmPassword," +
                                                              "UserName")] ResetPasswordModel rpm, bool reset)
        {
            if (ModelState.IsValid)
            {
                bool result = false;
                var  user   = Membership.GetUser(rpm.UserName);

                if (reset)
                {
                    result = UserRolesUtils.ResetForgotPassword(user, rpm.NewPassword);
                }
                else
                {
                    result = UserRolesUtils.ResetPassword(rpm.UserName, rpm.NewPassword);
                }

                _nlogger.LogInfo("ResetUserPassword Post - user: "******", new pasword: " + rpm.NewPassword);

                var    u   = new UrlHelper(this.Request.RequestContext);
                string url = "http://" + this.Request.Url.Host +
                             u.RouteUrl("Default", new { Controller = "Account", Action = "Logon" });

                Utility.SendPasswordResetMail(new string[] { user.Email }, null, rpm.NewPassword, reset, Server, url);

                return(Json(result));
            }
            else
            {
                return(null);
            }
        }
Пример #2
0
        public JsonResult ChangeUserRole(string newUserName, string curUserName, string role, string staffId, string siteId, string email, string empId)
        {
            var userName = "";

            if (newUserName.Length > 0)
            {
                userName = newUserName;
                //create new membership user
                MembershipCreateStatus createStatus;
                MembershipUser         user = Membership.CreateUser(userName, "halfpint", email, null, null, true, null, out createStatus);
                if (createStatus == MembershipCreateStatus.Success)
                {
                    if (!DbUtils.AddUserSite(userName, int.Parse(siteId)))
                    {
                        throw new Exception("There was an error adding the user and site to the database");
                    }

                    //this will tell us that user needs to reset
                    user.Comment = "Reset";
                    Membership.UpdateUser(user);
                }
            }
            else
            {
                userName = curUserName;
            }

            UserRolesUtils.ChangeUserRole(role, userName);

            //update staff info
            var dto = DbUtils.UpdateStaffInfoForRoleChange(staffId, email, empId, userName, role);

            return(Json(dto));
        }
Пример #3
0
        public ActionResult UnlockUser(string userName)
        {
            _nlogger.LogInfo("UnlockUser Post - user: " + userName);

            bool retVal = UserRolesUtils.UnlockUser(userName);

            return(Json(retVal));
        }
Пример #4
0
        public ActionResult ManageUserRoles(String[] selectedRoles, string userName)
        {
            UserRolesUtils.SaveAsignedRoles(selectedRoles, userName);
            MembershipUser user = Membership.GetUser(userName);

            _nlogger.LogInfo("ManageUserRoles Post - user: "******", role: " + selectedRoles[0]);

            var    u   = new UrlHelper(this.Request.RequestContext);
            string url = "http://" + this.Request.Url.Host + u.RouteUrl("Default", new { Controller = "Account", Action = "Logon" });

            Utility.SendRoleAssignedMail(new string[] { user.Email }, null, selectedRoles[0], Server, url);
            return(Json(true));
        }
Пример #5
0
        public ActionResult ManageUserRoles(string userName)
        {
            var model = new UserRolesModel {
                UserName = userName
            };

            if ((userName == "jrezuke") && User.Identity.Name != "jrezuke")
            {
                return(RedirectToAction("Index"));
            }
            if (userName.Length > 0)
            {
                model.UserRoles = UserRolesUtils.GetAssignedRoles(userName);
            }

            return(View(model));
        }
Пример #6
0
        public JsonResult ForgotPassword(string email)
        {
            string password = "";
            DTO    dto      = new DTO();

            if (email.Contains("password"))
            {
                dto.IsSuccessful = false;
                dto.Message      = "Could not find a user account for email: " + email;
                nlogger.LogInfo("ForgotPassword - host:" + Request.UrlReferrer.Host + ", message: " + dto.Message + ", password: "******"Could not find a user account for email: " + email;
            }
            else
            {
                //reset the password to randam passwor (forcing the user to reset)
                password         = DbUtils.GetRandomPassword();
                dto.IsSuccessful = UserRolesUtils.ResetForgotPassword(user, password);
                dto.Message      = "A temporary password word has been sent to your email address.";

                //email the password to the user
                var    u   = new UrlHelper(this.Request.RequestContext);
                string url = "http://" + this.Request.Url.Host + u.RouteUrl("Default", new { Controller = "Account", Action = "Logon" });

                Utility.SendPasswordResetMail(new string[] { user.Email }, null, password, true, Server, url);
            }
            string userName = "";

            if (user != null)
            {
                userName = user.UserName;
            }

            nlogger.LogInfo("ForgotPassword - user:"******", message: " + dto.Message + ", password: " + password);

            return(Json(dto));
        }
Пример #7
0
        public ActionResult ResetPassword(string userName, [Bind(Include = "NewPassword, UserName, ConfirmPassword")] ResetPasswordModel rpm)
        {
            if (ModelState.IsValid)
            {
                userName = Encoder.HtmlEncode(userName);

                bool result = UserRolesUtils.ResetPassword(userName, rpm.NewPassword);

                var user = Membership.GetUser(userName);

                var    u   = new UrlHelper(this.Request.RequestContext);
                string url = "http://" + this.Request.Url.Host +
                             u.RouteUrl("Default", new { Controller = "Account", Action = "Logon" });

                Utility.SendPasswordResetMail(new string[] { user.Email }, null, rpm.NewPassword, false, Server, url);

                nlogger.LogInfo("ResetPassword - user:" + userName);
                return(Json(result));
            }
            else
            {
                return(Json(null));
            }
        }
Пример #8
0
        public ActionResult UpdateStaffInformation([Bind(Exclude = "SiteID,OldRole,OldActive,SendEmail," +
                                                                   "UserName,OldUserName,OldEmail,OldEmployeeID," +
                                                                   "PostTestsCompleted,PostTestsCompletedHistory")] StaffEditModel model)
        {
            //validate model
            if (ModelState.IsValid)
            {
                MessageListDTO dto = DbUtils.UpdateStaffAdmin(model);
                if (dto.IsSuccessful)
                {
                }

                if (model.Email != model.OldEmail)
                {
                    DTO dtoEmail = null;
                    if (model.UserName != null)
                    {
                        dtoEmail = AccountUtils.UpdateUserEmail(model.Email, model.UserName);
                    }
                }
                if (model.Role != model.OldRole)
                {
                    if (model.UserName != null)
                    {
                        string[] newroles = { model.Role };
                        UserRolesUtils.SaveAsignedRoles(newroles, model.UserName);
                    }
                }
                if (model.OldActive != model.Active)
                {
                    if (model.UserName != null)
                    {
                        var mUser = Membership.GetUser(model.UserName);
                        if (mUser != null)
                        {
                            mUser.IsApproved = model.Active;
                            Membership.UpdateUser(mUser);
                        }
                    }
                }
                return(View("UpdateStaffConfirmationPartial", dto));
            }

            //ViewBag.Error = error;
            string role = "";

            if (HttpContext.User.IsInRole("Admin"))
            {
                role = "Admin";

                var sites = DbUtils.GetSitesActive();
                if (sites.Count == 0)
                {
                    throw new Exception("There was an error retreiving the sites list from the database");
                }
                sites.Insert(0, new Site {
                    ID = 0, Name = "Select a site", SiteID = ""
                });
                ViewBag.Sites = new SelectList(sites, "ID", "Name");
            }
            ViewBag.Role = role;

            int site = DbUtils.GetSiteidIdForUser(User.Identity.Name);

            ViewBag.Site = site;
            var retDto = DbPostTestsUtils.GetSiteEmployeeInfoForSite(site.ToString());

            ViewBag.EmpRequired = retDto.Stuff.EmpIDRequired;
            if (retDto.Stuff.EmpIDRequired == "true")
            {
                ViewBag.EmpRegex   = retDto.Stuff.EmpIDRegex;
                ViewBag.EmpMessage = retDto.Stuff.EmpIDMessage;
            }
            else
            {
                ViewBag.EmpRegex   = "";
                ViewBag.EmpMessage = "";
            }

            ViewBag.PhoneMessage = retDto.Stuff.PhoneMessage;
            ViewBag.PhoneFormat  = retDto.Stuff.PhoneFormat;

            var list = DbUtils.GetStaffLookupForSite(site.ToString());

            list.Insert(0, new Site {
                ID = 0, Name = "Select a member", SiteID = ""
            });
            ViewBag.Users   = new SelectList(list, "ID", "Name", model.ID.ToString());
            ViewBag.IsValid = "false";

            //need to get tests completed for model - this was not returned from the client
            var postTestsCompleted            = DbPostTestsUtils.GetTestsCompleted(model.ID.ToString());
            PostTestPersonTestsCompleted ptpc = new PostTestPersonTestsCompleted();

            ptpc.PostTestsCompleted  = postTestsCompleted;
            model.PostTestsCompleted = ptpc;

            var roles = Roles.GetAllRoles().ToList();

            ViewBag.Roles = new SelectList(roles, model.Role);

            return(View(model));
        }