From b8a1e21dbd8ca4a4c98b48b7e4e8f5ee60b191ab Mon Sep 17 00:00:00 2001 From: Neil Lalonde <neillalonde@gmail.com> Date: Tue, 13 Aug 2013 11:10:50 -0400 Subject: [PATCH] Delete all posts is allowed for the same amount of time as delete user --- lib/guardian.rb | 2 +- spec/components/guardian_spec.rb | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/guardian.rb b/lib/guardian.rb index 1c6e56d0a..14b306427 100644 --- a/lib/guardian.rb +++ b/lib/guardian.rb @@ -203,7 +203,7 @@ class Guardian end def can_delete_all_posts?(user) - is_staff? && user && !user.admin? && user.created_at >= 7.days.ago && user.post_count <= SiteSetting.delete_all_posts_max.to_i + is_staff? && user && !user.admin? && user.created_at >= SiteSetting.delete_user_max_age.days.ago && user.post_count <= SiteSetting.delete_all_posts_max.to_i end def can_remove_allowed_users?(topic) diff --git a/spec/components/guardian_spec.rb b/spec/components/guardian_spec.rb index bf9a41190..10440313e 100644 --- a/spec/components/guardian_spec.rb +++ b/spec/components/guardian_spec.rb @@ -1045,12 +1045,14 @@ describe Guardian do end shared_examples "can_delete_all_posts examples" do - it "is true if user is newer than 7 days old" do - Guardian.new(actor).can_delete_all_posts?(Fabricate.build(:user, created_at: 6.days.ago)).should be_true + it "is true if user is newer than delete_user_max_age days old" do + SiteSetting.expects(:delete_user_max_age).returns(10) + Guardian.new(actor).can_delete_all_posts?(Fabricate.build(:user, created_at: 9.days.ago)).should be_true end - it "is false if user is older than 7 days old" do - Guardian.new(actor).can_delete_all_posts?(Fabricate.build(:user, created_at: 8.days.ago)).should be_false + it "is false if user is older than delete_user_max_age days old" do + SiteSetting.expects(:delete_user_max_age).returns(10) + Guardian.new(actor).can_delete_all_posts?(Fabricate.build(:user, created_at: 11.days.ago)).should be_false end it "is false if user is an admin" do