Analytics and jquery fallback
This commit is contained in:
parent
7553364157
commit
e64eb1f153
1
Gemfile
1
Gemfile
@ -30,6 +30,7 @@ gem 'font-awesome-rails'
|
|||||||
gem 'wysiwyg-rails'
|
gem 'wysiwyg-rails'
|
||||||
gem 'rails-assets-cdn'
|
gem 'rails-assets-cdn'
|
||||||
gem 'sitemap_generator'
|
gem 'sitemap_generator'
|
||||||
|
gem 'activerecord-session_store'
|
||||||
|
|
||||||
group :development, :test do
|
group :development, :test do
|
||||||
gem 'rspec'
|
gem 'rspec'
|
||||||
|
@ -38,6 +38,10 @@ GEM
|
|||||||
activesupport (= 4.0.0)
|
activesupport (= 4.0.0)
|
||||||
arel (~> 4.0.0)
|
arel (~> 4.0.0)
|
||||||
activerecord-deprecated_finders (1.0.3)
|
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)
|
activesupport (4.0.0)
|
||||||
i18n (~> 0.6, >= 0.6.4)
|
i18n (~> 0.6, >= 0.6.4)
|
||||||
minitest (~> 4.2)
|
minitest (~> 4.2)
|
||||||
@ -329,6 +333,7 @@ PLATFORMS
|
|||||||
x86-mingw32
|
x86-mingw32
|
||||||
|
|
||||||
DEPENDENCIES
|
DEPENDENCIES
|
||||||
|
activerecord-session_store
|
||||||
acts_as_list
|
acts_as_list
|
||||||
awesome_print
|
awesome_print
|
||||||
better_errors
|
better_errors
|
||||||
|
4
app/assets/javascripts/jquery.min.js
vendored
Normal file
4
app/assets/javascripts/jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
@ -249,7 +249,7 @@ fieldset {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&.check-box {
|
&.check-box-field {
|
||||||
div {
|
div {
|
||||||
float: left;
|
float: left;
|
||||||
font-size: 1.75em;
|
font-size: 1.75em;
|
||||||
@ -276,6 +276,12 @@ fieldset {
|
|||||||
position: relative;
|
position: relative;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
line-height: 1.6em;
|
||||||
|
|
||||||
|
span {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: text-top;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,29 +110,53 @@ class ConferencesController < ApplicationController
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def register_submit
|
||||||
|
#set_conference
|
||||||
|
next_step = nil
|
||||||
|
if !session[:registration]
|
||||||
|
session[:registration] = Hash.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
|
||||||
|
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]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
next_step
|
||||||
|
#if next_step
|
||||||
|
# redirect_to :action => :register, :step => next_step
|
||||||
|
#else
|
||||||
|
# do_404
|
||||||
|
#end
|
||||||
|
end
|
||||||
|
|
||||||
def register
|
def register
|
||||||
set_conference
|
set_conference
|
||||||
#@user = User.new
|
#template = params['step'] ? "register_#{params['step']}" : 'register'
|
||||||
#@sub_action = 'registration_register'
|
@register_step = request.post? ? register_submit : 'register'
|
||||||
#render :registration
|
template = (@register_step == 'register' ? '' : 'register_') + @register_step
|
||||||
if params['step']
|
if !File.exists?(Rails.root.join("app", "views", params[:controller], "_#{template}.html.haml"))
|
||||||
begin
|
do_404
|
||||||
template = "register_#{params['step']}"
|
return
|
||||||
if request.xhr?
|
end
|
||||||
render :partial => template
|
#if params['step'] != true
|
||||||
else
|
#session[:last_step] = params['step']
|
||||||
render template
|
#end
|
||||||
end
|
@register_step = template#params['step'] || true
|
||||||
rescue
|
@register_content = render_to_string :partial => template
|
||||||
do_404
|
if request.xhr?
|
||||||
end
|
render :json => {status: 200, html: @register_content}
|
||||||
else
|
else
|
||||||
if request.xhr?
|
render 'show'
|
||||||
render :partial => 'register'
|
|
||||||
else
|
|
||||||
@register_step = true
|
|
||||||
render 'show'
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
4
app/views/conferences/_register.html.haml
Normal file
4
app/views/conferences/_register.html.haml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
= form_tag (@conference.url + '/register/').gsub(/\/\/+/, '/'), :method => :post do
|
||||||
|
= hidden_field_tag :step, @register_step
|
||||||
|
= email_field_tag :email
|
||||||
|
= form_actions :next
|
14
app/views/conferences/_register_primary.html.haml
Normal file
14
app/views/conferences/_register_primary.html.haml
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
= 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
|
||||||
|
= 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
|
@ -11,6 +11,7 @@
|
|||||||
.columns.large-10
|
.columns.large-10
|
||||||
- if @register_step
|
- if @register_step
|
||||||
%h2='Register!'
|
%h2='Register!'
|
||||||
|
= @register_content.html_safe
|
||||||
- else
|
- else
|
||||||
%h2=('About '+@conference.title)
|
%h2=('About '+@conference.title)
|
||||||
=p @conference, :info
|
=p @conference, :info
|
||||||
|
@ -48,6 +48,7 @@
|
|||||||
.container= render 'shared/footer'
|
.container= render 'shared/footer'
|
||||||
= javascript_include_tag '//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js'
|
= javascript_include_tag '//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js'
|
||||||
:javascript
|
: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}
|
#{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(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(){
|
$(function(){
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
# Be sure to restart your server when you modify this file.
|
# Be sure to restart your server when you modify this file.
|
||||||
|
|
||||||
BikeBike::Application.config.session_store :cookie_store, key: '_starterapp_session'
|
BikeBike::Application.config.session_store :active_record_store
|
||||||
|
@ -13,7 +13,8 @@ BikeBike::Application.routes.draw do
|
|||||||
#get :registration
|
#get :registration
|
||||||
#resources :workshops, :param => 'slug'
|
#resources :workshops, :param => 'slug'
|
||||||
#get :register, :param => 'step'
|
#get :register, :param => 'step'
|
||||||
##get 'register(/:step)' => 'conferences#register'
|
#post 'register/next' => 'conferences#register_submit'
|
||||||
|
# match 'register(/:step)' => 'conferences#register', via: [:get, :post]
|
||||||
#patch 'register/step/:step' => 'conferences#register_step'
|
#patch 'register/step/:step' => 'conferences#register_step'
|
||||||
#resources :registrations, :path => 'registration' do
|
#resources :registrations, :path => 'registration' do
|
||||||
# get :form, on: :collection
|
# get :form, on: :collection
|
||||||
|
5
db/migrate/20140714012739_add_firstname_to_users.rb
Normal file
5
db/migrate/20140714012739_add_firstname_to_users.rb
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
class AddFirstnameToUsers < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :users, :firstname, :string
|
||||||
|
end
|
||||||
|
end
|
5
db/migrate/20140714012811_add_lastname_to_users.rb
Normal file
5
db/migrate/20140714012811_add_lastname_to_users.rb
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
class AddLastnameToUsers < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
add_column :users, :lastname, :string
|
||||||
|
end
|
||||||
|
end
|
12
db/migrate/20140714013645_add_sessions_table.rb
Normal file
12
db/migrate/20140714013645_add_sessions_table.rb
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
class AddSessionsTable < ActiveRecord::Migration
|
||||||
|
def change
|
||||||
|
create_table :sessions do |t|
|
||||||
|
t.string :session_id, :null => false
|
||||||
|
t.text :data
|
||||||
|
t.timestamps
|
||||||
|
end
|
||||||
|
|
||||||
|
add_index :sessions, :session_id, :unique => true
|
||||||
|
add_index :sessions, :updated_at
|
||||||
|
end
|
||||||
|
end
|
14
db/schema.rb
14
db/schema.rb
@ -11,7 +11,7 @@
|
|||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# It's strongly recommended that you check this file into your version control system.
|
||||||
|
|
||||||
ActiveRecord::Schema.define(version: 20140713213534) do
|
ActiveRecord::Schema.define(version: 20140714013645) do
|
||||||
|
|
||||||
# These are extensions that must be enabled in order to support this database
|
# These are extensions that must be enabled in order to support this database
|
||||||
enable_extension "plpgsql"
|
enable_extension "plpgsql"
|
||||||
@ -184,6 +184,16 @@ ActiveRecord::Schema.define(version: 20140713213534) do
|
|||||||
t.datetime "updated_at"
|
t.datetime "updated_at"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
create_table "sessions", force: true do |t|
|
||||||
|
t.string "session_id", null: false
|
||||||
|
t.text "data"
|
||||||
|
t.datetime "created_at"
|
||||||
|
t.datetime "updated_at"
|
||||||
|
end
|
||||||
|
|
||||||
|
add_index "sessions", ["session_id"], name: "index_sessions_on_session_id", unique: true, using: :btree
|
||||||
|
add_index "sessions", ["updated_at"], name: "index_sessions_on_updated_at", using: :btree
|
||||||
|
|
||||||
create_table "translations", force: true do |t|
|
create_table "translations", force: true do |t|
|
||||||
t.string "locale"
|
t.string "locale"
|
||||||
t.string "key"
|
t.string "key"
|
||||||
@ -223,6 +233,8 @@ ActiveRecord::Schema.define(version: 20140713213534) do
|
|||||||
t.string "avatar"
|
t.string "avatar"
|
||||||
t.text "about_me"
|
t.text "about_me"
|
||||||
t.string "role"
|
t.string "role"
|
||||||
|
t.string "firstname"
|
||||||
|
t.string "lastname"
|
||||||
end
|
end
|
||||||
|
|
||||||
add_index "users", ["activation_token"], name: "index_users_on_activation_token", using: :btree
|
add_index "users", ["activation_token"], name: "index_users_on_activation_token", using: :btree
|
||||||
|
Loading…
x
Reference in New Issue
Block a user