Tag management module completed

This commit is contained in:
chris committed 2013-04-26 18:34:46 +08:00
1 parent 218592c1f9
commit e028791d68
19 files changed
+201 -155

No files matched your search

+19 -7
View File
@@ -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