17 Commits
Author SHA1 Message Date
Brigitte Warner 57f268a4f8 wip fix progress 2014-09-23 17:42:15 -04:00
Brigitte Warner 1b7e40b827 fix merge conflicts 2014-08-18 13:23:29 -04:00
Brigitte Warner 56704fd269 change root route 2014-08-14 21:17:19 -04:00
Brigitte Warner d50c73c539 only show menu if user signed in 2014-08-14 21:16:55 -04:00
Brigitte Warner 1862f5dbc1 remove unnecessary home button from views 2014-08-14 21:15:59 -04:00
Brigitte Warner 0cc44273d0 remove site controller and views 2014-08-14 21:14:45 -04:00
Brigitte Warner a4b6ca12f9 define bike on all authenticated pages 2014-08-14 21:08:17 -04:00
Brigitte Warner 9df3dfcfd5 application nav WIP 2014-08-14 20:06:44 -04:00
Brigitte Warner 91a5b7c64c remove unneeded sass-cache 2014-08-07 20:55:44 -04:00
Brigitte Warner 2148fec9f4 add vendor and sass-cache to gitignore 2014-08-07 20:46:26 -04:00
Brigitte Warner d9ed9feec1 update sign in page with bootstrap 3 2014-08-07 20:43:26 -04:00
Brigitte Warner c2e2ce5b1b update ruby and gem versions 2014-07-24 20:42:37 -04:00
Brigitte Warner e1e49cbbb2 update less to sass 2014-07-24 20:42:09 -04:00
Jason Denney fd5d4798b0 Merge pull request #103 from spacemunkay/denney-fix-user-add-bike
Fix User being able to add bikes
2014-06-12 22:26:30 -04:00
Jason Denney 3e480981c7 Fix User being able to add bikes 2014-06-12 22:24:00 -04:00
Jason Denney 523135ed9f Merge pull request #102 from spacemunkay/denney-fix-edit-redirect
root path to user edit
2014-06-12 21:25:29 -04:00
Jason Denney 5e95ce542c root path to user edit 2014-06-12 21:24:02 -04:00
28 changed files with 421 additions and 356 deletions
+2
View File
@@ -10,3 +10,5 @@ public/extjs
public/assets public/assets
public/images/icons public/images/icons
config/database.yml 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' source 'https://rubygems.org'
gem 'rails', '3.2.13' gem 'rails', '3.2.19'
gem 'netzke-cancan' gem 'netzke-cancan'
gem 'netzke-core', '~>0.8.0' gem 'netzke-core'
gem 'netzke-basepack', '~>0.8.0' gem 'netzke-basepack'
gem 'acts_as_loggable', :git => 'https://github.com/spacemunkay/acts_as_loggable.git' 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 'cancan'
gem 'decent_exposure', '~> 1.0.1' gem 'decent_exposure', '~> 1.0.1'
gem 'devise', '~> 2.0.4' gem 'devise', '~> 2.0.4'
gem 'haml-rails', '~> 0.3.4' gem 'haml-rails'
gem 'jquery-rails', '~> 2.0' gem 'jquery-rails'
gem 'pg', '~> 0.17.1' gem 'pg', '~> 0.17.1'
gem 'will_paginate', '~> 3.0.3' gem 'will_paginate'
gem 'jbuilder', '~> 2.0.3' gem 'jbuilder'
# Gems used only for assets and not required # Gems used only for assets and not required
# in production environments by default. # in production environments by default.
group :assets do group :assets do
gem 'coffee-rails', '~> 3.2.1' gem 'coffee-rails'
gem "twitter-bootstrap-rails", "~> 2.0.3" gem 'sprockets-rails', '=2.0.0.backport1'
gem 'sprockets', '=2.2.2.backport2'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes gem 'sass-rails', github: 'guilleiguaran/sass-rails', branch: 'backport'
# gem 'therubyracer' gem 'bootstrap-sass'
gem 'uglifier'
gem 'uglifier', '>= 1.0.3'
end end
group :development, :test do group :development, :test do
gem 'rspec-rails', '~> 2.14.0' gem 'rspec-rails'
gem 'factory_girl_rails', '~> 1.2' gem 'factory_girl_rails'
gem 'pry', '~> 0.9.8' gem 'pry'
gem 'faker', '~> 1.2.0' gem 'faker'
end end
group :test do group :test do
gem 'shoulda-matchers', '~> 1.0.0' # gem 'shoulda-matchers', '~> 1.0.0'
gem 'capybara', '~> 2.2.1' gem 'capybara', '~> 2.2.1'
gem 'poltergeist', '~> 1.5.0' gem 'poltergeist', '~> 1.5.0'
gem 'database_cleaner', '~> 1.2.0' gem 'database_cleaner', '~> 1.2.0'
gem 'launchy', '~> 2.4.2' gem 'launchy', '~> 2.4.2'
gem 'spork', '~> 0.9.2' gem 'spork'
#guard dependency for Mac OS 10 #guard dependency for Mac OS 10
gem 'rb-fsevent', :require => false if RUBY_PLATFORM =~ /darwin/i gem 'rb-fsevent', :require => false if RUBY_PLATFORM =~ /darwin/i
gem 'guard-spork', '~> 1.5.1' gem 'guard-spork'
gem 'guard-rspec', '~> 4.2.6' gem 'guard-rspec'
end 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 GIT
remote: https://github.com/spacemunkay/acts_as_loggable.git remote: https://github.com/spacemunkay/acts_as_loggable.git
revision: 8484dc1f7a58699705c5ffb593ebdf700a9f374a revision: 8484dc1f7a58699705c5ffb593ebdf700a9f374a
@@ -9,12 +19,12 @@ GIT
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
actionmailer (3.2.13) actionmailer (3.2.19)
actionpack (= 3.2.13) actionpack (= 3.2.19)
mail (~> 2.5.3) mail (~> 2.5.4)
actionpack (3.2.13) actionpack (3.2.19)
activemodel (= 3.2.13) activemodel (= 3.2.19)
activesupport (= 3.2.13) activesupport (= 3.2.19)
builder (~> 3.0.0) builder (~> 3.0.0)
erubis (~> 2.7.0) erubis (~> 2.7.0)
journey (~> 1.0.4) journey (~> 1.0.4)
@@ -22,23 +32,27 @@ GEM
rack-cache (~> 1.2) rack-cache (~> 1.2)
rack-test (~> 0.6.1) rack-test (~> 0.6.1)
sprockets (~> 2.2.1) sprockets (~> 2.2.1)
activemodel (3.2.13) activemodel (3.2.19)
activesupport (= 3.2.13) activesupport (= 3.2.19)
builder (~> 3.0.0) builder (~> 3.0.0)
activerecord (3.2.13) activerecord (3.2.19)
activemodel (= 3.2.13) activemodel (= 3.2.19)
activesupport (= 3.2.13) activesupport (= 3.2.19)
arel (~> 3.0.2) arel (~> 3.0.2)
tzinfo (~> 0.3.29) tzinfo (~> 0.3.29)
activeresource (3.2.13) activeresource (3.2.19)
activemodel (= 3.2.13) activemodel (= 3.2.19)
activesupport (= 3.2.13) activesupport (= 3.2.19)
activesupport (3.2.13) activesupport (3.2.19)
i18n (= 0.6.1) i18n (~> 0.6, >= 0.6.4)
multi_json (~> 1.0) multi_json (~> 1.0)
addressable (2.3.5) addressable (2.3.6)
arel (3.0.3) 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) bootstrap-will_paginate (0.0.10)
will_paginate will_paginate
builder (3.0.4) builder (3.0.4)
@@ -51,18 +65,17 @@ GEM
xpath (~> 2.0) xpath (~> 2.0)
celluloid (0.15.2) celluloid (0.15.2)
timers (~> 1.1.0) timers (~> 1.1.0)
childprocess (0.4.0) childprocess (0.5.3)
ffi (~> 1.0, >= 1.0.11) ffi (~> 1.0, >= 1.0.11)
cliver (0.3.2) cliver (0.3.2)
coderay (1.1.0) coderay (1.1.0)
coffee-rails (3.2.2) coffee-rails (3.2.2)
coffee-script (>= 2.2.0) coffee-script (>= 2.2.0)
railties (~> 3.2.0) railties (~> 3.2.0)
coffee-script (2.2.0) coffee-script (2.3.0)
coffee-script-source coffee-script-source
execjs execjs
coffee-script-source (1.7.0) coffee-script-source (1.7.1)
commonjs (0.2.7)
database_cleaner (1.2.0) database_cleaner (1.2.0)
decent_exposure (1.0.2) decent_exposure (1.0.2)
devise (2.0.6) devise (2.0.6)
@@ -72,160 +85,156 @@ GEM
warden (~> 1.1.1) warden (~> 1.1.1)
diff-lcs (1.2.5) diff-lcs (1.2.5)
erubis (2.7.0) erubis (2.7.0)
execjs (2.0.2) execjs (2.2.1)
factory_girl (2.6.4) factory_girl (4.4.0)
activesupport (>= 2.3.9) activesupport (>= 3.0.0)
factory_girl_rails (1.7.0) factory_girl_rails (4.4.1)
factory_girl (~> 2.6.0) factory_girl (~> 4.4.0)
railties (>= 3.0.0) railties (>= 3.0.0)
faker (1.2.0) faker (1.4.3)
i18n (~> 0.5) i18n (~> 0.5)
ffi (1.9.3) ffi (1.9.3)
formatador (0.2.4) formatador (0.2.5)
guard (2.4.0) guard (2.6.1)
formatador (>= 0.2.4) formatador (>= 0.2.4)
listen (~> 2.1) listen (~> 2.7)
lumberjack (~> 1.0) lumberjack (~> 1.0)
pry (>= 0.9.12) pry (>= 0.9.12)
thor (>= 0.18.1) thor (>= 0.18.1)
guard-rspec (4.2.6) guard-rspec (4.3.1)
guard (~> 2.1) guard (~> 2.1)
rspec (>= 2.14, < 4.0) rspec (>= 2.14, < 4.0)
guard-spork (1.5.1) guard-spork (1.5.1)
childprocess (>= 0.2.3) childprocess (>= 0.2.3)
guard (>= 1.1) guard (>= 1.1)
spork (>= 0.8.4) spork (>= 0.8.4)
haml (3.1.8) haml (4.0.5)
haml-rails (0.3.5) tilt
haml-rails (0.4)
actionpack (>= 3.1, < 4.1) actionpack (>= 3.1, < 4.1)
activesupport (>= 3.1, < 4.1) activesupport (>= 3.1, < 4.1)
haml (~> 3.1) haml (>= 3.1, < 4.1)
railties (>= 3.1, < 4.1) railties (>= 3.1, < 4.1)
hike (1.2.3) hike (1.2.3)
i18n (0.6.1) i18n (0.6.11)
jbuilder (2.0.3) jbuilder (2.1.3)
activesupport (>= 3.0.0) activesupport (>= 3.0.0, < 5)
multi_json (>= 1.2.0) multi_json (~> 1.2)
journey (1.0.4) journey (1.0.4)
jquery-rails (2.3.0) jquery-rails (3.1.1)
railties (>= 3.0, < 5.0) railties (>= 3.0, < 5.0)
thor (>= 0.14, < 2.0) thor (>= 0.14, < 2.0)
json (1.8.1) json (1.8.1)
launchy (2.4.2) launchy (2.4.2)
addressable (~> 2.3) addressable (~> 2.3)
less (2.2.2) listen (2.7.9)
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)
celluloid (>= 0.15.2) celluloid (>= 0.15.2)
rb-fsevent (>= 0.9.3) rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9) rb-inotify (>= 0.9)
lumberjack (1.0.4) lumberjack (1.0.9)
mail (2.5.4) mail (2.5.4)
mime-types (~> 1.16) mime-types (~> 1.16)
treetop (~> 1.4.8) treetop (~> 1.4.8)
method_source (0.8.2) method_source (0.8.2)
mime-types (1.25.1) mime-types (1.25.1)
mini_portile (0.5.2) mini_portile (0.6.0)
multi_json (1.8.4) multi_json (1.10.1)
netzke-basepack (0.8.4) netzke-basepack (0.10.1)
netzke-core (~> 0.8.2) netzke-core (~> 0.10.0)
netzke-cancan (0.8.2) netzke-cancan (0.8.2)
cancan cancan
netzke-core netzke-core
netzke-core (0.8.4) netzke-core (0.10.1)
execjs execjs
uglifier uglifier
nokogiri (1.6.1) nokogiri (1.6.3.1)
mini_portile (~> 0.5.0) mini_portile (= 0.6.0)
orm_adapter (0.0.7) orm_adapter (0.0.7)
pg (0.17.1) pg (0.17.1)
poltergeist (1.5.0) poltergeist (1.5.1)
capybara (~> 2.1) capybara (~> 2.1)
cliver (~> 0.3.1) cliver (~> 0.3.1)
multi_json (~> 1.0) multi_json (~> 1.0)
websocket-driver (>= 0.2.0) websocket-driver (>= 0.2.0)
polyglot (0.3.3) polyglot (0.3.5)
pry (0.9.12.6) pry (0.10.1)
coderay (~> 1.0) coderay (~> 1.1.0)
method_source (~> 0.8) method_source (~> 0.8.1)
slop (~> 3.4) slop (~> 3.4)
rack (1.4.5) rack (1.4.5)
rack-cache (1.2) rack-cache (1.2)
rack (>= 0.4) rack (>= 0.4)
rack-ssl (1.3.3) rack-ssl (1.3.4)
rack rack
rack-test (0.6.2) rack-test (0.6.2)
rack (>= 1.0) rack (>= 1.0)
rails (3.2.13) rails (3.2.19)
actionmailer (= 3.2.13) actionmailer (= 3.2.19)
actionpack (= 3.2.13) actionpack (= 3.2.19)
activerecord (= 3.2.13) activerecord (= 3.2.19)
activeresource (= 3.2.13) activeresource (= 3.2.19)
activesupport (= 3.2.13) activesupport (= 3.2.19)
bundler (~> 1.0) bundler (~> 1.0)
railties (= 3.2.13) railties (= 3.2.19)
railties (3.2.13) railties (3.2.19)
actionpack (= 3.2.13) actionpack (= 3.2.19)
activesupport (= 3.2.13) activesupport (= 3.2.19)
rack-ssl (~> 1.3.2) rack-ssl (~> 1.3.2)
rake (>= 0.8.7) rake (>= 0.8.7)
rdoc (~> 3.4) rdoc (~> 3.4)
thor (>= 0.14.6, < 2.0) thor (>= 0.14.6, < 2.0)
rake (10.1.1) rake (10.3.2)
rb-fsevent (0.9.4) rb-fsevent (0.9.4)
rb-inotify (0.9.3) rb-inotify (0.9.5)
ffi (>= 0.5.0) ffi (>= 0.5.0)
rdoc (3.12.2) rdoc (3.12.2)
json (~> 1.4) json (~> 1.4)
rspec (2.14.1) rspec (3.0.0)
rspec-core (~> 2.14.0) rspec-core (~> 3.0.0)
rspec-expectations (~> 2.14.0) rspec-expectations (~> 3.0.0)
rspec-mocks (~> 2.14.0) rspec-mocks (~> 3.0.0)
rspec-core (2.14.7) rspec-core (3.0.4)
rspec-expectations (2.14.5) rspec-support (~> 3.0.0)
diff-lcs (>= 1.1.3, < 2.0) rspec-expectations (3.0.4)
rspec-mocks (2.14.5) diff-lcs (>= 1.2.0, < 2.0)
rspec-rails (2.14.1) rspec-support (~> 3.0.0)
rspec-mocks (3.0.4)
rspec-support (~> 3.0.0)
rspec-rails (3.0.2)
actionpack (>= 3.0) actionpack (>= 3.0)
activemodel (>= 3.0)
activesupport (>= 3.0) activesupport (>= 3.0)
railties (>= 3.0) railties (>= 3.0)
rspec-core (~> 2.14.0) rspec-core (~> 3.0.0)
rspec-expectations (~> 2.14.0) rspec-expectations (~> 3.0.0)
rspec-mocks (~> 2.14.0) rspec-mocks (~> 3.0.0)
shoulda-matchers (1.0.0) rspec-support (~> 3.0.0)
slop (3.4.7) rspec-support (3.0.4)
sass (3.4.0)
slop (3.6.0)
spork (0.9.2) spork (0.9.2)
sprockets (2.2.2) sprockets (2.2.2.backport2)
hike (~> 1.2) hike (~> 1.2)
multi_json (~> 1.0) multi_json (~> 1.0)
rack (~> 1.0) rack (~> 1.0)
tilt (~> 1.1, != 1.3.0) tilt (~> 1.1, != 1.3.0)
therubyracer (0.10.2) sprockets-rails (2.0.0.backport1)
libv8 (~> 3.3.10) actionpack (>= 3.0)
thor (0.18.1) activesupport (>= 3.0)
sprockets (~> 2.2.2.backport2)
thor (0.19.1)
tilt (1.4.1) tilt (1.4.1)
timers (1.1.0) timers (1.1.0)
treetop (1.4.15) treetop (1.4.15)
polyglot polyglot
polyglot (>= 0.3.1) polyglot (>= 0.3.1)
twitter-bootstrap-rails (2.0.9) tzinfo (0.3.41)
actionpack (>= 3.1) uglifier (2.5.3)
less-rails (~> 2.2.2)
railties (>= 3.1)
therubyracer (~> 0.10.1)
tzinfo (0.3.38)
uglifier (2.4.0)
execjs (>= 0.3.0) execjs (>= 0.3.0)
json (>= 1.8.0) json (>= 1.8.0)
warden (1.1.1) warden (1.1.1)
rack (>= 1.0) rack (>= 1.0)
websocket-driver (0.3.2) websocket-driver (0.3.4)
will_paginate (3.0.5) will_paginate (3.0.7)
xpath (2.0.0) xpath (2.0.0)
nokogiri (~> 1.3) nokogiri (~> 1.3)
@@ -234,32 +243,34 @@ PLATFORMS
DEPENDENCIES DEPENDENCIES
acts_as_loggable! acts_as_loggable!
bootstrap-will_paginate (~> 0.0.6) bootstrap-sass
bootstrap-will_paginate
cancan cancan
capybara (~> 2.2.1) capybara (~> 2.2.1)
coffee-rails (~> 3.2.1) coffee-rails
database_cleaner (~> 1.2.0) database_cleaner (~> 1.2.0)
decent_exposure (~> 1.0.1) decent_exposure (~> 1.0.1)
devise (~> 2.0.4) devise (~> 2.0.4)
factory_girl_rails (~> 1.2) factory_girl_rails
faker (~> 1.2.0) faker
guard-rspec (~> 4.2.6) guard-rspec
guard-spork (~> 1.5.1) guard-spork
haml-rails (~> 0.3.4) haml-rails
jbuilder (~> 2.0.3) jbuilder
jquery-rails (~> 2.0) jquery-rails
launchy (~> 2.4.2) launchy (~> 2.4.2)
netzke-basepack (~> 0.8.0) netzke-basepack
netzke-cancan netzke-cancan
netzke-core (~> 0.8.0) netzke-core
pg (~> 0.17.1) pg (~> 0.17.1)
poltergeist (~> 1.5.0) poltergeist (~> 1.5.0)
pry (~> 0.9.8) pry
rails (= 3.2.13) rails (= 3.2.19)
rb-fsevent rb-fsevent
rspec-rails (~> 2.14.0) rspec-rails
shoulda-matchers (~> 1.0.0) sass-rails!
spork (~> 0.9.2) spork
twitter-bootstrap-rails (~> 2.0.3) sprockets (= 2.2.2.backport2)
uglifier (>= 1.0.3) sprockets-rails (= 2.0.0.backport1)
will_paginate (~> 3.0.3) 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
//= require jquery_ujs //= require jquery_ujs
//= require twitter/bootstrap/bootstrap-button // require twitter/bootstrap/bootstrap-button
//= require twitter/bootstrap/bootstrap-modal // require twitter/bootstrap/bootstrap-modal
//= require utils //= require utils
//= require bootstrap-datepicker //= require bootstrap-datepicker
//= require bootstrap-timepicker //= 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;
}
@@ -19,6 +19,6 @@
}); });
}, },
onChangeAccountInfo: function(){ onChangeAccountInfo: function(){
window.location.href="users/edit"; window.location.href="/users/edit";
} }
} }
@@ -2,4 +2,6 @@ class ApplicationController < ActionController::Base
before_filter :authenticate_user! before_filter :authenticate_user!
protect_from_forgery protect_from_forgery
layout 'application'
end end
@@ -1,3 +1,10 @@
class AuthenticatedController < ApplicationController class AuthenticatedController < ApplicationController
before_filter :authenticate_user! before_filter :authenticate_user!
before_filter :get_user_bike
def get_user_bike
@bike = current_user.bike
end
end end
-6
View File
@@ -1,6 +0,0 @@
class SiteController < ApplicationController
def index
@bike = current_user.bike
end
end
+1 -1
View File
@@ -23,7 +23,7 @@ class Ability
def user def user
can :read, :all can :read, :all
can :manage, Bike, :id => @current_user.bike_id unless @current_user.bike.nil? can :manage, @current_user.bike unless @current_user.bike.nil?
can :manage, ::ActsAsLoggable::Log, :loggable_type => "Bike", :loggable_id => @current_user.bike_id can :manage, ::ActsAsLoggable::Log, :loggable_type => "Bike", :loggable_id => @current_user.bike_id
can :manage, ::ActsAsLoggable::Log, :loggable_type => "User", :loggable_id => @current_user.id can :manage, ::ActsAsLoggable::Log, :loggable_type => "User", :loggable_id => @current_user.id
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 %h2 Add Bike
%p %p
-2
View File
@@ -2,8 +2,6 @@
%p %p
%a{class: "btn btn-lg btn-block btn-info", href: new_bike_path} Add Another Bike? %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.shop_id}: #{@bike.bike_brand}
%h2 #{@bike.model} %h2 #{@bike.model}
+2 -2
View File
@@ -6,13 +6,13 @@
<%- if devise_mapping.registerable? && controller_name != 'registrations' %> <%- if devise_mapping.registerable? && controller_name != 'registrations' %>
<p> <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> </p>
<% end -%> <% end -%>
<%- if devise_mapping.recoverable? && controller_name != 'passwords' %> <%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
<p> <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> </p>
<% end -%> <% end -%>
+18 -14
View File
@@ -1,36 +1,39 @@
<%= stylesheet_link_tag "bootstrap_and_overrides", :media => "all" %> <%= stylesheet_link_tag "bootstrap", :media => "all" %>
<%= stylesheet_link_tag "application", :media => "all" %>
<h2>Velocipede</h2> <div class="container">
<a href="http://madewithloveinbaltimore.org">Made with &hearts; in Baltimore</a> <%= image_tag 'velo_logo.png' %>
<p><a href="http://madewithloveinbaltimore.org" class="made">Made with &hearts; in Baltimore</a></p>
<br> <br>
<br> <br>
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %> <%= 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"> <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>
<div class="form-group"> <div class="form-group">
<%= f.password_field :password, placeholder: "Password", class: "form-control input-lg" %> <%= f.password_field :password, placeholder: "Password", class: "form-control input-lg" %>
</div> </div>
<div class="form-group"> <div class="form-group remember">
<% if devise_mapping.rememberable? -%> <% if devise_mapping.rememberable? -%>
<label> <label>
<%= f.check_box :remember_me %> Remember Me <%= f.check_box :remember_me, class: 'check_box' %> Remember Me
</label> </label>
<% end -%> <% end -%>
</div> </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"> <div class="form-group">
<p> <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>
<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>
</div> <!-- end column -->
</div> <!-- end row -->
<% end %> <% end %>
<%= render "links" %> <%= render "links" %>
@@ -46,3 +49,4 @@
<% end %> <% end %>
</p> </p>
<% end %> <% end %>
</div>
+29 -12
View File
@@ -5,27 +5,44 @@
%meta{ name: "viewport", content: "width=device-width", "initial-scale" => "1.0"} %meta{ name: "viewport", content: "width=device-width", "initial-scale" => "1.0"}
%title= content_for?(:title) ? yield(:title) : "Velocipede" %title= content_for?(:title) ? yield(:title) : "Velocipede"
= csrf_meta_tags = 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] /[if lt IE 9]
= javascript_include_tag "http://html5shim.googlecode.com/svn/trunk/html5.js" = javascript_include_tag "http://html5shim.googlecode.com/svn/trunk/html5.js"
:css
body {
padding-top: 5px;
}
.x-boundlist-item {
white-space: nowrap;
}
%body %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] - if flash[:notice]
%p{:class => 'notice'}= flash[:notice] %p{:class => 'notice'}= flash[:notice]
- if flash[:alert] - if flash[:alert]
%p{:class => 'alert'}= flash[:alert] %p{:class => 'alert'}= flash[:alert]
.row
.span12
= yield = yield
%footer %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
%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} Admin 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 %h2 Task List
%h3 %h3
%a{ href: bike_path(@task_list.item)}#{@task_list.item.shop_id} #{@task_list.item.bike_brand} %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 %h2 Your Timesheet
%dl.dl-horizontal %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 %h2 Add Time Entry
%p %p
.control-group .control-group
.controls .controls.bootstrap-timepicker.col-xs-12.col-sm-12.col-md-12.input-group
%input{id: "date_id", placeholder: "Date", type: "text", class: "datepicker input-small" } .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 .help-block
.control-group .control-group
.controls{ class: "bootstrap-timepicker"} .controls{ class: "bootstrap-timepicker col-xs-12 col-sm-12 col-md-12 input-group"}
%label Start .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-small" } %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" } .hidden{ id: "start_date" }
.help-block .help-block
.control-group .control-group
.controls .controls{ class: "bootstrap-timepicker col-xs-12 col-sm-12 col-md-12 input-group"}
%label End .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-small" } %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" } .hidden{ id: "end_date" }
.help-block .help-block
.control-group .control-group{ class: "col-xs-12 col-sm-12 col-md-12"}
.controls .controls
.btn-group{ "data-toggle" => "buttons-radio"} .btn-group{ "data-toggle" => "buttons-radio", class: "btn-group btn-group-justified"}
%label{ class: "btn btn-default"} %label{ class: "btn-lg col-xs-4 col-sm-4 col-md-4"}
%input{ type: "radio", name: "action_id", value: 1} Volunteer %input{ type: "radio", name: "action_id", value: 1, radius: 20} Volunteer
%label{ class: "btn btn-default"} %label{ class: "btn-lg col-xs-4 col-sm-4 col-md-4"}
%input{ type: "radio", name: "action_id", value: 2} Personal %input{ type: "radio", name: "action_id", value: 2, radius: 20} Personal
%label{ class: "btn btn-default"} %label{ class: "btn-lg col-xs-4 col-sm-4 col-md-4"}
%input{ type: "radio", name: "action_id", value: 3} Staff %input{ type: "radio", name: "action_id", value: 3, radius: 20} Staff
.hidden{ id: "log_action_id" } .hidden{ id: "log_action_id" }
.help-block .help-block
.control-group .control-group
@@ -36,7 +35,7 @@
= select_tag(:bike_id, options_for_select(@bikes)) = select_tag(:bike_id, options_for_select(@bikes))
.control-group .control-group
.controls .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 .control-group
.controls .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" => "#{"."}"} %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' require 'rails/all'
if defined?(Bundler) if defined?(Bundler)
# If you precompile assets before deploying to production, use this line Bundler.require(*Rails.groups)
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)
end end
module Velocipede module Velocipede
+2 -1
View File
@@ -3,7 +3,8 @@ Velocipede::Application.routes.draw do
devise_for :users devise_for :users
netzke netzke
root :to => 'site#index' root :to => 'time_entries#new'
get 'admin/index', to: 'panel#index', as: "admin_index" get 'admin/index', to: 'panel#index', as: "admin_index"
get 'bikes/new', to: 'bikes#new', as: "new_bike" get 'bikes/new', to: 'bikes#new', as: "new_bike"
+1 -2
View File
@@ -16,8 +16,6 @@ FactoryGirl.define do
value 200 value 200
bike_condition { FactoryGirl.create(:bike_condition) } bike_condition { FactoryGirl.create(:bike_condition) }
bike_purpose { FactoryGirl.create(:bike_purpose) } bike_purpose { FactoryGirl.create(:bike_purpose) }
end
factory :seed_bike do factory :seed_bike do
sequence(:shop_id) {|n| n} sequence(:shop_id) {|n| n}
sequence :serial_number do |n| sequence :serial_number do |n|
@@ -35,3 +33,4 @@ FactoryGirl.define do
bike_purpose_id { BikePurpose.all.sample.id } bike_purpose_id { BikePurpose.all.sample.id }
end end
end end
end
+4 -4
View File
@@ -8,14 +8,14 @@ FactoryGirl.define do
first_name 'Michael' first_name 'Michael'
last_name 'Scott' last_name 'Scott'
sequence(:bike_id) { |n| n } sequence(:bike_id) { |n| n }
after_build do |r| after(:build) do |r|
r.roles << (Role.find_by_role("user") || FactoryGirl.create(:role_user)) r.roles << (Role.find_by_role("user") || FactoryGirl.create(:role_user))
end end
factory :staff do factory :staff do
username "staff" username "staff"
first_name 'Staff' first_name 'Staff'
after_build do |r| after(:build) do |r|
r.roles << (Role.find_by_role("staff") || FactoryGirl.create(:role_staff)) r.roles << (Role.find_by_role("staff") || FactoryGirl.create(:role_staff))
end end
end end
@@ -23,7 +23,7 @@ FactoryGirl.define do
factory :admin do factory :admin do
username "admin" username "admin"
first_name 'Admin' first_name 'Admin'
after_build do |r| after(:build) do |r|
r.roles << (Role.find_by_role("admin") || FactoryGirl.create(:role_admin)) r.roles << (Role.find_by_role("admin") || FactoryGirl.create(:role_admin))
end end
end end
@@ -31,7 +31,7 @@ FactoryGirl.define do
factory :bike_admin do factory :bike_admin do
username "bike_admin" username "bike_admin"
first_name 'BikeAdmin' first_name 'BikeAdmin'
after_build do |r| after(:build) do |r|
r.roles << (Role.find_by_role("bike_admin") || FactoryGirl.create(:role_bike_admin)) r.roles << (Role.find_by_role("bike_admin") || FactoryGirl.create(:role_bike_admin))
end end
end end