diff --git a/r2/example.ini b/r2/example.ini index 623dc6655..170f42cf9 100644 --- a/r2/example.ini +++ b/r2/example.ini @@ -38,6 +38,7 @@ INDEXTANK_API_URL = # -- feature toggles -- disable_ads = false +disable_captcha = false # -- important settings -- # the domain that this app serves itself up as diff --git a/r2/r2/controllers/api.py b/r2/r2/controllers/api.py index 0d02a8cee..605065aa6 100644 --- a/r2/r2/controllers/api.py +++ b/r2/r2/controllers/api.py @@ -432,7 +432,7 @@ class ApiController(RedditController): form.has_errors("passwd", errors.BAD_PASSWORD) or form.has_errors("passwd2", errors.BAD_PASSWORD_MATCH) or form.has_errors('ratelimit', errors.RATELIMIT) or - form.has_errors('captcha', errors.BAD_CAPTCHA)): + (not g.disable_captcha and form.has_errors('captcha', errors.BAD_CAPTCHA))): user = register(name, password) VRatelimit.ratelimit(rate_ip = True, prefix = "rate_register_") diff --git a/r2/r2/lib/app_globals.py b/r2/r2/lib/app_globals.py index d42fc9c03..cf96ee826 100644 --- a/r2/r2/lib/app_globals.py +++ b/r2/r2/lib/app_globals.py @@ -89,6 +89,7 @@ class Globals(object): 'read_only_mode', 'frontpage_dart', 'allow_wiki_editing', + 'disable_captcha', ] tuple_props = ['stalecaches', diff --git a/r2/r2/models/account.py b/r2/r2/models/account.py index e4fd44f76..c01af4ca5 100644 --- a/r2/r2/models/account.py +++ b/r2/r2/models/account.py @@ -207,7 +207,7 @@ class Account(Thing): return id_time + ',' + sha.new(to_hash).hexdigest() def needs_captcha(self): - return self.link_karma < 1 + return self.link_karma < 1 and not g.disable_captcha def modhash(self, rand=None, test=False): return modhash(self, rand = rand, test = test) diff --git a/r2/r2/templates/login.html b/r2/r2/templates/login.html index 2cd0b3c91..339d530a3 100644 --- a/r2/r2/templates/login.html +++ b/r2/r2/templates/login.html @@ -36,9 +36,11 @@ ${login_panel(login_form, user_reg = thing.user_reg, user_login = thing.user_login, dest=thing.dest)} + %if not g.disable_captcha: + %endif %endif <%def name="login_form(register=False, user='', dest='', include_tos=True)"> @@ -101,8 +103,10 @@ ${error_field("BAD_PASSWORD_MATCH", "passwd2", kind="span")}
  • + %if not g.disable_captcha: <% iden = hasattr(thing, "captcha") and thing.captcha.iden or '' %> ${captchagen(iden, tabulate=True, label=False, size=30)} + %endif ${error_field("RATELIMIT", "ratelimit")} ${error_field("RATELIMIT", "vdelay")}