mirror of
https://github.com/reddit-archive/reddit.git
synced 2026-01-29 16:58:21 -05:00
Disable changing one's own permissions.
This commit is contained in:
@@ -644,7 +644,8 @@ class ApiController(RedditController, OAuth2ResourceController):
|
||||
|
||||
if type in ("moderator", "moderator_invite"):
|
||||
if not c.user_is_admin:
|
||||
if type == "moderator" and not c.site.can_demod(c.user, target):
|
||||
if type == "moderator" and (
|
||||
c.user == target or not c.site.can_demod(c.user, target)):
|
||||
abort(403, 'forbidden')
|
||||
if (type == "moderator_invite"
|
||||
and not c.site.is_unlimited_moderator(c.user)):
|
||||
|
||||
@@ -3019,7 +3019,7 @@ class ModList(UserList):
|
||||
elif c.user_is_admin:
|
||||
return True
|
||||
elif row_type == self.type:
|
||||
return c.site.can_demod(c.user, user)
|
||||
return c.user != user and c.site.can_demod(c.user, user)
|
||||
elif row_type == self.invite_type:
|
||||
return c.site.is_unlimited_moderator(c.user)
|
||||
else:
|
||||
@@ -3028,7 +3028,7 @@ class ModList(UserList):
|
||||
def user_row(self, row_type, user, editable=True):
|
||||
perms = ModeratorPermissions(
|
||||
user, row_type, self.perms_by_type[row_type].get(user._id),
|
||||
editable=editable and self.moderator_editable(user, row_type))
|
||||
editable=editable)
|
||||
return UserTableItem(user, row_type, self.cells, self.container_name,
|
||||
editable, self.remove_action, rel=perms)
|
||||
|
||||
|
||||
@@ -58,7 +58,9 @@
|
||||
id = thing.user._fullname,
|
||||
container = thing.container_name))}
|
||||
%else:
|
||||
<span class="gray">${_("can't remove")}</span>
|
||||
%if c.user != thing.user:
|
||||
<span class="gray">${_("can't remove")}</span>
|
||||
%endif
|
||||
%endif
|
||||
%elif thing.name == "note":
|
||||
<form action="/post/friendnote" id="friendnote-${thing.rel._fullname}"
|
||||
|
||||
Reference in New Issue
Block a user