Browse Source

Workshop interest

development
Godwin 9 years ago
parent
commit
a0fbbc9f4f
  1. 30
      app/assets/stylesheets/_application.scss
  2. 18
      app/controllers/conferences_controller.rb
  3. 13
      app/models/workshop.rb
  4. 4
      app/models/workshop_interest.rb
  5. 20
      app/views/application/home.html.haml
  6. 19
      app/views/conference_registration_responses/_form.html.haml
  7. 7
      app/views/conference_registration_responses/edit.html.haml
  8. 23
      app/views/conference_registration_responses/index.html.haml
  9. 5
      app/views/conference_registration_responses/new.html.haml
  10. 15
      app/views/conference_registration_responses/show.html.haml
  11. 8
      app/views/conference_registraton_form_fields/_form.html.haml
  12. 7
      app/views/conference_registraton_form_fields/edit.html.haml
  13. 23
      app/views/conference_registraton_form_fields/index.html.haml
  14. 5
      app/views/conference_registraton_form_fields/new.html.haml
  15. 15
      app/views/conference_registraton_form_fields/show.html.haml
  16. 19
      app/views/organization_statuses/_form.html.haml
  17. 7
      app/views/organization_statuses/edit.html.haml
  18. 23
      app/views/organization_statuses/index.html.haml
  19. 5
      app/views/organization_statuses/new.html.haml
  20. 15
      app/views/organization_statuses/show.html.haml
  21. 6
      app/views/registration_form_fields/_conference_form.html.haml
  22. 14
      app/views/registration_form_fields/_form.html.haml
  23. 6
      app/views/registration_form_fields/_list.html.haml
  24. 7
      app/views/registration_form_fields/edit.html.haml
  25. 29
      app/views/registration_form_fields/index.html.haml
  26. 5
      app/views/registration_form_fields/new.html.haml
  27. 24
      app/views/registration_form_fields/show.html.haml
  28. 19
      app/views/workshop_facilitators/_form.html.haml
  29. 7
      app/views/workshop_facilitators/edit.html.haml
  30. 23
      app/views/workshop_facilitators/index.html.haml
  31. 5
      app/views/workshop_facilitators/new.html.haml
  32. 15
      app/views/workshop_facilitators/show.html.haml
  33. 19
      app/views/workshop_presentation_styles/_form.html.haml
  34. 7
      app/views/workshop_presentation_styles/edit.html.haml
  35. 23
      app/views/workshop_presentation_styles/index.html.haml
  36. 5
      app/views/workshop_presentation_styles/new.html.haml
  37. 15
      app/views/workshop_presentation_styles/show.html.haml
  38. 19
      app/views/workshop_requested_resources/_form.html.haml
  39. 7
      app/views/workshop_requested_resources/edit.html.haml
  40. 23
      app/views/workshop_requested_resources/index.html.haml
  41. 5
      app/views/workshop_requested_resources/new.html.haml
  42. 15
      app/views/workshop_requested_resources/show.html.haml
  43. 19
      app/views/workshop_resources/_form.html.haml
  44. 7
      app/views/workshop_resources/edit.html.haml
  45. 23
      app/views/workshop_resources/index.html.haml
  46. 5
      app/views/workshop_resources/new.html.haml
  47. 15
      app/views/workshop_resources/show.html.haml
  48. 19
      app/views/workshop_streams/_form.html.haml
  49. 7
      app/views/workshop_streams/edit.html.haml
  50. 23
      app/views/workshop_streams/index.html.haml
  51. 5
      app/views/workshop_streams/new.html.haml
  52. 15
      app/views/workshop_streams/show.html.haml
  53. 8
      app/views/workshops/show.html.haml
  54. 145
      config/locales/data/html_records/Be-the-first-to-like-a-workshop--.html
  55. 149
      config/locales/data/html_records/Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1.html
  56. 149
      config/locales/data/html_records/Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2.html
  57. 149
      config/locales/data/html_records/Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1.html
  58. 147
      config/locales/data/html_records/Be-the-first-to-like-a-workshop--confirm.test.html
  59. 4
      config/locales/data/html_records/Broadcast-message--.html
  60. 4
      config/locales/data/html_records/Broadcast-message--conferences.MyBikeBike.broadcast.html
  61. 4
      config/locales/data/html_records/Create-workshop--.html
  62. 3
      config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1-1.html
  63. 3
      config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1-2.html
  64. 3
      config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1-3.html
  65. 3
      config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1.html
  66. 145
      config/locales/data/html_records/Like-a-workshop--.html
  67. 149
      config/locales/data/html_records/Like-a-workshop--conferences.MyBikeBike.workshops.1-1.html
  68. 149
      config/locales/data/html_records/Like-a-workshop--conferences.MyBikeBike.workshops.1-2.html
  69. 149
      config/locales/data/html_records/Like-a-workshop--conferences.MyBikeBike.workshops.1.html
  70. 147
      config/locales/data/html_records/Like-a-workshop--confirm.test.html
  71. 4
      config/locales/data/html_records/See-a-more-info-link--.html
  72. 4
      config/locales/data/html_records/See-a-register-link--.html
  73. 11
      config/locales/data/html_records/Start-registration-from-landing-page--.html
  74. 4
      config/locales/data/html_records/Start-registration-from-landing-page--Start-registration-from-landing-page--conferences.MyBikeBike.register-1.html
  75. 10
      config/locales/data/html_records/Start-registration-from-landing-page--Start-registration-from-landing-page--conferences.MyBikeBike.register-3.html
  76. 4
      config/locales/data/html_records/Start-registration-from-landing-page--email_confirmation.html
  77. 10
      config/locales/data/html_records/Start-registration-from-landing-page--registration_confirmation.html
  78. 4
      config/locales/data/html_records/View-stats--.html
  79. 2
      config/locales/data/html_records/View-stats--conferences.MyBikeBike.stats.html
  80. 10
      config/locales/data/html_records/View-stats--conferences.MyBikeBike.stats.xls.html
  81. 210
      config/locales/data/translation-info.yml
  82. 160
      config/locales/en.yml
  83. 155
      config/locales/es.yml
  84. 1
      config/routes.rb
  85. 10
      db/migrate/20150912010105_create_workshop_interests.rb
  86. 9
      db/schema.rb
  87. 34
      features/registration_page.feature
  88. 17
      features/step_definitions/interface_steps.rb

30
app/assets/stylesheets/_application.scss

@ -1848,6 +1848,7 @@ html[data-lingua-franca-example="html"] {
.workshop-list {
list-style: none;
padding: 0 2em;
.workshop-description {
font-size: 0.75em;
@ -1860,4 +1861,31 @@ html[data-lingua-franca-example="html"] {
border-bottom: 0;
}
}
}
}
#main .workshop-interest {
text-align: right;
form {
display: inline;
}
button {
font-size: 0.9em;
margin: 1em;
background-color: $colour-5;
&.delete {
background-color: $colour-4;
}
}
body.home & {
text-align: left;
font-style: italic;
color: #888;
margin-top: -0.5em;
margin-bottom: -0.5em;
margin-left: 1em;
}
}

18
app/controllers/conferences_controller.rb

@ -888,6 +888,24 @@ class ConferencesController < ApplicationController
redirect_to view_workshop_url(@this_conference.slug, workshop.id)
end
def toggle_workshop_interest
set_conference
set_conference_registration
workshop = Workshop.find_by_id_and_conference_id(params[:workshop_id], @this_conference.id)
do_404 unless workshop
# save the current state
interested = workshop.interested? current_user
# remove all associated fields
WorkshopInterest.delete_all(:workshop_id => workshop.id, :user_id => current_user.id)
# creat the new interest row if we weren't interested before
WorkshopInterest.create(:workshop_id => workshop.id, :user_id => current_user.id) unless interested
# go back to the workshop
redirect_to view_workshop_url(@this_conference.slug, workshop.id)
end
# DELETE /conferences/1
#def destroy
# @conference.destroy

13
app/models/workshop.rb

@ -35,6 +35,19 @@ class Workshop < ActiveRecord::Base
creator?(user)
end
def can_show_interest?(user)
!facilitator?(user)
end
def interested?(user)
user.present? && !!WorkshopInterest.find_by(workshop_id: id, user_id: user.id)
end
def interested_count
workshops = WorkshopInterest.where(:workshop_id => id)
workshops ? workshops.size : 0
end
private
def make_slug
if !self.slug

4
app/models/workshop_interest.rb

@ -0,0 +1,4 @@
class WorkshopInterest < ActiveRecord::Base
belongs_to :workshop
has_one :user
end

20
app/views/application/home.html.haml

@ -4,10 +4,16 @@
%article
%h2=_!@conference.title
=@conference.info.html_safe
%h3=_'acticles.conferences.headings.Proposed_Workshops'
%p=_'acticles.conferences.paragraphs.Proposed_Workshops', "Would you like to facilitate your own workshop? Simply register and visit the workshops page. If you have already registered you can access the page by restarting the registration process."
%ul.workshop-list
- @conference.workshops.each do |w|
%li
%h4=w.title
.workshop-description=markdown w.info
%h3=_'articles.workshops.headings.Proposed_Workshops'
%p=_'articles.workshops.paragraphs.Proposed_Workshops', "Would you like to facilitate your own workshop? Simply register and visit the workshops page. If you have already registered you can access the page by restarting the registration process."
- if @conference.workshops
%ul.workshop-list
- @conference.workshops.each do |w|
%li
%h4=w.title
.workshop-interest
- if w.interested?(current_user)
=_'articles.workshops.info.you_are_interested_count', "You and #{w.interested_count - 1} others are interested in this workshop", :vars => {:count => (w.interested_count - 1)}
- elsif w.interested_count > 0
=_'articles.workshops.info.interested_count', "#{w.interested_count} people are interested in this workshop", :vars => {:count => w.interested_count}
.workshop-description=markdown w.info

19
app/views/conference_registration_responses/_form.html.haml

@ -1,19 +0,0 @@
= form_for @conference_registration_response do |f|
- if @conference_registration_response.errors.any?
#error_explanation
%h2= "#{pluralize(@conference_registration_response.errors.count, "error")} prohibited this conference_registration_response from being saved:"
%ul
- @conference_registration_response.errors.full_messages.each do |msg|
%li= msg
.field
= f.label :conference_registration_id
= f.number_field :conference_registration_id
.field
= f.label :registration_form_field_id
= f.number_field :registration_form_field_id
.field
= f.label :data
= f.text_area :data
.actions
= f.submit 'Save'

7
app/views/conference_registration_responses/edit.html.haml

@ -1,7 +0,0 @@
%h1 Editing conference_registration_response
= render 'form'
= link_to 'Show', @conference_registration_response
\|
= link_to 'Back', conference_registration_responses_path

23
app/views/conference_registration_responses/index.html.haml

@ -1,23 +0,0 @@
%h1 Listing conference_registration_responses
%table
%tr
%th Conference registration
%th Registration form field
%th Data
%th
%th
%th
- @conference_registration_responses.each do |conference_registration_response|
%tr
%td= conference_registration_response.conference_registration_id
%td= conference_registration_response.registration_form_field_id
%td= conference_registration_response.data
%td= link_to 'Show', conference_registration_response
%td= link_to 'Edit', edit_conference_registration_response_path(conference_registration_response)
%td= link_to 'Destroy', conference_registration_response, :method => :delete, :data => { :confirm => 'Are you sure?' }
%br
= link_to 'New Conference registration response', new_conference_registration_response_path

5
app/views/conference_registration_responses/new.html.haml

@ -1,5 +0,0 @@
%h1 New conference_registration_response
= render 'form'
= link_to 'Back', conference_registration_responses_path

15
app/views/conference_registration_responses/show.html.haml

@ -1,15 +0,0 @@
%p#notice= notice
%p
%b Conference registration:
= @conference_registration_response.conference_registration_id
%p
%b Registration form field:
= @conference_registration_response.registration_form_field_id
%p
%b Data:
= @conference_registration_response.data
= link_to 'Edit', edit_conference_registration_response_path(@conference_registration_response)
\|
= link_to 'Back', conference_registration_responses_path

8
app/views/conference_registraton_form_fields/_form.html.haml

@ -1,8 +0,0 @@
= form_for @conference_registraton_form_field do |f|
= f.label :conference_id
= f.number_field :conference_id
= f.label :registration_form_field_id
= f.number_field :registration_form_field_id
= f.label :order
= f.number_field :order
= f.actions :Save

7
app/views/conference_registraton_form_fields/edit.html.haml

@ -1,7 +0,0 @@
%h1 Editing conference_registraton_form_field
= render 'form'
= link_to 'Show', @conference_registraton_form_field
\|
= link_to 'Back', conference_registraton_form_fields_path

23
app/views/conference_registraton_form_fields/index.html.haml

@ -1,23 +0,0 @@
%h1 Listing conference_registraton_form_fields
%table
%tr
%th Conference
%th Registration form field
%th Order
%th
%th
%th
- @conference_registraton_form_fields.each do |conference_registraton_form_field|
%tr
%td= conference_registraton_form_field.conference_id
%td= conference_registraton_form_field.registration_form_field_id
%td= conference_registraton_form_field.order
%td= link_to 'Show', conference_registraton_form_field
%td= link_to 'Edit', edit_conference_registraton_form_field_path(conference_registraton_form_field)
%td= link_to 'Destroy', conference_registraton_form_field, :method => :delete, :data => { :confirm => 'Are you sure?' }
%br
= link_to 'New Conference registraton form field', new_conference_registraton_form_field_path

5
app/views/conference_registraton_form_fields/new.html.haml

@ -1,5 +0,0 @@
%h1 New conference_registraton_form_field
= render 'form'
= link_to 'Back', conference_registraton_form_fields_path

15
app/views/conference_registraton_form_fields/show.html.haml

@ -1,15 +0,0 @@
%p#notice= notice
%p
%b Conference:
= @conference_registraton_form_field.conference_id
%p
%b Registration form field:
= @conference_registraton_form_field.registration_form_field_id
%p
%b Order:
= @conference_registraton_form_field.order
= link_to 'Edit', edit_conference_registraton_form_field_path(@conference_registraton_form_field)
\|
= link_to 'Back', conference_registraton_form_fields_path

19
app/views/organization_statuses/_form.html.haml

@ -1,19 +0,0 @@
= form_for @organization_status do |f|
- if @organization_status.errors.any?
#error_explanation
%h2= "#{pluralize(@organization_status.errors.count, "error")} prohibited this organization_status from being saved:"
%ul
- @organization_status.errors.full_messages.each do |msg|
%li= msg
.field
= f.label :name
= f.text_field :name
.field
= f.label :slug
= f.text_field :slug
.field
= f.label :info
= f.text_field :info
.actions
= f.submit 'Save'

7
app/views/organization_statuses/edit.html.haml

@ -1,7 +0,0 @@
%h1 Editing organization_status
= render 'form'
= link_to 'Show', @organization_status
\|
= link_to 'Back', organization_statuses_path

23
app/views/organization_statuses/index.html.haml

@ -1,23 +0,0 @@
%h1 Listing organization_statuses
%table
%tr
%th Name
%th Slug
%th Info
%th
%th
%th
- @organization_statuses.each do |organization_status|
%tr
%td= organization_status.name
%td= organization_status.slug
%td= organization_status.info
%td= link_to 'Show', organization_status
%td= link_to 'Edit', edit_organization_status_path(organization_status)
%td= link_to 'Destroy', organization_status, :method => :delete, :data => { :confirm => 'Are you sure?' }
%br
= link_to 'New Organization status', new_organization_status_path

5
app/views/organization_statuses/new.html.haml

@ -1,5 +0,0 @@
%h1 New organization_status
= render 'form'
= link_to 'Back', organization_statuses_path

15
app/views/organization_statuses/show.html.haml

@ -1,15 +0,0 @@
%p#notice= notice
%p
%b Name:
= @organization_status.name
%p
%b Slug:
= @organization_status.slug
%p
%b Info:
= @organization_status.info
= link_to 'Edit', edit_organization_status_path(@organization_status)
\|
= link_to 'Back', organization_statuses_path

6
app/views/registration_form_fields/_conference_form.html.haml

@ -1,6 +0,0 @@
= sortable @conference.conference_registration_form_fields, 'registration_form_field_id', url: 'form/reorder' do |form_field|
- ff = RegistrationFormField.find(form_field.registration_form_field_id)
%span.drag-sort='[drag]'
= ff.title
%a.remove-form-field.button{:data => {:id => ff.id}}
= _ 'registration_form_field.list.remove_from_form'

14
app/views/registration_form_fields/_form.html.haml

@ -1,14 +0,0 @@
= form_for @registration_form_field do |f|
- if @conference
= f.hidden_field :conference_id, value: @conference.id
= f.select :field_type, RegistrationFormField::Types.keys
- RegistrationFormField::Fields.each do |key, value|
- options = {:html => { :classes => RegistrationFormField::TypesForField(key.to_sym).collect{|v| 'field-type-' + v.to_s} } }
- options[:html][:classes] << 'registration-form-field-field'
-# eval('field f, :' + key.to_s + ', :' + value[:control] + (value[:options] ? ', ' + (value[:options].map.with_index{|v, i| 'value[:options][' + i.to_s + ']'}.join(', ') || 'nil') : '') + ", classes: classes")
- if value[:options]
- fields = options_for_select(value[:options].first.map { |v| [_("form_field.#{v}"), v]})
= f.send(value[:control], key.to_s, fields, options)
- else
= f.send(value[:control], key.to_s, options)
= f.actions :save

6
app/views/registration_form_fields/_list.html.haml

@ -1,6 +0,0 @@
%ul
- @registration_form_fields.each do |registration_form_field|
%li
= registration_form_field.title
%a.add-form-field.button{:data => {:id => registration_form_field.id}}
= _ 'registration_form_field.list.add_to_form'

7
app/views/registration_form_fields/edit.html.haml

@ -1,7 +0,0 @@
%h1 Editing registration_form_field
= render 'form'
= link_to 'Show', @registration_form_field
\|
= link_to 'Back', registration_form_fields_path

29
app/views/registration_form_fields/index.html.haml

@ -1,29 +0,0 @@
%h1 Listing registration_form_fields
%table
%tr
%th Title
%th Help
%th Required
%th Field type
%th Options
%th Is retired
%th
%th
%th
- @registration_form_fields.each do |registration_form_field|
%tr
%td= registration_form_field.title
%td= registration_form_field.help
%td= registration_form_field.required
%td= registration_form_field.field_type
%td= registration_form_field.options
%td= registration_form_field.is_retired
%td= link_to 'Show', registration_form_field
%td= link_to 'Edit', edit_registration_form_field_path(registration_form_field)
%td= link_to 'Destroy', registration_form_field, :method => :delete, :data => { :confirm => 'Are you sure?' }
%br
= link_to 'New Registration form field', new_registration_form_field_path

5
app/views/registration_form_fields/new.html.haml

@ -1,5 +0,0 @@
%h1 New registration_form_field
= render 'form'
= link_to 'Back', registration_form_fields_path

24
app/views/registration_form_fields/show.html.haml

