Sha256: 32703d6eda065efe8f5e9c7495556ddd4665f6d13235c57f63aca3802a7c11eb

Contents?: true

Size: 563 Bytes

Versions: 5

Compression:

Stored size: 563 Bytes

Contents

class Cms::PageWorkflow < ActiveRecord::Base
  self.table_name = 'cms_page_workflows'

  belongs_to :page, :foreign_key => 'cms_page_id'

  after_save do |record|
    record.page.update_attribute(:is_published, record.page_published?)
  end

  def self.statuses
    {
      0 => :draft,
      1 => :reviewed,
      # 2 => :scheduled,
      3 => :published
    }
  end

  def self.statuses_for_select
    self.statuses.map {|k,v| [v.to_s.titleize, k]}
  end

  def page_published?
    status_id.eql?(3) || status_id.eql?(2) && published_date < Time.now
  end

end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
cms-fortress-1.0.4 app/models/cms/page_workflow.rb
cms-fortress-1.0.3 app/models/cms/page_workflow.rb
cms-fortress-1.0.2 app/models/cms/page_workflow.rb
cms-fortress-1.0.1 app/models/cms/page_workflow.rb
cms-fortress-1.0.0 app/models/cms/page_workflow.rb