New UI changes(tags, categories, authorisations, module index…)
To run: - ruby lib/remove_old_tags.rb DB_NAME - rake new_ui:migrate_tags - rake new_ui:migrate_categories['APP_KEY,''MODEL_NAME'] (check new_ui.rake for more details)
This commit is contained in:
1 parent
07b3857465
commit
856898016b
1495 files changed
+52132
-9876
No files matched your search
@@ -3,7 +3,6 @@ class Asset
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
include OrbitTag::Taggable
|
||||
taggable
|
||||
|
||||
mount_uploader :data, FileAssetUploader
|
||||
|
||||
@@ -18,7 +17,6 @@ class Asset
|
||||
|
||||
belongs_to :asset_category
|
||||
belongs_to :assetable, polymorphic: true
|
||||
# has_and_belongs_to_many :tags, :class_name => "AssetTag"
|
||||
|
||||
before_save :clean_tags
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
class BufferCategory
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
|
||||
belongs_to :category
|
||||
belongs_to :categorizable, polymorphic: true
|
||||
|
||||
before_destroy :remove_categorizable_category_id
|
||||
|
||||
private
|
||||
|
||||
def remove_categorizable_category_id
|
||||
self.categorizable.remove_id(self.category.id)
|
||||
end
|
||||
|
||||
end
|
||||
@@ -0,0 +1,37 @@
|
||||
class Category
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
include OrbitCoreLib::ObjectAuthable
|
||||
|
||||
field :disable, type: Boolean, default: false
|
||||
field :title, localize: true
|
||||
|
||||
validates :title, :at_least_one => true
|
||||
|
||||
belongs_to :module_app
|
||||
has_many :buffer_categories
|
||||
|
||||
scope :enabled, where(:disable.in => [false, nil, ''])
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
# base.instance_eval("scope :admin_manager_all,find(:all)")
|
||||
|
||||
# base.define_singleton_method :find do |*args|
|
||||
# if args ==[:all]
|
||||
# unscoped
|
||||
# else
|
||||
# res = unscoped.find(args)
|
||||
# res.count == 1 ? res[0] : res
|
||||
# end
|
||||
# end
|
||||
|
||||
# base.define_singleton_method :first do |*args|
|
||||
# all.first
|
||||
# end
|
||||
|
||||
# base.define_singleton_method :last do |*args|
|
||||
# all.last
|
||||
# end
|
||||
@@ -8,7 +8,8 @@ class ModuleApp
|
||||
field :title
|
||||
field :sidebar_order,type: Integer,default: 0
|
||||
|
||||
has_many :tags, as: :module_tag, dependent: :destroy
|
||||
has_many :categories, dependent: :destroy
|
||||
has_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|
|
||||
@@ -20,6 +21,8 @@ class ModuleApp
|
||||
self[:using_default_widget] = !reg.get_default_widget.blank?
|
||||
self[:widgets] = reg.get_widgets
|
||||
self[:has_tag] = reg.get_has_tags
|
||||
self[:has_category] = reg.get_has_category
|
||||
self[:is_authorizable] = reg.get_is_authorizable
|
||||
end
|
||||
|
||||
|
||||
@@ -159,4 +162,8 @@ class ModuleApp
|
||||
end
|
||||
end
|
||||
|
||||
def tags
|
||||
self.module_tags.map{|t| t.tag }
|
||||
end
|
||||
|
||||
end
|
||||
@@ -0,0 +1,46 @@
|
||||
class ModuleTag
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
|
||||
field :is_default, type: Boolean, default: false
|
||||
field :name, localize: true
|
||||
|
||||
has_one :tag, as: :tag_lease, autosave: true
|
||||
belongs_to :module_app
|
||||
|
||||
belongs_to :parent, :class_name => 'ModuleTag', :inverse_of => :children
|
||||
has_many :children, :class_name => 'ModuleTag', :inverse_of => :parent, autosave: true, dependent: :destroy
|
||||
|
||||
validates :name, :at_least_one => true
|
||||
|
||||
before_save :init_update_tag
|
||||
before_destroy :destroy_tag
|
||||
|
||||
after_save :update_children
|
||||
|
||||
private
|
||||
|
||||
def destroy_tag
|
||||
Tag.without_callback(:destroy, :before, :destroy_module_tag) do
|
||||
self.tag.destroy
|
||||
end
|
||||
end
|
||||
|
||||
def init_update_tag
|
||||
if self.new_record?
|
||||
self.build_tag(name_translations: self.name_translations, is_default: self.is_default)
|
||||
else
|
||||
self.tag.name_translations = self.name_translations
|
||||
self.tag.is_default = self.is_default
|
||||
end
|
||||
end
|
||||
|
||||
def update_children
|
||||
unless self.children.blank?
|
||||
self.children.each do |child|
|
||||
child.update_attributes(name_translations: self.name_translations)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
@@ -8,6 +8,7 @@ class ProtoTag
|
||||
field :key
|
||||
field :view_count, :type => Integer, :default => 0
|
||||
#field :cloud_amper,:type: Integer,:default=> 0
|
||||
field :name
|
||||
|
||||
def self.sorted_for_cloud
|
||||
tags = {}
|
||||
|
||||
+14
-25
@@ -11,35 +11,16 @@ 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, default: false
|
||||
field :view_count, type: Integer, default: 0
|
||||
|
||||
belongs_to :module_tag, polymorphic: true
|
||||
belongs_to :tag_lease, polymorphic: true
|
||||
has_many :taggings, dependent: :destroy
|
||||
|
||||
#field :cloud_amper,:type: Integer,:default=> 0
|
||||
validates :name, :at_least_one => true
|
||||
|
||||
# def self.sorted_for_cloud
|
||||
# tags = {}
|
||||
# self.all.each{ |tag|
|
||||
# tags.merge!({tag => self.get_impressionist(tag)})
|
||||
# }
|
||||
# if !tags.blank?
|
||||
# sorted_tags = tags.sort{|a,b| a[1]<=>b[1]}.reverse
|
||||
# sorted_tags[0][1] = :hot1
|
||||
# offset = (sorted_tags.size - 1) / 3
|
||||
# i = 1
|
||||
# class_i = 2
|
||||
# sorted_tags[1..-1].collect!{ |x|
|
||||
# x[1] = "hot#{class_i}"
|
||||
# i == offset ? i = 1 : i += 1 if class_i < 4
|
||||
# class_i += 1 if i == offset && class_i < 4
|
||||
# }
|
||||
# sorted_tags
|
||||
# else
|
||||
# []
|
||||
# end
|
||||
# end
|
||||
before_destroy :destroy_module_tag, if: Proc.new { |tag| tag.tag_lease_type.eql?("ModuleTag") }
|
||||
|
||||
protected
|
||||
|
||||
@@ -47,4 +28,12 @@ class Tag
|
||||
item_tag.impressions.where(:created_at.gte=> 14.days.ago,:created_at.lte => Time.now).count
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def destroy_module_tag
|
||||
ModuleTag.without_callback(:destroy, :before, :destroy_tag) do
|
||||
self.tag_lease.destroy
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
@@ -10,8 +10,8 @@ class Role < Attribute
|
||||
field :title, localize: true
|
||||
|
||||
has_many :sub_roles, :autosave => true, :dependent => :destroy
|
||||
has_many :users
|
||||
# has_many :statuses, :autosave => true, :dependent => :destroy
|
||||
has_and_belongs_to_many :users
|
||||
has_many :statuses, :autosave => true, :dependent => :destroy
|
||||
# has_many :attribute_fields, :autosave => true, :dependent => :destroy
|
||||
has_many :role_statuses, :autosave => true, :dependent => :destroy
|
||||
has_many :role_categorys, :autosave => true, :dependent => :destroy
|
||||
|
||||
@@ -42,7 +42,6 @@ class User
|
||||
|
||||
before_create :initialize_desktop
|
||||
before_save :rebuild_status_record
|
||||
before_save :save_roles
|
||||
scope :remote_account, where(:nccu_id.ne => nil)
|
||||
scope :not_guest_user, all_of(:name.ne => "guest")
|
||||
|
||||
@@ -271,12 +270,15 @@ class User
|
||||
def initialize_desktop
|
||||
self.build_desktop(desktop_widget_ids: DesktopWidget.all.collect{|widget| widget.id})
|
||||
end
|
||||
|
||||
def managed_module_apps
|
||||
self.managing_apps.inject([]) do |managed_apps, app_manager|
|
||||
managed_apps << app_manager.managing_app unless app_manager.managing_app.blank?
|
||||
managed_apps
|
||||
end
|
||||
end
|
||||
|
||||
protected
|
||||
def save_roles
|
||||
# self.roles = self.sub_roles.collect{|t| t.role}.uniq
|
||||
self.roles = self.roles.uniq
|
||||
end
|
||||
|
||||
def rebuild_status_record
|
||||
self.status_record = {}
|
||||
|
||||
Reference in new issue
Block a user