Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
view edits, hooking together all the pieces
  • Loading branch information
apatel committed May 24, 2011
1 parent 84ff717 commit ac41bda
Show file tree
Hide file tree
Showing 28 changed files with 101 additions and 84 deletions.
1 change: 0 additions & 1 deletion Gemfile
Expand Up @@ -8,7 +8,6 @@ gem 'jquery-rails', '0.2.7'
gem 'devise', '1.2.1'
gem 'carrierwave', '0.5.3'
gem 'mini_magick', '3.2'
gem 'mysql2', "0.2.7" # v0.3 requires rails 3

group :development,:test do
gem 'cucumber-rails', '0.4.0'
Expand Down
2 changes: 0 additions & 2 deletions Gemfile.lock
Expand Up @@ -91,7 +91,6 @@ GEM
mime-types (1.16)
mini_magick (3.2)
subexec (~> 0.0.4)
mysql2 (0.2.7)
nokogiri (1.4.4)
orm_adapter (0.0.4)
pg (0.10.1)
Expand Down Expand Up @@ -162,7 +161,6 @@ DEPENDENCIES
jquery-rails (= 0.2.7)
launchy
mini_magick (= 3.2)
mysql2 (= 0.2.7)
pg (= 0.10.1)
rails (= 3.0.5)
rspec-rails
Expand Down
7 changes: 6 additions & 1 deletion app/controllers/application_controller.rb
@@ -1,4 +1,9 @@
class ApplicationController < ActionController::Base
before_filter :authenticate_user!
before_filter :verify_credentials
protect_from_forgery

private
def verify_credentials
user_signed_in? || admin_signed_in?
end
end
2 changes: 1 addition & 1 deletion app/controllers/libraries_controller.rb
@@ -1,5 +1,5 @@
class LibrariesController < ApplicationController
before_filter :authenticate_admin!, :except => [:index, :show]
before_filter :authenticate_admin!, :only => [:new, :create, :edit, :update, :destroy]

def index
@libraries = Library.all
Expand Down
5 changes: 4 additions & 1 deletion app/controllers/reservations_controller.rb
@@ -1,12 +1,14 @@
class ReservationsController < ApplicationController
before_filter :authenticate_admin!, :except => [:edit, :update, :destroy]
before_filter :authenticate_admin!, :only => [:index, :show, :edit, :update, :destroy]
before_filter :verify_credentials, :only => [:index, :new, :show, :create]

def index
@reservations = Reservation.all
end

def new
@reservation = Reservation.new
@reservable_asset = params[:reservable_asset]
end

def show
Expand All @@ -20,6 +22,7 @@ def edit
def create
@reservation = Reservation.new
params[:reservation][:reservable_asset] = ReservableAsset.find(params[:reservation][:reservable_asset])
params[:reservation][:user] = User.find(current_user)
@reservation.attributes = params[:reservation]
respond_to do|format|
if @reservation.save
Expand Down
3 changes: 0 additions & 3 deletions app/models/reservation.rb
Expand Up @@ -2,9 +2,6 @@ class Reservation < ActiveRecord::Base
belongs_to :reservable_asset
belongs_to :user

validates_presence_of :code
validates_uniqueness_of :code

def to_s
%Q|#{id}|
end
Expand Down
3 changes: 3 additions & 0 deletions app/views/floors/index.html.erb
Expand Up @@ -4,5 +4,8 @@
<% else %>
<h2>No floors for this library yet.</h2>
<% end %>
<% if admin_signed_in? %>
<p><%= link_to('New Floor', new_library_floor_path(@floor.library)) %></p>
<% end %>
<p><%= link_to("Back to " + @library.name, @library ) %></p>
</div>
43 changes: 16 additions & 27 deletions app/views/floors/show.html.erb
@@ -1,22 +1,3 @@
<!--
<div class="floor show-object">
<h1><%= @floor %> in <%= link_to @floor.library.name, @floor.library %></h1>
<dl>
<dt>Subject Areas:</dt>
<dd><%= @floor.subject_areas.join(', ') %></dd>
<dt>Call Numbers:</dt>
<dd><%= @floor.call_numbers.join(', ') %></dd>
<% unless @floor.floor_map.blank? %>
<dt>Map</dt>
<dd><%= image_tag(@floor.floor_map.url) %></dd>
<% end %>
</dl>
</div>
-->

