From 8a46a95678fee9f38cdd0e202c3d758da34d6fcd Mon Sep 17 00:00:00 2001 From: Louis Knapp Date: Sun, 17 Jul 2016 12:35:13 -0500 Subject: [PATCH] lk | update bike & report to use fixed_at instead of entry_date --- app/controllers/bikes_controller.rb | 4 +- app/models/report.rb | 6 +-- app/views/bikes/_fields.html.haml | 4 +- db/schema.rb | 58 ++++++++++++++--------------- 4 files changed, 37 insertions(+), 35 deletions(-) diff --git a/app/controllers/bikes_controller.rb b/app/controllers/bikes_controller.rb index aa64556..d42760a 100644 --- a/app/controllers/bikes_controller.rb +++ b/app/controllers/bikes_controller.rb @@ -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, diff --git a/app/models/report.rb b/app/models/report.rb index ef50dd4..a95a182 100644 --- a/app/models/report.rb +++ b/app/models/report.rb @@ -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 diff --git a/app/views/bikes/_fields.html.haml b/app/views/bikes/_fields.html.haml index 872225c..1259eae 100644 --- a/app/views/bikes/_fields.html.haml +++ b/app/views/bikes/_fields.html.haml @@ -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 diff --git a/db/schema.rb b/db/schema.rb index 93042b8..41ad126 100644 --- a/db/schema.rb +++ b/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"