58 lines
1.2 KiB
Ruby
58 lines
1.2 KiB
Ruby
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
|
|
|
|
def index
|
|
get_tags
|
|
@module_app_id = @module_app.id rescue nil
|
|
end
|
|
|
|
def new
|
|
|
|
end
|
|
|
|
def edit
|
|
@tag = Tag.find(params[:id])
|
|
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
|
|
end
|
|
|
|
def update
|
|
@tag = Tag.find(params[:id])
|
|
@tag.update_attributes(params[:tag])
|
|
end
|
|
|
|
def destroy
|
|
@tag = Tag.find(params[:id])
|
|
@tag.destroy
|
|
respond_to do |format|
|
|
format.js { render 'js/remove_element', :locals => {:id => "#{dom_id @tag}"} }
|
|
end
|
|
end
|
|
|
|
protected
|
|
|
|
def set_module_app
|
|
@module_app ||= ModuleApp.first(:conditions => {:key => @app_title.underscore}) rescue nil
|
|
end
|
|
|
|
def get_tags
|
|
@tags = (@module_app ? @module_app.tags : Tag.all)
|
|
end
|
|
|
|
end
|