diff --git a/r2/r2/controllers/front.py b/r2/r2/controllers/front.py index 4d07bae9d..00a8665dc 100755 --- a/r2/r2/controllers/front.py +++ b/r2/r2/controllers/front.py @@ -648,7 +648,7 @@ class FrontController(RedditController, OAuth2ResourceController): c.site.stylesheet_contents) pane = SubredditStylesheetSource(stylesheet_contents=stylesheet) elif location == 'traffic' and (c.site.public_traffic or - (is_moderator or c.user_is_sponsor)): + (is_moderator or c.user.employee)): pane = trafficpages.SubredditTraffic() elif (location == "about") and is_api(): return self.redirect(add_sr('about.json'), code=301) @@ -1045,19 +1045,19 @@ class FrontController(RedditController, OAuth2ResourceController): comment=None, content=content).render() - @validate(VSponsorAdmin()) + @validate(VEmployee()) def GET_site_traffic(self): return trafficpages.SitewideTrafficPage().render() - @validate(VSponsorAdmin()) + @validate(VEmployee()) def GET_lang_traffic(self, langcode): return trafficpages.LanguageTrafficPage(langcode).render() - @validate(VSponsorAdmin()) + @validate(VEmployee()) def GET_advert_traffic(self, code): return trafficpages.AdvertTrafficPage(code).render() - @validate(VSponsorAdmin()) + @validate(VEmployee()) def GET_subreddit_traffic_report(self): content = trafficpages.SubredditTrafficReport() diff --git a/r2/r2/lib/validator/validator.py b/r2/r2/lib/validator/validator.py index c183f1cf0..9d12035fa 100644 --- a/r2/r2/lib/validator/validator.py +++ b/r2/r2/lib/validator/validator.py @@ -912,6 +912,15 @@ class VSponsor(VVerifiedUser): pass abort(403, 'forbidden') + +class VEmployee(VVerifiedUser): + """Validate that user is an employee.""" + def run(self): + if not c.user.employee: + abort(403, 'forbidden') + VVerifiedUser.run(self) + + class VTrafficViewer(VSponsor): def user_test(self, thing): return (VSponsor.user_test(self, thing) or