145 lines
2.8 KiB
Ruby
145 lines
2.8 KiB
Ruby
class Admin::RoleFiltersController < OrbitBackendController
|
|
|
|
include OrbitControllerLib::DivisionForDisable
|
|
|
|
layout "new_admin"
|
|
|
|
before_filter :authenticate_user!
|
|
before_filter :is_admin?
|
|
# before_filter :set_attribute, :only => [:index, :show, :new, :edit]
|
|
helper Admin::AttributeValuesViewHelper
|
|
|
|
def index
|
|
get_types
|
|
@role = Role.find(params[:role_id])
|
|
@role_filters = @types.where(:role_id=>params[:role_id])
|
|
@role_filter = @types.new(:display => 'List')
|
|
|
|
# @url = admin_role_filter_role_filters_path
|
|
|
|
if @app_type == 'role_statuses'
|
|
@url = eval("admin_#{@app_type}_path")
|
|
else
|
|
@url = eval("admin_#{@app_type}s_path")
|
|
end
|
|
|
|
respond_to do |format|
|
|
format.html # index.html.erb
|
|
format.js
|
|
end
|
|
|
|
end
|
|
|
|
|
|
def show
|
|
|
|
get_types
|
|
|
|
@role_filter = @types.find(params[:id])
|
|
|
|
respond_to do |format|
|
|
format.html # show.html.erb
|
|
format.js
|
|
end
|
|
end
|
|
|
|
|
|
def new
|
|
|
|
get_types
|
|
|
|
@role_filter = @types.new(:display => 'List')
|
|
|
|
@verb = :post
|
|
|
|
respond_to do |format|
|
|
format.html # new.html.erb
|
|
format.js
|
|
end
|
|
end
|
|
|
|
|
|
def edit
|
|
|
|
get_types
|
|
|
|
@role_filter = @types.find(params[:id])
|
|
|
|
@url = polymorphic_path([:admin, @role_filter])
|
|
|
|
@verb = :put
|
|
|
|
respond_to do |format|
|
|
format.html
|
|
format.js
|
|
end
|
|
end
|
|
|
|
|
|
def create
|
|
|
|
get_types
|
|
|
|
@role_filter = @types.new(params[:role_filter])
|
|
|
|
respond_to do |format|
|
|
if @role_filter.save
|
|
format.html { redirect_to(admin_role_filter_url(params[:role_filter][:role_id])) }
|
|
format.js
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
|
|
def update
|
|
|
|
get_types
|
|
|
|
@role_filter = @types.find(params[:id])
|
|
# debugger
|
|
# @url = admin_role_filter_role_filter_path(@role_filter)
|
|
# @url = eval("admin_role_filter_#{@app_type}_path(#{@role_filter})")
|
|
@url = polymorphic_path([:admin, @role_filter])
|
|
|
|
respond_to do |format|
|
|
if @role_filter.update_attributes(params[:role_filter])
|
|
format.html { redirect_to(admin_role_filter_role_filters_url(params[:role_id]), :notice => t('role_filter.update_role_filter_success')) }
|
|
# format.xml { head :ok }
|
|
format.js
|
|
else
|
|
format.html { render :action => "edit" }
|
|
format.js { render :action => "edit" }
|
|
end
|
|
end
|
|
end
|
|
|
|
|
|
def destroy
|
|
|
|
get_types
|
|
|
|
@role_filter = @types.find(params[:id])
|
|
@role_filter.disable = @role_filter.disable ? false : true
|
|
|
|
if @role_filter.save!
|
|
respond_to do |format|
|
|
format.html { redirect_to(admin_role_filter_role_filters_url) }
|
|
# format.xml { head :ok }
|
|
format.js
|
|
end
|
|
else
|
|
flash[:error] = t("role_filter.update_failed")
|
|
format.html { render :action => "index" }
|
|
end
|
|
|
|
end
|
|
|
|
protected
|
|
|
|
def get_types
|
|
@types = @app_type.classify.constantize
|
|
end
|
|
|
|
end
|