Added localization to workshops, made login persist through subdomains
This commit is contained in:
		
							parent
							
								
									a63b5e1dc2
								
							
						
					
					
						commit
						01d8679c9d
					
				
							
								
								
									
										2
									
								
								Gemfile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								Gemfile
									
									
									
									
									
								
							| @ -63,7 +63,7 @@ group :test do | ||||
| 	gem 'gherkin3', '>= 3.1.0' | ||||
| 	gem 'cucumber', :git => "git://github.com/cucumber/cucumber-ruby.git", branch: "integrate-gherkin3-parser" | ||||
| 	gem 'cucumber-core', :git => "git://github.com/cucumber/cucumber-ruby-core.git", branch: "integrate-gherkin3-parser" | ||||
| 	gem 'cucumber-rails', :git => "git://github.com/cucumber/cucumber-rails.git" | ||||
| 	gem 'cucumber-rails', :git => "git://github.com/cucumber/cucumber-rails.git", require: false | ||||
| 
 | ||||
| 	#gem 'capybara' | ||||
|     gem 'poltergeist' | ||||
|  | ||||
							
								
								
									
										62
									
								
								Gemfile.lock
									
									
									
									
									
								
							
							
						
						
									
										62
									
								
								Gemfile.lock
									
									
									
									
									
								
							| @ -11,7 +11,7 @@ GIT | ||||
| 
 | ||||
| GIT | ||||
|   remote: git://github.com/cucumber/cucumber-ruby-core.git | ||||
|   revision: 7348412f3421dc8bdbb7e8e4d6036b05818b3353 | ||||
|   revision: 4eaa907716637579a996b10840fce207cc4bd095 | ||||
|   branch: integrate-gherkin3-parser | ||||
|   specs: | ||||
|     cucumber-core (1.2.0) | ||||
| @ -112,9 +112,9 @@ GEM | ||||
|     blockspring (0.1.4) | ||||
|       rest-client (> 1.6.7) | ||||
|     builder (3.2.2) | ||||
|     cairo (1.14.1) | ||||
|     cairo (1.14.3) | ||||
|       pkg-config (>= 1.1.5) | ||||
|     cairo (1.14.1-x86-mingw32) | ||||
|     cairo (1.14.3-x86-mingw32) | ||||
|       pkg-config (>= 1.1.5) | ||||
|     callsite (0.0.11) | ||||
|     capistrano (2.15.6) | ||||
| @ -160,7 +160,7 @@ GEM | ||||
|       safe_yaml (~> 1.0.0) | ||||
|     daemon-spawn (0.4.2) | ||||
|     daemons (1.2.3) | ||||
|     database_cleaner (1.4.1) | ||||
|     database_cleaner (1.5.0) | ||||
|     debug_inspector (0.0.2) | ||||
|     delayed_job (4.0.6) | ||||
|       activesupport (>= 3.0, < 5.0) | ||||
| @ -192,16 +192,16 @@ GEM | ||||
|     foundation-rails (5.5.2.1) | ||||
|       railties (>= 3.1.0) | ||||
|       sass (>= 3.3.0, < 3.5) | ||||
|     gdk_pixbuf2 (2.2.5) | ||||
|       glib2 (= 2.2.5) | ||||
|     gdk_pixbuf2 (2.2.5-x86-mingw32) | ||||
|       glib2 (= 2.2.5) | ||||
|     geocoder (1.2.9) | ||||
|     gdk_pixbuf2 (3.0.2) | ||||
|       glib2 (= 3.0.2) | ||||
|     gdk_pixbuf2 (3.0.2-x86-mingw32) | ||||
|       glib2 (= 3.0.2) | ||||
|     geocoder (1.2.11) | ||||
|     gherkin3 (3.1.1) | ||||
|     git-version-bump (0.15.1) | ||||
|     glib2 (2.2.5) | ||||
|     glib2 (3.0.2) | ||||
|       pkg-config | ||||
|     glib2 (2.2.5-x86-mingw32) | ||||
|     glib2 (3.0.2-x86-mingw32) | ||||
|       cairo (>= 1.12.8) | ||||
|       pkg-config | ||||
|     globalid (0.3.6) | ||||
| @ -228,7 +228,7 @@ GEM | ||||
|       haml (>= 4.0.6, < 5.0) | ||||
|       html2haml (>= 1.0.1) | ||||
|       railties (>= 4.0.1) | ||||
|     highline (1.7.3) | ||||
|     highline (1.7.5) | ||||
|     html2haml (2.0.0) | ||||
|       erubis (~> 2.7.0) | ||||
|       haml (~> 4.0.0) | ||||
| @ -240,7 +240,7 @@ GEM | ||||
|     httpauth (0.2.1) | ||||
|     i18n (0.7.0) | ||||
|     image_optimizer (1.3.0) | ||||
|     jquery-rails (4.0.4) | ||||
|     jquery-rails (4.0.5) | ||||
|       rails-dom-testing (~> 1.0) | ||||
|       railties (>= 4.2.0) | ||||
|       thor (>= 0.14, < 2.0) | ||||
| @ -249,7 +249,7 @@ GEM | ||||
|     json (1.8.3) | ||||
|     jwt (0.1.13) | ||||
|       multi_json (>= 1.5) | ||||
|     kgio (2.9.3) | ||||
|     kgio (2.10.0) | ||||
|     launchy (2.4.3) | ||||
|       addressable (~> 2.3) | ||||
|     listen (3.0.3) | ||||
| @ -266,8 +266,8 @@ GEM | ||||
|       railties (>= 3.0.0, < 5.0.0) | ||||
|     metaclass (0.0.4) | ||||
|     method_source (0.8.2) | ||||
|     mime-types (2.6.1) | ||||
|     mini_magick (4.2.10) | ||||
|     mime-types (2.6.2) | ||||
|     mini_magick (4.3.3) | ||||
|     mini_portile (0.6.2) | ||||
|     minitest (5.8.0) | ||||
|     mocha (1.1.0) | ||||
| @ -299,6 +299,9 @@ GEM | ||||
|       jwt (~> 0.1.4) | ||||
|       multi_json (~> 1.0) | ||||
|       rack (~> 1.2) | ||||
|     pango (3.0.2-x86-mingw32) | ||||
|       cairo (>= 1.14.0) | ||||
|       glib2 (= 3.0.2) | ||||
|     paper_trail (3.0.8) | ||||
|       activerecord (>= 3.0, < 5.0) | ||||
|       activesupport (>= 3.0, < 5.0) | ||||
| @ -306,8 +309,8 @@ GEM | ||||
|       activesupport (>= 2.3) | ||||
|       attr_required (>= 0.0.5) | ||||
|       rest-client | ||||
|     pg (0.18.2) | ||||
|     pg (0.18.2-x86-mingw32) | ||||
|     pg (0.18.3) | ||||
|     pg (0.18.3-x86-mingw32) | ||||
|     pkg-config (1.1.6) | ||||
|     poltergeist (1.6.0) | ||||
|       capybara (~> 2.1) | ||||
| @ -348,7 +351,7 @@ GEM | ||||
|       rails-deprecated_sanitizer (>= 1.0.1) | ||||
|     rails-html-sanitizer (1.0.2) | ||||
|       loofah (~> 2.0) | ||||
|     rails-i18n (4.0.4) | ||||
|     rails-i18n (4.0.5) | ||||
|       i18n (~> 0.6) | ||||
|       railties (~> 4.0) | ||||
|     rails_12factor (0.0.3) | ||||
| @ -363,7 +366,7 @@ GEM | ||||
|       thor (>= 0.18.1, < 2.0) | ||||
|     raindrops (0.15.0) | ||||
|     rake (10.4.2) | ||||
|     rb-fsevent (0.9.5) | ||||
|     rb-fsevent (0.9.6) | ||||
|     rb-inotify (0.9.5) | ||||
|       ffi (>= 0.5.0) | ||||
|     redcarpet (3.3.2) | ||||
| @ -397,12 +400,13 @@ GEM | ||||
|       rspec-mocks (~> 3.3.0) | ||||
|       rspec-support (~> 3.3.0) | ||||
|     rspec-support (3.3.0) | ||||
|     rsvg2 (2.2.5) | ||||
|     rsvg2 (3.0.2) | ||||
|       cairo (>= 1.12.8) | ||||
|       gdk_pixbuf2 (= 2.2.5) | ||||
|     rsvg2 (2.2.5-x86-mingw32) | ||||
|       gdk_pixbuf2 (= 3.0.2) | ||||
|     rsvg2 (3.0.2-x86-mingw32) | ||||
|       cairo (>= 1.12.8) | ||||
|       gdk_pixbuf2 (= 2.2.5) | ||||
|       gdk_pixbuf2 (= 3.0.2) | ||||
|       pango (>= 3.0.2) | ||||
|     ruby_parser (3.7.1) | ||||
|       sexp_processor (~> 4.1) | ||||
|     rubyzip (1.1.7) | ||||
| @ -412,12 +416,12 @@ GEM | ||||
|     sass (3.4.18) | ||||
|     sass-json-vars (0.3.2) | ||||
|       sass (>= 3.1) | ||||
|     sass-rails (5.0.3) | ||||
|     sass-rails (5.0.4) | ||||
|       railties (>= 4.0.0, < 5.0) | ||||
|       sass (~> 3.1) | ||||
|       sprockets (>= 2.8, < 4.0) | ||||
|       sprockets-rails (>= 2.0, < 4.0) | ||||
|       tilt (~> 1.1) | ||||
|       tilt (>= 1.1, < 3) | ||||
|     selenium-webdriver (2.47.1) | ||||
|       childprocess (~> 0.5) | ||||
|       multi_json (~> 1.0) | ||||
| @ -437,9 +441,9 @@ GEM | ||||
|       bcrypt (~> 3.1) | ||||
|       oauth (~> 0.4, >= 0.4.4) | ||||
|       oauth2 (>= 0.8.0) | ||||
|     sprockets (3.3.3) | ||||
|     sprockets (3.3.4) | ||||
|       rack (~> 1.0) | ||||
|     sprockets-rails (2.3.2) | ||||
|     sprockets-rails (2.3.3) | ||||
|       actionpack (>= 3.0) | ||||
|       activesupport (>= 3.0) | ||||
|       sprockets (>= 2.8, < 4.0) | ||||
| @ -447,7 +451,7 @@ GEM | ||||
|       tins (~> 1.0) | ||||
|     thor (0.19.1) | ||||
|     thread_safe (0.3.5) | ||||
|     tilt (1.4.1) | ||||
|     tilt (2.0.1) | ||||
|     tins (1.6.0) | ||||
|     tzinfo (1.2.2) | ||||
|       thread_safe (~> 0.1) | ||||
|  | ||||
| @ -539,6 +539,10 @@ form { | ||||
| 			font-weight: bold; | ||||
| 			font-size: 1.25em; | ||||
| 		} | ||||
| 
 | ||||
