From 6957ab7ac12e82e96e84bf3fa5215baa7c5563a4 Mon Sep 17 00:00:00 2001 From: Will Bradley Date: Mon, 12 Sep 2016 20:56:31 -0700 Subject: [PATCH] Door log filtering, user case-insensitive and status-insensitive sorting, new user scope Presumably changed by meznak or blhack, not myself --- app/controllers/door_logs_controller.rb | 3 ++- app/controllers/users_controller.rb | 17 +++++++++-------- app/models/user.rb | 1 + app/views/users/summary.html.erb | 2 +- 4 files changed, 13 insertions(+), 10 deletions(-) diff --git a/app/controllers/door_logs_controller.rb b/app/controllers/door_logs_controller.rb index fdf9013..d3ff0bd 100755 --- a/app/controllers/door_logs_controller.rb +++ b/app/controllers/door_logs_controller.rb @@ -5,7 +5,8 @@ class DoorLogsController < ApplicationController # GET /door_logs # GET /door_logs.json def index - @door_logs = DoorLog.find(:all, :order => "created_at DESC", :limit => 1000) +# @door_logs = DoorLog.find(:all, :order => "created_at DESC", :limit => 1000) + @door_logs = DoorLog.where("key NOT LIKE 'alarm%' AND key != 'armed' AND key != 'activated'").order("created_at DESC").limit(1000) begin diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index bbdf39e..4ba8b0e 100755 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -18,7 +18,8 @@ class UsersController < ApplicationController def index unless params[:full] # by default, show summary - @users = @users.paying + @users.volunteer + @users = @users.active.sort_by{|u| [-u.member_level, u.name.downcase] } +#@users.paying + @users.volunteer #.joins(:payments).where("payments.date > ? OR ", (DateTime.now - 60.days)).uniq respond_to do |format| @@ -30,23 +31,23 @@ class UsersController < ApplicationController case params[:sort] when "name" - @users = @users.sort_by(&:name) + @users = @users.sort_by{ |u| u.name.downcase } when "cert" - @users = @users.sort_by{ |u| [-sort_by_cert(u.certifications,params[:cert].to_i),u.name] } + @users = @users.sort_by{ |u| [-sort_by_cert(u.certifications,params[:cert].to_i),u.name.downcase] } when "orientation" - @users = @users.sort_by{ |u| [-u.orientation.to_i,u.name] } + @users = @users.sort_by{ |u| [-u.orientation.to_i,u.name.downcase] } when "waiver" - @users = @users.sort_by{ |u| [-u.contract_date.to_i,u.name] } + @users = @users.sort_by{ |u| [-u.contract_date.to_i,u.name.downcase] } when "member" - @users = @users.sort_by{ |u| [-u.member_status.to_i,u.name] } + @users = @users.sort_by{ |u| [-u.member_status.to_i,u.name.downcase] } when "card" - @users = @users.sort_by{ |u| [-u.cards.count,u.name] } + @users = @users.sort_by{ |u| [-u.cards.count,u.name.downcase] } when "instructor" @users = @users.sort{ |a,b| [b.instructor.to_s,a.name] <=> [a.instructor.to_s,b.name] } when "admin" @users = @users.sort{ |a,b| [b.admin.to_s,a.name] <=> [a.admin.to_s,b.name] } else - @users = @users.sort_by(&:name) + @users = @users.sort_by{ |u| u.name.downcase } end diff --git a/app/models/user.rb b/app/models/user.rb index d1f2131..16eef55 100755 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -21,6 +21,7 @@ class User < ActiveRecord::Base has_many :resources scope :volunteer, -> { where('member_level >= 10 AND member_level < 25') } + scope :active, -> { where('member_level >= 10') } scope :paying, -> { joins(:payments).where("payments.date > ?", (DateTime.now - 90.days)).uniq } validates_format_of [:twitter_url, :facebook_url, :github_url, :website_url], :with => URI::regexp(%w(http https)), :allow_blank => true diff --git a/app/views/users/summary.html.erb b/app/views/users/summary.html.erb index 178437a..8859f39 100755 --- a/app/views/users/summary.html.erb +++ b/app/views/users/summary.html.erb @@ -36,7 +36,7 @@
- <%= render @users.sort_by{|u| [-u.member_status, u.name] } %> + <%= render @users %>
<% if current_user.orientation.blank? then %>