@ -1,24 +0,0 @@
%p#notice= notice
%p
%b Title:
= @registration_form_field.title
%p
%b Help:
= @registration_form_field.help
%p
%b Required:
= @registration_form_field.required
%p
%b Field type:
= @registration_form_field.field_type
%p
%b Options:
= @registration_form_field.options
%p
%b Is retired:
= @registration_form_field.is_retired
= link_to 'Edit', edit_registration_form_field_path(@registration_form_field)
\|
= link_to 'Back', registration_form_fields_path

19
app/views/workshop_facilitators/_form.html.haml

@ -1,19 +0,0 @@
= form_for @workshop_facilitator do |f|
- if @workshop_facilitator.errors.any?
#error_explanation
%h2= "#{pluralize(@workshop_facilitator.errors.count, "error")} prohibited this workshop_facilitator from being saved:"
%ul
- @workshop_facilitator.errors.full_messages.each do |msg|
%li= msg
.field
= f.label :user_id
= f.number_field :user_id
.field
= f.label :workshop_id
= f.number_field :workshop_id
.field
= f.label :role
= f.text_field :role
.actions
= f.submit 'Save'

7
app/views/workshop_facilitators/edit.html.haml

@ -1,7 +0,0 @@
%h1 Editing workshop_facilitator
= render 'form'
= link_to 'Show', @workshop_facilitator
\|
= link_to 'Back', workshop_facilitators_path

23
app/views/workshop_facilitators/index.html.haml

@ -1,23 +0,0 @@
%h1 Listing workshop_facilitators
%table
%tr
%th User
%th Workshop
%th Role
%th
%th
%th
- @workshop_facilitators.each do |workshop_facilitator|
%tr
%td= workshop_facilitator.user_id
%td= workshop_facilitator.workshop_id
%td= workshop_facilitator.role
%td= link_to 'Show', workshop_facilitator
%td= link_to 'Edit', edit_workshop_facilitator_path(workshop_facilitator)
%td= link_to 'Destroy', workshop_facilitator, :method => :delete, :data => { :confirm => 'Are you sure?' }
%br
= link_to 'New Workshop facilitator', new_workshop_facilitator_path

5
app/views/workshop_facilitators/new.html.haml

@ -1,5 +0,0 @@
%h1 New workshop_facilitator
= render 'form'
= link_to 'Back', workshop_facilitators_path

15
app/views/workshop_facilitators/show.html.haml

@ -1,15 +0,0 @@
%p#notice= notice
%p
%b User:
= @workshop_facilitator.user_id
%p
%b Workshop:
= @workshop_facilitator.workshop_id
%p
%b Role:
= @workshop_facilitator.role
= link_to 'Edit', edit_workshop_facilitator_path(@workshop_facilitator)
\|
= link_to 'Back', workshop_facilitators_path

19
app/views/workshop_presentation_styles/_form.html.haml

@ -1,19 +0,0 @@
= form_for @workshop_presentation_style do |f|
- if @workshop_presentation_style.errors.any?
#error_explanation
%h2= "#{pluralize(@workshop_presentation_style.errors.count, "error")} prohibited this workshop_presentation_style from being saved:"
%ul
- @workshop_presentation_style.errors.full_messages.each do |msg|
%li= msg
.field
= f.label :name
= f.text_field :name
.field
= f.label :slug
= f.text_field :slug
.field
= f.label :info
= f.text_field :info
.actions
= f.submit 'Save'

7
app/views/workshop_presentation_styles/edit.html.haml

@ -1,7 +0,0 @@
%h1 Editing workshop_presentation_style
= render 'form'
= link_to 'Show', @workshop_presentation_style
\|
= link_to 'Back', workshop_presentation_styles_path

23
app/views/workshop_presentation_styles/index.html.haml

@ -1,23 +0,0 @@
%h1 Listing workshop_presentation_styles
%table
%tr
%th Name
%th Slug
%th Info
%th
%th
%th
- @workshop_presentation_styles.each do |workshop_presentation_style|
%tr
%td= workshop_presentation_style.name
%td= workshop_presentation_style.slug
%td= workshop_presentation_style.info
%td= link_to 'Show', workshop_presentation_style
%td= link_to 'Edit', edit_workshop_presentation_style_path(workshop_presentation_style)
%td= link_to 'Destroy', workshop_presentation_style, :method => :delete, :data => { :confirm => 'Are you sure?' }
%br
= link_to 'New Workshop presentation style', new_workshop_presentation_style_path

5
app/views/workshop_presentation_styles/new.html.haml

@ -1,5 +0,0 @@
%h1 New workshop_presentation_style
= render 'form'
= link_to 'Back', workshop_presentation_styles_path

15
app/views/workshop_presentation_styles/show.html.haml

@ -1,15 +0,0 @@
%p#notice= notice
%p
%b Name:
= @workshop_presentation_style.name
%p
%b Slug:
= @workshop_presentation_style.slug
%p
%b Info:
= @workshop_presentation_style.info
= link_to 'Edit', edit_workshop_presentation_style_path(@workshop_presentation_style)
\|
= link_to 'Back', workshop_presentation_styles_path

19
app/views/workshop_requested_resources/_form.html.haml

@ -1,19 +0,0 @@
= form_for @workshop_requested_resource do |f|
- if @workshop_requested_resource.errors.any?
#error_explanation
%h2= "#{pluralize(@workshop_requested_resource.errors.count, "error")} prohibited this workshop_requested_resource from being saved:"
%ul
- @workshop_requested_resource.errors.full_messages.each do |msg|
%li= msg
.field
= f.label :workshop_id
= f.number_field :workshop_id
.field
= f.label :workshop_resource_id
= f.number_field :workshop_resource_id
.field
= f.label :status
= f.text_field :status
.actions
= f.submit 'Save'

7
app/views/workshop_requested_resources/edit.html.haml

@ -1,7 +0,0 @@
%h1 Editing workshop_requested_resource
= render 'form'
= link_to 'Show', @workshop_requested_resource
\|
= link_to 'Back', workshop_requested_resources_path

23
app/views/workshop_requested_resources/index.html.haml

@ -1,23 +0,0 @@
%h1 Listing workshop_requested_resources
%table
%tr
%th Workshop
%th Workshop resource
%th Status
%th
%th
%th
- @workshop_requested_resources.each do |workshop_requested_resource|
%tr
%td= workshop_requested_resource.workshop_id
%td= workshop_requested_resource.workshop_resource_id
%td= workshop_requested_resource.status
%td= link_to 'Show', workshop_requested_resource
%td= link_to 'Edit', edit_workshop_requested_resource_path(workshop_requested_resource)
%td= link_to 'Destroy', workshop_requested_resource, :method => :delete, :data => { :confirm => 'Are you sure?' }
%br
= link_to 'New Workshop requested resource', new_workshop_requested_resource_path

5
app/views/workshop_requested_resources/new.html.haml

@ -1,5 +0,0 @@
%h1 New workshop_requested_resource
= render 'form'
= link_to 'Back', workshop_requested_resources_path

15
app/views/workshop_requested_resources/show.html.haml

@ -1,15 +0,0 @@
%p#notice= notice
%p
%b Workshop:
= @workshop_requested_resource.workshop_id
%p
%b Workshop resource:
= @workshop_requested_resource.workshop_resource_id
%p
%b Status:
= @workshop_requested_resource.status
= link_to 'Edit', edit_workshop_requested_resource_path(@workshop_requested_resource)
\|
= link_to 'Back', workshop_requested_resources_path

19
app/views/workshop_resources/_form.html.haml

@ -1,19 +0,0 @@
= form_for @workshop_resource do |f|
- if @workshop_resource.errors.any?
#error_explanation
%h2= "#{pluralize(@workshop_resource.errors.count, "error")} prohibited this workshop_resource from being saved:"
%ul
- @workshop_resource.errors.full_messages.each do |msg|
%li= msg
.field
= f.label :name
= f.text_field :name
.field
= f.label :slug
= f.text_field :slug
.field
= f.label :info
= f.text_field :info
.actions
= f.submit 'Save'

7
app/views/workshop_resources/edit.html.haml

@ -1,7 +0,0 @@
%h1 Editing workshop_resource
= render 'form'
= link_to 'Show', @workshop_resource
\|
= link_to 'Back', workshop_resources_path

23
app/views/workshop_resources/index.html.haml

@ -1,23 +0,0 @@
%h1 Listing workshop_resources
%table
%tr
%th Name
%th Slug
%th Info
%th
%th
%th
- @workshop_resources.each do |workshop_resource|
%tr
%td= workshop_resource.name
%td= workshop_resource.slug
%td= workshop_resource.info
%td= link_to 'Show', workshop_resource
%td= link_to 'Edit', edit_workshop_resource_path(workshop_resource)
%td= link_to 'Destroy', workshop_resource, :method => :delete, :data => { :confirm => 'Are you sure?' }
%br
= link_to 'New Workshop resource', new_workshop_resource_path

5
app/views/workshop_resources/new.html.haml

@ -1,5 +0,0 @@
%h1 New workshop_resource
= render 'form'
= link_to 'Back', workshop_resources_path

15
app/views/workshop_resources/show.html.haml

@ -1,15 +0,0 @@
%p#notice= notice
%p
%b Name:
= @workshop_resource.name
%p
%b Slug:
= @workshop_resource.slug
%p
%b Info:
= @workshop_resource.info
= link_to 'Edit', edit_workshop_resource_path(@workshop_resource)
\|
= link_to 'Back', workshop_resources_path

19
app/views/workshop_streams/_form.html.haml

@ -1,19 +0,0 @@
= form_for @workshop_stream, html: {class: 'row'} do |f|
- if @workshop_stream.errors.any?
#error_explanation
%h2= "#{pluralize(@workshop_stream.errors.count, "error")} prohibited this workshop_stream from being saved:"
%ul
- @workshop_stream.errors.full_messages.each do |msg|
%li= msg
.field
= f.label :name
= f.text_field :name
.field
= f.label :slug
= f.text_field :slug
.field
= f.label :info
= f.text_field :info
.actions
= f.submit 'Save'

7
app/views/workshop_streams/edit.html.haml

@ -1,7 +0,0 @@
%h1 Editing workshop_stream
= render 'form'
= link_to 'Show', @workshop_stream
\|
= link_to 'Back', workshop_streams_path

23
app/views/workshop_streams/index.html.haml

@ -1,23 +0,0 @@
%h1 Listing workshop_streams
%table
%tr
%th Name
%th Slug
%th Info
%th
%th
%th
- @workshop_streams.each do |workshop_stream|
%tr
%td= workshop_stream.name
%td= workshop_stream.slug
%td= workshop_stream.info
%td= link_to 'Show', workshop_stream
%td= link_to 'Edit', edit_workshop_stream_path(workshop_stream)
%td= link_to 'Destroy', workshop_stream, :method => :delete, :data => { :confirm => 'Are you sure?' }
%br
= link_to 'New Workshop stream', new_workshop_stream_path

5
app/views/workshop_streams/new.html.haml

@ -1,5 +0,0 @@
- banner_title 'New workshop_stream'
= render 'form'
= link_to 'Back', workshop_streams_path

15
app/views/workshop_streams/show.html.haml

@ -1,15 +0,0 @@
%p#notice= notice
%p
%b Name:
= @workshop_stream.name
%p
%b Slug:
= @workshop_stream.slug
%p
%b Info:
= @workshop_stream.info
= link_to 'Edit', edit_workshop_stream_path(@workshop_stream)
\|
= link_to 'Back', workshop_streams_path

8
app/views/workshops/show.html.haml

@ -3,6 +3,14 @@
= row do
= columns(medium: 12) do
%h2=_!@workshop.title
.workshop-interest
- if @workshop.interested?(current_user)
=_'articles.workshops.info.you_are_interested_count', "You and #{@workshop.interested_count - 1} others are interested in this workshop", :vars => {:count => (@workshop.interested_count - 1)}
- else
=_'articles.workshops.info.interested_count', "#{@workshop.interested_count} people are interested in this workshop", :vars => {:count => @workshop.interested_count}
- if @workshop.can_show_interest?(current_user)
= form_tag toggle_workshop_interest_path(@this_conference.slug, @workshop.id) do
= button_tag (@workshop.interested?(current_user) ? :remove_interest : :show_interest), :value => :toggle_interest, :class => (@workshop.interested?(current_user) ? 'delete' : 'add')
=markdown _!(@workshop.info) || ''
= columns(medium: 6) do
%h3=_'articles.workshops.headings.facilitators'

145
config/locales/data/html_records/Be-the-first-to-like-a-workshop--.html

@ -0,0 +1,145 @@
<!DOCTYPE html><html lang="en"><head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" name="viewport">
<title>Bike!Bike!</title>
<meta content="Bike!Bike! A conference for bike collectives, co-ops, non-profit DIY bike shops" name="description">
<link href="/assets/application/safari-7.css" rel="stylesheet" media="all" type="text/css"><link href="/assets/web-fonts/safari-7.css" rel="stylesheet" media="all" type="text/css">
<link href="/assets/favicon.ico" rel="shortcut icon" type="image/x-icon">
<link href="/assets/favicon.ico" rel="icon" type="image/x-icon">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/apple-touch-icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
<link href="/apple-touch-icon-114x114.png" rel="apple-touch-icon" sizes="114x114">
<link href="/apple-touch-icon-144x144.png" rel="apple-touch-icon" sizes="144x144">
</head>
<body class="home">
<nav>
<div id="main-nav">
<div class="inner-nav">
<a class="logo" href="/"><img src="/assets/bb-icon-logo.png" class="sprite icons bb-icon-logo">
<img src="/assets/bb-icon-logo-text.png" class="sprite icons bb-icon-logo-text">
</a><div class="nav">
<a class="current" href="/"><span>My Bike!Bike!</span></a>
<a href="/about/"><span><span class="translated-content" data-i18n-key="page_titles.About_BikeBike" data-i18n-needs-translation="0">About Bike!Bike!</span></span></a>
<a href="/policy/"><span><span class="translated-content" data-i18n-key="page_titles.Safe_Space_Policy" data-i18n-needs-translation="0">Safer Space Agreement</span></span></a>
</div>
<div class="actions">
<a class="button register" href="/conferences/MyBikeBike/register/"><span class="translated-content" data-i18n-key="conference.actions.Register" data-i18n-needs-translation="0">Register</span>
</a><form class="logout" action="/logout/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<input type="hidden" name="url" id="url" value="/">
<span class="translated-content" data-i18n-key="forms.actions.generic.Log_out" data-i18n-needs-translation="0"><button name="button" type="submit">Sign out</button></span>
</form>
</div>
</div>
</div>
</nav>
<main id="main">
<header id="banner">
<div id="header-title">
<div class="cover" style="background-image: url(/assets/default_cover.jpg)"></div>
<div class="title">
<h2 class="background">2015!</h2>
<div class="details">
<h3 class="primary">Guadalajara, Jalisco, Mexico</h3>
<div class="secondary">
August 14 – 18, 2015
</div>
</div>
</div>
</div>
<figure>
<img src="/assets/default_poster.jpg">
</figure>
</header>
<div id="content">
<article>
<h2>My Bike!Bike!</h2>
Curabitur non nulla sit amet nisl tempus convallis quis ac lectus.
<h3><span class="translated-content" data-i18n-key="articles.workshops.headings.Proposed_Workshops" data-i18n-needs-translation="0">Proposed Workshops</span></h3>
<p><span class="translated-content" data-i18n-key="articles.workshops.paragraphs.Proposed_Workshops" data-i18n-needs-translation="0">Would you like to facilitate your own workshop? Simply register and visit the workshops page. If you have already registered you can access the page by restarting the registration process.</span></p>
<ul class="workshop-list">
</ul>
</article>
</div>
</main>
<div id="footer">
<footer><div class="github">
<img src="/assets/bb-icon-github.png" class="sprite icons bb-icon-github">
<a href="https://github.com/bikebike/BikeBike/issues" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.File_an_Issue" data-i18n-needs-translation="0">File an issue</span>
</a>
|
<a href="https://github.com/bikebike/BikeBike/contributing.md" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.Help_contribute" data-i18n-needs-translation="0">Help contribute</span>
</a>
</div>
<div class="facebook">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.facebook" data-i18n-needs-translation="0"><a href="https://www.facebook.com/groups/648758205249998/" target="_blank" title="Join our Facebook group">
<img src="/assets/bb-icon-fb.png" class="sprite icons bb-icon-fb">
</a>
</span></div>
<div class="locale">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.select_language" data-i18n-needs-translation="0"><input id="select-language" type="checkbox">
<label class="launch" for="select-language" title="Change your language">
EN
</label>
<div class="selector">
<ul>
<li>
<a href="/">
EN
</a>
<span>English</span>
</li>
</ul>
</div>
</span></div>
<div class="copy">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.contributors" data-i18n-needs-translation="0"><a title="Contributors" href="/humans.txt">©2015 Bike!Bike!
</a></span></div>
</footer>
</div>
<script>
(function() {
if (!String.prototype.trim) {
(function() {
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
String.prototype.trim = function() {
return this.replace(rtrim, '');
};
})();
}
function classExists(elem,className){var p = new RegExp('(^| )'+className+'( |$)');return (elem.className && elem.className.match(p));}
function addClass(elem,className){if(classExists(elem,className)){return true;}elem.className += ' '+className;}
function removeClass(elem,className){var c = elem.className;var p = new RegExp('(^| )'+className+'( |$)');c = c.replace(p,' ').replace(/ /g,' ');elem.className = c.trim();}
[].slice.call(document.querySelectorAll('.input-field input')).forEach(function(inputEl) {
if (inputEl.value.trim() === '') {
inputEl.parentNode.className = inputEl.parentNode.className + ' empty';
}
inputEl.addEventListener('focus', onInputFocus);
inputEl.addEventListener('blur', onInputBlur);
});
function onInputFocus(ev) {
removeClass(ev.target.parentNode, 'empty')
}
function onInputBlur(ev) {
if (ev.target.value.trim() === '') {
addClass(ev.target.parentNode, 'empty');
}
}
})();
</script>
</body></html>

149
config/locales/data/html_records/Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1.html

