def rightbox(self): """generates content in <div class="rightbox">""" ps = PaneStack(css_class='spacer') if self.searchbox: ps.append(SearchForm()) if not c.user_is_loggedin and self.loginbox: ps.append(LoginFormWide()) #don't show the subreddit info bar on cnames if not isinstance(c.site, FakeSubreddit) and not c.cname: ps.append(SubredditInfoBar()) if self.submit_box: ps.append(SideBox(_('Submit a link'), '/submit', 'submit', sr_path = True, subtitles = [_('to anything interesting: news article, blog entry, video, picture...')], show_cover = True)) if self.create_reddit_box: ps.append(SideBox(_('Create your own reddit'), '/reddits/create', 'create', subtitles = rand_strings.get("create_reddit", 2), show_cover = True, nocname=True)) return ps
def rightbox(self): """generates content in <div class="rightbox">""" ps = PaneStack(css_class='spacer') if not c.user_is_loggedin and self.loginbox: ps.append(LoginFormWide()) if not isinstance(c.site, FakeSubreddit): ps.append(SubredditInfoBar()) if self.subreddit_sidebox: ps.append(SubredditBox(self.subreddit_checkboxes)) if self.submit_box: ps.append(SideBox(_('Submit a link'), c.site.path + 'submit', 'submit', subtitles = [_('to anything interesting: news article, blog entry, video, picture...')], show_cover = True)) if self.create_reddit_box: ps.append(SideBox(_('Create your own reddit'), '/reddits/create', 'create', subtitles = rand_strings.get("create_reddit", 2), show_cover = True)) return ps
def rightbox(self): """generates content in <div class="rightbox">""" ps = PaneStack(css_class='spacer') if self.searchbox: ps.append(SearchForm()) sidebar_message = g.live_config.get("sidebar_message") if sidebar_message and isinstance(c.site, DefaultSR): ps.append(SidebarMessage(sidebar_message[0])) gold_sidebar_message = g.live_config.get("gold_sidebar_message") if (c.user_is_loggedin and c.user.gold and gold_sidebar_message and isinstance(c.site, DefaultSR)): ps.append(SidebarMessage(gold_sidebar_message[0], extra_class="gold")) if not c.user_is_loggedin and self.loginbox and not g.read_only_mode: ps.append(LoginFormWide()) if isinstance(c.site, DomainSR) and c.user_is_admin: from r2.lib.pages.admin_pages import AdminNotesSidebar notebar = AdminNotesSidebar('domain', c.site.domain) ps.append(notebar) if isinstance(c.site, Subreddit) and c.user_is_admin: from r2.lib.pages.admin_pages import AdminNotesSidebar notebar = AdminNotesSidebar('subreddit', c.site.name) ps.append(notebar) if not c.user.pref_hide_ads or not c.user.gold: ps.append(SponsorshipBox()) if (isinstance(c.site, Filtered) and not (isinstance(c.site, AllSR) and not c.user.gold)): ps.append(FilteredInfoBar()) elif isinstance(c.site, AllSR): ps.append(AllInfoBar(c.site, c.user)) elif isinstance(c.site, ModSR): ps.append(ModSRInfoBar()) if isinstance(c.site, (MultiReddit, ModSR)): srs = Subreddit._byID(c.site.sr_ids, data=True, return_dict=False, stale=True) if (srs and c.user_is_loggedin and (c.user_is_admin or c.site.is_moderator(c.user))): ps.append(self.sr_admin_menu()) if isinstance(c.site, LabeledMulti): ps.append(MultiInfoBar(c.site, srs, c.user)) c.js_preload.set_wrapped( '/api/multi/%s' % c.site.path.lstrip('/'), c.site) elif srs: if isinstance(c.site, ModSR): box = SubscriptionBox(srs, multi_text=strings.mod_multi) else: box = SubscriptionBox(srs) ps.append(SideContentBox(_('these subreddits'), [box])) user_banned = c.user_is_loggedin and c.site.is_banned(c.user) if (self.submit_box and (c.user_is_loggedin or not g.read_only_mode) and not user_banned): if (not isinstance(c.site, FakeSubreddit) and c.site.type in ("archived", "restricted", "gold_restricted") and not (c.user_is_loggedin and c.site.can_submit(c.user))): if c.site.type == "archived": subtitle = _('this subreddit is archived ' 'and no longer accepting submissions.') ps.append(SideBox(title=_('Submissions disabled'), css_class="submit", disabled=True, subtitles=[subtitle], show_icon=False)) else: if c.site.type == 'restricted': subtitle = _('submission in this subreddit ' 'is restricted to approved submitters.') elif c.site.type == 'gold_restricted': subtitle = _('submission in this subreddit ' 'is restricted to reddit gold members.') ps.append(SideBox(title=_('Submissions restricted'), css_class="submit", disabled=True, subtitles=[subtitle], show_icon=False)) else: fake_sub = isinstance(c.site, FakeSubreddit) is_multi = isinstance(c.site, MultiReddit) mod_link_override = mod_self_override = False if isinstance(c.site, FakeSubreddit): submit_buttons = set(("link", "self")) else: # we want to show submit buttons for logged-out users too # so we can't just use can_submit_link/text submit_buttons = c.site.allowed_types if c.user_is_loggedin: if ("link" not in submit_buttons and c.site.can_submit_link(c.user)): submit_buttons.add("link") mod_link_override = True if ("self" not in submit_buttons and c.site.can_submit_text(c.user)): submit_buttons.add("self") mod_self_override = True if "link" in submit_buttons: css_class = "submit submit-link" if mod_link_override: css_class += " mod-override" ps.append(SideBox(title=c.site.submit_link_label or strings.submit_link_label, css_class=css_class, link="/submit", sr_path=not fake_sub or is_multi, show_cover=True)) if "self" in submit_buttons: css_class = "submit submit-text" if mod_self_override: css_class += " mod-override" ps.append(SideBox(title=c.site.submit_text_label or strings.submit_text_label, css_class=css_class, link="/submit?selftext=true", sr_path=not fake_sub or is_multi, show_cover=True)) no_ads_yet = True user_disabled_ads = c.user.gold and c.user.pref_hide_ads sr_disabled_ads = (not isinstance(c.site, FakeSubreddit) and c.site.type == "gold_only" and c.site.hide_ads) show_adbox = not (user_disabled_ads or sr_disabled_ads or g.disable_ads) # don't show the subreddit info bar on cnames unless the option is set if not isinstance(c.site, FakeSubreddit) and (not c.cname or c.site.show_cname_sidebar): ps.append(SubredditInfoBar()) moderator = c.user_is_loggedin and (c.user_is_admin or c.site.is_moderator(c.user)) wiki_moderator = c.user_is_loggedin and ( c.user_is_admin or c.site.is_moderator_with_perms(c.user, 'wiki')) if self.show_wiki_actions: menu = self.wiki_actions_menu(moderator=wiki_moderator) ps.append(menu) if moderator: ps.append(self.sr_admin_menu()) if show_adbox: ps.append(Ads()) no_ads_yet = False elif self.show_wiki_actions: ps.append(self.wiki_actions_menu()) if self.create_reddit_box and c.user_is_loggedin: delta = datetime.datetime.now(g.tz) - c.user._date if delta.days >= g.min_membership_create_community: ps.append(SideBox(_('Create your own subreddit'), '/subreddits/create', 'create', subtitles = rand_strings.get("create_reddit", 2), show_cover = True, nocname=True)) if c.default_sr: hook = hooks.get_hook('home.add_sidebox') extra_sidebox = hook.call_until_return() if extra_sidebox: ps.append(extra_sidebox) if not isinstance(c.site, FakeSubreddit) and not c.cname: moderators = self.sr_moderators() if moderators: more_text = mod_href = "" sidebar_list_length = 10 num_not_shown = len(moderators) - sidebar_list_length if num_not_shown > 0: more_text = _("...and %d more") % (num_not_shown) else: more_text = _("about moderation team") mod_href = c.site.path + 'about/moderators' if '/r/%s' % c.site.name == g.admin_message_acct: label = _('message the admins') else: label = _('message the moderators') helplink = ("/message/compose?to=%%2Fr%%2F%s" % c.site.name, label) ps.append(SideContentBox(_('moderators'), moderators[:sidebar_list_length], helplink = helplink, more_href = mod_href, more_text = more_text)) if no_ads_yet and show_adbox: ps.append(Ads()) if g.live_config["gold_revenue_goal"]: ps.append(Goldvertisement()) if c.user.pref_clickgadget and c.recent_clicks: ps.append(SideContentBox(_("Recently viewed links"), [ClickGadget(c.recent_clicks)])) if c.user_is_loggedin: activity_link = AccountActivityBox() ps.append(activity_link) return ps