Sha256: 4d2a06aa4b946706529e28d49f80451bd3dd840734afaf1433ed8ba096354472

Contents?: true

Size: 760 Bytes

Versions: 5

Compression:

Stored size: 760 Bytes

Contents

class Menu < ActiveRecord::Base
  validates :name, :presence => true
  validates :single_key, :if => Proc.new {|c| c.single_key}, :uniqueness => true

  has_and_belongs_to_many :categories,
    :readonly => true,
    :join_table => 'categories_elements',
    :foreign_key => 'element_id',
    :association_foreign_key => 'category_id',
    :class_name => 'MenuCategory'

  has_many :menu_links,
    :dependent => :destroy,
    :order => 'position'
  accepts_nested_attributes_for :menu_links, :allow_destroy => true

  define_index do
    indexes name, :sortable => true
  end

  def activate
    self.update_attribute('active', !self.active)
  end

  def clone
    menu = super
    menu.menu_links = self.menu_links.collect(&:clone)
    return menu
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
forgeos_cms-1.9.5.rc1 app/models/menu.rb
forgeos_cms-1.9.4 app/models/menu.rb
forgeos_cms-1.9.2 app/models/menu.rb
forgeos_cms-1.9.1 app/models/menu.rb
forgeos_cms-1.9.0 app/models/menu.rb