@ -0,0 +1,149 @@
<!DOCTYPE html><html lang="en"><head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" name="viewport">
<title>Bike!Bike!</title>
<meta content="Bike!Bike! A conference for bike collectives, co-ops, non-profit DIY bike shops" name="description">
<link href="/assets/application/safari-7.css" rel="stylesheet" media="all" type="text/css"><link href="/assets/web-fonts/safari-7.css" rel="stylesheet" media="all" type="text/css">
<link href="/assets/favicon.ico" rel="shortcut icon" type="image/x-icon">
<link href="/assets/favicon.ico" rel="icon" type="image/x-icon">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/apple-touch-icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
<link href="/apple-touch-icon-114x114.png" rel="apple-touch-icon" sizes="114x114">
<link href="/apple-touch-icon-144x144.png" rel="apple-touch-icon" sizes="144x144">
</head>
<body class="conferences conferences-view_workshop">
<nav>
<div id="main-nav">
<div class="inner-nav">
<a class="logo" href="/"><img src="/assets/bb-icon-logo.png" class="sprite icons bb-icon-logo">
<img src="/assets/bb-icon-logo-text.png" class="sprite icons bb-icon-logo-text">
</a><div class="nav">
<a href="/"><span>My Bike!Bike!</span></a>
<a href="/about/"><span><span class="translated-content" data-i18n-key="page_titles.About_BikeBike" data-i18n-needs-translation="0">About Bike!Bike!</span></span></a>
<a href="/policy/"><span><span class="translated-content" data-i18n-key="page_titles.Safe_Space_Policy" data-i18n-needs-translation="0">Safer Space Agreement</span></span></a>
</div>
<div class="actions">
<form class="logout" action="/logout/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<input type="hidden" name="url" id="url" value="/conferences/MyBikeBike/workshops/1">
<span class="translated-content" data-i18n-key="forms.actions.generic.Log_out" data-i18n-needs-translation="0"><button name="button" type="submit">Sign out</button></span>
</form>
</div>
</div>
</div>
</nav>
<main id="main">
<header id="banner">
<div class="short" id="header-title" style="background-image: url(/assets/empty-racks.jpg)">
<h1><span class="translated-content" data-i18n-key="page_titles.conferences.View_Workshop" data-i18n-needs-translation="0">View Workshop</span></h1>
</div>
</header>
<div class="row"><div class="columns medium-12"><nav class="sub-menu">
<a href="/conferences/MyBikeBike/register/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Registration" data-i18n-needs-translation="0">Registration</span></a>
<a class="current" href="/conferences/MyBikeBike/workshops/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Workshops" data-i18n-needs-translation="0">Workshops</span></a>
</nav>
</div></div><div id="content">
<article>
<div class="row"><div class="columns medium-12"><h2>Nullam Porttitor Lacus At Turpis</h2>
<div class="workshop-interest">
<span class="translated-content" data-i18n-key="articles.workshops.info.you_are_interested_count" data-i18n-needs-translation="0">You are interested in this workshop</span>
<form action="/conferences/MyBikeBike/workshops/1/toggle-interest/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<span class="translated-content" data-i18n-key="forms.actions.generic.remove_interest" data-i18n-needs-translation="0"><button name="button" type="submit" value="toggle_interest" class="delete">-1</button></span>
</form>
</div>
<p>Aenean fermentum. Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.</p>
</div><div class="columns medium-6"><h3><span class="translated-content" data-i18n-key="articles.workshops.headings.facilitators" data-i18n-needs-translation="0">Facilitators</span></h3>
<div class="facilitators">
</div>
</div><div class="columns medium-12"><div class="actions">
</div>
</div></div></article>
</div>
</main>
<div id="footer">
<footer><div class="github">
<img src="/assets/bb-icon-github.png" class="sprite icons bb-icon-github">
<a href="https://github.com/bikebike/BikeBike/issues" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.File_an_Issue" data-i18n-needs-translation="0">File an issue</span>
</a>
|
<a href="https://github.com/bikebike/BikeBike/contributing.md" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.Help_contribute" data-i18n-needs-translation="0">Help contribute</span>
</a>
</div>
<div class="facebook">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.facebook" data-i18n-needs-translation="0"><a href="https://www.facebook.com/groups/648758205249998/" target="_blank" title="Join our Facebook group">
<img src="/assets/bb-icon-fb.png" class="sprite icons bb-icon-fb">
</a>
</span></div>
<div class="locale">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.select_language" data-i18n-needs-translation="0"><input id="select-language" type="checkbox">
<label class="launch" for="select-language" title="Change your language">
EN
</label>
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/1/">
EN
</a>
<span>English</span>
</li>
</ul>
</div>
</span></div>
<div class="copy">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.contributors" data-i18n-needs-translation="0"><a title="Contributors" href="/humans.txt">©2015 Bike!Bike!
</a></span></div>
</footer>
</div>
<script>
(function() {
if (!String.prototype.trim) {
(function() {
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
String.prototype.trim = function() {
return this.replace(rtrim, '');
};
})();
}
function classExists(elem,className){var p = new RegExp('(^| )'+className+'( |$)');return (elem.className && elem.className.match(p));}
function addClass(elem,className){if(classExists(elem,className)){return true;}elem.className += ' '+className;}
function removeClass(elem,className){var c = elem.className;var p = new RegExp('(^| )'+className+'( |$)');c = c.replace(p,' ').replace(/ /g,' ');elem.className = c.trim();}
[].slice.call(document.querySelectorAll('.input-field input')).forEach(function(inputEl) {
if (inputEl.value.trim() === '') {
inputEl.parentNode.className = inputEl.parentNode.className + ' empty';
}
inputEl.addEventListener('focus', onInputFocus);
inputEl.addEventListener('blur', onInputBlur);
});
function onInputFocus(ev) {
removeClass(ev.target.parentNode, 'empty')
}
function onInputBlur(ev) {
if (ev.target.value.trim() === '') {
addClass(ev.target.parentNode, 'empty');
}
}
})();
</script>
</body></html>

149
config/locales/data/html_records/Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2.html

@ -0,0 +1,149 @@
<!DOCTYPE html><html lang="en"><head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" name="viewport">
<title>Bike!Bike!</title>
<meta content="Bike!Bike! A conference for bike collectives, co-ops, non-profit DIY bike shops" name="description">
<link href="/assets/application/safari-7.css" rel="stylesheet" media="all" type="text/css"><link href="/assets/web-fonts/safari-7.css" rel="stylesheet" media="all" type="text/css">
<link href="/assets/favicon.ico" rel="shortcut icon" type="image/x-icon">
<link href="/assets/favicon.ico" rel="icon" type="image/x-icon">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/apple-touch-icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
<link href="/apple-touch-icon-114x114.png" rel="apple-touch-icon" sizes="114x114">
<link href="/apple-touch-icon-144x144.png" rel="apple-touch-icon" sizes="144x144">
</head>
<body class="conferences conferences-view_workshop">
<nav>
<div id="main-nav">
<div class="inner-nav">
<a class="logo" href="/"><img src="/assets/bb-icon-logo.png" class="sprite icons bb-icon-logo">
<img src="/assets/bb-icon-logo-text.png" class="sprite icons bb-icon-logo-text">
</a><div class="nav">
<a href="/"><span>My Bike!Bike!</span></a>
<a href="/about/"><span><span class="translated-content" data-i18n-key="page_titles.About_BikeBike" data-i18n-needs-translation="0">About Bike!Bike!</span></span></a>
<a href="/policy/"><span><span class="translated-content" data-i18n-key="page_titles.Safe_Space_Policy" data-i18n-needs-translation="0">Safer Space Agreement</span></span></a>
</div>
<div class="actions">
<form class="logout" action="/logout/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<input type="hidden" name="url" id="url" value="/conferences/MyBikeBike/workshops/1">
<span class="translated-content" data-i18n-key="forms.actions.generic.Log_out" data-i18n-needs-translation="0"><button name="button" type="submit">Sign out</button></span>
</form>
</div>
</div>
</div>
</nav>
<main id="main">
<header id="banner">
<div class="short" id="header-title" style="background-image: url(/assets/empty-racks.jpg)">
<h1><span class="translated-content" data-i18n-key="page_titles.conferences.View_Workshop" data-i18n-needs-translation="0">View Workshop</span></h1>
</div>
</header>
<div class="row"><div class="columns medium-12"><nav class="sub-menu">
<a href="/conferences/MyBikeBike/register/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Registration" data-i18n-needs-translation="0">Registration</span></a>
<a class="current" href="/conferences/MyBikeBike/workshops/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Workshops" data-i18n-needs-translation="0">Workshops</span></a>
</nav>
</div></div><div id="content">
<article>
<div class="row"><div class="columns medium-12"><h2>Nullam Porttitor Lacus At Turpis</h2>
<div class="workshop-interest">
<span class="translated-content" data-i18n-key="articles.workshops.info.interested_count" data-i18n-needs-translation="0">No one is interested in this workshop yet</span>
<form action="/conferences/MyBikeBike/workshops/1/toggle-interest/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<span class="translated-content" data-i18n-key="forms.actions.generic.show_interest" data-i18n-needs-translation="0"><button name="button" type="submit" value="toggle_interest" class="add">+1</button></span>
</form>
</div>
<p>Aenean fermentum. Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.</p>
</div><div class="columns medium-6"><h3><span class="translated-content" data-i18n-key="articles.workshops.headings.facilitators" data-i18n-needs-translation="0">Facilitators</span></h3>
<div class="facilitators">
</div>
</div><div class="columns medium-12"><div class="actions">
</div>
</div></div></article>
</div>
</main>
<div id="footer">
<footer><div class="github">
<img src="/assets/bb-icon-github.png" class="sprite icons bb-icon-github">
<a href="https://github.com/bikebike/BikeBike/issues" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.File_an_Issue" data-i18n-needs-translation="0">File an issue</span>
</a>
|
<a href="https://github.com/bikebike/BikeBike/contributing.md" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.Help_contribute" data-i18n-needs-translation="0">Help contribute</span>
</a>
</div>
<div class="facebook">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.facebook" data-i18n-needs-translation="0"><a href="https://www.facebook.com/groups/648758205249998/" target="_blank" title="Join our Facebook group">
<img src="/assets/bb-icon-fb.png" class="sprite icons bb-icon-fb">
</a>
</span></div>
<div class="locale">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.select_language" data-i18n-needs-translation="0"><input id="select-language" type="checkbox">
<label class="launch" for="select-language" title="Change your language">
EN
</label>
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/1/">
EN
</a>
<span>English</span>
</li>
</ul>
</div>
</span></div>
<div class="copy">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.contributors" data-i18n-needs-translation="0"><a title="Contributors" href="/humans.txt">©2015 Bike!Bike!
</a></span></div>
</footer>
</div>
<script>
(function() {
if (!String.prototype.trim) {
(function() {
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
String.prototype.trim = function() {
return this.replace(rtrim, '');
};
})();
}
function classExists(elem,className){var p = new RegExp('(^| )'+className+'( |$)');return (elem.className && elem.className.match(p));}
function addClass(elem,className){if(classExists(elem,className)){return true;}elem.className += ' '+className;}
function removeClass(elem,className){var c = elem.className;var p = new RegExp('(^| )'+className+'( |$)');c = c.replace(p,' ').replace(/ /g,' ');elem.className = c.trim();}
[].slice.call(document.querySelectorAll('.input-field input')).forEach(function(inputEl) {
if (inputEl.value.trim() === '') {
inputEl.parentNode.className = inputEl.parentNode.className + ' empty';
}
inputEl.addEventListener('focus', onInputFocus);
inputEl.addEventListener('blur', onInputBlur);
});
function onInputFocus(ev) {
removeClass(ev.target.parentNode, 'empty')
}
function onInputBlur(ev) {
if (ev.target.value.trim() === '') {
addClass(ev.target.parentNode, 'empty');
}
}
})();
</script>
</body></html>

149
config/locales/data/html_records/Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1.html

@ -0,0 +1,149 @@
<!DOCTYPE html><html lang="en"><head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" name="viewport">
<title>Bike!Bike!</title>
<meta content="Bike!Bike! A conference for bike collectives, co-ops, non-profit DIY bike shops" name="description">
<link href="/assets/application/safari-7.css" rel="stylesheet" media="all" type="text/css"><link href="/assets/web-fonts/safari-7.css" rel="stylesheet" media="all" type="text/css">
<link href="/assets/favicon.ico" rel="shortcut icon" type="image/x-icon">
<link href="/assets/favicon.ico" rel="icon" type="image/x-icon">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/apple-touch-icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
<link href="/apple-touch-icon-114x114.png" rel="apple-touch-icon" sizes="114x114">
<link href="/apple-touch-icon-144x144.png" rel="apple-touch-icon" sizes="144x144">
</head>
<body class="conferences conferences-view_workshop">
<nav>
<div id="main-nav">
<div class="inner-nav">
<a class="logo" href="/"><img src="/assets/bb-icon-logo.png" class="sprite icons bb-icon-logo">
<img src="/assets/bb-icon-logo-text.png" class="sprite icons bb-icon-logo-text">
</a><div class="nav">
<a href="/"><span>My Bike!Bike!</span></a>
<a href="/about/"><span><span class="translated-content" data-i18n-key="page_titles.About_BikeBike" data-i18n-needs-translation="0">About Bike!Bike!</span></span></a>
<a href="/policy/"><span><span class="translated-content" data-i18n-key="page_titles.Safe_Space_Policy" data-i18n-needs-translation="0">Safer Space Agreement</span></span></a>
</div>
<div class="actions">
<form class="logout" action="/logout/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<input type="hidden" name="url" id="url" value="/conferences/MyBikeBike/workshops/1">
<span class="translated-content" data-i18n-key="forms.actions.generic.Log_out" data-i18n-needs-translation="0"><button name="button" type="submit">Sign out</button></span>
</form>
</div>
</div>
</div>
</nav>
<main id="main">
<header id="banner">
<div class="short" id="header-title" style="background-image: url(/assets/empty-racks.jpg)">
<h1><span class="translated-content" data-i18n-key="page_titles.conferences.View_Workshop" data-i18n-needs-translation="0">View Workshop</span></h1>
</div>
</header>
<div class="row"><div class="columns medium-12"><nav class="sub-menu">
<a href="/conferences/MyBikeBike/register/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Registration" data-i18n-needs-translation="0">Registration</span></a>
<a class="current" href="/conferences/MyBikeBike/workshops/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Workshops" data-i18n-needs-translation="0">Workshops</span></a>
</nav>
</div></div><div id="content">
<article>
<div class="row"><div class="columns medium-12"><h2>Nullam Porttitor Lacus At Turpis</h2>
<div class="workshop-interest">
<span class="translated-content" data-i18n-key="articles.workshops.info.interested_count" data-i18n-needs-translation="0">No one is interested in this workshop yet</span>
<form action="/conferences/MyBikeBike/workshops/1/toggle-interest/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<span class="translated-content" data-i18n-key="forms.actions.generic.show_interest" data-i18n-needs-translation="0"><button name="button" type="submit" value="toggle_interest" class="add">+1</button></span>
</form>
</div>
<p>Aenean fermentum. Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.</p>
</div><div class="columns medium-6"><h3><span class="translated-content" data-i18n-key="articles.workshops.headings.facilitators" data-i18n-needs-translation="0">Facilitators</span></h3>
<div class="facilitators">
</div>
</div><div class="columns medium-12"><div class="actions">
</div>
</div></div></article>
</div>
</main>
<div id="footer">
<footer><div class="github">
<img src="/assets/bb-icon-github.png" class="sprite icons bb-icon-github">
<a href="https://github.com/bikebike/BikeBike/issues" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.File_an_Issue" data-i18n-needs-translation="0">File an issue</span>
</a>
|
<a href="https://github.com/bikebike/BikeBike/contributing.md" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.Help_contribute" data-i18n-needs-translation="0">Help contribute</span>
</a>
</div>
<div class="facebook">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.facebook" data-i18n-needs-translation="0"><a href="https://www.facebook.com/groups/648758205249998/" target="_blank" title="Join our Facebook group">
<img src="/assets/bb-icon-fb.png" class="sprite icons bb-icon-fb">
</a>
</span></div>
<div class="locale">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.select_language" data-i18n-needs-translation="0"><input id="select-language" type="checkbox">
<label class="launch" for="select-language" title="Change your language">
EN
</label>
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/1">
EN
</a>
<span>English</span>
</li>
</ul>
</div>
</span></div>
<div class="copy">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.contributors" data-i18n-needs-translation="0"><a title="Contributors" href="/humans.txt">©2015 Bike!Bike!
</a></span></div>
</footer>
</div>
<script>
(function() {
if (!String.prototype.trim) {
(function() {
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
String.prototype.trim = function() {
return this.replace(rtrim, '');
};
})();
}
function classExists(elem,className){var p = new RegExp('(^| )'+className+'( |$)');return (elem.className && elem.className.match(p));}
function addClass(elem,className){if(classExists(elem,className)){return true;}elem.className += ' '+className;}
function removeClass(elem,className){var c = elem.className;var p = new RegExp('(^| )'+className+'( |$)');c = c.replace(p,' ').replace(/ /g,' ');elem.className = c.trim();}
[].slice.call(document.querySelectorAll('.input-field input')).forEach(function(inputEl) {
if (inputEl.value.trim() === '') {
inputEl.parentNode.className = inputEl.parentNode.className + ' empty';
}
inputEl.addEventListener('focus', onInputFocus);
inputEl.addEventListener('blur', onInputBlur);
});
function onInputFocus(ev) {
removeClass(ev.target.parentNode, 'empty')
}
function onInputBlur(ev) {
if (ev.target.value.trim() === '') {
addClass(ev.target.parentNode, 'empty');
}
}
})();
</script>
</body></html>

147
config/locales/data/html_records/Be-the-first-to-like-a-workshop--confirm.test.html

