diff --git a/r2/r2/controllers/front.py b/r2/r2/controllers/front.py index 4e2bccee9..4e0148736 100644 --- a/r2/r2/controllers/front.py +++ b/r2/r2/controllers/front.py @@ -650,9 +650,7 @@ class FrontController(RedditController): href = comment.make_permalink_slow(context=5, anchor=True) return self.redirect(href) - @validate(VUser(), - VSRSubmitPage(), - url = VRequired('url', None), + @validate(url = VRequired('url', None), title = VRequired('title', None), then = VOneOf('then', ('tb','comments'), default = 'comments')) def GET_submit(self, url, title, then): @@ -670,6 +668,12 @@ class FrontController(RedditController): infotext = infotext).render() return res + if not c.user_is_loggedin: + raise UserRequiredException + + if not (c.default_sr or c.site.can_submit(c.user)): + self.abort(403, "forbidden") + captcha = Captcha() if c.user.needs_captcha() else None sr_names = (Subreddit.submit_sr_names(c.user) or Subreddit.submit_sr_names(None)) diff --git a/r2/r2/controllers/validator/validator.py b/r2/r2/controllers/validator/validator.py index ff8180fe8..8504e6ae4 100644 --- a/r2/r2/controllers/validator/validator.py +++ b/r2/r2/controllers/validator/validator.py @@ -687,11 +687,6 @@ class VSrSpecial(VByName): return True abort(403,'forbidden') -class VSRSubmitPage(Validator): - def run(self): - if not (c.default_sr or c.user_is_loggedin and - c.site.can_submit(c.user)): - abort(403, "forbidden") class VSubmitParent(VByName): def run(self, fullname, fullname2):