Tag management module completed
This commit is contained in:
1 parent
218592c1f9
commit
e028791d68
19 files changed
+201
-155
No files matched your search
@@ -81,12 +81,21 @@ module OrbitTag
|
||||
module Merging
|
||||
protected
|
||||
|
||||
def create_tag(name, taggings, module_app, default=false)
|
||||
new_tag = module_app.module_tags.create(name_translations: name, module_app_id: module_app.id, is_default: default)
|
||||
taggings.each do |tagging|
|
||||
tagging.taggable.taggings.create(tag_id: new_tag.tag.id) unless tagging.taggable.taggings.detect{|t| t.tag_id.eql?(new_tag.tag.id)}
|
||||
end
|
||||
new_tag
|
||||
def clone_tag(module_tag, parent_id=nil, set_parent=nil)
|
||||
new_tag = module_tag.clone
|
||||
new_tag['_id'] = BSON::ObjectId.new
|
||||
new_tag['module_app_id'] = @module_app.id
|
||||
new_tag['parent_id'] = parent_id
|
||||
new_tag.save
|
||||
module_tag.update_attribute(:parent_id, new_tag.id) if set_parent
|
||||
end
|
||||
|
||||
def clone_tag_from_default(default_tag)
|
||||
clone_tag(default_tag, default_tag.id)
|
||||
end
|
||||
|
||||
def clone_tag_to_default(default_tag)
|
||||
clone_tag(default_tag, nil, true)
|
||||
end
|
||||
|
||||
def merge_default_tags(name, tag_leases)
|
||||
@@ -123,7 +132,10 @@ module OrbitTag
|
||||
|
||||
def merge_tags(name, taggings, module_app_id, default=nil)
|
||||
module_app = ModuleApp.find(module_app_id)
|
||||
new_tag = create_tag(name, taggings, module_app, default)
|
||||
new_tag = module_app.module_tags.create(name_translations: name, module_app_id: module_app.id, is_default: default)
|
||||
taggings.each do |tagging|
|
||||
tagging.taggable.taggings.create(tag_id: new_tag.tag.id) unless tagging.taggable.taggings.detect{|t| t.tag_id.eql?(new_tag.tag.id)}
|
||||
end
|
||||
new_tag
|
||||
end
|
||||
|
||||
|
||||
Reference in new issue
Block a user