@ -0,0 +1,147 @@
<!DOCTYPE html><html lang="en"><head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" name="viewport">
<title>Bike!Bike!</title>
<meta content="Bike!Bike! A conference for bike collectives, co-ops, non-profit DIY bike shops" name="description">
<link href="/assets/application/safari-7.css" rel="stylesheet" media="all" type="text/css"><link href="/assets/web-fonts/safari-7.css" rel="stylesheet" media="all" type="text/css">
<link href="/assets/favicon.ico" rel="shortcut icon" type="image/x-icon">
<link href="/assets/favicon.ico" rel="icon" type="image/x-icon">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/apple-touch-icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
<link href="/apple-touch-icon-114x114.png" rel="apple-touch-icon" sizes="114x114">
<link href="/apple-touch-icon-144x144.png" rel="apple-touch-icon" sizes="144x144">
</head>
<body class="confirm">
<nav>
<div id="main-nav">
<div class="inner-nav">
<a class="logo" href="/"><img src="/assets/bb-icon-logo.png" class="sprite icons bb-icon-logo">
<img src="/assets/bb-icon-logo-text.png" class="sprite icons bb-icon-logo-text">
</a><div class="nav">
<a href="/"><span>My Bike!Bike!</span></a>
<a href="/about/"><span><span class="translated-content" data-i18n-key="page_titles.About_BikeBike" data-i18n-needs-translation="0">About Bike!Bike!</span></span></a>
<a href="/policy/"><span><span class="translated-content" data-i18n-key="page_titles.Safe_Space_Policy" data-i18n-needs-translation="0">Safer Space Agreement</span></span></a>
</div>
<div class="actions">
<a class="button register" href="/conferences/MyBikeBike/register/"><span class="translated-content" data-i18n-key="conference.actions.Register" data-i18n-needs-translation="0">Register</span>
</a></div>
</div>
</div>
</nav>
<main id="main">
<header id="banner">
<div class="short" id="header-title">
<svg>
<defs>
<filter id="saturate">
<feColorMatrix in="SourceGraphic" type="saturate" values=".25" result="A"></feColorMatrix>
</filter>
<image x="0" y="0" width="100%" height="100%" xlink:href="/assets/grafitti.jpg" id="banner-image" preserveAspectRatio="xMidYMid slice" filter="url(#saturate)"></image>
<filter id="banner-img" x="0" y="0" width="1" height="1">
<feImage xlink:href="#banner-image" result="banner-image"></feImage>
<feBlend mode="multiply" in="banner-image" in2="SourceGraphic"></feBlend>
</filter>
</defs>
<rect x="0" y="0" width="100%" height="100%" filter="url(#banner-img)"></rect>
</svg>
<h1><span class="translated-content" data-i18n-key="page_titles.403.Please_Confirm_Email" data-i18n-needs-translation="0">Please confirm your email</span></h1>
</div>
</header>
<div id="content"><article>
<div class="row"><div class="columns medium-12"><h2><span class="translated-content" data-i18n-key="articles.permission_denied.headings.confirm_email" data-i18n-needs-translation="0">Please confirm your email address</span></h2>
</div><div class="columns medium-6 large-5"><form action="/doconfirm/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<div class="email-field input-field">
<input type="email" name="email" id="email" required="required">
<label for="email"><span class="translated-content" data-i18n-key="forms.labels.generic.email" data-i18n-needs-translation="0">Email address</span></label>
</div>
<input type="hidden" name="token" id="token" value="test">
<span class="translated-content" data-i18n-key="forms.actions.generic.login" data-i18n-needs-translation="0"><button name="button" type="submit">Sign In</button></span>
</form>
</div></div>
</article>
</div>
</main>
<div id="footer">
<footer><div class="github">
<img src="/assets/bb-icon-github.png" class="sprite icons bb-icon-github">
<a href="https://github.com/bikebike/BikeBike/issues" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.File_an_Issue" data-i18n-needs-translation="0">File an issue</span>
</a>
|
<a href="https://github.com/bikebike/BikeBike/contributing.md" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.Help_contribute" data-i18n-needs-translation="0">Help contribute</span>
</a>
</div>
<div class="facebook">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.facebook" data-i18n-needs-translation="0"><a href="https://www.facebook.com/groups/648758205249998/" target="_blank" title="Join our Facebook group">
<img src="/assets/bb-icon-fb.png" class="sprite icons bb-icon-fb">
</a>
</span></div>
<div class="locale">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.select_language" data-i18n-needs-translation="0"><input id="select-language" type="checkbox">
<label class="launch" for="select-language" title="Change your language">
EN
</label>
<div class="selector">
<ul>
<li>
<a href="/confirm/test">
EN
</a>
<span>English</span>
</li>
</ul>
</div>
</span></div>
<div class="copy">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.contributors" data-i18n-needs-translation="0"><a title="Contributors" href="/humans.txt">©2015 Bike!Bike!
</a></span></div>
</footer>
</div>
<script>
(function() {
if (!String.prototype.trim) {
(function() {
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
String.prototype.trim = function() {
return this.replace(rtrim, '');
};
})();
}
function classExists(elem,className){var p = new RegExp('(^| )'+className+'( |$)');return (elem.className && elem.className.match(p));}
function addClass(elem,className){if(classExists(elem,className)){return true;}elem.className += ' '+className;}
function removeClass(elem,className){var c = elem.className;var p = new RegExp('(^| )'+className+'( |$)');c = c.replace(p,' ').replace(/ /g,' ');elem.className = c.trim();}
[].slice.call(document.querySelectorAll('.input-field input')).forEach(function(inputEl) {
if (inputEl.value.trim() === '') {
inputEl.parentNode.className = inputEl.parentNode.className + ' empty';
}
inputEl.addEventListener('focus', onInputFocus);
inputEl.addEventListener('blur', onInputBlur);
});
function onInputFocus(ev) {
removeClass(ev.target.parentNode, 'empty')
}
function onInputBlur(ev) {
if (ev.target.value.trim() === '') {
addClass(ev.target.parentNode, 'empty');
}
}
})();
</script>
</body></html>

4
config/locales/data/html_records/Broadcast-message--.html

@ -60,8 +60,8 @@ August 14 – 18, 2015
<article>
<h2>My Bike!Bike!</h2>
Curabitur non nulla sit amet nisl tempus convallis quis ac lectus.
<h3><span class="translated-content" data-i18n-key="acticles.conferences.headings.Proposed_Workshops" data-i18n-needs-translation="1">Proposed Workshops</span></h3>
<p><span class="translated-content" data-i18n-key="acticles.conferences.paragraphs.Proposed_Workshops" data-i18n-needs-translation="1">Would you like to facilitate your own workshop? Simply register and visit the workshops page. If you have already registered you can access the page by restarting the registration process.</span></p>
<h3><span class="translated-content" data-i18n-key="articles.workshops.headings.Proposed_Workshops" data-i18n-needs-translation="0">Proposed Workshops</span></h3>
<p><span class="translated-content" data-i18n-key="articles.workshops.paragraphs.Proposed_Workshops" data-i18n-needs-translation="0">Would you like to facilitate your own workshop? Simply register and visit the workshops page. If you have already registered you can access the page by restarting the registration process.</span></p>
<ul class="workshop-list">
</ul>
</article>

4
config/locales/data/html_records/Broadcast-message--conferences.MyBikeBike.broadcast.html

@ -78,7 +78,7 @@
<table align='center' border='0' cellpadding='0' cellspacing='0'>
<tr>
<td colspan='2' style='text-align: center' valign='top'>
<img class='image_fix' src='http://127.0.0.1:62230'>
<img class='image_fix' src='http://127.0.0.1:49162'>
</td>
</tr>
<tr>
@ -94,7 +94,7 @@
<img class='image_fix' src='/assets/bblogo-paypal'>
</td>
<td style='width: 50%; text-align: left'>
<a href='http://127.0.0.1:62230'>&copy; Bike!Bike! 2015</a>
<a href='http://127.0.0.1:49162'>&copy; Bike!Bike! 2015</a>
</td>
</tr>
<tr>

4
config/locales/data/html_records/Create-workshop--.html

@ -60,8 +60,8 @@ August 14 – 18, 2015
<article>
<h2>My Bike!Bike!</h2>
Curabitur non nulla sit amet nisl tempus convallis quis ac lectus.
<h3><span class="translated-content" data-i18n-key="acticles.conferences.headings.Proposed_Workshops" data-i18n-needs-translation="1">Proposed Workshops</span></h3>
<p><span class="translated-content" data-i18n-key="acticles.conferences.paragraphs.Proposed_Workshops" data-i18n-needs-translation="1">Would you like to facilitate your own workshop? Simply register and visit the workshops page. If you have already registered you can access the page by restarting the registration process.</span></p>
<h3><span class="translated-content" data-i18n-key="articles.workshops.headings.Proposed_Workshops" data-i18n-needs-translation="0">Proposed Workshops</span></h3>
<p><span class="translated-content" data-i18n-key="articles.workshops.paragraphs.Proposed_Workshops" data-i18n-needs-translation="0">Would you like to facilitate your own workshop? Simply register and visit the workshops page. If you have already registered you can access the page by restarting the registration process.</span></p>
<ul class="workshop-list">
</ul>
</article>

3
config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1-1.html

@ -52,6 +52,9 @@
<article>
<div class="row"><div class="columns medium-12"><h2>My Workshop Title</h2>
<div class="workshop-interest">
<span class="translated-content" data-i18n-key="articles.workshops.info.interested_count" data-i18n-needs-translation="0">No one is interested in this workshop yet</span>
</div>
<p>Lorem Ipsum</p>
</div><div class="columns medium-6"><h3><span class="translated-content" data-i18n-key="articles.workshops.headings.facilitators" data-i18n-needs-translation="0">Facilitators</span></h3>

3
config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1-2.html

@ -52,6 +52,9 @@
<article>
<div class="row"><div class="columns medium-12"><h2>Super Awesome Workshop</h2>
<div class="workshop-interest">
<span class="translated-content" data-i18n-key="articles.workshops.info.interested_count" data-i18n-needs-translation="0">No one is interested in this workshop yet</span>
</div>
<p>Lorem Ipsum</p>
</div><div class="columns medium-6"><h3><span class="translated-content" data-i18n-key="articles.workshops.headings.facilitators" data-i18n-needs-translation="0">Facilitators</span></h3>

3
config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1-3.html

@ -52,6 +52,9 @@
<article>
<div class="row"><div class="columns medium-12"><h2>Super Awesome Workshop</h2>
<div class="workshop-interest">
<span class="translated-content" data-i18n-key="articles.workshops.info.interested_count" data-i18n-needs-translation="0">No one is interested in this workshop yet</span>
</div>
<p>Lorem Ipsum</p>
</div><div class="columns medium-6"><h3><span class="translated-content" data-i18n-key="articles.workshops.headings.facilitators" data-i18n-needs-translation="0">Facilitators</span></h3>

3
config/locales/data/html_records/Create-workshop--conferences.MyBikeBike.workshops.1.html

@ -52,6 +52,9 @@
<article>
<div class="row"><div class="columns medium-12"><h2>My Workshop Title</h2>
<div class="workshop-interest">
<span class="translated-content" data-i18n-key="articles.workshops.info.interested_count" data-i18n-needs-translation="0">No one is interested in this workshop yet</span>
</div>
<p>Lorem Ipsum</p>
</div><div class="columns medium-6"><h3><span class="translated-content" data-i18n-key="articles.workshops.headings.facilitators" data-i18n-needs-translation="0">Facilitators</span></h3>

145
config/locales/data/html_records/Like-a-workshop--.html

@ -0,0 +1,145 @@
<!DOCTYPE html><html lang="en"><head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" name="viewport">
<title>Bike!Bike!</title>
<meta content="Bike!Bike! A conference for bike collectives, co-ops, non-profit DIY bike shops" name="description">
<link href="/assets/application/safari-7.css" rel="stylesheet" media="all" type="text/css"><link href="/assets/web-fonts/safari-7.css" rel="stylesheet" media="all" type="text/css">
<link href="/assets/favicon.ico" rel="shortcut icon" type="image/x-icon">
<link href="/assets/favicon.ico" rel="icon" type="image/x-icon">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/apple-touch-icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
<link href="/apple-touch-icon-114x114.png" rel="apple-touch-icon" sizes="114x114">
<link href="/apple-touch-icon-144x144.png" rel="apple-touch-icon" sizes="144x144">
</head>
<body class="home">
<nav>
<div id="main-nav">
<div class="inner-nav">
<a class="logo" href="/"><img src="/assets/bb-icon-logo.png" class="sprite icons bb-icon-logo">
<img src="/assets/bb-icon-logo-text.png" class="sprite icons bb-icon-logo-text">
</a><div class="nav">
<a class="current" href="/"><span>My Bike!Bike!</span></a>
<a href="/about/"><span><span class="translated-content" data-i18n-key="page_titles.About_BikeBike" data-i18n-needs-translation="0">About Bike!Bike!</span></span></a>
<a href="/policy/"><span><span class="translated-content" data-i18n-key="page_titles.Safe_Space_Policy" data-i18n-needs-translation="0">Safer Space Agreement</span></span></a>
</div>
<div class="actions">
<a class="button register" href="/conferences/MyBikeBike/register/"><span class="translated-content" data-i18n-key="conference.actions.Register" data-i18n-needs-translation="0">Register</span>
</a><form class="logout" action="/logout/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<input type="hidden" name="url" id="url" value="/">
<span class="translated-content" data-i18n-key="forms.actions.generic.Log_out" data-i18n-needs-translation="0"><button name="button" type="submit">Sign out</button></span>
</form>
</div>
</div>
</div>
</nav>
<main id="main">
<header id="banner">
<div id="header-title">
<div class="cover" style="background-image: url(/assets/default_cover.jpg)"></div>
<div class="title">
<h2 class="background">2015!</h2>
<div class="details">
<h3 class="primary">Guadalajara, Jalisco, Mexico</h3>
<div class="secondary">
August 14 – 18, 2015
</div>
</div>
</div>
</div>
<figure>
<img src="/assets/default_poster.jpg">
</figure>
</header>
<div id="content">
<article>
<h2>My Bike!Bike!</h2>
Curabitur non nulla sit amet nisl tempus convallis quis ac lectus.
<h3><span class="translated-content" data-i18n-key="articles.workshops.headings.Proposed_Workshops" data-i18n-needs-translation="0">Proposed Workshops</span></h3>
<p><span class="translated-content" data-i18n-key="articles.workshops.paragraphs.Proposed_Workshops" data-i18n-needs-translation="0">Would you like to facilitate your own workshop? Simply register and visit the workshops page. If you have already registered you can access the page by restarting the registration process.</span></p>
<ul class="workshop-list">
</ul>
</article>
</div>
</main>
<div id="footer">
<footer><div class="github">
<img src="/assets/bb-icon-github.png" class="sprite icons bb-icon-github">
<a href="https://github.com/bikebike/BikeBike/issues" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.File_an_Issue" data-i18n-needs-translation="0">File an issue</span>
</a>
|
<a href="https://github.com/bikebike/BikeBike/contributing.md" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.Help_contribute" data-i18n-needs-translation="0">Help contribute</span>
</a>
</div>
<div class="facebook">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.facebook" data-i18n-needs-translation="0"><a href="https://www.facebook.com/groups/648758205249998/" target="_blank" title="Join our Facebook group">
<img src="/assets/bb-icon-fb.png" class="sprite icons bb-icon-fb">
</a>
</span></div>
<div class="locale">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.select_language" data-i18n-needs-translation="0"><input id="select-language" type="checkbox">
<label class="launch" for="select-language" title="Change your language">
EN
</label>
<div class="selector">
<ul>
<li>
<a href="/">
EN
</a>
<span>English</span>
</li>
</ul>
</div>
</span></div>
<div class="copy">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.contributors" data-i18n-needs-translation="0"><a title="Contributors" href="/humans.txt">©2015 Bike!Bike!
</a></span></div>
</footer>
</div>
<script>
(function() {
if (!String.prototype.trim) {
(function() {
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
String.prototype.trim = function() {
return this.replace(rtrim, '');
};
})();
}
function classExists(elem,className){var p = new RegExp('(^| )'+className+'( |$)');return (elem.className && elem.className.match(p));}
function addClass(elem,className){if(classExists(elem,className)){return true;}elem.className += ' '+className;}
function removeClass(elem,className){var c = elem.className;var p = new RegExp('(^| )'+className+'( |$)');c = c.replace(p,' ').replace(/ /g,' ');elem.className = c.trim();}
[].slice.call(document.querySelectorAll('.input-field input')).forEach(function(inputEl) {
if (inputEl.value.trim() === '') {
inputEl.parentNode.className = inputEl.parentNode.className + ' empty';
}
inputEl.addEventListener('focus', onInputFocus);
inputEl.addEventListener('blur', onInputBlur);
});
function onInputFocus(ev) {
removeClass(ev.target.parentNode, 'empty')
}
function onInputBlur(ev) {
if (ev.target.value.trim() === '') {
addClass(ev.target.parentNode, 'empty');
}
}
})();
</script>
</body></html>

149
config/locales/data/html_records/Like-a-workshop--conferences.MyBikeBike.workshops.1-1.html

@ -0,0 +1,149 @@
<!DOCTYPE html><html lang="en"><head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" name="viewport">
<title>Bike!Bike!</title>
<meta content="Bike!Bike! A conference for bike collectives, co-ops, non-profit DIY bike shops" name="description">
<link href="/assets/application/safari-7.css" rel="stylesheet" media="all" type="text/css"><link href="/assets/web-fonts/safari-7.css" rel="stylesheet" media="all" type="text/css">
<link href="/assets/favicon.ico" rel="shortcut icon" type="image/x-icon">
<link href="/assets/favicon.ico" rel="icon" type="image/x-icon">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/apple-touch-icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
<link href="/apple-touch-icon-114x114.png" rel="apple-touch-icon" sizes="114x114">
<link href="/apple-touch-icon-144x144.png" rel="apple-touch-icon" sizes="144x144">
</head>
<body class="conferences conferences-view_workshop">
<nav>
<div id="main-nav">
<div class="inner-nav">
<a class="logo" href="/"><img src="/assets/bb-icon-logo.png" class="sprite icons bb-icon-logo">
<img src="/assets/bb-icon-logo-text.png" class="sprite icons bb-icon-logo-text">
</a><div class="nav">
<a href="/"><span>My Bike!Bike!</span></a>
<a href="/about/"><span><span class="translated-content" data-i18n-key="page_titles.About_BikeBike" data-i18n-needs-translation="0">About Bike!Bike!</span></span></a>
<a href="/policy/"><span><span class="translated-content" data-i18n-key="page_titles.Safe_Space_Policy" data-i18n-needs-translation="0">Safer Space Agreement</span></span></a>
</div>
<div class="actions">
<form class="logout" action="/logout/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<input type="hidden" name="url" id="url" value="/conferences/MyBikeBike/workshops/1">
<span class="translated-content" data-i18n-key="forms.actions.generic.Log_out" data-i18n-needs-translation="0"><button name="button" type="submit">Sign out</button></span>
</form>
</div>
</div>
</div>
</nav>
<main id="main">
<header id="banner">
<div class="short" id="header-title" style="background-image: url(/assets/empty-racks.jpg)">
<h1><span class="translated-content" data-i18n-key="page_titles.conferences.View_Workshop" data-i18n-needs-translation="0">View Workshop</span></h1>
</div>
</header>
<div class="row"><div class="columns medium-12"><nav class="sub-menu">
<a href="/conferences/MyBikeBike/register/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Registration" data-i18n-needs-translation="0">Registration</span></a>
<a class="current" href="/conferences/MyBikeBike/workshops/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Workshops" data-i18n-needs-translation="0">Workshops</span></a>
</nav>
</div></div><div id="content">
<article>
<div class="row"><div class="columns medium-12"><h2>In Est Risus, Auctor Sed, Tristique In, Tempus Sit Amet, Sem</h2>
<div class="workshop-interest">
<span class="translated-content" data-i18n-key="articles.workshops.info.you_are_interested_count" data-i18n-needs-translation="0">You and&nbsp;4&nbsp;others are interested in this workshop</span>
<form action="/conferences/MyBikeBike/workshops/1/toggle-interest/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<span class="translated-content" data-i18n-key="forms.actions.generic.remove_interest" data-i18n-needs-translation="0"><button name="button" type="submit" value="toggle_interest" class="delete">-1</button></span>
</form>
</div>
<p>Sed ante. Vivamus tortor. Duis mattis egestas metus.</p>
</div><div class="columns medium-6"><h3><span class="translated-content" data-i18n-key="articles.workshops.headings.facilitators" data-i18n-needs-translation="0">Facilitators</span></h3>
<div class="facilitators">
</div>
</div><div class="columns medium-12"><div class="actions">
</div>
</div></div></article>
</div>
</main>
<div id="footer">
<footer><div class="github">
<img src="/assets/bb-icon-github.png" class="sprite icons bb-icon-github">
<a href="https://github.com/bikebike/BikeBike/issues" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.File_an_Issue" data-i18n-needs-translation="0">File an issue</span>
</a>
|
<a href="https://github.com/bikebike/BikeBike/contributing.md" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.Help_contribute" data-i18n-needs-translation="0">Help contribute</span>
</a>
</div>
<div class="facebook">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.facebook" data-i18n-needs-translation="0"><a href="https://www.facebook.com/groups/648758205249998/" target="_blank" title="Join our Facebook group">
<img src="/assets/bb-icon-fb.png" class="sprite icons bb-icon-fb">
</a>
</span></div>
<div class="locale">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.select_language" data-i18n-needs-translation="0"><input id="select-language" type="checkbox">
<label class="launch" for="select-language" title="Change your language">
EN
</label>
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/1/">
EN
</a>
<span>English</span>
</li>
</ul>
</div>
</span></div>
<div class="copy">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.contributors" data-i18n-needs-translation="0"><a title="Contributors" href="/humans.txt">©2015 Bike!Bike!
</a></span></div>
</footer>
</div>
<script>
(function() {
if (!String.prototype.trim) {
(function() {
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
String.prototype.trim = function() {
return this.replace(rtrim, '');
};
})();
}
function classExists(elem,className){var p = new RegExp('(^| )'+className+'( |$)');return (elem.className && elem.className.match(p));}
function addClass(elem,className){if(classExists(elem,className)){return true;}elem.className += ' '+className;}
function removeClass(elem,className){var c = elem.className;var p = new RegExp('(^| )'+className+'( |$)');c = c.replace(p,' ').replace(/ /g,' ');elem.className = c.trim();}
[].slice.call(document.querySelectorAll('.input-field input')).forEach(function(inputEl) {
if (inputEl.value.trim() === '') {
inputEl.parentNode.className = inputEl.parentNode.className + ' empty';
}
inputEl.addEventListener('focus', onInputFocus);
inputEl.addEventListener('blur', onInputBlur);
});
function onInputFocus(ev) {
removeClass(ev.target.parentNode, 'empty')
}
function onInputBlur(ev) {
if (ev.target.value.trim() === '') {
addClass(ev.target.parentNode, 'empty');
}
}
})();
</script>
</body></html>

