mirror of
				https://github.com/fspc/bike-database.git
				synced 2025-10-31 00:35:35 -04:00 
			
		
		
		
	add volunteer table
This commit is contained in:
		
							parent
							
								
									d77bf467eb
								
							
						
					
					
						commit
						65216e3835
					
				| @ -49,13 +49,17 @@ class BikesController < ApplicationController | ||||
|   end | ||||
| 
 | ||||
|   private | ||||
|     # Use callbacks to share common setup or constraints between actions. | ||||
|     def set_bike | ||||
|       @bike = Bike.find(params[:id]) | ||||
|     end | ||||
| 
 | ||||
|     # Never trust parameters from the scary internet, only allow the white list through. | ||||
|     def bike_params | ||||
|       params.require(:bike).permit(:entry_date, :brand, :model, :type, :color, :frame_size, :freecyclery, :sale, :serial_number, :notes, :tag_info, :repaired_by, :completion_date, :price, :created_at, :updated_at)  | ||||
|       params.require(:bike).permit(:entry_date, :brand, :model,  | ||||
|                                    :type, :color, :frame_size,  | ||||
|                                    :log_number, :purpose, :serial_number,  | ||||
|                                    :notes, :tag_info, :mechanic,  | ||||
|                                    :completion_date, :price,  | ||||
|                                    :top_tube_size, :seat_tube_size, | ||||
|                                    :created_at, :updated_at)  | ||||
|     end | ||||
| end | ||||
|  | ||||
							
								
								
									
										37
									
								
								app/controllers/volunteers_controller.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								app/controllers/volunteers_controller.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,37 @@ | ||||
| class VolunteersController < ApplicationController | ||||
|   before_action :set_volunteer, only: [:show, :edit, :update, :destroy] | ||||
| 
 | ||||
|   def index  | ||||
|     @volunteers = Volunteer.all | ||||
|   end | ||||
|   def show; end | ||||
|   def new | ||||
|     @volunteer = Volunteer.new | ||||
|   end | ||||
|   def edit; end | ||||
|   | ||||
|   def create | ||||
|     @volunteer = Volunteer.new(volunteer_params) | ||||
|     respond_to do |format| | ||||
|       if @volunteer.save | ||||
|         format.html { redirect_to @volunteer, notice: 'Volunteer was successfully created.' } | ||||
|         format.json { render action: 'show', status: :created, location: @bike } | ||||
|       else | ||||
|         format.html { render action: 'new' } | ||||
|         format.json { render json: @volunteer.errors, status: :unprocessable_entity } | ||||
|       end | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def update; end | ||||
|   def destroy; end | ||||
| 
 | ||||
|   private | ||||
|     def set_volunteer | ||||
|       @volunteer = Volunteer.find(params[:id]) | ||||
|     end | ||||
| 
 | ||||
|     def volunteer_params | ||||
|       params.require(:volunteer).permit(:name, :email, :phone)  | ||||
|     end | ||||
| end | ||||
							
								
								
									
										2
									
								
								app/models/volunteer.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								app/models/volunteer.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | ||||
| class Volunteer < ActiveRecord::Base | ||||
| end | ||||
| @ -1,5 +1,12 @@ | ||||
| <% disabled ||= false %> | ||||
| 
 | ||||
| <div class="form-group"> | ||||
|   <%= f.label "Log Number", class: "col-sm-2 control-label" %> | ||||
|   <div class="col-sm-10"> | ||||
|     <%= f.text_field :log_number, class: "form-control", disabled: disabled  %> | ||||
|   </div> | ||||
| </div> | ||||
| 
 | ||||
| <div class="form-group"> | ||||
|   <%= f.label "Bike Entry Date:", class: "col-sm-2 control-label" %> | ||||
|   <div class="col-sm-10"> | ||||
| @ -14,6 +21,29 @@ | ||||
|   </div> | ||||
| </div> | ||||
| 
 | ||||
| <div class="form-group"> | ||||
|   <%= f.label "Color:", class: "col-sm-2 control-label"   %> | ||||
|   <div class="col-sm-10"> | ||||
|     <%= f.text_field :color, class: "form-control", disabled: disabled %> | ||||
|   </div> | ||||
| </div> | ||||
| 
 | ||||
| 
 | ||||
| <div class="form-group"> | ||||
|   <%= f.label "Top Tube Size:", class: "col-sm-2 control-label"   %> | ||||
|   <div class="col-sm-10"> | ||||
|     <%= f.text_field :top_tube_size, class: "form-control", disabled: disabled %> | ||||
|   </div> | ||||
| </div> | ||||
| 
 | ||||
| 
 | ||||
