Godwin
11 years ago
41 changed files with 1185 additions and 105 deletions
@ -1,7 +0,0 @@ |
|||
#!/bin/bash |
|||
# The logic to start up your application should be put in this |
|||
# script. The application will work only if it binds to |
|||
# $OPENSHIFT_INTERNAL_IP:8080 |
|||
export PATH=$OPENSHIFT_RUNTIME_DIR/bin:$PATH |
|||
cd $OPENSHIFT_REPO_DIR |
|||
rails server -b $OPENSHIFT_INTERNAL_IP -p $OPENSHIFT_INTERNAL_PORT -d |
@ -1,4 +0,0 @@ |
|||
#!/bin/bash |
|||
# The logic to stop your application should be put in this script. |
|||
kill -9 `ps -ef | grep "rails server" | grep -v grep | awk '{ print $2 }'` > /dev/null 2>&1 |
|||
exit 0 |
@ -0,0 +1,398 @@ |
|||
GIT |
|||
remote: git://github.com/josevalim/rails-footnotes.git |
|||
revision: 087914beabb56c2e9979f63eeb0183591065dde3 |
|||
specs: |
|||
rails-footnotes (4.0.2) |
|||
rails (>= 3.2) |
|||
|
|||
GIT |
|||
remote: git://github.com/svenfuchs/i18n-active_record.git |
|||
revision: 2d9a22b6a4e5d809782cdbfa65b14d9e47aa27fc |
|||
specs: |
|||
i18n-active_record (0.0.2) |
|||
i18n (>= 0.5.0) |
|||
|
|||
GEM |
|||
remote: http://rubygems.org/ |
|||
specs: |
|||
actionmailer (4.0.0) |
|||
actionpack (= 4.0.0) |
|||
mail (~> 2.5.3) |
|||
actionpack (4.0.0) |
|||
activesupport (= 4.0.0) |
|||
builder (~> 3.1.0) |
|||
erubis (~> 2.7.0) |
|||
rack (~> 1.5.2) |
|||
rack-test (~> 0.6.2) |
|||
activemodel (4.0.0) |
|||
activesupport (= 4.0.0) |
|||
builder (~> 3.1.0) |
|||
activerecord (4.0.0) |
|||
activemodel (= 4.0.0) |
|||
activerecord-deprecated_finders (~> 1.0.2) |
|||
activesupport (= 4.0.0) |
|||
arel (~> 4.0.0) |
|||
activerecord-deprecated_finders (1.0.3) |
|||
activerecord-session_store (0.1.0) |
|||
actionpack (>= 4.0.0, < 5) |
|||
activerecord (>= 4.0.0, < 5) |
|||
railties (>= 4.0.0, < 5) |
|||
activesupport (4.0.0) |
|||
i18n (~> 0.6, >= 0.6.4) |
|||
minitest (~> 4.2) |
|||
multi_json (~> 1.3) |
|||
thread_safe (~> 0.1) |
|||
tzinfo (~> 0.3.37) |
|||
acts_as_list (0.4.0) |
|||
activerecord (>= 3.0) |
|||
addressable (2.3.6) |
|||
arel (4.0.2) |
|||
awesome_print (1.2.0) |
|||
bcrypt (3.1.7-x86-mingw32) |
|||
better_errors (1.1.0) |
|||
coderay (>= 1.0.0) |
|||
erubis (>= 2.6.6) |
|||
binding_of_caller (0.7.2) |
|||
debug_inspector (>= 0.0.1) |
|||
builder (3.1.4) |
|||
callsite (0.0.11) |
|||
capistrano (2.15.5) |
|||
highline |
|||
net-scp (>= 1.0.0) |
|||
net-sftp (>= 2.0.0) |
|||
net-ssh (>= 2.0.14) |
|||
net-ssh-gateway (>= 1.1.0) |
|||
capybara (2.4.1) |
|||
mime-types (>= 1.16) |
|||
nokogiri (>= 1.3.3) |
|||
rack (>= 1.0.0) |
|||
rack-test (>= 0.5.4) |
|||
xpath (~> 2.0) |
|||
carmen (1.0.1) |
|||
unicode_utils (~> 1.4.0) |
|||
carmen-rails (1.0.1) |
|||
carmen (~> 1.0.0) |
|||
rails |
|||
carrierwave (0.10.0) |
|||
activemodel (>= 3.2.0) |
|||
activesupport (>= 3.2.0) |
|||
json (>= 1.7) |
|||
mime-types (>= 1.16) |
|||
carrierwave-imageoptimizer (1.2.1) |
|||
carrierwave (~> 0.8) |
|||
image_optimizer (~> 1.2) |
|||
celluloid (0.15.2) |
|||
timers (~> 1.1.0) |
|||
childprocess (0.5.3) |
|||
ffi (~> 1.0, >= 1.0.11) |
|||
chunky_png (1.3.1) |
|||
coderay (1.1.0) |
|||
coffee-rails (4.0.1) |
|||
coffee-script (>= 2.2.0) |
|||
railties (>= 4.0.0, < 5.0) |
|||
coffee-script (2.3.0) |
|||
coffee-script-source |
|||
execjs |
|||
coffee-script-source (1.7.1) |
|||
compass (0.12.7) |
|||
chunky_png (~> 1.2) |
|||
fssm (>= 0.2.7) |
|||
sass (~> 3.2.19) |
|||
compass-rails (1.1.7) |
|||
compass (>= 0.12.2) |
|||
sprockets (<= 2.11.0) |
|||
coveralls (0.7.0) |
|||
multi_json (~> 1.3) |
|||
rest-client |
|||
simplecov (>= 0.7) |
|||
term-ansicolor |
|||
thor |
|||
crack (0.4.2) |
|||
safe_yaml (~> 1.0.0) |
|||
cucumber (1.3.15) |
|||
builder (>= 2.1.2) |
|||
diff-lcs (>= 1.1.3) |
|||
gherkin (~> 2.12) |
|||
multi_json (>= 1.7.5, < 2.0) |
|||
multi_test (>= 0.1.1) |
|||
cucumber-rails (1.4.1) |
|||
capybara (>= 1.1.2, < 3) |
|||
cucumber (>= 1.3.8, < 2) |
|||
mime-types (~> 1.16) |
|||
nokogiri (~> 1.5) |
|||
rails (>= 3, < 5) |
|||
database_cleaner (1.3.0) |
|||
debug_inspector (0.0.2) |
|||
diff-lcs (1.2.5) |
|||
docile (1.1.5) |
|||
erubis (2.7.0) |
|||
execjs (2.2.1) |
|||
factory_girl (4.4.0) |
|||
activesupport (>= 3.0.0) |
|||
factory_girl_rails (4.4.1) |
|||
factory_girl (~> 4.4.0) |
|||
railties (>= 3.0.0) |
|||
faraday (0.9.0) |
|||
multipart-post (>= 1.2, < 3) |
|||
ffi (1.9.3-x86-mingw32) |
|||
font-awesome-rails (4.1.0.0) |
|||
railties (>= 3.2, < 5.0) |
|||
forgery (0.6.0) |
|||
formatador (0.2.5) |
|||
foundation-rails (5.3.1.0) |
|||
railties (>= 3.1.0) |
|||
sass (>= 3.2.0) |
|||
fssm (0.2.10) |
|||
geocoder (1.2.3) |
|||
gherkin (2.12.2-x86-mingw32) |
|||
multi_json (~> 1.3) |
|||
guard (2.6.1) |
|||
formatador (>= 0.2.4) |
|||
listen (~> 2.7) |
|||
lumberjack (~> 1.0) |
|||
pry (>= 0.9.12) |
|||
thor (>= 0.18.1) |
|||
guard-rspec (4.2.10) |
|||
guard (~> 2.1) |
|||
rspec (>= 2.14, < 4.0) |
|||
haml (4.0.5) |
|||
tilt |
|||
haml-rails (0.5.1) |
|||
actionpack (~> 4.0.0) |
|||
activesupport (~> 4.0.0) |
|||
haml (>= 3.1, < 5.0) |
|||
railties (~> 4.0.0) |
|||
highline (1.6.21) |
|||
hike (1.2.3) |
|||
httpauth (0.2.1) |
|||
i18n (0.6.11) |
|||
image_optimizer (1.2.1) |
|||
jquery-rails (3.1.1) |
|||
railties (>= 3.0, < 5.0) |
|||
thor (>= 0.14, < 2.0) |
|||
jquery-ui-rails (5.0.0) |
|||
railties (>= 3.2.16) |
|||
json (1.8.1) |
|||
jwt (0.1.13) |
|||
multi_json (>= 1.5) |
|||
launchy (2.4.2) |
|||
addressable (~> 2.3) |
|||
listen (2.7.9) |
|||
celluloid (>= 0.15.2) |
|||
rb-fsevent (>= 0.9.3) |
|||
rb-inotify (>= 0.9) |
|||
lumberjack (1.0.9) |
|||
mail (2.5.4) |
|||
mime-types (~> 1.16) |
|||
treetop (~> 1.4.8) |
|||
meta_request (0.3.3) |
|||
callsite (~> 0.0, >= 0.0.11) |
|||
rack-contrib (~> 1.1) |
|||
railties (>= 3.0.0, < 5.0.0) |
|||
method_source (0.8.2) |
|||
mime-types (1.25.1) |
|||
mini_magick (3.7.0) |
|||
subexec (~> 0.2.1) |
|||
mini_portile (0.6.0) |
|||
minitest (4.7.5) |
|||
multi_json (1.10.1) |
|||
multi_test (0.1.1) |
|||
multipart-post (2.0.0) |
|||
nested_form (0.3.2) |
|||
net-scp (1.2.1) |
|||
net-ssh (>= 2.6.5) |
|||
net-sftp (2.1.2) |
|||
net-ssh (>= 2.6.5) |
|||
net-ssh (2.9.1) |
|||
net-ssh-gateway (1.2.0) |
|||
net-ssh (>= 2.6.5) |
|||
netrc (0.7.7) |
|||
nokogiri (1.6.2.1-x86-mingw32) |
|||
mini_portile (= 0.6.0) |
|||
oauth (0.4.7) |
|||
oauth2 (0.8.1) |
|||
faraday (~> 0.8) |
|||
httpauth (~> 0.1) |
|||
jwt (~> 0.1.4) |
|||
multi_json (~> 1.0) |
|||
rack (~> 1.2) |
|||
paper_trail (3.0.3) |
|||
activerecord (>= 3.0, < 5.0) |
|||
activesupport (>= 3.0, < 5.0) |
|||
pg (0.17.1-x86-mingw32) |
|||
polyglot (0.3.5) |
|||
pry (0.10.0-x86-mingw32) |
|||
coderay (~> 1.1.0) |
|||
method_source (~> 0.8.1) |
|||
slop (~> 3.4) |
|||
win32console (~> 1.3) |
|||
rack (1.5.2) |
|||
rack-contrib (1.1.0) |
|||
rack (>= 0.9.1) |
|||
rack-test (0.6.2) |
|||
rack (>= 1.0) |
|||
rails (4.0.0) |
|||
actionmailer (= 4.0.0) |
|||
actionpack (= 4.0.0) |
|||
activerecord (= 4.0.0) |
|||
activesupport (= 4.0.0) |
|||
bundler (>= 1.3.0, < 2.0) |
|||
railties (= 4.0.0) |
|||
sprockets-rails (~> 2.0.0) |
|||
rails-assets-cdn (0.1.0) |
|||
rails |
|||
rails_12factor (0.0.2) |
|||
rails_serve_static_assets |
|||
rails_stdout_logging |
|||
rails_serve_static_assets (0.0.2) |
|||
rails_stdout_logging (0.0.3) |
|||
railties (4.0.0) |
|||
actionpack (= 4.0.0) |
|||
activesupport (= 4.0.0) |
|||
rake (>= 0.8.7) |
|||
thor (>= 0.18.1, < 2.0) |
|||
rake (10.3.2) |
|||
rb-fsevent (0.9.4) |
|||
rb-inotify (0.9.5) |
|||
ffi (>= 0.5.0) |
|||
rest-client (1.7.2-x86-mingw32) |
|||
ffi (~> 1.9) |
|||
mime-types (>= 1.16, < 3.0) |
|||
netrc (~> 0.7) |
|||
rspec (3.0.0) |
|||
rspec-core (~> 3.0.0) |
|||
rspec-expectations (~> 3.0.0) |
|||
rspec-mocks (~> 3.0.0) |
|||
rspec-core (3.0.2) |
|||
rspec-support (~> 3.0.0) |
|||
rspec-expectations (3.0.2) |
|||
diff-lcs (>= 1.2.0, < 2.0) |
|||
rspec-support (~> 3.0.0) |
|||
rspec-mocks (3.0.2) |
|||
rspec-support (~> 3.0.0) |
|||
rspec-rails (3.0.1) |
|||
actionpack (>= 3.0) |
|||
activesupport (>= 3.0) |
|||
railties (>= 3.0) |
|||
rspec-core (~> 3.0.0) |
|||
rspec-expectations (~> 3.0.0) |
|||
rspec-mocks (~> 3.0.0) |
|||
rspec-support (~> 3.0.0) |
|||
rspec-support (3.0.2) |
|||
rubyzip (1.1.6) |
|||
rvm-capistrano (1.5.3) |
|||
capistrano (~> 2.15.4) |
|||
safe_yaml (1.0.3) |
|||
sass (3.2.19) |
|||
sass-rails (4.0.3) |
|||
railties (>= 4.0.0, < 5.0) |
|||
sass (~> 3.2.0) |
|||
sprockets (~> 2.8, <= 2.11.0) |
|||
sprockets-rails (~> 2.0) |
|||
selenium-webdriver (2.42.0) |
|||
childprocess (>= 0.5.0) |
|||
multi_json (~> 1.0) |
|||
rubyzip (~> 1.0) |
|||
websocket (~> 1.0.4) |
|||
simplecov (0.9.0) |
|||
docile (~> 1.1.0) |
|||
multi_json |
|||
simplecov-html (~> 0.8.0) |
|||
simplecov-html (0.8.0) |
|||
sitemap_generator (5.0.4) |
|||
builder |
|||
slop (3.6.0) |
|||
sorcery (0.8.6) |
|||
bcrypt (~> 3.1) |
|||
oauth (~> 0.4, >= 0.4.4) |
|||
oauth2 (>= 0.8.0, < 1.0.0) |
|||
sprockets (2.11.0) |
|||
hike (~> 1.2) |
|||
multi_json (~> 1.0) |
|||
rack (~> 1.0) |
|||
tilt (~> 1.1, != 1.3.0) |
|||
sprockets-rails (2.0.1) |
|||
actionpack (>= 3.0) |
|||
activesupport (>= 3.0) |
|||
sprockets (~> 2.8) |
|||
subexec (0.2.3) |
|||
term-ansicolor (1.3.0) |
|||
tins (~> 1.0) |
|||
thor (0.19.1) |
|||
thread_safe (0.3.4) |
|||
tilt (1.4.1) |
|||
timers (1.1.0) |
|||
tins (1.3.0) |
|||
treetop (1.4.15) |
|||
polyglot |
|||
polyglot (>= 0.3.1) |
|||
tzinfo (0.3.40) |
|||
uglifier (2.5.3) |
|||
execjs (>= 0.3.0) |
|||
json (>= 1.8.0) |
|||
unicode_utils (1.4.0) |
|||
wdm (0.1.0) |
|||
webmock (1.18.0) |
|||
addressable (>= 2.3.6) |
|||
crack (>= 0.3.2) |
|||
websocket (1.0.7) |
|||
win32console (1.3.2-x86-mingw32) |
|||
wysiwyg-rails (1.1.6) |
|||
font-awesome-rails (= 4.1.0.0) |
|||
railties (>= 3.2, < 5.0) |
|||
xpath (2.0.0) |
|||
nokogiri (~> 1.3) |
|||
|
|||
PLATFORMS |
|||
x86-mingw32 |
|||
|
|||
DEPENDENCIES |
|||
activerecord-session_store |
|||
acts_as_list |
|||
awesome_print |
|||
better_errors |
|||
binding_of_caller |
|||
capistrano |
|||
capybara |
|||
carmen-rails |
|||
carrierwave |
|||
carrierwave-imageoptimizer |
|||
coffee-rails (~> 4.0.0) |
|||
compass-rails (~> 1.1.3) |
|||
coveralls |
|||
cucumber-rails |
|||
database_cleaner |
|||
factory_girl_rails |
|||
font-awesome-rails |
|||
forgery |
|||
foundation-rails |
|||
geocoder |
|||
guard-rspec |
|||
haml |
|||
haml-rails |
|||
i18n-active_record! |
|||
jquery-rails |
|||
jquery-ui-rails |
|||
launchy |
|||
meta_request |
|||
mini_magick |
|||
nested_form |
|||
oauth2 (~> 0.8.0) |
|||
paper_trail |
|||
pg |
|||
rails (= 4.0.0) |
|||
rails-assets-cdn |
|||
rails-footnotes! |
|||
rails_12factor |
|||
rspec |
|||
rspec-rails |
|||
rvm-capistrano |
|||
sass-rails (~> 4.0.0) |
|||
selenium-webdriver |
|||
simplecov |
|||
sitemap_generator |
|||
sorcery (>= 0.8.1) |
|||
uglifier (>= 1.3.0) |
|||
wdm (>= 0.1.0) |
|||
webmock |
|||
wysiwyg-rails |
Binary file not shown.
@ -0,0 +1,37 @@ |
|||
#= require froala_editor.min.js |
|||
$ -> |
|||
$('[data-editable]').editable({inlineMode: true, blockTags: ["n", "p", "h2", "blockquote", "pre"], buttons: ["formatBlock", "bold", "italic", "underline", "insertOrderedList", "insertUnorderedList", "sep", "createLink", "insertImage", "insertVideo", "html", "undo", "redo"]}) |
|||
$('[data-editor]').editable({inlineMode: false, blockTags: ["n", "p", "h2", "blockquote", "pre"], buttons: ["formatBlock", "bold", "italic", "underline", "insertOrderedList", "insertUnorderedList", "sep", "createLink", "html", "undo", "redo"]}) |
|||
$('.field.country-select-field select').change () -> |
|||
$country = $(this) |
|||
country = $country.val() |
|||
$territory = $('.field.subregion-select-field select') |
|||
if $territory.data().country == country |
|||
$territory.removeClass('can cant').addClass('can') |
|||
return |
|||
|
|||
$.post '/location/territories', {country: country}, |
|||
(json) -> |
|||
$territory.html('') |
|||
if json && Object.keys(json).length |
|||
$.each json, (code, name) -> |
|||
$territory.append($('<option>').text(name).attr('value', code)) |
|||
return |
|||
$territory.removeClass('can cant').addClass('can') |
|||
$territory.data().country = country |
|||
else |
|||
$territory.removeClass('can cant').addClass('cant') |
|||
return |
|||
, 'json' |
|||
$('img + input[type="file"]').change () -> |
|||
readURL(this); |
|||
return |
|||
|
|||
readURL = (input) -> |
|||
reader = null |
|||
if input.files && input.files[0] |
|||
reader = new FileReader() |
|||
reader.readAsDataURL input.files[0] |
|||
reader.onload = (e) -> |
|||
$(input).prev().attr('src', e.target.result) |
|||
return |
@ -1,25 +1,31 @@ |
|||
class UserMailer < ActionMailer::Base |
|||
default from: "from@example.com" |
|||
default from: "noreply@bikebike.org" |
|||
|
|||
# Subject can be set in your I18n file at config/locales/en.yml |
|||
# with the following lookup: |
|||
# |
|||
# en.user_mailer.activation_needed_email.subject |
|||
# |
|||
def activation_needed_email(email_address) |
|||
@greeting = "Hi" |
|||
# Subject can be set in your I18n file at config/locales/en.yml |
|||
# with the following lookup: |
|||
# |
|||
# en.user_mailer.activation_needed_email.subject |
|||
# |
|||
def activation_needed_email(email_address) |
|||
@greeting = "Hi" |
|||
|
|||
mail to: 'goodgodwin@hotmail.com' |
|||
end |
|||
mail to: 'goodgodwin@hotmail.com' |
|||
end |
|||
|
|||
# Subject can be set in your I18n file at config/locales/en.yml |
|||
# with the following lookup: |
|||
# |
|||
# en.user_mailer.activation_success_email.subject |
|||
# |
|||
def activation_success_email |
|||
@greeting = "Hi" |
|||
# Subject can be set in your I18n file at config/locales/en.yml |
|||
# with the following lookup: |
|||
# |
|||
# en.user_mailer.activation_success_email.subject |
|||
# |
|||
def activation_success_email |
|||
@greeting = "Hi" |
|||
|
|||
mail to: "to@example.org" |
|||
end |
|||
mail to: "to@example.org" |
|||
end |
|||
|
|||
def conference_registration_email(conference, data) |
|||
@data = data |
|||
@conference = conference |
|||
mail to: data[:email], subject: 'Please confirm your registration for ' + conference.title |
|||
end |
|||
end |
|||
|
@ -1,4 +1 @@ |
|||
= form_tag (@conference.url + '/register/').gsub(/\/\/+/, '/'), :method => :post do |
|||
= hidden_field_tag :step, @register_step |
|||
= email_field_tag :email |
|||
= form_actions :next |
|||
= email_field_tag :email, session[:registration][:email] |
|||
|
@ -0,0 +1,3 @@ |
|||
%h3=_'registration.cancel.title','Cancel Registration?' |
|||
.columns.medium-offset-1.end |
|||
%p.help=_'registration.cancel.help','If you cancel now, you will lose the infomation you have submitted thus far, but you will be able to restart registration any time while registration is still open.' |
@ -0,0 +1,3 @@ |
|||
%h3=_'registration.cancelled.title','Registration Cancelled' |
|||
.columns.medium-offset-1.end |
|||
%p.help=_'registration.cancelled.help','Your registration has been cancelled but you can always restart the process while registration is still open.' |
@ -0,0 +1,28 @@ |
|||
- org_index = session[:registration][:new_org_index] |
|||
= hidden_field_tag :new_org_index, org_index |
|||
- if session[:registration][:new_organization].length > 1 |
|||
%h3=_'registration.new_organization.list.title','Your New Organizations' |
|||
%ul.columns.medium-10.medium-offset-1 |
|||
- session[:registration][:new_organization].each_with_index do |new_organization, index| |
|||
- if new_organization[:title] |
|||
%li |
|||
- if index == org_index && new_organization[:title] |
|||
%strong=new_organization[:title] |
|||
- else |
|||
= new_organization[:title] |
|||
%h3=_'registration.new_organization.title','Your Organization Information' |
|||
.columns.medium-12= text_field_tag :organization_name, session[:registration][:new_organization][org_index][:name], :required => true |
|||
.columns.medium-12= text_area_tag :organization_info, session[:registration][:new_organization][org_index][:info], :data => {:editor => ""} |
|||
.columns.medium-7 |
|||
= email_field_tag :organization_email, session[:registration][:new_organization][org_index][:email], :required => true |
|||
= text_field_tag :organization_street, session[:registration][:new_organization][org_index][:street], :required => true |
|||
= text_field_tag :organization_city, session[:registration][:new_organization][org_index][:city], :required => true |
|||
= country_select_tag :organization_country, session[:registration][:new_organization][org_index][:country], :required => true |
|||
= subregion_select_tag :organization_territory, session[:registration][:new_organization][org_index][:territory], session[:registration][:new_organization][org_index][:country] || 'US', html: {class: session[:registration][:new_organization][org_index][:country] ? 'can' : 'cant', data: {:country => session[:registration][:new_organization][org_index][:country]}} |
|||
.columns.medium-5 |
|||
= image_field_tag :organization_logo |
|||
.columns |
|||
= check_box_tag :add_another_org, (org_index <= session[:registration][:new_organization].length - 1) |
|||
|
|||
- content_for :footer_scripts do |
|||
= javascript_include_tag 'editor' |
@ -0,0 +1,37 @@ |
|||
- workshop_index = session[:registration][:workshop_index] |
|||
= hidden_field_tag :workshop_index, workshop_index |
|||
- if session[:registration][:workshop].length > 1 |
|||
%h3=_'registration.workshop.list.title','Your Workshops' |
|||
%ul.columns.medium-10.medium-offset-1 |
|||
- session[:registration][:workshop].each_with_index do |workshop, index| |
|||
- if workshop[:title] |
|||
%li |
|||
- if index == workshop_index |
|||
%strong=workshop[:title] |
|||
- else |
|||
= workshop[:title] |
|||
%h3=_'registration.workshop.title','Workshop Information' |
|||
.columns.medium-10.medium-offset-1= text_field_tag :workshop_title, session[:registration][:workshop][workshop_index][:title], :required => true |
|||
.columns.medium-10.medium-offset-1= text_area_tag :workshop_info, session[:registration][:workshop][workshop_index][:info], :required => true, :data => {:editor => ""} |
|||
.columns.medium-5.medium-offset-1 |
|||
%h4=_'registration.workshop.streams.title','Stream' |
|||
%p.help=_'registration.workshop.streams.help','Select the stream that best categorizes your workshop' |
|||
- streams = Hash.new |
|||
- streams[_'workshop_stream.select_one','Select a stream'] = '' |
|||
- WorkshopStream.all.each do |stream| |
|||
- streams[_'workshop_stream.' + stream.slug] = stream.slug |
|||
= select_tag :workshop_stream, options_for_select(streams, session[:registration][:workshop][workshop_index][:stream] || '') |
|||
.columns.medium-5.end |
|||
%h4=_'registration.workshop.styles.title','Presentation Style' |
|||
%p.help=_'registration.workshop.styles.help','Select the style that best describes how you will run your workshop' |
|||
- styles = Hash.new |
|||
- styles[_'workshop_presentation_style.select_one','Select a style'] = '' |
|||
- WorkshopPresentationStyle.all.each do |style| |
|||
- styles[_'workshop_presentation_style.' + style.slug] = style.slug |
|||
= select_tag :workshop_presentation_style, options_for_select(styles, session[:registration][:workshop][workshop_index][:presentation_style] || '') |
|||
.columns.medium-10.medium-offset-1 |
|||
- #xx |
|||
= check_box_tag :add_another_workshop, "1", (workshop_index < session[:registration][:workshop].length - 1) |
|||
|
|||
- content_for :footer_scripts do |
|||
= javascript_include_tag 'editor' |
@ -0,0 +1,83 @@ |
|||
%h3 |
|||
=_'register.organizations.title','Who do you Represent?' |
|||
%p=_'register.organizations.description','Please let us know where you\'re coming from! Find your organizations on the right, they are listed by how close they are to you right now.' |
|||
.columns.medium-6.medium-push-6 |
|||
.org-list-select.choose |
|||
%h4=_'all_organizations','All Organizations' |
|||
%ul |
|||
- my_location = lookup_ip_location |
|||
- lids = Location.near(my_location.latitude.to_s+', '+my_location.longitude.to_s, 999999, order: 'distance').map{|l|l.id} |
|||
- orgs = Hash.new |
|||
-# orgs = Organization.joins(:locations_organization).where('locations_organizations.location_id' => lids) |
|||
-# orgs.each do |org| |
|||
- lids.each do |lid| |
|||
- org = Organization.joins(:locations_organization).where('locations_organizations.location_id' => lid).first |
|||
- if org && !orgs.has_key?(org.id) |
|||
- orgs[org.id] = org.id |
|||
%li{class: 'available', data: {id: org.id}} |
|||
%a{href: '#'} |
|||
%figure |
|||
= image_tag org.avatar.icon.url |
|||
%figcaption |
|||
%h6= org.name |
|||
%p= location(org.locations[0]) |
|||
%input#org-filter{placeholder: (_'orgnizations_filter.placeholder','Filter by typing text here...')} |
|||
.columns.medium-6.medium-pull-6 |
|||
.org-list-select.chosen |
|||
%h4=_'my_organizations','My Organizations' |
|||
%ul |
|||
- session[:registration][:organizations].each do |org_id| |
|||
- org = Organization.find(org_id.is_a?(Array) ? org_id.first : org_id) |
|||
%li.removable |
|||
%a{href: '#'} |
|||
%figure |
|||
= image_tag org.avatar.icon.url |
|||
%figcaption |
|||
%h6= org.name |
|||
%p= location(org.locations[0]) |
|||
%input{type: 'hidden', name: "org[#{org.id}]", value: "#{org.id}"} |
|||
= check_box_tag :add_new_org |
|||
= check_box_tag :no_org |
|||
|
|||
- content_for :dom_ready do |
|||
:plain |
|||
update_orgs(); |
|||
$('#org-filter').keyup(function(){ |
|||
var $this=$(this), search = $this.val().toLowerCase(), terms = search.split(/\s+/); |
|||
if (search) { |
|||
$('.org-list-select.choose li').each(function() { |
|||
var $li = $(this), content = $li.find('h6').html().toLowerCase() + '\n' + $li.find('p').html().toLowerCase(), found = true; |
|||
for (i = 0; i < terms.length && found; i++) { |
|||
found = (content.indexOf(terms[i]) >= 0); |
|||
} |
|||
$li.removeClass('not-found'); |
|||
if (!found) { |
|||
$li.addClass('not-found'); |
|||
} |
|||
}); |
|||
} else { |
|||
$('.org-list-select.choose li').removeClass('not-found'); |
|||
} |
|||
}); |
|||
$('.org-list-select').on('click', 'li a', function(e){e.preventDefault(); |
|||
var $li = $(this).parent().clone(); |
|||
if ($li.hasClass('selected')) { |
|||
$('.org-list-select.chosen li input[value="' + $li.data().id + '"]').parent().remove(); |
|||
} else if ($li.hasClass('available')) { |
|||
$li.attr('class', 'removable').append('<input type="hidden" name="org[' + $li.data().id + ']" value="' + $li.data().id + '" />'); |
|||
$('.org-list-select.chosen ul').append($li); |
|||
} else if ($li.hasClass('removable')) { |
|||
$(this).parent().remove(); |
|||
} |
|||
update_orgs(); |
|||
}); |
|||
|
|||
- content_for :scripts do |
|||
:plain |
|||
function update_orgs() { |
|||
$('.field-no-org').toggle($('.org-list-select.chosen li').length <= 0); |
|||
$('.org-list-select.choose li.selected').removeClass('selected'); |
|||
$('.org-list-select.chosen li input').each(function() { |
|||
$('.org-list-select.choose li[data-id="' + $(this).val() + '"]').addClass('selected'); |
|||
}); |
|||
} |
@ -1,14 +1,10 @@ |
|||
= form_tag (@conference.url + '/register/').gsub(/\/\/+/, '/'), :class => 'row', :method => :post do |
|||
= hidden_field_tag :step, @register_step |
|||
- user = session[:registration][:user] |
|||
.columns.medium-6= text_field_tag :firstname, user ? (user.firstname || user.username) : nil, :required => true |
|||
.columns.medium-6= text_field_tag :lastname, user ? user.lastname : nil, :required => true |
|||
.columns.medium-6= text_field_tag :firstname, session[:registration][:user][:firstname], :required => true |
|||
.columns.medium-6= text_field_tag :lastname, session[:registration][:user][:lastname], :required => true |
|||
- if !session[:registration][:user][:id] |
|||
.columns |
|||
= text_field_tag :username, user ? user.username : nil, :readonly => (user && user.username) |
|||
.columns |
|||
%h3 |
|||
Attending as: |
|||
.columns.small-offset-1 |
|||
= check_box_tag :is_participant |
|||
= check_box_tag :is_volunteer |
|||
.columns= form_actions :next |
|||
= text_field_tag :username, session[:registration][:user][:username] |
|||
.columns |
|||
%h3=_'registration.primary.role_title','Attending as:' |
|||
.columns.small-offset-1 |
|||
= check_box_tag :is_participant, session[:registration][:is_participant] |
|||
= check_box_tag :is_volunteer, session[:registration][:is_volunteer] |
|||
|
@ -0,0 +1,34 @@ |
|||
%h3=_'registration.questions.title','Conference Participant Information' |
|||
.columns.medium-offset-1.end |
|||
%h4=_'registration.questions.housing','Do you require housing?' |
|||
%p.help=_'registration.questions.housing.help','We will do our best to accommodate everyone but we will be working on a first come, first serve basis. If we cannot accommodate your needs, we will do our best to let you know ahead of time.' |
|||
.columns.medium-8.medium-offset-2.end |
|||
= select_tag '[questions][housing]', options_for_select(@housing_options, session[:registration][:questions][:housing]) |
|||
%h5=_'registration.questions.housing_extra.title','Any else we should keep in mind?' |
|||
= text_area_tag '[questions][housing_extra]', session[:registration][:questions][:housing_extra], :label => false |
|||
|
|||
.columns.medium-offset-1.end |
|||
%h4=_'registration.questions.loaner_bike','Do you want to borrow a bike?' |
|||
%p.help=_'registration.questions.loaner_bike.help','Again, we will do our best to find you a suitable bike but it\'s on a first come, first serve basis.' |
|||
.columns.medium-8.medium-offset-2.end |
|||
= select_tag '[questions][loaner_bike]', options_for_select(@loaner_bike_options, session[:registration][:questions][:loaner_bike]) |
|||
|
|||
.columns.medium-offset-1.end |
|||
%h4=_'registration.questions.diet','We\'ll be serving some food. Do you have any dietary restrictions?' |
|||
.columns.medium-8.medium-offset-2.end |
|||
= check_box_tag '[questions][diet][no_meat]', session[:registration][:questions][:diet][:no_meat] |
|||
= check_box_tag '[questions][diet][no_dairy]', session[:registration][:questions][:diet][:no_dairy] |
|||
= check_box_tag '[questions][diet][no_animal_products]', session[:registration][:questions][:diet][:no_animal_products] |
|||
= check_box_tag '[questions][diet][no_gluten]', session[:registration][:questions][:diet][:no_gluten] |
|||
= check_box_tag '[questions][diet][no_nuts]', session[:registration][:questions][:diet][:no_nuts] |
|||
%h5=_'registration.questions.diet_extra.title','Anything else?' |
|||
= text_area_tag '[questions][diet][diet_extra]', session[:registration][:questions][:diet_extra], :label => false |
|||
.columns.medium-offset-1.end |
|||
%h4=_'registration.questions.workshop','Would you ilke to host a workshop?' |
|||
%p.help=_'registration.questions.workshop.help','Did you have an idea for a workshop that you\d like to help run? If so, we\'ll ask some follow-up questions on the following page.' |
|||
.columns.medium-8.medium-offset-2.end |
|||
= select_tag :is_workshop_host, options_for_select({(_'Yes') => 1, (_'No') => 0}, session[:registration][:is_workshop_host] || 0) |
|||
.columns.medium-offset-1.end |
|||
%h4=_'registration.questions.other','Anything else we should know about your visit?' |
|||
.columns.medium-8.medium-offset-2.end |
|||
= text_area_tag '[questions][other]', session[:registration][:questions][:other], :label => false |
@ -0,0 +1,3 @@ |
|||
%h3=_'registration.submit.title','Ready to Submit' |
|||
.columns.medium-offset-1.end |
|||
%p.help=_'registration.submit.help','That\'s all we need to know right now, if you need to make any changes, please press the \'Previous\' button now. Otherwise just click \'Submit\' and you will get a confirmation email. YOU MUST CONFIRM once you get that email in order for us to know that you are coming. This is to confirm that you and your email address are real. We will send you occassional updates afterwards.' |
@ -0,0 +1,6 @@ |
|||
%h3=_'registration.thanks.title','Thanks for submitting your registration' |
|||
.columns.medium-offset-1.end |
|||
%h4=_'registration.thanks.remember_to_confirm','Remember to confirm your registration upon receiving the confirmation email' |
|||
%p.help |
|||
=_'registration.thanks.remember_to_confirm.help','If you experience any technical issues, please contact Godwin directly at' |
|||
%a{href: 'mailto:goodgodwin@hotmail.com'}='goodgodwin@hotmail.com' |
@ -0,0 +1,31 @@ |
|||
%h3=_'registration.volunteer_questions.title','Conference Volunteer Information' |
|||
.columns.medium-offset-1.end |
|||
%h4=_'registration.volunteer_questions.contact_info','Contact Information' |
|||
.columns.medium-8.medium-offset-2.end |
|||
%p.help=_'registration.volunteer_questions.contact.help','If you are housing guests, they will need your address and phone number, otherwise we will need your address to coordinate cooking. If you have additional concerns, please let us know in the comments below.' |
|||
= text_field_tag '[volunteer_questions][address]', session[:registration][:volunteer_questions][:address] |
|||
= text_field_tag '[volunteer_questions][phone_number]', session[:registration][:volunteer_questions][:phone_number] |
|||
|
|||
.columns.medium-offset-1.end |
|||
%h4=_'registration.volunteer_questions.has_kitchen','Do have a kitchen / cook space to offer?' |
|||
.columns.medium-8.medium-offset-2.end |
|||
= select_tag '[volunteer_questions][has_kitchen]', options_for_select({(_'Yes') => 1, (_'No') => 0}, session[:registration][:volunteer_questions][:has_kitchen] || 0) |
|||
|
|||
.columns.medium-offset-1.end |
|||
%h4=_'registration.volunteer_questions.has_housing','Do you have housing to offer for out of town attendees?' |
|||
.columns.medium-offset-2.medium-5 |
|||
%h5=_'registration.volunteer_questions.beds','Spare Beds:' |
|||
.columns.medium-3.end |
|||
= number_field_tag '[volunteer_questions][beds]', session[:registration][:volunteer_questions][:beds] || 0, :label => false |
|||
.columns.medium-offset-2.medium-5 |
|||
%h5=_'registration.volunteer_questions.couch_space','Number you can accomodate on couches/floor space:' |
|||
.columns.medium-3.end |
|||
= number_field_tag '[volunteer_questions][beds]', session[:registration][:volunteer_questions][:couch_space] || 0, :label => false |
|||
.columns.medium-offset-2.medium-5 |
|||
%h5=_'registration.volunteer_questions.tents','Estimated number of tests you\'d be willing to have in your yard:' |
|||
.columns.medium-3.end |
|||
= number_field_tag '[volunteer_questions][tents]', session[:registration][:volunteer_questions][:tents] || 0, :label => false |
|||
.columns.medium-offset-1.end |
|||
%h4=_'registration.volunteer_questions.other','Anything else you\'d like to tell us?' |
|||
.columns.medium-8.medium-offset-2.end |
|||
= text_area_tag '[volunteer_questions][other]', session[:registration][:volunteer_questions][:other], :label => false |
@ -0,0 +1,6 @@ |
|||
= link_to organization do |
|||
%figure.org-mini-preview{:class => (organization.avatar.is_landscape? ? 'landscape' : 'portrait')} |
|||
= image_tag organization.avatar.preview.url |
|||
%figcaption |
|||
%h5= organization.name |
|||
%p= location(organization.locations[0]) |
@ -0,0 +1 @@ |
|||
= @data.to_json.to_s |
@ -0,0 +1,5 @@ |
|||
class AddConfirmationTokenToConferenceRegistrations < ActiveRecord::Migration |
|||
def change |
|||
add_column :conference_registrations, :confirmation_token, :string |
|||
end |
|||
end |
@ -0,0 +1,5 @@ |
|||
class AddDataToConferenceRegistrations < ActiveRecord::Migration |
|||
def change |
|||
add_column :conference_registrations, :data, :binary |
|||
end |
|||
end |
Binary file not shown.
Loading…
Reference in new issue