Now default tags can be removed from module
This commit is contained in:
1 parent
19405cf006
commit
3714403f85
17 files changed
+248
-109
No files matched your search
@@ -7,44 +7,42 @@ class Admin::ModuleTagsController < OrbitBackendController
|
||||
helper 'admin/tags'
|
||||
|
||||
def index
|
||||
@tags = get_tags
|
||||
@included_tags = @module_app.module_tags.where(is_default: true)
|
||||
@tags = @module_app.module_tags
|
||||
@default_tags = get_default_tags
|
||||
end
|
||||
|
||||
def new
|
||||
@tag = Tag.new
|
||||
@tag = ModuleTag.new
|
||||
render layout: false
|
||||
end
|
||||
|
||||
def edit
|
||||
@tag = Tag.find(params[:id])
|
||||
@tag = ModuleTag.find(params[:id])
|
||||
render layout: false
|
||||
end
|
||||
|
||||
def create
|
||||
@tag = @module_app.module_tags.build(params[:tag])
|
||||
@tag = @module_app.module_tags.build(params[:module_tag])
|
||||
if @tag.save
|
||||
redirect_to admin_module_tags_url(module_app_id: @module_app_id)
|
||||
else
|
||||
@tag = Tag.new(params[:tag])
|
||||
flash.now[:error] = t('create.error.tag')
|
||||
@tag = ModuleTag.new(params[:module_tag])
|
||||
render :action => "new"
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
@tag = Tag.find(params[:id])
|
||||
if @tag.update_attributes(params[:tag])
|
||||
@tag = ModuleTag.find(params[:id])
|
||||
if @tag.update_attributes(params[:module_tag])
|
||||
redirect_to admin_module_tags_url(module_app_id: @module_app_id)
|
||||
else
|
||||
flash.now[:error] = t('update.error.link')
|
||||
render :action => "edit"
|
||||
end
|
||||
end
|
||||
|
||||
def delete_tags
|
||||
tags = Tag.find(params[:ids].split(',')) rescue nil
|
||||
tags = ModuleTag.find(params[:ids].split(',')) rescue nil
|
||||
if tags
|
||||
tags.each{|t|t.destroy}
|
||||
end
|
||||
@@ -52,23 +50,20 @@ class Admin::ModuleTagsController < OrbitBackendController
|
||||
end
|
||||
|
||||
def merge
|
||||
tags = Tag.find(params[:ids])
|
||||
taggings = tags.map{|t| t.taggings}.flatten
|
||||
tag_leases = tags.map{|t| t.tag_lease}
|
||||
module_tags = ModuleTag.find(params[:ids])
|
||||
taggings = module_tags.map{|t| t.tag.taggings}.flatten
|
||||
module_tags
|
||||
name = params[:name]
|
||||
merge_tags(name, taggings, @module_app_id)
|
||||
tag_leases.each(&:destroy)
|
||||
module_tags.each(&:destroy)
|
||||
redirect_to admin_module_tags_url(module_app_id: @module_app_id)
|
||||
end
|
||||
|
||||
def remove_default
|
||||
debugger
|
||||
# tags = Tag.find(params[:ids].split(',')) rescue nil
|
||||
# if tags
|
||||
# tag_leases = tags.map{|t| t.tag_lease}.flatten
|
||||
# tag_leases.each {|t| t.update_attribute(:module_app_ids, t.module_app_ids - [@module_app.id])}
|
||||
# tags.each {|t| t.update_attribute(:is_default, true)}
|
||||
# end
|
||||
module_tags = ModuleTag.find(params[:ids].split(',')) rescue nil
|
||||
if module_tags
|
||||
module_tags.each(&:destroy)
|
||||
end
|
||||
redirect_to admin_module_tags_url(module_app_id: @module_app_id)
|
||||
end
|
||||
|
||||
|
||||
@@ -5,34 +5,34 @@ class Admin::TagsController < OrbitBackendController
|
||||
before_filter :for_app_sub_manager, except: [:index]
|
||||
|
||||
def index
|
||||
@tags = get_tags
|
||||
@tags = @module_app.module_tags
|
||||
@module_apps = ModuleApp.where(has_tag: true)
|
||||
end
|
||||
|
||||
def new
|
||||
@tag = Tag.new
|
||||
@tag = ModuleTag.new
|
||||
render layout: false
|
||||
end
|
||||
|
||||
def edit
|
||||
@tag = Tag.find(params[:id])
|
||||
@tag = ModuleTag.find(params[:id])
|
||||
render layout: false
|
||||
end
|
||||
|
||||
def create
|
||||
@tag = @module_app.module_tags.build(params[:tag].merge(is_default: true))
|
||||
@tag = @module_app.module_tags.build(params[:module_tag].merge(is_default: true))
|
||||
if @tag.save
|
||||
redirect_to admin_tags_url
|
||||
else
|
||||
@tag = Tag.new(params[:tag])
|
||||
@tag = Tag.new(params[:module_tag])
|
||||
flash.now[:error] = t('create.error.tag')
|
||||
render :action => "new"
|
||||
end
|
||||
end
|
||||
|
||||
def update
|
||||
@tag = Tag.find(params[:id])
|
||||
if @tag.update_attributes(params[:tag])
|
||||
@tag = ModuleTag.find(params[:id])
|
||||
if @tag.update_attributes(params[:module_tag])
|
||||
redirect_to action: :index
|
||||
else
|
||||
flash.now[:error] = t('update.error.link')
|
||||
@@ -41,35 +41,48 @@ class Admin::TagsController < OrbitBackendController
|
||||
end
|
||||
|
||||
def add_to_default
|
||||
tags = Tag.find(params[:ids].split(',')) rescue nil
|
||||
if tags
|
||||
tag_leases = tags.map{|t| t.tag_lease}.flatten
|
||||
tags.each {|t| t.update_attribute(:is_default, true)}
|
||||
tag_leases.each {|t| t.update_attribute(:module_app_ids, t.module_app_ids << @module_app.id)}
|
||||
module_tags = ModuleTag.find(params[:ids].split(',')) rescue nil
|
||||
if module_tags
|
||||
module_tags.each do |module_tag|
|
||||
module_tag.update_attribute(:is_default, true)
|
||||
new_tag = module_tag.clone
|
||||
new_tag['_id'] = BSON::ObjectId.new
|
||||
new_tag['module_app_id'] = @module_app.id
|
||||
new_tag.save
|
||||
module_tag.update_attribute(:parent_id, new_tag.id)
|
||||
end
|
||||
end
|
||||
redirect_to admin_tags_url
|
||||
end
|
||||
|
||||
def delete_tags
|
||||
tags = Tag.find(params[:ids].split(',')) rescue nil
|
||||
tags = ModuleTag.find(params[:ids].split(',')) rescue nil
|
||||
if tags
|
||||
tags.each{|t|t.destroy}
|
||||
tags.each(&:destroy)
|
||||
end
|
||||
redirect_to admin_tags_url
|
||||
end
|
||||
|
||||
def merge
|
||||
tags = Tag.find(params[:ids])
|
||||
taggings = tags.map{|t| t.taggings}.flatten
|
||||
tag_leases = tags.map{|t| t.tag_lease}
|
||||
module_tags = ModuleTag.find(params[:ids])
|
||||
tags = module_tags.map{|t| t.tag}
|
||||
taggings, is_default = tags.inject([[], []]) do |values, tag|
|
||||
values[0] << tag.taggings
|
||||
values[1] << tag.is_default
|
||||
values
|
||||
end
|
||||
taggings.flatten!
|
||||
is_default.uniq!
|
||||
name = params[:name]
|
||||
module_app_ids = tag_leases.map{|t| t.module_app_ids}.flatten.uniq
|
||||
if tags.detect{|t| t.is_default == true} || module_app_ids.count > 1
|
||||
merge_default_tags(name, taggings, module_app_ids)
|
||||
module_app_ids = module_tags.map{|t| t.module_app_id}.flatten.uniq
|
||||
if is_default.size == 1 && is_default[0] == true
|
||||
merge_default_tags(name, module_tags)
|
||||
elsif is_default.include?(true) || module_app_ids.count > 1
|
||||
merge_with_default_tags(name, module_tags)
|
||||
else
|
||||
merge_tags(name, taggings, module_app_ids[0])
|
||||
module_tags.each(&:destroy)
|
||||
end
|
||||
tag_leases.each(&:destroy)
|
||||
redirect_to admin_tags_url
|
||||
end
|
||||
|
||||
|
||||
Reference in new issue
Block a user