<div class="floor show-object" id="floor-details-<%= @floor.id %>">
<div id="heading">
<h1><%= @floor %> in <%= link_to @floor.library.name, @floor.library %></h1>
Expand All @@ -25,27 +6,35 @@
<div id="content-left">
<h2 class="collapsable description">Assets</h2>
<div class="description description-target">
Insert asset list here.
<% unless @floor.reservable_assets.blank? %>
<%= render :partial => 'shared/lines/reservable_asset', :collection => @floor.reservable_assets %>
<% else %>
<h3>No reservable assets yet.</h3>
<% end %>
<% if admin_signed_in? %>
<p><%= link_to('New Reservable Asset', new_reservable_asset_path) %></p>
<% end %>
</div>

<h2 class="collapsable description">Subject Areas</h2>
<% unless @floor.subject_areas.blank? %>
<%= render :partial => 'shared/lines/subject_area', :collection => @floor.subject_areas %>
<% else %>
<h2>No subject areas yet.</h2>
<h3>No subject areas yet.</h3>
<% end %>
<% if admin_signed_in? %>
<p><%= link_to('New Subject Area', new_subject_area_path) %></p>
<% end %>

<!-- If authorized to edit -->
<p><%= link_to('New Subject Area', new_subject_area_path) %></p>

<h2 class="collapsable description">All <%= @floor.library %> Floors</h2>
<% unless @floor.library.floors.blank? %>
<%= render :partial => 'shared/lines/floor', :collection => @floor.library.floors %>
<% else %>
<h2>No floors yet.</h2>
<h3>No floors yet.</h3>
<% end %>
<% if admin_signed_in? %>
<p><%= link_to('New Floor', new_library_floor_path(@floor.library)) %></p>
<% end %>
<!-- If authorized to edit -->
<p><%= link_to('New Floor', new_library_floor_path(@floor.library)) %></p>
</div>

<div id="content-right">
Expand Down
3 changes: 3 additions & 0 deletions app/views/layouts/application.html.erb
Expand Up @@ -23,6 +23,9 @@
<% if user_signed_in? %>
Signed in as <%= current_user.email %>. Not you?
<%= link_to "Sign out", destroy_user_session_path %>
<% elsif admin_signed_in? %>
Signed in as <%= current_admin.email %>. Not you?
<%= link_to "Sign out", destroy_admin_session_path %>
<% else %>
<%= link_to "Sign up", new_user_registration_path %> or <%= link_to "sign in", new_user_session_path %>
<% end %>
Expand Down
5 changes: 3 additions & 2 deletions app/views/libraries/index.html.erb
Expand Up @@ -4,6 +4,7 @@
<% else %>
<h2>No libraries yet.</h2>
<% end %>
<!-- If authorized to edit -->
<p><%= link_to('New Library', new_library_path) %></p>
<% if admin_signed_in? %>
<p><%= link_to('New Library', new_library_path) %></p>
<% end %>
</div>
15 changes: 8 additions & 7 deletions app/views/libraries/show.html.erb
Expand Up @@ -25,20 +25,21 @@
<% unless @library.floors.blank? %>
<%= render :partial => 'shared/lines/floor', :collection => @library.floors %>
<% else %>
<h2>No floors yet.</h2>
<h3>No floors yet.</h3>
<% end %>
<% if admin_signed_in? %>
<p><%= link_to('New Floor', new_library_floor_path(@library)) %></p>
<% end %>
<!-- If authorized to edit -->
<p><%= link_to('New Floor', new_library_floor_path(@library)) %></p>

