From 7c328537d30aa477eb13aa0dddc82e02442cddf6 Mon Sep 17 00:00:00 2001 From: Max Goodman Date: Wed, 30 Nov 2011 14:44:35 -0800 Subject: [PATCH] Dim and disable the "submit a link" button when unable to submit. --- r2/r2/lib/pages/pages.py | 26 ++++++++++++------- r2/r2/lib/strings.py | 1 + r2/r2/public/static/css/reddit.css | 18 +++++++++++++ r2/r2/public/static/gradient-button-gray.png | Bin 0 -> 146 bytes r2/r2/public/static/gradient-nub-gray.png | Bin 0 -> 696 bytes r2/r2/templates/sidebox.html | 2 +- r2/r2/templates/utils.html | 2 +- 7 files changed, 38 insertions(+), 11 deletions(-) create mode 100644 r2/r2/public/static/gradient-button-gray.png create mode 100644 r2/r2/public/static/gradient-nub-gray.png diff --git a/r2/r2/lib/pages/pages.py b/r2/r2/lib/pages/pages.py index 8ff1e023d..65fe4dbb8 100644 --- a/r2/r2/lib/pages/pages.py +++ b/r2/r2/lib/pages/pages.py @@ -242,12 +242,19 @@ class Reddit(Templated): no_ads_yet = False if self.submit_box and (c.user_is_loggedin or not g.read_only_mode): - ps.append(SideBox(_('Submit a link'), - '/submit', 'submit', - sr_path = (isinstance(c.site,DefaultSR) - or not isinstance(c.site, FakeSubreddit)), - subtitles = [strings.submit_box_text], - show_cover = True)) + kwargs = { + "title": _("Submit a link"), + "css_class": "submit", + "show_cover": True + } + if not c.user_is_loggedin or c.site.can_submit(c.user) or isinstance(c.site, FakeSubreddit): + kwargs["link"] = "/submit" + kwargs["sr_path"] = isinstance(c.site, DefaultSR) or not isinstance(c.site, FakeSubreddit), + kwargs["subtitles"] = [strings.submit_box_text] + else: + kwargs["disabled"] = True + kwargs["subtitles"] = [strings.submit_box_restricted_text] + ps.append(SideBox(**kwargs)) if self.create_reddit_box and c.user_is_loggedin: delta = datetime.datetime.now(g.tz) - c.user._date @@ -523,12 +530,13 @@ class SideBox(CachedTemplate): """ Generic sidebox used to generate the 'submit' and 'create a reddit' boxes. """ - def __init__(self, title, link, css_class='', subtitles = [], - show_cover = False, nocname=False, sr_path = False): + def __init__(self, title, link=None, css_class='', subtitles = [], + show_cover = False, nocname=False, sr_path = False, disabled=False): CachedTemplate.__init__(self, link = link, target = '_top', title = title, css_class = css_class, sr_path = sr_path, subtitles = subtitles, - show_cover = show_cover, nocname=nocname) + show_cover = show_cover, nocname=nocname, + disabled=disabled) class PrefsPage(Reddit): diff --git a/r2/r2/lib/strings.py b/r2/r2/lib/strings.py index 98c178228..736223133 100644 --- a/r2/r2/lib/strings.py +++ b/r2/r2/lib/strings.py @@ -124,6 +124,7 @@ string_dict = dict( unknown_rule_type = _('unknown CSS rule type "%(ruletype)s"') ), submit_box_text = _('to anything interesting: news article, blog entry, video, picture...'), + submit_box_restricted_text = _('submission in this subreddit is restricted to approved submitters.'), permalink_title = _("%(author)s comments on %(title)s"), link_info_title = _("%(title)s : %(site)s"), banned_subreddit = _("""**this reddit has been banned**\n\nmost likely this was done automatically by our spam filtering program. the program is still learning, and may even have some bugs, so if you feel the ban was a mistake, please submit a link to our [request a reddit listing](%(link)s) and be sure to include the **exact name of the reddit**."""), diff --git a/r2/r2/public/static/css/reddit.css b/r2/r2/public/static/css/reddit.css index 35b2077d5..5418f3601 100644 --- a/r2/r2/public/static/css/reddit.css +++ b/r2/r2/public/static/css/reddit.css @@ -448,6 +448,24 @@ ul.flat-vert {text-align: left;} background-image: url(../gradient-nub-hover.png); /* SPRITE */ } +.disabled .morelink, .disabled .morelink:hover { + background-image: url(../gradient-button-gray.png); /* SPRITE stretch-x */ + border-color: #dadada; +} + +.disabled .morelink a { + cursor: default; + color: #aaa; +} + +.disabled .morelink .nub, .disabled .morelink:hover .nub { + background-image: url(../gradient-nub-gray.png); /* SPRITE */ +} + +.sidebox.submit.disabled .spacer a { + opacity: .5; +} + /* raised box */ .raisedbox { diff --git a/r2/r2/public/static/gradient-button-gray.png b/r2/r2/public/static/gradient-button-gray.png new file mode 100644 index 0000000000000000000000000000000000000000..9390fd73071faee322c3693e1ddbeec85cd27c97 GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^j6f{Q!2~3qBu}&h2^0spJ29*~C-V}>;VkfoEM{Qf z76xHPhFNnYfP(BLp1!W^x4GrSgjslncy|DWR6JcALpZJ{|M>o1UYMDg`SSn&|7S`_ mNIb}qke8R9ZC7HbBf;RNpdzHO;Qkw+dInEdKbLh*2~7Zy!6RS* literal 0 HcmV?d00001 diff --git a/r2/r2/public/static/gradient-nub-gray.png b/r2/r2/public/static/gradient-nub-gray.png new file mode 100644 index 0000000000000000000000000000000000000000..26a594a214bbd924393d637748a58990985fa758 GIT binary patch literal 696 zcmV;p0!RIcP)P0018d1^@s660l}|00001b5ch_0Itp) z=>Px#32;bRa{vGf6951U69E94oEQKA00(qQO+^RW3mz5|7#R~$_W%F_N=ZaPR7l6Q zmAz}#P#A}wa|uqpmqNh|UHkq4E;{%}IEpyv;#Q$kK@b$FAP!DNaS#Wg(y2pNmm-Lh z6hwzoKZl~ZlHMdIC*LPdf!Yu6SMCoo)#idLMJjgt|*EK!;myh-vie~{HGXXaH$}v69df)lthH;vJrS`0DoxYYAWbs| zK|mBm`@jVe(Ve=kY4cJ_F+V>~uh&}w9-rFrZK>Ps0$c@9#+Z6mpo4=0thL>lWn!(x zTI-95cItXIiG*PY@N8zD1VMn-`U7ykb%-&Be!q{_`YCX!nQN^aS5XugV~FGUGjK~p z-W`4JOlz*z8m;v&;I4?gI4y4COyW2u48sI?0z48CeO9b9$+;V2D2ieOxFaGzhwT{| zl4Tjj7}7M|0aiq0chtQ@A!S)MrtSl)BC<7Z_Rg^Xgw{F$9sui}a&wu$Kj%ND=D<4e z&{M8IO%?tFNz)W#3|W?K0jr*J_uFVvrz}gVsv=1ek|fy$Ry^hIv^fc!e!u?__y%lv e%H5pBEc*+`fS8cQ8K?RH0000 -