class Admin::MembersController < OrbitMemberController before_action :set_member_profile, only: [:show, :edit, :update, :create] def index @roles = Role.all page_num = params[:page] || 1 @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' @members=User.all.page(page_num).per(12).desc("_id") "index_summary" when 'thumbnail' @members=User.all.page(page_num).per(36).desc("_id") "index_thumbnail" else @members=User.all.page(page_num).per(10).desc("_id") "index" end elsif @filter.blank? and !@mq.blank? render case params[:at] when 'summary' @members=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' @members=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 @members=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' @members=User.all.any_in(:role_ids=>@filter['role']).page(page_num).per(12).desc("_id") "index_summary" when 'thumbnail' @members=User.all.any_in(:role_ids=>@filter['role']).page(page_num).per(36).desc("_id") "index_thumbnail" else @members=User.all.any_in(:role_ids=>@filter['role']).page(page_num).per(10).desc("_id") "index" end end end def show end def new end def edit end def create end def update respond_to do |format| if @member.update(member_profile_params) format.html { redirect_to admin_members_path, notice: 'Successfully Updated the User' } format.json { head :no_content } else format.html { render action: 'edit' } format.json { render json: @member.errors, status: :unprocessable_entity } end end end def destroy if params[:id].eql?(current_user.id.to_s) flash[:error] = t(:cant_delete_self) else @user = User.find(params[:id]) @user.member_profile.delete @user.delete end render action: "index" end private # Use callbacks to share common setup or constraints between actions. def set_member_profile @member = MemberProfile.find(params[:id]) end # Never trust parameters from the scary internet, only allow the white list through. def member_profile_params params.require(:member_profile).permit! end protected def set_attribute @class = 'users' end end