149
config/locales/data/html_records/Like-a-workshop--conferences.MyBikeBike.workshops.1-2.html

@ -0,0 +1,149 @@
<!DOCTYPE html><html lang="en"><head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" name="viewport">
<title>Bike!Bike!</title>
<meta content="Bike!Bike! A conference for bike collectives, co-ops, non-profit DIY bike shops" name="description">
<link href="/assets/application/safari-7.css" rel="stylesheet" media="all" type="text/css"><link href="/assets/web-fonts/safari-7.css" rel="stylesheet" media="all" type="text/css">
<link href="/assets/favicon.ico" rel="shortcut icon" type="image/x-icon">
<link href="/assets/favicon.ico" rel="icon" type="image/x-icon">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/apple-touch-icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
<link href="/apple-touch-icon-114x114.png" rel="apple-touch-icon" sizes="114x114">
<link href="/apple-touch-icon-144x144.png" rel="apple-touch-icon" sizes="144x144">
</head>
<body class="conferences conferences-view_workshop">
<nav>
<div id="main-nav">
<div class="inner-nav">
<a class="logo" href="/"><img src="/assets/bb-icon-logo.png" class="sprite icons bb-icon-logo">
<img src="/assets/bb-icon-logo-text.png" class="sprite icons bb-icon-logo-text">
</a><div class="nav">
<a href="/"><span>My Bike!Bike!</span></a>
<a href="/about/"><span><span class="translated-content" data-i18n-key="page_titles.About_BikeBike" data-i18n-needs-translation="0">About Bike!Bike!</span></span></a>
<a href="/policy/"><span><span class="translated-content" data-i18n-key="page_titles.Safe_Space_Policy" data-i18n-needs-translation="0">Safer Space Agreement</span></span></a>
</div>
<div class="actions">
<form class="logout" action="/logout/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<input type="hidden" name="url" id="url" value="/conferences/MyBikeBike/workshops/1">
<span class="translated-content" data-i18n-key="forms.actions.generic.Log_out" data-i18n-needs-translation="0"><button name="button" type="submit">Sign out</button></span>
</form>
</div>
</div>
</div>
</nav>
<main id="main">
<header id="banner">
<div class="short" id="header-title" style="background-image: url(/assets/empty-racks.jpg)">
<h1><span class="translated-content" data-i18n-key="page_titles.conferences.View_Workshop" data-i18n-needs-translation="0">View Workshop</span></h1>
</div>
</header>
<div class="row"><div class="columns medium-12"><nav class="sub-menu">
<a href="/conferences/MyBikeBike/register/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Registration" data-i18n-needs-translation="0">Registration</span></a>
<a class="current" href="/conferences/MyBikeBike/workshops/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Workshops" data-i18n-needs-translation="0">Workshops</span></a>
</nav>
</div></div><div id="content">
<article>
<div class="row"><div class="columns medium-12"><h2>In Est Risus, Auctor Sed, Tristique In, Tempus Sit Amet, Sem</h2>
<div class="workshop-interest">
<span class="translated-content" data-i18n-key="articles.workshops.info.interested_count" data-i18n-needs-translation="0">4&nbsp;people are interested in this workshop</span>
<form action="/conferences/MyBikeBike/workshops/1/toggle-interest/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<span class="translated-content" data-i18n-key="forms.actions.generic.show_interest" data-i18n-needs-translation="0"><button name="button" type="submit" value="toggle_interest" class="add">+1</button></span>
</form>
</div>
<p>Sed ante. Vivamus tortor. Duis mattis egestas metus.</p>
</div><div class="columns medium-6"><h3><span class="translated-content" data-i18n-key="articles.workshops.headings.facilitators" data-i18n-needs-translation="0">Facilitators</span></h3>
<div class="facilitators">
</div>
</div><div class="columns medium-12"><div class="actions">
</div>
</div></div></article>
</div>
</main>
<div id="footer">
<footer><div class="github">
<img src="/assets/bb-icon-github.png" class="sprite icons bb-icon-github">
<a href="https://github.com/bikebike/BikeBike/issues" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.File_an_Issue" data-i18n-needs-translation="0">File an issue</span>
</a>
|
<a href="https://github.com/bikebike/BikeBike/contributing.md" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.Help_contribute" data-i18n-needs-translation="0">Help contribute</span>
</a>
</div>
<div class="facebook">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.facebook" data-i18n-needs-translation="0"><a href="https://www.facebook.com/groups/648758205249998/" target="_blank" title="Join our Facebook group">
<img src="/assets/bb-icon-fb.png" class="sprite icons bb-icon-fb">
</a>
</span></div>
<div class="locale">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.select_language" data-i18n-needs-translation="0"><input id="select-language" type="checkbox">
<label class="launch" for="select-language" title="Change your language">
EN
</label>
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/1/">
EN
</a>
<span>English</span>
</li>
</ul>
</div>
</span></div>
<div class="copy">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.contributors" data-i18n-needs-translation="0"><a title="Contributors" href="/humans.txt">©2015 Bike!Bike!
</a></span></div>
</footer>
</div>
<script>
(function() {
if (!String.prototype.trim) {
(function() {
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
String.prototype.trim = function() {
return this.replace(rtrim, '');
};
})();
}
function classExists(elem,className){var p = new RegExp('(^| )'+className+'( |$)');return (elem.className && elem.className.match(p));}
function addClass(elem,className){if(classExists(elem,className)){return true;}elem.className += ' '+className;}
function removeClass(elem,className){var c = elem.className;var p = new RegExp('(^| )'+className+'( |$)');c = c.replace(p,' ').replace(/ /g,' ');elem.className = c.trim();}
[].slice.call(document.querySelectorAll('.input-field input')).forEach(function(inputEl) {
if (inputEl.value.trim() === '') {
inputEl.parentNode.className = inputEl.parentNode.className + ' empty';
}
inputEl.addEventListener('focus', onInputFocus);
inputEl.addEventListener('blur', onInputBlur);
});
function onInputFocus(ev) {
removeClass(ev.target.parentNode, 'empty')
}
function onInputBlur(ev) {
if (ev.target.value.trim() === '') {
addClass(ev.target.parentNode, 'empty');
}
}
})();
</script>
</body></html>

149
config/locales/data/html_records/Like-a-workshop--conferences.MyBikeBike.workshops.1.html

@ -0,0 +1,149 @@
<!DOCTYPE html><html lang="en"><head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" name="viewport">
<title>Bike!Bike!</title>
<meta content="Bike!Bike! A conference for bike collectives, co-ops, non-profit DIY bike shops" name="description">
<link href="/assets/application/safari-7.css" rel="stylesheet" media="all" type="text/css"><link href="/assets/web-fonts/safari-7.css" rel="stylesheet" media="all" type="text/css">
<link href="/assets/favicon.ico" rel="shortcut icon" type="image/x-icon">
<link href="/assets/favicon.ico" rel="icon" type="image/x-icon">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/apple-touch-icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
<link href="/apple-touch-icon-114x114.png" rel="apple-touch-icon" sizes="114x114">
<link href="/apple-touch-icon-144x144.png" rel="apple-touch-icon" sizes="144x144">
</head>
<body class="conferences conferences-view_workshop">
<nav>
<div id="main-nav">
<div class="inner-nav">
<a class="logo" href="/"><img src="/assets/bb-icon-logo.png" class="sprite icons bb-icon-logo">
<img src="/assets/bb-icon-logo-text.png" class="sprite icons bb-icon-logo-text">
</a><div class="nav">
<a href="/"><span>My Bike!Bike!</span></a>
<a href="/about/"><span><span class="translated-content" data-i18n-key="page_titles.About_BikeBike" data-i18n-needs-translation="0">About Bike!Bike!</span></span></a>
<a href="/policy/"><span><span class="translated-content" data-i18n-key="page_titles.Safe_Space_Policy" data-i18n-needs-translation="0">Safer Space Agreement</span></span></a>
</div>
<div class="actions">
<form class="logout" action="/logout/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<input type="hidden" name="url" id="url" value="/conferences/MyBikeBike/workshops/1">
<span class="translated-content" data-i18n-key="forms.actions.generic.Log_out" data-i18n-needs-translation="0"><button name="button" type="submit">Sign out</button></span>
</form>
</div>
</div>
</div>
</nav>
<main id="main">
<header id="banner">
<div class="short" id="header-title" style="background-image: url(/assets/empty-racks.jpg)">
<h1><span class="translated-content" data-i18n-key="page_titles.conferences.View_Workshop" data-i18n-needs-translation="0">View Workshop</span></h1>
</div>
</header>
<div class="row"><div class="columns medium-12"><nav class="sub-menu">
<a href="/conferences/MyBikeBike/register/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Registration" data-i18n-needs-translation="0">Registration</span></a>
<a class="current" href="/conferences/MyBikeBike/workshops/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Workshops" data-i18n-needs-translation="0">Workshops</span></a>
</nav>
</div></div><div id="content">
<article>
<div class="row"><div class="columns medium-12"><h2>In Est Risus, Auctor Sed, Tristique In, Tempus Sit Amet, Sem</h2>
<div class="workshop-interest">
<span class="translated-content" data-i18n-key="articles.workshops.info.interested_count" data-i18n-needs-translation="0">4&nbsp;people are interested in this workshop</span>
<form action="/conferences/MyBikeBike/workshops/1/toggle-interest/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<span class="translated-content" data-i18n-key="forms.actions.generic.show_interest" data-i18n-needs-translation="0"><button name="button" type="submit" value="toggle_interest" class="add">+1</button></span>
</form>
</div>
<p>Sed ante. Vivamus tortor. Duis mattis egestas metus.</p>
</div><div class="columns medium-6"><h3><span class="translated-content" data-i18n-key="articles.workshops.headings.facilitators" data-i18n-needs-translation="0">Facilitators</span></h3>
<div class="facilitators">
</div>
</div><div class="columns medium-12"><div class="actions">
</div>
</div></div></article>
</div>
</main>
<div id="footer">
<footer><div class="github">
<img src="/assets/bb-icon-github.png" class="sprite icons bb-icon-github">
<a href="https://github.com/bikebike/BikeBike/issues" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.File_an_Issue" data-i18n-needs-translation="0">File an issue</span>
</a>
|
<a href="https://github.com/bikebike/BikeBike/contributing.md" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.Help_contribute" data-i18n-needs-translation="0">Help contribute</span>
</a>
</div>
<div class="facebook">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.facebook" data-i18n-needs-translation="0"><a href="https://www.facebook.com/groups/648758205249998/" target="_blank" title="Join our Facebook group">
<img src="/assets/bb-icon-fb.png" class="sprite icons bb-icon-fb">
</a>
</span></div>
<div class="locale">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.select_language" data-i18n-needs-translation="0"><input id="select-language" type="checkbox">
<label class="launch" for="select-language" title="Change your language">
EN
</label>
<div class="selector">
<ul>
<li>
<a href="/conferences/MyBikeBike/workshops/1">
EN
</a>
<span>English</span>
</li>
</ul>
</div>
</span></div>
<div class="copy">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.contributors" data-i18n-needs-translation="0"><a title="Contributors" href="/humans.txt">©2015 Bike!Bike!
</a></span></div>
</footer>
</div>
<script>
(function() {
if (!String.prototype.trim) {
(function() {
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
String.prototype.trim = function() {
return this.replace(rtrim, '');
};
})();
}
function classExists(elem,className){var p = new RegExp('(^| )'+className+'( |$)');return (elem.className && elem.className.match(p));}
function addClass(elem,className){if(classExists(elem,className)){return true;}elem.className += ' '+className;}
function removeClass(elem,className){var c = elem.className;var p = new RegExp('(^| )'+className+'( |$)');c = c.replace(p,' ').replace(/ /g,' ');elem.className = c.trim();}
[].slice.call(document.querySelectorAll('.input-field input')).forEach(function(inputEl) {
if (inputEl.value.trim() === '') {
inputEl.parentNode.className = inputEl.parentNode.className + ' empty';
}
inputEl.addEventListener('focus', onInputFocus);
inputEl.addEventListener('blur', onInputBlur);
});
function onInputFocus(ev) {
removeClass(ev.target.parentNode, 'empty')
}
function onInputBlur(ev) {
if (ev.target.value.trim() === '') {
addClass(ev.target.parentNode, 'empty');
}
}
})();
</script>
</body></html>

147
config/locales/data/html_records/Like-a-workshop--confirm.test.html

@ -0,0 +1,147 @@
<!DOCTYPE html><html lang="en"><head>
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0" name="viewport">
<title>Bike!Bike!</title>
<meta content="Bike!Bike! A conference for bike collectives, co-ops, non-profit DIY bike shops" name="description">
<link href="/assets/application/safari-7.css" rel="stylesheet" media="all" type="text/css"><link href="/assets/web-fonts/safari-7.css" rel="stylesheet" media="all" type="text/css">
<link href="/assets/favicon.ico" rel="shortcut icon" type="image/x-icon">
<link href="/assets/favicon.ico" rel="icon" type="image/x-icon">
<link href="/apple-touch-icon.png" rel="apple-touch-icon">
<link href="/apple-touch-icon-72x72.png" rel="apple-touch-icon" sizes="72x72">
<link href="/apple-touch-icon-114x114.png" rel="apple-touch-icon" sizes="114x114">
<link href="/apple-touch-icon-144x144.png" rel="apple-touch-icon" sizes="144x144">
</head>
<body class="confirm">
<nav>
<div id="main-nav">
<div class="inner-nav">
<a class="logo" href="/"><img src="/assets/bb-icon-logo.png" class="sprite icons bb-icon-logo">
<img src="/assets/bb-icon-logo-text.png" class="sprite icons bb-icon-logo-text">
</a><div class="nav">
<a href="/"><span>My Bike!Bike!</span></a>
<a href="/about/"><span><span class="translated-content" data-i18n-key="page_titles.About_BikeBike" data-i18n-needs-translation="0">About Bike!Bike!</span></span></a>
<a href="/policy/"><span><span class="translated-content" data-i18n-key="page_titles.Safe_Space_Policy" data-i18n-needs-translation="0">Safer Space Agreement</span></span></a>
</div>
<div class="actions">
<a class="button register" href="/conferences/MyBikeBike/register/"><span class="translated-content" data-i18n-key="conference.actions.Register" data-i18n-needs-translation="0">Register</span>
</a></div>
</div>
</div>
</nav>
<main id="main">
<header id="banner">
<div class="short" id="header-title">
<svg>
<defs>
<filter id="saturate">
<feColorMatrix in="SourceGraphic" type="saturate" values=".25" result="A"></feColorMatrix>
</filter>
<image x="0" y="0" width="100%" height="100%" xlink:href="/assets/grafitti.jpg" id="banner-image" preserveAspectRatio="xMidYMid slice" filter="url(#saturate)"></image>
<filter id="banner-img" x="0" y="0" width="1" height="1">
<feImage xlink:href="#banner-image" result="banner-image"></feImage>
<feBlend mode="multiply" in="banner-image" in2="SourceGraphic"></feBlend>
</filter>
</defs>
<rect x="0" y="0" width="100%" height="100%" filter="url(#banner-img)"></rect>
</svg>
<h1><span class="translated-content" data-i18n-key="page_titles.403.Please_Confirm_Email" data-i18n-needs-translation="0">Please confirm your email</span></h1>
</div>
</header>
<div id="content"><article>
<div class="row"><div class="columns medium-12"><h2><span class="translated-content" data-i18n-key="articles.permission_denied.headings.confirm_email" data-i18n-needs-translation="0">Please confirm your email address</span></h2>
</div><div class="columns medium-6 large-5"><form action="/doconfirm/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓">
<div class="email-field input-field">
<input type="email" name="email" id="email" required="required">
<label for="email"><span class="translated-content" data-i18n-key="forms.labels.generic.email" data-i18n-needs-translation="0">Email address</span></label>
</div>
<input type="hidden" name="token" id="token" value="test">
<span class="translated-content" data-i18n-key="forms.actions.generic.login" data-i18n-needs-translation="0"><button name="button" type="submit">Sign In</button></span>
</form>
</div></div>
</article>
</div>
</main>
<div id="footer">
<footer><div class="github">
<img src="/assets/bb-icon-github.png" class="sprite icons bb-icon-github">
<a href="https://github.com/bikebike/BikeBike/issues" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.File_an_Issue" data-i18n-needs-translation="0">File an issue</span>
</a>
|
<a href="https://github.com/bikebike/BikeBike/contributing.md" target="_blank">
<span class="translated-content" data-i18n-key="links.footer.text.Help_contribute" data-i18n-needs-translation="0">Help contribute</span>
</a>
</div>
<div class="facebook">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.facebook" data-i18n-needs-translation="0"><a href="https://www.facebook.com/groups/648758205249998/" target="_blank" title="Join our Facebook group">
<img src="/assets/bb-icon-fb.png" class="sprite icons bb-icon-fb">
</a>
</span></div>
<div class="locale">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.select_language" data-i18n-needs-translation="0"><input id="select-language" type="checkbox">
<label class="launch" for="select-language" title="Change your language">
EN
</label>
<div class="selector">
<ul>
<li>
<a href="/confirm/test">
EN
</a>
<span>English</span>
</li>
</ul>
</div>
</span></div>
<div class="copy">
<span class="translated-contentblock" data-i18n-key="links.footer.help_text.contributors" data-i18n-needs-translation="0"><a title="Contributors" href="/humans.txt">©2015 Bike!Bike!
</a></span></div>
</footer>
</div>
<script>
(function() {
if (!String.prototype.trim) {
(function() {
var rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;
String.prototype.trim = function() {
return this.replace(rtrim, '');
};
})();
}
function classExists(elem,className){var p = new RegExp('(^| )'+className+'( |$)');return (elem.className && elem.className.match(p));}
function addClass(elem,className){if(classExists(elem,className)){return true;}elem.className += ' '+className;}
function removeClass(elem,className){var c = elem.className;var p = new RegExp('(^| )'+className+'( |$)');c = c.replace(p,' ').replace(/ /g,' ');elem.className = c.trim();}
[].slice.call(document.querySelectorAll('.input-field input')).forEach(function(inputEl) {
if (inputEl.value.trim() === '') {
inputEl.parentNode.className = inputEl.parentNode.className + ' empty';
}
inputEl.addEventListener('focus', onInputFocus);
inputEl.addEventListener('blur', onInputBlur);
});
function onInputFocus(ev) {
removeClass(ev.target.parentNode, 'empty')
}
function onInputBlur(ev) {
if (ev.target.value.trim() === '') {
addClass(ev.target.parentNode, 'empty');
}
}
})();
</script>
</body></html>

