mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
Add the Lounge category, an exclusive area for trust level 3 users
This commit is contained in:
31
db/migrate/20140120155706_add_lounge_category.rb
Normal file
31
db/migrate/20140120155706_add_lounge_category.rb
Normal file
@@ -0,0 +1,31 @@
|
||||
class AddLoungeCategory < ActiveRecord::Migration
|
||||
def up
|
||||
unless Rails.env.test?
|
||||
result = Category.exec_sql "SELECT 1 FROM site_settings where name = 'lounge_category_id'"
|
||||
if result.count == 0
|
||||
description = I18n.t('vip_category_description')
|
||||
|
||||
default_name = I18n.t('vip_category_name')
|
||||
name = if Category.exec_sql("SELECT 1 FROM categories where name = '#{default_name}'").count == 0
|
||||
default_name
|
||||
else
|
||||
"CHANGE_ME"
|
||||
end
|
||||
|
||||
result = execute "INSERT INTO categories
|
||||
(name, color, text_color, created_at, updated_at, user_id, slug, description, read_restricted)
|
||||
VALUES ('#{name}', 'EEEEEE', '652D90', now(), now(), -1, '#{Slug.for(name)}', '#{description}', true)
|
||||
RETURNING id"
|
||||
category_id = result[0]["id"].to_i
|
||||
|
||||
execute "INSERT INTO site_settings(name, data_type, value, created_at, updated_at)
|
||||
VALUES ('lounge_category_id', 3, #{category_id}, now(), now())"
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def down
|
||||
# Don't reverse this change. There is so much logic around deleting a category that it's messy
|
||||
# to try to do in sql. The up method will just make sure never to create the category twice.
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user