Method: OCms::Page#assign_attributes

Defined in:
app/models/o_cms/page.rb

#assign_attributes(new_attributes) ⇒ Object



69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# File 'app/models/o_cms/page.rb', line 69

def assign_attributes(new_attributes)
  if new_attributes[:status]
    status = new_attributes[:status]
    published_at = new_attributes[:published_at]

    if DRAFT_STATUS == status
      published_at = nil
    elsif PUBLISHED_STATUS == status && published_at.blank?
      published_at = Time.current
    end

    new_attributes.delete(:status)
    new_attributes[:published_at] = published_at
   end

  super
end