mirror of
				https://github.com/fspc/bike-database.git
				synced 2025-10-31 08:45:34 -04:00 
			
		
		
		
	lk | update bike & report to use fixed_at instead of entry_date
This commit is contained in:
		
							parent
							
								
									898337a07e
								
							
						
					
					
						commit
						8a46a95678
					
				| @ -45,6 +45,7 @@ class BikesController < ApplicationController | ||||
|   end | ||||
| 
 | ||||
|   def update | ||||
| 
 | ||||
|     if @bike.update(bike_params) | ||||
|       redirect_to @bike, notice: 'Bike was successfully updated.' | ||||
|     else | ||||
| @ -73,8 +74,9 @@ class BikesController < ApplicationController | ||||
|     end | ||||
| 
 | ||||
|     def bike_params | ||||
|       params[:bike][:fixed_at] = DateTime.strptime(params[:bike][:fixed_at], "%m/%d/%Y") if params[:bike][:fixed_at] | ||||
|       params.require(:bike).permit( | ||||
|         :entry_date, | ||||
|         :fixed_at, | ||||
|         :brand, | ||||
|         :model, | ||||
|         :bike_type, | ||||
|  | ||||
| @ -4,8 +4,8 @@ class Report | ||||
| 
 | ||||
|   def self.bikes_fixed_per_week | ||||
|     beginning_of_year = Time.now.beginning_of_year | ||||
|     bikes = Bike.where("entry_date > ?", beginning_of_year) | ||||
|     weekly_data = bikes.group_by{|b| DateTime.strptime(b.entry_date, "%m/%d/%y").beginning_of_week} | ||||
|     bikes = Bike.where("fixed_at > ? AND purpose = ?", beginning_of_year, Bike::SALE) | ||||
|     weekly_data = bikes.group_by{|b| b.fixed_at.beginning_of_week} | ||||
|     weekly_data.to_a.sort!{|a, b| a.first <=> b.first}.to_h | ||||
|   end | ||||
| 
 | ||||
| @ -26,7 +26,7 @@ class Report | ||||
|       average_price = float_prices.inject{ |sum, el| el + sum } / float_prices.size | ||||
|       {k => average_price} | ||||
|     } | ||||
|     average_prices = average_price_array.reduce({}, :merge) | ||||
|     average_price_array.reduce({}, :merge) | ||||
|   end | ||||
| 
 | ||||
|   def self.yearly_data | ||||
|  | ||||
| @ -52,9 +52,9 @@ | ||||
|           = f.text_field :serial_number, class: "form-control", disabled: disabled | ||||
| 
 | ||||
|       .form-group | ||||
|         = f.label "Date Finished:", class: "col-sm-4 control-label" | ||||
|         = f.label "Date Fixed:", class: "col-sm-4 control-label" | ||||
|         .col-sm-6 | ||||
|           = f.text_field :entry_date, class: "form-control datepicker", disabled: disabled | ||||
|           = f.text_field :fixed_at, class: "form-control datepicker", :value => @bike.fixed_at ? @bike.fixed_at.strftime("%m/%d/%Y") : "", disabled: disabled | ||||
| 
 | ||||
|   .row | ||||
|     .col-sm-6 | ||||
|  | ||||
							
								
								
									
										58
									
								
								db/schema.rb
									
									
									
									
									
								
							
							
						
						
									
										58
									
								
								db/schema.rb
									
									
									
									
									
								
							| @ -17,26 +17,26 @@ ActiveRecord::Schema.define(version: 20160717165815) do | ||||
|   enable_extension "plpgsql" | ||||
| 
 | ||||
|   create_table "agencies", force: :cascade do |t| | ||||
|     t.string "agency_name",    limit: 255 | ||||
|     t.string "contact_name",   limit: 255 | ||||
|     t.string "street_address", limit: 255 | ||||
|     t.string "city",           limit: 255 | ||||
|     t.string "state",          limit: 255 | ||||
|     t.string "postal_code",    limit: 255 | ||||
|     t.string "phone_number",   limit: 255 | ||||
|     t.string "email",          limit: 255 | ||||
|     t.string "agency_name" | ||||
|     t.string "contact_name" | ||||
|     t.string "street_address" | ||||
|     t.string "city" | ||||
|     t.string "state" | ||||
|     t.string "postal_code" | ||||
|     t.string "phone_number" | ||||
|     t.string "email" | ||||
|   end | ||||
| 
 | ||||
