mirror of
				https://github.com/fspc/bike-database.git
				synced 2025-10-27 07:05:35 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| class ClientsController < ApplicationController
 | |
|   before_action :set_client, only: [:edit, :update]
 | |
|   before_action :authenticate_user!
 | |
| 
 | |
|   def index
 | |
|     @waiting_list = Client.waiting_list
 | |
|     @clients = Client.all.reverse_order
 | |
|   end
 | |
| 
 | |
|   def new
 | |
|     @client = Client.new
 | |
|   end
 | |
| 
 | |
|   def edit; end
 | |
| 
 | |
|   def create
 | |
|     @client = Client.new(client_params)
 | |
|     if @client.save
 | |
|       redirect_to edit_client_url(@client), notice: 'Client was successfully created.'
 | |
|     else
 | |
|       render action: 'new'
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   def update
 | |
|     @client.update(client_params)
 | |
|     if @client.save
 | |
|       redirect_to edit_client_url(@client), notice: "Client was successfully updated"
 | |
|     else
 | |
|       render action: 'edit', notice: "Unable to update client"
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   private
 | |
|     def set_client
 | |
|       @client = Client.find(params[:id])
 | |
|     end
 | |
| 
 | |
|     def client_params
 | |
|       params["client"]["application_date"] = Date.strptime(params["client"]["application_date"], '%m/%d/%Y') unless params["client"]["application_date"].empty?
 | |
|       params["client"]["pickup_date"] = Date.strptime(params["client"]["pickup_date"], '%m/%d/%Y') unless params["client"]["pickup_date"].empty?
 | |
|       params.require(:client).permit(
 | |
|         :first_name,
 | |
|         :last_name,
 | |
|         :application_date,
 | |
|         :gender,
 | |
|         :age,
 | |
|         :height,
 | |
|         :weight,
 | |
|         :helmet,
 | |
|         :lock,
 | |
|         :bike_id,
 | |
|         :will_pay,
 | |
|         :bike_type_requested,
 | |
|         :agency_id,
 | |
|         :notes,
 | |
|         :bike_fixed,
 | |
|         :number_of_calls,
 | |
|         :application_voided,
 | |
|         :pickup_date,
 | |
|         :volunteer_at_pickup)
 | |
|     end
 | |
| end
 |