| 		.left { | ||||
| 			float: left; | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| @ -1889,3 +1893,16 @@ html[data-lingua-franca-example="html"] { | ||||
| 		margin-left: 1em; | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| .original-text { | ||||
| 	margin: 0 0 1em 1em; | ||||
| 	h4 { | ||||
| 		margin: 0; | ||||
| 	} | ||||
| 	.value { | ||||
| 		margin-left: 1em; | ||||
| 	} | ||||
| 	p { | ||||
| 		font-size: 1.1em; | ||||
| 	} | ||||
| } | ||||
| @ -823,7 +823,8 @@ class ConferencesController < ApplicationController | ||||
| 		set_conference_registration | ||||
| 		@workshop = Workshop.find_by_id_and_conference_id(params[:workshop_id], @this_conference.id) | ||||
| 		do_404 unless @workshop | ||||
| 		do_403 unless @workshop.can_edit?(current_user) | ||||
| 		@can_edit = @workshop.can_edit?(current_user) | ||||
| 		do_403 unless @can_edit || @workshop.can_translate?(current_user) | ||||
| 		@title = @workshop.title | ||||
| 		@info = @workshop.info | ||||
| 		@needs = JSON.parse(@workshop.needs || '[]').map &:to_sym | ||||
| @ -869,20 +870,29 @@ class ConferencesController < ApplicationController | ||||
| 	def save_workshop | ||||
| 		set_conference | ||||
| 		set_conference_registration | ||||
| 
 | ||||
| 		if params[:workshop_id] | ||||
| 			workshop = Workshop.find(params[:workshop_id]) | ||||
| 			do_404 unless workshop | ||||
| 		else | ||||
| 			workshop = Workshop.new(:conference_id => @this_conference.id) | ||||
| 			workshop.workshop_facilitators = [WorkshopFacilitator.new(:user_id => current_user.id, :role => :creator)] | ||||
| 		end | ||||
| 
 | ||||
| 		can_edit = workshop.can_edit?(current_user) | ||||
| 		do_403 unless can_edit || workshop.can_translate?(current_user) | ||||
| 
 | ||||
| 		workshop.title     = params[:title] | ||||
| 		workshop.info      = params[:info] | ||||
| 		workshop.languages = (params[:languages] || {}).keys.to_json | ||||
| 		workshop.needs     = (params[:needs] || {}).keys.to_json | ||||
| 		workshop.theme     = params[:theme] == 'other' ? params[:other_theme] : params[:theme] | ||||
| 		workshop.space     = params[:space] | ||||
| 		workshop.notes     = params[:notes] | ||||
| 
 | ||||
| 		if can_edit | ||||
| 			# dont allow translators to edit these fields | ||||
| 			workshop.languages = (params[:languages] || {}).keys.to_json | ||||
| 			workshop.needs     = (params[:needs] || {}).keys.to_json | ||||
| 			workshop.theme     = params[:theme] == 'other' ? params[:other_theme] : params[:theme] | ||||
| 			workshop.space     = params[:space] | ||||
| 			workshop.notes     = params[:notes] | ||||
| 		end | ||||
| 
 | ||||
| 		workshop.save | ||||
| 		redirect_to view_workshop_url(@this_conference.slug, workshop.id) | ||||
| @ -920,16 +930,16 @@ class ConferencesController < ApplicationController | ||||
| 
 | ||||
| 		def set_conference_registration | ||||
| 			@registration = logged_in? ? ConferenceRegistration.find_by(:user_id => current_user.id, :conference_id => @this_conference.id) : nil | ||||
| 			@is_host = @conference.host?(current_user) | ||||
| 			@is_host = @this_conference.host?(current_user) | ||||
| 			if @registration || @is_host | ||||
| 				@submenu = { | ||||
| 					register_path(@conference.slug) => 'registration.Registration', | ||||
| 					workshops_path(@conference.slug) => 'registration.Workshops' | ||||
| 					register_path(@this_conference.slug) => 'registration.Registration', | ||||
| 					workshops_path(@this_conference.slug) => 'registration.Workshops' | ||||
| 				} | ||||
| 				if @is_host | ||||
| 					@submenu[edit_conference_path(@conference.slug)] = 'registration.Edit' | ||||
| 					@submenu[stats_path(@conference.slug)] = 'registration.Stats' | ||||
| 					@submenu[broadcast_path(@conference.slug)] = 'registration.Broadcast' | ||||
| 					@submenu[edit_conference_path(@this_conference.slug)] = 'registration.Edit' | ||||
| 					@submenu[stats_path(@this_conference.slug)] = 'registration.Stats' | ||||
| 					@submenu[broadcast_path(@this_conference.slug)] = 'registration.Broadcast' | ||||
| 				end | ||||
| 			end | ||||
| 		end | ||||
|  | ||||
| @ -1,4 +1,6 @@ | ||||
| class Workshop < ActiveRecord::Base | ||||
|     translates :info, :title | ||||
| 
 | ||||
|     belongs_to :conference | ||||
| 
 | ||||
|     has_many :workshop_facilitators, :dependent => :destroy | ||||
| @ -48,6 +50,10 @@ class Workshop < ActiveRecord::Base | ||||
|         workshops ? workshops.size : 0 | ||||
|     end | ||||
| 
 | ||||
|     def can_translate?(user) | ||||
|         user.can_translate? || can_edit?(user) | ||||
|     end | ||||
| 
 | ||||
|     private | ||||
|         def make_slug | ||||
|             if !self.slug | ||||
|  | ||||
| @ -7,6 +7,10 @@ | ||||
| 					= label_tag :info | ||||
| 					= text_area_tag :info, @this_conference.info, :required => true | ||||
| 				.actions.right | ||||
| 					.left | ||||
| 						- I18n.backend.enabled_locales.each do |locale| | ||||
| 							= (link_to (_'actions.conference.Translate', "Edit #{language_name(locale)} version", :vars => {:language => language_name(locale)}), edit_conference_path(@this_conference.slug, url_params(locale)), :class => 'translate') if locale.to_sym != I18n.locale.to_sym | ||||
| 
 | ||||
| 					= button_tag :save, :value => :save | ||||
| 
 | ||||
| :javascript | ||||
|  | ||||
| @ -18,7 +18,7 @@ | ||||
| 			%ul | ||||
| 				-I18n.backend.enabled_locales.each do |locale| | ||||
| 					%li | ||||
| 						%a{href: request.original_url.gsub(/^(https?:\/\/)(preview\-)?(..\.)?(.*)$/, '\1\2' + locale + '.\4')} | ||||
| 						%a{href: home_url(url_params(locale))} | ||||
| 							=_! locale.upcase | ||||
| 						%span=I18n.t("languages.#{locale}", locale: locale, context: I18n.t("languages.#{locale}")) | ||||
| .copy | ||||
|  | ||||
| @ -9,11 +9,11 @@ | ||||
| 				= nav_link about_path, (_'page_titles.About_BikeBike') | ||||
| 				= nav_link policy_path, (_'page_titles.Safe_Space_Policy') | ||||
| 			.actions | ||||
| 				- if @conference.registration_open | ||||
| 				- if @conference && @conference.registration_open | ||||
| 					- if params[:action] != 'register' && !@registration | ||||
| 						= link_to register_path(@conference.slug), class: [:button, :register] do | ||||
| 							=_'conference.actions.Register' | ||||
| 				- else | ||||
| 				- elsif @conference | ||||
| 					= render 'shared/donate_button', :email_address => (@conference.paypal_email_address || @conference.email_address) | ||||
| 				- if current_user | ||||
| 					= form_tag :logout, class: :logout do | ||||
|  | ||||
| @ -8,52 +8,61 @@ | ||||
| 				.text-field.input-field.big | ||||
| 					= label_tag :title | ||||
| 					= text_field_tag :title, @title, :required => true | ||||
| 				- if @workshop && I18n.locale.to_s != @workshop.locale.to_s | ||||
| 					.original-text | ||||
| 						%h4=_'translate.content.Translation_of' | ||||
| 						.value=@workshop.title! | ||||
| 				.text-area-field.input-field | ||||
| 					= label_tag :info | ||||
| 					= text_area_tag :info, @info, :required => true | ||||
| 			= columns(medium: 6) do | ||||
| 				%h3=_'articles.workshops.headings.languages','Workshop Language' | ||||
| 				- [:en, :es, :fr].each do |language| | ||||
| 					.single-check-box-field.input-field | ||||
| 						= label_tag "languages_#{language}" do | ||||
| 							= check_box_tag "languages[#{language}]", 1, @languages && @languages.include?(language) | ||||
| 							= _"languages.#{language}" | ||||
| 				%h3=_'articles.workshops.headings.theme','Theme' | ||||
| 				.input-field-help=_'articles.workshops.paragraphs.theme', :p | ||||
| 				- theme_found = false | ||||
| 				- [:race_gender, :mechanics, :funding, :organization, :community].each do |theme| | ||||
| 					.single-radio-button-field.input-field | ||||
| 						= label_tag "theme_#{theme}" do | ||||
| 							- is_selected = (@theme == theme) | ||||
| 							- theme_found ||= is_selected | ||||
| 							= radio_button_tag :theme, theme, is_selected | ||||
| 							= _"workshop.options.theme.#{theme}" | ||||
| 				.single-radio-button-field.other-field.input-field | ||||
| 					= label_tag "theme_other" do | ||||
| 						= radio_button_tag :theme, :other, (@theme && !theme_found) | ||||
| 						%div | ||||
| 							= _"workshop.options.theme.other" | ||||
| 							= text_field_tag :other_theme, (@theme && !theme_found ? @theme : nil) | ||||
| 			= columns(medium: 6) do | ||||
| 				%h3=_'articles.workshops.headings.needs','What do you need?' | ||||
| 				- [:sound, :projector, :tools].each do |need| | ||||
| 					.single-check-box-field.input-field | ||||
| 						= label_tag "needs_#{need}" do | ||||
| 							= check_box_tag "needs[#{need}]", 1, @needs.include?(need) | ||||
| 							= _"workshop.options.needs.#{need}" | ||||
| 				%h3=_'articles.workshops.headings.space','Type of space' | ||||
| 				.input-field-help=_'articles.workshops.paragraphs.space', :p | ||||
| 				- [:meeting_room, :workshop, :outdoor_meeting].each do |space| | ||||
| 					.single-radio-button-field.input-field | ||||
| 						= label_tag "space_#{space}" do | ||||
| 							= radio_button_tag :space, space, @space == space | ||||
| 							= _"workshop.options.space.#{space}" | ||||
| 			= columns(medium: 12) do | ||||
| 				%h3=_'articles.workshops.headings.notes','Notes for Conference Organizers and Workshop Facilitators' | ||||
| 				%p=_'articles.workshops.paragraphs.notes','Notes are only viewable by conference hosts and workshop facilitators' | ||||
| 				.text-area-field.input-field | ||||
| 					= label_tag :notes | ||||
| 					= text_area_tag :notes, @notes | ||||
| 				- if @workshop && I18n.locale.to_s != @workshop.locale.to_s | ||||
| 					.original-text | ||||
| 						%h4=_'translate.content.Translation_of' | ||||
| 						.value=markdown @workshop.info! | ||||
| 			- if !@workshop || @can_edit | ||||
| 				= columns(medium: 6) do | ||||
| 					%h3=_'articles.workshops.headings.languages','Workshop Language' | ||||
| 					- [:en, :es, :fr].each do |language| | ||||
| 						.single-check-box-field.input-field | ||||
| 							= label_tag "languages_#{language}" do | ||||
| 								= check_box_tag "languages[#{language}]", 1, @languages && @languages.include?(language) | ||||
| 								= _"languages.#{language}" | ||||
| 					%h3=_'articles.workshops.headings.theme','Theme' | ||||
| 					.input-field-help=_'articles.workshops.paragraphs.theme', :p | ||||
| 					- theme_found = false | ||||
| 					- [:race_gender, :mechanics, :funding, :organization, :community].each do |theme| | ||||
| 						.single-radio-button-field.input-field | ||||
| 							= label_tag "theme_#{theme}" do | ||||
| 								- is_selected = (@theme == theme) | ||||
| 								- theme_found ||= is_selected | ||||
| 								= radio_button_tag :theme, theme, is_selected | ||||
| 								= _"workshop.options.theme.#{theme}" | ||||
| 					.single-radio-button-field.other-field.input-field | ||||
| 						= label_tag "theme_other" do | ||||
| 							= radio_button_tag :theme, :other, (@theme && !theme_found) | ||||
| 							%div | ||||
| 								= _"workshop.options.theme.other" | ||||
| 								= text_field_tag :other_theme, (@theme && !theme_found ? @theme : nil) | ||||
| 				= columns(medium: 6) do | ||||
| 					%h3=_'articles.workshops.headings.needs','What do you need?' | ||||
| 					- [:sound, :projector, :tools].each do |need| | ||||
| 						.single-check-box-field.input-field | ||||
| 							= label_tag "needs_#{need}" do | ||||
| 								= check_box_tag "needs[#{need}]", 1, @needs.include?(need) | ||||
| 								= _"workshop.options.needs.#{need}" | ||||
| 					%h3=_'articles.workshops.headings.space','Type of space' | ||||
| 					.input-field-help=_'articles.workshops.paragraphs.space', :p | ||||
| 					- [:meeting_room, :workshop, :outdoor_meeting].each do |space| | ||||
| 						.single-radio-button-field.input-field | ||||
| 							= label_tag "space_#{space}" do | ||||
| 								= radio_button_tag :space, space, @space == space | ||||
| 								= _"workshop.options.space.#{space}" | ||||
| 				= columns(medium: 12) do | ||||
| 					%h3=_'articles.workshops.headings.notes','Notes for Conference Organizers and Workshop Facilitators' | ||||
| 					%p=_'articles.workshops.paragraphs.notes','Notes are only viewable by conference hosts and workshop facilitators' | ||||
| 					.text-area-field.input-field | ||||
| 						= label_tag :notes | ||||
| 						= text_area_tag :notes, @notes | ||||
| 			= columns(medium: 12) do | ||||
| 				.actions.right | ||||
| 					= button_tag :save, :value => :save | ||||
|  | ||||
| @ -40,4 +40,7 @@ | ||||
| 		= columns(medium: 12) do | ||||
| 			.actions | ||||
| 				= (link_to (_'actions.workshops.Edit'), edit_workshop_path(@this_conference.slug, @workshop.id), :class => 'button modify') if @workshop.can_edit?(current_user) | ||||
| 				- if @workshop.can_translate?(current_user) | ||||
| 					- I18n.backend.enabled_locales.each do |locale| | ||||
| 						= (link_to (_'actions.workshops.Translate', "Translate into #{language_name(locale)}", :vars => {:language => language_name(locale)}), edit_workshop_url(@this_conference.slug, @workshop.id, url_params(locale)), :class => 'button translate') if locale.to_sym != I18n.locale.to_sym | ||||
| 				= (link_to (_'actions.workshops.Delete'), delete_workshop_path(@this_conference.slug, @workshop.id), :class => 'button delete') if @workshop.can_delete?(current_user) | ||||
| @ -1,7 +1,7 @@ | ||||
| # Be sure to restart your server when you modify this file. | ||||
| 
 | ||||
| if Rails.env == 'production' || Rails.env == 'preview' | ||||
| 	BikeBike::Application.config.session_store :active_record_store, :domain => 'bikebike.org' | ||||
| 	BikeBike::Application.config.session_store :active_record_store, :domain => :all | ||||
| else | ||||
| 	BikeBike::Application.config.session_store :active_record_store | ||||
| end | ||||
|  | ||||
| @ -46,7 +46,7 @@ | ||||
| <div class="details"> | ||||
| <h3 class="primary">Guadalajara, Jalisco, Mexico</h3> | ||||
| <div class="secondary"> | ||||
| August 14 – 18, 2015 | ||||
| August 15 – 19, 2015 | ||||
| </div> | ||||
| </div> | ||||
| </div> | ||||
| @ -92,11 +92,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -51,7 +51,7 @@ | ||||
| </div></div><div id="content"> | ||||
| 
 | ||||
| <article> | ||||
| <div class="row"><div class="columns medium-12"><h2>Nullam Porttitor Lacus At Turpis</h2> | ||||
| <div class="row"><div class="columns medium-12"><h2>Nam Nulla</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="✓"> | ||||
| @ -96,11 +96,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/workshops/1/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -51,7 +51,7 @@ | ||||
| </div></div><div id="content"> | ||||
| 
 | ||||
| <article> | ||||
| <div class="row"><div class="columns medium-12"><h2>Nullam Porttitor Lacus At Turpis</h2> | ||||
| <div class="row"><div class="columns medium-12"><h2>Nam Nulla</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="✓"> | ||||
| @ -96,11 +96,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/workshops/1/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -51,7 +51,7 @@ | ||||
| </div></div><div id="content"> | ||||
| 
 | ||||
| <article> | ||||
| <div class="row"><div class="columns medium-12"><h2>Nullam Porttitor Lacus At Turpis</h2> | ||||
| <div class="row"><div class="columns medium-12"><h2>Nam Nulla</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="✓"> | ||||
| @ -96,11 +96,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/workshops/1"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -94,11 +94,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/confirm/test"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -46,7 +46,7 @@ | ||||
| <div class="details"> | ||||
| <h3 class="primary">San Marcos, Texas</h3> | ||||
| <div class="secondary"> | ||||
| August 14 – 18, 2015 | ||||
| August 15 – 19, 2015 | ||||
| </div> | ||||
| </div> | ||||
| </div> | ||||
| @ -92,11 +92,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -100,11 +100,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/broadcast/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -100,11 +100,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/broadcast/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -89,11 +89,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/broadcast/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -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:49162'> | ||||
| <img class='image_fix' src='http://127.0.0.1:54389'> | ||||
| </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:49162'>© Bike!Bike! 2015</a> | ||||
| <a href='http://127.0.0.1:54389'>© Bike!Bike! 2015</a> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
|  | ||||
| @ -94,11 +94,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/confirm/test"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -46,7 +46,7 @@ | ||||
| <div class="details"> | ||||
| <h3 class="primary">San Marcos, Texas</h3> | ||||
| <div class="secondary"> | ||||
| August 14 – 18, 2015 | ||||
| August 15 – 19, 2015 | ||||
| </div> | ||||
| </div> | ||||
| </div> | ||||
| @ -92,11 +92,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -106,11 +106,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/register/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -87,11 +87,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/workshops/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -72,6 +72,9 @@ | ||||
| 
 | ||||
| </div><div class="columns medium-12"><div class="actions"> | ||||
| <a class="button modify" href="/conferences/MyBikeBike/workshops/1/edit/"><span class="translated-content" data-i18n-key="actions.workshops.Edit" data-i18n-needs-translation="0">Edit</span></a> | ||||
| 
 | ||||
| <a class="button translate" href="/conferences/MyBikeBike/workshops/1/edit/?lang=es"><span class="translated-content" data-i18n-key="actions.workshops.Translate" data-i18n-needs-translation="1">Translate into <span class="translated-content" data-i18n-key="languages.es" data-i18n-needs-translation="0">Spanish</span></span></a> | ||||
| <a class="button translate" href="/conferences/MyBikeBike/workshops/1/edit/?lang=fr"><span class="translated-content" data-i18n-key="actions.workshops.Translate" data-i18n-needs-translation="1">Translate into <span class="translated-content" data-i18n-key="languages.fr" data-i18n-needs-translation="0">French</span></span></a> | ||||
| <a class="button delete" href="/conferences/MyBikeBike/workshops/1/delete/"><span class="translated-content" data-i18n-key="actions.workshops.Delete" data-i18n-needs-translation="0">Delete Workshop</span></a> | ||||
| </div> | ||||
| </div></div></article> | ||||
| @ -102,11 +105,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/workshops/1"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -72,6 +72,9 @@ | ||||
| 
 | ||||
| </div><div class="columns medium-12"><div class="actions"> | ||||
| <a class="button modify" href="/conferences/MyBikeBike/workshops/1/edit/"><span class="translated-content" data-i18n-key="actions.workshops.Edit" data-i18n-needs-translation="0">Edit</span></a> | ||||
| 
 | ||||
| <a class="button translate" href="/conferences/MyBikeBike/workshops/1/edit/?lang=es"><span class="translated-content" data-i18n-key="actions.workshops.Translate" data-i18n-needs-translation="1">Translate into <span class="translated-content" data-i18n-key="languages.es" data-i18n-needs-translation="0">Spanish</span></span></a> | ||||
| <a class="button translate" href="/conferences/MyBikeBike/workshops/1/edit/?lang=fr"><span class="translated-content" data-i18n-key="actions.workshops.Translate" data-i18n-needs-translation="1">Translate into <span class="translated-content" data-i18n-key="languages.fr" data-i18n-needs-translation="0">French</span></span></a> | ||||
| <a class="button delete" href="/conferences/MyBikeBike/workshops/1/delete/"><span class="translated-content" data-i18n-key="actions.workshops.Delete" data-i18n-needs-translation="0">Delete Workshop</span></a> | ||||
| </div> | ||||
| </div></div></article> | ||||
| @ -102,11 +105,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/workshops/1/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -72,6 +72,9 @@ | ||||
| 
 | ||||
| </div><div class="columns medium-12"><div class="actions"> | ||||
| <a class="button modify" href="/conferences/MyBikeBike/workshops/1/edit/"><span class="translated-content" data-i18n-key="actions.workshops.Edit" data-i18n-needs-translation="0">Edit</span></a> | ||||
| 
 | ||||
| <a class="button translate" href="/conferences/MyBikeBike/workshops/1/edit/?lang=es"><span class="translated-content" data-i18n-key="actions.workshops.Translate" data-i18n-needs-translation="1">Translate into <span class="translated-content" data-i18n-key="languages.es" data-i18n-needs-translation="0">Spanish</span></span></a> | ||||
| <a class="button translate" href="/conferences/MyBikeBike/workshops/1/edit/?lang=fr"><span class="translated-content" data-i18n-key="actions.workshops.Translate" data-i18n-needs-translation="1">Translate into <span class="translated-content" data-i18n-key="languages.fr" data-i18n-needs-translation="0">French</span></span></a> | ||||
| <a class="button delete" href="/conferences/MyBikeBike/workshops/1/delete/"><span class="translated-content" data-i18n-key="actions.workshops.Delete" data-i18n-needs-translation="0">Delete Workshop</span></a> | ||||
| </div> | ||||
| </div></div></article> | ||||
| @ -102,11 +105,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/workshops/1"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -87,11 +87,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/workshops/1/delete"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -171,11 +171,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/workshops/1/edit"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -72,6 +72,9 @@ | ||||
| 
 | ||||
| </div><div class="columns medium-12"><div class="actions"> | ||||
| <a class="button modify" href="/conferences/MyBikeBike/workshops/1/edit/"><span class="translated-content" data-i18n-key="actions.workshops.Edit" data-i18n-needs-translation="0">Edit</span></a> | ||||
| 
 | ||||
| <a class="button translate" href="/conferences/MyBikeBike/workshops/1/edit/?lang=es"><span class="translated-content" data-i18n-key="actions.workshops.Translate" data-i18n-needs-translation="1">Translate into <span class="translated-content" data-i18n-key="languages.es" data-i18n-needs-translation="0">Spanish</span></span></a> | ||||
| <a class="button translate" href="/conferences/MyBikeBike/workshops/1/edit/?lang=fr"><span class="translated-content" data-i18n-key="actions.workshops.Translate" data-i18n-needs-translation="1">Translate into <span class="translated-content" data-i18n-key="languages.fr" data-i18n-needs-translation="0">French</span></span></a> | ||||
| <a class="button delete" href="/conferences/MyBikeBike/workshops/1/delete/"><span class="translated-content" data-i18n-key="actions.workshops.Delete" data-i18n-needs-translation="0">Delete Workshop</span></a> | ||||
| </div> | ||||
| </div></div></article> | ||||
| @ -102,11 +105,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/workshops/1/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -171,11 +171,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/workshops/create/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -87,11 +87,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/workshops/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -94,11 +94,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/confirm/test"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
							
								
								
									
										157
									
								
								config/locales/data/html_records/Edit-a-conference--.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										157
									
								
								config/locales/data/html_records/Edit-a-conference--.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,157 @@ | ||||
| <!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">Portland, Oregon</h3> | ||||
| <div class="secondary"> | ||||
| August 15 – 19, 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="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</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> | ||||
| @ -0,0 +1,75 @@ | ||||
| <!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-edit"> | ||||
| <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/edit"> | ||||
| <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.Edit" data-i18n-needs-translation="1">Edit</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 href="/conferences/MyBikeBike/workshops/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Workshops" data-i18n-needs-translation="0">Workshops</span></a> | ||||
| <a href="/conferences/MyBikeBike/edit/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Edit" data-i18n-needs-translation="0">Edit Conference</span></a> | ||||
| <a href="/conferences/MyBikeBike/stats/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Stats" data-i18n-needs-translation="0">Stats</span></a> | ||||
| <a href="/conferences/MyBikeBike/broadcast/"><span class="translated-content" data-i18n-key="menu.submenu.registration.Broadcast" data-i18n-needs-translation="0">Broadcast</span></a> | ||||
| </nav> | ||||
| </div></div><div id="content"> | ||||
| 
 | ||||
| <article> | ||||
| <div class="row"><div class="columns medium-12"><form class="composition" action="/conferences/MyBikeBike/save/" accept-charset="UTF-8" method="post"><input name="utf8" type="hidden" value="✓"> | ||||
| <div class="text-editor input-field"> | ||||
| <label for="info"><span class="translated-content" data-i18n-key="forms.labels.generic.info" data-i18n-needs-translation="0">Info</span></label> | ||||
| <textarea name="info" id="info" required="required">Curabitur non nulla sit amet nisl tempus convallis quis ac lectus.</textarea> | ||||
| </div> | ||||
| <div class="actions right"> | ||||
| <div class="left"> | ||||
| 
 | ||||
| <a class="translate" href="/conferences/MyBikeBike/edit/?lang=es"><span class="translated-content" data-i18n-key="actions.conference.Translate" data-i18n-needs-translation="1">Edit <span class="translated-content" data-i18n-key="languages.es" data-i18n-needs-translation="0">Spanish</span> version</span></a> | ||||
| <a class="translate" href="/conferences/MyBikeBike/edit/?lang=fr"><span class="translated-content" data-i18n-key="actions.conference.Translate" data-i18n-needs-translation="1">Edit <span class="translated-content" data-i18n-key="languages.fr" data-i18n-needs-translation="0">French</span> version</span></a> | ||||
| </div> | ||||
| <span class="translated-content" data-i18n-key="forms.actions.generic.save" data-i18n-needs-translation="0"><button name="button" type="submit" value="save">Save</button></span> | ||||
| </div> | ||||
| </form> | ||||
| 
 | ||||
| </div></div></article> | ||||
| <script> | ||||
|   window.jQuery || document.write('<script src="https://code.jquery.com/jquery-2.1.3.min.js"><\/script>') | ||||
| </script><script src="https://code.jquery.com/jquery-2.1.3.min.js"></script></div></main></body></html> | ||||
| @ -0,0 +1,159 @@ | ||||
| <!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="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</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> | ||||
| @ -46,7 +46,7 @@ | ||||
| <div class="details"> | ||||
| <h3 class="primary">Guadalajara, Jalisco, Mexico</h3> | ||||
| <div class="secondary"> | ||||
| August 14 – 18, 2015 | ||||
| August 15 – 19, 2015 | ||||
| </div> | ||||
| </div> | ||||
| </div> | ||||
| @ -92,11 +92,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -51,7 +51,7 @@ | ||||
| </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="row"><div class="columns medium-12"><h2>Aenean Auctor Gravida 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 4 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="✓"> | ||||
| @ -59,7 +59,7 @@ | ||||
| </form> | ||||
| 
 | ||||
| </div> | ||||
| <p>Sed ante. Vivamus tortor. Duis mattis egestas metus.</p> | ||||
| <p>Sed sagittis. Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci. Nullam molestie nibh in lectus.</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"> | ||||
| @ -96,11 +96,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/workshops/1/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -51,7 +51,7 @@ | ||||
| </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="row"><div class="columns medium-12"><h2>Aenean Auctor Gravida Sem</h2> | ||||
| <div class="workshop-interest"> | ||||
| <span class="translated-content" data-i18n-key="articles.workshops.info.interested_count" data-i18n-needs-translation="0">4 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="✓"> | ||||
| @ -59,7 +59,7 @@ | ||||
| </form> | ||||
| 
 | ||||
| </div> | ||||
| <p>Sed ante. Vivamus tortor. Duis mattis egestas metus.</p> | ||||
| <p>Sed sagittis. Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci. Nullam molestie nibh in lectus.</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"> | ||||
| @ -96,11 +96,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/workshops/1/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -51,7 +51,7 @@ | ||||
| </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="row"><div class="columns medium-12"><h2>Aenean Auctor Gravida Sem</h2> | ||||
| <div class="workshop-interest"> | ||||
| <span class="translated-content" data-i18n-key="articles.workshops.info.interested_count" data-i18n-needs-translation="0">4 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="✓"> | ||||
| @ -59,7 +59,7 @@ | ||||
| </form> | ||||
| 
 | ||||
| </div> | ||||
| <p>Sed ante. Vivamus tortor. Duis mattis egestas metus.</p> | ||||
| <p>Sed sagittis. Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci. Nullam molestie nibh in lectus.</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"> | ||||
| @ -96,11 +96,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/workshops/1"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -94,11 +94,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/confirm/test"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -101,11 +101,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/about"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -99,11 +99,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/policy"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -96,11 +96,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/error_404"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -50,7 +50,7 @@ | ||||
| <div class="details"> | ||||
| <h3 class="primary">Halifax, Nova Scotia</h3> | ||||
| <div class="secondary"> | ||||
| August 14 – 18, 2015 | ||||
| August 15 – 19, 2015 | ||||
| </div> | ||||
| </div> | ||||
| </div> | ||||
| @ -96,11 +96,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -41,7 +41,7 @@ | ||||
| <div class="details"> | ||||
| <h3 class="primary">Sackville, New Brunswick</h3> | ||||
| <div class="secondary"> | ||||
| August 14 – 18, 2015 | ||||
| August 15 – 19, 2015 | ||||
| </div> | ||||
| </div> | ||||
| </div> | ||||
| @ -87,11 +87,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -41,7 +41,7 @@ | ||||
| <div class="details"> | ||||
| <h3 class="primary">Halifax, Nova Scotia</h3> | ||||
| <div class="secondary"> | ||||
| August 14 – 18, 2015 | ||||
| August 15 – 19, 2015 | ||||
| </div> | ||||
| </div> | ||||
| </div> | ||||
| @ -62,7 +62,7 @@ Curabitur non nulla sit amet nisl tempus convallis quis ac lectus. | ||||
| <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 class="workshop-description"><p>In hac habitasse platea dictumst. Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante. Nulla justo.</p> | ||||
| </div> | ||||
| </li> | ||||
| </ul> | ||||
| @ -94,11 +94,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -81,7 +81,7 @@ | ||||
| <p> | ||||
| <h3> | ||||
| <b> | ||||
| <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> | ||||
| <a href='/confirm/c2bb6ed97af822a11e0698e06192407c851fad7af17c8cdb57bb5ce019676285'><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:49162'>© Bike!Bike! 2015</a> | ||||
| <a href='http://127.0.0.1:54389'>© Bike!Bike! 2015</a> | ||||
| </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:49162'>© Bike!Bike! 2015</a> | ||||
| <a href='http://127.0.0.1:54389'>© Bike!Bike! 2015</a> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
|  | ||||
| @ -105,11 +105,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/register/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -102,11 +102,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/register/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -102,11 +102,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/register/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -141,11 +141,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/register/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -83,11 +83,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/register/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -86,11 +86,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/register/paypal_confirm/token"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -89,11 +89,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/doconfirm/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -81,7 +81,7 @@ | ||||
| <p> | ||||
| <h3> | ||||
| <b> | ||||
| <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> | ||||
| <a href='/confirm/c2bb6ed97af822a11e0698e06192407c851fad7af17c8cdb57bb5ce019676285'><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:49162'>© Bike!Bike! 2015</a> | ||||
| <a href='http://127.0.0.1:54389'>© Bike!Bike! 2015</a> | ||||
| </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:49162'>© Bike!Bike! 2015</a> | ||||
| <a href='http://127.0.0.1:54389'>© Bike!Bike! 2015</a> | ||||
| </td> | ||||
| </tr> | ||||
| <tr> | ||||
|  | ||||
| @ -46,7 +46,7 @@ | ||||
| <div class="details"> | ||||
| <h3 class="primary">Anchorage, Alaska</h3> | ||||
| <div class="secondary"> | ||||
| August 14 – 18, 2015 | ||||
| August 15 – 19, 2015 | ||||
| </div> | ||||
| </div> | ||||
| </div> | ||||
| @ -92,11 +92,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -148,11 +148,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/conferences/MyBikeBike/stats/"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -28,7 +28,7 @@ Excel Spreadsheet | ||||
| <td>Jeff</td> | ||||
| <td>someguy@bikebike.org</td> | ||||
| <td>Somewhere</td> | ||||
| <td>2015-09-14 01:24:17</td> | ||||
| <td>2015-09-15 04:09:19</td> | ||||
| <td>English</td> | ||||
| <td>2015-09-28 00:00:00</td> | ||||
| <td>2015-09-28 00:00:00</td> | ||||
|  | ||||
| @ -94,11 +94,23 @@ EN | ||||
| <div class="selector"> | ||||
| <ul> | ||||
| <li> | ||||
| <a href="/confirm/test"> | ||||
| <a href="/?lang=en"> | ||||
| EN | ||||
| </a> | ||||
| <span>English</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=es"> | ||||
| ES | ||||
| </a> | ||||
| <span>español</span> | ||||
| </li> | ||||
| <li> | ||||
| <a href="/?lang=fr"> | ||||
| FR | ||||
| </a> | ||||
| <span>français</span> | ||||
| </li> | ||||
| </ul> | ||||
| </div> | ||||
| </span></div> | ||||
|  | ||||
| @ -17,6 +17,7 @@ date.formats.span_same_month_date_1: | ||||
|   - Be-the-first-to-like-a-workshop-- | ||||
|   - Like-a-workshop-- | ||||
|   - Broadcast-message-- | ||||
|   - Edit-a-conference-- | ||||
| date.month_names: | ||||
|   pages: | ||||
|   - "/" | ||||
| @ -32,6 +33,7 @@ date.month_names: | ||||
|   - Be-the-first-to-like-a-workshop-- | ||||
|   - Like-a-workshop-- | ||||
|   - Broadcast-message-- | ||||
|   - Edit-a-conference-- | ||||
| date.formats.span_same_month_date_2: | ||||
|   pages: | ||||
|   - "/" | ||||
| @ -44,6 +46,7 @@ date.formats.span_same_month_date_2: | ||||
|   - Be-the-first-to-like-a-workshop-- | ||||
|   - Like-a-workshop-- | ||||
|   - Broadcast-message-- | ||||
|   - Edit-a-conference-- | ||||
| date.date_span: | ||||
|   pages: | ||||
|   - "/" | ||||
| @ -59,6 +62,7 @@ date.date_span: | ||||
|   - Be-the-first-to-like-a-workshop-- | ||||
|   - Like-a-workshop-- | ||||
|   - Broadcast-message-- | ||||
|   - Edit-a-conference-- | ||||
| articles.workshops.headings.Proposed_Workshops: | ||||
|   pages: | ||||
|   - "/" | ||||
| @ -71,6 +75,7 @@ articles.workshops.headings.Proposed_Workshops: | ||||
|   - Be-the-first-to-like-a-workshop-- | ||||
|   - Like-a-workshop-- | ||||
|   - Broadcast-message-- | ||||
|   - Edit-a-conference-- | ||||
| articles.workshops.paragraphs.Proposed_Workshops: | ||||
|   pages: | ||||
|   - "/" | ||||
| @ -86,6 +91,7 @@ articles.workshops.paragraphs.Proposed_Workshops: | ||||
|   - Be-the-first-to-like-a-workshop-- | ||||
|   - Like-a-workshop-- | ||||
|   - Broadcast-message-- | ||||
|   - Edit-a-conference-- | ||||
| page_descriptions.home: | ||||
|   pages: | ||||
|   - "/" | ||||
| @ -100,6 +106,7 @@ page_descriptions.home: | ||||
|   - "/conferences/:slug/workshops/:workshop_id/edit" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/delete" | ||||
|   - "/conferences/:slug/broadcast" | ||||
|   - "/conferences/:slug/edit" | ||||
|   - "/about" | ||||
|   - "/policy" | ||||
|   - "/error_404" | ||||
| @ -147,6 +154,9 @@ page_descriptions.home: | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-1 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-2 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Edit-a-conference--confirm.test | ||||
|   - Edit-a-conference-- | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
|   - Read-the-about-page--about | ||||
|   - Read-the-policy-page--policy | ||||
|   - See-a-404-page--error_404 | ||||
| @ -164,6 +174,7 @@ page_titles.About_BikeBike: | ||||
|   - "/conferences/:slug/workshops/:workshop_id/edit" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/delete" | ||||
|   - "/conferences/:slug/broadcast" | ||||
|   - "/conferences/:slug/edit" | ||||
|   - "/about" | ||||
|   - "/policy" | ||||
|   - "/error_404" | ||||
| @ -211,6 +222,9 @@ page_titles.About_BikeBike: | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-1 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-2 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Edit-a-conference--confirm.test | ||||
|   - Edit-a-conference-- | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
|   - Read-the-about-page--about | ||||
|   - Read-the-policy-page--policy | ||||
|   - See-a-404-page--error_404 | ||||
| @ -228,6 +242,7 @@ page_titles.Safe_Space_Policy: | ||||
|   - "/conferences/:slug/workshops/:workshop_id/edit" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/delete" | ||||
|   - "/conferences/:slug/broadcast" | ||||
|   - "/conferences/:slug/edit" | ||||
|   - "/about" | ||||
|   - "/policy" | ||||
|   - "/error_404" | ||||
| @ -275,6 +290,9 @@ page_titles.Safe_Space_Policy: | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-1 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-2 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Edit-a-conference--confirm.test | ||||
|   - Edit-a-conference-- | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
|   - Read-the-about-page--about | ||||
|   - Read-the-policy-page--policy | ||||
|   - See-a-404-page--error_404 | ||||
| @ -304,6 +322,7 @@ links.footer.text.File_an_Issue: | ||||
|   - "/conferences/:slug/workshops/:workshop_id/edit" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/delete" | ||||
|   - "/conferences/:slug/broadcast" | ||||
|   - "/conferences/:slug/edit" | ||||
|   - "/about" | ||||
|   - "/policy" | ||||
|   - "/error_404" | ||||
| @ -351,6 +370,9 @@ links.footer.text.File_an_Issue: | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-1 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-2 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Edit-a-conference--confirm.test | ||||
|   - Edit-a-conference-- | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
|   - Read-the-about-page--about | ||||
|   - Read-the-policy-page--policy | ||||
|   - See-a-404-page--error_404 | ||||
| @ -368,6 +390,7 @@ links.footer.text.Help_contribute: | ||||
|   - "/conferences/:slug/workshops/:workshop_id/edit" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/delete" | ||||
|   - "/conferences/:slug/broadcast" | ||||
|   - "/conferences/:slug/edit" | ||||
|   - "/about" | ||||
|   - "/policy" | ||||
|   - "/error_404" | ||||
| @ -415,6 +438,9 @@ links.footer.text.Help_contribute: | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-1 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-2 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Edit-a-conference--confirm.test | ||||
|   - Edit-a-conference-- | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
|   - Read-the-about-page--about | ||||
|   - Read-the-policy-page--policy | ||||
|   - See-a-404-page--error_404 | ||||
| @ -432,6 +458,7 @@ links.footer.help_text.facebook: | ||||
|   - "/conferences/:slug/workshops/:workshop_id/edit" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/delete" | ||||
|   - "/conferences/:slug/broadcast" | ||||
|   - "/conferences/:slug/edit" | ||||
|   - "/about" | ||||
|   - "/policy" | ||||
|   - "/error_404" | ||||
| @ -480,6 +507,9 @@ links.footer.help_text.facebook: | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-1 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-2 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Edit-a-conference--confirm.test | ||||
|   - Edit-a-conference-- | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
|   - Read-the-about-page--about | ||||
|   - Read-the-policy-page--policy | ||||
|   - See-a-404-page--error_404 | ||||
| @ -497,6 +527,7 @@ links.footer.help_text.select_language: | ||||
|   - "/conferences/:slug/workshops/:workshop_id/edit" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/delete" | ||||
|   - "/conferences/:slug/broadcast" | ||||
|   - "/conferences/:slug/edit" | ||||
|   - "/about" | ||||
|   - "/policy" | ||||
|   - "/error_404" | ||||
| @ -545,6 +576,9 @@ links.footer.help_text.select_language: | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-1 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-2 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Edit-a-conference--confirm.test | ||||
|   - Edit-a-conference-- | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
|   - Read-the-about-page--about | ||||
|   - Read-the-policy-page--policy | ||||
|   - See-a-404-page--error_404 | ||||
| @ -562,6 +596,7 @@ languages.en: | ||||
|   - "/conferences/:slug/workshops/:workshop_id/edit" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/delete" | ||||
|   - "/conferences/:slug/broadcast" | ||||
|   - "/conferences/:slug/edit" | ||||
|   - "/about" | ||||
|   - "/policy" | ||||
|   - "/error_404" | ||||
| @ -658,6 +693,12 @@ languages.en: | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-2 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Edit-a-conference--confirm.test | ||||
|   - Edit-a-conference--confirm.test | ||||
|   - Edit-a-conference-- | ||||
|   - Edit-a-conference-- | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
|   - Read-the-about-page--about | ||||
|   - Read-the-about-page--about | ||||
|   - Read-the-policy-page--policy | ||||
| @ -665,6 +706,268 @@ languages.en: | ||||
|   - See-a-404-page--error_404 | ||||
|   - See-a-404-page--error_404 | ||||
|   context: English | ||||
| languages.es: | ||||
|   pages: | ||||
|   - "/" | ||||
|   - "/conferences/:slug/register" | ||||
|   - "/doconfirm" | ||||
|   - "/conferences/:slug/register/:button/:confirmation_token" | ||||
|   - "/confirm/:token" | ||||
|   - "/conferences/:slug/stats" | ||||
|   - "/conferences/:slug/workshops" | ||||
|   - "/conferences/:slug/workshops/create" | ||||
|   - "/conferences/:slug/workshops/:workshop_id" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/edit" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/delete" | ||||
|   - "/conferences/:slug/broadcast" | ||||
|   - "/conferences/:slug/edit" | ||||
|   - "/about" | ||||
|   - "/policy" | ||||
|   - "/error_404" | ||||
|   examples: | ||||
|   - See-a-more-info-link-- | ||||
|   - See-a-more-info-link-- | ||||
|   - See-a-register-link-- | ||||
|   - See-a-register-link-- | ||||
|   - Start-registration-from-landing-page-- | ||||
|   - Start-registration-from-landing-page-- | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-1 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-1 | ||||
|   - Start-registration-from-landing-page--doconfirm | ||||
|   - Start-registration-from-landing-page--doconfirm | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-2 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-2 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-3 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-3 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-3 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-4 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-4 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-5 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-5 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register.paypal_confirm.token | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register.paypal_confirm.token | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-6 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-6 | ||||
|   - View-stats--confirm.test | ||||
|   - View-stats--confirm.test | ||||
|   - View-stats-- | ||||
|   - View-stats-- | ||||
|   - View-stats--conferences.MyBikeBike.stats | ||||
|   - View-stats--conferences.MyBikeBike.stats | ||||
|   - Create-workshop--confirm.test | ||||
|   - Create-workshop--confirm.test | ||||
|   - Create-workshop-- | ||||
|   - Create-workshop-- | ||||
|   - Create-workshop--conferences.MyBikeBike.register | ||||
|   - Create-workshop--conferences.MyBikeBike.register | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.create | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.create | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.create | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1.edit | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1.edit | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1.edit | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-2 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-2 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-2 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-2 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-3 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-3 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-3 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-3 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1.delete | ||||
|   - 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-- | ||||
|   - Broadcast-message-- | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-1 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-1 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-2 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-2 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Edit-a-conference--confirm.test | ||||
|   - Edit-a-conference--confirm.test | ||||
|   - Edit-a-conference-- | ||||
|   - Edit-a-conference-- | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
|   - Read-the-about-page--about | ||||
|   - Read-the-about-page--about | ||||
|   - Read-the-policy-page--policy | ||||
|   - Read-the-policy-page--policy | ||||
|   - See-a-404-page--error_404 | ||||
|   - See-a-404-page--error_404 | ||||
|   context: Spanish | ||||
| languages.fr: | ||||
|   pages: | ||||
|   - "/" | ||||
|   - "/conferences/:slug/register" | ||||
|   - "/doconfirm" | ||||
|   - "/conferences/:slug/register/:button/:confirmation_token" | ||||
|   - "/confirm/:token" | ||||
|   - "/conferences/:slug/stats" | ||||
|   - "/conferences/:slug/workshops" | ||||
|   - "/conferences/:slug/workshops/create" | ||||
|   - "/conferences/:slug/workshops/:workshop_id" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/edit" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/delete" | ||||
|   - "/conferences/:slug/broadcast" | ||||
|   - "/conferences/:slug/edit" | ||||
|   - "/about" | ||||
|   - "/policy" | ||||
|   - "/error_404" | ||||
|   examples: | ||||
|   - See-a-more-info-link-- | ||||
|   - See-a-more-info-link-- | ||||
|   - See-a-register-link-- | ||||
|   - See-a-register-link-- | ||||
|   - Start-registration-from-landing-page-- | ||||
|   - Start-registration-from-landing-page-- | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-1 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-1 | ||||
|   - Start-registration-from-landing-page--doconfirm | ||||
|   - Start-registration-from-landing-page--doconfirm | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-2 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-2 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-3 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-3 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-3 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-4 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-4 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-5 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-5 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register.paypal_confirm.token | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register.paypal_confirm.token | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-6 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-6 | ||||
|   - View-stats--confirm.test | ||||
|   - View-stats--confirm.test | ||||
|   - View-stats-- | ||||
|   - View-stats-- | ||||
|   - View-stats--conferences.MyBikeBike.stats | ||||
|   - View-stats--conferences.MyBikeBike.stats | ||||
|   - Create-workshop--confirm.test | ||||
|   - Create-workshop--confirm.test | ||||
|   - Create-workshop-- | ||||
|   - Create-workshop-- | ||||
|   - Create-workshop--conferences.MyBikeBike.register | ||||
|   - Create-workshop--conferences.MyBikeBike.register | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.create | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.create | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.create | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1.edit | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1.edit | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1.edit | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-2 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-2 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-2 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-2 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-3 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-3 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-3 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-3 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1.delete | ||||
|   - 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-- | ||||
|   - Broadcast-message-- | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-1 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-1 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-2 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-2 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Edit-a-conference--confirm.test | ||||
|   - Edit-a-conference--confirm.test | ||||
|   - Edit-a-conference-- | ||||
|   - Edit-a-conference-- | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
|   - Read-the-about-page--about | ||||
|   - Read-the-about-page--about | ||||
|   - Read-the-policy-page--policy | ||||
|   - Read-the-policy-page--policy | ||||
|   - See-a-404-page--error_404 | ||||
|   - See-a-404-page--error_404 | ||||
|   context: French | ||||
| links.footer.help_text.contributors: | ||||
|   pages: | ||||
|   - "/" | ||||
| @ -679,6 +982,7 @@ links.footer.help_text.contributors: | ||||
|   - "/conferences/:slug/workshops/:workshop_id/edit" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/delete" | ||||
|   - "/conferences/:slug/broadcast" | ||||
|   - "/conferences/:slug/edit" | ||||
|   - "/about" | ||||
|   - "/policy" | ||||
|   - "/error_404" | ||||
| @ -727,6 +1031,9 @@ links.footer.help_text.contributors: | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-1 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-2 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Edit-a-conference--confirm.test | ||||
|   - Edit-a-conference-- | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
|   - Read-the-about-page--about | ||||
|   - Read-the-policy-page--policy | ||||
|   - See-a-404-page--error_404 | ||||
| @ -754,6 +1061,8 @@ conference.actions.Register: | ||||
|   - Like-a-workshop-- | ||||
|   - Broadcast-message--confirm.test | ||||
|   - Broadcast-message-- | ||||
|   - Edit-a-conference--confirm.test | ||||
|   - Edit-a-conference-- | ||||
| page_titles.conferences.Conference_Registration: | ||||
|   pages: | ||||
|   - "/conferences/:slug/register" | ||||
| @ -794,6 +1103,7 @@ forms.labels.generic.email: | ||||
|   - Be-the-first-to-like-a-workshop--confirm.test | ||||
|   - Like-a-workshop--confirm.test | ||||
|   - Broadcast-message--confirm.test | ||||
|   - Edit-a-conference--confirm.test | ||||
| forms.actions.generic.register: | ||||
|   pages: | ||||
|   - "/conferences/:slug/register" | ||||
| @ -990,6 +1300,7 @@ forms.actions.generic.Log_out: | ||||
|   - "/conferences/:slug/workshops/:workshop_id/edit" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/delete" | ||||
|   - "/conferences/:slug/broadcast" | ||||
|   - "/conferences/:slug/edit" | ||||
|   examples: | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-2 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-3 | ||||
| @ -1023,6 +1334,8 @@ forms.actions.generic.Log_out: | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-1 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-2 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Edit-a-conference-- | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
| articles.conference_registration.headings.Registration_Info: | ||||
|   pages: | ||||
|   - "/conferences/:slug/register" | ||||
| @ -1086,24 +1399,6 @@ articles.conference_registration.headings.languages: | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-3 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-6 | ||||
|   - View-stats--conferences.MyBikeBike.stats.xls | ||||
| languages.es: | ||||
|   pages: | ||||
|   - "/conferences/:slug/register" | ||||
|   - "/conferences/:slug/workshops/create" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/edit" | ||||
|   examples: | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-3 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.create | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1.edit | ||||
| languages.fr: | ||||
|   pages: | ||||
|   - "/conferences/:slug/register" | ||||
|   - "/conferences/:slug/workshops/create" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/edit" | ||||
|   examples: | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-3 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.create | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1.edit | ||||
| articles.conference_registration.headings.housing: | ||||
|   pages: | ||||
|   - "/conferences/:slug/register" | ||||
| @ -1311,6 +1606,7 @@ menu.submenu.registration.Registration: | ||||
|   - "/conferences/:slug/workshops/:workshop_id/edit" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/delete" | ||||
|   - "/conferences/:slug/broadcast" | ||||
|   - "/conferences/:slug/edit" | ||||
|   examples: | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-5 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register.paypal_confirm.token | ||||
| @ -1336,6 +1632,7 @@ menu.submenu.registration.Registration: | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-1 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-2 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
| menu.submenu.registration.Workshops: | ||||
|   pages: | ||||
|   - "/conferences/:slug/register" | ||||
| @ -1347,6 +1644,7 @@ menu.submenu.registration.Workshops: | ||||
|   - "/conferences/:slug/workshops/:workshop_id/edit" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/delete" | ||||
|   - "/conferences/:slug/broadcast" | ||||
|   - "/conferences/:slug/edit" | ||||
|   examples: | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register-5 | ||||
|   - Start-registration-from-landing-page--conferences.MyBikeBike.register.paypal_confirm.token | ||||
| @ -1372,6 +1670,7 @@ menu.submenu.registration.Workshops: | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-1 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-2 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
| articles.conference_registration.headings.payment_confirm: | ||||
|   pages: | ||||
|   - "/conferences/:slug/register/:button/:confirmation_token" | ||||
| @ -1470,6 +1769,7 @@ page_titles.403.Please_Confirm_Email: | ||||
|   - Be-the-first-to-like-a-workshop--confirm.test | ||||
|   - Like-a-workshop--confirm.test | ||||
|   - Broadcast-message--confirm.test | ||||
|   - Edit-a-conference--confirm.test | ||||
| articles.permission_denied.headings.confirm_email: | ||||
|   pages: | ||||
|   - "/confirm/:token" | ||||
| @ -1480,6 +1780,7 @@ articles.permission_denied.headings.confirm_email: | ||||
|   - Be-the-first-to-like-a-workshop--confirm.test | ||||
|   - Like-a-workshop--confirm.test | ||||
|   - Broadcast-message--confirm.test | ||||
|   - Edit-a-conference--confirm.test | ||||
| forms.actions.generic.login: | ||||
|   pages: | ||||
|   - "/confirm/:token" | ||||
| @ -1489,6 +1790,7 @@ forms.actions.generic.login: | ||||
|   - Be-the-first-to-like-a-workshop--confirm.test | ||||
|   - Like-a-workshop--confirm.test | ||||
|   - Broadcast-message--confirm.test | ||||
|   - Edit-a-conference--confirm.test | ||||
| geography.subregions.US.AK: | ||||
|   pages: | ||||
|   - "/" | ||||
| @ -1560,32 +1862,38 @@ menu.submenu.registration.Edit: | ||||
|   pages: | ||||
|   - "/conferences/:slug/stats" | ||||
|   - "/conferences/:slug/broadcast" | ||||
|   - "/conferences/:slug/edit" | ||||
|   examples: | ||||
|   - View-stats--conferences.MyBikeBike.stats | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-1 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-2 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
| menu.submenu.registration.Stats: | ||||
|   pages: | ||||
|   - "/conferences/:slug/stats" | ||||
|   - "/conferences/:slug/broadcast" | ||||
|   - "/conferences/:slug/edit" | ||||
|   examples: | ||||
|   - View-stats--conferences.MyBikeBike.stats | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-1 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-2 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
| menu.submenu.registration.Broadcast: | ||||
|   pages: | ||||
|   - "/conferences/:slug/stats" | ||||
|   - "/conferences/:slug/broadcast" | ||||
|   - "/conferences/:slug/edit" | ||||
|   examples: | ||||
|   - View-stats--conferences.MyBikeBike.stats | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-1 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-2 | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
| articles.conference_registration.headings.email: | ||||
|   pages: | ||||
|   - "/conferences/:slug/stats" | ||||
| @ -1670,9 +1978,11 @@ forms.labels.generic.info: | ||||
|   pages: | ||||
|   - "/conferences/:slug/workshops/create" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/edit" | ||||
|   - "/conferences/:slug/edit" | ||||
|   examples: | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.create | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1.edit | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
| articles.workshops.headings.languages: | ||||
|   pages: | ||||
|   - "/conferences/:slug/workshops/create" | ||||
| @ -1847,9 +2157,11 @@ forms.actions.generic.save: | ||||
|   pages: | ||||
|   - "/conferences/:slug/workshops/create" | ||||
|   - "/conferences/:slug/workshops/:workshop_id/edit" | ||||
|   - "/conferences/:slug/edit" | ||||
|   examples: | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.create | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1.edit | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
| page_titles.conferences.View_Workshop: | ||||
|   pages: | ||||
|   - "/conferences/:slug/workshops/:workshop_id" | ||||
| @ -1909,6 +2221,22 @@ actions.workshops.Edit: | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-2 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-3 | ||||
| actions.workshops.Translate: | ||||
|   pages: | ||||
|   - "/conferences/:slug/workshops/:workshop_id" | ||||
|   context: Translate into <span class="translated-content" data-i18n-key="languages.es" | ||||
|     data-i18n-needs-translation="0">Spanish</span> | ||||
|   vars: | ||||
|   - :language | ||||
|   examples: | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-1 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-2 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-2 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-3 | ||||
|   - Create-workshop--conferences.MyBikeBike.workshops.1-3 | ||||
| actions.workshops.Delete: | ||||
|   pages: | ||||
|   - "/conferences/:slug/workshops/:workshop_id" | ||||
| @ -2055,6 +2383,26 @@ articles.conference_registration.paragraphs.participants_emailed: | ||||
|   - :conference_title | ||||
|   examples: | ||||
|   - Broadcast-message--conferences.MyBikeBike.broadcast-3 | ||||
| geography.subregions.US.OR: | ||||
|   pages: | ||||
|   - "/" | ||||
|   examples: | ||||
|   - Edit-a-conference-- | ||||
| page_titles.conferences.Edit: | ||||
|   pages: | ||||
|   - "/conferences/:slug/edit" | ||||
|   examples: | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
| actions.conference.Translate: | ||||
|   pages: | ||||
|   - "/conferences/:slug/edit" | ||||
|   context: Edit <span class="translated-content" data-i18n-key="languages.es" data-i18n-needs-translation="0">Spanish</span> | ||||
|     version | ||||
|   vars: | ||||
|   - :language | ||||
|   examples: | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
|   - Edit-a-conference--conferences.MyBikeBike.edit | ||||
| page_titles.about.About_BikeBike: | ||||
|   pages: | ||||
|   - "/about" | ||||
|  | ||||
| @ -5456,7 +5456,9 @@ 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. | ||||
|         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) | ||||
| @ -5545,6 +5547,7 @@ en: | ||||
|       Workshops: Workshops | ||||
|       Delete_Workshop: Create Workshop | ||||
|       Edit_Workshop: Edit Workshop | ||||
|       Edit: Edit Conference | ||||
|     policy: | ||||
|       Safer_Spaces_Policy: Safer Space Agreement | ||||
|     '404': | ||||
| @ -5578,6 +5581,9 @@ en: | ||||
|       create: New Workshop | ||||
|       Delete: Delete Workshop | ||||
|       Edit: Edit | ||||
|       Translate: Translate into %{language} | ||||
|     conference: | ||||
|       Translate: Edit %{language} version | ||||
|   error: | ||||
|     '404': | ||||
|       description: Sorry, we couldn't find the page you were looking for. If you really | ||||
|  | ||||
							
								
								
									
										5
									
								
								db/migrate/20150914230507_add_locale_to_workshops.rb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								db/migrate/20150914230507_add_locale_to_workshops.rb
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | ||||
| class AddLocaleToWorkshops < ActiveRecord::Migration | ||||
|   def change | ||||
|     add_column :workshops, :locale, :string | ||||
|   end | ||||
| end | ||||
| @ -11,7 +11,7 @@ | ||||
| # | ||||
| # It's strongly recommended that you check this file into your version control system. | ||||
| 
 | ||||
| ActiveRecord::Schema.define(version: 20150912010105) do | ||||
| ActiveRecord::Schema.define(version: 20150914230507) do | ||||
| 
 | ||||
|   # These are extensions that must be enabled in order to support this database | ||||
|   enable_extension "plpgsql" | ||||
| @ -386,6 +386,7 @@ ActiveRecord::Schema.define(version: 20150912010105) do | ||||
|     t.string   "theme" | ||||
|     t.text     "host_info" | ||||
|     t.text     "notes" | ||||
|     t.string   "locale" | ||||
|   end | ||||
| 
 | ||||
| end | ||||
|  | ||||
| @ -168,3 +168,13 @@ Feature: Registration Page | ||||
| 		Then I should see email has been sent | ||||
| 		And I should see Preview | ||||
| 		And I should see My Subject | ||||
| 
 | ||||
| 	Scenario: Edit a conference | ||||
| 		Given There is an upcoming conference in Portland OR | ||||
| 		And Registration is open | ||||
| 		And I am logged in as somebody@bikebike.org | ||||
| 		And My name is John Doe | ||||
| 		And I am a conference host | ||||
| 		And I am registered for the conference | ||||
| 		And I am on the edit conference page | ||||
| 		Then I should see Edit Spanish | ||||
|  | ||||
| @ -78,23 +78,23 @@ Given(/^There is an upcoming conference( in .+)?$/) do |location| | ||||
| 	end | ||||
| end | ||||
| 
 | ||||
| Given(/^an organization( named .+)? exists( in .+)?$/) do |name, location| | ||||
| Given(/^an organization( named .+)? exists in (.+)?$/) do |name, location| | ||||
| 	if location =~ /every country/i | ||||
| 		Carmen::World.instance.subregions.each { |country| | ||||
| 			if country.subregions? | ||||
| 				country.subregions.each { |region| | ||||
| 					org = Organization.new(name: rand(36**16).to_s(36), slug: rand(36**16).to_s(36))#create_org#(Forgery::LoremIpsum.sentence) | ||||
| 					org = Organization.new(name: rand(36**16).to_s(36), slug: rand(36**16).to_s(36)) | ||||
| 					org.locations << Location.new(city: 'City', country: country.code, territory: region.code) | ||||
| 					org.save! | ||||
| 				} | ||||
| 			else | ||||
| 				org = Organization.new(name: rand(36**16).to_s(36), slug: rand(36**16).to_s(36))#create_org#(Forgery::LoremIpsum.sentence) | ||||
| 				org = Organization.new(name: rand(36**16).to_s(36), slug: rand(36**16).to_s(36)) | ||||
| 				org.locations << Location.new(city: 'City', country: country.code) | ||||
| 				org.save! | ||||
| 			end | ||||
| 		} | ||||
| 	else | ||||
| 		create_org(name ? name.gsub(/^\s*named\s+(.*?)\s*$/, '\1') : nil, location ? location.gsub(/^\s*in\s+(.*?)\s*$/, '\1') : nil) | ||||
| 		create_org(name ? name.gsub(/^\s*named\s+(.*?)\s*$/, '\1') : nil, location) | ||||
| 	end | ||||
| end | ||||
| 
 | ||||
| @ -103,6 +103,7 @@ Given(/^a workshop( titled .+)? exists?$/) do |title| | ||||
| 	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.locale = :en | ||||
| 	workshop.save | ||||
| 	@last_workshop = workshop | ||||
| end | ||||
|  | ||||
| @ -109,8 +109,15 @@ end | ||||
| def create_org(name = nil, location = nil) | ||||
| 	org = FactoryGirl.create(:org) | ||||
| 	found_location = nil | ||||
| 	if !location.nil? | ||||
| 		l = Geocoder.search(location).first | ||||
| 	if location.present? | ||||
| 		cache_file = File.join(File.dirname(__FILE__), 'location_cache.yml') | ||||
| 		cache = File.exists?(cache_file) ? YAML.load_file(cache_file) : {} | ||||
| 		l = cache[location] | ||||
| 		if l.nil? | ||||
| 			l = Geocoder.search(location).first | ||||
| 			cache[location] = l | ||||
| 			File.open(cache_file, 'w') { |f| f.write cache.to_yaml } | ||||
| 		end | ||||
| 		begin | ||||
| 			found_location = Location.new(city: l.city, territory: l.province_code, country: l.country_code, latitude: l.latitude, longitude: l.longitude) | ||||
| 		rescue; end | ||||
| @ -120,11 +127,11 @@ def create_org(name = nil, location = nil) | ||||
| 			return org | ||||
| 		end | ||||
| 	end | ||||
| 	if !name.nil? | ||||
| 	if name.present? | ||||
| 		org.name = name | ||||
| 		org.slug = org.generate_slug(name, found_location) | ||||
| 	end | ||||
| 	if !found_location.nil? | ||||
| 	if found_location.present? | ||||
| 		org.locations << found_location | ||||
| 	end | ||||
| 	org.save! | ||||
|  | ||||
| @ -10,6 +10,7 @@ FactoryGirl.define do | ||||
| 		end_date 			Date.today - 26.days | ||||
| 		conference_type_id	(ConferenceType.find_by(:slug => 'bikebike') || ConferenceType.create(:slug => 'bikebike')).id | ||||
| 		paypal_username		'joe' | ||||
| 		locale				'en' | ||||
| 	end | ||||
| 
 | ||||
| 	factory :org, :class => 'Organization' do | ||||
|  | ||||
							
								
								
									
										300
									
								
								features/support/location_cache.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										300
									
								
								features/support/location_cache.yml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,300 @@ | ||||
| --- | ||||
| " in Halifax NS": !ruby/object:Geocoder::Result::Google | ||||
|   data: | ||||
|     address_components: | ||||
|     - long_name: Halifax | ||||
|       short_name: Halifax | ||||
|       types: | ||||
|       - locality | ||||
|       - political | ||||
|     - long_name: Halifax | ||||
|       short_name: Halifax | ||||
|       types: | ||||
|       - administrative_area_level_3 | ||||
|       - political | ||||
|     - long_name: Halifax Regional Municipality | ||||
|       short_name: Halifax Regional Municipality | ||||
|       types: | ||||
|       - administrative_area_level_2 | ||||
|       - political | ||||
|     - long_name: Nova Scotia | ||||
|       short_name: NS | ||||
|       types: | ||||
|       - administrative_area_level_1 | ||||
|       - political | ||||
|     - long_name: Canada | ||||
|       short_name: CA | ||||
|       types: | ||||
|       - country | ||||
|       - political | ||||
|     formatted_address: Halifax, NS, Canada | ||||
|     geometry: | ||||
|       bounds: | ||||
|         northeast: | ||||
|           lat: 44.7035313 | ||||
|           lng: -63.5576784 | ||||
|         southwest: | ||||
|           lat: 44.5949302 | ||||
|           lng: -63.68627009999999 | ||||
|       location: | ||||
|         lat: 44.6488625 | ||||
|         lng: -63.5753196 | ||||
|       location_type: APPROXIMATE | ||||
|       viewport: | ||||
|         northeast: | ||||
|           lat: 44.7035313 | ||||
|           lng: -63.5576784 | ||||
|         southwest: | ||||
|           lat: 44.5949302 | ||||
|           lng: -63.68627009999999 | ||||
|     partial_match: true | ||||
|     place_id: ChIJwfrbBxQhWksR3C2LQ6bja2Y | ||||
|     types: | ||||
|     - locality | ||||
|     - political | ||||
|   cache_hit:  | ||||
| " in Sackville NB": !ruby/object:Geocoder::Result::Google | ||||
|   data: | ||||
|     address_components: | ||||
|     - long_name: Sackville | ||||
|       short_name: Sackville | ||||
|       types: | ||||
|       - locality | ||||
|       - political | ||||
|     - long_name: Westmorland County | ||||
|       short_name: Westmorland County | ||||
|       types: | ||||
|       - administrative_area_level_2 | ||||
|       - political | ||||
|     - long_name: New Brunswick | ||||
|       short_name: NB | ||||
|       types: | ||||
|       - administrative_area_level_1 | ||||
|       - political | ||||
|     - long_name: Canada | ||||
|       short_name: CA | ||||
|       types: | ||||
|       - country | ||||
|       - political | ||||
|     formatted_address: Sackville, NB, Canada | ||||
|     geometry: | ||||
|       bounds: | ||||
|         northeast: | ||||
|           lat: 45.96934 | ||||
|           lng: -64.31345000000002 | ||||
|         southwest: | ||||
|           lat: 45.86707 | ||||
|           lng: -64.4562439 | ||||
|       location: | ||||
|         lat: 45.897903 | ||||
|         lng: -64.3682803 | ||||
|       location_type: APPROXIMATE | ||||
|       viewport: | ||||
|         northeast: | ||||
|           lat: 45.96934 | ||||
|           lng: -64.31345000000002 | ||||
|         southwest: | ||||
|           lat: 45.86707 | ||||
|           lng: -64.4562439 | ||||
|     partial_match: true | ||||
|     place_id: ChIJA-OnietQX0sR3kWeYPsw4gs | ||||
|     types: | ||||
|     - locality | ||||
|     - political | ||||
|   cache_hit:  | ||||
| " in Anchorage AK": !ruby/object:Geocoder::Result::Google | ||||
|   data: | ||||
|     address_components: | ||||
|     - long_name: Anchorage | ||||
|       short_name: Anchorage | ||||
|       types: | ||||
|       - locality | ||||
|       - political | ||||
|     - long_name: Anchorage | ||||
|       short_name: Anchorage | ||||
|       types: | ||||
|       - administrative_area_level_2 | ||||
|       - political | ||||
|     - long_name: Alaska | ||||
|       short_name: AK | ||||
|       types: | ||||
|       - administrative_area_level_1 | ||||
|       - political | ||||
|     - long_name: United States | ||||
|       short_name: US | ||||
|       types: | ||||
|       - country | ||||
|       - political | ||||
|     formatted_address: Anchorage, AK, USA | ||||
|     geometry: | ||||
|       bounds: | ||||
|         northeast: | ||||
|           lat: 61.4838912 | ||||
|           lng: -148.460007 | ||||
|         southwest: | ||||
|           lat: 60.733791 | ||||
|           lng: -150.2862833 | ||||
|       location: | ||||
|         lat: 61.2180556 | ||||
|         lng: -149.9002778 | ||||
|       location_type: APPROXIMATE | ||||
|       viewport: | ||||
|         northeast: | ||||
|           lat: 61.4838912 | ||||
|           lng: -148.460007 | ||||
|         southwest: | ||||
|           lat: 60.733791 | ||||
|           lng: -150.2862833 | ||||
|     partial_match: true | ||||
|     place_id: ChIJQT-zBHaRyFYR42iEp1q6fSU | ||||
|     types: | ||||
|     - locality | ||||
|     - political | ||||
|   cache_hit:  | ||||
| " in San Marcos TX": !ruby/object:Geocoder::Result::Google | ||||
|   data: | ||||
|     address_components: | ||||
|     - long_name: San Marcos | ||||
|       short_name: San Marcos | ||||
|       types: | ||||
|       - locality | ||||
|       - political | ||||
|     - long_name: Hays County | ||||
|       short_name: Hays County | ||||
|       types: | ||||
|       - administrative_area_level_2 | ||||
|       - political | ||||
|     - long_name: Texas | ||||
|       short_name: TX | ||||
|       types: | ||||
|       - administrative_area_level_1 | ||||
|       - political | ||||
|     - long_name: United States | ||||
|       short_name: US | ||||
|       types: | ||||
|       - country | ||||
|       - political | ||||
|     formatted_address: San Marcos, TX, USA | ||||
|     geometry: | ||||
|       bounds: | ||||
|         northeast: | ||||
|           lat: 29.9605819 | ||||
|           lng: -97.8419149 | ||||
|         southwest: | ||||
|           lat: 29.777154 | ||||
|           lng: -98.012087 | ||||
|       location: | ||||
|         lat: 29.8832749 | ||||
|         lng: -97.9413941 | ||||
|       location_type: APPROXIMATE | ||||
|       viewport: | ||||
|         northeast: | ||||
|           lat: 29.9605819 | ||||
|           lng: -97.8419149 | ||||
|         southwest: | ||||
|           lat: 29.777154 | ||||
|           lng: -98.012087 | ||||
|     partial_match: true | ||||
|     place_id: ChIJWUZBNCqnXIYRJzGOU2wzOi8 | ||||
|     types: | ||||
|     - locality | ||||
|     - political | ||||
|   cache_hit:  | ||||
| " in Guadalajara Mexico": !ruby/object:Geocoder::Result::Google | ||||
|   data: | ||||
|     address_components: | ||||
|     - long_name: Guadalajara | ||||
|       short_name: Guadalajara | ||||
|       types: | ||||
|       - locality | ||||
|       - political | ||||
|     - long_name: Guadalajara | ||||
|       short_name: Guadalajara | ||||
|       types: | ||||
|       - administrative_area_level_2 | ||||
|       - political | ||||
|     - long_name: Jalisco | ||||
|       short_name: Jal. | ||||
|       types: | ||||
|       - administrative_area_level_1 | ||||
|       - political | ||||
|     - long_name: Mexico | ||||
|       short_name: MX | ||||
|       types: | ||||
|       - country | ||||
|       - political | ||||
|     formatted_address: Guadalajara, Jalisco, Mexico | ||||
|     geometry: | ||||
|       bounds: | ||||
|         northeast: | ||||
|           lat: 20.7438464 | ||||
|           lng: -103.2637617 | ||||
|         southwest: | ||||
|           lat: 20.6037373 | ||||
|           lng: -103.4070646 | ||||
|       location: | ||||
|         lat: 20.6596988 | ||||
|         lng: -103.3496092 | ||||
|       location_type: APPROXIMATE | ||||
|       viewport: | ||||
|         northeast: | ||||
|           lat: 20.7438464 | ||||
|           lng: -103.2637617 | ||||
|         southwest: | ||||
|           lat: 20.6037373 | ||||
|           lng: -103.4070646 | ||||
|     partial_match: true | ||||
|     place_id: ChIJm9MvtYyxKIQRUFeGvwKTPdY | ||||
|     types: | ||||
|     - locality | ||||
|     - political | ||||
|   cache_hit:  | ||||
| " in Portland OR": !ruby/object:Geocoder::Result::Google | ||||
|   data: | ||||
|     address_components: | ||||
|     - long_name: Portland | ||||
|       short_name: Portland | ||||
|       types: | ||||
|       - locality | ||||
|       - political | ||||
|     - long_name: Multnomah County | ||||
|       short_name: Multnomah County | ||||
|       types: | ||||
|       - administrative_area_level_2 | ||||
|       - political | ||||
|     - long_name: Oregon | ||||
|       short_name: OR | ||||
|       types: | ||||
|       - administrative_area_level_1 | ||||
|       - political | ||||
|     - long_name: United States | ||||
|       short_name: US | ||||
|       types: | ||||
|       - country | ||||
|       - political | ||||
|     formatted_address: Portland, OR, USA | ||||
|     geometry: | ||||
|       bounds: | ||||
|         northeast: | ||||
|           lat: 45.6524799 | ||||
|           lng: -122.4718489 | ||||
|         southwest: | ||||
|           lat: 45.432393 | ||||
|           lng: -122.8369952 | ||||
|       location: | ||||
|         lat: 45.5230622 | ||||
|         lng: -122.6764816 | ||||
|       location_type: APPROXIMATE | ||||
|       viewport: | ||||
|         northeast: | ||||
|           lat: 45.6524799 | ||||
|           lng: -122.4718489 | ||||
|         southwest: | ||||
|           lat: 45.432393 | ||||
|           lng: -122.8369952 | ||||
|     partial_match: true | ||||
|     place_id: ChIJJ3SpfQsLlVQRkYXR9ua5Nhw | ||||
|     types: | ||||
|     - locality | ||||
|     - political | ||||
|   cache_hit:  | ||||
| @ -7,6 +7,8 @@ module NavigationHelpers | ||||
| 				path = :home | ||||
| 			when /^registration$/i | ||||
| 				path = "/conferences/#{@last_conference.slug}/register/" | ||||
| 			when /^edit conference$/i | ||||
| 				path = "/conferences/#{@last_conference.slug}/edit/" | ||||
| 			when /^(workshops|stats|broadcast)$/i | ||||
| 				path = "/conferences/#{@last_conference.slug}/#{path}/" | ||||
| 		end | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user