Don't allow editing of title and category of an archived topic

This commit is contained in:
Neil Lalonde 2013-07-09 16:48:26 -04:00
parent b7327942af
commit 7977deb3bf
2 changed files with 17 additions and 5 deletions

View File

@ -259,7 +259,7 @@ class Guardian
end
def can_edit_topic?(topic)
is_staff? || is_my_own?(topic)
!topic.archived && (is_staff? || is_my_own?(topic))
end
# Deleting Methods

View File

@ -456,12 +456,24 @@ describe Guardian do
Guardian.new(coding_horror).can_edit?(topic).should be_false
end
it 'returns true as a moderator' do
Guardian.new(moderator).can_edit?(topic).should be_true
context 'not archived' do
it 'returns true as a moderator' do
Guardian.new(moderator).can_edit?(topic).should be_true
end
it 'returns true as an admin' do
Guardian.new(admin).can_edit?(topic).should be_true
end
end
it 'returns true as an admin' do
Guardian.new(admin).can_edit?(topic).should be_true
context 'archived' do
it 'returns false as a moderator' do
Guardian.new(moderator).can_edit?(build(:topic, user: user, archived: true)).should be_false
end
it 'returns false as an admin' do
Guardian.new(admin).can_edit?(build(:topic, user: user, archived: true)).should be_false
end
end
end