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 get_tags @tags = (@module_app ? @module_app.tags : Tag.all) 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 end end