diff --git a/r2/r2/controllers/front.py b/r2/r2/controllers/front.py index 4b084e5de..7bd973383 100755 --- a/r2/r2/controllers/front.py +++ b/r2/r2/controllers/front.py @@ -939,8 +939,6 @@ class FrontController(RedditController, OAuth2ResourceController): 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)) never_show_self = request.get.get('no_self') @@ -951,7 +949,6 @@ class FrontController(RedditController, OAuth2ResourceController): title=title or '', text=text or '', selftext=selftext or '', - subreddits=sr_names, captcha=captcha, resubmit=resubmit, never_show_self=never_show_self, diff --git a/r2/r2/lib/pages/pages.py b/r2/r2/lib/pages/pages.py index eb02eff67..604e8b0cd 100755 --- a/r2/r2/lib/pages/pages.py +++ b/r2/r2/lib/pages/pages.py @@ -2295,7 +2295,7 @@ class FrameToolbar(Wrapped): class NewLink(Templated): """Render the link submission form""" def __init__(self, captcha = None, url = '', title= '', text = '', selftext = '', - subreddits = (), then = 'comments', resubmit=False, never_show_self=False): + then = 'comments', resubmit=False, never_show_self=False): self.show_link = self.show_self = False @@ -2329,8 +2329,6 @@ class NewLink(Templated): self.formtabs_menu = JsNavMenu(buttons, type = 'formtab') - self.sr_searches = simplejson.dumps(popular_searches(include_over_18=c.over18)) - self.resubmit = resubmit if c.default_sr: self.default_sr = None @@ -2338,8 +2336,7 @@ class NewLink(Templated): self.default_sr = c.site Templated.__init__(self, captcha = captcha, url = url, - title = title, text = text, subreddits = subreddits, - then = then) + title = title, text = text, then = then) class ShareLink(CachedTemplate): def __init__(self, link_name = "", emails = None): @@ -3328,11 +3325,6 @@ class PromoteLinkForm(Templated): self.link = None if link: - self.sr_searches = simplejson.dumps(popular_searches()) - self.subreddits = (Subreddit.submit_sr_names(c.user) or - Subreddit.submit_sr_names(None)) - self.default_sr = (self.subreddits[0] if self.subreddits - else g.default_sr) self.link = promote.wrap_promoted(link) campaigns = PromoCampaign._by_link(link._id) self.campaigns = promote.get_renderable_campaigns(link, campaigns) @@ -3429,11 +3421,7 @@ class Roadblocks(Templated): self.startdate = startdate.strftime("%m/%d/%Y") self.enddate = enddate .strftime("%m/%d/%Y") - self.sr_searches = simplejson.dumps(popular_searches()) - self.subreddits = (Subreddit.submit_sr_names(c.user) or - Subreddit.submit_sr_names(None)) - self.default_sr = self.subreddits[0] if self.subreddits \ - else g.default_sr + class TabbedPane(Templated): def __init__(self, tabs, linkable=False): @@ -4199,3 +4187,26 @@ class SubscribeButton(Templated): def __init__(self, sr): Templated.__init__(self) self.sr = sr + + +class SubredditSelector(Templated): + def __init__(self, subreddits=None, default_sr=None, required=False): + Templated.__init__(self) + + if subreddits: + self.subreddits = subreddits + else: + self.subreddits = (Subreddit.submit_sr_names(c.user) or + Subreddit.submit_sr_names(None)) + + if default_sr: + self.default_sr = default_sr + elif subreddits: + self.default_sr = subreddits[0] + else: + self.default_sr = None + + self.required = required + self.sr_searches = simplejson.dumps( + popular_searches(include_over_18=c.over18) + ) diff --git a/r2/r2/templates/newlink.html b/r2/r2/templates/newlink.html index 02ec952a9..2992ef9bd 100755 --- a/r2/r2/templates/newlink.html +++ b/r2/r2/templates/newlink.html @@ -22,11 +22,11 @@ <%! from r2.lib.strings import strings - from r2.lib.pages import UserText + from r2.lib.pages import SubredditSelector, UserText from r2.lib.template_helpers import add_sr %> -<%namespace file="utils.html" import="error_field, submit_form, _a_buffered, reddit_selector, text_with_links"/> +<%namespace file="utils.html" import="error_field, submit_form, _a_buffered, text_with_links"/> <%namespace name="utils" file="utils.html"/> <% @@ -99,7 +99,7 @@ ${thing.formtabs_menu}