Inheritance: Carrotware.CMS.UI.Components.FormModelBase
Example #1
0
        protected ChangePasswordInfo InitChangePasswordInfo(string partialName)
        {
            ChangePasswordInfo model = new ChangePasswordInfo();

            _settings = new ChangePasswordInfoSettings();

            if (_helper.ViewData[ChangePasswordInfo.Key] != null)
            {
                model = _helper.ViewData[ChangePasswordInfo.Key] as ChangePasswordInfo;
            }
            else
            {
                model = new ChangePasswordInfo();
            }

            _settings.Uri             = CarrotCakeHtml.CmsPage.ThePage.FileName;
            _settings.PostPartialName = partialName;

            model.Settings = _settings;

            return(model);
        }
		public async Task<ActionResult> ChangePassword(ChangePasswordInfo model) {
			model.ReconstructSettings();
			this.ViewData[ChangePasswordInfo.Key] = model;

			LoadPage(model.Settings.Uri);

			var settings = model.Settings;
			if (!SecurityData.IsAuthenticated) {
				ModelState.AddModelError("", "User is not authenticated");
			}

			if (settings.UseValidateHuman) {
				bool IsValidated = model.ValidateHuman.ValidateValue(model.ValidationValue);
				if (!IsValidated) {
					ModelState.AddModelError("ValidationValue", model.ValidateHuman.AltValidationFailText);
					model.ValidationValue = String.Empty;
				}
			}

			if (ModelState.IsValid && SecurityData.IsAuthenticated) {
				string successView = settings.PostPartialName;
				if (!String.IsNullOrEmpty(settings.PostPartialName)) {
					successView = settings.PostPartialSuccess;
				}

				var result = await securityHelper.UserManager.ChangePasswordAsync(User.Identity.GetUserId(), model.OldPassword, model.NewPassword);

				if (result.Succeeded) {
					var user = await securityHelper.UserManager.FindByIdAsync(User.Identity.GetUserId());
					if (user != null) {
						await securityHelper.SignInManager.SignInAsync(user, isPersistent: false, rememberBrowser: false);
					}

					return PartialView(successView, model);
				}

				AddErrors(result);
			}

			Helper.HandleErrorDict(ModelState);

			return PartialView(settings.PostPartialName, model);
		}
Example #3
0
        public HtmlHelper <ChangePasswordInfo> GetModelHelper(string partialName)
        {
            _model = InitChangePasswordInfo(partialName);

            return(InitHelp());
        }