This commit is contained in:
albert 2013-03-22 20:36:34 -04:00
parent 61b3a18ec7
commit 48b1f63028
4 changed files with 29 additions and 3 deletions

View File

@ -6,6 +6,7 @@ class UserFeedback < ActiveRecord::Base
attr_accessible :body, :user_id, :category, :user_name
validates_presence_of :user, :creator, :body, :category
validate :creator_is_privileged
validate :user_is_not_creator
after_create :create_dmail
module SearchMethods
@ -75,6 +76,18 @@ class UserFeedback < ActiveRecord::Base
def creator_is_privileged
if !creator.is_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

View File

@ -31,4 +31,7 @@ en:
creator_id: "You"
upload:
uploader: "You"
uploader_id: "You"
uploader_id: "You"
user_feedback:
creator: "You"
creator_id: "You"

View File

@ -15,3 +15,5 @@ Note.find_each do |note|
end
note.update_column(:version, i)
end
UserFeedback.delete_all("creator_id = user_id")

View File

@ -22,8 +22,16 @@ class UserFeedbackTest < ActiveSupport::TestCase
FactoryGirl.create(:user_feedback, :user => user)
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)
privileged = FactoryGirl.create(:privileged_user)
member = FactoryGirl.create(:user)
@ -35,7 +43,7 @@ class UserFeedbackTest < ActiveSupport::TestCase
CurrentUser.user = member
feedback = FactoryGirl.build(:user_feedback, :user => user)
feedback.save
assert(feedback.errors.any?)
assert_equal(["You must be privileged"], feedback.errors.full_messages)
end
end
end