4
config/locales/data/html_records/See-a-more-info-link--.html

@ -64,8 +64,8 @@ August 14 – 18, 2015
<article>
<h2>My Bike!Bike!</h2>
Curabitur non nulla sit amet nisl tempus convallis quis ac lectus.
<h3><span class="translated-content" data-i18n-key="acticles.conferences.headings.Proposed_Workshops" data-i18n-needs-translation="1">Proposed Workshops</span></h3>
<p><span class="translated-content" data-i18n-key="acticles.conferences.paragraphs.Proposed_Workshops" data-i18n-needs-translation="1">Would you like to facilitate your own workshop? Simply register and visit the workshops page. If you have already registered you can access the page by restarting the registration process.</span></p>
<h3><span class="translated-content" data-i18n-key="articles.workshops.headings.Proposed_Workshops" data-i18n-needs-translation="0">Proposed Workshops</span></h3>
<p><span class="translated-content" data-i18n-key="articles.workshops.paragraphs.Proposed_Workshops" data-i18n-needs-translation="0">Would you like to facilitate your own workshop? Simply register and visit the workshops page. If you have already registered you can access the page by restarting the registration process.</span></p>
<ul class="workshop-list">
</ul>
</article>

4
config/locales/data/html_records/See-a-register-link--.html

@ -55,8 +55,8 @@ August 14 – 18, 2015
<article>
<h2>My Bike!Bike!</h2>
Curabitur non nulla sit amet nisl tempus convallis quis ac lectus.
<h3><span class="translated-content" data-i18n-key="acticles.conferences.headings.Proposed_Workshops" data-i18n-needs-translation="1">Proposed Workshops</span></h3>
<p><span class="translated-content" data-i18n-key="acticles.conferences.paragraphs.Proposed_Workshops" data-i18n-needs-translation="1">Would you like to facilitate your own workshop? Simply register and visit the workshops page. If you have already registered you can access the page by restarting the registration process.</span></p>
<h3><span class="translated-content" data-i18n-key="articles.workshops.headings.Proposed_Workshops" data-i18n-needs-translation="0">Proposed Workshops</span></h3>
<p><span class="translated-content" data-i18n-key="articles.workshops.paragraphs.Proposed_Workshops" data-i18n-needs-translation="0">Would you like to facilitate your own workshop? Simply register and visit the workshops page. If you have already registered you can access the page by restarting the registration process.</span></p>
<ul class="workshop-list">
</ul>
</article>

11
config/locales/data/html_records/Start-registration-from-landing-page--.html

@ -55,9 +55,16 @@ August 14 – 18, 2015
<article>
<h2>My Bike!Bike!</h2>
Curabitur non nulla sit amet nisl tempus convallis quis ac lectus.
<h3><span class="translated-content" data-i18n-key="acticles.conferences.headings.Proposed_Workshops" data-i18n-needs-translation="1">Proposed Workshops</span></h3>
<p><span class="translated-content" data-i18n-key="acticles.conferences.paragraphs.Proposed_Workshops" data-i18n-needs-translation="1">Would you like to facilitate your own workshop? Simply register and visit the workshops page. If you have already registered you can access the page by restarting the registration process.</span></p>
<h3><span class="translated-content" data-i18n-key="articles.workshops.headings.Proposed_Workshops" data-i18n-needs-translation="0">Proposed Workshops</span></h3>
<p><span class="translated-content" data-i18n-key="articles.workshops.paragraphs.Proposed_Workshops" data-i18n-needs-translation="0">Would you like to facilitate your own workshop? Simply register and visit the workshops page. If you have already registered you can access the page by restarting the registration process.</span></p>
<ul class="workshop-list">
<li>
<h4>My Awesome Workshop</h4>
<div class="workshop-interest">
</div>
<div class="workshop-description"><p>Etiam vel augue. Vestibulum rutrum rutrum neque. Aenean auctor gravida sem.</p>
</div>
</li>
</ul>
</article>
</div>

4
config/locales/data/html_records/Start-registration-from-landing-page--Start-registration-from-landing-page--conferences.MyBikeBike.register-1.html

@ -81,7 +81,7 @@
<p>
<h3>
<b>
<a href='/confirm/b0129e7dd5b5a31356afbbbbf89b04281c60477e913606a7841ffb27afcf1fc4'><span class="translated-content" data-i18n-key="email.confirmation.link.please_confirm" data-i18n-needs-translation="0">Confirm now</span></a>
<a href='/confirm/228dda383321efc7ced7155b678956ea654b22a9fb120bef9318b8b01720f453'><span class="translated-content" data-i18n-key="email.confirmation.link.please_confirm" data-i18n-needs-translation="0">Confirm now</span></a>
</b>
</h3>
</p>
@ -95,7 +95,7 @@
<img class='image_fix' src='/assets/bblogo-paypal'>
</td>
<td style='width: 50%; text-align: left'>
<a href='http://127.0.0.1:62230'>&copy; Bike!Bike! 2015</a>
<a href='http://127.0.0.1:49162'>&copy; Bike!Bike! 2015</a>
</td>
</tr>
<tr>

10
config/locales/data/html_records/Start-registration-from-landing-page--Start-registration-from-landing-page--conferences.MyBikeBike.register-3.html

@ -3,7 +3,7 @@
<head>
<meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
<meta content='width=device-width, initial-scale=1.0' name='viewport'>
<title>&lt;span class=&quot;translated-content&quot; data-i18n-key=&quot;email.subject.registration_confirmed&quot; data-i18n-needs-translation=&quot;1&quot;&gt;Thank you for registering for My Bike!Bike!&lt;/span&gt;</title>
<title>&lt;span class=&quot;translated-content&quot; data-i18n-key=&quot;email.subject.registration_confirmed&quot; data-i18n-needs-translation=&quot;0&quot;&gt;Thank you for registering for My Bike!Bike!&lt;/span&gt;</title>
<style>
#outlook a {padding:0;}
body{width:100% !important; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; margin:0; padding:0;}
@ -77,9 +77,9 @@
<td>
<table align='center' border='0' cellpadding='0' cellspacing='0'>
<tr>
<td colspan='2' valign='top'><p><span class="translated-content" data-i18n-key="email.general.paragraph.thank_you" data-i18n-needs-translation="1">Thank you John Doe,</span></p>
<p><span class="translated-content" data-i18n-key="email.registration.paragraph.confirmed" data-i18n-needs-translation="1">You have successfully registered for My Bike!Bike!. You can modify your registration details, pay, or add workshops at any time by restarting the registration process. If you have yet to pay or add your workshops and plan to do so, we ask that you take care of it as soon as possible to help us prepare in advance of your arrival.</span></p>
<p><span class="translated-content" data-i18n-key="email.general.paragraph.see_you" data-i18n-needs-translation="1">See you in Halifax!</span></p>
<td colspan='2' valign='top'><p><span class="translated-content" data-i18n-key="email.general.paragraph.thank_you" data-i18n-needs-translation="0">Thank you John Doe,</span></p>
<p><span class="translated-content" data-i18n-key="email.registration.paragraph.confirmed" data-i18n-needs-translation="0">You have successfully registered for My Bike!Bike!. You can modify your registration details, pay, or add workshops at any time by restarting the registration process. If you have yet to pay or add your workshops and plan to do so, we ask that you take care of it as soon as possible to help us prepare in advance of your arrival.</span></p>
<p><span class="translated-content" data-i18n-key="email.general.paragraph.see_you" data-i18n-needs-translation="0">See you in Halifax!</span></p>
</td>
</tr>
<tr>
@ -90,7 +90,7 @@
<img class='image_fix' src='/assets/bblogo-paypal'>
</td>
<td style='width: 50%; text-align: left'>
<a href='http://127.0.0.1:62230'>&copy; Bike!Bike! 2015</a>
<a href='http://127.0.0.1:49162'>&copy; Bike!Bike! 2015</a>
</td>
</tr>
<tr>

4
config/locales/data/html_records/Start-registration-from-landing-page--email_confirmation.html

@ -81,7 +81,7 @@
<p>
<h3>
<b>
<a href='/confirm/b0129e7dd5b5a31356afbbbbf89b04281c60477e913606a7841ffb27afcf1fc4'><span class="translated-content" data-i18n-key="email.confirmation.link.please_confirm" data-i18n-needs-translation="0">Confirm now</span></a>
<a href='/confirm/228dda383321efc7ced7155b678956ea654b22a9fb120bef9318b8b01720f453'><span class="translated-content" data-i18n-key="email.confirmation.link.please_confirm" data-i18n-needs-translation="0">Confirm now</span></a>
</b>
</h3>
</p>
@ -95,7 +95,7 @@
<img class='image_fix' src='/assets/bblogo-paypal'>
</td>
<td style='width: 50%; text-align: left'>
<a href='http://127.0.0.1:62230'>&copy; Bike!Bike! 2015</a>
<a href='http://127.0.0.1:49162'>&copy; Bike!Bike! 2015</a>
</td>
</tr>
<tr>

10
config/locales/data/html_records/Start-registration-from-landing-page--registration_confirmation.html

@ -3,7 +3,7 @@
<head>
<meta content='text/html; charset=utf-8' http-equiv='Content-Type'>
<meta content='width=device-width, initial-scale=1.0' name='viewport'>
<title>&lt;span class=&quot;translated-content&quot; data-i18n-key=&quot;email.subject.registration_confirmed&quot; data-i18n-needs-translation=&quot;1&quot;&gt;Thank you for registering for My Bike!Bike!&lt;/span&gt;</title>
<title>&lt;span class=&quot;translated-content&quot; data-i18n-key=&quot;email.subject.registration_confirmed&quot; data-i18n-needs-translation=&quot;0&quot;&gt;Thank you for registering for My Bike!Bike!&lt;/span&gt;</title>
<style>
#outlook a {padding:0;}
body{width:100% !important; -webkit-text-size-adjust:100%; -ms-text-size-adjust:100%; margin:0; padding:0;}
@ -77,9 +77,9 @@
<td>
<table align='center' border='0' cellpadding='0' cellspacing='0'>
<tr>
<td colspan='2' valign='top'><p><span class="translated-content" data-i18n-key="email.general.paragraph.thank_you" data-i18n-needs-translation="1">Thank you John Doe,</span></p>
<p><span class="translated-content" data-i18n-key="email.registration.paragraph.confirmed" data-i18n-needs-translation="1">You have successfully registered for My Bike!Bike!. You can modify your registration details, pay, or add workshops at any time by restarting the registration process. If you have yet to pay or add your workshops and plan to do so, we ask that you take care of it as soon as possible to help us prepare in advance of your arrival.</span></p>
<p><span class="translated-content" data-i18n-key="email.general.paragraph.see_you" data-i18n-needs-translation="1">See you in Halifax!</span></p>
<td colspan='2' valign='top'><p><span class="translated-content" data-i18n-key="email.general.paragraph.thank_you" data-i18n-needs-translation="0">Thank you John Doe,</span></p>
<p><span class="translated-content" data-i18n-key="email.registration.paragraph.confirmed" data-i18n-needs-translation="0">You have successfully registered for My Bike!Bike!. You can modify your registration details, pay, or add workshops at any time by restarting the registration process. If you have yet to pay or add your workshops and plan to do so, we ask that you take care of it as soon as possible to help us prepare in advance of your arrival.</span></p>
<p><span class="translated-content" data-i18n-key="email.general.paragraph.see_you" data-i18n-needs-translation="0">See you in Halifax!</span></p>
</td>
</tr>
<tr>
@ -90,7 +90,7 @@
<img class='image_fix' src='/assets/bblogo-paypal'>
</td>
<td style='width: 50%; text-align: left'>
<a href='http://127.0.0.1:62230'>&copy; Bike!Bike! 2015</a>
<a href='http://127.0.0.1:49162'>&copy; Bike!Bike! 2015</a>
</td>
</tr>
<tr>

4
config/locales/data/html_records/View-stats--.html

@ -60,8 +60,8 @@ August 14 – 18, 2015
<article>
<h2>My Bike!Bike!</h2>
Curabitur non nulla sit amet nisl tempus convallis quis ac lectus.
<h3><span class="translated-content" data-i18n-key="acticles.conferences.headings.Proposed_Workshops" data-i18n-needs-translation="1">Proposed Workshops</span></h3>
<p><span class="translated-content" data-i18n-key="acticles.conferences.paragraphs.Proposed_Workshops" data-i18n-needs-translation="1">Would you like to facilitate your own workshop? Simply register and visit the workshops page. If you have already registered you can access the page by restarting the registration process.</span></p>
<h3><span class="translated-content" data-i18n-key="articles.workshops.headings.Proposed_Workshops" data-i18n-needs-translation="0">Proposed Workshops</span></h3>
<p><span class="translated-content" data-i18n-key="articles.workshops.paragraphs.Proposed_Workshops" data-i18n-needs-translation="0">Would you like to facilitate your own workshop? Simply register and visit the workshops page. If you have already registered you can access the page by restarting the registration process.</span></p>
<ul class="workshop-list">
</ul>
</article>

2
config/locales/data/html_records/View-stats--conferences.MyBikeBike.stats.html

@ -56,7 +56,7 @@
<article>
<div class="row"><div class="columns medium-12"><h2><span class="translated-content" data-i18n-key="articles.conference_registration.headings.Stats" data-i18n-needs-translation="0">Stats</span></h2>
<p><span class="translated-content" data-i18n-key="articles.conference_registration.paragraphs.Stats" data-i18n-needs-translation="0">Check Out who's coming and what they've paid so far. See at a glance how much accommodation is needed and what people prefer to eat.</span></p>
<a class="button" href="/conferences/MyBikeBike/stats.xls"><span class="translated-content" data-i18n-key="links.download.Excel" data-i18n-needs-translation="1">Download Data in Excel Format</span></a>
<a class="button" href="/conferences/MyBikeBike/stats.xls"><span class="translated-content" data-i18n-key="links.download.Excel" data-i18n-needs-translation="0">Download Data in Excel Format</span></a>
</div><div class="columns medium-6"><ul class="stats">
<li>
<h3><span class="translated-content" data-i18n-key="articles.conference_registration.terms.Total_Registrations" data-i18n-needs-translation="0">Total Registrations</span></h3>

10
config/locales/data/html_records/View-stats--conferences.MyBikeBike.stats.xls.html

@ -9,9 +9,9 @@ Excel Spreadsheet
<thead>
<tr>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.name" data-i18n-needs-translation="0">What is your name?</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.email" data-i18n-needs-translation="1">email</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.city" data-i18n-needs-translation="1">city</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.date" data-i18n-needs-translation="1">date</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.email" data-i18n-needs-translation="0">Email</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.city" data-i18n-needs-translation="0">City</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.date" data-i18n-needs-translation="0">Date</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.languages" data-i18n-needs-translation="0">Which languages do you speak?</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.arrival" data-i18n-needs-translation="0">Arrival</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.departure" data-i18n-needs-translation="0">Departure</span></th>
@ -20,7 +20,7 @@ Excel Spreadsheet
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.food" data-i18n-needs-translation="0">What are your eating habits?</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.allergies" data-i18n-needs-translation="0">Do you have any allergies?</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.other" data-i18n-needs-translation="0">Is there anything else you'd like to tell us?</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.fees_paid" data-i18n-needs-translation="1">fees paid</span></th>
<th><span class="translated-content" data-i18n-key="articles.conference_registration.headings.fees_paid" data-i18n-needs-translation="0">Fees Paid</span></th>
</tr>
</thead>
<tbody>
@ -28,7 +28,7 @@ Excel Spreadsheet
<td>Jeff</td>
<td>someguy@bikebike.org</td>
<td>Somewhere</td>
<td>2015-09-13 18:31:18</td>
<td>2015-09-14 01:24:17</td>
<td>English</td>
<td>2015-09-28 00:00:00</td>
<td>2015-09-28 00:00:00</td>

210
config/locales/data/translation-info.yml

