26 changed files with 419 additions and 354 deletions
+2
View File
@@ -10,3 +10,5 @@ public/extjs
public/assets
public/images/icons
config/database.yml
vendor/
.sass-cache/
+1 -1
View File
@@ -1 +1 @@
ruby-1.9.3-p374
2.1.1
+22 -23
View File
@@ -1,51 +1,50 @@
source 'https://rubygems.org'
gem 'rails', '3.2.13'
gem 'rails', '3.2.19'
gem 'netzke-cancan'
gem 'netzke-core', '~>0.8.0'
gem 'netzke-basepack', '~>0.8.0'
gem 'netzke-core'
gem 'netzke-basepack'
gem 'acts_as_loggable', :git => 'https://github.com/spacemunkay/acts_as_loggable.git'
gem 'bootstrap-will_paginate', '~> 0.0.6'
gem 'bootstrap-will_paginate'
gem 'cancan'
gem 'decent_exposure', '~> 1.0.1'
gem 'devise', '~> 2.0.4'
gem 'haml-rails', '~> 0.3.4'
gem 'jquery-rails', '~> 2.0'
gem 'haml-rails'
gem 'jquery-rails'
gem 'pg', '~> 0.17.1'
gem 'will_paginate', '~> 3.0.3'
gem 'jbuilder', '~> 2.0.3'
gem 'will_paginate'
gem 'jbuilder'
# Gems used only for assets and not required
# in production environments by default.
group :assets do
gem 'coffee-rails', '~> 3.2.1'
gem "twitter-bootstrap-rails", "~> 2.0.3"
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer'
gem 'uglifier', '>= 1.0.3'
gem 'coffee-rails'
gem 'sprockets-rails', '=2.0.0.backport1'
gem 'sprockets', '=2.2.2.backport2'
gem 'sass-rails', github: 'guilleiguaran/sass-rails', branch: 'backport'
gem 'bootstrap-sass'
gem 'uglifier'
end
group :development, :test do
gem 'rspec-rails', '~> 2.14.0'
gem 'factory_girl_rails', '~> 1.2'
gem 'pry', '~> 0.9.8'
gem 'faker', '~> 1.2.0'
gem 'rspec-rails'
gem 'factory_girl_rails'
gem 'pry'
gem 'faker'
end
group :test do
gem 'shoulda-matchers', '~> 1.0.0'
# gem 'shoulda-matchers', '~> 1.0.0'
gem 'capybara', '~> 2.2.1'
gem 'poltergeist', '~> 1.5.0'
gem 'database_cleaner', '~> 1.2.0'
gem 'launchy', '~> 2.4.2'
gem 'spork', '~> 0.9.2'
gem 'spork'
#guard dependency for Mac OS 10
gem 'rb-fsevent', :require => false if RUBY_PLATFORM =~ /darwin/i
gem 'guard-spork', '~> 1.5.1'
gem 'guard-rspec', '~> 4.2.6'
gem 'guard-spork'
gem 'guard-rspec'
end
+131 -120
View File
@@ -1,3 +1,13 @@
GIT
remote: git://github.com/guilleiguaran/sass-rails.git
revision: 0393d9e1a6e4a776e61f16fb75f97971b9f4abd2
branch: backport
specs:
sass-rails (4.0.1)
railties (>= 3.2.0, < 5.0)
sass (>= 3.2.0)
sprockets-rails (~> 2.0.0.backport1)
GIT
remote: https://github.com/spacemunkay/acts_as_loggable.git
revision: 8484dc1f7a58699705c5ffb593ebdf700a9f374a
@@ -9,12 +19,12 @@ GIT
GEM
remote: https://rubygems.org/
specs:
actionmailer (3.2.13)
actionpack (= 3.2.13)
mail (~> 2.5.3)
actionpack (3.2.13)
activemodel (= 3.2.13)
activesupport (= 3.2.13)
actionmailer (3.2.19)
actionpack (= 3.2.19)
mail (~> 2.5.4)
actionpack (3.2.19)
activemodel (= 3.2.19)
activesupport (= 3.2.19)
builder (~> 3.0.0)
erubis (~> 2.7.0)
journey (~> 1.0.4)
@@ -22,23 +32,27 @@ GEM
rack-cache (~> 1.2)
rack-test (~> 0.6.1)
sprockets (~> 2.2.1)
activemodel (3.2.13)
activesupport (= 3.2.13)
activemodel (3.2.19)
activesupport (= 3.2.19)
builder (~> 3.0.0)
activerecord (3.2.13)
activemodel (= 3.2.13)
activesupport (= 3.2.13)
activerecord (3.2.19)
activemodel (= 3.2.19)
activesupport (= 3.2.19)
arel (~> 3.0.2)
tzinfo (~> 0.3.29)
activeresource (3.2.13)
activemodel (= 3.2.13)
activesupport (= 3.2.13)
activesupport (3.2.13)
i18n (= 0.6.1)
activeresource (3.2.19)
activemodel (= 3.2.19)
activesupport (= 3.2.19)
activesupport (3.2.19)
i18n (~> 0.6, >= 0.6.4)
multi_json (~> 1.0)
addressable (2.3.5)
addressable (2.3.6)
arel (3.0.3)
bcrypt-ruby (3.1.2)
bcrypt (3.1.7)
bcrypt-ruby (3.1.5)
bcrypt (>= 3.1.3)
bootstrap-sass (3.2.0.1)
sass (~> 3.2)
bootstrap-will_paginate (0.0.10)
will_paginate
builder (3.0.4)
@@ -51,18 +65,17 @@ GEM
xpath (~> 2.0)
celluloid (0.15.2)
timers (~> 1.1.0)
childprocess (0.4.0)
childprocess (0.5.3)
ffi (~> 1.0, >= 1.0.11)
cliver (0.3.2)
coderay (1.1.0)
coffee-rails (3.2.2)
coffee-script (>= 2.2.0)
railties (~> 3.2.0)
coffee-script (2.2.0)
coffee-script (2.3.0)
coffee-script-source
execjs
coffee-script-source (1.7.0)
commonjs (0.2.7)
coffee-script-source (1.7.1)
database_cleaner (1.2.0)
decent_exposure (1.0.2)
devise (2.0.6)
@@ -72,160 +85,156 @@ GEM
warden (~> 1.1.1)
diff-lcs (1.2.5)
erubis (2.7.0)
execjs (2.0.2)
factory_girl (2.6.4)
activesupport (>= 2.3.9)
factory_girl_rails (1.7.0)
factory_girl (~> 2.6.0)
execjs (2.2.1)
factory_girl (4.4.0)
activesupport (>= 3.0.0)
factory_girl_rails (4.4.1)
factory_girl (~> 4.4.0)
railties (>= 3.0.0)
faker (1.2.0)
faker (1.4.3)
i18n (~> 0.5)
ffi (1.9.3)
formatador (0.2.4)
guard (2.4.0)
formatador (0.2.5)
guard (2.6.1)
formatador (>= 0.2.4)
listen (~> 2.1)
listen (~> 2.7)
lumberjack (~> 1.0)
pry (>= 0.9.12)
thor (>= 0.18.1)
guard-rspec (4.2.6)
guard-rspec (4.3.1)
guard (~> 2.1)
rspec (>= 2.14, < 4.0)
guard-spork (1.5.1)
childprocess (>= 0.2.3)
guard (>= 1.1)
spork (>= 0.8.4)
haml (3.1.8)
haml-rails (0.3.5)
haml (4.0.5)
tilt
haml-rails (0.4)
actionpack (>= 3.1, < 4.1)
activesupport (>= 3.1, < 4.1)
haml (~> 3.1)
haml (>= 3.1, < 4.1)
railties (>= 3.1, < 4.1)
hike (1.2.3)
i18n (0.6.1)
jbuilder (2.0.3)
activesupport (>= 3.0.0)
multi_json (>= 1.2.0)
i18n (0.6.11)
jbuilder (2.1.3)
activesupport (>= 3.0.0, < 5)
multi_json (~> 1.2)
journey (1.0.4)
jquery-rails (2.3.0)
jquery-rails (3.1.1)
railties (>= 3.0, < 5.0)
thor (>= 0.14, < 2.0)
json (1.8.1)
launchy (2.4.2)
addressable (~> 2.3)
less (2.2.2)
commonjs (~> 0.2.6)
less-rails (2.2.6)
actionpack (>= 3.1)
less (~> 2.2.0)
libv8 (3.3.10.4)
listen (2.4.1)
listen (2.7.9)
celluloid (>= 0.15.2)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9)
lumberjack (1.0.4)
lumberjack (1.0.9)
mail (2.5.4)
mime-types (~> 1.16)
treetop (~> 1.4.8)
method_source (0.8.2)
mime-types (1.25.1)
mini_portile (0.5.2)
multi_json (1.8.4)
netzke-basepack (0.8.4)
netzke-core (~> 0.8.2)
mini_portile (0.6.0)
multi_json (1.10.1)
netzke-basepack (0.10.1)
netzke-core (~> 0.10.0)
netzke-cancan (0.8.2)
cancan
netzke-core
netzke-core (0.8.4)
netzke-core (0.10.1)
execjs
uglifier
nokogiri (1.6.1)
mini_portile (~> 0.5.0)
nokogiri (1.6.3.1)
mini_portile (= 0.6.0)
orm_adapter (0.0.7)
pg (0.17.1)
poltergeist (1.5.0)
poltergeist (1.5.1)
capybara (~> 2.1)
cliver (~> 0.3.1)
multi_json (~> 1.0)
websocket-driver (>= 0.2.0)
polyglot (0.3.3)
pry (0.9.12.6)
coderay (~> 1.0)
method_source (~> 0.8)
polyglot (0.3.5)
pry (0.10.1)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
rack (1.4.5)
rack-cache (1.2)
rack (>= 0.4)
rack-ssl (1.3.3)
rack-ssl (1.3.4)
rack
rack-test (0.6.2)
rack (>= 1.0)
rails (3.2.13)
actionmailer (= 3.2.13)
actionpack (= 3.2.13)
activerecord (= 3.2.13)
activeresource (= 3.2.13)
activesupport (= 3.2.13)
rails (3.2.19)
actionmailer (= 3.2.19)
actionpack (= 3.2.19)
activerecord (= 3.2.19)
activeresource (= 3.2.19)
activesupport (= 3.2.19)
bundler (~> 1.0)
railties (= 3.2.13)
railties (3.2.13)
actionpack (= 3.2.13)
activesupport (= 3.2.13)
railties (= 3.2.19)
railties (3.2.19)
actionpack (= 3.2.19)
activesupport (= 3.2.19)
rack-ssl (~> 1.3.2)
rake (>= 0.8.7)
rdoc (~> 3.4)
thor (>= 0.14.6, < 2.0)
rake (10.1.1)
rake (10.3.2)
rb-fsevent (0.9.4)
rb-inotify (0.9.3)
rb-inotify (0.9.5)
ffi (>= 0.5.0)
rdoc (3.12.2)
json (~> 1.4)
rspec (2.14.1)
rspec-core (~> 2.14.0)
rspec-expectations (~> 2.14.0)
rspec-mocks (~> 2.14.0)
rspec-core (2.14.7)
rspec-expectations (2.14.5)
diff-lcs (>= 1.1.3, < 2.0)
rspec-mocks (2.14.5)
rspec-rails (2.14.1)
rspec (3.0.0)
rspec-core (~> 3.0.0)
rspec-expectations (~> 3.0.0)
rspec-mocks (~> 3.0.0)
rspec-core (3.0.4)
rspec-support (~> 3.0.0)
rspec-expectations (3.0.4)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.0.0)
rspec-mocks (3.0.4)
rspec-support (~> 3.0.0)
rspec-rails (3.0.2)
actionpack (>= 3.0)
activemodel (>= 3.0)
activesupport (>= 3.0)
railties (>= 3.0)
rspec-core (~> 2.14.0)
rspec-expectations (~> 2.14.0)
rspec-mocks (~> 2.14.0)
shoulda-matchers (1.0.0)
slop (3.4.7)
rspec-core (~> 3.0.0)
rspec-expectations (~> 3.0.0)
rspec-mocks (~> 3.0.0)
rspec-support (~> 3.0.0)
rspec-support (3.0.4)
sass (3.4.0)
slop (3.6.0)
spork (0.9.2)
sprockets (2.2.2)
sprockets (2.2.2.backport2)
hike (~> 1.2)
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
therubyracer (0.10.2)
libv8 (~> 3.3.10)
thor (0.18.1)
sprockets-rails (2.0.0.backport1)
actionpack (>= 3.0)
activesupport (>= 3.0)
sprockets (~> 2.2.2.backport2)
thor (0.19.1)
tilt (1.4.1)
timers (1.1.0)
treetop (1.4.15)
polyglot
polyglot (>= 0.3.1)
twitter-bootstrap-rails (2.0.9)
actionpack (>= 3.1)
less-rails (~> 2.2.2)
railties (>= 3.1)
therubyracer (~> 0.10.1)
tzinfo (0.3.38)
uglifier (2.4.0)
tzinfo (0.3.41)
uglifier (2.5.3)
execjs (>= 0.3.0)
json (>= 1.8.0)
warden (1.1.1)
rack (>= 1.0)
websocket-driver (0.3.2)
will_paginate (3.0.5)
websocket-driver (0.3.4)
will_paginate (3.0.7)
xpath (2.0.0)
nokogiri (~> 1.3)
@@ -234,32 +243,34 @@ PLATFORMS
DEPENDENCIES
acts_as_loggable!
bootstrap-will_paginate (~> 0.0.6)
bootstrap-sass
bootstrap-will_paginate
cancan
capybara (~> 2.2.1)
coffee-rails (~> 3.2.1)
coffee-rails
database_cleaner (~> 1.2.0)
decent_exposure (~> 1.0.1)
devise (~> 2.0.4)
factory_girl_rails (~> 1.2)
faker (~> 1.2.0)
guard-rspec (~> 4.2.6)
guard-spork (~> 1.5.1)
haml-rails (~> 0.3.4)
jbuilder (~> 2.0.3)
jquery-rails (~> 2.0)
factory_girl_rails
faker
guard-rspec
guard-spork
haml-rails
jbuilder
jquery-rails
launchy (~> 2.4.2)
netzke-basepack (~> 0.8.0)
netzke-basepack
netzke-cancan
netzke-core (~> 0.8.0)
netzke-core
pg (~> 0.17.1)
poltergeist (~> 1.5.0)
pry (~> 0.9.8)
rails (= 3.2.13)
pry
rails (= 3.2.19)
rb-fsevent
rspec-rails (~> 2.14.0)
shoulda-matchers (~> 1.0.0)
spork (~> 0.9.2)
twitter-bootstrap-rails (~> 2.0.3)
uglifier (>= 1.0.3)
will_paginate (~> 3.0.3)
rspec-rails
sass-rails!
spork
sprockets (= 2.2.2.backport2)
sprockets-rails (= 2.0.0.backport1)
uglifier
will_paginate
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

