forked from saurabh/orbit4-5
67 lines
2.3 KiB
Ruby
67 lines
2.3 KiB
Ruby
class Site
|
|
include Mongoid::Document
|
|
include Mongoid::Timestamps
|
|
|
|
field :title, type: String, localize: true
|
|
field :school, type: String
|
|
field :department, type: String
|
|
field :address, type: String
|
|
field :footer, localize: true
|
|
field :sub_menu, localize: true
|
|
field :site_map_link, type: String, :default => "/sitemap"
|
|
field :terms_of_use_link, type: String
|
|
field :google_analytics, type: String
|
|
field :in_use_locales, :type => Array
|
|
field :valid_locales, :type => Array
|
|
field :site_active, :type => Boolean
|
|
field :frontend_open, :type => Boolean, :default => true
|
|
field :backend_openness_on, :type => Boolean, :default => false
|
|
field :mobile_api_openness_on, :type => Boolean, :default => false
|
|
field :desktop_closed, :type => Boolean, :default => false
|
|
field :enable_language_detection, :type => Boolean, :default => false
|
|
field :enable_zh_cn, :type => Boolean, :default => true
|
|
field :default_locale, :default => "en"
|
|
field :mobile_on, :type => Boolean, :default => false
|
|
field :announcement_category, :type => Array, :default=>[]
|
|
field :mobile_bar_color, :type => Array, :default=>[]
|
|
field :phone_number, :type => Array,:default=>[]
|
|
field :title_always_on, :type => Boolean, :default => false
|
|
field :sitemap_menu_in_header, :type => Boolean, :default => false
|
|
field :enable_terms_of_use, :type => Boolean, :default => false
|
|
field :search,:type => Hash
|
|
field :site_settings
|
|
field :template, type: String
|
|
field :site_token
|
|
field :store_confirmation, type: Boolean, default: false
|
|
|
|
mount_uploader :default_image, ImageUploader
|
|
mount_uploader :site_logo, ImageUploader
|
|
mount_uploader :favicon, ImageUploader
|
|
mount_uploader :mobile_icon, ImageUploader
|
|
def to_param
|
|
I18n.locale = :en
|
|
title.parameterize
|
|
end
|
|
|
|
def confirm_store(site_token)
|
|
if self.site_token.eql?(site_token)
|
|
self.store_confirmation = true
|
|
self.save
|
|
end
|
|
end
|
|
|
|
def generate_site_token
|
|
if self.site_token.nil?
|
|
self.site_token = SecureRandom.uuid.gsub('-','')
|
|
self.save
|
|
end
|
|
end
|
|
|
|
def register_site(url,university,department,email,country)
|
|
api_key = STORE_CONFIG[:store_settings]["api_key"]
|
|
self.generate_site_token
|
|
store = Store.new(self.id.to_s,self.site_token,api_key)
|
|
store.post_client(self.id.to_s,self.site_token,self.title,url,university,department,email,country)
|
|
end
|
|
end
|