<h2>Subject Areas</h2>

<% unless @subject_areas.blank? %>
<%= render :partial => 'shared/lines/subject_area', :collection => @subject_areas %>
<% else %>
<h2>No subject areas yet.</h2>
<h3>No subject areas yet.</h3>
<% end %>
<% if admin_signed_in? %>
<p><%= link_to('New Subject Area', new_subject_area_path) %></p>
<% end %>

<!-- If authorized to edit -->
<p><%= link_to('New Subject Area', new_subject_area_path) %></p>
</div>
</div>
3 changes: 3 additions & 0 deletions app/views/reservable_assets/index.html.erb
Expand Up @@ -4,5 +4,8 @@
<% else %>
<h2>No reservable assets for this floor yet.</h2>
<% end %>
<% if admin_signed_in? %>
<p><%= link_to('New Reservable Asset', new_reservable_asset_path) %></p>
<% end %>
<p></p>
</div>
8 changes: 6 additions & 2 deletions app/views/reservable_assets/show.html.erb
Expand Up @@ -3,6 +3,10 @@
<h1><%= @reservable_asset.reservable_asset_type.name %> on <%= link_to @reservable_asset.floor.name, library_floor_path(@reservable_asset.floor.library,@reservable_asset.floor) %></h1>
</div>
<dl>
<dt>Name:</dt>
<dd><%= @reservable_asset.name %></dd>
<dt>Description:</dt>
<dd><%= @reservable_asset.description %></dd>
<dt>Minimum Reservation Time:</dt>
<dd><%= @reservable_asset.min_reservation_time %></dd>
<dt>Maximum Reservation Time:</dt>
Expand All @@ -13,11 +17,11 @@
<dd><%= @reservable_asset.reservation_time_increment %></dd>
<dt>Location:</dt>
<dd><%= @reservable_asset.location %></dd>
<dt>General Information:</dt>
<dd><%= @reservable_asset.general_info %></dd>
</dl>
<h2>Photo</h2>
<% unless @reservable_asset.photo.blank? %>
<%= image_tag(@reservable_asset.photo.url) %>
<% end %>
</div>

<p><%= link_to('Reserve This Asset', new_reservation_path(:reservable_asset => @reservable_asset)) %></p>
4 changes: 2 additions & 2 deletions app/views/reservations/show.html.erb
Expand Up @@ -3,8 +3,8 @@
<h1><%= @reservation.reservable_asset.reservable_asset_type.name %> on <%= link_to @reservation.reservable_asset.floor.name, library_floor_path(@reservation.reservable_asset.floor.library,@reservation.reservable_asset.floor) %></h1>
</div>
<dl>
<dt><%= @reservation.reservable_asset.reservable_asset_type.name %> ID:</dt>
<dd><%= link_to @reservation.id, reservable_asset_path(@reservation.reservable_asset) %></dd>
<dt><%= @reservation.reservable_asset.reservable_asset_type.name %> Name:</dt>
<dd><%= link_to @reservation.reservable_asset.name, reservable_asset_path(@reservation.reservable_asset) %></dd>
<dt>Start Date:</dt>
<dd><%= @reservation.start_date.to_date() %></dd>
<dt>End Date:</dt>
Expand Down
4 changes: 3 additions & 1 deletion app/views/shared/forms/_reservable_asset.html.erb
Expand Up @@ -2,12 +2,14 @@
<%= f.inputs do %>
<%= f.input :floor %>
<%= f.input :reservable_asset_type %>
<%= f.input :name %>
<%= f.input :description %>
<%= f.input :min_reservation_time %>
<%= f.input :max_reservation_time %>
<%= f.input :max_concurrent_users %>
<%= f.input :reservation_time_increment %>
<%= f.input :location %>
<%= f.input :general_info %>
<%= f.input :access_code %>
<% unless f.object.photo.blank? %>
<h3>Current Photo</h3>
Expand Down
4 changes: 1 addition & 3 deletions app/views/shared/forms/_reservation.html.erb
@@ -1,8 +1,6 @@
<%= semantic_form_for(@reservation) do |f| %>
<%= f.inputs do %>
<%= f.input :reservable_asset, :as => :hidden, :value => ReservableAsset.find(:first) %>
<%= f.input :user, :as => :hidden, :value => User.find(current_user) %>
<%= f.input :code, :as => :hidden, :value => "A" %>
<%= f.input :reservable_asset, :as => :hidden, :value => @reservable_asset %>
<%= f.input :start_date, :as => :date %>
<%= f.input :end_date, :as => :date %>
<% end %>
Expand Down
12 changes: 7 additions & 5 deletions app/views/shared/lines/_floor.html.erb
@@ -1,9 +1,11 @@
<div class="floor line" id="floor-<%= floor.id %>">
<h3><%= link_to(floor.name, library_floor_path(@library,floor) ) %></h3>