| <div class="form-group"> | ||||
|   <%= f.label "Seat Tube Size:", class: "col-sm-2 control-label"   %> | ||||
|   <div class="col-sm-10"> | ||||
|     <%= f.text_field :seat_tube_size, class: "form-control", disabled: disabled %> | ||||
|   </div> | ||||
| </div> | ||||
| 
 | ||||
| <div class="form-group"> | ||||
|   <%= f.label "Model:", class: "col-sm-2 control-label" %> | ||||
|   <div class="col-sm-10"> | ||||
| @ -29,13 +59,10 @@ | ||||
| </div> | ||||
| 
 | ||||
| <div class="form-group"> | ||||
|   <%= f.label "Freecyclery?", class: "col-sm-offset-2 control-label" %> | ||||
|   <%= f.check_box :freecyclery, disabled: disabled %> | ||||
|   <%= f.label "Purpose:", class: "col-sm-2 control-label"   %> | ||||
|   <div class="col-sm-10"> | ||||
|     <%= f.select :purpose, [["Freecyclery", "Freecyclery"], ["Sale", "Sale"]], class: "selectpicker", disabled: disabled %> | ||||
|   </div> | ||||
| 
 | ||||
| <div class="form-group"> | ||||
|   <%= f.label "Sale?", class: "col-sm-offset-2 control-label" %> | ||||
|   <%= f.check_box :sale, disabled: disabled  %> | ||||
| </div> | ||||
| 
 | ||||
| <div class="form-group"> | ||||
| @ -60,9 +87,9 @@ | ||||
| </div> | ||||
| 
 | ||||
| <div class="form-group"> | ||||
|   <%= f.label "Repaired by:", class: "col-sm-2 control-label" %> | ||||
|   <%= f.label "Mechanic:", class: "col-sm-2 control-label" %> | ||||
|   <div class="col-sm-10"> | ||||
|     <%= f.text_field :repaired_by, class: "form-control", disabled: disabled  %> | ||||
|     <%= f.text_field :mechanic, class: "form-control", disabled: disabled  %> | ||||
|   </div> | ||||
| </div> | ||||
| 
 | ||||
|  | ||||
| @ -12,6 +12,7 @@ | ||||
|   <div class="navbar-collapse collapse navbar-responsive-collapse" id='collapse-1'> | ||||
|     <ul class="nav navbar-nav navbar-right"> | ||||
|       <li><%= link_to "Bike Tracker", bikes_path %></li> | ||||
|       <li><%= link_to "Volunteer Tracker", volunteers_path %></li> | ||||
|     </ul> | ||||
|   </div> | ||||
| </nav> | ||||
|  | ||||
							
								
								
									
										23
									
								
								app/views/volunteers/_fields.html.erb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								app/views/volunteers/_fields.html.erb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,23 @@ | ||||
| <% disabled ||= false %> | ||||
| 
 | ||||
| <div class="form-group"> | ||||
|   <%= f.label "Name", class: "col-sm-2 control-label" %> | ||||
|   <div class="col-sm-10"> | ||||
|     <%= f.text_field :name, class: "form-control", disabled: disabled  %> | ||||
|   </div> | ||||
| </div> | ||||
| 
 | ||||
| <div class="form-group"> | ||||
|   <%= f.label "Email address:", class: "col-sm-2 control-label" %> | ||||
|   <div class="col-sm-10"> | ||||
|     <%= f.text_field :email, class: "form-control", disabled: disabled %> | ||||
|   </div> | ||||
| </div> | ||||
| 
 | ||||
| <div class="form-group"> | ||||
|   <%= f.label "Phone Number:", class: "col-sm-2 control-label"   %> | ||||
|   <div class="col-sm-10"> | ||||
|     <%= f.text_field :phone, class: "form-control", disabled: disabled %> | ||||
|   </div> | ||||
| </div> | ||||
| 
 | ||||
							
								
								
									
										23
									
								
								app/views/volunteers/_form.html.erb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								app/views/volunteers/_form.html.erb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,23 @@ | ||||
| <div class="container"> | ||||
|   <%= form_for @volunteer, html: {class: 'form-horizontal'} do |f| %> | ||||
|     <% if @volunteer.errors.any? %> | ||||
|       <div id="error_explanation"> | ||||
|         <h2><%= pluralize(@volunteer.errors.count, "error") %> prohibited this volunteer from being saved:</h2> | ||||
|    | ||||
|         <ul> | ||||
|         <% @volunteer.errors.full_messages.each do |msg| %> | ||||
|           <li><%= msg %></li> | ||||
|         <% end %> | ||||
|         </ul> | ||||
|       </div> | ||||
|     <% end %> | ||||
|    | ||||
|     <%= render 'fields', f: f %> | ||||
|    | ||||
|     <div class="row"> | ||||
|       <div class="actions col-sm-offset-2"> | ||||
|         <%= f.submit class: "btn btn-default" %> | ||||
|       </div> | ||||
|     </div> | ||||
|   <% end %> | ||||
| </div> | ||||
							
								
								
									
										0
									
								
								app/views/volunteers/edit.html.erb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								app/views/volunteers/edit.html.erb
									
									
									
									
									
										Normal file
									
								
							
							
								
								
									
										9
									
								
								app/views/volunteers/index.html.erb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								app/views/volunteers/index.html.erb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| <div class="container"> | ||||
