@ -0,0 +1,417 @@ |
|||
GIT |
|||
remote: git://github.com/josevalim/rails-footnotes.git |
|||
revision: 087914beabb56c2e9979f63eeb0183591065dde3 |
|||
specs: |
|||
rails-footnotes (4.0.2) |
|||
rails (>= 3.2) |
|||
|
|||
GIT |
|||
remote: git://github.com/svenfuchs/i18n-active_record.git |
|||
revision: 2d9a22b6a4e5d809782cdbfa65b14d9e47aa27fc |
|||
specs: |
|||
i18n-active_record (0.0.2) |
|||
i18n (>= 0.5.0) |
|||
|
|||
PATH |
|||
remote: ../carmen/ |
|||
specs: |
|||
carmen (1.0.1) |
|||
|
|||
GEM |
|||
remote: http://rubygems.org/ |
|||
specs: |
|||
actionmailer (4.0.0) |
|||
actionpack (= 4.0.0) |
|||
mail (~> 2.5.3) |
|||
actionpack (4.0.0) |
|||
activesupport (= 4.0.0) |
|||
builder (~> 3.1.0) |
|||
erubis (~> 2.7.0) |
|||
rack (~> 1.5.2) |
|||
rack-test (~> 0.6.2) |
|||
activemodel (4.0.0) |
|||
activesupport (= 4.0.0) |
|||
builder (~> 3.1.0) |
|||
activerecord (4.0.0) |
|||
activemodel (= 4.0.0) |
|||
activerecord-deprecated_finders (~> 1.0.2) |
|||
activesupport (= 4.0.0) |
|||
arel (~> 4.0.0) |
|||
activerecord-deprecated_finders (1.0.3) |
|||
activerecord-session_store (0.1.0) |
|||
actionpack (>= 4.0.0, < 5) |
|||
activerecord (>= 4.0.0, < 5) |
|||
railties (>= 4.0.0, < 5) |
|||
activesupport (4.0.0) |
|||
i18n (~> 0.6, >= 0.6.4) |
|||
minitest (~> 4.2) |
|||
multi_json (~> 1.3) |
|||
thread_safe (~> 0.1) |
|||
tzinfo (~> 0.3.37) |
|||
acts_as_list (0.4.0) |
|||
activerecord (>= 3.0) |
|||
addressable (2.3.6) |
|||
arel (4.0.2) |
|||
attr_required (1.0.0) |
|||
awesome_print (1.2.0) |
|||
bcrypt (3.1.7-x86-mingw32) |
|||
better_errors (1.1.0) |
|||
coderay (>= 1.0.0) |
|||
erubis (>= 2.6.6) |
|||
binding_of_caller (0.7.2) |
|||
debug_inspector (>= 0.0.1) |
|||
builder (3.1.4) |
|||
callsite (0.0.11) |
|||
capistrano (2.15.5) |
|||
highline |
|||
net-scp (>= 1.0.0) |
|||
net-sftp (>= 2.0.0) |
|||
net-ssh (>= 2.0.14) |
|||
net-ssh-gateway (>= 1.1.0) |
|||
capybara (2.4.1) |
|||
mime-types (>= 1.16) |
|||
nokogiri (>= 1.3.3) |
|||
rack (>= 1.0.0) |
|||
rack-test (>= 0.5.4) |
|||
xpath (~> 2.0) |
|||
carmen-rails (1.0.1) |
|||
carmen (~> 1.0.0) |
|||
rails |
|||
carrierwave (0.10.0) |
|||
activemodel (>= 3.2.0) |
|||
activesupport (>= 3.2.0) |
|||
json (>= 1.7) |
|||
mime-types (>= 1.16) |
|||
carrierwave-imageoptimizer (1.2.1) |
|||
carrierwave (~> 0.8) |
|||
image_optimizer (~> 1.2) |
|||
celluloid (0.15.2) |
|||
timers (~> 1.1.0) |
|||
childprocess (0.5.3) |
|||
ffi (~> 1.0, >= 1.0.11) |
|||
chunky_png (1.3.1) |
|||
cliver (0.3.2) |
|||
coderay (1.1.0) |
|||
coffee-rails (4.0.1) |
|||
coffee-script (>= 2.2.0) |
|||
railties (>= 4.0.0, < 5.0) |
|||
coffee-script (2.3.0) |
|||
coffee-script-source |
|||
execjs |
|||
coffee-script-source (1.7.1) |
|||
compass (0.12.7) |
|||
chunky_png (~> 1.2) |
|||
fssm (>= 0.2.7) |
|||
sass (~> 3.2.19) |
|||
compass-rails (1.1.7) |
|||
compass (>= 0.12.2) |
|||
sprockets (<= 2.11.0) |
|||
coveralls (0.7.0) |
|||
multi_json (~> 1.3) |
|||
rest-client |
|||
simplecov (>= 0.7) |
|||
term-ansicolor |
|||
thor |
|||
crack (0.4.2) |
|||
safe_yaml (~> 1.0.0) |
|||
cucumber (1.3.15) |
|||
builder (>= 2.1.2) |
|||
diff-lcs (>= 1.1.3) |
|||
gherkin (~> 2.12) |
|||
multi_json (>= 1.7.5, < 2.0) |
|||
multi_test (>= 0.1.1) |
|||
cucumber-rails (1.4.1) |
|||
capybara (>= 1.1.2, < 3) |
|||
cucumber (>= 1.3.8, < 2) |
|||
mime-types (~> 1.16) |
|||
nokogiri (~> 1.5) |
|||
rails (>= 3, < 5) |
|||
database_cleaner (1.3.0) |
|||
debug_inspector (0.0.2) |
|||
diff-lcs (1.2.5) |
|||
docile (1.1.5) |
|||
erubis (2.7.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) |
|||
faraday (0.9.0) |
|||
multipart-post (>= 1.2, < 3) |
|||
ffi (1.9.3-x86-mingw32) |
|||
font-awesome-rails (4.1.0.0) |
|||
railties (>= 3.2, < 5.0) |
|||
forgery (0.6.0) |
|||
formatador (0.2.5) |
|||
foundation-rails (5.3.1.0) |
|||
railties (>= 3.1.0) |
|||
sass (>= 3.2.0) |
|||
fssm (0.2.10) |
|||
geocoder (1.2.3) |
|||
gherkin (2.12.2-x86-mingw32) |
|||
multi_json (~> 1.3) |
|||
guard (2.6.1) |
|||
formatador (>= 0.2.4) |
|||
listen (~> 2.7) |
|||
lumberjack (~> 1.0) |
|||
pry (>= 0.9.12) |
|||
thor (>= 0.18.1) |
|||
guard-rspec (4.2.10) |
|||
guard (~> 2.1) |
|||
rspec (>= 2.14, < 4.0) |
|||
haml (4.0.5) |
|||
tilt |
|||
haml-rails (0.5.1) |
|||
actionpack (~> 4.0.0) |
|||
activesupport (~> 4.0.0) |
|||
haml (>= 3.1, < 5.0) |
|||
railties (~> 4.0.0) |
|||
highline (1.6.21) |
|||
hike (1.2.3) |
|||
httpauth (0.2.1) |
|||
i18n (0.6.11) |
|||
image_optimizer (1.2.1) |
|||
jquery-rails (3.1.1) |
|||
railties (>= 3.0, < 5.0) |
|||
thor (>= 0.14, < 2.0) |
|||
jquery-ui-rails (5.0.0) |
|||
railties (>= 3.2.16) |
|||
json (1.8.1) |
|||
jwt (0.1.13) |
|||
multi_json (>= 1.5) |
|||
launchy (2.4.2) |
|||
addressable (~> 2.3) |
|||
listen (2.7.9) |
|||
celluloid (>= 0.15.2) |
|||
rb-fsevent (>= 0.9.3) |
|||
rb-inotify (>= 0.9) |
|||
lumberjack (1.0.9) |
|||
mail (2.5.4) |
|||
mime-types (~> 1.16) |
|||
treetop (~> 1.4.8) |
|||
meta_request (0.3.3) |
|||
callsite (~> 0.0, >= 0.0.11) |
|||
rack-contrib (~> 1.1) |
|||
railties (>= 3.0.0, < 5.0.0) |
|||
method_source (0.8.2) |
|||
mime-types (1.25.1) |
|||
mini_magick (3.7.0) |
|||
subexec (~> 0.2.1) |
|||
mini_portile (0.6.0) |
|||
minitest (4.7.5) |
|||
multi_json (1.10.1) |
|||
multi_test (0.1.1) |
|||
multipart-post (2.0.0) |
|||
nested_form (0.3.2) |
|||
net-scp (1.2.1) |
|||
net-ssh (>= 2.6.5) |
|||
net-sftp (2.1.2) |
|||
net-ssh (>= 2.6.5) |
|||
net-ssh (2.9.1) |
|||
net-ssh-gateway (1.2.0) |
|||
net-ssh (>= 2.6.5) |
|||
netrc (0.7.7) |
|||
nokogiri (1.6.2.1-x86-mingw32) |
|||
mini_portile (= 0.6.0) |
|||
oauth (0.4.7) |
|||
oauth2 (0.8.1) |
|||
faraday (~> 0.8) |
|||
httpauth (~> 0.1) |
|||
jwt (~> 0.1.4) |
|||
multi_json (~> 1.0) |
|||
rack (~> 1.2) |
|||
paper_trail (3.0.3) |
|||
activerecord (>= 3.0, < 5.0) |
|||
activesupport (>= 3.0, < 5.0) |
|||
paypal-express (0.5.5) |
|||
activesupport (>= 2.3) |
|||
attr_required (>= 0.0.5) |
|||
restclient_with_cert |
|||
pg (0.17.1-x86-mingw32) |
|||
poltergeist (1.5.1) |
|||
capybara (~> 2.1) |
|||
cliver (~> 0.3.1) |
|||
multi_json (~> 1.0) |
|||
websocket-driver (>= 0.2.0) |
|||
polyglot (0.3.5) |
|||
pry (0.10.0-x86-mingw32) |
|||
coderay (~> 1.1.0) |
|||
method_source (~> 0.8.1) |
|||
slop (~> 3.4) |
|||
win32console (~> 1.3) |
|||
rack (1.5.2) |
|||
rack-contrib (1.1.0) |
|||
rack (>= 0.9.1) |
|||
rack-test (0.6.2) |
|||
rack (>= 1.0) |
|||
rails (4.0.0) |
|||
actionmailer (= 4.0.0) |
|||
actionpack (= 4.0.0) |
|||
activerecord (= 4.0.0) |
|||
activesupport (= 4.0.0) |
|||
bundler (>= 1.3.0, < 2.0) |
|||
railties (= 4.0.0) |
|||
sprockets-rails (~> 2.0.0) |
|||
rails-assets-cdn (0.1.0) |
|||
rails |
|||
rails_12factor (0.0.2) |
|||
rails_serve_static_assets |
|||
rails_stdout_logging |
|||
rails_serve_static_assets (0.0.2) |
|||
rails_stdout_logging (0.0.3) |
|||
railties (4.0.0) |
|||
actionpack (= 4.0.0) |
|||
activesupport (= 4.0.0) |
|||
rake (>= 0.8.7) |
|||
thor (>= 0.18.1, < 2.0) |
|||
rake (10.3.2) |
|||
rb-fsevent (0.9.4) |
|||
rb-inotify (0.9.5) |
|||
ffi (>= 0.5.0) |
|||
rest-client (1.7.2-x86-mingw32) |
|||
ffi (~> 1.9) |
|||
mime-types (>= 1.16, < 3.0) |
|||
netrc (~> 0.7) |
|||
restclient_with_cert (0.0.8) |
|||
rest-client (>= 1.6) |
|||
rspec (3.0.0) |
|||
rspec-core (~> 3.0.0) |
|||
rspec-expectations (~> 3.0.0) |
|||
rspec-mocks (~> 3.0.0) |
|||
rspec-core (3.0.2) |
|||
rspec-support (~> 3.0.0) |
|||
rspec-expectations (3.0.2) |
|||
diff-lcs (>= 1.2.0, < 2.0) |
|||
rspec-support (~> 3.0.0) |
|||
rspec-mocks (3.0.2) |
|||
rspec-support (~> 3.0.0) |
|||
rspec-rails (3.0.1) |
|||
actionpack (>= 3.0) |
|||
activesupport (>= 3.0) |
|||
railties (>= 3.0) |
|||
rspec-core (~> 3.0.0) |
|||
rspec-expectations (~> 3.0.0) |
|||
rspec-mocks (~> 3.0.0) |
|||
rspec-support (~> 3.0.0) |
|||
rspec-support (3.0.2) |
|||
rubyzip (1.1.6) |
|||
rvm-capistrano (1.5.3) |
|||
capistrano (~> 2.15.4) |
|||
safe_yaml (1.0.3) |
|||
sass (3.2.19) |
|||
sass-rails (4.0.3) |
|||
railties (>= 4.0.0, < 5.0) |
|||
sass (~> 3.2.0) |
|||
sprockets (~> 2.8, <= 2.11.0) |
|||
sprockets-rails (~> 2.0) |
|||
selenium-webdriver (2.42.0) |
|||
childprocess (>= 0.5.0) |
|||
multi_json (~> 1.0) |
|||
rubyzip (~> 1.0) |
|||
websocket (~> 1.0.4) |
|||
simplecov (0.9.0) |
|||
docile (~> 1.1.0) |
|||
multi_json |
|||
simplecov-html (~> 0.8.0) |
|||
simplecov-html (0.8.0) |
|||
sitemap_generator (5.0.4) |
|||
builder |
|||
slop (3.6.0) |
|||
sorcery (0.8.6) |
|||
bcrypt (~> 3.1) |
|||
oauth (~> 0.4, >= 0.4.4) |
|||
oauth2 (>= 0.8.0, < 1.0.0) |
|||
sprockets (2.11.0) |
|||
hike (~> 1.2) |
|||
multi_json (~> 1.0) |
|||
rack (~> 1.0) |
|||
tilt (~> 1.1, != 1.3.0) |
|||
sprockets-rails (2.0.1) |
|||
actionpack (>= 3.0) |
|||
activesupport (>= 3.0) |
|||
sprockets (~> 2.8) |
|||
subexec (0.2.3) |
|||
term-ansicolor (1.3.0) |
|||
tins (~> 1.0) |
|||
thor (0.19.1) |
|||
thread_safe (0.3.4) |
|||
tilt (1.4.1) |
|||
timers (1.1.0) |
|||
tins (1.3.0) |
|||
treetop (1.4.15) |
|||
polyglot |
|||
polyglot (>= 0.3.1) |
|||
tzinfo (0.3.40) |
|||
uglifier (2.5.3) |
|||
execjs (>= 0.3.0) |
|||
json (>= 1.8.0) |
|||
wdm (0.1.0) |
|||
webmock (1.18.0) |
|||
addressable (>= 2.3.6) |
|||
crack (>= 0.3.2) |
|||
websocket (1.0.7) |
|||
websocket-driver (0.3.4) |
|||
win32console (1.3.2-x86-mingw32) |
|||
wysiwyg-rails (1.1.6) |
|||
font-awesome-rails (= 4.1.0.0) |
|||
railties (>= 3.2, < 5.0) |
|||
xpath (2.0.0) |
|||
nokogiri (~> 1.3) |
|||
|
|||
PLATFORMS |
|||
x86-mingw32 |
|||
|
|||
DEPENDENCIES |
|||
activerecord-session_store |
|||
acts_as_list |
|||
awesome_print |
|||
better_errors |
|||
binding_of_caller |
|||
capistrano |
|||
capybara |
|||
carmen! |
|||
carmen-rails |
|||
carrierwave |
|||
carrierwave-imageoptimizer |
|||
coffee-rails (~> 4.0.0) |
|||
compass-rails (~> 1.1.3) |
|||
coveralls |
|||
cucumber-rails |
|||
database_cleaner |
|||
factory_girl_rails |
|||
font-awesome-rails |
|||
forgery |
|||
foundation-rails |
|||
geocoder |
|||
guard-rspec |
|||
haml |
|||
haml-rails |
|||
i18n-active_record! |
|||
jquery-rails |
|||
jquery-ui-rails |
|||
launchy |
|||
meta_request |
|||
mini_magick |
|||
nested_form |
|||
oauth2 (~> 0.8.0) |
|||
paper_trail |
|||
paypal-express |
|||
pg |
|||
poltergeist |
|||
rails (= 4.0.0) |
|||
rails-assets-cdn |
|||
rails-footnotes! |
|||
rails_12factor |
|||
rspec |
|||
rspec-rails |
|||
rvm-capistrano |
|||
sass-rails (~> 4.0.0) |
|||
selenium-webdriver |
|||
simplecov |
|||
sitemap_generator |
|||
sorcery (>= 0.8.1) |
|||
uglifier (>= 1.3.0) |
|||
wdm (>= 0.1.0) |
|||
webmock |
|||
wysiwyg-rails |
After Width: | Height: | Size: 10 KiB |
@ -1,7 +1,37 @@ |
|||
class Workshop < ActiveRecord::Base |
|||
belongs_to :conference |
|||
|
|||
has_many :workshop_facilitators, :dependent => :destroy |
|||
has_many :users, :through => :workshop_facilitators |
|||
|
|||
accepts_nested_attributes_for :workshop_facilitators, :reject_if => proc {|u| u[:user_id].blank?}, :allow_destroy => true |
|||
|
|||
before_create :make_slug |
|||
|
|||
def to_param |
|||
slug |
|||
end |
|||
|
|||
private |
|||
def make_slug |
|||
if !self.slug |
|||
s = self.title.gsub(/[^a-z1-9]+/i, '-').chomp('-').gsub(/\-([A-Z])/, '\1') |
|||
if Organization.find_by(:slug => s) && self.locations && self.locations[0] |
|||
s += '-' + self.locations[0].city |
|||
if Organization.find_by(:slug => s) && locations[0].territory |
|||
s += '-' + self.locations[0].territory |
|||
end |
|||
if Organization.find_by(:slug => s) |
|||
s += '-' + self.locations[0].country |
|||
end |
|||
end |
|||
attempt = 1 |
|||
ss = s |
|||
while Organization.find_by(:slug => s) |
|||
attempt += 1 |
|||
s = ss + '-' + attempt |
|||
end |
|||
self.slug = s |
|||
end |
|||
end |
|||
end |
|||
|
@ -1 +1,2 @@ |
|||
= email_field_tag :email, session[:registration][:email] |
|||
|
|||
|
@ -0,0 +1,14 @@ |
|||
- if @registration.complete |
|||
%h3=_'registration.already_registered.complete.title','You Have Already Registered' |
|||
.columns.medium-10.medium-offset-1.end |
|||
%p.help |
|||
=_'registration.already_registered.complete.help','There\'s nothing more to do, you have already registered so we\'ll see you in ' |
|||
= @conference.organizations.first.locations.first.city |
|||
- elsif @registration.is_confirmed |
|||
%h3=_'registration.already_registered.confirmed.title','You\'re Already Registered but we are missing some Information' |
|||
.columns.medium-10.medium-offset-1.end |
|||
%p.help=_'registration.already_registered.complete.help','You\'re already set to go but we had a few more questions for you. If you need us to resed your confirmation, just click the button below.' |
|||
- else |
|||
%h3=_'registration.already_registered.not_confirmed.title','We\'re awaiting your Confirmation' |
|||
.columns.medium-10.medium-offset-1.end |
|||
%p.help=_'registration.already_registered.not_confirmed.help','You already sent us the information we need but we need you to confirm. If you don\'t have the email anymore, we can resend it to you.' |
@ -1,6 +1,25 @@ |
|||
- if @registration && @registration.complete |
|||
- city = @conference.organizations.first.locations.first.city |
|||
%h3=_'registration.thanks.complete.title','Thanks for completing your registration' |
|||
.columns |
|||
- if !@registration.is_participant |
|||
%p=_'registration.thanks.all_done.volunteer','Thanks for submitting your volunteer infomation. We\'ll see you at Bike!Bike!' |
|||
- elsif @registration.payment_info.nil? |
|||
%p=_'registration.thanks.all_done.please_pay',"Thank you for completing your registration. We'll see you at Bike!Bike! If you have not already done so, we ask that you pay the registration donation as soon as you can." |
|||
= form_tag ("#{@conference.url}/register/pay-registration/#{@registration.confirmation_token}/").gsub(/\/\/+/, '/'), :method => :post, :class => 'row' do |
|||
= hidden_field_tag :confirmation_token, @registration.confirmation_token |
|||
.columns.small-4.small-offset-2 |
|||
= number_field_tag :payment_amount, 25.00, :step => 0.01, :min => 0.01 |
|||
.columns.small-4.end |
|||
= form_actions :submit_payment |
|||
- else |
|||
%p=_'registration.thanks.all_done.paid',"You're all done and paid up! We'll see you in #{city}.", vars: {:city => city} |
|||
%p=_'register.email.registration_confirmed.info',"We'll have housing, loaner bikes, and food arranged for your arrival. If you have any other questions or concerns, please email bikebike2014columbus@gmail.com." |
|||
%p=_'register.email.registration_confirmed.contact',"For urgent/emergency matters, you can reach our Outreach Coordinator, Reda, at 503-984-9191 or Jason at 614-364-3636." |
|||
- else |
|||
%h3=_'registration.thanks.title','Thanks for submitting your registration' |
|||
.columns.medium-offset-1.end |
|||
%h4=_'registration.thanks.remember_to_confirm','Remember to confirm your registration upon receiving the confirmation email' |
|||
.columns |
|||
%h4=_'registration.thanks.remember_to_confirm','Remember to confirm your registration upon receiving the confirmation email. If you need it to be resent, just press the button below.' |
|||
%p.help |
|||
=_'registration.thanks.remember_to_confirm.help','If you experience any technical issues, please contact Godwin directly at' |
|||
%a{href: 'mailto:goodgodwin@hotmail.com'}='goodgodwin@hotmail.com' |
|||
|
@ -0,0 +1,76 @@ |
|||
!!! Strict |
|||
%html{xmlns: "http://www.w3.org/1999/xhtml"} |
|||
%head |
|||
%meta{content: "text/html; charset=utf-8", "http-equiv" => "Content-Type"}/ |
|||
%meta{content: "width=device-width, initial-scale=1.0", name: "viewport"}/ |
|||
%title Your Message Subject or Title |
|||
:css |
|||
#outlook a {padding:0;} |
|||
body{width:100% !important; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; margin:0; padding:0;} |
|||
.ExternalClass {width:100%;} |
|||
.ExternalClass, .ExternalClass p, .ExternalClass span, .ExternalClass font, .ExternalClass td, .ExternalClass div {line-height: 100%;} |
|||
#backgroundTable {margin:0; padding:0; width:100% !important; line-height: 100% !important;} |
|||
img {outline:none; text-decoration:none; -ms-interpolation-mode: bicubic;} |
|||
a img {border:none;} |
|||
.image_fix {display:block;} |
|||
p {margin: 1em 0;text-align:left;font-size: 1.25em} |
|||
h1, h2, h3, h4, h5, h6 {color: black !important;margin-bottom: 1.5em;line-height:1.5em} |
|||
h2 {text-align:left;font-size:1.3em;} |
|||
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {color: white !important;margin-bottom:1em} |
|||
h1 a:active, h2 a:active, h3 a:active, h4 a:active, h5 a:active, h6 a:active {color: white !important;} |
|||
h1 a:visited, h2 a:visited, h3 a:visited, h4 a:visited, h5 a:visited, h6 a:visited {color: white !important;} |
|||
table td {border-collapse: collapse;} |
|||
table { border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt; } |
|||
a {color: #00ADEF;} |
|||
@media only screen and (max-device-width: 480px) { |
|||
a[href^="tel"], a[href^="sms"] { |
|||
text-decoration: none; |
|||
color: #00ADEF; |
|||
pointer-events: none; |
|||
cursor: default; |
|||
} |
|||
|
|||
.mobile_link a[href^="tel"], .mobile_link a[href^="sms"] { |
|||
text-decoration: default; |
|||
color: #00ADEF !important; |
|||
pointer-events: auto; |
|||
cursor: default; |
|||
} |
|||
} |
|||
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) { |
|||
a[href^="tel"], a[href^="sms"] { |
|||
text-decoration: none; |
|||
color: blue; /* or whatever your want */ |
|||
pointer-events: none; |
|||
cursor: default; |
|||
} |
|||
|
|||
.mobile_link a[href^="tel"], .mobile_link a[href^="sms"] { |
|||
text-decoration: default; |
|||
color: #00ADEF !important; |
|||
pointer-events: auto; |
|||
cursor: default; |
|||
} |
|||
} |
|||
@media only screen and (-webkit-min-device-pixel-ratio: 2) {} |
|||
@media only screen and (-webkit-device-pixel-ratio:.75){} |
|||
@media only screen and (-webkit-device-pixel-ratio:1){} |
|||
@media only screen and (-webkit-device-pixel-ratio:1.5){} |
|||
/[if IEMobile 7] |
|||
<style type="text/css"> |
|||
|
|||
</style> |
|||
/[if gte mso 9] |
|||
<style> |
|||
\/* Target Outlook 2007 and 2010 */ |
|||
</style> |
|||
%body |
|||
%table#backgroundTable{border: "0", cellpadding: "0", cellspacing: "0"} |
|||
%tr |
|||
%td |
|||
%div{style:'width:100%;background-color:#00ADEF;padding: 25px 0 200px;text-align: center;'} |
|||
%div{style:'max-width:600px;border:3px solid #00ADEF;margin:25px auto;background-color:#FFF;display:inline-block;width:75%;'} |
|||
= yield |
|||
%div{style: 'text-align:center;padding-bottom:25px'} |
|||
%a{href: "#{@url}"} |
|||
2014 Bike!Bike! |
@ -0,0 +1,5 @@ |
|||
='========== Bike!Bike! ==========' |
|||
|
|||
= yield |
|||
|
|||
="===== #{@url} ======" |
@ -1 +1,9 @@ |
|||
404!d |
|||
- page_title = _'error.404.page_title.This_Page_Does_Not_Exist' |
|||
- title page_title |
|||
- banner_title page_title |
|||
|
|||
.row |
|||
%h1 |
|||
=_'error.404.title','This page does not exist!' |
|||
%p |
|||
=_'error.404.description', :p |
@ -0,0 +1,9 @@ |
|||
- page_title = _'error.no_lang.page_title.Language_not_enabled' |
|||
- title page_title |
|||
- banner_title page_title |
|||
|
|||
.row |
|||
%h1 |
|||
=(_ 'language_not_yet_translated', vars: {:language => (_ ('languages.' + @lang))}) |
|||
%p |
|||
=_'error.no_lang.description', :p |
@ -1,9 +1,9 @@ |
|||
- page_title = _'error.title.Permission_Denied' |
|||
- page_title = _'error.403.page_title.Permission_Denied' |
|||
- title page_title |
|||
- banner_title page_title |
|||
|
|||
.row |
|||
%h1 |
|||
='This page is inaccessible to you' |
|||
=_'error.403.title','This page is inaccessible to you' |
|||
%p |
|||
=_'error.desc.permission_denied', :p |
|||
=_'error.403.description', :p |
@ -0,0 +1,10 @@ |
|||
%img{src: "#{@url}/#{@conference.poster.full.url}", style: "max-width: 100%;"} |
|||
%div{style: 'padding: 25px'} |
|||
%h1=_'register.email.registration_confirmed.thank_you',"Hi #{@data[:user][:username]}, thank you for completing your registration. We'll see you at Bike!Bike!" |
|||
%h2=_'register.email.registration_confirmed.please_pay',"If you have not already done so, we ask that you pay the registration donation as soon as you can. At your convenience please visit the link below." |
|||
%div{style: 'text-align:center'} |
|||
%h1{style: 'background-color:#F11845;text-align:center;display:inline-block;padding: 5px 20px 10px;'} |
|||
%a{href: @confirmation_url, style: 'color:#FFF;text-decoration:none;'} |
|||
=_'register.email.registration_confirmed.pay_now',"Pay Registration Fees" |
|||
%p=(_'register.email.registration_confirmed.info',"We'll have housing, loaner bikes, and food arranged for your arrival. If you have any other questions or concerns, please email bikebike2014columbus@gmail.com").gsub(/(\w+@\w+\.\w{2,3})/, '<a href="mailto:\1">\1</a>').html_safe |
|||
%p=_'register.email.registration_confirmed.contact',"For urgent/emergency matters, you can reach our Outreach Coordinator, Reda, at 503-984-9191 or Jason at 614-364-3636." |
@ -0,0 +1,9 @@ |
|||
=_'register.email.registration_confirmed.thank_you',"Hi #{@data[:user][:username]}, thank you for completing your registration. We'll see you at Bike!Bike!" |
|||
|
|||
=_'register.email.registration_confirmed.please_pay',"If you have not already done so, we ask that you pay the registration donation as soon as you can. At your convenience please visit the link below." |
|||
|
|||
= @confirmation_url |
|||
|
|||
=_'register.email.registration_confirmed.info',"We'll have housing, loaner bikes, and food arranged for your arrival. If you have any other questions or concerns, please email bikebike2014columbus@gmail.com." |
|||
|
|||
=_'register.email.registration_confirmed.contact',"For urgent/emergency matters, you can reach our Outreach Coordinator, Reda, at 503-984-9191 or Jason at 614-364-3636." |
@ -0,0 +1,7 @@ |
|||
%img{src: "#{@url}/#{@conference.poster.full.url}", style: "max-width: 100%;"} |
|||
%div{style: 'padding: 25px'} |
|||
%h1=_'register.email.registration.please_confirm',"Hi #{@data[:user][:username]}, please confirm your registration for #{@conference.title}", vars: {:username => @data[:user][:username]} |
|||
%div{style: 'text-align:center'} |
|||
%h1{style: 'background-color:#F11845;text-align:center;display:inline-block;padding: 5px 20px 10px;'} |
|||
%a{href: @confirmation_url, style: 'color:#FFF;text-decoration:none;'} |
|||
=_'register.email.registration.confirm_button',"Yes I'm Really Coming!" |
@ -1 +1 @@ |
|||
= @data.to_json.to_s |
|||
=_('register.email.registration.please_confirm',"Hi #{@data[:user][:username]}, please confirm your registration for #{@conference.title}", vars: {:username => @data[:user][:username]}) + ": #{@confirmation_url}" |
@ -1,31 +1,430 @@ |
|||
--- |
|||
nola_2013.about: |
|||
world.ca.ns.name: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/" |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":1489,"locale":"en","key":"world.ca.ns.name","value":"Nova Scotia","interpolations":[],"is_proc":false,"created_at":"2014-05-04T05:27:57.814Z","updated_at":"2014-05-04T05:27:57.821Z"}' |
|||
time.formats.date: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/" |
|||
data: |
|||
- '{"id":1618,"locale":"en","key":"time.formats.date","value":"%B %d, %Y","interpolations":[],"is_proc":false,"created_at":null,"updated_at":null}' |
|||
date.month_names: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/" |
|||
data: |
|||
- '{"id":1620,"locale":"en","key":"date.month_names","value":["~","January","February","March","April","May","June","July","August","September","October","November","December"],"interpolations":[],"is_proc":true,"created_at":"2014-07-06T19:53:45.689Z","updated_at":"2014-07-06T19:53:45.689Z"}' |
|||
conference.More_Info: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/" |
|||
data: |
|||
- '{"id":92004,"locale":"en","key":"conference.More_Info","value":"More Info","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:04:56.683Z","updated_at":"2014-07-22T00:04:56.696Z"}' |
|||
Conferences: |
|||
languages: |
|||
- de |
|||
- en |
|||
pages: |
|||
- "/" |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":1503,"locale":"de","key":"Conferences","value":"Konferenzen","interpolations":[],"is_proc":false,"created_at":"2014-05-04T14:27:46.772Z","updated_at":"2014-05-04T14:27:46.789Z"}' |
|||
- '{"id":1481,"locale":"en","key":"Conferences","value":"Conferences","interpolations":[],"is_proc":false,"created_at":"2014-05-04T05:05:06.760Z","updated_at":"2014-05-04T05:26:07.021Z"}' |
|||
Organizations: |
|||
languages: |
|||
- en |
|||
- de |
|||
pages: |
|||
- "/" |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":1482,"locale":"en","key":"Organizations","value":"Organizations","interpolations":[],"is_proc":false,"created_at":"2014-05-04T05:05:46.445Z","updated_at":"2014-07-21T01:51:57.345Z"}' |
|||
- '{"id":1505,"locale":"de","key":"Organizations","value":"Organisationen","interpolations":[],"is_proc":false,"created_at":"2014-05-04T14:29:44.542Z","updated_at":"2014-05-04T14:29:44.557Z"}' |
|||
Resources: |
|||
languages: |
|||
- en |
|||
- de |
|||
pages: |
|||
- "/" |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":1483,"locale":"en","key":"Resources","value":"Resources","interpolations":[],"is_proc":false,"created_at":"2014-05-04T05:05:50.964Z","updated_at":"2014-05-04T05:25:53.510Z"}' |
|||
- '{"id":1506,"locale":"de","key":"Resources","value":"Ressourcen","interpolations":[],"is_proc":false,"created_at":"2014-05-04T14:36:08.331Z","updated_at":"2014-05-04T14:36:08.438Z"}' |
|||
donate.button_label: |
|||
languages: [] |
|||
pages: |
|||
- / |
|||
- "/" |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
home.its_awesome: |
|||
conference.Register_Now: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/" |
|||
data: |
|||
- '{"id":92005,"locale":"en","key":"conference.Register_Now","value":"Register Now","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:05:01.141Z","updated_at":"2014-07-22T00:05:01.155Z"}' |
|||
form.placeholder.Enter_your_step: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/" |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":91970,"locale":"en","key":"form.placeholder.Enter_your_step","value":"NIL","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:48:28.017Z","updated_at":"2014-07-21T01:48:28.028Z"}' |
|||
form.placeholder.Enter_your_email: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/" |
|||
data: |
|||
- '{"id":91961,"locale":"en","key":"form.placeholder.Enter_your_email","value":"someone@example.com","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:39:53.873Z","updated_at":"2014-07-21T02:17:18.066Z"}' |
|||
form.label.email: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/" |
|||
data: |
|||
- '{"id":91944,"locale":"en","key":"form.label.email","value":"Email","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:33:11.129Z","updated_at":"2014-07-21T01:33:11.140Z"}' |
|||
register: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/" |
|||
data: |
|||
- '{"id":91980,"locale":"en","key":"register","value":"Register","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:52:22.219Z","updated_at":"2014-07-21T01:52:22.261Z"}' |
|||
- '{"id":92009,"locale":"en","key":"register.new_organization.no_city_error","value":"Please |
|||
enter your organization''s city","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:08:55.720Z","updated_at":"2014-07-22T00:08:55.758Z"}' |
|||
- '{"id":92010,"locale":"en","key":"register.new_organization.no_street_error","value":"Please |
|||
enter your organization''s street address","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:09:13.603Z","updated_at":"2014-07-22T00:09:13.616Z"}' |
|||
- '{"id":92012,"locale":"en","key":"register.organizations.confirm_thanks.is_not_workshop_host.help","value":"","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:10:09.190Z","updated_at":"2014-07-22T00:10:09.203Z"}' |
|||
- '{"id":92013,"locale":"en","key":"register.organizations.confirm_thanks.title","value":"","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:10:13.343Z","updated_at":"2014-07-22T00:10:13.355Z"}' |
|||
- '{"id":92011,"locale":"en","key":"register.new_organization.same_email_as_attendee_error","value":"This |
|||
email needs to be different than your own personal email, we need to keep in touch |
|||
with your organization even if you''re gone in years to come.","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:09:49.895Z","updated_at":"2014-07-22T00:11:24.105Z"}' |
|||
- '{"id":92008,"locale":"en","key":"register.new_organization.no_name_error","value":"Please |
|||
tell us your organization''s name","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:06:48.248Z","updated_at":"2014-07-22T00:12:21.428Z"}' |
|||
world.ca.nb.name: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/" |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":1487,"locale":"en","key":"world.ca.nb.name","value":"New Brunswick","interpolations":[],"is_proc":false,"created_at":"2014-05-04T05:27:41.999Z","updated_at":"2014-05-04T05:27:42.039Z"}' |
|||
form.placeholder.Enter_your_firstname: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":91962,"locale":"en","key":"form.placeholder.Enter_your_firstname","value":"Francis? |
|||
Frances? Phransiz?","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:40:00.075Z","updated_at":"2014-07-21T01:53:51.732Z"}' |
|||
form.label.firstname: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":91945,"locale":"en","key":"form.label.firstname","value":"First name","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:33:15.267Z","updated_at":"2014-07-21T01:33:15.278Z"}' |
|||
form.placeholder.Enter_your_lastname: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":91963,"locale":"en","key":"form.placeholder.Enter_your_lastname","value":"Smith? |
|||
Ng?","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:42:51.398Z","updated_at":"2014-07-21T01:42:51.409Z"}' |
|||
form.label.lastname: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":91948,"locale":"en","key":"form.label.lastname","value":"Last name","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:34:35.847Z","updated_at":"2014-07-21T01:34:35.859Z"}' |
|||
form.placeholder.Enter_your_username: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":91971,"locale":"en","key":"form.placeholder.Enter_your_username","value":"How |
|||
would you like to be known?","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:48:51.318Z","updated_at":"2014-07-21T01:48:56.170Z"}' |
|||
form.label.username: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":91955,"locale":"en","key":"form.label.username","value":"Preferred name","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:36:18.747Z","updated_at":"2014-07-21T01:36:18.758Z"}' |
|||
registration.primary.role_title: |
|||
languages: [] |
|||
pages: |
|||
- / |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
Conferences: |
|||
form.label.is_participant: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":91946,"locale":"en","key":"form.label.is_participant","value":"A conference |
|||
participant","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:34:27.255Z","updated_at":"2014-07-21T01:34:27.267Z"}' |
|||
form.label.is_volunteer: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":91947,"locale":"en","key":"form.label.is_volunteer","value":"A volunteer","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:34:33.243Z","updated_at":"2014-07-21T01:34:33.255Z"}' |
|||
cancel: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":92003,"locale":"en","key":"cancel","value":"Cancel","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:04:53.461Z","updated_at":"2014-07-22T00:04:53.473Z"}' |
|||
next: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":91977,"locale":"en","key":"next","value":"next","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:51:54.465Z","updated_at":"2014-07-21T01:51:54.477Z"}' |
|||
registration.cancel.title: |
|||
languages: [] |
|||
pages: |
|||
- / |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
Organizations: |
|||
registration.cancel.help: |
|||
languages: [] |
|||
pages: |
|||
- / |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
Resources: |
|||
'no': |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
'yes': |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
registration.cancelled.title: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
registration.cancelled.help: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
registration.questions.title: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
registration.questions.housing: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
registration.questions.housing.help: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
registration.questions.housing_extra.title: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
form.placeholder.Enter_your_.questions.housing_extra: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":91959,"locale":"en","key":"form.placeholder.Enter_your_.questions.housing_extra","value":"Preferences? |
|||
Concerns? Whatever.","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:39:27.543Z","updated_at":"2014-07-21T01:39:27.555Z"}' |
|||
registration.questions.loaner_bike: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
registration.questions.loaner_bike.help: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
registration.questions.workshop: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
registration.questions.workshop.help: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
'Yes': |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":91981,"locale":"en","key":"Yes","value":"Yes","interpolations":[],"is_proc":false,"created_at":"2014-07-21T02:03:02.555Z","updated_at":"2014-07-21T02:03:02.627Z"}' |
|||
'No': |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":91978,"locale":"en","key":"No","value":"No","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:51:55.944Z","updated_at":"2014-07-21T01:51:55.955Z"}' |
|||
registration.questions.other: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
form.placeholder.Enter_your_.questions.other: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":91960,"locale":"en","key":"form.placeholder.Enter_your_.questions.other","value":"Anything |
|||
else that we should know....","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:39:45.419Z","updated_at":"2014-07-21T01:39:45.431Z"}' |
|||
submit: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
register.email.registration.subject: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
vars: |
|||
- :conference_title |
|||
data: [] |
|||
register.email.registration.please_confirm: |
|||
languages: [] |
|||
pages: |
|||
- / |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
vars: |
|||
- :username |
|||
data: [] |
|||
Sign_In: |
|||
register.email.registration.confirm_button: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
register.organizations.title: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
register.organizations.description: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
all_organizations: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":92002,"locale":"en","key":"all_organizations","value":"All organizations","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:04:45.086Z","updated_at":"2014-07-22T00:04:48.200Z"}' |
|||
world.ca.name: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":113,"locale":"en","key":"world.ca.name","value":"Canada","interpolations":[],"is_proc":false,"created_at":null,"updated_at":"2014-04-27T21:35:22.347Z"}' |
|||
orgnizations_filter.placeholder: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":91979,"locale":"en","key":"orgnizations_filter.placeholder","value":"Organization |
|||
name or location","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:52:13.721Z","updated_at":"2014-07-21T01:52:13.732Z"}' |
|||
my_organizations: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":91976,"locale":"en","key":"my_organizations","value":"My Organizations","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:51:51.454Z","updated_at":"2014-07-21T01:51:51.465Z"}' |
|||
form.label.add_new_org: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":91943,"locale":"en","key":"form.label.add_new_org","value":"My organization |
|||
isn''t listed here","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:33:04.823Z","updated_at":"2014-07-21T01:33:04.834Z"}' |
|||
form.label.no_org: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":91949,"locale":"en","key":"form.label.no_org","value":"I currently do not |
|||
belong to any organization","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:35:06.287Z","updated_at":"2014-07-21T01:35:06.299Z"}' |
|||
registration.thanks.title: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
registration.thanks.remember_to_confirm: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
registration.thanks.remember_to_confirm.help: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
resend_confirmation_email: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
register.email.registration_confirmed.subject: |
|||
languages: [] |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
vars: |
|||
- :conference_title |
|||
data: [] |
|||
register.organizations.confirm_thanks.title: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":92013,"locale":"en","key":"register.organizations.confirm_thanks.title","value":"","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:10:13.343Z","updated_at":"2014-07-22T00:10:13.355Z"}' |
|||
register.organizations.confirm_thanks.is_not_workshop_host.help: |
|||
languages: |
|||
- en |
|||
pages: |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: |
|||
- '{"id":92012,"locale":"en","key":"register.organizations.confirm_thanks.is_not_workshop_host.help","value":"","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:10:09.190Z","updated_at":"2014-07-22T00:10:09.203Z"}' |
|||
register.organizations.confirm_thanks.payment_notice: |
|||
languages: [] |
|||
pages: |
|||
- / |
|||
- "/conferences/:conference_type/:conference_slug/register(/:step)" |
|||
data: [] |
|||
|
@ -0,0 +1,5 @@ |
|||
class AddEmailToConferenceRegistrations < ActiveRecord::Migration |
|||
def change |
|||
add_column :conference_registrations, :email, :string |
|||
end |
|||
end |
@ -0,0 +1,5 @@ |
|||
class AddIsCompleteToConferenceRegistrations < ActiveRecord::Migration |
|||
def change |
|||
add_column :conference_registrations, :complete, :boolean |
|||
end |
|||
end |
@ -0,0 +1,5 @@ |
|||
class AddCompletedToConferenceRegistrations < ActiveRecord::Migration |
|||
def change |
|||
add_column :conference_registrations, :completed, :boolean |
|||
end |
|||
end |
@ -0,0 +1,5 @@ |
|||
class AddPaymentConfirmationTokenToConferenceRegistration < ActiveRecord::Migration |
|||
def change |
|||
add_column :conference_registrations, :payment_confirmation_token, :string |
|||
end |
|||
end |
@ -0,0 +1,5 @@ |
|||
class AddPaymentInfoToConferenceRegistration < ActiveRecord::Migration |
|||
def change |
|||
add_column :conference_registrations, :payment_info, :string |
|||
end |
|||
end |
@ -0,0 +1,5 @@ |
|||
class AddOrderToWorkshopStreams < ActiveRecord::Migration |
|||
def change |
|||
add_column :workshop_streams, :order, :integer |
|||
end |
|||
end |
@ -0,0 +1,5 @@ |
|||
class AddOrderToWorkshopPresentationStyles < ActiveRecord::Migration |
|||
def change |
|||
add_column :workshop_presentation_styles, :order, :integer |
|||
end |
|||
end |
@ -1,9 +1,24 @@ |
|||
Feature: Landing Page |
|||
As a person interested in bikebike |
|||
I want to find out about the current bikebike |
|||
In order to attend the conference |
|||
In order to learn about Bike!Bike! |
|||
As a visitor |
|||
|
|||
Scenario: Read landing page content |
|||
Given I am on the landing page |
|||
Then I can read about the current bikebike |
|||
And I can register for the conference |
|||
Scenario: See a more info link |
|||
Given There is an upcoming conference in Halifax NS |
|||
And I am on the landing page |
|||
Then I see the Bike!Bike! logo |
|||
And I see the Conferences menu item |
|||
And I see the Organizations menu item |
|||
And I see the Resources menu item |
|||
And I see Halifax |
|||
And I see More Info |
|||
|
|||
Scenario: See a register link |
|||
Given There is an upcoming conference in Halifax NS |
|||
And Registration is open |
|||
And I am on the landing page |
|||
Then I see the Bike!Bike! logo |
|||
And I see the Conferences menu item |
|||
And I see the Organizations menu item |
|||
And I see the Resources menu item |
|||
And I see Halifax |
|||
And I see a Register Now link |
|||
|
@ -0,0 +1,593 @@ |
|||
Feature: Registration |
|||
In order to register for the latest Bike!Bike! |
|||
As a visitor |
|||
|
|||
@javascript |
|||
Scenario: Register as participant with some second thoughts |
|||
Given There is an upcoming conference in Moncton NB |
|||
And Registration is open |
|||
And an organization named The Bike Bush exists in Musquodoboit Harbour NS |
|||
And an organization named Cool Cats Bikes exists in Sackville NB |
|||
|
|||
When I go to the landing page |
|||
Then I see a Register Now link |
|||
And I click on the Register Now link |
|||
|
|||
And I fill in my email with shout@me.com |
|||
And I press register |
|||
|
|||
And I fill in my firstname with Joe |
|||
And I fill in my lastname with Smith |
|||
And I fill in my username with Joey |
|||
And I check is_participant |
|||
And I press cancel |
|||
|
|||
Then I should see you will lose the infomation you have submitted |
|||
Then I press no |
|||
And I should see Attending as |
|||
And firstname should be set to Joe |
|||
And lastname should be set to Smith |
|||
And username should be set to Joey |
|||
And is_participant should be checked |
|||
And is_volunteer should not be checked |
|||
|
|||
Then I press cancel |
|||
And press yes |
|||
Then I should see Your registration has been cancelled |
|||
|
|||
@javascript |
|||
Scenario: Register as participant |
|||
Given There is an upcoming conference in Moncton NB |
|||
And Registration is open |
|||
And an organization named The Bike Bush exists in Musquodoboit Harbour NS |
|||
And an organization named Cool Cats Bikes exists in Sackville NB |
|||
|
|||
When I go to the landing page |
|||
Then I see a Register Now link |
|||
And I click on the Register Now link |
|||
|
|||
And I fill in my email with shout@me.com |
|||
And I press register |
|||
|
|||
And I fill in my firstname with Joe |
|||
And I fill in my lastname with Smith |
|||
And I fill in my username with Joey |
|||
And I check is_participant |
|||
And I press next |
|||
|
|||
And I see Do you require housing? |
|||
And I select couch from housing |
|||
And I fill in housing extra with I'm easy |
|||
|
|||
And I see Do you want to borrow a bike? |
|||
And I select Yes, from loaner bike |
|||
|
|||
And I see Would you like to host a workshop? |
|||
And I select No from workshop host |
|||
|
|||
And I see Anything else |
|||
And I fill in other with Nope |
|||
And I should not be registered for the conference |
|||
|
|||
And I press submit |
|||
|
|||
Then I should be registered for the conference |
|||
But my registration should not be confirmed |
|||
And I should get a confirm email |
|||
And I should see Who do you Represent |
|||
|
|||
But my registration is not complete |
|||
And my registration is not completed |
|||
|
|||
Then I click on The Bike Bush |
|||
And press next |
|||
And my registration is completed |
|||
|
|||
Then in the email I should see please confirm your registration |
|||
And in the email I should see a confirmation link registration |
|||
And I am not a user |
|||
|
|||
When I go to the confirmation page |
|||
And I should see Thanks for completing your registration |
|||
And my registration is confirmed |
|||
And my registration is complete |
|||
And my registration is completed |
|||
And I am a user |
|||
And I am a member of The Bike Bush |
|||
|
|||
@javascript |
|||
Scenario: Register as eager participant |
|||
Given There is an upcoming conference in Moncton NB |
|||
And Registration is open |
|||
And an organization named Cool Cats Bikes exists in Sackville NB |
|||
|
|||
When I go to the landing page |
|||
Then I see a Register Now link |
|||
And I click on the Register Now link |
|||
|
|||
And I fill in my email with goodgodwin@hotmail.com |
|||
And I press register |
|||
|
|||
And I fill in my firstname with Michael |
|||
And I fill in my lastname with Godwin |
|||
And I fill in my username with Godwin |
|||
And I check is_participant |
|||
And I press next |
|||
|
|||
And I see Do you require housing? |
|||
And I select bed from housing |
|||
And I fill in housing extra with I have a bad back |
|||
|
|||
And I see Do you want to borrow a bike? |
|||
And I select large from loaner bike |
|||
|
|||
And I see Would you like to host a workshop? |
|||
And I select No from workshop host |
|||
|
|||
And I see Anything else |
|||
And I fill in other with I'm coming two months early |
|||
And I should not be registered for the conference |
|||
|
|||
And I press submit |
|||
|
|||
Then I should be registered for the conference |
|||
And my registration should not be confirmed |
|||
And I should get a confirm email |
|||
And in the email I should see please confirm your registration |
|||
And in the email I should see a confirmation link |
|||
And I see Who do you Represent |
|||
|
|||
When I go to the confirmation page |
|||
Then I see Thanks for confirming |
|||
And I see Who do you Represent |
|||
And my registration is confirmed |
|||
But my registration is not complete |
|||
And my registration is not completed |
|||
|
|||
Then I click on Cool Cats Bikes |
|||
And press next |
|||
|
|||
Then I should see Thanks for completing your registration |
|||
And my registration is complete |
|||
And my registration is completed |
|||
But my registration is not paid |
|||
|
|||
Then I should get a Thanks email |
|||
And in the email I should see pay the registration donation |
|||
And in the email I should see a pay registration link |
|||
|
|||
When I go to the pay registration page |
|||
Then I see Thanks for completing your registration |
|||
And I see we ask that you pay |
|||
And I see payment amount |
|||
And I see submit payment |
|||
|
|||
Then I fill in payment amount with 12.34 |
|||
And press submit payment |
|||
Then I should see Your order summary |
|||
|
|||
When I finish paying |
|||
Then I should see We'll see you in Moncton |
|||
And my registration is paid |
|||
|
|||
@javascript |
|||
Scenario: Register as really eager participant |
|||
Given There is an upcoming conference in Moncton NB |
|||
And Registration is open |
|||
And an organization named Cool Cats Bikes exists in Sackville NB |
|||
|
|||
When I go to the landing page |
|||
Then I see a Register Now link |
|||
And I click on the Register Now link |
|||
|
|||
And I fill in my email with goodgodwin@hotmail.com |
|||
And I press register |
|||
|
|||
And I fill in my firstname with Michael |
|||
And I fill in my lastname with Godwin |
|||
And I fill in my username with Godwin |
|||
And I check is_participant |
|||
And I press next |
|||
|
|||
And I see Do you require housing? |
|||
And I select bed from housing |
|||
And I fill in housing extra with I have a bad back |
|||
|
|||
And I see Do you want to borrow a bike? |
|||
And I select large from loaner bike |
|||
|
|||
And I see Would you like to host a workshop? |
|||
And I select No from workshop host |
|||
|
|||
And I see Anything else |
|||
And I fill in other with I'm coming two months early |
|||
And I should not be registered for the conference |
|||
|
|||
And I press submit |
|||
|
|||
Then I should be registered for the conference |
|||
And my registration should not be confirmed |
|||
And I should get a confirm email |
|||
And in the email I should see please confirm your registration |
|||
And in the email I should see a confirmation link |
|||
And I see Who do you Represent |
|||
|
|||
When I go to the confirmation page |
|||
Then I see Thanks for confirming |
|||
And I see Who do you Represent |
|||
And my registration is confirmed |
|||
But my registration is not complete |
|||
And my registration is not completed |
|||
|
|||
Then I click on Cool Cats Bikes |
|||
And press next |
|||
|
|||
Then I should see Thanks for completing your registration |
|||
And my registration is complete |
|||
And my registration is completed |
|||
But my registration is not paid |
|||
|
|||
Then I should get a Thanks email |
|||
And in the email I should see pay the registration donation |
|||
And in the email I should see a pay registration link |
|||
|
|||
Then I should see Thanks for completing your registration |
|||
And I see we ask that you pay |
|||
And I see payment amount |
|||
And I see submit payment |
|||
|
|||
Then I fill in payment amount with 12.34 |
|||
And press submit payment |
|||
Then I should see Your order summary |
|||
|
|||
When I finish paying |
|||
Then I should see We'll see you in Moncton |
|||
And my registration is paid |
|||
|
|||
@javascript |
|||
Scenario: Register as eager with second thoughts |
|||
Given There is an upcoming conference in Moncton NB |
|||
And Registration is open |
|||
And an organization named Cool Cats Bikes exists in Sackville NB |
|||
|
|||
When I go to the landing page |
|||
Then I see a Register Now link |
|||
And I click on the Register Now link |
|||
|
|||
And I fill in my email with goodgodwin@hotmail.com |
|||
And I press register |
|||
|
|||
And I fill in my firstname with Michael |
|||
And I fill in my lastname with Godwin |
|||
And I fill in my username with Godwin |
|||
And I check is_participant |
|||
And I press next |
|||
|
|||
And I see Do you require housing? |
|||
And I select bed from housing |
|||
And I fill in housing extra with I have a bad back |
|||
|
|||
And I see Do you want to borrow a bike? |
|||
And I select large from loaner bike |
|||
|
|||
And I see Would you like to host a workshop? |
|||
And I select No from workshop host |
|||
|
|||
And I see Anything else |
|||
And I fill in other with I'm coming two months early |
|||
And I should not be registered for the conference |
|||
|
|||
And I press submit |
|||
|
|||
Then I should be registered for the conference |
|||
And my registration should not be confirmed |
|||
And I should get a confirm email |
|||
And in the email I should see please confirm your registration |
|||
And in the email I should see a confirmation link |
|||
And I see Who do you Represent |
|||
|
|||
When I go to the confirmation page |
|||
Then I see Thanks for confirming |
|||
And I see Who do you Represent |
|||
And my registration is confirmed |
|||
But my registration is not complete |
|||
And my registration is not completed |
|||
|
|||
Then I click on Cool Cats Bikes |
|||
And press next |
|||
|
|||
Then I should see Thanks for completing your registration |
|||
And my registration is complete |
|||
And my registration is completed |
|||
But my registration is not paid |
|||
|
|||
Then I should get a Thanks email |
|||
And in the email I should see pay the registration donation |
|||
And in the email I should see a pay registration link |
|||
|
|||
Then I should see Thanks for completing your registration |
|||
And I see we ask that you pay |
|||
And I see payment amount |
|||
And I see submit payment |
|||
|
|||
Then I fill in payment amount with 12.34 |
|||
And press submit payment |
|||
Then I should see Your order summary |
|||
|
|||
When I cancel the payment |
|||
Then I should see Thanks for completing your registration |
|||
And I see we ask that you pay |
|||
And my registration is not paid |
|||
|
|||
@javascript |
|||
Scenario: Register as workshop host |
|||
Given There is an upcoming conference in Moncton NB |
|||
And Registration is open |
|||
And an organization named The Bike Bush exists in Musquodoboit Harbour NS |
|||
And an organization named Cool Cats Bikes exists in Sackville NB |
|||
|
|||
When I go to the landing page |
|||
Then I see a Register Now link |
|||
And I click on the Register Now link |
|||
|
|||
And I fill in my email with scream@me.com |
|||
And I press register |
|||
|
|||
And I fill in my firstname with Joe |
|||
And I fill in my lastname with Smith |
|||
And I fill in my username with Joey |
|||
And I check is_participant |
|||
And I press next |
|||
|
|||
And I see Do you require housing? |
|||
And I select couch from housing |
|||
And I fill in housing extra with I'm easy |
|||
|
|||
And I see Do you want to borrow a bike? |
|||
And I select Yes, from loaner bike |
|||
|
|||
And I see Would you like to host a workshop? |
|||
And I select Yes from workshop host |
|||
|
|||
And I see Anything else |
|||
And I fill in other with Nope |
|||
And I should not be registered for the conference |
|||
|
|||
And I press submit |
|||
|
|||
Then I should be registered for the conference |
|||
But my registration should not be confirmed |
|||
And I should get a confirm email |
|||
And I should see Who do you Represent |
|||
|
|||
But my registration is not complete |
|||
And my registration is not completed |
|||
|
|||
Then I click on The Bike Bush |
|||
And press next |
|||
|
|||
Then I should see Workshop Information |
|||
Then I fill in title with How make your shop more Capitalist |
|||
Then I set info to Lorem Ipsum and Stuff |
|||
Then I select organization management from stream |
|||
Then I select presentation from presentation style |
|||
Then I fill in notes with Down with all the anarchists |
|||
Then press next |
|||
|
|||
Then in the email I should see please confirm your registration |
|||
And in the email I should see a confirmation link registration |
|||
|
|||
When I go to the confirmation page |
|||
And I should see Thanks for completing your registration |
|||
And my registration is confirmed |
|||
And my registration is complete |
|||
And my registration is completed |
|||
|
|||
@javascript |
|||
Scenario: Register with new organization |
|||
Given There is an upcoming conference in Moncton NB |
|||
And Registration is open |
|||
And an organization named The Bike Bush exists in Musquodoboit Harbour NS |
|||
And an organization named Cool Cats Bikes exists in Sackville NB |
|||
|
|||
When I go to the landing page |
|||
Then I see a Register Now link |
|||
And I click on the Register Now link |
|||
|
|||
And I fill in my email with example@example.com |
|||
And I press register |
|||
|
|||
And I fill in my firstname with Emma |
|||
And I fill in my lastname with Smith |
|||
And I fill in my username with Em |
|||
And I check is_participant |
|||
And I press next |
|||
|
|||
And I see Do you require housing? |
|||
And I select couch from housing |
|||
And I fill in housing extra with I'm easy |
|||
|
|||
And I see Do you want to borrow a bike? |
|||
And I select small from loaner bike |
|||
|
|||
And I see Would you like to host a workshop? |
|||
And I select No from workshop host |
|||
|
|||
And I see Anything else |
|||
And I fill in other with Nope |
|||
And I should not be registered for the conference |
|||
|
|||
And I press submit |
|||
|
|||
Then I should be registered for the conference |
|||
But my registration should not be confirmed |
|||
And I should get a confirm email |
|||
And I should see Who do you Represent |
|||
|
|||
But my registration is not complete |
|||
And my registration is not completed |
|||
|
|||
Then I check add new org |
|||
And I press next |
|||
|
|||
Then I should see Your Organization Information |
|||
Then I fill in name with The Bike Fridge |
|||
Then I set info to Lorem Ipsum and Stuff |
|||
Then I fill in organization email with info@bikefridge.org |
|||
Then I fill in street with 1044 Mushaboom Road |
|||
Then I fill in city with Mushaboom |
|||
Then I select ca from country |
|||
Then I select ns from territory |
|||
Then press next |
|||
|
|||
Then in the email I should see please confirm your registration |
|||
And in the email I should see a confirmation link registration |
|||
|
|||
When I go to the confirmation page |
|||
And I should see Thanks for completing your registration |
|||
And my registration is confirmed |
|||
And my registration is complete |
|||
And my registration is completed |
|||
And I am a member of The Bike Fridge |
|||
|
|||
@javascript |
|||
Scenario: Register with new organization in usa |
|||
Given There is an upcoming conference in Moncton NB |
|||
And Registration is open |
|||
And I am in San Francisco, California, USA |
|||
And an organization named The Bike Bush exists in Musquodoboit Harbour NS |
|||
And an organization named Cool Cats Bikes exists in Sackville NB |
|||
|
|||
When I go to the landing page |
|||
Then I see a Register Now link |
|||
And I click on the Register Now link |
|||
|
|||
And I fill in my email with example@example.com |
|||
And I press register |
|||
|
|||
And I fill in my firstname with Emma |
|||
And I fill in my lastname with Smith |
|||
And I fill in my username with Em |
|||
And I check is_participant |
|||
And I press next |
|||
|
|||
And I see Do you require housing? |
|||
And I select couch from housing |
|||
And I fill in housing extra with I'm easy |
|||
|
|||
And I see Do you want to borrow a bike? |
|||
And I select small from loaner bike |
|||
|
|||
And I see Would you like to host a workshop? |
|||
And I select No from workshop host |
|||
|
|||
And I see Anything else |
|||
And I fill in other with Nope |
|||
And I should not be registered for the conference |
|||
|
|||
And I press submit |
|||
|
|||
Then I should be registered for the conference |
|||
But my registration should not be confirmed |
|||
And I should get a confirm email |
|||
And I should see Who do you Represent |
|||
|
|||
But my registration is not complete |
|||
And my registration is not completed |
|||
|
|||
Then I check add new org |
|||
And I press next |
|||
|
|||
Then I should see Your Organization Information |
|||
Then I fill in name with The Bike Fridge |
|||
Then I set info to Lorem Ipsum and Stuff |
|||
Then I fill in organization email with info@bikefridge.org |
|||
Then I fill in street with 1044 Mushaboom Road |
|||
Then I fill in city with Mushaboom |
|||
Then I select us from country |
|||
Then I select ny from territory |
|||
Then press next |
|||
|
|||
Then in the email I should see please confirm your registration |
|||
And in the email I should see a confirmation link registration |
|||
|
|||
When I go to the confirmation page |
|||
And I should see Thanks for completing your registration |
|||
And my registration is confirmed |
|||
And my registration is complete |
|||
And my registration is completed |
|||
And I am a member of The Bike Fridge |
|||
|
|||
@javascript |
|||
Scenario: Lazy participant |
|||
Given There is an upcoming conference in Moncton NB |
|||
And Registration is open |
|||
And an organization named The Bike Bush exists in Musquodoboit Harbour NS |
|||
And an organization named Cool Cats Bikes exists in Sackville NB |
|||
|
|||
When I go to the landing page |
|||
Then I see a Register Now link |
|||
And I click on the Register Now link |
|||
|
|||
And I fill in my email with example@example.com |
|||
And I press register |
|||
|
|||
And I press next |
|||
But I see please tell us your name |
|||
|
|||
Then I fill in my firstname with Emma |
|||
And I press next |
|||
But I see please tell us your name |
|||
|
|||
Then I fill in my lastname with Smith |
|||
And I press next |
|||
But I see attending the conference or volunteering |
|||
|
|||
Then I check is_participant |
|||
And I press next |
|||
|
|||
Then I select Yes from workshop host |
|||
And press submit |
|||
|
|||
Then I should be registered for the conference |
|||
But my registration should not be confirmed |
|||
And I should get a confirm email |
|||
And I should see Who do you Represent |
|||
|
|||
But my registration is not complete |
|||
And my registration is not completed |
|||
|
|||
Then I press next |
|||
But I see Please select an organization |
|||
|
|||
Then I click on The Bike Bush |
|||
And press next |
|||
|
|||
Then I should see Workshop Information |
|||
But press next |
|||
|
|||
But I should see Please give your workshop a title |
|||
Then I fill in title with Why do I have to give all this info right now? |
|||
And press next |
|||
|
|||
But I should see Please describe your workshop |
|||
Then I set info to Lorem Ipsum and Stuff |
|||
|
|||
Then I select organization management from stream |
|||
And I select presentation from presentation style |
|||
And press next |
|||
|
|||
Then I should see Thanks for submitting your registration |
|||
|
|||
Then in the email I should see please confirm your registration |
|||
And in the email I should see a confirmation link registration |
|||
|
|||
When I go to the confirmation page |
|||
And I should see Thanks for completing your registration |
|||
And my registration is confirmed |
|||
And my registration is complete |
|||
And my registration is completed |
|||
And I am a member of The Bike Bush |
|||
And My firstname should be Emma |
|||
And My lastname should be Smith |
|||
And My username should be Emma Smith |
@ -1,13 +1,215 @@ |
|||
Given(/^I am on the (.+) page$/) do |page_name| |
|||
visit path_to(page_name) |
|||
visit path_to(page_name.to_sym) |
|||
end |
|||
|
|||
Then(/^I can read about the current bikebike$/) do |
|||
within('#conference-name') { expect(page).to have_text 'Bike!Bike!' } |
|||
within('#conference-location') { expect(page).to have_text 'Columbus, Ohio' } |
|||
within('#conference-date') { expect(page).to have_text 'August 30 - September 1' } |
|||
Given(/^I am on the (.+) site$/) do |language| |
|||
ApplicationController::set_host (get_language_code(language) + '.bikebike.org') |
|||
end |
|||
|
|||
Then(/^I can register for the conference$/) do |
|||
expect(page).to have_link 'Register' |
|||
Given(/^I am in (.+)$/) do |location| |
|||
ApplicationController::set_location (location) |
|||
end |
|||
|
|||
When(/^I go to the (.+) page$/) do |page_name| |
|||
visit path_to(page_name.to_sym) |
|||
end |
|||
|
|||
When(/^(I )?(finish|cancel) (paying|(the )?payment)$/) do |a, action, b, c| |
|||
visit path_to((action == 'finish' ? 'confirm' : action) + ' payment') |
|||
end |
|||
|
|||
Given(/^There is an upcoming conference( in .+)?$/) do |location| |
|||
@last_conference = FactoryGirl.create(:upcoming_conference) |
|||
if location |
|||
@org = create_org(nil, location) |
|||
@last_conference.organizations << @org |
|||
@last_conference.save! |
|||
end |
|||
end |
|||
|
|||
Given(/^an organization( named .+)? exists( in .+)?$/) do |name, location| |
|||
if location =~ /every country/i |
|||
Carmen::World.instance.subregions.each { |country| |
|||
#puts "#{country.code}" |
|||
|
|||
if country.subregions? |
|||
country.subregions.each { |region| |
|||
org = Organization.new(name: rand(36**16).to_s(36), slug: rand(36**16).to_s(36))#create_org#(Forgery::LoremIpsum.sentence) |
|||
org.locations << Location.new(city: 'City', country: country.code, territory: region.code) |
|||
org.save! |
|||
} |
|||
else |
|||
org = Organization.new(name: rand(36**16).to_s(36), slug: rand(36**16).to_s(36))#create_org#(Forgery::LoremIpsum.sentence) |
|||
org.locations << Location.new(city: 'City', country: country.code) |
|||
org.save! |
|||
end |
|||
} |
|||
else |
|||
create_org(name ? name.gsub(/^\s*named\s+(.*?)\s*$/, '\1') : nil, location ? location.gsub(/^\s*in\s+(.*?)\s*$/, '\1') : nil) |
|||
end |
|||
end |
|||
|
|||
Given(/^Registration is (open|closed)$/) do |status| |
|||
@last_conference.registration_open = (status == 'open') |
|||
@last_conference.save! |
|||
end |
|||
|
|||
Then(/^I (should )?see (.+)$/) do | a, item | |
|||
if /(the )?Bike!Bike! logo$/ =~ item |
|||
expect(page).to have_selector('svg.logo') |
|||
elsif /(the|a)?\s?(.+) menu item$/ =~ item |
|||
within('#main-nav') { expect(page).to have_link Regexp.last_match(2) } |
|||
elsif /(the|a)?\s?(.+) image$/ =~ item |
|||
expect(page).to have_selector('#'+Regexp.last_match(2)+' img') |
|||
elsif /(the|a)?\s?(.+) link$/ =~ item |
|||
expect(page).to have_link Regexp.last_match(2) |
|||
else |
|||
expect(page).to have_text item |
|||
end |
|||
end |
|||
|
|||
|
|||
## ======= Forms ======= ## |
|||
|
|||
Then(/^(I )?click on (.+?)( button| link| which is hidden)?$/) do | a, item, type | |
|||
item = item.gsub(/^\s*(a|the)\s*(.*)$/, '\2') |
|||
if type && type.strip == 'button' |
|||
click_button(item) |
|||
elsif type && type.strip == 'link' |
|||
click_link(item) |
|||
elsif type && type =~ /hidden/ |
|||
find('[id$="' + item.gsub(/\s+/, '_') + '"]', :visible => false).click |
|||
else |
|||
page.find_link(item).trigger('click') |
|||
end |
|||
end |
|||
|
|||
Then(/^(I )?press (.+)$/) do | a, item | |
|||
click_link_or_button(locate(item)) |
|||
end |
|||
|
|||
Then(/^I (un)?check (.+)$/) do | state, item | |
|||
if state == 'un' |
|||
uncheck(locate(item)) |
|||
else |
|||
check(locate(item)) |
|||
end |
|||
end |
|||
|
|||
Then(/^I fill in (.+?) with (.+)$/) do | field, value | |
|||
field = field.gsub(/^\s*(my|the)\s*(.+)$/, '\2') |
|||
fill_in(locate(field), :with => value) |
|||
|
|||
if /email/ =~ field && !(/organization/ =~ field) |
|||
@last_email_entered = value |
|||
end |
|||
end |
|||
|
|||
Then(/^(my )?(.+)? should (not )?be set to (.+)$/) do | a, field, should, value | |
|||
field = field.gsub(/^\s*(my|the)\s*(.+)$/, '\2') |
|||
page.find('[id$="' + field.gsub(/\s+/, '_') + '"]').value.send(should.nil? ? 'should' : 'should_not', eq(value)) |
|||
end |
|||
|
|||
Then(/^(my )?(.+)? should (not )?be checked$/) do | a, field, should | |
|||
field = field.gsub(/^\s*(my|the)\s*(.+)$/, '\2') |
|||
page.find('[id$="' + field.gsub(/\s+/, '_') + '"]').send(should.nil? ? 'should' : 'should_not', be_checked) |
|||
end |
|||
|
|||
Then(/^I set (.+?) to (.+)$/) do | field, value | |
|||
field = field.gsub(/^\s*(my|the)\s*(.+)$/, '\2') |
|||
page.find('[id$="' + field.gsub(/\s+/, '_') + '"]', :visible => false).set value |
|||
end |
|||
|
|||
Then(/^(I )wait for (.+?) to appear$/) do | a, field | |
|||
count = 0 |
|||
element = nil |
|||
while element.nil? && count < 120 |
|||
begin element = page.find('[id$="' + field.gsub(/\s+/, '_') + '"]'); rescue; end |
|||
begin element ||= page.find('[id$="' + field.gsub(/\s+/, '_') + '"]', :visible => false); rescue; end |
|||
sleep(1) |
|||
count += 1 |
|||
end |
|||
end |
|||
|
|||
Then(/^show the page$/) do |
|||
print page.html |
|||
save_and_open_page |
|||
end |
|||
|
|||
Then(/^I select (.+?) from (.+)$/) do | value, field | |
|||
select(value, :from => locate(field)) |
|||
end |
|||
|
|||
## ======= Emails ======= ## |
|||
|
|||
Then(/^I should not get an email$/) do |
|||
ActionMailer::Base.deliveries.size.should eq 0 |
|||
end |
|||
|
|||
Then (/^I should get an? (.+) email$/) do |subject| |
|||
@last_email = ActionMailer::Base.deliveries.last |
|||
if @last_email_entered |
|||
@last_email.to.should include @last_email_entered |
|||
end |
|||
@last_email.subject.should include(subject) |
|||
end |
|||
|
|||
Then (/^the email should contain (.+)$/) do |value| |
|||
@last_email.parts.first.body.raw_source.should include(value) |
|||
@last_email.parts.last.body.raw_source.should include(value) |
|||
end |
|||
|
|||
Then (/^in the email I should see (.+)$/) do |value| |
|||
if /(an?|the|my) (.+) link/ =~ value |
|||
test = path_to Regexp.last_match(2) |
|||
@last_email.parts.first.body.raw_source.should include(test) |
|||
@last_email.parts.last.body.raw_source.should include(test) |
|||
else |
|||
@last_email.parts.first.body.raw_source.should include(value) |
|||
@last_email.parts.last.body.raw_source.should include(value) |
|||
end |
|||
end |
|||
|
|||
Then (/^I should (not )?be registered for the conference$/) do |state| |
|||
@last_registration = ConferenceRegistration.find_by(:email => @last_email_entered) |
|||
if state && state.strip == 'not' |
|||
@last_registration.should be_nil |
|||
else |
|||
@last_registration.should_not be_nil |
|||
end |
|||
end |
|||
|
|||
Then (/^my registration (should( not)? be|is( not)?) (confirmed|completed?|paid)$/) do |state, x, y, field| |
|||
ConferenceRegistration.find_by!(:email => @last_email_entered). |
|||
send(field == 'confirmed' ? 'is_confirmed' : (field == 'paid' ? 'payment_info' : field)). |
|||
send(state =~ / not/ ? 'should_not' : 'should', be) |
|||
end |
|||
|
|||
Then (/^I am( not)? a user$/) do |state| |
|||
User.find_by(:email => @last_email_entered). |
|||
send(state =~ / not/ ? 'should_not' : 'should', be) |
|||
end |
|||
|
|||
Then (/^I am( not)? a member of (.+)$/) do |state, org_name| |
|||
user = nil |
|||
should_be = !(state =~ / not/) |
|||
org = Organization.find_by(:name => org_name) |
|||
if should_be |
|||
org.should be |
|||
org.users.should be |
|||
elsif org.nil? || org.users.nil? |
|||
return |
|||
end |
|||
org.users.each { |u| |
|||
if u.email == @last_email_entered |
|||
user = u |
|||
end |
|||
} |
|||
user.send(should_be ? 'should' : 'should_not', be) |
|||
end |
|||
|
|||
Then (/^My (.+) should(not )? be (.+)$/) do |field, state, value| |
|||
User.find_by(:email => @last_email_entered). |
|||
send(field.gsub(/\s/, '_')). |
|||
send(state =~ / not/ ? 'should_not' : 'should', eq(value)) |
|||
end |
|||
|
@ -0,0 +1,22 @@ |
|||
FactoryGirl.define do |
|||
factory :upcoming_conference, :class => 'Conference' do |
|||
title 'My Bike!Bike!' |
|||
slug 'MyBikeBike' |
|||
info 'Curabitur non nulla sit amet nisl tempus convallis quis ac lectus.' |
|||
poster 'poster.jpg' |
|||
cover 'cover.jpg' |
|||
registration_open false |
|||
start_date Date.today - 30.days |
|||
end_date Date.today - 26.days |
|||
conference_type_id (ConferenceType.find_by(:slug => 'bikebike') || ConferenceType.create(:slug => 'bikebike')).id |
|||
end |
|||
|
|||
factory :org, :class => 'Organization' do |
|||
name 'My Organization' |
|||
info 'Curabitur non nulla sit amet nisl tempus convallis quis ac lectus.' |
|||
avatar 'avatar.jpg' |
|||
cover 'cover.jpg' |
|||
end |
|||
end |
|||
|
|||
World(FactoryGirl::Syntax::Methods) |
@ -1,18 +1,36 @@ |
|||
module NavigationHelpers |
|||
def path_to(page_name) |
|||
append_root = false |
|||
case page_name |
|||
when /^landing$/i |
|||
path = 'root' |
|||
path = :root |
|||
when /^confirmation$/i |
|||
path = "/conferences/bikebike/#{@last_conference.slug}/register/confirm/#{@last_registration.confirmation_token}" |
|||
when /^pay registration$/i |
|||
path = "/conferences/bikebike/#{@last_conference.slug}/register/pay-registration/#{@last_registration.confirmation_token}" |
|||
when /^confirm payment$/i |
|||
path = "/conferences/bikebike/#{@last_conference.slug}/register/confirm-payment/#{@last_registration.payment_confirmation_token}" |
|||
when /^cancel payment$/i |
|||
path = "/conferences/bikebike/#{@last_conference.slug}/register/cancel-payment/#{@last_registration.confirmation_token}" |
|||
when /^translation list$/i |
|||
path = '/translations/' |
|||
when /^(.+) translations?$/i |
|||
path = '/translations/' + get_language_code(Regexp.last_match(1)) |
|||
when /^organization list$/i |
|||
path = '/organizations/' |
|||
end |
|||
|
|||
if path.is_a?(Symbol) |
|||
begin |
|||
self.send((path + '_url').to_sym) |
|||
path = self.send((path.to_s + '_url').to_sym).gsub(/^http:\/\/.+?(\/.*)$/, '\1') |
|||
rescue Object => e |
|||
raise "Can't find mapping from \"#{page_name}\" to a path.\n" + |
|||
"#{path}_url\n" + |
|||
"Now, go and add a mapping in #{__FILE__}" |
|||
end |
|||
end |
|||
path |
|||
end |
|||
end |
|||
|
|||
World(NavigationHelpers) |
|||
|
@ -0,0 +1,16 @@ |
|||
Feature: Translation Pages |
|||
In order to Translate Bike!Bike! |
|||
As a visitor |
|||
|
|||
Scenario: Visit Translation List Page |
|||
Given I am on the English site |
|||
And I am on the translation list page |
|||
Then I see Translations |
|||
And I see list |
|||
And I see active |
|||
And I see inactive |
|||
|
|||
Scenario: Visit English Translation Page |
|||
Given I am on the English site |
|||
And I am on the english translations page |
|||
Then I see language translations |
@ -0,0 +1,46 @@ |
|||
Feature: Volunteer Registration |
|||
In order to register to volunteer at the latest Bike!Bike! |
|||
As a visitor |
|||
|
|||
@javascript |
|||
Scenario: Register as volunteer |
|||
Given There is an upcoming conference in Moncton NB |
|||
And Registration is open |
|||
|
|||
When I go to the landing page |
|||
Then I see a Register Now link |
|||
And I click on the Register Now link |
|||
|
|||
And I fill in my email with example@example.com |
|||
And I press register |
|||
|
|||
And I fill in my firstname with Francis |
|||
And I fill in my lastname with Bacon |
|||
And I fill in my username with Bacon |
|||
And I check is_volunteer |
|||
And I press next |
|||
|
|||
Then I see Contact Information |
|||
And I fill in address with 1234 Some St. |
|||
And I fill in phone number with 555-555-5555 |
|||
|
|||
Then I see Do you have housing |
|||
And I fill in beds with 0 |
|||
And I fill in couch_space with 5 |
|||
And I fill in tents with 2 |
|||
|
|||
Then I see Anything else |
|||
And I fill in other with So excited! |
|||
|
|||
And I press next |
|||
|
|||
Then I should be registered for the conference |
|||
And my registration should not be confirmed |
|||
And I should get a confirm email |
|||
And in the email I should see please confirm your registration |
|||
And in the email I should see a confirmation link registration |
|||
|
|||
When I go to the confirmation page |
|||
Then I should see Thanks for completing your registration |
|||
And my registration is complete |
|||
And my registration is completed |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 8.8 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 8.8 KiB |
After Width: | Height: | Size: 6.1 KiB |
After Width: | Height: | Size: 30 KiB |