@ -14,6 +14,8 @@ date.formats.span_same_month_date_1:
- Start-registration-from-landing-page--
- View-stats--
- Create-workshop--
- Be-the-first-to-like-a-workshop--
- Like-a-workshop--
- Broadcast-message--
date.month_names:
pages:
@ -27,6 +29,8 @@ date.month_names:
- Start-registration-from-landing-page--conferences.MyBikeBike.register-6
- View-stats--
- Create-workshop--
- Be-the-first-to-like-a-workshop--
- Like-a-workshop--
- Broadcast-message--
date.formats.span_same_month_date_2:
pages:
@ -37,6 +41,8 @@ date.formats.span_same_month_date_2:
- Start-registration-from-landing-page--
- View-stats--
- Create-workshop--
- Be-the-first-to-like-a-workshop--
- Like-a-workshop--
- Broadcast-message--
date.date_span:
pages:
@ -50,8 +56,10 @@ date.date_span:
- Start-registration-from-landing-page--
- View-stats--
- Create-workshop--
- Be-the-first-to-like-a-workshop--
- Like-a-workshop--
- Broadcast-message--
acticles.conferences.headings.Proposed_Workshops:
articles.workshops.headings.Proposed_Workshops:
pages:
- "/"
examples:
@ -60,8 +68,10 @@ acticles.conferences.headings.Proposed_Workshops:
- Start-registration-from-landing-page--
- View-stats--
- Create-workshop--
- Be-the-first-to-like-a-workshop--
- Like-a-workshop--
- Broadcast-message--
acticles.conferences.paragraphs.Proposed_Workshops:
articles.workshops.paragraphs.Proposed_Workshops:
pages:
- "/"
context: Would you like to facilitate your own workshop? Simply register and visit
@ -73,6 +83,8 @@ acticles.conferences.paragraphs.Proposed_Workshops:
- Start-registration-from-landing-page--
- View-stats--
- Create-workshop--
- Be-the-first-to-like-a-workshop--
- Like-a-workshop--
- Broadcast-message--
page_descriptions.home:
pages:
@ -119,6 +131,16 @@ page_descriptions.home:
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1.delete
- Create-workshop--conferences.MyBikeBike.workshops-1
- Be-the-first-to-like-a-workshop--confirm.test
- Be-the-first-to-like-a-workshop--
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--confirm.test
- Like-a-workshop--
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Broadcast-message--confirm.test
- Broadcast-message--
- Broadcast-message--conferences.MyBikeBike.broadcast
@ -173,6 +195,16 @@ page_titles.About_BikeBike:
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1.delete
- Create-workshop--conferences.MyBikeBike.workshops-1
- Be-the-first-to-like-a-workshop--confirm.test
- Be-the-first-to-like-a-workshop--
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--confirm.test
- Like-a-workshop--
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Broadcast-message--confirm.test
- Broadcast-message--
- Broadcast-message--conferences.MyBikeBike.broadcast
@ -227,6 +259,16 @@ page_titles.Safe_Space_Policy:
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1.delete
- Create-workshop--conferences.MyBikeBike.workshops-1
- Be-the-first-to-like-a-workshop--confirm.test
- Be-the-first-to-like-a-workshop--
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--confirm.test
- Like-a-workshop--
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Broadcast-message--confirm.test
- Broadcast-message--
- Broadcast-message--conferences.MyBikeBike.broadcast
@ -293,6 +335,16 @@ links.footer.text.File_an_Issue:
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1.delete
- Create-workshop--conferences.MyBikeBike.workshops-1
- Be-the-first-to-like-a-workshop--confirm.test
- Be-the-first-to-like-a-workshop--
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--confirm.test
- Like-a-workshop--
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Broadcast-message--confirm.test
- Broadcast-message--
- Broadcast-message--conferences.MyBikeBike.broadcast
@ -347,6 +399,16 @@ links.footer.text.Help_contribute:
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1.delete
- Create-workshop--conferences.MyBikeBike.workshops-1
- Be-the-first-to-like-a-workshop--confirm.test
- Be-the-first-to-like-a-workshop--
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--confirm.test
- Like-a-workshop--
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Broadcast-message--confirm.test
- Broadcast-message--
- Broadcast-message--conferences.MyBikeBike.broadcast
@ -402,6 +464,16 @@ links.footer.help_text.facebook:
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1.delete
- Create-workshop--conferences.MyBikeBike.workshops-1
- Be-the-first-to-like-a-workshop--confirm.test
- Be-the-first-to-like-a-workshop--
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--confirm.test
- Like-a-workshop--
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Broadcast-message--confirm.test
- Broadcast-message--
- Broadcast-message--conferences.MyBikeBike.broadcast
@ -457,6 +529,16 @@ links.footer.help_text.select_language:
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1.delete
- Create-workshop--conferences.MyBikeBike.workshops-1
- Be-the-first-to-like-a-workshop--confirm.test
- Be-the-first-to-like-a-workshop--
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--confirm.test
- Like-a-workshop--
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Broadcast-message--confirm.test
- Broadcast-message--
- Broadcast-message--conferences.MyBikeBike.broadcast
@ -544,6 +626,26 @@ languages.en:
- Create-workshop--conferences.MyBikeBike.workshops.1.delete
- Create-workshop--conferences.MyBikeBike.workshops-1
- Create-workshop--conferences.MyBikeBike.workshops-1
- Be-the-first-to-like-a-workshop--confirm.test
- Be-the-first-to-like-a-workshop--confirm.test
- Be-the-first-to-like-a-workshop--
- Be-the-first-to-like-a-workshop--
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--confirm.test
- Like-a-workshop--confirm.test
- Like-a-workshop--
- Like-a-workshop--
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Broadcast-message--confirm.test
- Broadcast-message--confirm.test
- Broadcast-message--
@ -609,6 +711,16 @@ links.footer.help_text.contributors:
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1.delete
- Create-workshop--conferences.MyBikeBike.workshops-1
- Be-the-first-to-like-a-workshop--confirm.test
- Be-the-first-to-like-a-workshop--
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--confirm.test
- Like-a-workshop--
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Broadcast-message--confirm.test
- Broadcast-message--
- Broadcast-message--conferences.MyBikeBike.broadcast
@ -636,6 +748,10 @@ conference.actions.Register:
- View-stats--
- Create-workshop--confirm.test
- Create-workshop--
- Be-the-first-to-like-a-workshop--confirm.test
- Be-the-first-to-like-a-workshop--
- Like-a-workshop--confirm.test
- Like-a-workshop--
- Broadcast-message--confirm.test
- Broadcast-message--
page_titles.conferences.Conference_Registration:
@ -675,6 +791,8 @@ forms.labels.generic.email:
- Start-registration-from-landing-page--conferences.MyBikeBike.register-1
- View-stats--confirm.test
- Create-workshop--confirm.test
- Be-the-first-to-like-a-workshop--confirm.test
- Like-a-workshop--confirm.test
- Broadcast-message--confirm.test
forms.actions.generic.register:
pages:
@ -892,6 +1010,14 @@ forms.actions.generic.Log_out:
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1.delete
- Create-workshop--conferences.MyBikeBike.workshops-1
- Be-the-first-to-like-a-workshop--
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Broadcast-message--
- Broadcast-message--conferences.MyBikeBike.broadcast
- Broadcast-message--conferences.MyBikeBike.broadcast-1
@ -1200,6 +1326,12 @@ menu.submenu.registration.Registration:
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1.delete
- Create-workshop--conferences.MyBikeBike.workshops-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Broadcast-message--conferences.MyBikeBike.broadcast
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-2
@ -1230,6 +1362,12 @@ menu.submenu.registration.Workshops:
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Create-workshop--conferences.MyBikeBike.workshops.1.delete
- Create-workshop--conferences.MyBikeBike.workshops-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Broadcast-message--conferences.MyBikeBike.broadcast
- Broadcast-message--conferences.MyBikeBike.broadcast-1
- Broadcast-message--conferences.MyBikeBike.broadcast-2
@ -1329,6 +1467,8 @@ page_titles.403.Please_Confirm_Email:
examples:
- View-stats--confirm.test
- Create-workshop--confirm.test
- Be-the-first-to-like-a-workshop--confirm.test
- Like-a-workshop--confirm.test
- Broadcast-message--confirm.test
articles.permission_denied.headings.confirm_email:
pages:
@ -1337,6 +1477,8 @@ articles.permission_denied.headings.confirm_email:
examples:
- View-stats--confirm.test
- Create-workshop--confirm.test
- Be-the-first-to-like-a-workshop--confirm.test
- Like-a-workshop--confirm.test
- Broadcast-message--confirm.test
forms.actions.generic.login:
pages:
@ -1344,6 +1486,8 @@ forms.actions.generic.login:
examples:
- View-stats--confirm.test
- Create-workshop--confirm.test
- Be-the-first-to-like-a-workshop--confirm.test
- Like-a-workshop--confirm.test
- Broadcast-message--confirm.test
geography.subregions.US.AK:
pages:
@ -1714,6 +1858,27 @@ page_titles.conferences.View_Workshop:
- Create-workshop--conferences.MyBikeBike.workshops.1-1
- Create-workshop--conferences.MyBikeBike.workshops.1-2
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
articles.workshops.info.interested_count:
pages:
- "/conferences/:slug/workshops/:workshop_id"
context: 0 people are interested in this workshop
vars:
- :count
examples:
- Create-workshop--conferences.MyBikeBike.workshops.1
- Create-workshop--conferences.MyBikeBike.workshops.1-1
- Create-workshop--conferences.MyBikeBike.workshops.1-2
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
articles.workshops.headings.facilitators:
pages:
- "/conferences/:slug/workshops/:workshop_id"
@ -1722,6 +1887,12 @@ articles.workshops.headings.facilitators:
- Create-workshop--conferences.MyBikeBike.workshops.1-1
- Create-workshop--conferences.MyBikeBike.workshops.1-2
- Create-workshop--conferences.MyBikeBike.workshops.1-3
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
roles.workshops.facilitator.creator:
pages:
- "/conferences/:slug/workshops/:workshop_id"
@ -1774,6 +1945,41 @@ forms.actions.generic.cancel:
- "/conferences/:slug/workshops/:workshop_id/delete"
examples:
- Create-workshop--conferences.MyBikeBike.workshops.1.delete
geography.subregions.MX.Jal.:
pages:
- "/"
examples:
- Be-the-first-to-like-a-workshop--
- Like-a-workshop--
geography.countries.MX:
pages:
- "/"
examples:
- Be-the-first-to-like-a-workshop--
- Like-a-workshop--
forms.actions.generic.show_interest:
pages:
- "/conferences/:slug/workshops/:workshop_id"
examples:
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-2
- Like-a-workshop--conferences.MyBikeBike.workshops.1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-2
articles.workshops.info.you_are_interested_count:
pages:
- "/conferences/:slug/workshops/:workshop_id"
context: You and 0 others are interested in this workshop
vars:
- :count
examples:
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
forms.actions.generic.remove_interest:
pages:
- "/conferences/:slug/workshops/:workshop_id"
examples:
- Be-the-first-to-like-a-workshop--conferences.MyBikeBike.workshops.1-1
- Like-a-workshop--conferences.MyBikeBike.workshops.1-1
page_titles.conferences.Email_Participants:
pages:
- "/conferences/:slug/broadcast"

160
config/locales/en.yml

