Ejemplo n.º 1
0
        public ActionResult Forgot()
        {
            ForgotPassViewData forgot = new ForgotPassViewData();

            forgot.Succeed = false;
            return(View(forgot));
        }
Ejemplo n.º 2
0
        public ActionResult Forgot(string email)
        {
            ForgotPassViewData forgot = new ForgotPassViewData();

            email = email.Trim();
            if (!CovCakeMailer.IsValidEmail(email))
            {
                ModelState.AddModelError("email", "L'adresse email est incorecte.");
            }

            IUserProfile userProfile = Data.UserDataAccess.GetUser(email);

            if (userProfile == null)
            {
                ModelState.AddModelError("email", "Aucun utilisateur avec cette adresse n'a été trouvé.");
            }

            if (ModelState.IsValid)
            {
                string infoMsgTitle = "Mot de passe réinitialisé";
                string infoMsg      = string.Format("Un email a été envoyé à {0} avec un nouveau mot de passe.", email);
                //si pas encore activé envoi de activation
                //TODO: ajouter le user dans la table UserProfile des linscription et pas ke dans le membership

                /*
                 * if (!userProfile.GetMembershipUser().IsApproved && userProfile.ActivationKey.HasValue)
                 * {
                 *   this.CovCakeMailer.SendSignupMail(userProfile, userProfile.Email, "** votre mot de passe ***");
                 *   infoMsg = string.Format("L'email d'activation de compte viens d'être réenvoyé à {0}.", email);
                 * }
                 */
                string newPass = CovCakeServices.GenerateAlphaNumPass(int.Parse(CovCakeConfiguration.DefaultPasswordLenght));
                newPass = newPass.ToLower();
                MembershipUser membershipUser = userProfile.GetMembershipUser();
                membershipUser.ChangePassword(membershipUser.ResetPassword(), newPass);
                //   IUserProfile userProfile = Data.UserDataAccess.GetUser(email);
                this.CovCakeMailer.SendForgotPasswordMail(userProfile, email, newPass);
                forgot.Email   = email;
                forgot.Succeed = true;

                return(Info(infoMsgTitle, infoMsg)); //should redirect

                //return View(forgot);
            }
            else
            {
                // forgot.Succeed = false;
                return(View(forgot));
            }
        }