+2 -2
View File
@@ -12,8 +12,8 @@
//
//= require jquery
//= require jquery_ujs
//= require twitter/bootstrap/bootstrap-button
//= require twitter/bootstrap/bootstrap-modal
// require twitter/bootstrap/bootstrap-button
// require twitter/bootstrap/bootstrap-modal
//= require utils
//= require bootstrap-datepicker
//= require bootstrap-timepicker
-15
View File
@@ -1,15 +0,0 @@
/*
* This is a manifest file that'll be compiled into application.css, which will include all the files
* listed below.
*
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the top of the
* compiled file, but it's generally better to create a new file per style scope.
*
*= require_self
*= require datepicker
*= require bootstrap-timepicker
*= require bootstrap_and_overrides
*/
@@ -0,0 +1,99 @@
/*
* This is a manifest file that'll be compiled into application.css, which will include all the files
* listed below.
*
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
*
* You're free to add application-wide styles to this file and they'll appear at the top of the
* compiled file, but it's generally better to create a new file per style scope.
*
*= require_self
*= require bootstrap
*= require datepicker
*= require bootstrap-timepicker
*= require bootstrap_and_overrides
*/
@import 'bootstrap-sprockets';
@import 'bootstrap';
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
margin: 0;
}
body {
background-color: #fff;
color: #333;
font-size: 13px;
line-height: 18px;
}
.x-boundlist-item {
white-space: nowrap;
}
.container {
max-width: 940px;
margin: 0 auto;
}
.container img {
display: block;
margin: 0 auto;
}
p {
text-align: center;
padding: 20px 0;
}
a {
text-decoration: none;
}
.check_box {
width: 30px;
height: 30px;
background-color: white;
}
label {
font-size: x-large;
}
/* navigation styling */
.navbar-default {
background-color: #428bca;
border-color: #428bca;
border-radius: 0px;
}
.navbar > .container-fluid .navbar-brand {
margin-left: -15px;
}
.navbar-default .navbar-brand {
color: #ffffff;
}
.navbar-default .navbar-nav > li > a {
color: #ffffff;
list-style: none;
}
.navbar-brand {
float: left;
padding: 15px 15px;
font-size: 18px;
line-height: 20px;
height: 50px;
}
.navbar-default a:hover {
color: #d1b84a !important;
}
-47
View File
@@ -1,47 +0,0 @@
@import "twitter/bootstrap/bootstrap";
body {
padding-top: 60px;
padding-left: 20px;
}
@import "twitter/bootstrap/responsive";
// Set the correct sprite paths
@iconSpritePath: asset-path('twitter/bootstrap/glyphicons-halflings.png');
@iconWhiteSpritePath: asset-path('twitter/bootstrap/glyphicons-halflings-white.png');
// Set the Font Awesome (Font Awesome is default. You can disable by commenting below lines)
// Note: If you use asset_path() here, your compiled boostrap_and_overrides.css will not
// have the proper paths. So for now we use the absolute path.
@fontAwesomeEotPath: '/assets/fontawesome-webfont.eot';
@fontAwesomeWoffPath: '/assets/fontawesome-webfont.woff';
@fontAwesomeTtfPath: '/assets/fontawesome-webfont.ttf';
@fontAwesomeSvgPath: '/assets/fontawesome-webfont.svg';
// Font Awesome
@import "fontawesome";
// Your custom LESS stylesheets goes here
//
// Since bootstrap was imported above you have access to its mixins which
// you may use and inherit here
//
// If you'd like to override bootstrap's own variables, you can do so here as well
// See http://twitter.github.com/bootstrap/less.html for their names and documentation
//
// Example:
// @linkColor: #ff0000;
[data-toggle="buttons-radio"] > .btn > input[type="radio"],
[data-toggle="buttons"] > .btn > input[type="checkbox"] {
display: none;
}
.inline-block {
display: inline-block;
}
.control-group.error .btn-group > .btn {
color: #b94a48;
border-color: #b94a48;
}
+25
View File
@@ -0,0 +1,25 @@
// Set the correct sprite paths
$iconSpritePath: asset-path('twitter/bootstrap/glyphicons-halflings.png');
$iconWhiteSpritePath: asset-path('twitter/bootstrap/glyphicons-halflings-white.png');
// Set the Font Awesome (Font Awesome is default. You can disable by commenting below lines)
// Note: If you use asset_path() here, your compiled boostrap_and_overrides.css will not
// have the proper paths. So for now we use the absolute path.
$fontAwesomeEotPath: '/assets/fontawesome-webfont.eot';
$fontAwesomeWoffPath: '/assets/fontawesome-webfont.woff';
$fontAwesomeTtfPath: '/assets/fontawesome-webfont.ttf';
$fontAwesomeSvgPath: '/assets/fontawesome-webfont.svg';
[data-toggle="buttons-radio"] > .btn > input[type="radio"],
[data-toggle="buttons"] > .btn > input[type="checkbox"] {
display: none;
}
.inline-block {
display: inline-block;
}
.control-group.error .btn-group > .btn {
color: #b94a48;
border-color: #b94a48;
}
@@ -2,4 +2,6 @@ class ApplicationController < ActionController::Base
before_filter :authenticate_user!
protect_from_forgery
layout 'application'
end
@@ -1,3 +1,10 @@
class AuthenticatedController < ApplicationController
before_filter :authenticate_user!
before_filter :get_user_bike
def get_user_bike
@bike = current_user.bike
end
end
-6
View File
@@ -1,6 +0,0 @@
class SiteController < ApplicationController
def index
@bike = current_user.bike
end
end
-2
View File
@@ -1,5 +1,3 @@
%a{ class: "btn btn-default btn-lg", href: root_path}
%span{ class:"icon-home"}
%h2 Add Bike
%p
-2
View File
@@ -2,8 +2,6 @@
%p
%a{class: "btn btn-lg btn-block btn-info", href: new_bike_path} Add Another Bike?
%a{ class: "btn btn-default btn-lg", href: root_path}
%span{ class:"icon-home"}
%h2 #{@bike.shop_id}: #{@bike.bike_brand}
%h2 #{@bike.model}
+2 -2
View File
@@ -6,13 +6,13 @@
<%- if devise_mapping.registerable? && controller_name != 'registrations' %>
<p>
<%= link_to "Sign up", new_registration_path(resource_name), class: "btn btn-block btn-default" %><br />
<%= link_to "Sign up", new_registration_path(resource_name), class: "btn btn-block btn-default btn-lg" %><br />
</p>
<% end -%>
<%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
<p>
<%= link_to "Forgot your password?", new_password_path(resource_name), class: "btn btn-block btn-default" %><br />
<%= link_to "Forgot your password?", new_password_path(resource_name), class: "btn btn-block btn-default btn-lg" %><br />
</p>
<% end -%>
+18 -14
View File
@@ -1,36 +1,39 @@
<%= stylesheet_link_tag "bootstrap_and_overrides", :media => "all" %>
<h2>Velocipede</h2>
<a href="http://madewithloveinbaltimore.org">Made with &hearts; in Baltimore</a>
<%= stylesheet_link_tag "bootstrap", :media => "all" %>
<%= stylesheet_link_tag "application", :media => "all" %>
<div class="container">
<%= image_tag 'velo_logo.png' %>
<p><a href="http://madewithloveinbaltimore.org" class="made">Made with &hearts; in Baltimore</a></p>
<br>
<br>
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<%= f.text_field :username, placeholder: "Username", class: "form-control input-lg"%>
<%= f.text_field :username, placeholder: "Username", class: "form-control input-lg", autofocus: true %>
</div>
<div class="form-group">
<%= f.password_field :password, placeholder: "Password", class: "form-control input-lg" %>
</div>
<div class="form-group">
<div class="form-group remember">
<% if devise_mapping.rememberable? -%>
<label>
<%= f.check_box :remember_me %> Remember Me
<%= f.check_box :remember_me, class: 'check_box' %> Remember Me
</label>
<% end -%>
</div>
</div> <!-- end column -->
</div> <!-- end row -->
<div class="row">
<div class="col-xs-12 col-sm-12 col-md-12">
<div class="form-group">
<p>
<%= f.submit "Sign in", class:"btn btn-lg btn-primary" %>
<%= f.submit "Sign in", class:"btn btn-lg btn-primary col-xs-12 col-sm-12 col-md-12" %>
</p>
<p> Or quickly... </p>
<div class="btn-group">
<input id="checkin" name="checkin" type="button" value="CHECK IN" class="btn btn-lg btn-success">
<input id="checkout" name="checkout" type="button" value="CHECK OUT" class="btn btn-lg btn-danger">
</div>
</div>
</div> <!-- end column -->
</div> <!-- end row -->
<% end %>
<%= render "links" %>
@@ -46,3 +49,4 @@
<% end %>
</p>
<% end %>
</div>
+29 -12
View File
@@ -5,27 +5,44 @@
%meta{ name: "viewport", content: "width=device-width", "initial-scale" => "1.0"}
%title= content_for?(:title) ? yield(:title) : "Velocipede"
= csrf_meta_tags
= stylesheet_link_tag "bootstrap_and_overrides", "datepicker", "bootstrap-timepicker", :media => "all"
= stylesheet_link_tag "bootstrap", "application", :media => "all"
/[if lt IE 9]
= javascript_include_tag "http://html5shim.googlecode.com/svn/trunk/html5.js"
:css
body {
padding-top: 5px;
}
.x-boundlist-item {
white-space: nowrap;
}
%body
.container
%nav{class: "navbar navbar-default", role: "navigation"}
%div{class: "container-fluid"}
/[Brand and toggle get grouped for better mobile display]
%div{class: "navbar-header"}
%button{type: "button", class: "navbar-toggle", 'data-toggle' => "collapse", 'data-target' => "#bs-example-navbar-collapse-1"}
%span{class: "sr-only"} Toggle navigation
%span.icon-bar
%span.icon-bar
%span.icon-bar
%a{class:"navbar-brand", href:"/"}
= image_tag 'velo_logo.png'
.content
- if user_signed_in?
/[Collect the nav links, forms, and other content for toggling]
#bs-example-navbar-collapse-1.collapse.navbar-collapse
%ul{class: "nav navbar-nav"}
%li
%a{href: new_time_entry_path} Add Time Entry
%li
%a{href: time_entries_path} View Timesheet
%li
%a{href: new_bike_path} Add Bike
%li
%a{href: bike_path(@bike)} View Your Bike
%ul{class: "nav navbar-nav navbar-right"}
%li
%a{href: destroy_user_session_path } Log Out
.container
- if flash[:notice]
%p{:class => 'notice'}= flash[:notice]
- if flash[:alert]
%p{:class => 'alert'}= flash[:alert]
.row
.span12
= yield
%footer
-21
View File
@@ -1,21 +0,0 @@
= stylesheet_link_tag "bootstrap_and_overrides", :media => "all"
%h2 Dashboard
%p
%p
%a{class: "btn btn-lg btn-block btn-primary", href: new_time_entry_path} Add Time Entry
%p
%a{class: "btn btn-lg btn-block btn-primary", href: time_entries_path} View Timesheet
- if can? :manage, Bike
%p
%a{class: "btn btn-lg btn-block btn-primary", href: new_bike_path} Add Bike
- if !@bike.nil?
%p
%a{class: "btn btn-lg btn-block btn-primary", href: bike_path(@bike)} View Your Bike
%p
%p
%a{class: "btn btn-lg btn-block btn-primary hidden-xs", href: admin_index_path} Desktop View
%p
%input{id: "index_logout", value: "Logout", type: "button", class: "btn btn-lg btn-block btn-danger", "data-url" => destroy_user_session_path }
-2
View File
@@ -1,5 +1,3 @@
%a{ class: "btn btn-default btn-lg", href: root_path}
%span{ class:"icon-home"}
%h2 Task List
%h3
%a{ href: bike_path(@task_list.item)}#{@task_list.item.shop_id} #{@task_list.item.bike_brand}
-2
View File
@@ -1,5 +1,3 @@
%a{ class: "btn btn-default btn-lg", href: root_path}
%span{ class:"icon-home"}
%h2 Your Timesheet
%dl.dl-horizontal
+18 -19
View File
@@ -1,33 +1,32 @@
%a{ class: "btn btn-default btn-lg", href: root_path}
%span{ class:"icon-home"}
%h2 Add Time Entry
%p
.control-group
.controls
%input{id: "date_id", placeholder: "Date", type: "text", class: "datepicker input-small" }
.controls.bootstrap-timepicker.col-xs-12.col-sm-12.col-md-12.input-group
.span{ class: "input-group-addon", style: "min-width: 100px; font-size: large"} Date
%input{id: "date_id", placeholder: "Date", type: "text", class: "datepicker input-large col-xs-12 col-sm-12 col-md-12 form-control" }
.help-block
.control-group
.controls{ class: "bootstrap-timepicker"}
%label Start
%input{id: "start_time_id", placeholder: "Time ID", type: "text", class: "input-small" }
.controls{ class: "bootstrap-timepicker col-xs-12 col-sm-12 col-md-12 input-group"}
.span{ class: "input-group-addon", style: "min-width: 100px; font-size: large"} Start
%input{id: "start_time_id", placeholder: "Time ID", type: "text", class: "input-large col-xs-12 col-sm-12 col-md-12 form-control" }
.hidden{ id: "start_date" }
.help-block
.control-group
.controls
%label End
%input{id: "end_time_id", placeholder: "Time ID", type: "text", class: "input-small" }
.controls{ class: "bootstrap-timepicker col-xs-12 col-sm-12 col-md-12 input-group"}
.span{ class: "input-group-addon", style: "min-width: 100px; font-size: large"} End
%input{id: "end_time_id", placeholder: "Time ID", type: "text", class: "input-large col-xs-9 col-sm-9 col-md-9 form-control"}
.hidden{ id: "end_date" }
.help-block
.control-group
.control-group{ class: "col-xs-12 col-sm-12 col-md-12"}
.controls
.btn-group{ "data-toggle" => "buttons-radio"}
%label{ class: "btn btn-default"}
%input{ type: "radio", name: "action_id", value: 1} Volunteer
%label{ class: "btn btn-default"}
%input{ type: "radio", name: "action_id", value: 2} Personal
%label{ class: "btn btn-default"}
%input{ type: "radio", name: "action_id", value: 3} Staff
.btn-group{ "data-toggle" => "buttons-radio", class: "btn-group btn-group-justified"}
%label{ class: "btn-lg col-xs-4 col-sm-4 col-md-4"}
%input{ type: "radio", name: "action_id", value: 1, radius: 20} Volunteer
%label{ class: "btn-lg col-xs-4 col-sm-4 col-md-4"}
%input{ type: "radio", name: "action_id", value: 2, radius: 20} Personal
%label{ class: "btn-lg col-xs-4 col-sm-4 col-md-4"}
%input{ type: "radio", name: "action_id", value: 3, radius: 20} Staff
.hidden{ id: "log_action_id" }
.help-block
.control-group
@@ -36,7 +35,7 @@
= select_tag(:bike_id, options_for_select(@bikes))
.control-group
.controls
%textarea{id: "description_id", placeholder: "Work description", class: "input-lg" }
%textarea{id: "description_id", placeholder: "Work description", class: "input-lg col-xs-12 col-sm-12 col-md-12" }
.control-group
.controls
%input{id: "add_time_entry_submit", value: "Add Time Entry", type: "button", class: "btn btn-lg btn-block btn-primary", "data-url" => "#{api_create_time_entry_path}", "data-forward" => "#{"."}"}
+1 -4
View File
@@ -3,10 +3,7 @@ require File.expand_path('../boot', __FILE__)
require 'rails/all'
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require(*Rails.groups(:assets => %w(development test)))
# If you want your assets lazily compiled in production, use this line
# Bundler.require(:default, :assets, Rails.env)
Bundler.require(*Rails.groups)
end
module Velocipede
+2 -1
View File
@@ -3,7 +3,8 @@ Velocipede::Application.routes.draw do
devise_for :users
netzke
root :to => 'site#index'
root :to => 'time_entries#new'
get 'admin/index', to: 'panel#index', as: "admin_index"
get 'bikes/new', to: 'bikes#new', as: "new_bike"
+1 -2
View File
@@ -16,8 +16,6 @@ FactoryGirl.define do
value 200
bike_condition { FactoryGirl.create(:bike_condition) }
bike_purpose { FactoryGirl.create(:bike_purpose) }
end
factory :seed_bike do
sequence(:shop_id) {|n| n}
sequence :serial_number do |n|
@@ -35,3 +33,4 @@ FactoryGirl.define do
bike_purpose_id { BikePurpose.all.sample.id }
end
end
end
+4 -4
View File
@@ -8,14 +8,14 @@ FactoryGirl.define do
first_name 'Michael'
last_name 'Scott'
sequence(:bike_id) { |n| n }
after_build do |r|
after(:build) do |r|
r.roles << (Role.find_by_role("user") || FactoryGirl.create(:role_user))
end
factory :staff do
username "staff"
first_name 'Staff'
after_build do |r|
after(:build) do |r|
r.roles << (Role.find_by_role("staff") || FactoryGirl.create(:role_staff))
end
end
@@ -23,7 +23,7 @@ FactoryGirl.define do
factory :admin do
username "admin"
first_name 'Admin'
after_build do |r|
after(:build) do |r|
r.roles << (Role.find_by_role("admin") || FactoryGirl.create(:role_admin))
end
end
@@ -31,7 +31,7 @@ FactoryGirl.define do
factory :bike_admin do
username "bike_admin"
first_name 'BikeAdmin'
after_build do |r|
after(:build) do |r|
r.roles << (Role.find_by_role("bike_admin") || FactoryGirl.create(:role_bike_admin))
end
end