2014-10-27 11:01:37 +00:00
|
|
|
class RegisteredSite
|
|
|
|
include Mongoid::Document
|
|
|
|
include Mongoid::Timestamps
|
2014-12-02 12:21:20 +00:00
|
|
|
include OrbitTag::Taggable
|
|
|
|
include OrbitCategory::Categorizable
|
2014-10-27 11:01:37 +00:00
|
|
|
include Slug
|
|
|
|
|
|
|
|
field :site_domain
|
2014-12-02 12:21:20 +00:00
|
|
|
field :title, as: :slug_title, localize: true
|
|
|
|
field :description, localize: true
|
2014-10-27 11:01:37 +00:00
|
|
|
field :access_granted, type: Boolean, :default => false
|
|
|
|
field :admin_email
|
|
|
|
field :site_confirmed, type: Boolean, :default => false
|
|
|
|
field :confirmation_token
|
|
|
|
|
2014-12-04 13:59:49 +00:00
|
|
|
has_many :site_logs
|
2014-12-30 11:47:51 +00:00
|
|
|
has_many :installed_modules
|
2015-08-19 05:28:50 +00:00
|
|
|
has_many :tickets
|
2014-12-04 13:59:49 +00:00
|
|
|
|
2014-10-27 11:01:37 +00:00
|
|
|
index({ confirmation_token: 1}, { unique: true })
|
2014-12-30 11:47:51 +00:00
|
|
|
scope :active, ->{where(:access_granted => true,:site_confirmed => true)}
|
2014-10-27 11:01:37 +00:00
|
|
|
|
|
|
|
def site_token
|
|
|
|
self.uid
|
|
|
|
end
|
|
|
|
|
|
|
|
def generate_confirmation_token
|
2014-12-30 11:47:51 +00:00
|
|
|
self.confirmation_token = SecureRandom.hex(5)
|
|
|
|
self.save
|
2014-10-27 11:01:37 +00:00
|
|
|
end
|
|
|
|
|
2014-12-02 12:21:20 +00:00
|
|
|
def active?
|
|
|
|
return self.access_granted && self.site_confirmed
|
|
|
|
end
|
2014-10-27 11:01:37 +00:00
|
|
|
end
|