Add moderator permission for posts (approve/remove/distinguish/nsfw).

This commit is contained in:
Logan Hanks
2012-12-12 17:26:14 -08:00
parent dc5cc92962
commit 4aed1baea9
4 changed files with 13 additions and 10 deletions

View File

@@ -641,7 +641,7 @@ class FrontController(RedditController, OAuth2ResourceController):
c.site.stylesheet_contents)
pane = SubredditStylesheetSource(stylesheet_contents=stylesheet)
elif (location in ('reports', 'spam', 'modqueue', 'unmoderated')
and is_moderator):
and is_moderator_with_perms('posts')):
c.allow_styles = True
pane = self._make_spamlisting(location, num, after, reverse, count)
if c.user.pref_private_feeds:

View File

@@ -269,17 +269,20 @@ class Reddit(Templated):
buttons.append(NamedButton("traffic", css_class="reddit-traffic"))
buttons += [NamedButton("modqueue", css_class="reddit-modqueue"),
NamedButton("reports", css_class="reddit-reported"),
NamedButton("spam", css_class="reddit-spam")]
if c.site.is_moderator_with_perms(c.user, 'posts'):
buttons += [NamedButton("modqueue", css_class="reddit-modqueue"),
NamedButton("reports", css_class="reddit-reported"),
NamedButton("spam", css_class="reddit-spam")]
if is_single_subreddit:
buttons.append(NamedButton("banned", css_class="reddit-ban"))
if c.site.is_moderator_with_perms(c.user, 'flair'):
buttons.append(NamedButton("flair", css_class="reddit-flair"))
buttons += [NamedButton("log", css_class="reddit-moderationlog"),
NamedButton("unmoderated", css_class="reddit-unmoderated")]
buttons.append(NamedButton("log", css_class="reddit-moderationlog"))
if c.site.is_moderator_with_perms(c.user, 'posts'):
buttons.append(
NamedButton("unmoderated", css_class="reddit-unmoderated"))
return SideContentBox(_('moderation tools'),
[NavMenu(buttons,

View File

@@ -918,7 +918,7 @@ class VSrCanBan(VByName):
# comment, because this should only be used on links and
# comments
subreddit = item.subreddit_slow
if subreddit.is_moderator(c.user):
if subreddit.is_moderator_with_perms(c.user, 'posts'):
return True
abort(403,'forbidden')

View File

@@ -419,15 +419,15 @@ class Subreddit(Thing, Printable):
else:
return False
def can_ban(self,user):
def can_ban(self, user):
return (user
and (c.user_is_admin
or self.is_moderator(user)))
or self.is_moderator_with_perms(user, 'posts')))
def can_distinguish(self,user):
return (user
and (c.user_is_admin
or self.is_moderator(user)))
or self.is_moderator_with_perms(user, 'posts')))
def can_change_stylesheet(self, user):
if c.user_is_loggedin: