aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app/models/answer.rb')
-rw-r--r--app/models/answer.rb4
1 files changed, 3 insertions, 1 deletions
diff --git a/app/models/answer.rb b/app/models/answer.rb
index 43ce232..8709c17 100644
--- a/app/models/answer.rb
+++ b/app/models/answer.rb
@@ -27,9 +27,11 @@ class Answer < ActiveRecord::Base
after_update :notify_changed_answer
multi_permission :update, :destroy do
+ # It's fine to change correct, because it's ignored in non-email answers
+ # and email answers have separate permissions
(owned? && !reference && !approved) ||
(reference && acting_user.role.is_recruiter?) ||
- (only_changed?(:approved) && owner.mentor_is?(acting_user))
+ (only_changed?(:approved, :correct) && owner.mentor_is?(acting_user))
end
def create_permitted?