Tag functionalities for new UI
This commit is contained in:
1 parent
ff03d66439
commit
bf3d20ea46
25 files changed
+212
-30
No files matched your search
@@ -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
|
||||
@@ -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
@@ -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|
|
||||
|
||||
Reference in new issue
Block a user