# Load the Rails application.
require File.expand_path('../application', __FILE__)

# Initialize the Rails application.
Orbit::Application.initialize!
Orbit::Application.config.secret_key_base = 'acc6ffc5a7d360c9cf2a7bdb4ddf9a897942ec6767413a5c0324a0fa8b86197a96298288a66bd46d8770d8b6edf509aad65716961c2c364ce006b475e6cfd418'
OrbitApp.cleanup_modules
OrbitApp.check_module_permissions

if Site.count == 0
  site = Site.new
  site.title_translations = {:en=>"Orbit",:zh_tw=>"Orbit"}
  site.valid_locales = [:en, :zh_tw]
  site.in_use_locales = site.valid_locales
  site.site_type = "orbit"
  site.template = (Dir.glob("#{Rails.root}/app/templates/*").collect{|temp| temp.split('/').last}-['mobile']).first
  site.save
end

if Site.first.template.nil?
  site = Site.first
  site.template = (Dir.glob("#{Rails.root}/app/templates/*").collect{|temp| temp.split('/').last}-['mobile']).first
  site.save
end

if Page.count == 0
  home = Page.new
  home.name_translations = {:en=>"Home",:zh_tw=>"首頁"}
  home.url = "/"
  home.save
end

if Page.where(:module=>"sitemap").blank?
  sitemap = Page.new
  sitemap.module = "sitemap"
  sitemap.page_id = "sitemap"
  sitemap.name_translations = {:en=>"Sitemap",:zh_tw=>"網站地圖"}
  sitemap.enabled_for = ["en", "zh_tw"]
  sitemap.menu_enabled_for = []
  sitemap.url = "/sitemap"
  sitemap.parent_page_id = Page.root.id
  sitemap.save
end

if Page.where(:page_id=>'termofuse').blank?
  termofuse = Page.new
  termofuse.module = "page_content"
  termofuse.page_id = "termofuse"
  termofuse.name_translations = {:en=>"Term of use",:zh_tw=>"使用規則"}
  termofuse.enabled_for = ["en", "zh_tw"]
  termofuse.menu_enabled_for = []
  termofuse.url = "/termofuse"
  termofuse.parent_page_id = Page.root.id
  termofuse.save

  page = PageContext.new
  page.content_translations = {:en=>"", :zh_tw=>""}
  page.version = 1
  page.save
  termofuse.page_contexts << page

  site = Site.first
  site.terms_of_use_link = "/termofuse"
  site.save
end

if Workgroup.count == 0
  groups = [{"title"=>"Administrator", "key"=>"admin"},
                    {"title"=>"Sub Managers", "key"=>"sub_managers"},
                    {"title"=>"Managers", "key"=>"managers"}]
  groups.each do |group|
    workgroup = Workgroup.new
    workgroup.title = group["title"]
    workgroup.key = group["key"]
    workgroup.save
  end
end

