class Site include Mongoid::Document include Mongoid::Timestamps include Slug field :title, as: :slug_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 => "zh_tw" 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 field :month_traffic_cache mount_uploader :default_image, ImageUploader mount_uploader :site_logo, ImageUploader mount_uploader :favicon, ImageUploader mount_uploader :mobile_icon, ImageUploader 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