2013-12-15 20:46:46 -05:00
User . reset_column_information
Topic . reset_column_information
Post . reset_column_information
2014-07-24 14:27:34 -04:00
staff = Category . find_by ( id : SiteSetting . staff_category_id )
2014-01-23 16:42:03 -05:00
if Topic . where ( 'id NOT IN (SELECT topic_id from categories where topic_id is not null)' ) . count == 0 && ! Rails . env . test?
2014-02-03 21:21:43 -05:00
puts " Seeding welcome topics "
2013-12-15 20:46:46 -05:00
welcome = File . read ( Rails . root + 'docs/ADMIN-QUICK-START-GUIDE.md' )
2014-04-16 03:13:52 -04:00
PostCreator . create ( Discourse . system_user , raw : welcome , title : " READ ME FIRST: Admin Quick Start Guide " , skip_validations : true , category : staff ? staff . name : nil )
2014-02-27 17:38:01 -05:00
PostCreator . create ( Discourse . system_user , raw : I18n . t ( 'assets_topic_body' ) , title : " Assets for the forum design " , skip_validations : true , category : staff ? staff . name : nil )
2014-02-03 21:21:43 -05:00
welcome = File . read ( Rails . root + 'docs/WELCOME-TO-DISCOURSE.md' )
2014-02-24 14:27:21 -05:00
post = PostCreator . create ( Discourse . system_user , raw : welcome , title : " Welcome to Discourse " , skip_validations : true )
2014-05-05 10:47:52 -04:00
post . topic . update_pinned ( true , true )
2014-07-10 15:13:12 -04:00
lounge = Category . find_by ( id : SiteSetting . lounge_category_id )
if lounge
post = PostCreator . create ( Discourse . system_user , raw : I18n . t ( 'lounge_welcome.body' ) , title : I18n . t ( 'lounge_welcome.title' ) , skip_validations : true , category : lounge . name )
post . topic . update_pinned ( true )
end
2013-12-15 20:46:46 -05:00
end
2014-07-24 14:27:34 -04:00
unless Rails . env . test?
def create_static_page_topic ( site_setting_key , title_key , body_key , body_override , category , description , params = { } )
unless SiteSetting . send ( site_setting_key ) > 0
post = PostCreator . create ( Discourse . system_user ,
title : I18n . t ( title_key , default : I18n . t ( title_key , locale : :en ) ) ,
raw : body_override . present? ? body_override : I18n . t ( body_key , params . merge ( default : I18n . t ( body_key , params . merge ( locale : :en ) ) ) ) ,
skip_validations : true ,
category : category ? category . name : nil )
raise " Failed to create the #{ description } topic! #{ post . errors . full_messages . join ( '. ' ) } " unless post . valid?
SiteSetting . send ( " #{ site_setting_key } = " , post . topic_id )
reply = PostCreator . create ( Discourse . system_user ,
raw : I18n . t ( 'static_topic_first_reply' , page_name : I18n . t ( title_key , default : I18n . t ( title_key , locale : :en ) ) ) ,
skip_validations : true ,
topic_id : post . topic_id )
end
end
create_static_page_topic ( 'tos_topic_id' , 'tos_topic.title' , " tos_topic.body " , nil , staff , " terms of service " , {
company_domain : SiteSetting . company_domain ,
company_full_name : SiteSetting . company_full_name ,
company_name : SiteSetting . company_short_name
} )
create_static_page_topic ( 'guidelines_topic_id' , 'guidelines_topic.title' , " guidelines_topic.body " ,
( SiteContent . content_for ( :faq ) rescue nil ) , staff , " guidelines " )
create_static_page_topic ( 'privacy_topic_id' , 'privacy_topic.title' , " privacy_topic.body " ,
( SiteContent . content_for ( :privacy_policy ) rescue nil ) , staff , " privacy policy " )
end