def register(request): if waffle.switch_is_active('fxa-auth'): return login(request) if request.user.is_authenticated(): messages.info(request, _('You are already logged in to an account.')) form = None elif request.method == 'POST': form = forms.UserRegisterForm(request.POST) mkt_user = UserProfile.objects.filter(email=form.data['email'], password='') if form.is_valid(): try: u = form.save(commit=False) u.set_password(form.cleaned_data['password']) u.generate_confirmationcode() u.lang = request.LANG u.save() log.info(u'Registered new account for user (%s)', u) log_cef('New Account', 5, request, username=u.username, signature='AUTHNOTICE', msg='User created a new account') u.email_confirmation_code() msg = _('Congratulations! Your user account was ' 'successfully created.') messages.success(request, msg) msg = _(u'An email has been sent to your address {0} to ' 'confirm your account. Before you can log in, you ' 'have to activate your account by clicking on the ' 'link provided in this email.').format(u.email) messages.info(request, _('Confirmation Email Sent'), msg) except IntegrityError, e: # I was unable to reproduce this, but I suspect it happens # when they POST twice quickly and the slaves don't have the # new info yet (total guess). Anyway, I'm assuming the # first one worked properly, so this is still a success # case to the end user so we just log it... log.error('Failed to register new user (%s): %s' % (u, e)) return http.HttpResponseRedirect(reverse('users.login')) elif mkt_user.exists(): f = PasswordResetForm() f.users_cache = [mkt_user[0]] f.save(use_https=request.is_secure(), email_template_name='users/email/pwreset.ltxt', request=request) return render(request, 'users/newpw_sent.html', {}) else: messages.error(request, _('There are errors in this form'), _('Please correct them and resubmit.'))
def password_reset(request, user, creation=False): form = PasswordResetForm() form.users_cache = [user] if creation: email_template_name='registration/create_user_password_reset_email.html' else: email_template_name='registration/password_reset_email.html' if not user.last_login: from datetime import datetime user.last_login = datetime.now() user.put() form.save(domain_override=request.get_host(), email_template_name=email_template_name)
def register(request): if settings.APP_PREVIEW and waffle.switch_is_active("browserid-login"): messages.error(request, loc("Registrations must be through browserid.")) form = None raise http.Http404() elif request.user.is_authenticated(): messages.info(request, _("You are already logged in to an account.")) form = None elif request.method == "POST": form = forms.UserRegisterForm(request.POST) mkt_user = UserProfile.objects.filter(email=form.data["email"], password="") if form.is_valid(): try: u = form.save(commit=False) u.set_password(form.cleaned_data["password"]) u.generate_confirmationcode() u.save() u.create_django_user() log.info(u"Registered new account for user (%s)", u) log_cef( "New Account", 5, request, username=u.username, signature="AUTHNOTICE", msg="User created a new account", ) u.email_confirmation_code() msg = _("Congratulations! Your user account was " "successfully created.") messages.success(request, msg) msg = _( u"An email has been sent to your address {0} to " "confirm your account. Before you can log in, you " "have to activate your account by clicking on the " "link provided in this email." ).format(u.email) messages.info(request, _("Confirmation Email Sent"), msg) except IntegrityError, e: # I was unable to reproduce this, but I suspect it happens # when they POST twice quickly and the slaves don't have the # new info yet (total guess). Anyway, I'm assuming the # first one worked properly, so this is still a success # case to the end user so we just log it... log.error("Failed to register new user (%s): %s" % (u, e)) return http.HttpResponseRedirect(reverse("users.login")) elif mkt_user.exists(): # Handle BrowserID if mkt_user.count() == 1 and mkt_user[0].source in amo.LOGIN_SOURCE_BROWSERIDS: messages.info(request, _("You already have an account.")) form = None else: f = PasswordResetForm() f.users_cache = [mkt_user[0]] f.save(use_https=request.is_secure(), email_template_name="users/email/pwreset.ltxt", request=request) return jingo.render(request, "users/newpw_sent.html", {}) else: messages.error(request, _("There are errors in this form"), _("Please correct them and resubmit."))
def register(request): if settings.APP_PREVIEW and waffle.switch_is_active('browserid-login'): messages.error(request, loc('Registrations must be through browserid.')) form = None elif (settings.REGISTER_USER_LIMIT and UserProfile.objects.count() > settings.REGISTER_USER_LIMIT and not can_override_reg_limit(request)): _m = loc('Sorry, no more registrations are allowed. ' '<a href="https://developer.mozilla.org/en-US/apps">' 'Learn more</a>') messages.error(request, _m, title_safe=True, message_safe=True) form = None elif request.user.is_authenticated(): messages.info(request, _('You are already logged in to an account.')) form = None elif request.method == 'POST': form = forms.UserRegisterForm(request.POST) mkt_user = UserProfile.objects.filter(email=form.data['email'], password='') if form.is_valid(): try: u = form.save(commit=False) u.set_password(form.cleaned_data['password']) u.generate_confirmationcode() u.save() u.create_django_user() log.info(u'Registered new account for user (%s)', u) log_cef('New Account', 5, request, username=u.username, signature='AUTHNOTICE', msg='User created a new account') u.email_confirmation_code() msg = _('Congratulations! Your user account was ' 'successfully created.') messages.success(request, msg) msg = _(u'An email has been sent to your address {0} to ' 'confirm your account. Before you can log in, you ' 'have to activate your account by clicking on the ' 'link provided in this email.').format(u.email) messages.info(request, _('Confirmation Email Sent'), msg) except IntegrityError, e: # I was unable to reproduce this, but I suspect it happens # when they POST twice quickly and the slaves don't have the # new info yet (total guess). Anyway, I'm assuming the # first one worked properly, so this is still a success # case to the end user so we just log it... log.error('Failed to register new user (%s): %s' % (u, e)) return http.HttpResponseRedirect(reverse('users.login')) elif mkt_user.exists(): # Handle BrowserID if (mkt_user.count() == 1 and mkt_user[0].source in amo.LOGIN_SOURCE_BROWSERIDS): messages.info(request, _('You already have an account.')) form = None else: f = PasswordResetForm() f.users_cache = [mkt_user[0]] f.save(use_https=request.is_secure(), email_template_name='users/email/pwreset.ltxt', request=request) return jingo.render(request, 'users/newpw_sent.html', {}) else: messages.error(request, _('There are errors in this form'), _('Please correct them and resubmit.'))
def register(request): if settings.APP_PREVIEW and waffle.switch_is_active('browserid-login'): messages.error(request, loc('Registrations must be through browserid.')) form = None elif (settings.REGISTER_USER_LIMIT and UserProfile.objects.count() > settings.REGISTER_USER_LIMIT and not can_override_reg_limit(request)): _m = loc('Sorry, no more registrations are allowed. ' '<a href="https://developer.mozilla.org/en-US/apps">' 'Learn more</a>') messages.error(request, _m, title_safe=True, message_safe=True) form = None elif request.user.is_authenticated(): messages.info(request, _('You are already logged in to an account.')) form = None elif request.method == 'POST': form = forms.UserRegisterForm(request.POST) mkt_user = UserProfile.objects.filter(email=form.data['email'], password='') if form.is_valid(): try: u = form.save(commit=False) u.set_password(form.cleaned_data['password']) u.generate_confirmationcode() u.save() u.create_django_user() log.info(u'Registered new account for user (%s)', u) log_cef('New Account', 5, request, username=u.username, signature='AUTHNOTICE', msg='User created a new account') u.email_confirmation_code() msg = _('Congratulations! Your user account was ' 'successfully created.') messages.success(request, msg) msg = _(u'An email has been sent to your address {0} to ' 'confirm your account. Before you can log in, you ' 'have to activate your account by clicking on the ' 'link provided in this email.').format(u.email) messages.info(request, _('Confirmation Email Sent'), msg) except IntegrityError, e: # I was unable to reproduce this, but I suspect it happens # when they POST twice quickly and the slaves don't have the # new info yet (total guess). Anyway, I'm assuming the # first one worked properly, so this is still a success # case to the end user so we just log it... log.error('Failed to register new user (%s): %s' % (u, e)) return http.HttpResponseRedirect(reverse('users.login')) elif mkt_user.exists(): # Handle BrowserID if (mkt_user.count() == 1 and mkt_user[0].source == amo.LOGIN_SOURCE_BROWSERID): messages.info(request, _('You already have an account.')) form = None else: f = PasswordResetForm() f.users_cache = [mkt_user[0]] f.save(use_https=request.is_secure(), email_template_name='users/email/pwreset.ltxt', request=request) return jingo.render(request, 'users/newpw_sent.html', {}) else: messages.error(request, _('There are errors in this form'), _('Please correct them and resubmit.'))
def register(request): if settings.APP_PREVIEW and waffle.switch_is_active("browserid-login"): messages.error(request, loc("Registrations must be through browserid.")) form = None elif ( settings.REGISTER_USER_LIMIT and UserProfile.objects.count() > settings.REGISTER_USER_LIMIT and not can_override_reg_limit(request) ): _m = loc( "Sorry, no more registrations are allowed. " '<a href="https://developer.mozilla.org/en-US/apps">' "Learn more</a>" ) messages.error(request, _m, title_safe=True, message_safe=True) form = None elif request.user.is_authenticated(): messages.info(request, _("You are already logged in to an account.")) form = None elif request.method == "POST": form = forms.UserRegisterForm(request.POST) mkt_user = UserProfile.objects.filter(email=form.data["email"], password="") if form.is_valid(): try: u = form.save(commit=False) u.set_password(form.cleaned_data["password"]) u.generate_confirmationcode() u.save() u.create_django_user() log.info(u"Registered new account for user (%s)", u) log_cef( "New Account", 5, request, username=u.username, signature="AUTHNOTICE", msg="User created a new account", ) u.email_confirmation_code() if waffle.switch_is_active("zamboni-login"): # Hide these messages since prod still uses remora for # authentication, so django messages won't be displayed # until post-login. msg = _("Congratulations! Your user account was " "successfully created.") messages.success(request, msg) msg = _( u"An email has been sent to your address {0} to " "confirm your account. Before you can log in, you " "have to activate your account by clicking on the " "link provided in this email." ).format(u.email) messages.info(request, _("Confirmation Email Sent"), msg) except IntegrityError, e: # I was unable to reproduce this, but I suspect it happens # when they POST twice quickly and the slaves don't have the # new info yet (total guess). Anyway, I'm assuming the # first one worked properly, so this is still a success # case to the end user so we just log it... log.error("Failed to register new user (%s): %s" % (u, e)) return http.HttpResponseRedirect(reverse("users.login")) elif mkt_user.exists(): f = PasswordResetForm() f.users_cache = [mkt_user[0]] f.save(use_https=request.is_secure(), email_template_name="users/email/pwreset.ltxt", request=request) return jingo.render(request, "users/newpw_sent.html", {}) else: messages.error(request, _("There are errors in this form"), _("Please correct them and resubmit."))