chris tags update
This commit is contained in:
1 parent
2945e14385
commit
d047a3d62a
102 files changed
+3111
-378
No files matched your search
@@ -2,16 +2,10 @@ class Admin::TagsController < OrbitBackendController
|
||||
before_filter :force_order_for_visitor,:only=>[:index]
|
||||
before_filter :force_order_for_user,:except => [:index]
|
||||
before_filter :for_app_sub_manager,:except => [:index]
|
||||
|
||||
|
||||
# layout 'new_admin'
|
||||
# before_filter :authenticate_user!
|
||||
# before_filter :is_admin?
|
||||
# before_filter :set_module_app
|
||||
before_filter :set_module_app
|
||||
|
||||
def index
|
||||
get_tags
|
||||
@module_app_id = @module_app.id rescue nil
|
||||
@tags = get_tags
|
||||
end
|
||||
|
||||
def new
|
||||
@@ -23,12 +17,7 @@ class Admin::TagsController < OrbitBackendController
|
||||
end
|
||||
|
||||
def create
|
||||
if params[:tag][:module_app_id].blank?
|
||||
@tag = Tag.create(params[:tag])
|
||||
else
|
||||
module_app = ModuleApp.find(params[:tag][:module_app_id])
|
||||
@tag = eval("#{module_app.key.camelize}Tag").create(params[:tag])
|
||||
end
|
||||
@tag = @module_app ? @module_app.tags.create(params[:tag]) : Tag.create(params[:tag])
|
||||
end
|
||||
|
||||
def update
|
||||
@@ -47,15 +36,12 @@ class Admin::TagsController < OrbitBackendController
|
||||
protected
|
||||
|
||||
def get_tags
|
||||
@tags = (@module_app ? @module_app.tags : Tag.all)
|
||||
@tags = @module_app.blank? ? Tag.all : @module_app.tags
|
||||
end
|
||||
|
||||
def setup_vars
|
||||
@app_key = request.env['HTTP_REFERER'].split('/')[4]
|
||||
if @app_key
|
||||
@app_key.gsub!(/[?].*/, '')
|
||||
@module_app = ModuleApp.first(conditions: {:key => @app_key})
|
||||
end
|
||||
def set_module_app
|
||||
@module_app = ModuleApp.find(params[:module_app_id]) if params[:module_app_id]
|
||||
@module_app_id = @module_app.id rescue nil
|
||||
end
|
||||
|
||||
end
|
||||
@@ -1,6 +1,7 @@
|
||||
class OrbitBackendController < ApplicationController
|
||||
include OrbitCoreLib::AppBackendUtility
|
||||
include OrbitCoreLib::PermissionUtility
|
||||
include OrbitTag::Tagging
|
||||
include AdminHelper
|
||||
include ApplicationHelper
|
||||
|
||||
@@ -60,6 +61,20 @@ class OrbitBackendController < ApplicationController
|
||||
when :referenced_in
|
||||
objects = get_objects_from_referenced_objects(object_class.relations[option].class_name.constantize, objects, "#{option}_id")
|
||||
end
|
||||
elsif option.eql?('tags')
|
||||
tag_array = @module_app.tags.inject([]){ |result, value|
|
||||
result << [value.name, value]
|
||||
}
|
||||
params[:direction].eql?('asc') ? tag_array.sort : tag_array.sort.reverse!
|
||||
sorted_objects = Array.new
|
||||
tag_array.each do |x|
|
||||
taggings = x[1].taggings
|
||||
taggings.each {|tagging| sorted_objects << tagging.taggable }
|
||||
end
|
||||
# debugger
|
||||
sorted_objects.flatten!
|
||||
sorted_objects.uniq!
|
||||
objects = get_with_nil(objects, option, sorted_objects)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in new issue
Block a user