mirror of
https://github.com/ENSL/ensl.org.git
synced 2025-05-31 00:41:20 +00:00
Purged git history and removed sensitive information.
This commit is contained in:
commit
6bcc8dc76b
862 changed files with 25312 additions and 0 deletions
70
app/models/category.rb
Normal file
70
app/models/category.rb
Normal file
|
@ -0,0 +1,70 @@
|
|||
class Category < ActiveRecord::Base
|
||||
include Extra
|
||||
|
||||
MAIN = 1
|
||||
SPECIAL = 10
|
||||
INTERVIEWS = 11
|
||||
RULES = 36
|
||||
|
||||
DOMAIN_NEWS = 0
|
||||
DOMAIN_ARTICLES = 1
|
||||
DOMAIN_ISSUES = 2
|
||||
DOMAIN_SITES = 3
|
||||
DOMAIN_FORUMS = 4
|
||||
DOMAIN_MOVIES = 5
|
||||
DOMAIN_GAMES = 6
|
||||
|
||||
PER_PAGE = 3
|
||||
|
||||
attr_protected :id, :updated_at, :created_at, :sort
|
||||
|
||||
validates_length_of :name, :in => 1..30
|
||||
validate :validate_domain
|
||||
|
||||
scope :ordered, :order => "sort ASC, created_at DESC"
|
||||
scope :domain, lambda { |domain| {:conditions => {:domain => domain}} }
|
||||
scope :nospecial, :conditions => ["name != 'Special'"]
|
||||
scope :newest, :include => :articles, :order => "articles.created_at DESC"
|
||||
scope :page, lambda { |page| {:limit => "#{(page-1)*PER_PAGE}, #{(page-1)*PER_PAGE+PER_PAGE}"} }
|
||||
scope :of_user, lambda { |user| {:conditions => {"articles.user_id" => user.id}, :include => :articles} }
|
||||
|
||||
has_many :articles, :order => "created_at DESC"
|
||||
has_many :issues, :order => "created_at DESC"
|
||||
has_many :forums, :order => "forums.position"
|
||||
has_many :movies
|
||||
has_many :maps
|
||||
has_many :gathers
|
||||
has_many :servers
|
||||
|
||||
acts_as_readable
|
||||
|
||||
def to_s
|
||||
name
|
||||
end
|
||||
|
||||
def domains
|
||||
{DOMAIN_NEWS => 'News',
|
||||
DOMAIN_ARTICLES => 'Articles',
|
||||
DOMAIN_ISSUES => 'Issues',
|
||||
DOMAIN_SITES => "Sites",
|
||||
DOMAIN_FORUMS => "Forums",
|
||||
DOMAIN_MOVIES => "Movies",
|
||||
DOMAIN_GAMES => "Games"}
|
||||
end
|
||||
|
||||
def validate_domain
|
||||
errors.add :domain, I18n.t(:invalid_domain) unless domains.include? domain
|
||||
end
|
||||
|
||||
def can_create? cuser
|
||||
cuser and cuser.admin?
|
||||
end
|
||||
|
||||
def can_update? cuser
|
||||
cuser and cuser.admin?
|
||||
end
|
||||
|
||||
def can_destroy? cuser
|
||||
cuser and cuser.admin?
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue