Пример #1
0
        public ViewResult ChangePassword(UserEditSecurity userEdit)
        {
            var modelState = new ModelStateDictionary();
            var user       = this.CurrentUser();

            if (user == null)
            {
                return(View("EditAccountNoUser"));
            }
            if (!_userService.VerifyPassword(user, userEdit.OldPassword))
            {
                ViewBag.PasswordResult = Resources.OldPasswordIncorrect;
            }
            else if (!userEdit.NewPasswordsMatch())
            {
                ViewBag.PasswordResult = Resources.RetypePasswordMustMatch;
            }
            else if (!_userService.IsPasswordValid(userEdit.NewPassword, modelState))
            {
                ViewBag.PasswordResult = modelState["Password"];
            }
            else
            {
                _userService.SetPassword(user, userEdit.NewPassword, HttpContext.Request.UserHostAddress, user);
                ViewBag.PasswordResult = Resources.NewPasswordSaved;
            }
            return(View("Security"));
        }
Пример #2
0
        public ViewResult ChangePassword(UserEditSecurity userEdit)
        {
            string errorMessage;
            var    user = _userRetrievalShim.GetUser(HttpContext);

            if (user == null)
            {
                return(View("EditAccountNoUser"));
            }
            if (!_userService.VerifyPassword(user, userEdit.OldPassword))
            {
                ViewBag.PasswordResult = Resources.OldPasswordIncorrect;
            }
            else if (!userEdit.NewPasswordsMatch())
            {
                ViewBag.PasswordResult = Resources.RetypePasswordMustMatch;
            }
            else if (!_userService.IsPasswordValid(userEdit.NewPassword, out errorMessage))
            {
                ViewBag.PasswordResult = errorMessage;
            }
            else
            {
                _userService.SetPassword(user, userEdit.NewPassword, HttpContext.Connection.RemoteIpAddress.ToString(), user);
                ViewBag.PasswordResult = Resources.NewPasswordSaved;
            }
            return(View("Security", new UserEditSecurity {
                NewEmail = String.Empty, NewEmailRetype = String.Empty, IsNewUserApproved = _settingsManager.Current.IsNewUserApproved
            }));
        }
Пример #3
0
        public void EmailNoMatch()
        {
            var edit = new UserEditSecurity();

            edit.NewEmail       = "blah";
            edit.NewEmailRetype = "bloidsvosah";
            Assert.IsFalse(edit.NewEmailsMatch());
        }
Пример #4
0
        public void EmailMatch()
        {
            var edit = new UserEditSecurity();

            edit.NewEmail       = "blah";
            edit.NewEmailRetype = "blah";
            Assert.IsTrue(edit.NewEmailsMatch());
        }
Пример #5
0
        public void PasswordsNoMatch()
        {
            var edit = new UserEditSecurity();

            edit.NewPassword       = "******";
            edit.NewPasswordRetype = "blah";
            Assert.IsFalse(edit.NewPasswordsMatch());
        }
Пример #6
0
        public void PasswordsMatch()
        {
            var edit = new UserEditSecurity();

            edit.NewPassword       = "******";
            edit.NewPasswordRetype = "blah";
            Assert.IsTrue(edit.NewPasswordsMatch());
        }
        public void IsNewUserApprovedMapped()
        {
            var edit = new UserEditSecurity(new User {
                UserID = 1
            }, true);

            Assert.True(edit.IsNewUserApproved);
        }
Пример #8
0
        public ViewResult Security()
        {
            var user = _userRetrievalShim.GetUser(HttpContext);

            if (user == null)
            {
                return(View("EditAccountNoUser"));
            }
            var isNewUserApproved = _settingsManager.Current.IsNewUserApproved;
            var userEdit          = new UserEditSecurity(user, isNewUserApproved);

            return(View(userEdit));
        }
Пример #9
0
        public ViewResult Security()
        {
            var user = this.CurrentUser();

            if (user == null)
            {
                return(View("EditAccountNoUser"));
            }
            var isNewUserApproved = _settingsManager.Current.IsNewUserApproved;
            var userEdit          = new UserEditSecurity(user, isNewUserApproved);

            return(View(userEdit));
        }
Пример #10
0
        public async Task <ViewResult> ChangeEmail(UserEditSecurity userEdit)
        {
            var user = _userRetrievalShim.GetUser();

            if (user == null)
            {
                return(View("EditAccountNoUser"));
            }
            if (string.IsNullOrWhiteSpace(userEdit.NewEmail) || !userEdit.NewEmail.IsEmailAddress())
            {
                ViewBag.EmailResult = Resources.ValidEmailAddressRequired;
            }
            else if (userEdit.NewEmail != userEdit.NewEmailRetype)
            {
                ViewBag.EmailResult = Resources.EmailsMustMatch;
            }
            else if (await _userService.IsEmailInUseByDifferentUser(user, userEdit.NewEmail))
            {
                ViewBag.EmailResult = Resources.EmailInUse;
            }
            else
            {
                await _userService.ChangeEmail(user, userEdit.NewEmail, user, HttpContext.Connection.RemoteIpAddress.ToString());

                if (_settingsManager.Current.IsNewUserApproved)
                {
                    ViewBag.EmailResult = Resources.EmailChangeSuccess;
                }
                else
                {
                    ViewBag.EmailResult = Resources.VerificationEmailSent;
                    var verifyUrl = this.FullUrlHelper("Verify", "Account");
                    var result    = _newAccountMailer.Send(user, verifyUrl);
                    if (result != SmtpStatusCode.Ok)
                    {
                        ViewBag.EmailResult = Resources.EmailProblemAccount + result;
                    }
                }
            }
            return(View("Security", new UserEditSecurity {
                NewEmail = String.Empty, NewEmailRetype = String.Empty, IsNewUserApproved = _settingsManager.Current.IsNewUserApproved
            }));
        }
Пример #11
0
        public void IsNewUserApprovedMapped()
        {
            var edit = new UserEditSecurity(new User(1, DateTime.MaxValue), true);

            Assert.IsTrue(edit.IsNewUserApproved);
        }