mirror of
https://github.com/reddit-archive/reddit.git
synced 2026-04-27 03:00:12 -04:00
Require email for sponsors upon registration
This commit is contained in:
@@ -279,8 +279,9 @@ class ApiController(RedditController):
|
||||
|
||||
@csrf_exempt
|
||||
@json_validate(email=ValidEmail("email"),
|
||||
newsletter_subscribe=VBoolean("newsletter_subscribe", default=False))
|
||||
def POST_check_email(self, responder, email, newsletter_subscribe):
|
||||
newsletter_subscribe=VBoolean("newsletter_subscribe", default=False),
|
||||
sponsor=VBoolean("sponsor", default=False))
|
||||
def POST_check_email(self, responder, email, newsletter_subscribe, sponsor):
|
||||
"""
|
||||
Check whether an email is valid. Allows blank emails.
|
||||
|
||||
@@ -292,6 +293,11 @@ class ApiController(RedditController):
|
||||
responder.has_errors("email", errors.NEWSLETTER_NO_EMAIL)
|
||||
return
|
||||
|
||||
if sponsor and not email:
|
||||
c.errors.add(errors.SPONSOR_NO_EMAIL, field="email")
|
||||
responder.has_errors("email", errors.SPONSOR_NO_EMAIL)
|
||||
return
|
||||
|
||||
if not (responder.has_errors("email", errors.BAD_EMAIL)):
|
||||
# Pylons does not handle 204s correctly.
|
||||
return {}
|
||||
@@ -664,9 +670,11 @@ class ApiController(RedditController):
|
||||
rem = VBoolean('rem'),
|
||||
newsletter_subscribe=VBoolean('newsletter_subscribe',
|
||||
default=False),
|
||||
sponsor=VBoolean('sponsor', default=False),
|
||||
)
|
||||
def _handle_register(self, form, responder, name, email,
|
||||
password, rem, newsletter_subscribe):
|
||||
password, rem, newsletter_subscribe,
|
||||
sponsor):
|
||||
bad_captcha = responder.has_errors('captcha', errors.BAD_CAPTCHA)
|
||||
if not (responder.has_errors("user",
|
||||
errors.USERNAME_TOO_SHORT,
|
||||
@@ -685,6 +693,11 @@ class ApiController(RedditController):
|
||||
form.has_errors("email", errors.NEWSLETTER_NO_EMAIL)
|
||||
return
|
||||
|
||||
if sponsor and not email:
|
||||
c.errors.add(errors.SPONSOR_NO_EMAIL, field="email")
|
||||
form.has_errors("email", errors.SPONSOR_NO_EMAIL)
|
||||
return
|
||||
|
||||
user = register(name, password, request.ip)
|
||||
VRatelimit.ratelimit(rate_ip = True, prefix = "rate_register_")
|
||||
|
||||
|
||||
@@ -94,6 +94,7 @@ error_list = dict((
|
||||
('NO_EMAILS', _('please enter at least one email address')),
|
||||
('TOO_MANY_EMAILS', _('please only share to %(num)s emails at a time.')),
|
||||
('NEWSLETTER_NO_EMAIL', _('where should we send that weekly newsletter?')),
|
||||
('SPONSOR_NO_EMAIL', _('advertisers are required to supply an email')),
|
||||
('NEWSLETTER_EMAIL_UNACCEPTABLE', _('That email could not be added. Check your email for an existing confirmation email.')),
|
||||
('OVERSOLD', _('that subreddit has already been oversold on %(start)s to %(end)s. Please pick another subreddit or date.')),
|
||||
('OVERSOLD_DETAIL', _("We have insufficient inventory to fulfill your requested budget, target, and dates. Only %(available)s impressions available on %(target)s from %(start)s to %(end)s.")),
|
||||
|
||||
Reference in New Issue
Block a user