public ActionResult HandleSignUp(CombinedRegisterLoginModel model) { // Model validation if (!ModelState.IsValid) { return(this.CurrentUmbracoPage()); } var registerModel = Members.CreateRegistrationModel(model.Registration.MemberTypeName.DecryptWithMachineKey()); registerModel.Name = model.Registration.EmailAddress; registerModel.Email = model.Registration.EmailAddress; registerModel.Password = model.Registration.Password; registerModel.Username = model.Registration.EmailAddress; registerModel.CreatePersistentLoginCookie = model.Registration.PersistLogin; registerModel.UsernameIsEmail = true; if (registerModel.MemberProperties.Exists(x => x.Alias == "firstName")) { registerModel.MemberProperties.Find(x => x.Alias == "firstName").Value = model.Registration.FirstName; } if (registerModel.MemberProperties.Exists(x => x.Alias == "lastName")) { registerModel.MemberProperties.Find(x => x.Alias == "lastName").Value = model.Registration.LastName; } MembershipCreateStatus status; var membershipUser = Members.RegisterMember(registerModel, out status); switch (status) { case MembershipCreateStatus.InvalidPassword: ModelState.AddModelError(string.Empty, "Invalid password"); return(this.CurrentUmbracoPage()); case MembershipCreateStatus.DuplicateEmail: ModelState.AddModelError(string.Empty, "The email address " + model.Registration.EmailAddress + " is already associated with a customer."); return(this.CurrentUmbracoPage()); case MembershipCreateStatus.DuplicateUserName: ModelState.AddModelError(string.Empty, "The email address " + model.Registration.EmailAddress + " is already associated with a customer."); return(this.CurrentUmbracoPage()); default: // TODO should not need to do this but need to ask for a better event in Umbraco // but have to resave to fire off the memberservice event to populate the Merchello customer // correctly var member = Services.MemberService.GetByEmail(model.Registration.EmailAddress); if (member != null) { Services.MemberService.Save(member); Services.MemberService.AssignRole(member.Id, "MerchelloCustomers"); } break; } return(RedirectToUmbracoPage(model.AccountPageId)); }
public virtual ActionResult Register(NewMemberModel model) { if (!ModelState.IsValid) { return(CurrentUmbracoPage()); } var logData = new ExtendedLoggerData(); logData.AddCategory("Merchello"); logData.AddCategory("FastTrack"); var registerModel = Members.CreateRegistrationModel(model.MemberTypeAlias); registerModel.Name = model.Email; registerModel.Email = model.Email; registerModel.Password = model.Password; registerModel.Username = model.Email; registerModel.UsernameIsEmail = true; var fn = new UmbracoProperty { Alias = "firstName", Name = "First Name", Value = model.FirstName }; var ln = new UmbracoProperty { Alias = "lastName", Name = "Last Name", Value = model.LastName }; registerModel.MemberProperties.Add(fn); registerModel.MemberProperties.Add(ln); MembershipCreateStatus status; //// Add a message for the attempt MultiLogHelper.Info <CustomerMembershipController>("Registering a new member", logData); var member = Members.RegisterMember(registerModel, out status, model.PersistLogin); var registration = NewMemberModelFactory.Create(model, status); if (registration.ViewData.Success) { var membership = _memberService.GetByEmail(model.Email); if (member != null) { _memberService.AssignRole(membership.Id, "Customers"); _memberService.Save(membership); } return(model.SuccessRedirectUrl.IsNullOrWhiteSpace() ? Redirect("/") : Redirect(model.SuccessRedirectUrl)); } else { ViewData["MerchelloViewData"] = model.ViewData; return(CurrentUmbracoPage()); } }
public ActionResult Register(Models.RegisterModel model) { if (!ModelState.IsValid) { return(CurrentUmbracoPage()); } var registerModel = Members.CreateRegistrationModel("test"); registerModel.Email = model.Email; registerModel.Password = model.Password; registerModel.Name = model.Name; registerModel.UsernameIsEmail = true; registerModel.MemberProperties.Add(new Umbraco.Web.Models.UmbracoProperty() { Alias = "interestedIn", Name = "interestedIn", Value = model.InterestedIn }); // How we register the member Members.RegisterMember(registerModel, out System.Web.Security.MembershipCreateStatus status); if (status == System.Web.Security.MembershipCreateStatus.Success) { return(Redirect("/myAccount")); } else { TempData["error"] = status; return(CurrentUmbracoPage()); } }
public ActionResult Register(RegistrationFormViewModel vm) { if (!ModelState.IsValid) { return(CurrentUmbracoPage()); } var member = Members.CreateRegistrationModel(); member.Name = vm.Name; member.Email = vm.Email; member.Password = vm.Password; member.UsernameIsEmail = true; MembershipCreateStatus status; Members.RegisterMember(member, out status); if (!status.Equals(MembershipCreateStatus.Success)) { return(CurrentUmbracoPage()); } var email = new EmailDetail { To = new List <string> { member.Email }, Subject = "Registraion confirmation", IsBodyHtml = false }; _mailer.Send(email); return(RedirectToCurrentUmbracoPage()); }
private System.Web.Security.MembershipCreateStatus AddCustomerToUmbraco(CustomerSignupViewModel profileModel) { var model = Members.CreateRegistrationModel("Customer"); model.Password = profileModel.Password; model.Name = profileModel.Username; model.Username = profileModel.Username; model.Email = profileModel.Email; var status = System.Web.Security.MembershipCreateStatus.ProviderError; Members.RegisterMember(model, out status, false); return(status); }
public IHttpActionResult AddUser([FromBody] NewUser model) { if (!ModelState.IsValid) { return(NotValid()); } var registerModel = Members.CreateRegistrationModel("customer"); registerModel.Name = $"{model.FirstName} {model.LastName}".Trim(); registerModel.Email = model.Email; registerModel.Password = model.Password; registerModel.Username = model.Email; registerModel.UsernameIsEmail = true; var fn = new UmbracoProperty { Alias = "firstName", Name = "First Name", Value = model.FirstName.Trim() }; var ln = new UmbracoProperty { Alias = "lastName", Name = "Last Name", Value = model.LastName.Trim() }; registerModel.MemberProperties.Add(fn); registerModel.MemberProperties.Add(ln); Members.RegisterMember(registerModel, out MembershipCreateStatus status, true); switch (status) { case MembershipCreateStatus.DuplicateUserName: case MembershipCreateStatus.DuplicateEmail: return(BadRequest("Пользователь с таким email-адресом уже зарегистрирован.")); case MembershipCreateStatus.InvalidPassword: return(BadRequest("Пароль слишком простой.")); case MembershipCreateStatus.Success: var membership = ApplicationContext.Services.MemberService.GetByEmail(model.Email); ApplicationContext.Services.MemberService.AssignRole(membership.Id, "Customers"); ApplicationContext.Services.MemberService.Save(membership); return(Created(string.Empty, new { id = membership.Id, name = membership.GetValue <string>("firstName") })); default: return(BadRequest("Произошла ошибка. Попробуйте снова")); } }
public ActionResult RegisterMember(MembershipCMSModel model) { if (!ModelState.IsValid) { return(CurrentUmbracoPage()); } if (model != null) { MembershipCreateStatus result; RegisterModel newModel = Members.CreateRegistrationModel(); //Save the record //By default alias will be 'Member' newModel.Username = model.UserName; newModel.UsernameIsEmail = false; newModel.Name = model.UserName; newModel.Password = model.Password; newModel.Email = model.UserEmail; Members.RegisterMember(newModel, out result); var memberGroup = Services.MemberGroupService.GetByName(model.GROUP_ALIAS); var member = Services.MemberService.GetByUsername(newModel.Username); member.SetValue(model.TYPE_PROPERTY_NAME, 360); /*member.SetValue("", model.ContactNo); * member.SetValue("", model.countryValue); * member.SetValue("", model.cityValue);*/ Services.MemberService.Save(member); TempData["RegisterResult"] = result.ToString(); //if (result == MembershipCreateStatus.Success) // return RedirectToCurrentUmbracoPage(); } else { TempData["RegisterResult"] = "Registration failed."; //Error should be logged properly } return(RedirectToCurrentUmbracoPage()); }
public virtual ActionResult Register(RegisterModel model) { if (!ModelState.IsValid) { return(CurrentUmbracoPage()); } var registerModel = Members.CreateRegistrationModel(model.MemberTypeAlias); registerModel.Name = model.Email; registerModel.Email = model.Email; registerModel.Password = model.Password; registerModel.Username = model.Email; registerModel.UsernameIsEmail = true; var fn = new UmbracoProperty { Alias = "firstName", Name = "First Name", Value = model.FirstName }; var ln = new UmbracoProperty { Alias = "lastName", Name = "Last Name", Value = model.LastName }; var pin = new UmbracoProperty { Alias = "pin", Name = "PIN", Value = model.Pin }; registerModel.MemberProperties.Add(fn); registerModel.MemberProperties.Add(ln); registerModel.MemberProperties.Add(pin); MembershipCreateStatus status; var member = Members.RegisterMember(registerModel, out status, model.LogMemberIn); model = ValidateMembershipCreation(model, status); if (model.ViewData.Success) { var membership = _memberService.GetByEmail(model.Email); if (member != null) { // Pages are protected at the Role Level (Member Groups). _memberService.AssignRole(membership.Id, "Customers"); _memberService.Save(membership); // Log them in Members.Login(registerModel.Username, registerModel.Password); } var redirectUrl = model.SuccessRedirectUrl.IsNullOrWhiteSpace() ? Redirect("~/") : Redirect(model.SuccessRedirectUrl); return(redirectUrl); } // Fail. TempData["RegisterModel"] = model.ViewData; return(CurrentUmbracoPage()); }
public override void Execute() { #line 8 "..\..\Views\CreateMember.cshtml" Html.EnableClientValidation(); Html.EnableUnobtrusiveJavaScript(); Html.RequiresJs("~/scripts/jquery.validate.min.js"); Html.RequiresJs("~/scripts/jquery.validate.unobtrusive.min.js"); var createMemberModel = Members.CreateRegistrationModel(); #line default #line hidden WriteLiteral("\r\n<div"); WriteLiteral(" class=\"container-xl\""); WriteLiteral(">\r\n <h1>"); #line 17 "..\..\Views\CreateMember.cshtml" Write(Model.Name); #line default #line hidden WriteLiteral("</h1>\r\n\r\n"); #line 19 "..\..\Views\CreateMember.cshtml" #line default #line hidden #line 19 "..\..\Views\CreateMember.cshtml" if (User.Identity.IsAuthenticated) { #line default #line hidden #line 21 "..\..\Views\CreateMember.cshtml" Write(Html.Partial("_Logout")); #line default #line hidden #line 21 "..\..\Views\CreateMember.cshtml" } else { if (TempData["FormSuccess"] != null) { #line default #line hidden #line 27 "..\..\Views\CreateMember.cshtml" Write(Html.ProtectEmailAddresses(Model.Value("memberCreatedSuccessfully").ToString(), TempData["Email"]?.ToString())); #line default #line hidden #line 27 "..\..\Views\CreateMember.cshtml" } else { using (Html.BeginUmbracoForm <CreateMemberSurfaceController>("CreateMember")) { #line default #line hidden #line 33 "..\..\Views\CreateMember.cshtml" Write(Html.AntiForgeryToken()); #line default #line hidden #line 33 "..\..\Views\CreateMember.cshtml" if (ViewContext.ViewData.ModelState.Where(x => x.Key == string.Empty).Any()) { #line default #line hidden #line 37 "..\..\Views\CreateMember.cshtml" Write(Html.ValidationSummary(true)); #line default #line hidden #line 37 "..\..\Views\CreateMember.cshtml" } #line default #line hidden WriteLiteral(" <div"); WriteLiteral(" class=\"form-group\""); WriteLiteral(">\r\n"); WriteLiteral(" "); #line 41 "..\..\Views\CreateMember.cshtml" Write(Html.LabelFor(m => createMemberModel.Name)); #line default #line hidden WriteLiteral("\r\n"); WriteLiteral(" "); #line 42 "..\..\Views\CreateMember.cshtml" Write(Html.TextBoxFor(m => createMemberModel.Name, new { @class = "form-control", required = "required", aria_describedby = "form-name", autocomplete = "name" })); #line default #line hidden WriteLiteral("\r\n"); WriteLiteral(" "); #line 43 "..\..\Views\CreateMember.cshtml" Write(Html.ValidationMessageFor(m => createMemberModel.Name, null, new { id = "form-name" })); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); WriteLiteral(" <div"); WriteLiteral(" class=\"form-group\""); WriteLiteral(">\r\n"); WriteLiteral(" "); #line 46 "..\..\Views\CreateMember.cshtml" Write(Html.LabelFor(m => createMemberModel.Email)); #line default #line hidden WriteLiteral("\r\n"); WriteLiteral(" "); #line 47 "..\..\Views\CreateMember.cshtml" Write(Html.TextBoxFor(m => createMemberModel.Email, new { @class = "form-control", type = "email", required = "required", aria_describedby = "form-email", autocorrect = "off", autocapitalize = "off", autocomplete = "email" })); #line default #line hidden WriteLiteral("\r\n"); WriteLiteral(" "); #line 48 "..\..\Views\CreateMember.cshtml" Write(Html.ValidationMessageFor(m => createMemberModel.Email, "Please enter a valid email address", new { id = "form-email" })); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); WriteLiteral(" <div"); WriteLiteral(" class=\"form-group\""); WriteLiteral(">\r\n"); WriteLiteral(" "); #line 51 "..\..\Views\CreateMember.cshtml" Write(Html.LabelFor(m => createMemberModel.Password)); #line default #line hidden WriteLiteral("\r\n"); #line 52 "..\..\Views\CreateMember.cshtml" #line default #line hidden #line 52 "..\..\Views\CreateMember.cshtml" var describedBy = "form-password"; #line default #line hidden WriteLiteral("\r\n"); #line 53 "..\..\Views\CreateMember.cshtml" #line default #line hidden #line 53 "..\..\Views\CreateMember.cshtml" if (!string.IsNullOrEmpty(Model.PasswordHelp)) { describedBy = "form-password form-password-help"; #line default #line hidden WriteLiteral(" <p"); WriteLiteral(" class=\"form-text\""); WriteLiteral(" id=\"form-password-help\""); WriteLiteral("><small>"); #line 56 "..\..\Views\CreateMember.cshtml" Write(Model.PasswordHelp); #line default #line hidden WriteLiteral("</small></p>\r\n"); #line 57 "..\..\Views\CreateMember.cshtml" } #line default #line hidden WriteLiteral(" "); #line 58 "..\..\Views\CreateMember.cshtml" Write(Html.PasswordFor(m => createMemberModel.Password, new { @class = "form-control", aria_describedby = describedBy, autocorrect = "off", autocapitalize = "off", autocomplete = "new-password" })); #line default #line hidden WriteLiteral("\r\n"); WriteLiteral(" "); #line 59 "..\..\Views\CreateMember.cshtml" Write(Html.ValidationMessageFor(m => createMemberModel.Password, "Please create a new password", new { id = "form-password" })); #line default #line hidden WriteLiteral("\r\n </div>\r\n"); #line 61 "..\..\Views\CreateMember.cshtml" #line default #line hidden #line 61 "..\..\Views\CreateMember.cshtml" Write(Html.ProtectEmailAddresses(Model.Value("privacyNotice").ToString())); #line default #line hidden #line 61 "..\..\Views\CreateMember.cshtml" #line default #line hidden WriteLiteral(" <button"); WriteLiteral(" class=\"btn btn-primary\""); WriteLiteral(">"); #line 63 "..\..\Views\CreateMember.cshtml" Write(Model.Value("createMemberButton")); #line default #line hidden WriteLiteral("</button>\r\n"); #line 64 "..\..\Views\CreateMember.cshtml" } } } #line default #line hidden WriteLiteral("</div>"); }
public ActionResult HandleRegisterMember([Bind(Prefix = "registerModel")] RegisterModel model) { if (!ModelState.IsValid) { return(CurrentUmbracoPage()); } var firstName = model.MemberProperties.Find(x => x.Alias == "firstName").Value; var lastName = model.MemberProperties.Find(x => x.Alias == "lastName").Value; model.Name = $"{firstName} {lastName}"; MembershipCreateStatus status; var rm = Members.CreateRegistrationModel("MyUmbracoMember"); rm.MemberProperties = model.MemberProperties; Members.RegisterMember(model, out status, model.LoginOnSuccess); switch (status) { case MembershipCreateStatus.Success: this.TempData["FormSuccess"] = (object)true; if (!model.RedirectUrl.IsNullOrWhiteSpace()) { return((ActionResult)this.Redirect(model.RedirectUrl)); } return((ActionResult)this.RedirectToCurrentUmbracoPage()); case MembershipCreateStatus.InvalidUserName: this.ModelState.AddModelError(model.UsernameIsEmail || model.Username == null ? "registerModel.Email" : "registerModel.Username", "Username is not valid"); break; case MembershipCreateStatus.InvalidPassword: this.ModelState.AddModelError("registerModel.Password", "The password is not strong enough"); break; case MembershipCreateStatus.InvalidQuestion: case MembershipCreateStatus.InvalidAnswer: throw new NotImplementedException(status.ToString()); case MembershipCreateStatus.InvalidEmail: this.ModelState.AddModelError("registerModel.Email", "Email is invalid"); break; case MembershipCreateStatus.DuplicateUserName: this.ModelState.AddModelError(model.UsernameIsEmail || model.Username == null ? "registerModel.Email" : "registerModel.Username", Umbraco.GetDictionaryValue("Validation.Email.InUse")); break; case MembershipCreateStatus.DuplicateEmail: this.ModelState.AddModelError("registerModel.Email", Umbraco.GetDictionaryValue("Validation.Email.InUse")); break; case MembershipCreateStatus.UserRejected: case MembershipCreateStatus.InvalidProviderUserKey: case MembershipCreateStatus.DuplicateProviderUserKey: case MembershipCreateStatus.ProviderError: this.ModelState.AddModelError("registerModel", "An error occurred creating the member: " + (object)status); break; default: throw new ArgumentOutOfRangeException(); } return((ActionResult)this.CurrentUmbracoPage()); }
protected ActionResult InitiateSecurityUpgradeForIwsUser(string model, string username) { var hriUser = MakeInternalApiCallJson("GetRegisteredUserByUsername", new Dictionary <string, string> { { "userName", username } }); // Check if the user exists in IWS database if (hriUser == null || hriUser["RegId"] == null) { return(null); } // Before attempt to create a user need to check the email and login uniqueness var existedUserWithEmail = Services.MemberService.GetByEmail(hriUser["EMail"].ToString()); if (existedUserWithEmail != null) { ModelState.AddModelError( model, "We cannot log you in with this user name. The email address of the user name you entered is associated with another user name. Please enter a valid user name and try again or contact Member Services for assistance."); return(CurrentUmbracoPage()); } // Create the registration model var registerModel = Members.CreateRegistrationModel(); // Member Name registerModel.Name = hriUser["FirstName"] + " " + hriUser["LastName"]; // Member Id registerModel.MemberProperties.First(p => p.Alias == "memberId").Value = hriUser["RegId"].ToString(); // User Name registerModel.Username = hriUser["UserName"].ToString(); // First Name registerModel.MemberProperties.First(p => p.Alias == "firstName").Value = hriUser["FirstName"].ToString(); // Last Name registerModel.MemberProperties.First(p => p.Alias == "lastName").Value = hriUser["LastName"].ToString(); // SSN if ((string)hriUser["Ssn"] != null) { registerModel.MemberProperties.First(p => p.Alias == "ssn").Value = hriUser["Ssn"].ToString(); } // SSN if ((string)hriUser["EbixId"] != null) { registerModel.MemberProperties.First(p => p.Alias == "ebixId").Value = hriUser["ebixID"].ToString(); } // Email if ((string)hriUser["EMail"] != null) { registerModel.Email = hriUser["EMail"].ToString(); } // Zip Code if ((string)hriUser["ZipCode"] != null) { registerModel.MemberProperties.First(p => p.Alias == "zipCode").Value = hriUser["ZipCode"].ToString(); } // Phone Number if ((string)hriUser["PhoneNumber"] != null) { registerModel.MemberProperties.First(p => p.Alias == "phoneNumber").Value = hriUser["PhoneNumber"].ToString(); } // Y Number if ((string)hriUser["MemberId"] != null) { registerModel.MemberProperties.First(p => p.Alias == "yNumber").Value = hriUser["MemberId"].ToString(); } // Group Id if ((string)hriUser["RxGrpId"] != null) { registerModel.MemberProperties.First(p => p.Alias == "groupId").Value = hriUser["RxGrpId"].ToString(); } // Birthday if ((string)hriUser["DOB"] != null) { registerModel.MemberProperties.First(p => p.Alias == "birthday").Value = hriUser["DOB"].ToString(); } // Plan Id if ((string)hriUser["PlanId"] != null) { registerModel.MemberProperties.First(p => p.Alias == "healthplanid").Value = hriUser["PlanId"].ToString(); } // Plan Name if ((string)hriUser["PlanName"] != null) { registerModel.MemberProperties.First(p => p.Alias == "healthPlanName").Value = hriUser["PlanName"].ToString(); } // Morneau Shepell First Name if ((string)hriUser["MSFirstName"] != null) { registerModel.MemberProperties.First(p => p.Alias == "msFirstName").Value = hriUser["MSFirstName"].ToString(); } // Morneau Shepell Last Name if ((string)hriUser["MSLastName"] != null) { registerModel.MemberProperties.First(p => p.Alias == "msLastName").Value = hriUser["MSLastName"].ToString(); } registerModel.MemberProperties.First(p => p.Alias == "market").Value = hriUser["Market"].ToString(); registerModel.MemberProperties.First(p => p.Alias == "effectiveYear").Value = hriUser["PlanEffectiveDate"].ToString(); registerModel.Password = Membership.GeneratePassword(12, 4); registerModel.LoginOnSuccess = false; registerModel.UsernameIsEmail = false; // Register the user with automatically MembershipCreateStatus status; Members.RegisterMember(registerModel, out status, registerModel.LoginOnSuccess); if ((string)hriUser["DOB"] != null) { logger.Info("Adding role for '" + username + "'"); logger.Info(hriUser); Roles.AddUserToRole(username, "Enrolled"); } // Force sign out (hack for Umbraco bug that automatically logs user in on registration Session.Clear(); FormsAuthentication.SignOut(); return(SendResetPasswordEmailAndRedirectToSecurityUpgradePage(username)); }
public ActionResult Register(RegisterViewModel model) { if (!ModelState.IsValid) { return(CurrentUmbracoPage()); } var home = CurrentPage.Site(); var registrationModel = Members.CreateRegistrationModel(); registrationModel.Name = string.Format("{0} {1}", model.FirstName, model.Surname); registrationModel.Email = model.Email; registrationModel.Username = model.Username; registrationModel.UsernameIsEmail = false; registrationModel.Password = model.Password; registrationModel.LoginOnSuccess = false; registrationModel.MemberProperties = new List <UmbracoProperty> { new UmbracoProperty { Alias = "firstName", Value = model.FirstName }, new UmbracoProperty { Alias = "surname", Value = model.Surname } }; MembershipCreateStatus status; var member = Members.RegisterMember( registrationModel, out status, registrationModel.LoginOnSuccess); switch (status) { case MembershipCreateStatus.Success: SendConfirmationEmail(member.Email); Alert("success", "Registration successful - please confirm your email address to sign in."); return(RedirectToCurrentUmbracoPage()); case MembershipCreateStatus.InvalidUserName: ModelState.AddModelError("Username", "Invalid username."); break; case MembershipCreateStatus.InvalidPassword: ModelState.AddModelError("Password", "Invalid password."); break; case MembershipCreateStatus.InvalidQuestion: case MembershipCreateStatus.InvalidAnswer: throw new NotImplementedException(status.ToString()); case MembershipCreateStatus.InvalidEmail: ModelState.AddModelError("Username", "Invalid email."); break; case MembershipCreateStatus.DuplicateUserName: ModelState.AddModelError("Username", "A member with this username already exists."); break; case MembershipCreateStatus.DuplicateEmail: ModelState.AddModelError("Email", "A member with this email already exists."); break; case MembershipCreateStatus.UserRejected: case MembershipCreateStatus.InvalidProviderUserKey: case MembershipCreateStatus.DuplicateProviderUserKey: case MembershipCreateStatus.ProviderError: Alert("danger", string.Format("An error occurred: {0}", status)); break; default: throw new ArgumentOutOfRangeException(); } return(CurrentUmbracoPage()); }