|   create_table "bikes", force: :cascade do |t| | ||||
|     t.string   "entry_date",     limit: 255 | ||||
|     t.string   "brand",          limit: 255 | ||||
|     t.string   "model",          limit: 255 | ||||
|     t.string   "bike_type",      limit: 255 | ||||
|     t.string   "color",          limit: 255 | ||||
|     t.string   "serial_number",  limit: 255 | ||||
|     t.string   "entry_date" | ||||
|     t.string   "brand" | ||||
|     t.string   "model" | ||||
|     t.string   "bike_type" | ||||
|     t.string   "color" | ||||
|     t.string   "serial_number" | ||||
|     t.text     "work_done" | ||||
|     t.text     "new_parts" | ||||
|     t.string   "price",          limit: 255 | ||||
|     t.string   "price" | ||||
|     t.datetime "created_at" | ||||
|     t.datetime "updated_at" | ||||
|     t.float    "seat_tube_size" | ||||
| @ -50,17 +50,17 @@ ActiveRecord::Schema.define(version: 20160717165815) do | ||||
|   end | ||||
| 
 | ||||
|   create_table "clients", force: :cascade do |t| | ||||
|     t.string   "first_name",           limit: 255 | ||||
|     t.string   "last_name",            limit: 255 | ||||
|     t.string   "first_name" | ||||
|     t.string   "last_name" | ||||
|     t.date     "application_date_bkp" | ||||
|     t.string   "gender",               limit: 255 | ||||
|     t.string   "gender" | ||||
|     t.integer  "age" | ||||
|     t.boolean  "helmet" | ||||
|     t.boolean  "lock" | ||||
|     t.datetime "created_at" | ||||
|     t.datetime "updated_at" | ||||
|     t.integer  "bike_id" | ||||
|     t.string   "bike_type_requested",  limit: 255 | ||||
|     t.string   "bike_type_requested" | ||||
|     t.boolean  "will_pay" | ||||
|     t.integer  "agency_id" | ||||
|     t.text     "notes" | ||||
| @ -68,7 +68,7 @@ ActiveRecord::Schema.define(version: 20160717165815) do | ||||
|     t.integer  "number_of_calls" | ||||
|     t.boolean  "application_voided" | ||||
|     t.date     "pickup_date_bkp" | ||||
|     t.string   "volunteer_at_pickup",  limit: 255 | ||||
|     t.string   "volunteer_at_pickup" | ||||
|     t.float    "weight" | ||||
|     t.float    "height" | ||||
|     t.datetime "application_date" | ||||
| @ -79,16 +79,16 @@ ActiveRecord::Schema.define(version: 20160717165815) do | ||||
|   add_index "clients", ["bike_id"], name: "index_clients_on_bike_id", using: :btree | ||||
| 
 | ||||
|   create_table "users", force: :cascade do |t| | ||||
|     t.string   "email",                  limit: 255, default: "", null: false | ||||
|     t.string   "encrypted_password",     limit: 255, default: "", null: false | ||||
|     t.string   "reset_password_token",   limit: 255 | ||||
|     t.string   "email",                  default: "", null: false | ||||
|     t.string   "encrypted_password",     default: "", null: false | ||||
|     t.string   "reset_password_token" | ||||
|     t.datetime "reset_password_sent_at" | ||||
|     t.datetime "remember_created_at" | ||||
|     t.integer  "sign_in_count",                      default: 0,  null: false | ||||
|     t.integer  "sign_in_count",          default: 0,  null: false | ||||
|     t.datetime "current_sign_in_at" | ||||
|     t.datetime "last_sign_in_at" | ||||
|     t.string   "current_sign_in_ip",     limit: 255 | ||||
|     t.string   "last_sign_in_ip",        limit: 255 | ||||
|     t.string   "current_sign_in_ip" | ||||
|     t.string   "last_sign_in_ip" | ||||
|     t.datetime "created_at" | ||||
|     t.datetime "updated_at" | ||||
|   end | ||||
| @ -97,9 +97,9 @@ ActiveRecord::Schema.define(version: 20160717165815) do | ||||
|   add_index "users", ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true, using: :btree | ||||
| 
 | ||||
|   create_table "volunteers", force: :cascade do |t| | ||||
|     t.string  "name",                    limit: 255 | ||||
|     t.string  "email",                   limit: 255 | ||||
|     t.string  "phone",                   limit: 255 | ||||
|     t.string  "name" | ||||
|     t.string  "email" | ||||
|     t.string  "phone" | ||||
|     t.date    "orientation_date" | ||||
|     t.integer "other_volunteer_hours" | ||||
|     t.text    "referral" | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user