orbit4-5/app/controllers/admin/members_controller.rb

82 lines
2.3 KiB
Ruby

class Admin::MembersController < OrbitMemberController
def index
@roles = Role.all
@filter = params[:filter]
@mq = params[:mq]
@new_filter = params[:new_filter]
if @filter && params[:clear]
@filter.delete(params[:type])
elsif @filter && @new_filter
if @filter.has_key?(@new_filter[:type]) && @filter[@new_filter[:type]].include?(@new_filter[:id].to_s)
@filter[@new_filter[:type]].delete(@new_filter[:id].to_s)
elsif @filter.has_key?(@new_filter[:type])
@filter[@new_filter[:type]] << @new_filter[:id].to_s
else
@filter.merge!({@new_filter[:type] => [@new_filter[:id].to_s]})
end
elsif @new_filter
@filter = {@new_filter[:type] => [@new_filter[:id].to_s]}
end
if @filter.blank? and @mq.blank?
render case params[:at]
when 'summary'
@users=User.all.desc("_id")
"index_summary"
when 'thumbnail'
@users=User.all.desc("_id")
"index_thumbnail"
else
@users=User.all.desc("_id")
"index"
end
elsif @filter.blank? and !@mq.blank?
render case params[:at]
when 'summary'
@users=User.all.any_of({:user_id => /#{@mq}/i}, {:first_name => /#{@mq}/i}, {:last_name => /#{@mq}/i}, {:email => /#{@mq}/i}, {:office_tel => /#{@mq}/i}).desc("_id")
"index_summary"
when 'thumbnail'
@users=User.all.any_of({:user_id => /#{@mq}/i}, {:first_name => /#{@mq}/i}, {:last_name => /#{@mq}/i}, {:email => /#{@mq}/i}, {:office_tel => /#{@mq}/i}).desc("_id")
"index_thumbnail"
else
@users=User.all.any_of({:user_id => /#{@mq}/i}, {:first_name => /#{@mq}/i}, {:last_name => /#{@mq}/i}, {:email => /#{@mq}/i}, {:office_tel => /#{@mq}/i}).desc("_id")
"index"
end
elsif !@filter.blank? and @mq.blank?
render case params[:at]
when 'summary'
@users=User.all.any_in(:role_ids=>@filter['role']).desc("_id")
"index_summary"
when 'thumbnail'
@users=User.all.any_in(:role_ids=>@filter['role']).desc("_id")
"index_thumbnail"
else
@users=User.all.any_in(:role_ids=>@filter['role']).desc("_id")
"index"
end
end
end
def new
@member = MemberProfile.new
end
def edit
end
def create
end
def update
end
end