|   <h1>Volunteer Listing</h1> | ||||
|   <% @volunteers.each do |volunteer| %> | ||||
|   <%= volunteer.name %> | ||||
|   <br> | ||||
|   <% end %> | ||||
|   <%= link_to '+ Add Volunteer', new_volunteer_path, class: "btn btn-default" %> | ||||
| </div> | ||||
| 
 | ||||
							
								
								
									
										5
									
								
								app/views/volunteers/new.html.erb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								app/views/volunteers/new.html.erb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| <h1>New Volunteer</h1> | ||||
| 
 | ||||
| <%= render 'form' %> | ||||
| 
 | ||||
| <%= link_to 'Back', volunteers_path %> | ||||
							
								
								
									
										9
									
								
								app/views/volunteers/show.html.erb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								app/views/volunteers/show.html.erb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| <div class="container"> | ||||
|   <p id="notice"><%= notice %></p> | ||||
|   <%= form_for(@volunteer) do |f| %> | ||||
|     <%= render 'fields', f: f, disabled: true %> | ||||
|   <% end %> | ||||
|    | ||||
|   <%= link_to 'Edit', edit_volunteer_path(@volunteer) %> | | ||||
|   <%= link_to 'Back', volunteer_path %> | ||||
| </div> | ||||
| @ -1,4 +1,5 @@ | ||||
| Bikedb::Application.routes.draw do | ||||
|   root "static_pages#home" | ||||
|   resources :bikes | ||||
|   resources :volunteers | ||||
| end | ||||
|  | ||||
							
								
								
									
										23
									
								
								db/migrate/20140313000619_create_volunteers.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								db/migrate/20140313000619_create_volunteers.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,23 @@ | ||||
| class CreateVolunteers < ActiveRecord::Migration | ||||
|   def change | ||||
|     create_table :volunteers do |t| | ||||
|       t.string :name | ||||
|       t.string :email | ||||
|       t.string :phone | ||||
|       t.date :orientation_date | ||||
|       t.integer :other_volunteer_hours | ||||
|       t.text :referral | ||||
|       t.text :reason | ||||
|       t.text :skills | ||||
|       t.text :wants | ||||
|       t.boolean :interested_in_improving | ||||
|       t.boolean :available_weekends | ||||
|       t.boolean :available_weekdays | ||||
|       t.boolean :available_shorter_hours | ||||
|       t.boolean :available_longer_hours | ||||
|       t.boolean :flexible | ||||
|       t.text :questions | ||||
|       t.text :improve_orientation | ||||
|     end | ||||
|   end | ||||
| end | ||||
							
								
								
									
										22
									
								
								db/schema.rb
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								db/schema.rb
									
									
									
									
									
								
							| @ -11,7 +11,7 @@ | ||||
| # | ||||
| # It's strongly recommended that you check this file into your version control system. | ||||
| 
 | ||||
| ActiveRecord::Schema.define(version: 20140312232550) do | ||||
| ActiveRecord::Schema.define(version: 20140313000619) do | ||||
| 
 | ||||
|   # These are extensions that must be enabled in order to support this database | ||||
|   enable_extension "plpgsql" | ||||
| @ -37,4 +37,24 @@ ActiveRecord::Schema.define(version: 20140312232550) do | ||||
|     t.text     "mechanic" | ||||
|   end | ||||
| 
 | ||||
|   create_table "volunteers", force: true do |t| | ||||
|     t.string  "name" | ||||
|     t.string  "email" | ||||
|     t.string  "phone" | ||||
|     t.date    "orientation_date" | ||||
|     t.integer "other_volunteer_hours" | ||||
|     t.text    "referral" | ||||
|     t.text    "reason" | ||||
|     t.text    "skills" | ||||
|     t.text    "wants" | ||||
|     t.boolean "interested_in_improving" | ||||
|     t.boolean "available_weekends" | ||||
|     t.boolean "available_weekdays" | ||||
|     t.boolean "available_shorter_hours" | ||||
|     t.boolean "available_longer_hours" | ||||
|     t.boolean "flexible" | ||||
|     t.text    "questions" | ||||
|     t.text    "improve_orientation" | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user