<!-- If authorized to edit -->
<%= link_to('Move Up', move_higher_library_floor_path(@library,floor), :method => :post, :id => "move_up-#{floor.id}") %> |
<%= link_to('Move Down', move_lower_library_floor_path(@library,floor), :method => :post, :id => "move_down-#{floor.id}") %> |
<%= link_to('Edit', edit_library_floor_path(@library,floor)) %> |
<%= link_to('Delete', library_floor_path(@library,floor), :method => :delete, :id => "delete-#{floor.id}") %>
<% if admin_signed_in? %>
<%= link_to('Move Up', move_higher_library_floor_path(@library,floor), :method => :post, :id => "move_up-#{floor.id}") %> |
<%= link_to('Move Down', move_lower_library_floor_path(@library,floor), :method => :post, :id => "move_down-#{floor.id}") %> |
<%= link_to('Edit', edit_library_floor_path(@library,floor)) %> |
<%= link_to('Delete', library_floor_path(@library,floor), :method => :delete, :id => "delete-#{floor.id}") %>
<% end %>

</div>
9 changes: 6 additions & 3 deletions app/views/shared/lines/_library.html.erb
@@ -1,5 +1,8 @@
<div class="library line" id="library-<%= library.id %>">
<h3><%= library %></h3>
<%= link_to 'Show', library %> |
<%= link_to('Delete', library_path(library), :method => :delete, :id => "delete-#{library.id}") %>
<h3><%= link_to library, library %></h3>

<% if admin_signed_in? %>
<%= link_to 'Edit', edit_library_path(library) %> |
<%= link_to('Delete', library_path(library), :method => :delete, :id => "delete-#{library.id}") %>
<% end %>
</div>
10 changes: 6 additions & 4 deletions app/views/shared/lines/_reservable_asset.html.erb
@@ -1,7 +1,9 @@
<div class="reservable_asset line" id="reservable_asset-<%= reservable_asset.id %>">
<h3><%= link_to(reservable_asset.reservable_asset_type.name, reservable_asset ) %></h3>
<h3><%= link_to("#{reservable_asset.reservable_asset_type.name}-#{reservable_asset.name}", reservable_asset ) %> on <%= link_to reservable_asset.floor.name, library_floor_path(reservable_asset.floor.library,reservable_asset.floor) %></h3>

<% if admin_signed_in? %>
<%= link_to('Edit', edit_reservable_asset_path(reservable_asset)) %> |
<%= link_to('Delete', reservable_asset_path(reservable_asset), :method => :delete, :id => "delete-#{reservable_asset.id}") %>
<% end %>

