Analytics and jquery fallback

This commit is contained in:
Godwin
2014-07-13 21:27:59 -06:00
parent 7553364157
commit e64eb1f153
15 changed files with 119 additions and 24 deletions
File diff suppressed because one or more lines are too long
+7 -1
View File
@@ -249,7 +249,7 @@ fieldset {
}
}
&.check-box {
&.check-box-field {
div {
float: left;
font-size: 1.75em;
@@ -276,6 +276,12 @@ fieldset {
position: relative;
margin: 0;
display: inline-block;
line-height: 1.6em;
span {
display: inline-block;
vertical-align: text-top;
}
}
}
+44 -20
View File
@@ -110,29 +110,53 @@ class ConferencesController < ApplicationController
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
set_conference
#@user = User.new
#@sub_action = 'registration_register'
#render :registration
if params['step']
begin
template = "register_#{params['step']}"
if request.xhr?
render :partial => template
else
render template
end
rescue
do_404
end
#template = params['step'] ? "register_#{params['step']}" : 'register'
@register_step = request.post? ? register_submit : 'register'
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 request.xhr?
render :json => {status: 200, html: @register_content}
else
if request.xhr?
render :partial => 'register'
else
@register_step = true
render 'show'
end
render 'show'
end
end
@@ -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
@@ -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
+1
View File
@@ -11,6 +11,7 @@
.columns.large-10
- if @register_step
%h2='Register!'
= @register_content.html_safe
- else
%h2=('About '+@conference.title)
=p @conference, :info
+1
View File
@@ -48,6 +48,7 @@
.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(){