mirror of
https://github.com/discourse/discourse.git
synced 2024-11-23 06:04:11 +08:00
SECURITY: Don't allow badges on read restricted categories
This commit is contained in:
parent
b526cdc55c
commit
724fff22e7
|
@ -0,0 +1,30 @@
|
|||
class BadgesOnlyOnPublicCategories < ActiveRecord::Migration
|
||||
def up
|
||||
execute "DROP VIEW badge_posts"
|
||||
|
||||
execute "CREATE VIEW badge_posts AS
|
||||
SELECT p.*
|
||||
FROM posts p
|
||||
JOIN topics t ON t.id = p.topic_id
|
||||
JOIN categories c ON c.id = t.category_id
|
||||
WHERE c.allow_badges AND
|
||||
p.deleted_at IS NULL AND
|
||||
t.deleted_at IS NULL AND
|
||||
NOT c.read_restricted AND
|
||||
t.visible"
|
||||
end
|
||||
|
||||
def down
|
||||
execute "DROP VIEW badge_posts"
|
||||
|
||||
execute "CREATE VIEW badge_posts AS
|
||||
SELECT p.*
|
||||
FROM posts p
|
||||
JOIN topics t ON t.id = p.topic_id
|
||||
JOIN categories c ON c.id = t.category_id
|
||||
WHERE c.allow_badges AND
|
||||
p.deleted_at IS NULL AND
|
||||
t.deleted_at IS NULL AND
|
||||
t.visible"
|
||||
end
|
||||
end
|
Loading…
Reference in New Issue
Block a user