if Role.count==0

  #teacher
  role = Role.new
  role.key = 'teacher'
  role.title_translations = {:en=>'Teacher', :zh_tw=>'老師'}
  role.save

  role_status = RoleStatus.new
  role_status.key = 'Full-Time'
  role_status.role_id = role.id
  role_status.title_translations = {:en=>'Full-Time', :zh_tw=>'專任'}
  role_status.save

  role_status = RoleStatus.new
  role_status.key = 'Adjunct'
  role_status.role_id = role.id
  role_status.title_translations = {:en=>'Adjunct', :zh_tw=>'兼任'}
  role_status.save

  role_status = RoleStatus.new
  role_status.key = 'appointment'
  role_status.role_id = role.id
  role_status.title_translations = {:en=>'appointment', :zh_tw=>'合聘'}
  role_status.save

  attribute_field = AttributeField.new
  attribute_field.key = 'job_title'
  attribute_field.role_id = role.id
  attribute_field.title_translations = {:en=>'Job Title', :zh_tw=>'職稱'}
  attribute_field.markup = 'select'
  attribute_field.option_list = { 
    "0" => { "zh_tw" => "教授兼系主任",
      "en" => "Professor and Chairman" },
    "1" => { "zh_tw" => "教授",
      "en" => "Professor" },
    "2" => { "zh_tw" => "副教授",
      "en" => "Associate Professor" },
    "3" => { "zh_tw" => "助理教授",
      "en" => "Assistant Professor" }, 
    "4" => { "zh_tw" => "講師",
      "en" => "Lecturer" } 
  }

  attribute_field.typeB = { 
    "initial" => { "zh_tw" => "",
      "en" => "" },
    "option_list" => { 
      "0" => { "zh_tw" => "教授兼系主任",
        "en" => "Professor and Chairman" },
      "1" => { "zh_tw" => "教授",
        "en" => "Professor" },
      "2" => { "zh_tw" => "副教授",
        "en" => "Associate Professor" },
      "3" => { "zh_tw" => "助理教授",
        "en" => "Assistant Professor" }, 
      "4" => { "zh_tw" => "講師",
        "en" => "Lecturer" } 
     } }

  attribute_field.save

  attribute_field = AttributeField.new
  attribute_field.key = 'Research_Expertise'
  attribute_field.role_id = role.id
  attribute_field.title_translations = {:en=>'Research Expertise', :zh_tw=>'研究專長'}
  attribute_field.markup = 'text_area'
  attribute_field.save

  attribute_field = AttributeField.new
  attribute_field.key = 'Teaching_Field'
  attribute_field.role_id = role.id
  attribute_field.title_translations = {:en=>'Teaching Field', :zh_tw=>'授課領域'}
  attribute_field.markup = 'text_area'
  attribute_field.save

  #satff
  role = Role.new
  role.key = 'staff'
  role.title_translations = {:en=>'Staff', :zh_tw=>'行政人員'}
  role.save

  role_status = RoleStatus.new
  role_status.key = 'Full-Time'
  role_status.role_id = role.id
  role_status.title_translations = {:en=>'Full-Time', :zh_tw=>'全職'}
  role_status.save

  role_status = RoleStatus.new
  role_status.key = 'Part-time'
  role_status.role_id = role.id
  role_status.title_translations = {:en=>'Part-time', :zh_tw=>'兼職'}
  role_status.save

  role_status = RoleStatus.new
  role_status.key = 'Contracted'
  role_status.role_id = role.id
  role_status.title_translations = {:en=>'Contracted', :zh_tw=>'約聘'}
  role_status.save

  attribute_field = AttributeField.new
  attribute_field.key = 'job_title'
  attribute_field.role_id = role.id
  attribute_field.title_translations = {:en=>'Job Title', :zh_tw=>'職稱'}
  attribute_field.markup = 'select'
  attribute_field.option_list = { 
    "0" => { "zh_tw" => "組長",
      "en" => "Group Leader" },
    "1" => { "zh_tw" => "編審",
      "en" => "Editor" },
    "2" => { "zh_tw" => "技士",
      "en" => "Technician" },
    "3" => { "zh_tw" => "幹事",
      "en" => "Assistant" }, 
    "4" => { "zh_tw" => "組員",
      "en" => "Clerk" } , 
    "5" => { "zh_tw" => "工讀",
      "en" => "Work-study" } 
  }

  attribute_field.typeB = { 
    "initial" => { "zh_tw" => "",
      "en" => "" },
    "option_list" => { 
    "0" => { "zh_tw" => "組長",
      "en" => "Group Leader" },
    "1" => { "zh_tw" => "編審",
      "en" => "Editor" },
    "2" => { "zh_tw" => "技士",
      "en" => "Technician" },
    "3" => { "zh_tw" => "幹事",
      "en" => "Assistant" }, 
    "4" => { "zh_tw" => "組員",
      "en" => "Clerk" } , 
    "5" => { "zh_tw" => "工讀",
      "en" => "Work-study" } 
  } }

  attribute_field.save

  attribute_field = AttributeField.new
  attribute_field.key = 'Duties'
  attribute_field.role_id = role.id
  attribute_field.title_translations = {:en=>'Duties', :zh_tw=>'承辦業務'}
  attribute_field.markup = 'text_area'
  attribute_field.save

  attribute_field = AttributeField.new
  attribute_field.key = 'Deputy'
  attribute_field.role_id = role.id
  attribute_field.title_translations = {:en=>'Deputy', :zh_tw=>'代理人'}
  attribute_field.markup = 'text_area'
  attribute_field.save

end

if User.count==0
  group = Workgroup.where(:key=>'admin').first
  profile = MemberProfile.new
  profile.first_name_translations = {:en=>'Digital', :zh_tw=>'Digital'}
  profile.last_name_translations = {:en=>'Ruling', :zh_tw=>'Ruling'}
  profile.email = "orbit@rulingcom.com"
  profile.save

  user = User.new
  user.workgroup = group
  user.member_profile = profile
  user.user_name = "rulingcom"
  user.password = "Ab-5508881"
  user.email = "orbit@rulingcom.com"
  user.approved = true
  user.save

  profile = MemberProfile.new
  profile.first_name_translations = {:en=>'Admin', :zh_tw=>'Admin'}
  profile.last_name_translations = {:en=>'Admin', :zh_tw=>'Admin'}
  profile.email = "service@rulingcom.com"
  profile.save

  user = User.new
  user.workgroup = group
  user.member_profile = profile
  user.user_name = "admin"
  user.password = "Ab-5508881"
  user.email = "service@rulingcom.com"
  user.approved = true
  user.save

end