forked from e621ng/e621ng
fixes #1041
This commit is contained in:
parent
61b3a18ec7
commit
48b1f63028
@ -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
|
||||
|
@ -31,4 +31,7 @@ en:
|
||||
creator_id: "You"
|
||||
upload:
|
||||
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
|
||||
note.update_column(:version, i)
|
||||
end
|
||||
|
||||
UserFeedback.delete_all("creator_id = user_id")
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user