Tag functionalities for new UI

This commit is contained in:
chris committed 2013-04-23 20:18:03 +08:00
1 parent ff03d66439
commit bf3d20ea46
25 files changed
+212 -30

No files matched your search

+6 -1
View File
@@ -8,7 +8,7 @@ class ModuleApp
field :title
field :sidebar_order,type: Integer,default: 0
has_many :tags, as: :module_tag, dependent: :destroy
has_and_belongs_to_many :module_tags, dependent: :destroy
def refetch_setting!(reg)
# %w{module_label category base_url version organization author intro update_info create_date}.each do |field|
@@ -19,6 +19,7 @@ class ModuleApp
self[:get_widget_style] = reg.get_widgets
self[:using_default_widget] = !reg.get_default_widget.blank?
self[:widgets] = reg.get_widgets
self[:has_tag] = reg.get_has_tags
end
@@ -136,4 +137,8 @@ class ModuleApp
self.where(key: key)[0] rescue nil
end
def tags
self.module_tags.map{|t| t.tag }
end
end
+21
View File
@@ -0,0 +1,21 @@
class ModuleTag
include Mongoid::Document
include Mongoid::Timestamps
field :is_default, type: Boolean, deault: false
has_one :tag, as: :tag_lease, dependent: :destroy, autosave: true
has_and_belongs_to_many :module_apps
after_initialize :init_tag
private
def init_tag
if new_record?
self.build_tag(name_translations: self.name_translations, is_default: self.is_default)
self.remove_attribute(:name_translations)
end
end
end
+4 -5
View File
@@ -11,14 +11,13 @@ class Tag
is_impressionable :counter_cache => { :column_name => :view_count }
field :name, localize: true
field :view_count, :type => Integer, :default => 0
field :cloud_view_count, :type => Integer, :default => 0
field :cloud_view_count, type: Integer, default: 0
field :is_default, type: Boolean, deault: false
field :view_count, type: Integer, default: 0
belongs_to :module_tag, polymorphic: true
belongs_to :tag_lease, polymorphic: true, dependent: :destroy
has_many :taggings, dependent: :destroy
#field :cloud_amper,:type: Integer,:default=> 0
def self.sorted_for_cloud
tags = {}
self.all.each{ |tag|