1
0
mirror of https://github.com/fspc/bike-database.git synced 2025-02-23 01:23:24 -05:00

Louis | user can mark bikes as picked up from the available freecyclery bikes page

This commit is contained in:
Loos 2014-12-22 13:50:21 -06:00
parent d0a91882e3
commit 157712ac67
5 changed files with 23 additions and 8 deletions

View File

@ -61,6 +61,12 @@ class BikesController < ApplicationController
end
end
def mark_picked_up
@bike = Bike.find(params[:id])
@bike.mark_picked_up
flash[:notice] = @bike.name + ' was marked as picked up'
redirect_to action: "ready_for_pickup", controller: "freecyclery"
end
private
def set_bike

View File

@ -16,7 +16,7 @@ class Bike < ActiveRecord::Base
def ready_for_pickup?
client = self.client
client && self.completion_date && !client.application_voided
client && self.completion_date && !client.application_voided && self.date_sold.nil?
end
def self.bikes_ready_for_pickup
@ -27,4 +27,9 @@ class Bike < ActiveRecord::Base
Bike.all.select{|bike| bike.completion_date && (bike.purpose == "Freecyclery") && !bike.client }
end
def mark_picked_up
current_date = Time.new.strftime("%Y-%m-%d")
self.update_attribute(:date_sold, current_date)
end
end

View File

@ -8,10 +8,12 @@
%th Brand
%th Model
%th Client
%th
%tbody
- @bikes_for_pickup.each do |bike|
%tr
%td= bike.brand
%td= bike.model
%td= bike.client.name
%td= button_to "Mark as picked up", {controller: "bikes", action: "mark_picked_up", id: bike.id}, method: :patch, class: "btn btn-default"

View File

@ -7,6 +7,7 @@ Bikedb::Application.routes.draw do
get 'print_labels' => 'bikes#print_labels', on: :collection
get 'freecyclery_pickup' => 'bikes#freecyclery_pickup', on: :collection
patch 'mark_as_sold' => 'bikes#mark_as_sold', on: :member
patch 'mark_picked_up' => 'bikes#mark_picked_up', on: :member
end
resources :volunteers
@ -18,6 +19,5 @@ Bikedb::Application.routes.draw do
get 'closed_applications' => 'freecyclery#closed_applications'
get 'ready_for_pickup' => 'freecyclery#ready_for_pickup'
get 'available_bikes' => 'freecyclery#available_bikes'
get 'bikes_sold_per_year' => 'reports#bikes_sold_per_year'
end

View File

@ -1,16 +1,18 @@
Freecyclery Receipts
Reports
Number of bikes sold by year or month. (Bar graph for extra points!)
Number of bikes donated by year or month. (With bar graph!?)
Number of bikes donated according to agency. (Graph?)
Average bike price for year.
General Reports
bikes donated per year
Yearly Reports
bikes sold by month. (Bar graph for extra points!)
bikes donated by year or month. (With bar graph!?)
bikes donated according to agency. (Graph?)
Add some way to navigate to client receipts
style client receipts
assign a bike from the available freecyclery bikes page
mark as picked up from the ready for pickup page
validations around parameters that break site if incomplete
mark as sold should be disabled after bike is sold
there should be nice feedback indicating that the bike was sold