From 30fb5fcc2bd77cf4515facab22dc1579d171299b Mon Sep 17 00:00:00 2001 From: Logan Hanks Date: Tue, 13 Mar 2012 16:07:46 -0700 Subject: [PATCH] Don't show the 'flair' button on links if a subreddit isn't using link flair. --- r2/r2/controllers/api.py | 3 ++- r2/r2/models/link.py | 6 ++++++ r2/r2/models/subreddit.py | 2 +- r2/r2/templates/flairpane.html | 3 +++ r2/r2/templates/flairtemplatesample.html | 2 +- r2/r2/templates/printablebuttons.html | 2 +- 6 files changed, 14 insertions(+), 4 deletions(-) diff --git a/r2/r2/controllers/api.py b/r2/r2/controllers/api.py index fa6390e31..7a7a8e0f2 100644 --- a/r2/r2/controllers/api.py +++ b/r2/r2/controllers/api.py @@ -2272,7 +2272,8 @@ class ApiController(RedditController): VModhash(), flair_enabled = VBoolean("flair_enabled"), flair_position = VOneOf("flair_position", ("left", "right")), - link_flair_position = VOneOf("link_flair_position", ("left", "right")), + link_flair_position = VOneOf("link_flair_position", + ("", "left", "right")), flair_self_assign_enabled = VBoolean("flair_self_assign_enabled")) @api_doc(api_section.flair) def POST_flairconfig(self, form, jquery, flair_enabled, flair_position, diff --git a/r2/r2/models/link.py b/r2/r2/models/link.py index a78e6e6ef..e115fe871 100644 --- a/r2/r2/models/link.py +++ b/r2/r2/models/link.py @@ -259,6 +259,12 @@ class Link(Thing, Printable): s.append(getattr(wrapped, 'media_object', {})) s.append(wrapped.flair_text) s.append(wrapped.flair_css_class) + + # if browsing a single subreddit, incorporate link flair position + # in the key so 'flair' buttons show up appropriately for mods + if hasattr(c.site, '_id'): + s.append(c.site.link_flair_position) + return s def make_permalink(self, sr, force_domain = False): diff --git a/r2/r2/models/subreddit.py b/r2/r2/models/subreddit.py index 0776364d9..d6fe4e20d 100644 --- a/r2/r2/models/subreddit.py +++ b/r2/r2/models/subreddit.py @@ -75,7 +75,7 @@ class Subreddit(Thing, Printable): link_type = 'any', # one of ('link', 'self', 'any') flair_enabled = True, flair_position = 'right', # one of ('left', 'right') - link_flair_position = 'left', # one of ('left', 'right') + link_flair_position = '', # one of ('', 'left', 'right') flair_self_assign_enabled = False, ) _essentials = ('type', 'name', 'lang') diff --git a/r2/r2/templates/flairpane.html b/r2/r2/templates/flairpane.html index 3de969c26..1ce5d6210 100644 --- a/r2/r2/templates/flairpane.html +++ b/r2/r2/templates/flairpane.html @@ -62,6 +62,9 @@ <%utils:line_field title="${_('link flair position')}"> + ${utils.radio_type('link_flair_position', "", _("none"), + _("don't show link flair"), + not thing.link_flair_position)} ${utils.radio_type('link_flair_position', "left", _("left"), _("position flair to the left of the link"), thing.link_flair_position == 'left')} diff --git a/r2/r2/templates/flairtemplatesample.html b/r2/r2/templates/flairtemplatesample.html index c253127ac..dbdcf2717 100644 --- a/r2/r2/templates/flairtemplatesample.html +++ b/r2/r2/templates/flairtemplatesample.html @@ -42,7 +42,7 @@ from r2.models import USER_FLAIR, LINK_FLAIR %elif thing.flair_type == LINK_FLAIR:

- %if c.site.link_flair_position == 'left': + %if c.site.link_flair_position != 'right': <%call expr="flair()" /> %endif Link sample diff --git a/r2/r2/templates/printablebuttons.html b/r2/r2/templates/printablebuttons.html index 774ae1d81..f12b26908 100644 --- a/r2/r2/templates/printablebuttons.html +++ b/r2/r2/templates/printablebuttons.html @@ -66,7 +66,7 @@ %if thing.show_unmarknsfw:

  • ${ynbutton(_("un-nsfw"), _("unmarked"), "unmarknsfw")}
  • %endif - %if thing.show_flair: + %if c.site.link_flair_position and thing.show_flair:
  • ${_('flair')}