fixes #1041
This commit is contained in:
@@ -6,6 +6,7 @@ class UserFeedback < ActiveRecord::Base
|
|||||||
attr_accessible :body, :user_id, :category, :user_name
|
attr_accessible :body, :user_id, :category, :user_name
|
||||||
validates_presence_of :user, :creator, :body, :category
|
validates_presence_of :user, :creator, :body, :category
|
||||||
validate :creator_is_privileged
|
validate :creator_is_privileged
|
||||||
|
validate :user_is_not_creator
|
||||||
after_create :create_dmail
|
after_create :create_dmail
|
||||||
|
|
||||||
module SearchMethods
|
module SearchMethods
|
||||||
@@ -75,6 +76,18 @@ class UserFeedback < ActiveRecord::Base
|
|||||||
def creator_is_privileged
|
def creator_is_privileged
|
||||||
if !creator.is_privileged?
|
if !creator.is_privileged?
|
||||||
errors[:creator] << "must be privileged"
|
errors[:creator] << "must be privileged"
|
||||||
|
return false
|
||||||
|
else
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def user_is_not_creator
|
||||||
|
if user_id == creator_id
|
||||||
|
errors[:creator] << "cannot submit feedback for yourself"
|
||||||
|
return false
|
||||||
|
else
|
||||||
|
return true
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -31,4 +31,7 @@ en:
|
|||||||
creator_id: "You"
|
creator_id: "You"
|
||||||
upload:
|
upload:
|
||||||
uploader: "You"
|
uploader: "You"
|
||||||
uploader_id: "You"
|
uploader_id: "You"
|
||||||
|
user_feedback:
|
||||||
|
creator: "You"
|
||||||
|
creator_id: "You"
|
||||||
@@ -15,3 +15,5 @@ Note.find_each do |note|
|
|||||||
end
|
end
|
||||||
note.update_column(:version, i)
|
note.update_column(:version, i)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
UserFeedback.delete_all("creator_id = user_id")
|
||||||
@@ -22,8 +22,16 @@ class UserFeedbackTest < ActiveSupport::TestCase
|
|||||||
FactoryGirl.create(:user_feedback, :user => user)
|
FactoryGirl.create(:user_feedback, :user => user)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
should "not validate if the creator is the user" do
|
||||||
|
privileged_user = FactoryGirl.create(:privileged_user)
|
||||||
|
CurrentUser.user = privileged_user
|
||||||
|
feedback = FactoryGirl.build(:user_feedback, :user => privileged_user)
|
||||||
|
feedback.save
|
||||||
|
assert_equal(["You cannot submit feedback for yourself"], feedback.errors.full_messages)
|
||||||
|
end
|
||||||
|
|
||||||
should "should not validate if the creator is not privileged" do
|
should "not validate if the creator is not privileged" do
|
||||||
user = FactoryGirl.create(:user)
|
user = FactoryGirl.create(:user)
|
||||||
privileged = FactoryGirl.create(:privileged_user)
|
privileged = FactoryGirl.create(:privileged_user)
|
||||||
member = FactoryGirl.create(:user)
|
member = FactoryGirl.create(:user)
|
||||||
@@ -35,7 +43,7 @@ class UserFeedbackTest < ActiveSupport::TestCase
|
|||||||
CurrentUser.user = member
|
CurrentUser.user = member
|
||||||
feedback = FactoryGirl.build(:user_feedback, :user => user)
|
feedback = FactoryGirl.build(:user_feedback, :user => user)
|
||||||
feedback.save
|
feedback.save
|
||||||
assert(feedback.errors.any?)
|
assert_equal(["You must be privileged"], feedback.errors.full_messages)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user