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:
parent
d0a91882e3
commit
157712ac67
@ -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
|
||||
|
@ -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
|
||||
|
@ -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"
|
||||
|
||||
|
@ -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
|
||||
|
14
notes.txt
14
notes.txt
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user