@ -32,15 +32,15 @@ en:
- Friday
- Saturday
formats:
default: '%Y-%m-%d'
long: '%B %d, %Y'
short: '%b %d'
span_same_month_date_1: '%B %e'
span_same_month_date_2: '%e, %Y'
span_same_year_date_1: '%B %e'
span_same_year_date_2: '%B %e, %Y'
span_different_year_date_1: '%B %e, %Y'
span_different_year_date_2: '%B %e, %Y'
default: "%Y-%m-%d"
long: "%B %d, %Y"
short: "%b %d"
span_same_month_date_1: "%B %e"
span_same_month_date_2: "%e, %Y"
span_same_year_date_1: "%B %e"
span_same_year_date_2: "%B %e, %Y"
span_different_year_date_1: "%B %e, %Y"
span_different_year_date_2: "%B %e, %Y"
month_names:
-
- January
@ -59,7 +59,7 @@ en:
- year
- month
- day
date_span: '%{date_1} – %{date_2}'
date_span: "%{date_1} – %{date_2}"
datetime:
distance_in_words:
about_x_hours:
@ -86,16 +86,16 @@ en:
other: over %{count} years
x_days:
one: 1 day
other: '%{count} days'
other: "%{count} days"
x_minutes:
one: 1 minute
other: '%{count} minutes'
other: "%{count} minutes"
x_months:
one: 1 month
other: '%{count} months'
other: "%{count} months"
x_seconds:
one: 1 second
other: '%{count} seconds'
other: "%{count} seconds"
prompts:
day: Day
hour: Hour
@ -104,7 +104,7 @@ en:
second: Seconds
year: Year
errors:
format: '%{attribute} %{message}'
format: "%{attribute} %{message}"
messages:
accepted: must be accepted
blank: can't be blank
@ -155,7 +155,7 @@ en:
body: 'There were problems with the following fields:'
header:
one: 1 error prohibited this %{model} from being saved
other: '%{count} errors prohibited this %{model} from being saved'
other: "%{count} errors prohibited this %{model} from being saved"
helpers:
select:
prompt: Please select
@ -166,22 +166,22 @@ en:
number:
currency:
format:
delimiter: ','
format: '%u%n'
delimiter: ","
format: "%u%n"
precision: 2
separator: .
separator: "."
significant: false
strip_insignificant_zeros: false
unit: $
unit: "$"
format:
delimiter: ','
delimiter: ","
precision: 3
separator: .
separator: "."
significant: false
strip_insignificant_zeros: false
human:
decimal_units:
format: '%n %u'
format: "%n %u"
units:
billion: Billion
million: Million
@ -195,7 +195,7 @@ en:
significant: true
strip_insignificant_zeros: true
storage_units:
format: '%n %u'
format: "%n %u"
units:
byte:
one: Byte
@ -207,21 +207,21 @@ en:
percentage:
format:
delimiter: ''
format: '%n%'
format: "%n%"
precision:
format:
delimiter: ''
support:
array:
last_word_connector: ', and '
two_words_connector: ' and '
words_connector: ', '
last_word_connector: ", and "
two_words_connector: " and "
words_connector: ", "
time:
am: am
formats:
default: '%a, %d %b %Y %H:%M:%S %z'
long: '%l%P, %B %e, %Y'
short: '%d %b %H:%M'
default: "%a, %d %b %Y %H:%M:%S %z"
long: "%l%P, %B %e, %Y"
short: "%d %b %H:%M"
pm: pm
languages:
af: Afrikaans
@ -304,7 +304,7 @@ en:
AT: Austria
AU: Australia
AW: Aruba
AX: Åland
AX: "Åland"
AZ: Azerbaijan
BA: Bosnia and Herzegovina
BB: Barbados
@ -637,6 +637,7 @@ en:
VER: Veracruz
YUC: Yucatán
ZAC: Zacatecas
Jal: Jalisco
MY:
JHR: Johor
KDH: Kedah
@ -996,9 +997,9 @@ en:
- Zambia
- Zimbabwe
street_address:
- '#####'
- '####'
- '###'
- "#####"
- "####"
- "###"
street_suffix:
- Alley
- Avenue
@ -1229,8 +1230,8 @@ en:
- 'Apt. ###'
- 'Suite ###'
postcode:
- '#####'
- '#####-####'
- "#####"
- "#####-####"
state:
- Alabama
- Alaska
@ -5133,37 +5134,37 @@ en:
- :last_name
phone_number:
formats:
- '###-###-####'
- (###)###-####
- "###-###-####"
- "(###)###-####"
- 1-###-###-####
- '###.###.####'
- '###-###-####'
- (###)###-####
- "###.###.####"
- "###-###-####"
- "(###)###-####"
- 1-###-###-####
- '###.###.####'
- '###-###-#### x###'
- (###)###-#### x###
- "###.###.####"
- "###-###-#### x###"
- "(###)###-#### x###"
- 1-###-###-#### x###
- '###.###.#### x###'
- '###-###-#### x####'
- (###)###-#### x####
- "###.###.#### x###"
- "###-###-#### x####"
- "(###)###-#### x####"
- 1-###-###-#### x####
- '###.###.#### x####'
- '###-###-#### x#####'
- (###)###-#### x#####
- "###.###.#### x####"
- "###-###-#### x#####"
- "(###)###-#### x#####"
- 1-###-###-#### x#####
- '###.###.#### x#####'
- "###.###.#### x#####"
translate:
pages:
Locale_Translations: '%{language} Translations'
Locale_Translations: "%{language} Translations"
Enabled_Locales: Enabled Locales
Incomplete_Locales: Incomplete Locales
Other_Locales: Other Locales
pages: 'Pages:'
context_title: 'Context:'
context:
one: '%{context}'
other: '%{context} (× %{count})'
one: "%{context}"
other: "%{context} (× %{count})"
contexts:
character: character
sentence: sentence
@ -5192,7 +5193,7 @@ en:
explain_zero_fallback: This translation will use the plural version for the
number 0
History: History
Locale_Translation: '%%{language} Translation'
Locale_Translation: "%%{language} Translation"
Save: Save
content:
needs_translations: This page contains untranslated content
@ -5209,20 +5210,20 @@ en:
become_a_volunteer: Become a volunteer translator
volunteer: Can you help us translate it?
site:
locale_is_available: '%{site_name} is available in %{language}.'
locale_is_available: "%{site_name} is available in %{language}."
go_to_locale: See the %{language} site now
locale_not_available: Sorry, %{site_name} is not currently available in %{language}.
locale_needs_help: Can you help us translate the site into %{language}?
translation_pages:
Locale_Translations: '%{language} Translations'
Locale_Translations: "%{language} Translations"
Enabled_Locales: Enabled Locales
Incomplete_Locales: Incomplete Locales
Other_Locales: Other Locales
pages: 'Pages:'
context_title: 'Context:'
context:
one: '%{context}'
other: '%{context} (× %{count})'
one: "%{context}"
other: "%{context} (× %{count})"
contexts:
character: character
sentence: sentence
@ -5312,6 +5313,10 @@ en:
Your_Workshops: Your Workshops
payment_confirm: Please confirm your payment
Preview: Preview
city: City
date: Date
email: Email
fees_paid: Fees Paid
paragraphs:
Policy_Agreement: Safer Space Agreement
Confirm_Agreement: By clicking the "I Agree" button, you are pledging to do
@ -5324,7 +5329,7 @@ en:
Payment is by donation and can be done now or upon arrival but to help us
fund the conference, we ask that you pay the registration donation as soon
as you can.
currency: (amounts are in $USD)
currency: "(amounts are in $USD)"
email_confirm: Go to your inbox! You should see an email from Bike!Bike! in
just a few moments. There will be a link in the email for you to click on.
Check your spam box if you do not see it. If you encounter any problems,
@ -5366,7 +5371,7 @@ en:
tent: Tent Space
bikes:
medium: Medium
none: (none)
none: "(none)"
actions:
View_Workshops: View Workshops
notes:
@ -5440,6 +5445,7 @@ en:
become one after logging in.
workshops:
headings:
Proposed_Workshops: Proposed Workshops
facilitators: Facilitators
languages: Languages
needs: Needs
@ -5450,6 +5456,7 @@ en:
Workshops: Workshops
Your_Workshops: Your Workshops
paragraphs:
Proposed_Workshops: Would you like to facilitate your own workshop? Simply register and visit the workshops page. If you have already registered you can access the page by restarting the registration process.
info: Please accurately describe your workshop in detail. This will help hosts
decide if they wish to add it to the schedule and when it should best be
scheduled. Enter normal text but if you want to get fancy you can use [Markdown](http://daringfireball.net/projects/markdown/basics)
@ -5471,6 +5478,15 @@ en:
we want to hear about everyone’s experience within the many configurations
of community shops we’re coming from.
notes: Notes are only viewable by conference hosts and workshop facilitators
info:
interested_count:
one: One person is interested in this workshop
other: "%{count} people are interested in this workshop"
zero: No one is interested in this workshop yet
you_are_interested_count:
one: You and one other are interested in this workshop
other: You and %{count} others are interested in this workshop
zero: You are interested in this workshop
section_content:
bikebike:
about_bikebike: Bike!Bike! is an international annual gathering organized by
@ -5509,6 +5525,8 @@ en:
edit: Edit
send: Send
skip: Skip
remove_interest: "-1"
show_interest: "+1"
page_titles:
'403':
Please_Confirm_Email: Please confirm your email
@ -5540,6 +5558,8 @@ en:
text:
File_an_Issue: File an issue
Help_contribute: Help contribute
download:
Excel: Download Data in Excel Format
page_descriptions:
home: Bike!Bike! A conference for bike collectives, co-ops, non-profit DIY bike
shops
@ -5594,7 +5614,15 @@ en:
please_confirm: Confirm now
subject:
confirm_email: Confirmation Email
acticles:
conferences:
headings:
Proposed_Workshops: Proposed Workshops
registration_confirmed: Thank you for registering for %{conference_title}
general:
paragraph:
see_you: See you in %{conference_location}!
thank_you: Thank you %{name},
registration:
paragraph:
confirmed: You have successfully registered for %{conference_title}. You can
modify your registration details, pay, or add workshops at any time by restarting
the registration process. If you have yet to pay or add your workshops and
plan to do so, we ask that you take care of it as soon as possible to help
us prepare in advance of your arrival.

155
config/locales/es.yml

@ -32,11 +32,11 @@ es:
- viernes
- sábado
formats:
default: '%d/%m/%Y'
long: '%d de %B de %Y'
short: '%d de %b'
span_same_month_date_2: '%e, %Y'
span_same_month_date_1: '%B %e'
default: "%d/%m/%Y"
long: "%d de %B de %Y"
short: "%d de %b"
span_same_month_date_2: "%e, %Y"
span_same_month_date_1: "%B %e"
month_names:
-
- enero
@ -55,7 +55,7 @@ es:
- :day
- :month
- :year
date_span: '%{date_1} – %{date_2}'
date_span: "%{date_1} – %{date_2}"
datetime:
distance_in_words:
about_x_hours:
@ -82,16 +82,16 @@ es:
other: más de %{count} años
x_days:
one: 1 día
other: '%{count} días'
other: "%{count} días"
x_minutes:
one: 1 minuto
other: '%{count} minutos'
other: "%{count} minutos"
x_months:
one: 1 mes
other: '%{count} meses'
other: "%{count} meses"
x_seconds:
one: 1 segundo
other: '%{count} segundos'
other: "%{count} segundos"
prompts:
day: Día
hour: Hora
@ -100,11 +100,10 @@ es:
second: Segundos
year: Año
errors:
format: '%{attribute} %{message}'
format: "%{attribute} %{message}"
messages:
accepted: debe ser aceptado
blank: no puede estar en blanco
present: debe estar en blanco
confirmation: no coincide
empty: no puede estar vacío
equal_to: debe ser igual a %{count}
@ -120,13 +119,14 @@ es:
not_an_integer: debe ser un entero
odd: debe ser impar
record_invalid: 'La validación falló: %{errors}'
restrict_dependent_destroy:
one: No se puede eliminar el registro porque existe un %{record} dependiente
many: No se puede eliminar el registro porque existen %{record} dependientes
taken: ya está en uso
too_long: es demasiado largo (%{count} caracteres máximo)
too_short: es demasiado corto (%{count} caracteres mínimo)
wrong_length: no tiene la longitud correcta (%{count} caracteres exactos)
present: debe estar en blanco
restrict_dependent_destroy:
one: No se puede eliminar el registro porque existe un %{record} dependiente
many: No se puede eliminar el registro porque existen %{record} dependientes
other_than: debe ser distinto de %{count}
template:
body: 'Se encontraron problemas con los siguientes campos:'
@ -143,22 +143,22 @@ es:
number:
currency:
format:
delimiter: .
format: '%n %u'
delimiter: "."
format: "%n %u"
precision: 2
separator: ','
separator: ","
significant: false
strip_insignificant_zeros: false
unit:
unit: "€"
format:
delimiter: .
delimiter: "."
precision: 3
separator: ','
separator: ","
significant: false
strip_insignificant_zeros: false
human:
decimal_units:
format: '%n %u'
format: "%n %u"
units:
billion: mil millones
million: millón
@ -172,7 +172,7 @@ es:
significant: true
strip_insignificant_zeros: true
storage_units:
format: '%n %u'
format: "%n %u"
units:
byte:
one: Byte
@ -189,19 +189,19 @@ es:
delimiter: ''
support:
array:
last_word_connector: ', y '
two_words_connector: ' y '
words_connector: ', '
last_word_connector: ", y "
two_words_connector: " y "
words_connector: ", "
time:
am: am
formats:
default: '%A, %d de %B de %Y %H:%M:%S %z'
long: '%d de %B de %Y %H:%M'
short: '%d de %b %H:%M'
default: "%A, %d de %B de %Y %H:%M:%S %z"
long: "%d de %B de %Y %H:%M"
short: "%d de %b %H:%M"
pm: pm
languages:
af: afrikáans
ar: árabe
ar: "árabe"
az: azerí
bg: búlgaro
bn: bengalí
@ -697,14 +697,14 @@ es:
conference_registration:
headings:
Registration_Info: Registro
arrival_and_departure: ¿Que día llegas a Guadalajara?
allergies: ¿Eres alergico a algo?
languages: ¿Hablas?
food: ¿Que comes?
arrival_and_departure: "¿Que día llegas a Guadalajara?"
allergies: "¿Eres alergico a algo?"
languages: "¿Hablas?"
food: "¿Que comes?"
Enter_Your_Email: Correo electrónico
location: Ciudad y pais 
name: Nombre
Allergies: ¿Eres alergico a algo?
Allergies: "¿Eres alergico a algo?"
Workshops: Actividades
Your_Workshops: Actividades
Policy_Agreement: Acuerdo del Espacio Mas Seguro
@ -712,15 +712,19 @@ es:
Stats: Estadísticas
Payment: Pago
Your_Registration: Tu registro
Youre_Done: ¡Estás listx!
Youre_Done: "¡Estás listx!"
arrival: Llegada
bike: ¿Necesitas una bici?
bike: "¿Necesitas una bici?"
departure: Salida
email_confirm: Confirmar correo electrónico
housing: ¿Necesitas hospedaje?
other: ¿Hay algo más que quisieras decirnos?
housing: "¿Necesitas hospedaje?"
other: "¿Hay algo más que quisieras decirnos?"
payment: Cargos pagados
payment_confirm: Por favor confirma tu pago
city: Ciudad
date: Fecha
email: Email
fees_paid: Cargos pagados
paragraphs:
Registration_Info: Por favor llena esta forma de registro para ayudarnos a
prepararnos para tu llegada a Guadalajara. Si tienes alguna pregunta o información
@ -743,12 +747,12 @@ es:
al ser confirmada podrás completar el registro, agregar talleres y pagar
el donativo de registro. Si ya te registraste puedes re-confirmar tu dirección
de e-mail para modificar los detalles de tu registro.
currency: (cantidades en dólares americanos $USD)
done: ¡Gracias por registrarte para Bike!Bike!
email_confirm: ¡Ve a tu bandeja de entrada! Deberías ver un e-mail por parte
currency: "(cantidades en dólares americanos $USD)"
done: "¡Gracias por registrarte para Bike!Bike!"
email_confirm: "¡Ve a tu bandeja de entrada! Deberías ver un e-mail por parte
de Bike!Bike! en unos momentos. Contendrá un enlace sobre el cual debes
hacer click. Revisa tu bandeja de correo no deseado si no lo ves. Si tienes
algún problema, por favor envía un e-mail a admin@bikebike.org
algún problema, por favor envía un e-mail a admin@bikebike.org"
participants_emailed: Tu correo ha sido enviado a todxs lxs participantes
de %{conference_title}.
payment_confirm: Estás por confirmar tu pago de %{amount} para el registro.
@ -778,7 +782,7 @@ es:
Total_Registrations: Registros totales
actions:
View_Workshops: Ver Talleres
none: (ninguno)
none: "(ninguno)"
notes:
Test_Email_Sent: Un email fue enviado a %{email_address}
about_bikebike:
@ -814,14 +818,14 @@ es:
sobre cómo puedes obtener hospedaje por tu cuenta y otros lugares recomendados
para visitar, también debe ser proveída por el anfitrión en la página de
la conferencia o en un documento físico al llegar a la conferencia. '
Volunteer: '¡Sí, por favor! '
Volunteer: "¡Sí, por favor! "
headings:
Amenities: ¿Dónde puedo dormir? ¿Qué puedo comer? ¿Cómo puedo moverme?
Types_of_Workshops: ¿Qué tipo de talleres habrá?
Volunteer: ¿Puedo ser voluntario?
What_is_BikeBike: ¿Qué es Bike!Bike!?
Who_is_Invited: ¿Quién es invitado?
bicycle_project: ¿Qué es un proyecto ciclista comunitario?
Amenities: "¿Dónde puedo dormir? ¿Qué puedo comer? ¿Cómo puedo moverme?"
Types_of_Workshops: "¿Qué tipo de talleres habrá?"
Volunteer: "¿Puedo ser voluntario?"
What_is_BikeBike: "¿Qué es Bike!Bike!?"
Who_is_Invited: "¿Quién es invitado?"
bicycle_project: "¿Qué es un proyecto ciclista comunitario?"
term:
education: Los talleres tienen un enfoque en la educación, en enseñar a otros
cómo arreglar bicicletas
@ -834,14 +838,17 @@ es:
volunteer_run: Los talleres son operados por voluntarios
workshops:
paragraphs:
Proposed_Workshops: "¿Te gustaría facilitar tu propio taller? Simplemente
regístrate y visita la página de Talleres. Si ya te registraste puedes acceder
a la página reiniciando el proceso de registro."
info: 'Título de la actividad: Que necesitas? Tipo de espacio? Tema? Quién
es responsable? Descripción? Tiempo?'
Workshops: ¿Tienes alguna habilidad emocionante que quieres compartir con
Workshops: "¿Tienes alguna habilidad emocionante que quieres compartir con
nosotros? ¿Quieres charlar sobre crear espacios comunitarios seguros? ¿Quieres
asegurarte de que hagamos un buen paseo el fin de semana? ¡Propón un taller!
No te preocupes si no eres unx expertx, queremos escuchar acerca de las
experiencias de todxs dentro de los diferentes talleres comunitarios de
los que venimos con sus diferentes configuraciones.
los que venimos con sus diferentes configuraciones."
new_workshop: 'Anteriormente los talleres se han podido integrar en una serie
de categorías amplias: organización/estructura (cómo iniciar un taller comunitario,
cómo registrar una asociación sin fines de lucro, toma de decisiones mediante
@ -853,11 +860,12 @@ es:
ver!'
notes: Las notas se comparten solo con lxs organizadorxs de la conferencia
y con lxs facilitadorxs de los talleres.
space: ¿Qué tipo de espacio necesitas para tu taller?
theme: ¿Cuáles de estos temas describen mejor tu taller? Esto ayudará a los
space: "¿Qué tipo de espacio necesitas para tu taller?"
theme: "¿Cuáles de estos temas describen mejor tu taller? Esto ayudará a los
anfitriones a evitar conflictos de horario. Seleciona 'otro' si ninguna
de las opciones se relaciona de ninguna forma.
de las opciones se relaciona de ninguna forma."
headings:
Proposed_Workshops: Talleres propuestos
facilitators: facilitadores
Delete_Workshop: Eliminar Actividad
Workshops: Talleres
@ -870,8 +878,8 @@ es:
policy:
headings:
The_Agreement: Acuerdo de Espacios Más Seguros
How: ¿Cómo se hace cumplir esta política?
Why: ¿Porqué tener un Acuerdo de Espacios Más Seguros?
How: "¿Cómo se hace cumplir esta política?"
Why: "¿Porqué tener un Acuerdo de Espacios Más Seguros?"
paragraphs:
How: La ciudad anfitriona tiene la responsabilidad de mediar en cualquier
situación concerniente a Espacios Más Seguros. Ellas decidirán qué amerita
@ -945,6 +953,8 @@ es:
text:
Help_contribute: Ayuda o contribuye
File_an_Issue: Reportar un problema
download:
Excel: Descarga los datos en formato excel
page_titles:
About_BikeBike: Acerca de Bike!Bike!
about:
@ -978,7 +988,7 @@ es:
translate:
content:
translate_now: Translar ahora
can_you_help: ¿Se puede traducir del %%{language_a} al %%{language_b}?
can_you_help: "¿Se puede traducir del %%{language_a} al %%{language_b}?"
outdated_translation: El contenido que ha sido superado
translation_out_of_date: Contenido traducido en esta página puede no ser exacta
un_translated: Contenido sin traducir
@ -1002,9 +1012,10 @@ es:
other: plural
two: dos
Incomplete_Locales: Incomplete Languages
Locale_Translations: '%{language} Traducciones'
Locale_Translations: "%{language} Traducciones"
context:
other: '%{context} (× %{count})'
other: "%{context} (× %{count})"
one: "%{context}"
context_title: 'Contexto:'
default_value: Predeterminado
no_value: Indefinido
@ -1024,12 +1035,12 @@ es:
variables: Variables
site:
go_to_locale: Ver el sitio %%{language} ahora
locale_is_available: '%%{site_name} está disponible en %%{language}'
locale_needs_help: ¿Puedes ayudar a traducir el sitio al %%{language}?
locale_is_available: "%%{site_name} está disponible en %%{language}"
locale_needs_help: "¿Puedes ayudar a traducir el sitio al %%{language}?"
locale_not_available: Lo sentimos, %%{site_name} no está disponible en %%{language}.
volunteer:
become_a_volunteer: Conviértete en un traductor voluntario
volunteer: ¿Puedes ayudar a traducir esto?
volunteer: "¿Puedes ayudar a traducir esto?"
menu:
submenu:
registration:
@ -1046,14 +1057,14 @@ es:
link:
please_confirm: Confirmar ahora
paragraph:
please_confirm: ¡Hola! Para ingresar al registro y otras funciones de Bike!Bike!
confirma tu dirección de e-mail por favor.
please_confirm: "¡Hola! Para ingresar al registro y otras funciones de Bike!Bike!
confirma tu dirección de e-mail por favor."
subject:
confirm_email: E-mail de confirmación
registration_confirmed: ¡Gracias por registrarte para %%{conference_title}!
registration_confirmed: "¡Gracias por registrarte para %%{conference_title}!"
general:
paragraph:
see_you: ¡Nos vemos en %{conference_location}!
see_you: "¡Nos vemos en %{conference_location}!"
thank_you: Gracias %{name},
registration:
paragraph:
@ -1083,11 +1094,3 @@ es:
organization: Asuntos organizacionales
other: Otro
race_gender: Políticas de raza, género o clase
acticles:
conferences:
headings:
Proposed_Workshops: Talleres propuestos
paragraphs:
Proposed_Workshops: ¿Te gustaría facilitar tu propio taller? Simplemente regístrate
y visita la página de Talleres. Si ya te registraste puedes acceder a la
página reiniciando el proceso de registro.

1
config/routes.rb

@ -10,6 +10,7 @@ BikeBike::Application.routes.draw do
match '/conferences/:slug/workshops/create' => 'conferences#create_workshop', :as => :create_workshop, via: [:get, :post]
post '/conferences/:slug/workshops/save' => 'conferences#save_workshop', :as => :save_workshop
get '/conferences/:slug/workshops/:workshop_id' => 'conferences#view_workshop', :as => :view_workshop
post '/conferences/:slug/workshops/:workshop_id/toggle-interest' => 'conferences#toggle_workshop_interest', :as => :toggle_workshop_interest
match '/conferences/:slug/workshops/:workshop_id/edit' => 'conferences#edit_workshop', :as => :edit_workshop, via: [:get, :post]
match '/conferences/:slug/workshops/:workshop_id/delete' => 'conferences#delete_workshop', :as => :delete_workshop, via: [:get, :post]
get '/conferences/:slug/edit' => 'conferences#edit', :as => :edit_conference

10
db/migrate/20150912010105_create_workshop_interests.rb

@ -0,0 +1,10 @@
class CreateWorkshopInterests < ActiveRecord::Migration
def change
create_table :workshop_interests do |t|
t.integer :workshop_id
t.integer :user_id
t.timestamps null: false
end
end
end

9
db/schema.rb

@ -11,7 +11,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20150821005002) do
ActiveRecord::Schema.define(version: 20150912010105) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@ -326,6 +326,13 @@ ActiveRecord::Schema.define(version: 20150821005002) do
t.datetime "updated_at"
end
create_table "workshop_interests", force: :cascade do |t|
t.integer "workshop_id"
t.integer "user_id"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
create_table "workshop_presentation_styles", force: :cascade do |t|
t.string "name"
t.string "slug"

34
features/registration_page.feature

@ -5,6 +5,7 @@ Feature: Registration Page
Scenario: Start registration from landing page
Given There is an upcoming conference in Halifax NS
And Registration is open
And a workshop titled My Awesome Workshop exists
And I am on the landing page
Then I see the Bike!Bike! logo
@ -110,6 +111,39 @@ Feature: Registration Page
And I should not see My Workshop Title
And I should not see Super Awesome Workshop
Scenario: Be the first to like a workshop
Given There is an upcoming conference in Guadalajara Mexico
And Registration is open
And I am logged in as somebody@bikebike.org
And My name is John Doe
And I am registered for the conference
And a workshop exists
And I view the workshop
Then I should see No one is interested
Then click on toggle_interest button
Then I should see You are interested
Then I click on toggle_interest button
Then I should see No one is interested
Scenario: Like a workshop
Given There is an upcoming conference in Guadalajara Mexico
And Registration is open
And I am logged in as somebody@bikebike.org
And My name is John Doe
And I am registered for the conference
And a workshop exists
And 4 people are interested in the workshop
And I view the workshop
Then I should see 4 people are interested
Then click on toggle_interest button
Then I should see You and 4 others are interested
Then I click on toggle_interest button
Then I should see 4 people are interested
Scenario: Broadcast message
Given There is an upcoming conference in San Marcos TX
And Registration is open

17
features/step_definitions/interface_steps.rb

@ -1,3 +1,5 @@
require 'forgery'
Given(/^(I )?(am on |visit )the (.+) page$/) do |a, b, page_name|
visit path_to(page_name)
end
@ -96,6 +98,21 @@ Given(/^an organization( named .+)? exists( in .+)?$/) do |name, location|
end
end
Given(/^a workshop( titled .+)? exists?$/) do |title|
workshop = Workshop.new
workshop.conference_id = @last_conference.id
workshop.title = title ? title.gsub(/^\s*titled\s*(.*?)\s*$/, '\1') : Forgery::LoremIpsum.sentence({:random => true}).gsub(/\.$/, '').titlecase
workshop.info = Forgery::LoremIpsum.paragraph({:random => true})
workshop.save
@last_workshop = workshop
end
Given(/^(\d+) (person is|people are) interested in the workshop$/) do |interested,a|
(1..interested.to_i).each do |i|
WorkshopInterest.create(workshop_id: @last_workshop.id, user_id: (@my_account ? @my_account.id + 1 : 1000) + i)
end
end
Given(/^Registration is (open|closed)$/) do |status|
@last_conference.registration_open = (status == 'open')
@last_conference.save!

Loading…
Cancel
Save