Skip to content

Commit 3512c40

Browse files
author
Ryan Bigg
committed
Section 8.7: Restrict destroy action to only people with permission
1 parent d4983b0 commit 3512c40

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

ticketee/app/controllers/tickets_controller.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ def update
3838
end
3939

4040
def destroy
41+
authorize @project, :write?
4142
@ticket.destroy
4243
flash[:success] = "Ticket has been deleted."
4344

ticketee/spec/controllers/tickets_controller_spec.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,12 @@ def assert_no_permission!
5555
}
5656
assert_no_permission!
5757
end
58+
59+
it "cannot delete a ticket without permission" do
60+
delete :destroy, { project_id: project.id, id: ticket.id }
61+
62+
assert_no_permission!
63+
end
5864
end
5965
end
6066
end

ticketee/spec/features/deleting_tickets_spec.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
before do
1111
login_as(user)
1212
define_permission!(user, "read", project)
13+
define_permission!(user, "write", project)
1314
visit "/"
1415
click_link project.name
1516
click_link ticket.title

0 commit comments

Comments
 (0)