Created
November 10, 2010 11:31
-
-
Save mattsoutherden/670727 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class InviteController < ApplicationController | |
helper :google_optimizer, :content, :competitions, :deals | |
include ContentHelper | |
skip_before_filter :invitation_or_login_required, :only => [ :index, :invite_deal, :invite_competition] | |
def index | |
######################################### | |
## Generic links | |
######################################### | |
(return redirect_to :controller=>"cities", :action => 'index') if(params[:code].blank? || params[:code].length < 6) # code-length should be 6 or greater | |
str_code = params[:code] | |
utm_medium = str_code[-1,1] | |
utm_term = str_code[0..-2] | |
if @user | |
@user.add_referel(params[:code]) | |
if utm_medium != "K" | |
redirect_to :controller=>"cities", :action => 'show', :city => @city.to_param, :utm_source => "user", :utm_medium => utm_medium.to_param, :utm_term => utm_term.to_param, :utm_content => "existing member" | |
else | |
redirect_to :controller=>"cities", :action => 'show', :city => @city.to_param, :utm_source => "user", :utm_term => utm_term.to_param, :utm_content => "existing member" | |
end | |
else | |
# when user is not logged in | |
session["code"] = params[:code] | |
if utm_medium != "K" | |
redirect_to "/#{@city.slug}/signup?utm_source=user&utm_medium=#{utm_medium}&utm_term=#{utm_term}&utm_content=new member" | |
else | |
redirect_to "/#{@city.slug}/signup?utm_source=user&utm_term=#{utm_term}&utm_content=new member" | |
end | |
end | |
end | |
def invite_deal | |
######################################### | |
## Deal specific links | |
######################################### | |
(return redirect_to :controller=>"cities", :action => 'index') if(params[:code].blank? || params[:deal_id].blank? || params[:code].length < 6) # code-length should be 6 or greater | |
str_code = params[:code] | |
utm_medium = str_code[-1,1] | |
utm_term = str_code[0..-2] | |
if @user | |
#redirect_to :controller=>"cities", :action => 'show', :city => @city.to_param, :deal_id => params[:deal_id].to_param, :code => params[:code].to_param | |
@user.add_referel(params[:code], params[:deal_id]) | |
if utm_medium != "K" | |
redirect_to "/#{@city.slug}/deals/#{params[:deal_id]}?utm_source=user&utm_medium=#{utm_medium}&utm_term=#{utm_term}&utm_content=existing member" | |
else | |
redirect_to "/#{@city.slug}/deals/#{params[:deal_id]}?utm_source=user&utm_term=#{utm_term}&utm_content=existing member" | |
end | |
else | |
session["code"] = params[:code] | |
session["deal_id"] = params[:deal_id] | |
if utm_medium != "K" | |
redirect_to "/cities/signup?utm_source=user&utm_medium=#{utm_medium}&utm_term=#{utm_term}&utm_content=new member" | |
else | |
redirect_to "/cities/signup?utm_source=user&utm_term=#{utm_term}&utm_content=new member" | |
end | |
end | |
end | |
def invite_competition | |
######################################### | |
## competition links | |
######################################### | |
(return redirect_to :controller=>"competition", :action => 'competition_index') if(params[:code].blank? || params[:code].length < 6) # code-length should be 6 or greater | |
str_code = params[:code] | |
utm_medium = str_code[-1,1] | |
if utm_medium == 'F' | |
utm_medium = 'facebook' | |
elsif utm_medium == 'T' | |
utm_medium = 'twitter' | |
else | |
utm_medium = 'email' | |
end | |
utm_term = str_code[0..-2] | |
utm_campaign = params[:partner_id] | |
@content = get_competition(params[:partner_id]) | |
utm_term = @content.start_time.strftime("%d%b%y") | |
if @user | |
#@user.add_referel(params[:code]) | |
#if utm_medium != "K" | |
# redirect_to :controller=>"competition", :action => 'competition_error', :city => @city.to_param, :utm_source => "user", :utm_medium => utm_medium.to_param, :utm_term => utm_term.to_param, :utm_content => "existing member" | |
#else | |
# redirect_to :controller=>"competition", :action => 'competition_error', :city => @city.to_param, :utm_source => "user", :utm_term => utm_term.to_param, :utm_content => "existing member" | |
#end | |
#redirect_to :controller=>"competition", :action => 'competition_error', :city => @city.to_param, :partner_id => params[:partner_id] , :utm_source => "user", :utm_medium => utm_medium.to_param, :utm_term => utm_term.to_param, :utm_content => "existing member" | |
redirect_to city_competition_error_url( | |
params[:partner_id], | |
:utm_source => "user", | |
:utm_campaign => utm_campaign, | |
:utm_medium => utm_medium, | |
:utm_term => utm_term | |
) | |
else | |
# when user is not logged in | |
session["code"] = str_code | |
redirect_to city_competition_url( | |
params[:partner_id], | |
:utm_source => "user", | |
:utm_campaign => utm_campaign, | |
:utm_medium => utm_medium, | |
:utm_term => utm_term | |
) | |
#if utm_medium != "K" | |
# redirect_to "/#{@city.slug}/signup?utm_source=user&utm_medium=#{utm_medium}&utm_term=#{utm_term}&utm_content=new member" | |
#else | |
# redirect_to "/#{@city.slug}/signup?utm_source=user&utm_term=#{utm_term}&utm_content=new member" | |
#end | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment