diff --git a/app/controllers/user_feedbacks_controller.rb b/app/controllers/user_feedbacks_controller.rb index bc68ffd22..815abbb38 100644 --- a/app/controllers/user_feedbacks_controller.rb +++ b/app/controllers/user_feedbacks_controller.rb @@ -49,6 +49,6 @@ class UserFeedbacksController < ApplicationController private def check_privilege(user_feedback) - raise User::PrivilegeError unless (user_feedback.creator_id == CurrentUser.id || CurrentUser.is_moderator?) + raise User::PrivilegeError unless user_feedback.editable_by?(CurrentUser.user) end end diff --git a/app/models/user_feedback.rb b/app/models/user_feedback.rb index 19059f87a..dc7536da4 100644 --- a/app/models/user_feedback.rb +++ b/app/models/user_feedback.rb @@ -98,4 +98,8 @@ class UserFeedback < ActiveRecord::Base return true end end + + def editable_by?(editor) + (editor.is_moderator? && editor != user) || creator == editor + end end diff --git a/app/views/user_feedbacks/index.html.erb b/app/views/user_feedbacks/index.html.erb index d6490f147..005e7d1bc 100644 --- a/app/views/user_feedbacks/index.html.erb +++ b/app/views/user_feedbacks/index.html.erb @@ -20,7 +20,7 @@
<%= link_to "Edit", edit_user_feedback_path(@user_feedback) %>
<% end %>