From 16d1f9fdf9c24dd36060e379c02b929f506eb721 Mon Sep 17 00:00:00 2001 From: Godwin Date: Thu, 24 Jul 2014 22:43:26 -0600 Subject: [PATCH] Tested, translations are now in --- app/controllers/conferences_controller.rb | 23 +- .../conferences/_register_thanks.html.haml | 6 +- config/locales/translation-info.yml | 1317 +++++++++-------- features/registration.feature | 163 +- features/step_definitions/interface_steps.rb | 27 +- features/support/paths.rb | 4 +- 6 files changed, 852 insertions(+), 688 deletions(-) diff --git a/app/controllers/conferences_controller.rb b/app/controllers/conferences_controller.rb index 3032921..04fdeba 100644 --- a/app/controllers/conferences_controller.rb +++ b/app/controllers/conferences_controller.rb @@ -361,9 +361,18 @@ class ConferencesController < ApplicationController @registration = ConferenceRegistration.find(session[:registration][:registration_id]) if params[:confirm_payment] info = YAML.load(@registration.payment_info) - paypal = PayPal!.checkout!(info[:token], info[:payer_id], PayPalRequest(info[:amount])) - if paypal.payment_info.first.payment_status == 'Completed' - @registration.registration_fees_paid = paypal.payment_info.first.amount.total + amount = nil + status = nil + if is_test? + status = info[:status] + amount = info[:amount] + else + paypal = PayPal!.checkout!(info[:token], info[:payer_id], PayPalRequest(info[:amount])) + status = paypal.payment_info.first.payment_status + amount = paypal.payment_info.first.amount.total + end + if status == 'Completed' + @registration.registration_fees_paid = amount @registration.save! end end @@ -512,8 +521,12 @@ class ConferencesController < ApplicationController set_conference @conference_registration = ConferenceRegistration.find_by(payment_confirmation_token: params[:confirmation_token]) if !@conference_registration.nil? && @conference_registration.conference_id == @conference.id && @conference_registration.complete && @conference_registration.registration_fees_paid.nil? - @conference_registration.payment_info = {:payer_id => params[:PayerID], :token => params[:token], :amount => PayPal!.details(params[:token]).amount.total}.to_yaml - @conference_registration.save! + if !is_test? + #@conference_registration.payment_info = {:payer_id => '1234', :token => '5678', :amount => '0.00'}.to_yaml + #else + @conference_registration.payment_info = {:payer_id => params[:PayerID], :token => params[:token], :amount => PayPal!.details(params[:token]).amount.total}.to_yaml + @conference_registration.save! + end session[:registration] = YAML.load(@conference_registration.data) session[:registration][:registration_id] = @conference_registration.id session[:registration][:path] = Array.new diff --git a/app/views/conferences/_register_thanks.html.haml b/app/views/conferences/_register_thanks.html.haml index f4341f2..b2f9518 100644 --- a/app/views/conferences/_register_thanks.html.haml +++ b/app/views/conferences/_register_thanks.html.haml @@ -11,11 +11,11 @@ .row .columns.small-12.centered %p=_'registration.thanks.all_done.please_pay.currency','(amounts are in $USD)' - %button{name: 'auto_payment_amount', type: 'submit', value: '25.0', :class => 'good'} + %button{name: 'auto_payment_amount', id: 'auto_pay_25', type: 'submit', value: '25.0', :class => 'good'} = number_to_currency(25, :unit => '$') - %button{name: 'auto_payment_amount', type: 'submit', value: '50.0', :class => 'better'} + %button{name: 'auto_payment_amount', id: 'auto_pay_50', type: 'submit', value: '50.0', :class => 'better'} = number_to_currency(50, :unit => '$') - %button{name: 'auto_payment_amount', type: 'submit', value: '100.0', :class => 'best'} + %button{name: 'auto_payment_amount', id: 'auto_pay_100', type: 'submit', value: '100.0', :class => 'best'} = number_to_currency(100, :unit => '$') .row .columns.small-12.centered diff --git a/config/locales/translation-info.yml b/config/locales/translation-info.yml index eaee5e0..2721f6b 100644 --- a/config/locales/translation-info.yml +++ b/config/locales/translation-info.yml @@ -1,35 +1,726 @@ --- -register.new_organization.no_name_error: +world.ca.ns.name: languages: - en pages: + - "/" - "/conferences/:conference_type/:conference_slug/register(/:step)" + - "/location/territories" data: - - '{"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.sk.name: + - '{"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: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":1495,"locale":"en","key":"world.ca.sk.name","value":"Saskatchewan","interpolations":[],"is_proc":false,"created_at":"2014-05-04T05:29:29.403Z","updated_at":"2014-05-04T05:29:29.411Z"}' -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"}' + - '{"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)" + - "/translations" + - "/translations/:lang" + 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)" + - "/translations" + - "/translations/:lang" + 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)" + - "/translations" + - "/translations/:lang" + 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: [] +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)" - "/" + - "/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)" + - "/location/territories" + 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: [] +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.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: [] +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"}' +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: [] +register.email.registration_confirmed.subject: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + vars: + - :conference_title + data: [] +register.email.registration_confirmed.thank_you: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +register.email.registration_confirmed.please_pay: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +register.email.registration_confirmed.pay_now: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +register.email.registration_confirmed.info: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +register.email.registration_confirmed.contact: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +registration.thanks.complete.title: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +registration.thanks.all_done.please_pay: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +form.placeholder.Enter_your_confirmation_token: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +registration.thanks.all_done.please_pay.currency: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +number.format: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +number.currency.format: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +number.precision.format: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +form.placeholder.Enter_your_payment_amount: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +form.label.payment_amount: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +custom_amount: + 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: [] +registration.payment_confirm.title: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +registration.payment_confirm.help: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + vars: + - :amount + data: [] +cancel_payment: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +confirm_payment: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +registration.thanks.all_done.paid: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + vars: + - :city + data: [] +registration.cancel.title: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +registration.cancel.help: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +'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.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: [] +resend_confirmation_email: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +form.placeholder.Enter_your_workshop_index: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":91972,"locale":"en","key":"form.placeholder.Enter_your_workshop_index","value":"NIL","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:48:52.697Z","updated_at":"2014-07-21T01:49:24.130Z"}' +registration.workshop.title: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +form.placeholder.Enter_your_workshop_title: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":91975,"locale":"en","key":"form.placeholder.Enter_your_workshop_title","value":"Give + your workshop a title...","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:51:42.788Z","updated_at":"2014-07-21T01:51:42.799Z"}' +form.label.workshop_title: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":91957,"locale":"en","key":"form.label.workshop_title","value":"Title","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:36:54.915Z","updated_at":"2014-07-21T01:36:54.927Z"}' +form.placeholder.Enter_your_workshop_info: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":91973,"locale":"en","key":"form.placeholder.Enter_your_workshop_info","value":"Give + the organizers and attendees a good idea of what this thing is about...","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:50:15.811Z","updated_at":"2014-07-21T01:50:15.823Z"}' +form.label.workshop_info: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":91956,"locale":"en","key":"form.label.workshop_info","value":"Workshop + description","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:36:47.728Z","updated_at":"2014-07-21T01:36:47.768Z"}' +registration.workshop.streams.title: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +registration.workshop.streams.help: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +workshop_stream.select_one: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":92001,"locale":"en","key":"workshop_stream.select_one","value":"Select + a stream","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:04:29.472Z","updated_at":"2014-07-22T00:04:29.483Z"}' +workshop_stream.mechanics: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":91999,"locale":"en","key":"workshop_stream.mechanics","value":"Mechanics","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:03:59.547Z","updated_at":"2014-07-22T00:03:59.559Z"}' +workshop_stream.leisure: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":91998,"locale":"en","key":"workshop_stream.leisure","value":"Arts and other + fun stuff","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:03:50.401Z","updated_at":"2014-07-22T00:03:50.438Z"}' +workshop_stream.interorganizational_relations: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":91997,"locale":"en","key":"workshop_stream.interorganizational_relations","value":"Inter-organizational + relations","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:03:41.576Z","updated_at":"2014-07-22T00:03:41.588Z"}' +workshop_stream.ethics_public_relations: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":91990,"locale":"en","key":"workshop_stream.ethics_public_relations","value":"Advocacy, + ethics, and public relations","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:01:51.146Z","updated_at":"2014-07-22T00:01:51.264Z"}' +workshop_stream.organization_management: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":92000,"locale":"en","key":"workshop_stream.organization_management","value":"Organization + management","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:04:13.299Z","updated_at":"2014-07-22T00:04:13.311Z"}' +registration.workshop.styles.title: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +registration.workshop.styles.help: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +workshop_presentation_style.select_one: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":91991,"locale":"en","key":"workshop_presentation_style.select_one","value":"Select + a style","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:02:02.457Z","updated_at":"2014-07-22T00:02:02.470Z"}' +workshop_presentation_style.discussion: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":91996,"locale":"en","key":"workshop_presentation_style.discussion","value":"Open + discussion","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:03:21.204Z","updated_at":"2014-07-22T00:03:21.217Z"}' +workshop_presentation_style.panel: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":91993,"locale":"en","key":"workshop_presentation_style.panel","value":"Panel","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:02:34.616Z","updated_at":"2014-07-22T00:02:34.629Z"}' +workshop_presentation_style.presentation: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":91992,"locale":"en","key":"workshop_presentation_style.presentation","value":"Presentation","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:02:20.711Z","updated_at":"2014-07-22T00:02:20.724Z"}' +workshop_presentation_style.hands-on: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":91995,"locale":"en","key":"workshop_presentation_style.hands-on","value":"Hands-on","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:02:46.497Z","updated_at":"2014-07-22T00:02:46.509Z"}' +workshop_presentation_style.other: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":91994,"locale":"en","key":"workshop_presentation_style.other","value":"Other","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:02:40.926Z","updated_at":"2014-07-22T00:02:40.938Z"}' +registration.workshop.notes.title: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +registration.workshop.notes.help: + languages: [] + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: [] +form.placeholder.Enter_your_workshop_notes: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":91974,"locale":"en","key":"form.placeholder.Enter_your_workshop_notes","value":"Only + visible to the organizers, enter any special requests or anything else that we + might find useful....","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:51:19.490Z","updated_at":"2014-07-21T01:51:19.501Z"}' +form.label.add_another_workshop: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":91942,"locale":"en","key":"form.label.add_another_workshop","value":"Add + another workshop","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:32:45.595Z","updated_at":"2014-07-21T01:32:45.606Z"}' form.placeholder.Enter_your_new_org_index: languages: - en @@ -379,13 +1070,6 @@ world.bz.name: - "/conferences/:conference_type/:conference_slug/register(/:step)" data: - '{"id":112,"locale":"en","key":"world.bz.name","value":"Belize","interpolations":[],"is_proc":false,"created_at":null,"updated_at":"2014-04-27T21:35:22.345Z"}' -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"}' world.cc.name: languages: - en @@ -1830,6 +2514,7 @@ world.ca.ab.name: - en pages: - "/conferences/:conference_type/:conference_slug/register(/:step)" + - "/location/territories" data: - '{"id":1484,"locale":"en","key":"world.ca.ab.name","value":"Alberta","interpolations":[],"is_proc":false,"created_at":"2014-05-04T05:27:16.207Z","updated_at":"2014-05-04T05:27:16.214Z"}' world.ca.bc.name: @@ -1837,6 +2522,7 @@ world.ca.bc.name: - en pages: - "/conferences/:conference_type/:conference_slug/register(/:step)" + - "/location/territories" data: - '{"id":1485,"locale":"en","key":"world.ca.bc.name","value":"British Columbia","interpolations":[],"is_proc":false,"created_at":"2014-05-04T05:27:30.352Z","updated_at":"2014-05-04T05:27:30.359Z"}' world.ca.mb.name: @@ -1844,6 +2530,7 @@ world.ca.mb.name: - en pages: - "/conferences/:conference_type/:conference_slug/register(/:step)" + - "/location/territories" data: - '{"id":1486,"locale":"en","key":"world.ca.mb.name","value":"Manitoba","interpolations":[],"is_proc":false,"created_at":"2014-05-04T05:27:34.577Z","updated_at":"2014-05-04T05:27:34.584Z"}' world.ca.nl.name: @@ -1851,20 +2538,15 @@ world.ca.nl.name: - en pages: - "/conferences/:conference_type/:conference_slug/register(/:step)" + - "/location/territories" data: - '{"id":1488,"locale":"en","key":"world.ca.nl.name","value":"Newfoundland and Labrador","interpolations":[],"is_proc":false,"created_at":"2014-05-04T05:27:52.504Z","updated_at":"2014-05-04T05:27:52.512Z"}' -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"}' world.ca.nt.name: languages: - en pages: - "/conferences/:conference_type/:conference_slug/register(/:step)" + - "/location/territories" data: - '{"id":1490,"locale":"en","key":"world.ca.nt.name","value":"Northwest Territories","interpolations":[],"is_proc":false,"created_at":"2014-05-04T05:28:08.537Z","updated_at":"2014-05-04T05:28:08.544Z"}' world.ca.nu.name: @@ -1872,6 +2554,7 @@ world.ca.nu.name: - en pages: - "/conferences/:conference_type/:conference_slug/register(/:step)" + - "/location/territories" data: - '{"id":1491,"locale":"en","key":"world.ca.nu.name","value":"Nunavut","interpolations":[],"is_proc":false,"created_at":"2014-05-04T05:28:20.315Z","updated_at":"2014-05-04T05:28:20.322Z"}' world.ca.on.name: @@ -1895,6 +2578,13 @@ world.ca.qc.name: - "/conferences/:conference_type/:conference_slug/register(/:step)" data: - '{"id":1494,"locale":"en","key":"world.ca.qc.name","value":"Québec","interpolations":[],"is_proc":false,"created_at":"2014-05-04T05:29:14.597Z","updated_at":"2014-05-04T05:29:14.605Z"}' +world.ca.sk.name: + languages: + - en + pages: + - "/conferences/:conference_type/:conference_slug/register(/:step)" + data: + - '{"id":1495,"locale":"en","key":"world.ca.sk.name","value":"Saskatchewan","interpolations":[],"is_proc":false,"created_at":"2014-05-04T05:29:29.403Z","updated_at":"2014-05-04T05:29:29.411Z"}' world.ca.yt.name: languages: - en @@ -1917,240 +2607,14 @@ form.label.add_another_org: data: - '{"id":92006,"locale":"en","key":"form.label.add_another_org","value":"Add another organization","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:05:07.844Z","updated_at":"2014-07-22T00:05:13.714Z"}' -next: +register.new_organization.no_name_error: 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"}' -Conferences: - languages: - - de - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - - "/" - - "/translations" - - "/translations/:lang" - 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)" - - "/" - - "/translations" - - "/translations/:lang" - 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)" - - "/" - - "/translations" - - "/translations/:lang" - 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: [] -register.email.registration_confirmed.subject: - languages: [] - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - vars: - - :conference_title - data: [] -register.email.registration_confirmed.thank_you: - languages: [] - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: [] -register.email.registration_confirmed.please_pay: - languages: [] - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: [] -register.email.registration_confirmed.pay_now: - languages: [] - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: [] -register.email.registration_confirmed.info: - languages: [] - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: [] -register.email.registration_confirmed.contact: - languages: [] - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: [] -registration.thanks.complete.title: - languages: [] - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: [] -registration.thanks.all_done.please_pay: - languages: [] - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: [] -form.placeholder.Enter_your_confirmation_token: - languages: [] - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: [] -form.placeholder.Enter_your_payment_amount: - languages: [] - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: [] -form.label.payment_amount: - languages: [] - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: [] -submit_payment: - 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: [] -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"}' -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_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"}' -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: [] -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"}' registration.register.no_name_error: languages: [] pages: @@ -2161,339 +2625,11 @@ registration.register.no_role_error: 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: [] -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"}' -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.register.no_organization_error: languages: [] pages: - "/conferences/:conference_type/:conference_slug/register(/:step)" data: [] -form.placeholder.Enter_your_workshop_index: - languages: - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":91972,"locale":"en","key":"form.placeholder.Enter_your_workshop_index","value":"NIL","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:48:52.697Z","updated_at":"2014-07-21T01:49:24.130Z"}' -registration.workshop.title: - languages: [] - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: [] -form.placeholder.Enter_your_workshop_title: - languages: - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":91975,"locale":"en","key":"form.placeholder.Enter_your_workshop_title","value":"Give - your workshop a title...","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:51:42.788Z","updated_at":"2014-07-21T01:51:42.799Z"}' -form.label.workshop_title: - languages: - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":91957,"locale":"en","key":"form.label.workshop_title","value":"Title","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:36:54.915Z","updated_at":"2014-07-21T01:36:54.927Z"}' -form.placeholder.Enter_your_workshop_info: - languages: - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":91973,"locale":"en","key":"form.placeholder.Enter_your_workshop_info","value":"Give - the organizers and attendees a good idea of what this thing is about...","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:50:15.811Z","updated_at":"2014-07-21T01:50:15.823Z"}' -form.label.workshop_info: - languages: - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":91956,"locale":"en","key":"form.label.workshop_info","value":"Workshop - description","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:36:47.728Z","updated_at":"2014-07-21T01:36:47.768Z"}' -registration.workshop.streams.title: - languages: [] - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: [] -registration.workshop.streams.help: - languages: [] - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: [] -workshop_stream.select_one: - languages: - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":92001,"locale":"en","key":"workshop_stream.select_one","value":"Select - a stream","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:04:29.472Z","updated_at":"2014-07-22T00:04:29.483Z"}' -workshop_stream.mechanics: - languages: - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":91999,"locale":"en","key":"workshop_stream.mechanics","value":"Mechanics","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:03:59.547Z","updated_at":"2014-07-22T00:03:59.559Z"}' -workshop_stream.leisure: - languages: - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":91998,"locale":"en","key":"workshop_stream.leisure","value":"Arts and other - fun stuff","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:03:50.401Z","updated_at":"2014-07-22T00:03:50.438Z"}' -workshop_stream.interorganizational_relations: - languages: - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":91997,"locale":"en","key":"workshop_stream.interorganizational_relations","value":"Inter-organizational - relations","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:03:41.576Z","updated_at":"2014-07-22T00:03:41.588Z"}' -workshop_stream.ethics_public_relations: - languages: - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":91990,"locale":"en","key":"workshop_stream.ethics_public_relations","value":"Advocacy, - ethics, and public relations","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:01:51.146Z","updated_at":"2014-07-22T00:01:51.264Z"}' -workshop_stream.organization_management: - languages: - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":92000,"locale":"en","key":"workshop_stream.organization_management","value":"Organization - management","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:04:13.299Z","updated_at":"2014-07-22T00:04:13.311Z"}' -registration.workshop.styles.title: - languages: [] - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: [] -registration.workshop.styles.help: - languages: [] - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: [] -workshop_presentation_style.select_one: - languages: - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":91991,"locale":"en","key":"workshop_presentation_style.select_one","value":"Select - a style","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:02:02.457Z","updated_at":"2014-07-22T00:02:02.470Z"}' -workshop_presentation_style.discussion: - languages: - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":91996,"locale":"en","key":"workshop_presentation_style.discussion","value":"Open - discussion","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:03:21.204Z","updated_at":"2014-07-22T00:03:21.217Z"}' -workshop_presentation_style.panel: - languages: - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":91993,"locale":"en","key":"workshop_presentation_style.panel","value":"Panel","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:02:34.616Z","updated_at":"2014-07-22T00:02:34.629Z"}' -workshop_presentation_style.presentation: - languages: - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":91992,"locale":"en","key":"workshop_presentation_style.presentation","value":"Presentation","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:02:20.711Z","updated_at":"2014-07-22T00:02:20.724Z"}' -workshop_presentation_style.hands-on: - languages: - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":91995,"locale":"en","key":"workshop_presentation_style.hands-on","value":"Hands-on","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:02:46.497Z","updated_at":"2014-07-22T00:02:46.509Z"}' -workshop_presentation_style.other: - languages: - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":91994,"locale":"en","key":"workshop_presentation_style.other","value":"Other","interpolations":[],"is_proc":false,"created_at":"2014-07-22T00:02:40.926Z","updated_at":"2014-07-22T00:02:40.938Z"}' -registration.workshop.notes.title: - languages: [] - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: [] -registration.workshop.notes.help: - languages: [] - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: [] -form.placeholder.Enter_your_workshop_notes: - languages: - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":91974,"locale":"en","key":"form.placeholder.Enter_your_workshop_notes","value":"Only - visible to the organizers, enter any special requests or anything else that we - might find useful....","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:51:19.490Z","updated_at":"2014-07-21T01:51:19.501Z"}' -form.label.add_another_workshop: - languages: - - en - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: - - '{"id":91942,"locale":"en","key":"form.label.add_another_workshop","value":"Add - another workshop","interpolations":[],"is_proc":false,"created_at":"2014-07-21T01:32:45.595Z","updated_at":"2014-07-21T01:32:45.606Z"}' registration.register.no_workshop_title_error: languages: [] pages: @@ -2504,21 +2640,6 @@ registration.register.no_workshop_info_error: pages: - "/conferences/:conference_type/:conference_slug/register(/:step)" data: [] -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: [] -resend_confirmation_email: - languages: [] - pages: - - "/conferences/:conference_type/:conference_slug/register(/:step)" - data: [] languages.list: languages: - en diff --git a/features/registration.feature b/features/registration.feature index 2768c62..87f4753 100644 --- a/features/registration.feature +++ b/features/registration.feature @@ -2,6 +2,84 @@ Feature: Registration In order to register for the latest Bike!Bike! As a visitor + @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 + + 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 custom amount + + Then I pay 12.34 + Then I should see Your order summary + + When I finish with paypal + Then I should see confirm your payment + And I should see $12.34 + And I have enough funds + And I press confirm payment + + Then I should see We'll see you in Moncton + And my registration is paid + @javascript Scenario: Register as participant with some second thoughts Given There is an upcoming conference in Moncton NB @@ -159,88 +237,17 @@ Feature: Registration 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 + And I see $25.00 - Then I fill in payment amount with 12.34 - And press submit payment + Then I pay 25.00 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 + When I finish with paypal + Then I should see confirm your payment + And I should see $25.00 + And I have enough funds + And I press confirm payment - @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 diff --git a/features/step_definitions/interface_steps.rb b/features/step_definitions/interface_steps.rb index 123bedd..20f6baf 100644 --- a/features/step_definitions/interface_steps.rb +++ b/features/step_definitions/interface_steps.rb @@ -14,8 +14,31 @@ 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') +When(/^(I )?(finish|cancel) ((with )?paypal)$/) do |a, action, b, c| + @last_registration.payment_info = {:payer_id => '1234', :token => '5678', :amount => @last_payment_amount}.to_yaml + @last_registration.save! + visit path_to((action == 'finish' ? 'confirm' : action) + ' paypal') +end + +Then(/^(I )?pay \$?([\d\.]+)$/) do | a, amount | + button = nil + begin; button = locate("auto pay #{amount.to_f.to_i}"); rescue; end + if button + click_link_or_button(button) + else + fill_in(locate('payment amount'), :with => amount) + click_link_or_button(locate('custom amount')) + end + @last_payment_amount = amount +end + +Then(/^(I )?(don't )?have enough funds$/) do | a, status | + if status.blank? + info = YAML.load(@last_registration.payment_info) + info[:status] = 'Completed' + @last_registration.payment_info = info.to_yaml + @last_registration.save! + end end Given(/^There is an upcoming conference( in .+)?$/) do |location| diff --git a/features/support/paths.rb b/features/support/paths.rb index 3797ac0..aa53615 100644 --- a/features/support/paths.rb +++ b/features/support/paths.rb @@ -8,9 +8,9 @@ module NavigationHelpers 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 /^paypal confirm$/i + when /^confirm paypal$/i path = "/conferences/bikebike/#{@last_conference.slug}/register/paypal-confirm/#{@last_registration.payment_confirmation_token}" - when /^paypal cancel$/i + when /^cancel paypal$/i path = "/conferences/bikebike/#{@last_conference.slug}/register/paypal-cancel/#{@last_registration.confirmation_token}" when /^translation list$/i path = '/translations/'