Fixed merge conflicts
This commit is contained in:
parent
21ec7bb82a
commit
1efe20fe42
@ -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
|
2
Gemfile
2
Gemfile
@ -70,6 +70,6 @@ platforms 'mswin', 'mingw' do
|
||||
end
|
||||
|
||||
group :staging, :production do
|
||||
gem 'unicorn'
|
||||
gem 'unicorn' if !(RbConfig::CONFIG['target_os'] =~ /mswin|mingw|cygwin/i)
|
||||
end
|
||||
end
|
||||
|
398
Gemfile.lock
Normal file
398
Gemfile.lock
Normal file
@ -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.
37
app/assets/javascripts/editor.js.coffee
Normal file
37
app/assets/javascripts/editor.js.coffee
Normal file
@ -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
|
@ -27,7 +27,7 @@
|
||||
|
||||
// Libraries
|
||||
@import "compass";
|
||||
//@import "font-awesome";
|
||||
@import "font-awesome";
|
||||
@import "foundation_and_overrides";
|
||||
|
||||
// Local settings (also edit foundation_and_overrides.scss to modify global variables)
|
||||
|
@ -40,6 +40,7 @@
|
||||
//$header-font-family: 'alte_haas_groteskbold', 'Alte Haas Grotesk', sans-serif;//join("Open Sans", $body-font-family);
|
||||
$header-font-family: 'AlteHaasGroteskBold', sans-serif;//join("Open Sans", $body-font-family);
|
||||
$header-font-weight: bold;
|
||||
$icons: FontAwesome;//join("Open Sans", $body-font-family);
|
||||
// $header-font-style: normal;
|
||||
// $header-font-color: #222;
|
||||
// $header-line-height: 1.4;
|
||||
@ -80,9 +81,9 @@ $body-font-family: 'Source Sans Pro', sans-serif;
|
||||
|
||||
$primary-color: $color-1;
|
||||
$secondary-color: $color-2;
|
||||
$alert-color: $color-4;
|
||||
$alert-color: $color-3;
|
||||
$success-color: $color-2;
|
||||
$warning-color: $color-3;
|
||||
$warning-color: $color-4;
|
||||
$info-color: $color-5;
|
||||
|
||||
// We use these to make sure border radius matches unless we want it different.
|
||||
|
@ -286,6 +286,116 @@ ul.tags,
|
||||
}
|
||||
}
|
||||
|
||||
.org-mini-preview {
|
||||
position: relative;
|
||||
overflow: auto;
|
||||
margin: 0;
|
||||
background-color: $gray;
|
||||
border: 0.25em solid lighten($black, 33);
|
||||
|
||||
&.portrait {
|
||||
img {
|
||||
float: left;
|
||||
max-width: 50%;
|
||||
}
|
||||
|
||||
figcaption {
|
||||
float: right;
|
||||
max-width: 50%;
|
||||
}
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 0.9em;
|
||||
line-height: 1.25em;
|
||||
}
|
||||
|
||||
figcaption {
|
||||
padding: 0.25em
|
||||
}
|
||||
}
|
||||
|
||||
.org-list-select {
|
||||
|
||||
&.chosen {
|
||||
display: none;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
margin: 0;
|
||||
overflow: auto;
|
||||
height: 25em;
|
||||
border: 0.25em solid $gray;
|
||||
}
|
||||
|
||||
li {
|
||||
background-color: lighten($gray, 5);//rgba(225, 225, 225, 0.5);
|
||||
margin: 0.25em;
|
||||
|
||||
&:hover {
|
||||
background-color: lighten($color-4, 25);//desaturate(lighten($organization-color, 33), 33);
|
||||
}
|
||||
|
||||
&.removable:hover {
|
||||
background-color: desaturate(lighten($color-3, 16), 16);
|
||||
}
|
||||
|
||||
&.selected {
|
||||
background-color: desaturate(lighten($organization-color, 33), 33);
|
||||
}
|
||||
|
||||
&.not-found {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
figure {
|
||||
margin: 0;
|
||||
padding: 0.25em;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
img {
|
||||
float: left;
|
||||
margin-right: 1em;
|
||||
}
|
||||
|
||||
h6 {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 0.8em;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
figcaption {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
@include breakpoint(medium) {
|
||||
&.chosen {
|
||||
display: block;
|
||||
}
|
||||
|
||||
&.choose {
|
||||
li.selected {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#org-filter {
|
||||
width: 100%;
|
||||
font-size: 1.25em;
|
||||
padding: 0.333em;
|
||||
border: 3px solid $gray;
|
||||
margin-top: 0.5em;
|
||||
outline: none !important;
|
||||
}
|
||||
|
||||
@include breakpoint(medium) {
|
||||
.organizations-index,
|
||||
.conferences-index {
|
||||
|
@ -406,6 +406,7 @@ main {
|
||||
+ em {
|
||||
display: block;
|
||||
color: $color-5;
|
||||
font-weight: 600;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
}
|
||||
@ -428,14 +429,16 @@ main {
|
||||
|
||||
figure {
|
||||
margin: 2em 0 0;
|
||||
|
||||
img {
|
||||
box-shadow: 0 0 2em $black;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.page-style-emphasize-banner & {
|
||||
figure img {
|
||||
box-shadow: 0 0 2em $black;
|
||||
}
|
||||
}
|
||||
|
||||
.organizations-index &,
|
||||
.conferences-index & {
|
||||
height: 13vw;
|
||||
|
@ -49,6 +49,28 @@
|
||||
color: $article-color;
|
||||
}
|
||||
}
|
||||
|
||||
&[id*="previous"],
|
||||
&.less,
|
||||
&.arrow-l {
|
||||
&:before {
|
||||
content: '\f053';
|
||||
font-family: $icons;
|
||||
vertical-align: middle;
|
||||
margin-right: 0.25em;
|
||||
}
|
||||
}
|
||||
|
||||
&[id*="next"],
|
||||
&.more,
|
||||
&.arrow-r {
|
||||
&:after {
|
||||
content: '\f054';
|
||||
font-family: $icons;
|
||||
vertical-align: middle;
|
||||
margin-left: 0.25em;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
input[type="file"] {
|
||||
@ -159,9 +181,9 @@ fieldset {
|
||||
font-size: 1.25em;
|
||||
}
|
||||
|
||||
&.text-area {
|
||||
&.text-area-field {
|
||||
label {
|
||||
top: 1px;
|
||||
/*top: 1px;
|
||||
right: 1px;
|
||||
bottom: 1px;
|
||||
left: 1px;
|
||||
@ -173,10 +195,15 @@ fieldset {
|
||||
background-color: rgba(255, 255, 255, 0.5);
|
||||
text-align: center;
|
||||
width: calc(100% - 2px);
|
||||
height: calc(100% - 2px);
|
||||
height: calc(100% - 2px);*/
|
||||
position: static;
|
||||
background-color: #252528;
|
||||
margin-top: 1em;
|
||||
|
||||
span {
|
||||
position: relative;
|
||||
background-color: inherit;
|
||||
color: $white;
|
||||
/*position: relative;
|
||||
top: 50%;
|
||||
text-align: center;
|
||||
font-size: 1.25em;
|
||||
@ -185,10 +212,14 @@ fieldset {
|
||||
padding: 0 0.5em;
|
||||
display: inline-block;
|
||||
border-radius: 0.5em;
|
||||
box-shadow: 0 0 1em;
|
||||
box-shadow: 0 0 1em;*/
|
||||
}
|
||||
}
|
||||
|
||||
.froala-element {
|
||||
min-height: 10em;
|
||||
}
|
||||
|
||||
textarea:focus + label {
|
||||
display: none;
|
||||
}
|
||||
@ -250,6 +281,8 @@ fieldset {
|
||||
}
|
||||
|
||||
&.check-box-field {
|
||||
margin-bottom: 0;
|
||||
|
||||
div {
|
||||
float: left;
|
||||
font-size: 1.75em;
|
||||
@ -272,6 +305,11 @@ fieldset {
|
||||
content: '✓';
|
||||
}*/
|
||||
}
|
||||
|
||||
input {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
label {
|
||||
position: relative;
|
||||
margin: 0;
|
||||
@ -564,3 +602,26 @@ article {
|
||||
font-size: 1.4rem;
|
||||
}
|
||||
}
|
||||
.error {
|
||||
position: relative;
|
||||
padding: 0.5em 1em;
|
||||
background-color: $warning-color;
|
||||
|
||||
&:before {
|
||||
content: '!';
|
||||
position: absolute;
|
||||
font-family: $header-font-family;
|
||||
background-color: $alert-color;
|
||||
color: $white;
|
||||
font-size: 2em;
|
||||
line-height: 1em;
|
||||
width: 1em;
|
||||
text-align: center;
|
||||
border-radius: 50%;
|
||||
right: -0.333em;
|
||||
top: -0.333em;
|
||||
}
|
||||
}
|
||||
p.help {
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
@ -115,47 +115,245 @@ class ConferencesController < ApplicationController
|
||||
next_step = nil
|
||||
if !session[:registration]
|
||||
session[:registration] = Hash.new
|
||||
session[:registration][:path] = Array.new
|
||||
end
|
||||
case params['step']
|
||||
when 'register'
|
||||
session[:registration][:email] = params[:email]
|
||||
user = User.find_by(:email => params[:email]) || User.new(:email => params[:email], :role => 'unverified')
|
||||
registration = ConferenceRegistration.new(:conference_id => @conference.id, :is_attending => 'yes', :is_participant => params[:is_participant], :is_volunteer => params[:is_volunteer])
|
||||
session[:registration][:user] = user
|
||||
user = User.find_by(:email => params[:email])
|
||||
#registration = ConferenceRegistration.new(:conference_id => @conference.id, :is_attending => 'yes', :is_participant => params[:is_participant], :is_volunteer => params[:is_volunteer])
|
||||
session[:registration][:user] = Hash.new
|
||||
session[:registration][:organizations] = Array.new
|
||||
session[:registration][:user][:id] = user ? user.id : nil
|
||||
if user
|
||||
user.organizations.each { |org| session[:registration][:organizations] << org.id }
|
||||
end
|
||||
session[:registration][:user][:firstname] = user ? (user.firstname || user.username) : nil
|
||||
session[:registration][:user][:lastname] = user ? user.lastname : nil
|
||||
session[:registration][:user][:username] = user ? user.username : nil
|
||||
next_step = 'primary'
|
||||
when 'primary'
|
||||
next_step = user.organizations.length > 0 ? 'questions' : 'organizations'
|
||||
session[:registration][:user].firstname = params[:firstname]
|
||||
session[:registration][:user].firstname = params[:lastname]
|
||||
if !session[:registration][:user].role == 'unverified'
|
||||
session[:registration][:user].username = params[:username]
|
||||
if !params[:firstname] || !params[:lastname]
|
||||
error = _'registration.register.no_name_error','Oh, c\'mon, please tell us your name. We promise not to share it with anyone, we just don\'t want to get you mixed up with someone else.'
|
||||
end
|
||||
session[:registration][:user][:firstname] = params[:firstname]
|
||||
session[:registration][:user][:firstname] = params[:lastname]
|
||||
session[:registration][:is_volunteer] = params[:is_volunteer]
|
||||
session[:registration][:is_participant] = params[:is_participant]
|
||||
if !session[:registration][:user][:id]
|
||||
session[:registration][:user][:username] = params[:username] || (params[:firstname] + ' ' + params[:lastname])
|
||||
end
|
||||
|
||||
if params[:is_volunteer]
|
||||
next_step = 'volunteer_questions'
|
||||
elsif params[:is_participant]
|
||||
next_step = 'organizations'
|
||||
else
|
||||
error = _'registration.register.no_role_error',"Please let us know if you're attending the conference or volunteering (or both)"
|
||||
end
|
||||
when 'organizations'
|
||||
session[:registration][:organizations] = Array.new
|
||||
if params[:org].length > 0
|
||||
params[:org].each { |org| session[:registration][:organizations] << org }
|
||||
|
||||
if params[:add_new_org]
|
||||
session[:registration][:new_organization] ||= Array.new
|
||||
session[:registration][:new_organization][0] ||= Hash.new
|
||||
session[:registration][:new_org_index] = 0
|
||||
if !session[:registration][:new_organization][0][:country]
|
||||
my_location = lookup_ip_location
|
||||
session[:registration][:new_organization][0][:country] = my_location.country_code
|
||||
session[:registration][:new_organization][0][:territory] = my_location.province_code
|
||||
session[:registration][:new_organization][0][:city] = my_location.city
|
||||
end
|
||||
next_step = 'new_organization'
|
||||
else
|
||||
next_step = 'questions'
|
||||
end
|
||||
elsif params[:add_new_org]
|
||||
session[:registration][:questions] ||= Hash.new
|
||||
next_step = 'questions'
|
||||
else
|
||||
error = _'registration.register.no_organization_error',"Please select an organization or enter a new one"
|
||||
end
|
||||
when 'new_organization'
|
||||
if !params[:city]
|
||||
message = _'register.new_organization.no_city_error','Please enter your organization\'s city'
|
||||
end
|
||||
if !params[:street]
|
||||
message = _'register.new_organization.no_street_error','Please enter your organization\'s street address'
|
||||
end
|
||||
if !params[:organization_email]
|
||||
message = _'register.new_organization.no_email_error','Please tell us your organization\'s email address. We need it so that we can send out invitaions for upcoming conferences. No spam, we promise, and you\'ll be able to edit your preferences before we start ending out email.'
|
||||
elsif params[:organization_email].strip.casecmp(session[:registration][:email].strip)
|
||||
message = _'register.new_organization.same_email_as_attendee_error','This email needs to be different than your own personal email, we need to keep in touch with your organization even if you\'re gone in years to come.'
|
||||
end
|
||||
if !params[:name]
|
||||
message = _'register.new_organization.no_name_error','Please tell us your organization\'s name'
|
||||
end
|
||||
i = params[:new_org_index].to_i
|
||||
session[:registration][:new_organization][i][:country] = params[:organization_country]
|
||||
session[:registration][:new_organization][i][:territory] = params[:organization_territory]
|
||||
session[:registration][:new_organization][i][:city] = params[:organization_city]
|
||||
session[:registration][:new_organization][i][:street] = params[:organization_street]
|
||||
session[:registration][:new_organization][i][:info] = params[:organization_info]
|
||||
session[:registration][:new_organization][i][:email] = params[:organization_email]
|
||||
session[:registration][:new_organization][i][:name] = params[:organization_name]
|
||||
|
||||
if params[:organization_logo]
|
||||
if session[:registration][:new_organization][i][:organization_logo]
|
||||
FileUtils.rm session[:registration][:new_organization][i][:organization_logo]
|
||||
end
|
||||
base_dir = File.join("public", "registration_data")
|
||||
FileUtils.mkdir_p(base_dir) unless File.directory?(base_dir)
|
||||
hash_dir = rand(36**16).to_s(36)
|
||||
dir = File.join(base_dir, hash_dir)
|
||||
while File.directory?(dir)
|
||||
hash_dir = rand(36**16).to_s(36)
|
||||
dir = File.join(base_dir, hash_dir)
|
||||
end
|
||||
FileUtils.mkdir_p(dir)
|
||||
session[:registration][:new_organization][i][:organization_logo] = File.join("registration_data", hash_dir, params[:organization_logo].original_filename)
|
||||
FileUtils.cp params[:organization_logo].tempfile.path, File.join("public", session[:registration][:new_organization][i][:organization_logo])
|
||||
end
|
||||
if params[:add_another_org] && params[:add_another_org].to_sym == :on
|
||||
next_step = 'new_organization'
|
||||
if params[:previous]
|
||||
session[:registration][:new_org_index] = [0, i - 1].max
|
||||
elsif !error
|
||||
session[:registration][:new_org_index] = i + 1
|
||||
session[:registration][:new_organization][i + 1] ||= Hash.new
|
||||
if !session[:registration][:new_organization][i + 1][:country]
|
||||
session[:registration][:new_organization][i + 1][:country] = session[:registration][:new_organization][i][:country]
|
||||
session[:registration][:new_organization][i + 1][:territory] = session[:registration][:new_organization][i][:territory]
|
||||
session[:registration][:new_organization][i + 1][:city] = session[:registration][:new_organization][i][:city]
|
||||
end
|
||||
end
|
||||
else
|
||||
if session[:registration][:new_organization][i + 1]
|
||||
session[:registration][:new_organization] = session[:registration][:new_organization].first(i + 1)
|
||||
end
|
||||
next_step = 'questions'
|
||||
end
|
||||
when 'questions'
|
||||
session[:registration][:questions] = params[:questions].deep_symbolize_keys
|
||||
session[:registration][:is_workshop_host] = params[:is_workshop_host].to_i
|
||||
if !params[:is_workshop_host].to_i.zero?
|
||||
next_step = 'new_workshop'
|
||||
session[:registration][:workshop] ||= Array.new
|
||||
session[:registration][:workshop][0] ||= Hash.new
|
||||
session[:registration][:workshop_index] = 0
|
||||
else
|
||||
next_step = 'submit'
|
||||
end
|
||||
when 'volunteer_questions'
|
||||
session[:registration][:volunteer_questions] = params[:volunteer_questions].deep_symbolize_keys
|
||||
if session[:registration][:is_participant]
|
||||
next_step = 'organizations'
|
||||
else
|
||||
next_step = 'submit'
|
||||
end
|
||||
when 'new_workshop'
|
||||
i = params[:workshop_index].to_i
|
||||
session[:registration][:workshop][i][:title] = params[:workshop_title]
|
||||
session[:registration][:workshop][i][:info] = params[:workshop_info]
|
||||
session[:registration][:workshop][i][:stream] = params[:workshop_stream]
|
||||
session[:registration][:workshop][i][:presentation_style] = params[:workshop_presentation_style]
|
||||
|
||||
if !params[:workshop_info]
|
||||
error = _'registration.register.no_workshop_info_error','Please describe your workshop as best as you can to give other participants an idea of what to expect'
|
||||
end
|
||||
|
||||
if !params[:workshop_title]
|
||||
error = _'registration.register.no_workshop_title_error','Please give your workshop a title'
|
||||
end
|
||||
|
||||
if params[:previous]
|
||||
session[:registration][:workshop_index] = [0, i - 1].max
|
||||
elsif params[:add_another_workshop]
|
||||
next_step = 'new_workshop'
|
||||
if !error
|
||||
session[:registration][:workshop] ||= Array.new
|
||||
session[:registration][:workshop][i + 1] ||= Hash.new
|
||||
session[:registration][:workshop_index] = i + 1
|
||||
end
|
||||
else
|
||||
if session[:registration][:workshop][i + 1]
|
||||
session[:registration][:workshop] = session[:registration][:workshop].first(i + 1)
|
||||
end
|
||||
next_step = 'submit'
|
||||
end
|
||||
when 'submit'
|
||||
UserMailer.conference_registration_email(@conference, session[:registration]).deliver
|
||||
session.delete(:registration)
|
||||
next_step = 'thanks'
|
||||
when 'cancel'
|
||||
if params[:yes]
|
||||
session.delete(:registration)
|
||||
next_step = 'cancelled'
|
||||
else
|
||||
return {error: false, next_step: session[:registration][:path].pop}
|
||||
end
|
||||
end
|
||||
next_step
|
||||
#if next_step
|
||||
# redirect_to :action => :register, :step => next_step
|
||||
#else
|
||||
# do_404
|
||||
#end
|
||||
if params[:previous]
|
||||
next_step = session[:registration][:path].pop
|
||||
else
|
||||
if !params[:cancel] && error
|
||||
return {error: true, message: error, next_step: params['step']}
|
||||
end
|
||||
if session[:registration] && params['step']
|
||||
session[:registration][:path] << params['step']
|
||||
end
|
||||
end
|
||||
{error: false, next_step: params[:cancel] ? 'cancel' : next_step}
|
||||
end
|
||||
|
||||
def register
|
||||
set_conference
|
||||
#template = params['step'] ? "register_#{params['step']}" : 'register'
|
||||
@register_step = request.post? ? register_submit : 'register'
|
||||
data = register_submit
|
||||
@register_step = request.post? ? data[:next_step] : 'register'
|
||||
@error_message = data[:error] ? data[:message] : nil
|
||||
template = (@register_step == 'register' ? '' : 'register_') + @register_step
|
||||
if !File.exists?(Rails.root.join("app", "views", params[:controller], "_#{template}.html.haml"))
|
||||
do_404
|
||||
return
|
||||
end
|
||||
#if params['step'] != true
|
||||
#session[:last_step] = params['step']
|
||||
#end
|
||||
@register_step = template#params['step'] || true
|
||||
@register_content = render_to_string :partial => template
|
||||
if session[:registration]
|
||||
session[:registration][@register_step.to_sym] ||= Hash.new
|
||||
end
|
||||
@actions = nil
|
||||
case @register_step
|
||||
when 'register'
|
||||
@actions = :next
|
||||
when 'primary', 'organizations', 'new_organization', 'new_workshop', 'volunteer_questions'
|
||||
@actions = [:previous, :cancel, :next]
|
||||
when 'submit'
|
||||
@actions = [:previous, :cancel, :submit]
|
||||
when 'cancel'
|
||||
@actions = [:no, :yes]
|
||||
when 'questions'
|
||||
@actions = [:previous, :cancel, :next]
|
||||
@housing_options = {
|
||||
'I will fend for myself thanks' => 'none',
|
||||
'I will need a real bed' => 'bed',
|
||||
'A couch or floor space will be fine' => 'couch',
|
||||
'All I need is a backyard' => 'camp'
|
||||
}
|
||||
session[:registration][:questions][:housing] ||= 'couch'
|
||||
@loaner_bike_options = {
|
||||
'No' => 'no',
|
||||
'Yes' => 'medium',
|
||||
'Yes but a small one please' => 'small',
|
||||
'Yes but a large one please' => 'large'
|
||||
}
|
||||
session[:registration][:questions][:loaner_bike] ||= 'medium'
|
||||
session[:registration][:questions][:diet] ||= Hash.new
|
||||
end
|
||||
if request.xhr?
|
||||
@register_content = render_to_string :partial => template
|
||||
render :json => {status: 200, html: @register_content}
|
||||
else
|
||||
@register_template = template
|
||||
render 'show'
|
||||
end
|
||||
end
|
||||
|
@ -1,6 +1,7 @@
|
||||
include ApplicationHelper
|
||||
|
||||
class PagesController < ApplicationController
|
||||
protect_from_forgery :except => :location_territories
|
||||
#skip_before_filter :verify_authenticity_token, only: [:translate]
|
||||
|
||||
def home
|
||||
@ -49,7 +50,10 @@ class PagesController < ApplicationController
|
||||
def location_territories
|
||||
#render json: (Carmen:::RegionCollection.new(Carmen::Country.coded(params[:country])) || []).to_json
|
||||
territories = {}
|
||||
Carmen::Country.coded(params[:country]).subregions.each { |t| territories[t.code] = t.name }
|
||||
country = Carmen::Country.coded(params[:country])
|
||||
if country
|
||||
country.subregions.each { |t| territories[t.code] = t.name }
|
||||
end
|
||||
render json: territories.to_json
|
||||
end
|
||||
|
||||
|
@ -431,6 +431,14 @@ module ApplicationHelper
|
||||
_(*a)
|
||||
end
|
||||
|
||||
def lookup_ip
|
||||
if request.remote_ip == '127.0.0.1'
|
||||
session['remote_ip'] || (session['remote_ip'] = open("http://checkip.dyndns.org").first.gsub(/^.*\s([\d\.]+).*$/s, '\1').gsub(/[^\.\d]/, ''))
|
||||
else
|
||||
request.remote_ip
|
||||
end
|
||||
end
|
||||
|
||||
def lookup_ip_location
|
||||
if request.remote_ip == '127.0.0.1'
|
||||
Geocoder.search(session['remote_ip'] || (session['remote_ip'] = open("http://checkip.dyndns.org").first.gsub(/^.*\s([\d\.]+).*$/s, '\1').gsub(/[^\.\d]/, ''))).first
|
||||
@ -492,6 +500,11 @@ module ApplicationHelper
|
||||
subdomain == 'test'
|
||||
end
|
||||
|
||||
def location(location)
|
||||
territory = Carmen::Country.coded(location.country).subregions.coded(location.territory)
|
||||
location.city + (territory ? ' ' + territory.name : '') + ', ' + Carmen::Country.coded(location.country).name
|
||||
end
|
||||
|
||||
private
|
||||
def _form_field(type, name, value, options)
|
||||
if type == 'check_box'
|
||||
|
@ -93,6 +93,7 @@ module BikeBikeFormHelper
|
||||
end
|
||||
|
||||
def country_select_tag(name, value, options={})
|
||||
#options[:no_wrapper] = true
|
||||
render_field(name, options = get_options(name, options), super(name, value, options), value)
|
||||
end
|
||||
|
||||
@ -292,7 +293,8 @@ module BikeBikeFormHelper
|
||||
end
|
||||
|
||||
def render_field(type, name, options, html, value = nil)
|
||||
if (options.has_key?(:no_wrapper) && options[:no_wrapper]) || options['type'] == 'hidden'
|
||||
options.symbolize_keys!
|
||||
if (options.has_key?(:no_wrapper) && options[:no_wrapper]) || /country/.match(name.to_s) && /^subregion_select/.match(type.to_s) || options[:type] == 'hidden'
|
||||
return html
|
||||
end
|
||||
|
||||
@ -306,7 +308,7 @@ module BikeBikeFormHelper
|
||||
template = template_exists?(type) ? type : 'default'
|
||||
params[:label_template] = options[:label] === false ? nil : get_label_template(type, options)
|
||||
params[:label_position] = options[:label] === false ? :none : label_position(type, options)
|
||||
|
||||
|
||||
render(template, params)
|
||||
end
|
||||
|
||||
|
@ -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
|
||||
|
@ -12,6 +12,18 @@ class Organization < ActiveRecord::Base
|
||||
accepts_nested_attributes_for :locations, :reject_if => proc {|l| l[id].blank?}
|
||||
accepts_nested_attributes_for :user_organization_relationships, :reject_if => proc {|u| u[:user_id].blank?}, :allow_destroy => true
|
||||
|
||||
def location
|
||||
locations.first
|
||||
end
|
||||
|
||||
def longitude
|
||||
location.longitude
|
||||
end
|
||||
|
||||
def latitude
|
||||
location.latitude
|
||||
end
|
||||
|
||||
def to_param
|
||||
slug
|
||||
end
|
||||
|
@ -36,7 +36,7 @@
|
||||
.columns.medium-4.centered.align-bottom
|
||||
%div
|
||||
- if @conference.registration_open
|
||||
%a.button{href: @conference.url(:register)}
|
||||
%a.button.arrow-r{href: @conference.url(:register)}
|
||||
=_'conference.Register_Now'
|
||||
- if params['controller'] != 'conferences'
|
||||
%a.button.more{href: @conference.url}
|
||||
|
@ -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]
|
||||
|
3
app/views/conferences/_register_cancel.html.haml
Normal file
3
app/views/conferences/_register_cancel.html.haml
Normal file
@ -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.'
|
3
app/views/conferences/_register_cancelled.html.haml
Normal file
3
app/views/conferences/_register_cancelled.html.haml
Normal file
@ -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.'
|
28
app/views/conferences/_register_new_organization.html.haml
Normal file
28
app/views/conferences/_register_new_organization.html.haml
Normal file
@ -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'
|
37
app/views/conferences/_register_new_workshop.html.haml
Normal file
37
app/views/conferences/_register_new_workshop.html.haml
Normal file
@ -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'
|
83
app/views/conferences/_register_organizations.html.haml
Normal file
83
app/views/conferences/_register_organizations.html.haml
Normal file
@ -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]
|
||||
|
34
app/views/conferences/_register_questions.html.haml
Normal file
34
app/views/conferences/_register_questions.html.haml
Normal file
@ -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
|
3
app/views/conferences/_register_submit.html.haml
Normal file
3
app/views/conferences/_register_submit.html.haml
Normal file
@ -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.'
|
6
app/views/conferences/_register_thanks.html.haml
Normal file
6
app/views/conferences/_register_thanks.html.haml
Normal file
@ -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
|
@ -5,13 +5,22 @@
|
||||
- description "#{@conference.title} conference in #{location_name} for DIY bicycle collectives, co-ops, and advocacy groups"
|
||||
= render 'header'
|
||||
|
||||
= tabs!
|
||||
=# tabs!
|
||||
|
||||
%article.row
|
||||
.columns.large-10
|
||||
- if @register_step
|
||||
%h2='Register!'
|
||||
= @register_content.html_safe
|
||||
- if @actions
|
||||
= form_tag (@conference.url + '/register/').gsub(/\/\/+/, '/'), :method => :post do
|
||||
= hidden_field_tag :step, @register_step
|
||||
- if @error_message
|
||||
.columns.medium-8.medium-centered
|
||||
%p.error=@error_message
|
||||
= render @register_template
|
||||
.columns= form_actions @actions
|
||||
- else
|
||||
= render @register_template
|
||||
- else
|
||||
%h2=('About '+@conference.title)
|
||||
=p @conference, :info
|
||||
|
@ -6,19 +6,16 @@
|
||||
%title= (yield :title) + (content_for?(:title) ? ' | ' : '') + 'Bike!Bike!'
|
||||
%meta{ name: 'description', content: (yield_or_default :description, 'Bike!Bike! conferences for DIY bicycle collectives, co-ops, and advocacy groups') }
|
||||
= csrf_meta_tags
|
||||
= yield :head
|
||||
/[if lt IE 9]
|
||||
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js" type="text/javascript"></script>
|
||||
|
||||
= stylesheet_link_tag '//fonts.googleapis.com/css?family=Source+Sans+Pro:400,700,400italic,700italic', 'application', media: 'all'
|
||||
|
||||
%link{ href: asset_path('favicon.ico'), rel: 'shortcut icon', type: 'image/x-icon' }
|
||||
%link{ href: asset_path('favicon.ico'), rel: 'icon', type: 'image/x-icon' }
|
||||
%link{ href: asset_path('apple-touch-icon.png'), rel: 'apple-touch-icon' }
|
||||
%link{ href: asset_path('apple-touch-icon-72x72.png'), rel: 'apple-touch-icon', sizes: '72x72' }
|
||||
%link{ href: asset_path('apple-touch-icon-114x114.png'), rel: 'apple-touch-icon', sizes: '114x114' }
|
||||
%link{ href: asset_path('apple-touch-icon-144x144.png'), rel: 'apple-touch-icon', sizes: '144x144' }
|
||||
|
||||
= yield :head
|
||||
=# javascript_include_tag '//use.typekit.net/iqv7hcg.js'
|
||||
=# javascript_include_tag 'application'
|
||||
=# javascript_include_tag 'nested_form'
|
||||
@ -43,15 +40,15 @@
|
||||
#content=yield
|
||||
- else
|
||||
= yield
|
||||
%footer
|
||||
= yield :garbage
|
||||
#footer
|
||||
.container= render 'shared/footer'
|
||||
%footer
|
||||
.container= render 'shared/footer'
|
||||
= javascript_include_tag '//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js'
|
||||
:javascript
|
||||
window.jQuery||document.write('<script src="/javascripts/jquery.min.js"><\/script>');(function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;e=o.createElement(i);r=o.getElementsByTagName(i)[0];e.src='//www.google-analytics.com/analytics.js';r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));ga('create','UA-42449204-1');ga('send','pageview');
|
||||
#{yield :scripts}
|
||||
!function(a,b,c,d){d&&a.addEventListener("DOMContentLoaded",function(){$.ajax({url:$("use").first().attr("xlink:href").replace(/^(.*)\#.*$/,"$1"),dataType:"text",success:function(a){$("body").append('<div class="hide">'+a+"</div>"),$("use").each(function(){$(this).attr("xlink:href",function(a,b){return b.replace(/^.*(#.*)$/,"$1")})})}})})}(document,navigator,{},/Trident\/[567]\b/.test(navigator.userAgent));
|
||||
$(function(){
|
||||
#{yield :dom_ready}
|
||||
});
|
||||
= yield :footer_scripts
|
||||
window.jQuery||document.write('<script src="/javascripts/jquery.min.js"><\/script>');(function(b,o,i,l,e,r){b.GoogleAnalyticsObject=l;b[l]||(b[l]=function(){(b[l].q=b[l].q||[]).push(arguments)});b[l].l=+new Date;e=o.createElement(i);r=o.getElementsByTagName(i)[0];e.src='//www.google-analytics.com/analytics.js';r.parentNode.insertBefore(e,r)}(window,document,'script','ga'));ga('create','UA-42449204-1');ga('send','pageview');!function(a,b,c,d){d&&a.addEventListener("DOMContentLoaded",function(){$.ajax({url:$("use").first().attr("xlink:href").replace(/^(.*)\#.*$/,"$1"),dataType:"text",success:function(a){$("body").append('<div class="hide">'+a+"</div>"),$("use").each(function(){$(this).attr("xlink:href",function(a,b){return b.replace(/^.*(#.*)$/,"$1")})})}})})}(document,navigator,{},/Trident\/[567]\b/.test(navigator.userAgent));
|
||||
- if content_for?(:footer_scripts)
|
||||
= yield :footer_scripts
|
||||
- if content_for?(:scripts) || content_for?(:dom_ready)
|
||||
:javascript
|
||||
#{content_for?(:scripts) ? "#{yield :scripts}" : ''}#{content_for?(:dom_ready) ? "$(function(){#{yield :dom_ready}});" : ''}
|
||||
|
@ -4,5 +4,5 @@
|
||||
%a.facebook-sign-in.button{href: '/oauth/facebook'}
|
||||
= _ action.to_s
|
||||
- else
|
||||
%button{id: action.to_s, name: action.to_s, type: 'submit'}
|
||||
%button{id: action.to_s, name: action.to_s, type: 'submit', formnovalidate: ([:cancel, :previous].include? action.to_sym)}
|
||||
= _ action.to_s
|
@ -4,7 +4,7 @@
|
||||
- if @options[:help]
|
||||
%p.help=_(("form.#{@options[:_controller]}.#{namekey}.help"), :w, 20)
|
||||
- @label = @label_template ? (render ('layouts/fields/label_' + @label_template)) : nil
|
||||
= @label_position == :before && @label ? @label : ''
|
||||
= (@label_position == :before || @label_position == :inside) && @label ? @label : ''
|
||||
- if @label_position != :inside
|
||||
%div=@html
|
||||
= @label_position == :after && @label ? @label : ''
|
||||
|
6
app/views/organizations/_mini_preview.html.haml
Normal file
6
app/views/organizations/_mini_preview.html.haml
Normal file
@ -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
|
@ -37,7 +37,7 @@ module I18n
|
||||
when 't', 'title'
|
||||
return (Forgery::LoremIpsum.sentences 1, options).capitalize
|
||||
end
|
||||
return nil
|
||||
return method
|
||||
end
|
||||
|
||||
def self.note(key, behavior = nil, behavior_size = nil)
|
||||
|
@ -14,7 +14,7 @@ BikeBike::Application.routes.draw do
|
||||
#resources :workshops, :param => 'slug'
|
||||
#get :register, :param => 'step'
|
||||
#post 'register/next' => 'conferences#register_submit'
|
||||
# match 'register(/:step)' => 'conferences#register', via: [:get, :post]
|
||||
match 'register(/:step)' => 'conferences#register', via: [:get, :post]
|
||||
#patch 'register/step/:step' => 'conferences#register_step'
|
||||
#resources :registrations, :path => 'registration' do
|
||||
# get :form, on: :collection
|
||||
|
@ -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
|
@ -11,7 +11,7 @@
|
||||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema.define(version: 20140714013645) do
|
||||
ActiveRecord::Schema.define(version: 20140716002152) do
|
||||
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "plpgsql"
|
||||
@ -64,6 +64,8 @@ ActiveRecord::Schema.define(version: 20140714013645) do
|
||||
t.boolean "is_confirmed"
|
||||
t.boolean "is_participant"
|
||||
t.boolean "is_volunteer"
|
||||
t.string "confirmation_token"
|
||||
t.binary "data"
|
||||
end
|
||||
|
||||
create_table "conference_types", force: true do |t|
|
||||
|
BIN
public/registration_data/1t3i4wgk5899kx2x/Thumbs.db
Normal file
BIN
public/registration_data/1t3i4wgk5899kx2x/Thumbs.db
Normal file
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user