Adding users without cards report, fixing mac registration for existing macs
This commit is contained in:
		
							parent
							
								
									377170d47c
								
							
						
					
					
						commit
						cad46e45c5
					
				@ -9,7 +9,7 @@ rescue_from CanCan::AccessDenied do |exception|
 | 
				
			|||||||
    redirect_to main_app.root_url, :alert => "Nothing to see here!"
 | 
					    redirect_to main_app.root_url, :alert => "Nothing to see here!"
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
load_and_authorize_resource :mac
 | 
					load_and_authorize_resource :mac, :except => :create
 | 
				
			||||||
load_and_authorize_resource :user, :through => :mac, :except => [:index, :show, :scan, :import]
 | 
					load_and_authorize_resource :user, :through => :mac, :except => [:index, :show, :scan, :import]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#require "active_record"
 | 
					#require "active_record"
 | 
				
			||||||
@ -80,20 +80,27 @@ end
 | 
				
			|||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # POST /macs
 | 
					  # POST /macs
 | 
				
			||||||
  # POST /user
 | 
					 | 
				
			||||||
  def create
 | 
					  def create
 | 
				
			||||||
    @mac = Mac.new(params[:mac])
 | 
					    @mac = Mac.new(params[:mac])
 | 
				
			||||||
    authorize! :update, @mac
 | 
					    @existing_mac = Mac.find_by_mac(@mac.mac)
 | 
				
			||||||
 | 
					 | 
				
			||||||
        if can? :manage, Mac then
 | 
					        if can? :manage, Mac then
 | 
				
			||||||
          @users = User.accessible_by(current_ability).sort_by(&:name)
 | 
					          @users = User.accessible_by(current_ability).sort_by(&:name)
 | 
				
			||||||
        else 
 | 
					        else 
 | 
				
			||||||
          @users = [current_user]
 | 
					          @users = [current_user]
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
 | 
					      if @existing_mac.present?
 | 
				
			||||||
 | 
					        if @existing_mac.user_id.nil?
 | 
				
			||||||
 | 
					          redirect_to edit_mac_path(@existing_mac), :notice => 'This MAC already exists, edit it here:'
 | 
				
			||||||
 | 
					        else
 | 
				
			||||||
 | 
					@mac.errors.add(:user,"for this MAC is already set to #{@existing_mac.user.name} -- please contact them or an admin if this is incorrect.")
 | 
				
			||||||
 | 
					          render :action => "new"
 | 
				
			||||||
 | 
					        end
 | 
				
			||||||
 | 
					      else
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
        respond_to do |format|
 | 
					        respond_to do |format|
 | 
				
			||||||
          if @mac.save
 | 
					          if @mac.save
 | 
				
			||||||
        format.html { redirect_to macs_path, :notice => 'Mac was successfully created.' }
 | 
					            format.html { redirect_to macs_path, :notice => 'MAC was successfully created.' }
 | 
				
			||||||
            format.json { render :json => @mac, :status => :created, :location => @mac }
 | 
					            format.json { render :json => @mac, :status => :created, :location => @mac }
 | 
				
			||||||
          else
 | 
					          else
 | 
				
			||||||
            format.html { render :action => "new" }
 | 
					            format.html { render :action => "new" }
 | 
				
			||||||
@ -101,6 +108,7 @@ end
 | 
				
			|||||||
          end
 | 
					          end
 | 
				
			||||||
        end
 | 
					        end
 | 
				
			||||||
      end
 | 
					      end
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  # PUT /macs/1
 | 
					  # PUT /macs/1
 | 
				
			||||||
  # PUT /macs/1.json
 | 
					  # PUT /macs/1.json
 | 
				
			||||||
@ -119,7 +127,7 @@ end
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    respond_to do |format|
 | 
					    respond_to do |format|
 | 
				
			||||||
      if @mac.save
 | 
					      if @mac.save
 | 
				
			||||||
        format.html { redirect_to macs_path, :notice => 'Mac was successfully updated.' }
 | 
					        format.html { redirect_to macs_path, :notice => 'MAC was successfully updated.' }
 | 
				
			||||||
        format.json { head :no_content }
 | 
					        format.json { head :no_content }
 | 
				
			||||||
      else
 | 
					      else
 | 
				
			||||||
        format.html { render :action => "edit" }
 | 
					        format.html { render :action => "edit" }
 | 
				
			||||||
 | 
				
			|||||||
@ -42,6 +42,7 @@ class UsersController < ApplicationController
 | 
				
			|||||||
  def activity
 | 
					  def activity
 | 
				
			||||||
    @user_logins = User.where(:last_sign_in_at => 1.month.ago..Date.today)
 | 
					    @user_logins = User.where(:last_sign_in_at => 1.month.ago..Date.today)
 | 
				
			||||||
    @new_users = User.where(:created_at => 3.months.ago..Date.today)
 | 
					    @new_users = User.where(:created_at => 3.months.ago..Date.today)
 | 
				
			||||||
 | 
					    @cardless_users = User.includes('cards').where(['users.member_level >= ?','50']).where('cards.id IS NULL')
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 
 | 
					 
 | 
				
			||||||
  # GET /users/1
 | 
					  # GET /users/1
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,7 @@
 | 
				
			|||||||
<%= form_for(@mac) do |f| %>
 | 
					<%= form_for(@mac) do |f| %>
 | 
				
			||||||
  <% if @mac.errors.any? %>
 | 
					  <% if @mac.errors.any? %>
 | 
				
			||||||
    <div id="error_explanation">
 | 
					    <div id="error_explanation">
 | 
				
			||||||
      <h2><%= pluralize(@mac.errors.count, "error") %> prohibited this Mac from being saved:</h2>
 | 
					      <h2><%= pluralize(@mac.errors.count, "error") %> prohibited this MAC from being saved:</h2>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      <ul>
 | 
					      <ul>
 | 
				
			||||||
      <% @mac.errors.full_messages.each do |msg| %>
 | 
					      <% @mac.errors.full_messages.each do |msg| %>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
