mirror of
https://github.com/ENSL/ensl.org.git
synced 2024-12-30 14:31:12 +00:00
53 lines
1.1 KiB
Ruby
53 lines
1.1 KiB
Ruby
# == Schema Information
|
|
#
|
|
# Table name: maps
|
|
#
|
|
# id :integer not null, primary key
|
|
# name :string(255)
|
|
# download :string(255)
|
|
# created_at :datetime
|
|
# updated_at :datetime
|
|
# deleted :boolean default(FALSE), not null
|
|
# picture :string(255)
|
|
# category_id :integer
|
|
#
|
|
|
|
class Map < ActiveRecord::Base
|
|
include Extra
|
|
|
|
attr_protected :id, :updated_at, :created_at, :deleted
|
|
|
|
has_and_belongs_to_many :contests
|
|
|
|
scope :basic, -> { where(deleted: false).order("name") }
|
|
scope :with_name, -> (name) { where(name: name) }
|
|
scope :classic, -> { where("name LIKE 'ns_%'") }
|
|
scope :of_category,
|
|
lambda { |category| {
|
|
:conditions => {:category_id => category.id} }}
|
|
|
|
validates_length_of :name, :maximum => 20
|
|
validates_length_of :download, :maximum => 100
|
|
|
|
mount_uploader :picture, MapUploader
|
|
|
|
def to_s
|
|
name
|
|
end
|
|
|
|
def destroy
|
|
update_attribute :deleted, true
|
|
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
|