<!-- If authorized to edit -->
<%= link_to('Edit', edit_reservable_asset_path(reservable_asset)) %> |
<%= link_to('Delete', reservable_asset_path(reservable_asset), :method => :delete, :id => "delete-#{reservable_asset.id}") %>
</div>
7 changes: 4 additions & 3 deletions app/views/shared/lines/_reservable_asset_type.html.erb
@@ -1,7 +1,8 @@
<div class="reservable_asset_type line" id="reservable_asset_type-<%= reservable_asset_type.id %>">
<h3><%= link_to(reservable_asset_type.name, reservable_asset_type ) %></h3>

<!-- If authorized to edit -->
<%= link_to('Edit', edit_reservable_asset_type_path(reservable_asset_type)) %> |
<%= link_to('Delete', reservable_asset_type_path(reservable_asset_type), :method => :delete, :id => "delete-#{reservable_asset_type.id}") %>
<% if admin_signed_in? %>
<%= link_to('Edit', edit_reservable_asset_type_path(reservable_asset_type)) %> |
<%= link_to('Delete', reservable_asset_type_path(reservable_asset_type), :method => :delete, :id => "delete-#{reservable_asset_type.id}") %>
<% end %>
</div>
7 changes: 4 additions & 3 deletions app/views/shared/lines/_subject_area.html.erb
@@ -1,7 +1,8 @@
<div class="subject_area line" id="subject_area-<%= subject_area.id %>">
<h3><%= link_to(subject_area.name, subject_area ) %></h3>

<!-- If authorized to edit -->
<%= link_to('Edit', edit_subject_area_path(subject_area)) %> |
<%= link_to('Delete', subject_area_path(subject_area), :method => :delete, :id => "delete-#{subject_area.id}") %>
<% if admin_signed_in? %>
<%= link_to('Edit', edit_subject_area_path(subject_area)) %> |
<%= link_to('Delete', subject_area_path(subject_area), :method => :delete, :id => "delete-#{subject_area.id}") %>
<% end %>
</div>
4 changes: 3 additions & 1 deletion db/migrate/20110511183050_create_reservable_assets.rb
Expand Up @@ -3,12 +3,14 @@ def self.up
create_table :reservable_assets do |t|
t.references :floor
t.references :reservable_asset_type
t.string :name
t.text :description
t.string :location
t.string :min_reservation_time
t.string :max_reservation_time
t.integer :max_concurrent_users
t.string :reservation_time_increment
t.text :general_info
t.string :access_code
t.string :photo
t.timestamps
end
Expand Down
1 change: 0 additions & 1 deletion db/migrate/20110511193450_create_reservations.rb
Expand Up @@ -3,7 +3,6 @@ def self.up
create_table :reservations do |t|
t.references :reservable_asset
t.references :user
t.string :code, :null => false
t.datetime :start_date
t.datetime :end_date
t.boolean :approved, :default => false
Expand Down
5 changes: 3 additions & 2 deletions db/schema.rb
Expand Up @@ -153,12 +153,14 @@
create_table "reservable_assets", :force => true do |t|
t.integer "floor_id"
t.integer "reservable_asset_type_id"
t.string "name"
t.text "description"
t.string "location"
t.string "min_reservation_time"
t.string "max_reservation_time"
t.integer "max_concurrent_users"
t.string "reservation_time_increment"
t.text "general_info"
t.string "access_code"
t.string "photo"
t.datetime "created_at"
t.datetime "updated_at"
Expand All @@ -170,7 +172,6 @@
create_table "reservations", :force => true do |t|
t.integer "reservable_asset_id"
t.integer "user_id"
t.string "code", :null => false
t.datetime "start_date"
t.datetime "end_date"
t.boolean "approved", :default => false
Expand Down
2 changes: 1 addition & 1 deletion features/step_definitions/shared.rb
Expand Up @@ -205,7 +205,7 @@
case user_type
when 'user'
visit('/users/sign_in')
fill_in('Email', :with => "user@email.com")
fill_in('Email', :with => "apatel@cyber.law.harvard.edu")
fill_in('Password', :with => "123456")
click_button('Sign in')
when 'admin'
Expand Down

0 comments on commit ac41bda

Please sign in to comment.