Asset changes, add description

This commit is contained in:
Christophe Vilayphiou committed 2012-05-17 18:31:40 +08:00
1 parent 29c54e6480
commit c9cbec4239
3 files changed
+36 -16

No files matched your search

+25 -3
View File
@@ -7,17 +7,39 @@ class Asset
field :filename
field :description
has_one :title, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy
has_one :description, :class_name => "I18nVariable", :as => :language_value, :autosave => true, :dependent => :destroy
has_one :i18n_variable, :as => :language_value, :autosave => true, :dependent => :destroy
validates_presence_of :filename, :data, :asset_category_id
validates_presence_of :title, :data, :description
belongs_to :asset_category
belongs_to :assetable, polymorphic: true
has_and_belongs_to_many :tags, :class_name => "AssetTag"
before_save :set_key
def title
@title ||= I18nVariable.first(:conditions => {:key => 'title', :language_value_id => self.id, :language_value_type => self.class}) rescue nil
end
def description
@description ||= I18nVariable.first(:conditions => {:key => 'description', :language_value_id => self.id, :language_value_type => self.class}) rescue nil
end
def sorted_tags
tags.order_by(I18n.locale, :asc)
end
protected
def set_key
if title.new_record?
title.key = 'title'
end
if description.new_record?
description.key = 'description'
end
end
end