<h1>Editing Mac</h1>
 | 
					<h1>Editing MAC</h1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<%= render 'form' %>
 | 
					<%= render 'form' %>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -29,7 +29,7 @@ Rails.logger.info mac.inspect %>
 | 
				
			|||||||
<% end %>
 | 
					<% end %>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<% if can? :manage, Mac %>
 | 
					<% if can? :manage, Mac %>
 | 
				
			||||||
<h3>All Macs</h3>
 | 
					<h3>All MACs</h3>
 | 
				
			||||||
<table>
 | 
					<table>
 | 
				
			||||||
<% @all_macs.each do |mac| %>
 | 
					<% @all_macs.each do |mac| %>
 | 
				
			||||||
<tr <%= raw('class="hidden"') if mac.hidden? %>>
 | 
					<tr <%= raw('class="hidden"') if mac.hidden? %>>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
<h1>New Mac</h1>
 | 
					<h1>New MAC</h1>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<%= render 'form' %>
 | 
					<%= render 'form' %>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -4,7 +4,7 @@
 | 
				
			|||||||
</p>
 | 
					</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<p>
 | 
					<p>
 | 
				
			||||||
  <b>Mac:</b>
 | 
					  <b>MAC:</b>
 | 
				
			||||||
  <%= @mac.mac %>
 | 
					  <%= @mac.mac %>
 | 
				
			||||||
</p>
 | 
					</p>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -1,6 +1,10 @@
 | 
				
			|||||||
<h1>Recent User Activity</h1>
 | 
					<h1>Member Onboarding/Activity</h1>
 | 
				
			||||||
 | 
					<a href="#new_users">New Users</a> | 
 | 
				
			||||||
 | 
					<a href="#members_without_cards">Members Without Cards</a> | 
 | 
				
			||||||
 | 
					<a href="#logins">Logins</a>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<h2>New Users</h2>
 | 
					
 | 
				
			||||||
 | 
					<h2><a name="new_users"></a>New Users</h2>
 | 
				
			||||||
<table>
 | 
					<table>
 | 
				
			||||||
  <tr>
 | 
					  <tr>
 | 
				
			||||||
    <th>Name</th>
 | 
					    <th>Name</th>
 | 
				
			||||||
@ -42,7 +46,47 @@
 | 
				
			|||||||
<% end %>
 | 
					<% end %>
 | 
				
			||||||
</table>
 | 
					</table>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
<h2>Logins</h2>
 | 
					<h2><a name="members_without_cards"></a>Basic+ Members Without Cards</h2>
 | 
				
			||||||
 | 
					<table>
 | 
				
			||||||
 | 
					  <tr>
 | 
				
			||||||
 | 
					    <th>Name</th>
 | 
				
			||||||
 | 
					    <th>Account Created</th>
 | 
				
			||||||
 | 
					    <th>Member Level</th>
 | 
				
			||||||
 | 
					    <th>Payment</th>
 | 
				
			||||||
 | 
					    <th>Card</th>
 | 
				
			||||||
 | 
					    <th></th>
 | 
				
			||||||
 | 
					  </tr>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<% if !@cardless_users.blank? %>
 | 
				
			||||||
 | 
					  <% @cardless_users.sort_by(&:created_at).reverse!.each do |user| %>
 | 
				
			||||||
 | 
					  <tr<%= " class='hidden'" if user.hidden? %>>
 | 
				
			||||||
 | 
					    <td><%= link_to user.name, user %></td>
 | 
				
			||||||
 | 
					    <td><%= distance_of_time_in_words DateTime.now, user.created_at %> ago</td>
 | 
				
			||||||
 | 
					    <td><%= user.member_level_string %></td>
 | 
				
			||||||
 | 
					    <td><% if user.payments.present? %> 
 | 
				
			||||||
 | 
					      <% last_payment = user.payments.maximum(:date) %>
 | 
				
			||||||
 | 
					      <% if Date.today-last_payment > 60 %>
 | 
				
			||||||
 | 
					        <span class="alert">
 | 
				
			||||||
 | 
					      <% else %>
 | 
				
			||||||
 | 
					        <span class="notice">
 | 
				
			||||||
 | 
					      <% end %>
 | 
				
			||||||
 | 
					      <%= distance_of_time_in_words(Date.today, user.payments.maximum(:date))+" ago" %>
 | 
				
			||||||
 | 
					      </span>
 | 
				
			||||||
 | 
					    <% else %>
 | 
				
			||||||
 | 
					      <span class="alert">×</span>
 | 
				
			||||||
 | 
					    <% end %></td>
 | 
				
			||||||
 | 
					    <td><% if user.cards.present? %>
 | 
				
			||||||
 | 
					      <span class="notice">✓</span>
 | 
				
			||||||
 | 
					    <% else %>
 | 
				
			||||||
 | 
					      <span class="alert">×</span>
 | 
				
			||||||
 | 
					    <% end %></td>
 | 
				
			||||||
 | 
					  </tr>
 | 
				
			||||||
 | 
					  <% end %>
 | 
				
			||||||
 | 
					<% end %>
 | 
				
			||||||
 | 
					</table>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<h2><a name="logins"></a>Logins</h2>
 | 
				
			||||||
<table>
 | 
					<table>
 | 
				
			||||||
  <tr>
 | 
					  <tr>
 | 
				
			||||||
    <th>Name</th>
 | 
					    <th>Name</th>
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user