Browse Source

Multiple fixes for prod

development
Godwin 7 years ago
parent
commit
c28566e210
  1. 33
      app/assets/stylesheets/_application.scss
  2. 41
      app/controllers/application_controller.rb
  3. 6
      app/controllers/conference_administration_controller.rb
  4. 3
      app/helpers/admin_helper.rb
  5. 4
      app/views/application/user_settings.html.haml
  6. 30
      app/views/conference_administration/_administrators.html.haml
  7. 29
      app/views/conference_administration/_broadcast.html.haml
  8. 4
      app/views/conference_administration/_publish_schedule.html.haml
  9. 21
      app/views/conferences/_conference.html.haml
  10. 2
      app/views/conferences/view.html.haml
  11. 59
      config/locales/en.yml
  12. 2
      config/unicorn.rb
  13. 6
      features/step_definitions/users.rb

33
app/assets/stylesheets/_application.scss

@ -530,10 +530,6 @@ button,
#main &[type="submit"] { #main &[type="submit"] {
background-color: $colour-5; background-color: $colour-5;
&[value="send"] {
background-color: $colour-4;
}
} }
&.register { &.register {
@ -553,6 +549,11 @@ button,
background-color: $red; background-color: $red;
} }
&.warning,
#main &.warning {
background-color: $orange;
}
&.subdued, #main &.subdued { &.subdued, #main &.subdued {
background-color: #888; background-color: #888;
} }
@ -647,7 +648,7 @@ button,
display: flex; display: flex;
text-align: right; text-align: right;
justify-content: center; justify-content: center;
flex-wrap: wrap; @include _(flex-wrap, wrap);
button, .button { button, .button {
margin: 0.333em; margin: 0.333em;
@ -2418,8 +2419,9 @@ a.logo {
margin: 0; margin: 0;
.title { .title {
@include _(flex, 1);
font-size: 5vw; font-size: 5vw;
margin: 1em auto 0; margin: 0;
h1, h2 { h1, h2 {
margin: 0; margin: 0;
@ -2439,6 +2441,19 @@ a.logo {
max-width: 100%; max-width: 100%;
margin-top: 2em; margin-top: 2em;
} }
figure {
margin: 0;
}
.register-link {
font-size: 1.25em;
margin: 0.5em;
.button {
@include _(animation, radiate 2s linear infinite alternate);
}
}
} }
.conference-details { .conference-details {
@ -2941,6 +2956,10 @@ body {
to { background-position: 60px 30px; } to { background-position: 60px 30px; }
} }
@include keyframes(radiate) {
to { background-color: $green; }
}
html :focus { html :focus {
outline: 0; outline: 0;
} }
@ -3608,6 +3627,8 @@ body.policy .policy-agreement ul {
} }
.conference-banner { .conference-banner {
@include _-(display, flex);
@include _(flex-wrap, wrap);
margin: 0 auto; margin: 0 auto;
width: 100%; width: 100%;

41
app/controllers/application_controller.rb

@ -96,26 +96,29 @@ class ApplicationController < BaseController
logger.info "A JavaScript error has occurred on #{params[:location]}:#{params[:lineNumber]}: #{params[:message]}" logger.info "A JavaScript error has occurred on #{params[:location]}:#{params[:lineNumber]}: #{params[:message]}"
if Rails.env.preview? || Rails.env.production? if Rails.env.preview? || Rails.env.production?
request_info = { # don't worry about bots
'remote_ip' => request.remote_ip, unless request.user_agent =~ /Googlebot/
'uuid' => request.uuid, request_info = {
'original_url' => request.original_url, 'remote_ip' => request.remote_ip,
'env' => Hash.new 'uuid' => request.uuid,
} 'original_url' => request.original_url,
request.env.each do |key, value| 'env' => Hash.new
request_info['env'][key.to_s] = value.to_s }
end request.env.each do |key, value|
request_info['env'][key.to_s] = value.to_s
end
send_mail(:error_report, send_mail(:error_report,
"A JavaScript error has occurred", "A JavaScript error has occurred",
report, report,
params[:message], params[:message],
nil, nil,
request_info, request_info,
params, params,
current_user, current_user,
Time.now.strftime("%d/%m/%Y %H:%M") Time.now.strftime("%d/%m/%Y %H:%M")
) )
end
end end
rescue Exception => exception2 rescue Exception => exception2
logger.info exception2.to_s logger.info exception2.to_s

6
app/controllers/conference_administration_controller.rb

@ -1095,7 +1095,7 @@ class ConferenceAdministrationController < ApplicationController
do_404 do_404
end end
return true return nil
end end
def admin_update_housing def admin_update_housing
@ -1155,7 +1155,7 @@ class ConferenceAdministrationController < ApplicationController
) )
end end
redirect_to administration_step_path(@this_conference.slug, :broadcast_sent) redirect_to administration_step_path(@this_conference.slug, :broadcast_sent)
return true return nil
elsif params[:button] == 'preview' elsif params[:button] == 'preview'
@send_to_count = view_context.broadcast_to(@send_to).size @send_to_count = view_context.broadcast_to(@send_to).size
@broadcast_step = :preview @broadcast_step = :preview
@ -1170,7 +1170,7 @@ class ConferenceAdministrationController < ApplicationController
) )
@send_to_count = view_context.broadcast_to(@send_to).size @send_to_count = view_context.broadcast_to(@send_to).size
end end
return false return true
end end
def admin_update_locations def admin_update_locations

3
app/helpers/admin_helper.rb

@ -50,7 +50,8 @@ module AdminHelper
def administration_sub_steps def administration_sub_steps
{ {
location_edit: :locations, location_edit: :locations,
event_edit: :events event_edit: :events,
broadcast_sent: :broadcast
} }
end end

4
app/views/application/user_settings.html.haml

@ -1,4 +1,4 @@
= render :partial => 'application/header', :locals => {:image_file => @banner_image || 'grafitti.jpg'} = render partial: 'application/header', locals: {image_file: @banner_image || 'grafitti.jpg'}
%article %article
= row do = row do
= columns do = columns do
@ -18,7 +18,7 @@
= checkboxes :languages, User.AVAILABLE_LANGUAGES, (current_user.languages || [I18n.locale]).map(&:to_sym), 'languages', heading: 'articles.conference_registration.headings.languages' = checkboxes :languages, User.AVAILABLE_LANGUAGES, (current_user.languages || [I18n.locale]).map(&:to_sym), 'languages', heading: 'articles.conference_registration.headings.languages'
= radiobuttons :preferred_language, I18n.backend.enabled_locales, current_user.locale || I18n.locale, 'languages', heading: 'articles.conference_registration.headings.preferred_language' = radiobuttons :preferred_language, I18n.backend.enabled_locales, current_user.locale || I18n.locale, 'languages', heading: 'articles.conference_registration.headings.preferred_language'
= checkbox :email_subscribe, current_user.is_subscribed != false, 'articles.user_settings.email_subscribe', heading: 'articles.user_settings.headings.email_subscribe', help: 'articles.user_settings.paragraphs.email_subscribe', inline: true, right_help: true = checkbox :email_subscribe, current_user.is_subscribed != false, 'articles.user_settings.email_subscribe', heading: 'articles.user_settings.headings.email_subscribe', help: 'articles.user_settings.paragraphs.email_subscribe', inline: true, right_help: true
.actions .actions.center
= button :save, value: :save = button :save, value: :save
- else - else
%h2=_'forms.actions.generic.login' %h2=_'forms.actions.generic.login'

30
app/views/conference_administration/_administrators.html.haml

@ -1,4 +1,19 @@
= columns(large: 8, push: { large: 2}) do = columns(large: 8, push: { large: 2}) do
%h3=_'articles.admin.info.headings.External_Administrators'
%p=_'articles.admin.info.descriptions.External_Administrators'
- if @this_conference.administrators.present?
.details.org-members
- @this_conference.administrators.each do | user |
= raw_data_set(:h5, user.name) do
= user.email
- unless user.id == current_user.id && !current_user.administrator?
= admin_update_form class: [:inline, :right] do
= hidden_field_tag :user_id, user.id
= button :remove_member, value: :remove_administrator, class: [:small, :delete]
= admin_update_form class: 'mini-flex-form' do
= userfield :email, nil, required: true
= button :add_member, value: :add_administrator, class: :small
%h3=_'articles.admin.info.headings.Host_Organizations' %h3=_'articles.admin.info.headings.Host_Organizations'
%p=_'articles.admin.info.descriptions.Host_Organizations', vars: { city_name: @this_conference.city.city } %p=_'articles.admin.info.descriptions.Host_Organizations', vars: { city_name: @this_conference.city.city }
= admin_update_form do = admin_update_form do
@ -22,20 +37,5 @@
= emailfield :email, nil, required: true = emailfield :email, nil, required: true
= button :add_member, value: :add_org_member, class: :small = button :add_member, value: :add_org_member, class: :small
%h3=_'articles.admin.info.headings.External_Administrators'
%p=_'articles.admin.info.descriptions.External_Administrators'
- if @this_conference.administrators.present?
.details.org-members
- @this_conference.administrators.each do | user |
= raw_data_set(:h5, user.name) do
= user.email
- unless user.id == current_user.id && !current_user.administrator?
= admin_update_form class: [:inline, :right] do
= hidden_field_tag :user_id, user.id
= button :remove_member, value: :remove_administrator, class: [:small, :delete]
= admin_update_form class: 'mini-flex-form' do
= userfield :email, nil, required: true
-#= emailfield :email, nil, required: true
= button :add_member, value: :add_administrator, class: :small
= columns(large: 2) do = columns(large: 2) do
&nbsp; &nbsp;

29
app/views/conference_administration/_broadcast.html.haml

@ -1,23 +1,26 @@
= columns(medium: 12) do = admin_update_form do
= admin_update_form do - if @broadcast_step == :preview || @broadcast_step == :test
- if @broadcast_step == :preview || @broadcast_step == :test = hidden_field_tag :subject, @subject
= hidden_field_tag :subject, @subject = hidden_field_tag :body, @body
= hidden_field_tag :body, @body = hidden_field_tag :send_to, @send_to
= hidden_field_tag :send_to, @send_to = columns(medium: 12) do
- if @broadcast_step == :preview - if @broadcast_step == :preview
%p= _'articles.conference_registration.paragraphs.admin.broadcast.test', vars: { send_to_count: "<strong>#{(@send_to_count || 0)}</strong>".html_safe } %p= (_'articles.conference_registration.paragraphs.admin.broadcast.test', vars: { send_to_count: "<strong>#{(@send_to_count || 0)}</strong>".html_safe }).html_safe
- else - else
.warning-info.make-room= _'articles.conference_registration.paragraphs.admin.broadcast.preview', vars: { send_to_count: "<strong>#{(@send_to_count || 0)}</strong>".html_safe } .warning-info.make-room=(_'articles.conference_registration.paragraphs.admin.broadcast.preview', vars: { send_to_count: "<strong>#{(@send_to_count || 0)}</strong>".html_safe }).html_safe
= columns(medium: 10, push: { medium: 1 }) do
.test-preview .test-preview
%h3=@subject %h3=@subject
= richtext @body, 4 = richtext @body, 4
.actions.right = columns(medium: 12) do
= button :test, value: :test, class: :secondary if @broadcast_step == :preview .actions.center
= button_with_confirmation :send, (_'modals.admin.broadcast.confirm', vars: { number: "<strong>#{(@send_to_count || 0)}</strong>".html_safe }), value: :send, class: :delete if @broadcast_step == :test = button :test, value: :test, class: :warning if @broadcast_step == :preview
= button_with_confirmation :send, (_'modals.admin.broadcast.confirm', vars: { number: "<strong>#{(@send_to_count || 0)}</strong>".html_safe }).html_safe, value: :send, class: :delete if @broadcast_step == :test
= button :edit, value: :edit = button :edit, value: :edit
- else - else
= columns(medium: 12) do
= selectfield :send_to, nil, broadcast_options, full: true = selectfield :send_to, nil, broadcast_options, full: true
= textfield :subject, @subject, required: true, big: true = textfield :subject, @subject, required: true, big: true
= textarea :body, @body, lang: @this_conference.locale, edit_on: :focus = textarea :body, @body, lang: @this_conference.locale, edit_on: :focus
.actions.right .actions.center
= button :preview, value: :preview = button :preview, value: :preview

4
app/views/conference_administration/_publish_schedule.html.haml

@ -2,7 +2,7 @@
= form_tag administration_update_path(@this_conference.slug, @admin_step) do = form_tag administration_update_path(@this_conference.slug, @admin_step) do
- if @this_conference.workshop_schedule_published - if @this_conference.workshop_schedule_published
%p=_'articles.conference_registration.paragraphs.admin.schedule.published', :p %p=_'articles.conference_registration.paragraphs.admin.schedule.published', :p
.actions= button :un_publish, value: :publish, class: :delete .actions.center= button :un_publish, value: :publish, class: :delete
- else - else
%p=_'articles.conference_registration.paragraphs.admin.schedule.un_published', :p %p=_'articles.conference_registration.paragraphs.admin.schedule.un_published', :p
.actions= button :publish, value: :publish .actions.center= button :publish, value: :publish

21
app/views/conferences/_conference.html.haml

@ -1,5 +1,6 @@
- links ||= [ :register ] - links ||= [ :register ]
- sections ||= [ :info ] - sections ||= [ :info ]
- is_registered = conference.registered?(current_user)
= row(tag: :header) do = row(tag: :header) do
= columns(class: 'conference-banner') do = columns(class: 'conference-banner') do
.title .title
@ -9,8 +10,11 @@
- if conference.start_date.present? && conference.end_date.present? - if conference.start_date.present? && conference.end_date.present?
.secondary .secondary
= date_span(conference.start_date.to_date, conference.end_date.to_date) = date_span(conference.start_date.to_date, conference.end_date.to_date)
.register-link
= (link_to (_'forms.actions.generic.register'), register_path(conference.slug), class: [:button, :register]) if links.include?(:register) && conference.can_register?
- if conference.poster.present? - if conference.poster.present?
%img{src: conference.poster.full.url, role: :presentation, alt: (_'images.conference.poster', vars: { conference_title: conference.title })} %figure
%img{src: conference.poster.full.url, role: :presentation, alt: (_'images.conference.poster', vars: { conference_title: conference.title })}
%article %article
= row(class: 'conference-details') do = row(class: 'conference-details') do
= columns(medium: 10, push: {medium: 1}) do = columns(medium: 10, push: {medium: 1}) do
@ -19,8 +23,14 @@
- conference.extended_details.each do |section| - conference.extended_details.each do |section|
- if sections.include?(section) && conference.copy_data[section][:show] - if sections.include?(section) && conference.copy_data[section][:show]
%h3=(_ conference.copy_data[section][:heading], vars: conference.copy_data[section][:vars]) unless conference.copy_data[section][:heading] == false %h3=(_ conference.copy_data[section][:heading], vars: conference.copy_data[section][:vars]) unless conference.copy_data[section][:heading] == false
= richtext conference.copy_data[section][:value] = richtext conference.copy_data[section][:value], (conference.copy_data[section][:heading] == false ? 2 : 3)
.links
= (link_to (_(is_registered ? 'actions.conference.edit_registration' : 'forms.actions.generic.register')), register_path(conference.slug), class: [:button, :register]) if links.include?(:register) && conference.can_register?
= (link_to (_'articles.workshops.info.read_more'), conference_path(conference.slug), class: :button) if links.include?(:read_more)
= (link_to (_'forms.actions.generic.administrate'), administrate_conference_path(conference.slug), class: [:button]) if links.include?(:administrate)
= (link_to (_'forms.actions.generic.edit'), edit_conference_path(conference.slug), class: [:button, :subdued]) if links.include?(:edit)
- if conference.registration_status == :open && sections.include?(:workshops) - if conference.registration_status == :open && sections.include?(:workshops)
- if conference.workshop_schedule_published - if conference.workshop_schedule_published
- add_inline_script :home_schedule - add_inline_script :home_schedule
@ -30,9 +40,6 @@
%h3=_'articles.workshops.headings.Proposed_Workshops' %h3=_'articles.workshops.headings.Proposed_Workshops'
%p=_'articles.workshops.paragraphs.Proposed_Workshops' %p=_'articles.workshops.paragraphs.Proposed_Workshops'
= render 'workshops/workshop_previews', workshops: (conference.workshops.sort { |a, b| a.title.downcase <=> b.title.downcase }) = render 'workshops/workshop_previews', workshops: (conference.workshops.sort { |a, b| a.title.downcase <=> b.title.downcase })
.links .actions.center
= (link_to (_'forms.actions.generic.register'), register_path(conference.slug), class: [:button, :register]) if links.include?(:register) && conference.can_register? = link_to (_'actions.workshops.create'), create_workshop_path(conference.slug), class: [:button, :modify]
= (link_to (_'articles.workshops.info.read_more'), conference_path(conference.slug), class: :button) if links.include?(:read_more)
= (link_to (_'forms.actions.generic.administrate'), administrate_conference_path(conference.slug), class: [:button]) if links.include?(:administrate)
= (link_to (_'forms.actions.generic.edit'), edit_conference_path(conference.slug), class: [:button, :subdued]) if links.include?(:edit)

2
app/views/conferences/view.html.haml

@ -2,4 +2,4 @@
= @this_conference.poster.full.url || image_path('default_poster.jpg') = @this_conference.poster.full.url || image_path('default_poster.jpg')
- content_for :title do - content_for :title do
=@this_conference.title =@this_conference.title
= render 'conferences/conference', conference: @this_conference, links: @links, sections: [:info] + @this_conference.extended_details + [:workshops] = render 'conferences/conference', conference: @this_conference, links: @links, sections: [:info] + @this_conference.extended_details

59
config/locales/en.yml

@ -1321,8 +1321,8 @@ en:
events: Event saved events: Event saved
workshop_times: Workshop times saved workshop_times: Workshop times saved
schedule: Schedule updated schedule: Schedule updated
publish_schedule: Your schedule has been published schedule_published: Your schedule has been published
unpublish_schedule: Your schedule has been un-published schedule_unpublished: Your schedule has been un-published
org_member_added: User added to organization org_member_added: User added to organization
org_member_removed: User removed from organization org_member_removed: User removed from organization
administrator_added: Administrator added to conference administrator_added: Administrator added to conference
@ -1384,7 +1384,7 @@ en:
back: Back to Administration back: Back to Administration
paragraphs: paragraphs:
administration: From this dashboard you can configure your conference details, administration: From this dashboard you can configure your conference details,
open registration, view statictics, compile your workshop scheulde, and open registration, view statistics, compile your workshop schedule, and
more. more.
stats: stats:
description: On this page you can view a breakdown of the registration process description: On this page you can view a breakdown of the registration process
@ -1395,7 +1395,7 @@ en:
donation_count: Number of donations donation_count: Number of donations
donation_total: Total donated donation_total: Total donated
food: food:
meat: Onmivores meat: Omnivores
vegetarian: Vegetarians vegetarian: Vegetarians
vegan: Vegans vegan: Vegans
registrations: Number of registrations registrations: Number of registrations
@ -1408,7 +1408,7 @@ en:
heading: Meals heading: Meals
events: events:
description: On this page you can schedule events. Events are any type of description: On this page you can schedule events. Events are any type of
event that isn't a meal or a workshop. You can scheulde group meetings, event that isn't a meal or a workshop. You can schedule group meetings,
parties, or group ride for example. parties, or group ride for example.
no_locations_warning: Before you can add events, you must first add locations. no_locations_warning: Before you can add events, you must first add locations.
heading: Events heading: Events
@ -1440,8 +1440,8 @@ en:
publish_schedule: Once you have finalized your schedule, make it public publish_schedule: Once you have finalized your schedule, make it public
here. here.
housing: housing:
description: Arrange housing for registratnts visiting your city. Pair each description: Arrange housing for registrants visiting your city. Pair each
registratnt who has asked for housing with a registratnt that has volunteered registrant who has asked for housing with a registrant that has volunteered
to house guests base on their individual needs and wants. to house guests base on their individual needs and wants.
heading: Housing heading: Housing
headings: headings:
@ -1509,7 +1509,7 @@ en:
administrators: Administrators and Organizations administrators: Administrators and Organizations
poster: Poster poster: Poster
Host_Organizations: Host Organizations Host_Organizations: Host Organizations
External_Administrators: External Administrators External_Administrators: Conference Administrators
description: These are the basic details about your conference that you will description: These are the basic details about your conference that you will
likely want to configure before enabling your conference. One ready, contact likely want to configure before enabling your conference. One ready, contact
the site administrator to make the conference public. the site administrator to make the conference public.
@ -1519,13 +1519,10 @@ en:
administrators: Set the conference host organizations and other members administrators: Set the conference host organizations and other members
who have access to these administration tools who have access to these administration tools
Host_Organizations: Select all organizations from known organizations in Host_Organizations: Select all organizations from known organizations in
%{city_name} that will be helping to host your conference. All members %{city_name}. Members of your organizations do not immediately have access to the administration tools on this site
of each organization will be granted access to these administration tools, You will also need to add them to to the "Conference Administrators" list above. If an organization is not listed here, please
if you require administrators that are not members of an organization,
you can add them below. If an organization is not listed here, please
contact a site administrator. contact a site administrator.
External_Administrators: Users from outside of organizations in your city External_Administrators: Users from witin or outside of the host organizations that have administration privileges on this site.
can be granted administration privledges here.
copy: copy:
heading: Site Copy heading: Site Copy
description: Copy that is displayed in the front page, the details page, emails, description: Copy that is displayed in the front page, the details page, emails,
@ -1553,7 +1550,7 @@ en:
rides rides
travel_info: Let visitors know how to get to your city and what international travel_info: Let visitors know how to get to your city and what international
visitors may need to be prepared for visitors may need to be prepared for
city_info: Describe your city, talk about things like saftey, laws, weather, city_info: Describe your city, talk about things like safety, laws, weather,
and culture and culture
what_to_bring: Let visitors know what to bring what_to_bring: Let visitors know what to bring
volunteering_info: Let potential volunteers know what they can do and how volunteering_info: Let potential volunteers know what they can do and how
@ -1567,15 +1564,17 @@ en:
stats: Statistics stats: Statistics
registrations: Modify Registrations registrations: Modify Registrations
broadcast: Contact Users broadcast: Contact Users
broadcast_sent: Message Sent
description: Open or close registration, view registration statistics, modify description: Open or close registration, view registration statistics, modify
information subbmitted by registratnts and contact users. information submitted by registratnts and contact users.
descriptions: descriptions:
registration_status: Open or close registration to your conference. registration_status: Open or close registration to your conference.
stats: View a breakdown of statictics, how many users have registered, how stats: View a breakdown of statistics, how many users have registered, how
much money have been collected, etc. much money have been collected, etc.
registrations: View and edit all data collected through the registration registrations: View and edit all data collected through the registration
process. process.
broadcast: Send emails to targeted subsets of users. broadcast: Send emails to targeted subsets of users.
broadcast_sent: Your message has been sent.
broadcast: broadcast:
heading: Broadcast heading: Broadcast
description: The broadcast tool is used to contact users through email. You description: The broadcast tool is used to contact users through email. You
@ -1584,12 +1583,12 @@ en:
description: Your message has been sent. description: Your message has been sent.
workshop_times: workshop_times:
heading: Workshop Times heading: Workshop Times
description: Before you scheulde workshops, you must first create blocks of description: Before you schedule workshops, you must first create blocks of
time when the workshops will be. time when the workshops will be.
payment: payment:
heading: Payment heading: Payment
description: If you wish to collect dontaions and registration fees, you will description: If you wish to collect donations and registration fees, you will
need to confgure your payment details need to configure your payment details
headings: headings:
suggested_amounts: Suggested Payment Amounts suggested_amounts: Suggested Payment Amounts
paypal: PayPal Info paypal: PayPal Info
@ -1601,7 +1600,7 @@ en:
your organization's PayPal account your organization's PayPal account
contact: contact:
headings: headings:
contact: Send us a question or a complement contact: Send us a question or a comment
reason: What are you contacting us about? reason: What are you contacting us about?
sent: Thank you for contacting us sent: Thank you for contacting us
paragraphs: paragraphs:
@ -1657,7 +1656,7 @@ en:
tent_space_required: Enter the amount of tent space you have to offer tent_space_required: Enter the amount of tent space you have to offer
info_required: Provide your guests with information about you and your home info_required: Provide your guests with information about you and your home
policy_required: Read each statement carefully and check the box once to signify policy_required: Read each statement carefully and check the box once to signify
that you aggree to uphold the agreement. that you agree to uphold the agreement.
name_required: Provide us with a name that you identify with name_required: Provide us with a name that you identify with
language_required: Select at least one language that you can speak language_required: Select at least one language that you can speak
location_required: Enter a location location_required: Enter a location
@ -1679,7 +1678,7 @@ en:
again. again.
warning: warning:
payment_pending: Thank you! Your payment is currently pending. payment_pending: Thank you! Your payment is currently pending.
companion_unregistered: Your companion has not yet registerred. Please ensure companion_unregistered: Your companion has not yet registered. Please ensure
that they do to guarantee you are housed together. that they do to guarantee you are housed together.
step_names: step_names:
group_ride: Group ride? group_ride: Group ride?
@ -1875,7 +1874,7 @@ en:
org_select: Please select the organization that you participate in. This information org_select: Please select the organization that you participate in. This information
will be used to help us contact and invite your organization next year and will be used to help us contact and invite your organization next year and
to populate the list of known organizations that will be displayed on bikecollectives.org. to populate the list of known organizations that will be displayed on bikecollectives.org.
If you are involved with multiple oganizations, please select one for now, If you are involved with multiple organizations, please select one for now,
you will be able to add more organizations at a later date. you will be able to add more organizations at a later date.
payment_type: If you can, please pay now via PayPal. We collect the registration payment_type: If you can, please pay now via PayPal. We collect the registration
fee as a donation. Your donation pays for spaces, food, equipment, and much fee as a donation. Your donation pays for spaces, food, equipment, and much
@ -1899,7 +1898,7 @@ en:
who you absolutely must be housed with? Please note, your companion must who you absolutely must be housed with? Please note, your companion must
also register if you want to be housed together. also register if you want to be housed together.
housing_type: Do you need a place to stay in %{city}? We will do our best housing_type: Do you need a place to stay in %{city}? We will do our best
to place you with a local host and other vistors that best match your needs. to place you with a local host and other visitors that best match your needs.
housing_departure_date: When will you be leaving %{city}? If you wish to stay housing_departure_date: When will you be leaving %{city}? If you wish to stay
in town longer and need housing or a bike after %{max_date}, please select in town longer and need housing or a bike after %{max_date}, please select
this date on the calendar below and contact us after you complete your registration. this date on the calendar below and contact us after you complete your registration.
@ -1914,7 +1913,7 @@ en:
org_create_email: In order to contact your organization next year, please org_create_email: In order to contact your organization next year, please
provide a general email address. We will not send you regular emails. We provide a general email address. We will not send you regular emails. We
may email you if there is a conference in your area or to confirm that your may email you if there is a conference in your area or to confirm that your
organization is still in existance. Please do not provide a personal email organization is still in existence. Please do not provide a personal email
address. address.
org_create_address: Please enter the street address of your organization in org_create_address: Please enter the street address of your organization in
%{city}, do not enter the state, province, or country. If your organization %{city}, do not enter the state, province, or country. If your organization
@ -2041,16 +2040,16 @@ en:
should expect should expect
schedule_info: Describe your schedule over the conference schedule_info: Describe your schedule over the conference
travel_info: Let visitors know what to expect travelling to your city travel_info: Let visitors know what to expect travelling to your city
city_info: Let visitors knw about your city, its culture, climate, crime, city_info: Let visitors know about your city, its culture, climate, crime,
and any other details that should know about and any other details that should know about
what_to_bring: List what you expect visitors to bring. Common items include what_to_bring: List what you expect visitors to bring. Common items include
a bike helmet, lock, and eating utensils a bike helmet, lock, and eating utensils
volunteering_info: Let interested volunteers know how they can volunteer volunteering_info: Let interested volunteers know how they can volunteer
and what tey can do and what they can do
additional_details: Let visitors know any additional information about additional_details: Let visitors know any additional information about
your conference your conference
schedule: schedule:
published: Your scheulde is currently published and viewable on the front-page. published: Your schedule is currently published and viewable on the front-page.
Un-publishing the schedule will remove it from the front-page and show Un-publishing the schedule will remove it from the front-page and show
a list of proposed workshops instead. a list of proposed workshops instead.
un_published: Your schedule is not yet published. Publishing the schedule un_published: Your schedule is not yet published. Publishing the schedule
@ -2123,7 +2122,7 @@ en:
paragraphs: paragraphs:
bicycle_project_paragraph: Community bicycle projects do many different things. bicycle_project_paragraph: Community bicycle projects do many different things.
Some use bicycles to change society, the economy, or the environment. Some Some use bicycles to change society, the economy, or the environment. Some
have community bike shops. Some promote bicyle use and making their communities have community bike shops. Some promote bicycle use and making their communities
into places where riding is easier, more inclusive, safer, and more fun. into places where riding is easier, more inclusive, safer, and more fun.
The list below uses the criteria found in the old Bicycle Organization Organization The list below uses the criteria found in the old Bicycle Organization Organization
Project for what constitutes a community bike shop. The bike project need Project for what constitutes a community bike shop. The bike project need

2
config/unicorn.rb

@ -12,6 +12,8 @@ else
port = 8080 port = 8080
end end
timeout 600
working_directory directory working_directory directory
# Listen on unix socket # Listen on unix socket

6
features/step_definitions/users.rb

@ -67,10 +67,8 @@ end
Given /^(?:I )?am an? (.+)$/i do |role| Given /^(?:I )?am an? (.+)$/i do |role|
if role == 'conference host' if role == 'conference host'
org = TestState.last_conference.organizations.first TestState.last_conference.administrators << TestState.my_account
org.users ||= Array.new TestState.last_conference.save!
org.users << TestState.my_account
org.save
else else
case role case role
when /(site )?admin(istrator)?/ when /(site )?admin(istrator)?/

Loading…
Cancel
Save