Esempio n. 1
0
 public MvcMailMessage SignupMailMessage(SignupModel model)
 {
     ViewBag.Data = model;
     return Populate(x =>
     {
         x.From = new MailAddress("*****@*****.**");
         x.Subject = model.Username + " Just Signed Up";
         x.ViewName = "SignupMailMessage";
         //EmailsToArray(content.GetPropertyValue<string>("emailAddress")).ForEach(email => x.To.Add(email));
         x.To.Add(model.Email);
     });
 }
Esempio n. 2
0
        /// <summary>
        /// add new Member to DB without approval
        /// </summary>
        /// <param name="model"></param>
        /// <returns>true/false</returns>
        protected bool ValidateMember(SignupModel model)
        {
            try
            {
                var memberService = Services.MemberService;

                // create a GUID for the email validation
                string newUserGuid = Guid.NewGuid().ToString("N");

                // Member is the member type
                var newmember = memberService.CreateMember(model.Username.ToLower(), model.Email.ToLower(), model.Username, "MyMember");

                if (newmember == null)
                {
                    LogHelper.Info<UmbracoMembershipProviderBase>(string.Format("CreateMember for username {0}, email {1}, name {2} failed", model.Username.ToLower(), model.Email.ToLower(), model.Username));
                    return false;
                }
                newmember.SetValue("activationguid", newUserGuid);

                // Not yet allowed to log in!
                newmember.IsApproved = false;

                // Don't forget to save all these things
                memberService.Save(newmember);

                // save their password
                memberService.SavePassword(newmember, model.Password);

                // "regular" is the member group
                memberService.AssignRole(newmember.Id, "regular");

                // Link for email validattion
                string host = HttpContext.Request.Url.Authority;
                string validateUrl = "http://" + host + "/umbraco/surface/MemberSurface/MemberActivation?pageid=" + CurrentPage.Id +
                                     "&email=" + model.Email +
                                     "&guid=" + newUserGuid;
                Session["validateUrl"] = validateUrl;
                _eventPublisher.Publish(new Event<SignupModel> { Entity = model });

                return true;
            }

            catch (Exception)
            {
                LogHelper.Info<UmbracoMembershipProviderBase>(string.Format("CreateMember for username {0}, email {1}, name {2} failed", model.Username.ToLower(), model.Email.ToLower(), model.Username));
                return false;
            }
        }
Esempio n. 3
0
        public JsonResult SubmitSignupForm(SignupModel model)
        {
            if (!ModelState.IsValid)
                return Json(new { success = false, value = "Form did not passed validation" });

            if (Members.GetByUsername(model.Username.ToLower()) != null)
            {
                return Json(new { success = false, value = "usernotvalid", message = string.Format( "{0} is already in use",@model.Username.ToLower()) });
            }

            if (Members.GetByEmail(model.Email.ToLower()) != null)
            {
                return Json(new { success = false, value = "emailnotvalid", message = string.Format( "{0} is already in use",@model.Email.ToLower() )});
            }

            if (!ValidateMember(model))
            {
                //LogHelper.Info<UmbracoMembershipProviderBase>(string.Format("RegisterMember for username {0} failed", model.Username.ToLower()));
                return Json(new { success = false, value = "notcreated", message = "user did not passed validation" });
            }

            return Json(new { success = true, message = "We’ve received your request to create a new account. Soon you'll receve an email with instructions on how to activate your account" });
        }