FEATURE: Allow TL4 users to reset bump date

This commit is contained in:
Gerhard Schlager 2019-01-02 16:57:05 +01:00
parent e8053d6e7d
commit c30996129f
3 changed files with 10 additions and 12 deletions
app/assets/javascripts/discourse/widgets
lib/guardian
spec/requests

@ -211,15 +211,13 @@ export default createWidget("topic-admin-menu", {
}); });
} }
if (this.currentUser.get("staff")) { buttons.push({
buttons.push({ className: "topic-admin-reset-bump-date",
className: "topic-admin-reset-bump-date", buttonClass: "btn-default",
buttonClass: "btn-default", action: "resetBumpDate",
action: "resetBumpDate", icon: "anchor",
icon: "anchor", label: "actions.reset_bump_date"
label: "actions.reset_bump_date" });
});
}
if (!isPrivateMessage) { if (!isPrivateMessage) {
buttons.push({ buttons.push({

@ -148,6 +148,6 @@ module TopicGuardian
end end
def can_update_bumped_at? def can_update_bumped_at?
is_staff? is_staff? || @user.has_trust_level?(TrustLevel[4])
end end
end end

@ -2620,7 +2620,7 @@ RSpec.describe TopicsController do
expect(response.status).to eq(403) expect(response.status).to eq(403)
end end
[:user, :trust_level_4].each do |user| [:user].each do |user|
it "denies access for #{user}" do it "denies access for #{user}" do
sign_in(Fabricate(user)) sign_in(Fabricate(user))
put "/t/#{topic.id}/reset-bump-date.json" put "/t/#{topic.id}/reset-bump-date.json"
@ -2635,7 +2635,7 @@ RSpec.describe TopicsController do
end end
end end
[:admin, :moderator].each do |user| [:admin, :moderator, :trust_level_4].each do |user|
it "should reset bumped_at as #{user}" do it "should reset bumped_at as #{user}" do
sign_in(Fabricate(user)) sign_in(Fabricate(user))
topic = Fabricate(:topic, bumped_at: 1.hour.ago) topic = Fabricate(:topic, bumped_at: 1.hour.ago)