2011-03-02 09:28:33 +00:00
# encoding: utf-8
2011-01-28 06:44:08 +00:00
2010-01-18 08:23:33 +00:00
namespace :dev do
task :build = > :environment do
2011-03-02 09:28:33 +00:00
puts 'Empty the MongoDB database, exclude System stuff'
Mongoid . master . collections . select do | collection |
include = collection . name !~ / system /
puts 'Dropping ' + collection . name if include
include
end . each ( & :drop )
Site . create! ( :valid_locales = > [ 'en' , 'zh_tw' ] , :in_use_locales = > [ 'zh_tw' , 'en' ] )
2010-03-04 09:11:18 +00:00
2011-03-02 09:28:33 +00:00
user = User . new ( :email = > 'chris@rulingcom.com' , :password = > 'password' , :password_confirmation = > 'password' , :admin = > true , :active_roles = > [ 'teacher' ] )
user . user_roles . build ( :key = > 'teacher' , :discipline_en = > 'Database' , :discipline_zh_tw = > '數據庫' )
user . save!
I18nVariable . create! ( :document_class = > 'language' , :key = > 'en' , :en = > 'English' , :zh_tw = > '英文' )
I18nVariable . create! ( :document_class = > 'language' , :key = > 'zh_tw' , :en = > 'Chinese' , :zh_tw = > '中文' )
var_1 = I18nVariable . create! ( :document_class = > 'UserRoleModel' , :key = > 'teacher' , :en = > 'Teacher' , :zh_tw = > '老師' )
var_2 = I18nVariable . create! ( :document_class = > 'AttributeModel' , :key = > 'discipline' , :en = > 'Discipline' , :zh_tw = > '學科' , :parent_id = > var_1 . id )
var_3 = I18nVariable . create! ( :document_class = > 'AttributeModel' , :key = > 'department' , :en = > 'Department' , :zh_tw = > '學系' , :parent_id = > var_1 . id )
var_4 = I18nVariable . create! ( :document_class = > 'UserRoleModel' , :key = > 'student' , :en = > 'Student' , :zh_tw = > '學生' )
var_5 = I18nVariable . create! ( :document_class = > 'AttributeModel' , :key = > 'department' , :en = > 'Department' , :zh_tw = > '學系' , :parent_id = > var_4 . id )
var_6 = I18nVariable . create! ( :document_class = > 'AttributeModel' , :key = > 'major' , :en = > 'Major' , :zh_tw = > '主修' , :parent_id = > var_4 . id )
var_7 = I18nVariable . create! ( :document_class = > 'UserInfoModel' , :key = > 'profile' , :en = > 'Profile' , :zh_tw = > '個人檔案' )
var_8 = I18nVariable . create! ( :document_class = > 'AttributeModel' , :key = > 'family_name' , :en = > 'Family name' , :zh_tw = > '姓氏' , :parent_id = > var_7 . id )
var_9 = I18nVariable . create! ( :document_class = > 'AttributeModel' , :key = > 'first_name' , :en = > 'First name' , :zh_tw = > '名字' , :parent_id = > var_7 . id )
var_10 = I18nVariable . create! ( :document_class = > 'Home' , :key = > 'home' , :en = > 'Homepage' , :zh_tw = > '首頁' )
var_11 = I18nVariable . create! ( :document_class = > 'Page' , :key = > 'about' , :en = > 'About' , :zh_tw = > '關於我們' )
var_12 = I18nVariable . create! ( :document_class = > 'Link' , :key = > 'google' , :en = > 'Google' , :zh_tw = > 'Google' )
2011-05-27 03:27:54 +00:00
var_13 = I18nVariable . create! ( :document_class = > 'PagePart' , :key = > 'main_content' , :en = > 'This is the homepage' , :zh_tw = > '這是首頁' , :parent_id = > var_10 . id )
var_14 = I18nVariable . create! ( :document_class = > 'PagePart' , :key = > 'main_content' , :en = > 'This is about' , :zh_tw = > '這是關於' , :parent_id = > var_11 . id )
2011-01-28 06:44:08 +00:00
2011-05-18 02:00:00 +00:00
# TODO: modify for the new model
2011-05-02 04:07:31 +00:00
urm_1 = UserRoleModel . new ( :key = > 'teacher' , :i18n_variable_id = > var_1 . id , :built_in = > true )
urm_1 . attribute_models . build ( :key = > 'discipline' , :locale = > true , :i18n_variable_id = > var_2 . id , :markup = > 'text_field' , :list_options = > [ ] , :built_in = > true )
urm_1 . attribute_models . build ( :key = > 'department' , :locale = > true , :i18n_variable_id = > var_3 . id , :markup = > 'text_field' , :list_options = > [ ] , :built_in = > true )
2011-03-02 09:28:33 +00:00
urm_1 . save!
urm_2 = UserRoleModel . new ( :key = > 'student' , :i18n_variable_id = > var_4 . id )
urm_2 . attribute_models . build ( :key = > 'department' , :locale = > true , :i18n_variable_id = > var_5 . id , :markup = > 'text_field' , :list_options = > [ ] )
urm_2 . attribute_models . build ( :key = > 'major' , :locale = > true , :i18n_variable_id = > var_6 . id , :markup = > 'text_field' , :list_options = > [ ] )
urm_2 . save!
2011-05-02 04:07:31 +00:00
uim_1 = UserInfoModel . new ( :key = > 'profile' , :i18n_variable_id = > var_7 . id , :built_in = > true )
2011-05-02 05:23:39 +00:00
uim_1 . attribute_models . build ( :key = > 'family_name' , :locale = > true , :i18n_variable_id = > var_8 . id , :markup = > 'text_field' , :list_options = > [ ] , :built_in = > true )
uim_1 . attribute_models . build ( :key = > 'first_name' , :locale = > true , :i18n_variable_id = > var_9 . id , :markup = > 'text_field' , :list_options = > [ ] , :built_in = > true )
2011-03-02 09:28:33 +00:00
uim_1 . save!
2011-01-28 06:44:08 +00:00
2011-05-18 02:00:00 +00:00
layout = Layout . create! ( :name = > 'root' , :description = > 'root' , :content = > File . open ( " #{ RAILS_ROOT } /lib/template/root.layout " ) . read )
layout . layout_parts . create! ( :name = > 'header' , :content = > " <r:language_bar /><r:snippet name='nav' /> " )
layout . layout_parts . create! ( :name = > 'main_content' )
layout . layout_parts . create! ( :name = > 'footer' , :content = > " <r:snippet name='footer' /> " )
home = Page . create! ( :i18n_variable_id = > var_10 . id , :layout_id = > layout . id , :name = > 'home' , :is_published = > true )
2011-05-27 03:27:54 +00:00
home . page_parts . create! ( :name = > 'main_content' , :content = > " <r:locale en='This is the homepage' zh_tw='這是首頁' /> " , :kind = > 'text' , :i18n_variable_id = > var_13 . id )
2011-03-02 09:28:33 +00:00
2011-05-18 02:00:00 +00:00
about = Page . create! ( :i18n_variable_id = > var_11 . id , :layout_id = > layout . id , :name = > 'about' , :is_published = > true , :parent_id = > home . id )
2011-05-27 03:27:54 +00:00
about . page_parts . create! ( :name = > 'main_content' , :content = > " <r:locale en='This is about' zh_tw='這是關於' /> " , :kind = > 'text' , :i18n_variable_id = > var_14 . id )
2011-03-02 09:28:33 +00:00
Link . create! ( :i18n_variable_id = > var_12 . id , :name = > 'google' , :is_published = > true , :parent_id = > home . id , :url = > 'www.google.com' )
[ " nav " , " footer " ] . each do | page_name |
Snippet . create! ( :name = > page_name , :parent_id = > home . id , :content = > File . open ( " #{ RAILS_ROOT } /lib/template/ #{ page_name } .snippet " ) . read )
end
2010-01-18 08:23:33 +00:00
end
end