jam-cloud/web/app/controllers/landings_controller.rb

480 lines
15 KiB
Ruby

class LandingsController < ApplicationController
include LandingsHelper
respond_to :html
before_filter :posa_http_basic_auth, only: [:posa_activation]
def watch_bands
@promo_buzz = PromoBuzz.active
if Rails.application.config.use_promos_on_homepage
@promo_latest = PromoLatest.active
else
@promo_latest, start = Feed.index(nil, limit: 10)
end
page = params['p'].to_i
if page == 2
render 'watch_bands_2', layout: 'web'
elsif page == 3
render 'watch_bands_3', layout: 'web'
else
render 'watch_bands_1', layout: 'web'
end
end
def watch_overview_kick
render 'watch_kick', layout: 'web'
end
def watch_overview_kick2
render 'watch_kick_2', layout: 'web'
end
def watch_overview_kick3
render 'watch_kick_3', layout: 'web'
end
def watch_overview_kick4
render 'watch_kick_4', layout: 'web'
end
def watch_overview
@promo_buzz = PromoBuzz.active
if Rails.application.config.use_promos_on_homepage
@promo_latest = PromoLatest.active
else
@promo_latest, start = Feed.index(nil, limit: 10)
end
page = params['p'].to_i
if page == 2
render 'watch_overview_2', layout: 'web'
elsif page == 3
render 'watch_overview_3', layout: 'web'
else
render 'watch_overview_1', layout: 'web'
end
end
def watch_bands_tight
render 'watch_bands_tight', layout: 'web'
end
def watch_overview_tight
render 'watch_overview_tight', layout: 'web'
end
def jam_class_students
enable_olark
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@show_after_black_bar_border = true
@free = false
package_name = params['utm-teachers']
if package_name
package = TestDrivePackage.find_by_name(package_name)
if package
package_data = {}
package_data[:id] = package.id
package_data[:name] = package.name
package_data[:package_type] = package.package_type
teachers = []
package.test_drive_package_teachers.each do |package_teacher|
teacher = package_teacher.user
teachers.push({id: teacher.id, name: teacher.name, first_name: teacher.first_name,last_name: teacher.last_name, biography: teacher.teacher.short_bio, photo_url: teacher.photo_url})
end
package_data[:teachers] = teachers
@package_data = package_data
end
end
@page_data = {free: @free, package: @package_data}
render 'jam_class_students', layout: 'web'
end
def jam_class_students_free
enable_olark
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@show_after_black_bar_border = true
@free = true
@page_data = {free: @free}
render 'jam_class_students', layout: 'web'
end
def jam_class_teachers
enable_olark
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@show_after_black_bar_border = true
render 'jam_class_teachers', layout: 'web'
end
def jam_class_affiliates
enable_olark
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@show_after_black_bar_border = true
render 'jam_class_affiliates', layout: 'web'
end
def jam_class_schools
enable_olark
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@show_after_black_bar_border = true
render 'jam_class_schools', layout: 'web'
end
def jam_class_education
enable_olark
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@show_after_black_bar_border = true
render 'jam_class_education', layout: 'web'
end
def jam_class_retailers
enable_olark
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@show_after_black_bar_border = true
render 'jam_class_retailers', layout: 'web'
end
def individual_jamtrack
enable_olark
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@show_after_black_bar_border = true
instrument_id = nil
instrument_name = nil
instrument_count = 0
if params[:instrument]
instrument = params[:instrument].downcase.sub('-', ' ')
instrument = Instrument.find_by_id(instrument)
instrument_id = instrument.id if instrument
instrument_name = instrument .description
query, next_ptr, instrument_count = JamTrack.index({instrument: instrument_id}, current_user)
end
@jam_track = JamTrack.find_by_slug(params[:plan_code])
@jam_track = JamTrack.find_by_plan_code("jamtrack-" + params[:plan_code]) unless @jam_track
if @jam_track.nil?
redirect_to '/client/#jamtrack'
return
end
band_jam_track_count = @jam_track.band_jam_track_count
jam_track_count = JamTrack.count
@title = individual_jamtrack_title(false, params[:generic], @jam_track)
@description = individual_jamtrack_desc(false, params[:generic], @jam_track)
@page_data = {jam_track: @jam_track, all_track_count: jam_track_count, band_track_count: band_jam_track_count, band: false, generic: params[:generic], instrument: instrument_name, instrument_id: instrument_id, instrument_count: instrument_count}
gon.jam_track_plan_code = @jam_track.plan_code if @jam_track
gon.generic = params[:generic]
gon.instrument_id = instrument_id
gon.env = Rails.env
render 'individual_jamtrack', layout: 'web'
end
def individual_jamtrack_band
enable_olark
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@show_after_black_bar_border = true
@jam_track = JamTrack.find_by_slug(params[:plan_code])
@jam_track = JamTrack.find_by_plan_code("jamtrack-" + params[:plan_code]) unless @jam_track
if @jam_track.nil?
redirect_to '/client/#jamtrack'
return
end
band_jam_track_count = @jam_track.band_jam_track_count
jam_track_count = JamTrack.count
@title = individual_jamtrack_title(true, params[:generic], @jam_track)
@description = individual_jamtrack_desc(true, params[:generic], @jam_track)
@page_data = {jam_track: @jam_track, all_track_count: jam_track_count, band_track_count: band_jam_track_count, band: true, generic: params[:generic]}
gon.jam_track_plan_code = @jam_track.plan_code if @jam_track
gon.generic = params[:generic]
render 'individual_jamtrack', layout: 'web'
end
def individual_jamtrack_v2
@no_landing_tag = true
instrument_id = nil
instrument_name = nil
instrument_count = 0
if params[:instrument]
instrument = params[:instrument].downcase.sub('-', ' ')
instrument = Instrument.find_by_id(instrument)
instrument_id = instrument.id if instrument
instrument_name = instrument.description
query, next_ptr, instrument_count = JamTrack.index({instrument: instrument_id}, current_user)
end
@jam_track = JamTrack.find_by_slug(params[:plan_code])
@jam_track = JamTrack.find_by_plan_code("jamtrack-" + params[:plan_code]) unless @jam_track
band_jam_track_count = @jam_track.band_jam_track_count
jam_track_count = JamTrack.count
@title = individual_jamtrack_title(false, params[:generic], @jam_track)
@description = individual_jamtrack_desc(false, params[:generic], @jam_track)
@page_data = {jam_track: @jam_track, all_track_count: jam_track_count, band_track_count: band_jam_track_count, band: false, generic: params[:generic], instrument: instrument_name, instrument_id: instrument_id, instrument_count: instrument_count}
gon.jam_track_plan_code = @jam_track.plan_code if @jam_track
gon.generic = params[:generic]
gon.instrument_id = instrument_id
render 'individual_jamtrack_v2', layout: 'web'
end
def individual_jamtrack_band_v2
@no_landing_tag = true
@jam_track = JamTrack.find_by_slug(params[:plan_code])
@jam_track = JamTrack.find_by_plan_code("jamtrack-" + params[:plan_code]) unless @jam_track
band_jam_track_count = @jam_track.band_jam_track_count
jam_track_count = JamTrack.count
@title = individual_jamtrack_title(true, params[:generic], @jam_track)
@description = individual_jamtrack_desc(true, params[:generic], @jam_track)
@page_data = {jam_track: @jam_track, all_track_count: jam_track_count, band_track_count: band_jam_track_count, band: true, generic: params[:generic]}
gon.jam_track_plan_code = @jam_track.plan_code if @jam_track
gon.generic = params[:generic]
render 'individual_jamtrack_v2', layout: 'web'
end
def individual_jamtrack_v1
@no_landing_tag = true
@show_cta_free_jamtrack = true
@jam_track = JamTrack.find_by_plan_code("jamtrack-" + params[:plan_code])
gon.jam_track_plan_code = params[:plan_code] ? "jamtrack-" + params[:plan_code] : nil
gon.generic = params[:generic]
render 'individual_jamtrack_v1', layout: 'web'
end
def individual_jamtrack_band_v1
@no_landing_tag = true
@show_cta_free_jamtrack = true
@jam_track = JamTrack.find_by_plan_code("jamtrack-" + params[:plan_code])
gon.jam_track_plan_code = params[:plan_code] ? "jamtrack-" + params[:plan_code] : nil
render 'individual_jamtrack_band_v1', layout: 'web'
end
def product_jamblaster
enable_olark
render 'product_jamblaster', layout: 'web'
end
def product_platform
enable_olark
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@show_after_black_bar_border = true
render 'product_platform', layout: 'web'
end
def product_jamtracks
enable_olark
gon.generic = true
gon.just_previews = true
jam_track = JamTrack.select('plan_code').where(plan_code: Rails.application.config.nominated_jam_track).first
unless jam_track
jam_track = JamTrack.first
end
gon.jam_track_plan_code = jam_track.plan_code if jam_track
render 'product_jamtracks', layout: 'web'
end
def affiliate_program
render 'affiliate_program', layout: 'web'
end
def redeem_giftcard
@no_landing_tag = true
@landing_tag_play_learn_earn = true
render 'redeem_giftcard', layout: 'web'
end
def account_activate
@no_landing_tag = true
@landing_tag_play_learn_earn = true
render 'account_activate', layout: 'web'
end
def buy_gift_card
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@show_after_black_bar_border = true
@jam_track = JamTrack.find_by_slug('elton-john-rocket-man')
@jam_track = JamTrack.first unless @jam_track
instrument_id = nil
instrument_name = nil
instrument_count = 0
band_jam_track_count = @jam_track.band_jam_track_count
jam_track_count = JamTrack.count
@title = individual_jamtrack_title(false, params[:generic], @jam_track)
@description = individual_jamtrack_desc(false, params[:generic], @jam_track)
@page_data = {jam_track: @jam_track, all_track_count: jam_track_count, band_track_count: band_jam_track_count, band: false, generic: params[:generic], instrument: instrument_name, instrument_id: instrument_id, instrument_count: instrument_count}
gon.jam_track_plan_code = @jam_track.plan_code if @jam_track
gon.generic = params[:generic]
gon.instrument_id = instrument_id
render 'buy_gift_card', layout: 'web'
end
def school_student_register
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@school = School.find_by_id(params[:id])
if @school.nil?
redirect_to '/signup'
return
end
@title = 'Become a student with ' + @school.name
@description = "Using JamKazam, take online lessons with the music school " + @school.name
@preview = !params[:preview].nil?
@invitation = SchoolInvitation.find_by_invitation_code(params[:invitation_code]) if params[:invitation_code]
defaultEmail = ''
if @invitation
defaultEmail = @invitation.email
end
@page_data = {school: @school, invitation_code: params[:invitation_code], defaultEmail: defaultEmail, preview: @preview}
render 'school_student_register', layout: 'web'
end
def school_teacher_register
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@school = School.find_by_id(params[:id])
if @school.nil?
redirect_to '/signup'
return
end
@title = 'Become a teacher with ' + @school.name
@description = "Using JamKazam, teach online lessons with the music school " + @school.name
@preview = !params[:preview].nil?
@invitation = SchoolInvitation.find_by_invitation_code(params[:invitation_code]) if params[:invitation_code]
defaultEmail = ''
if @invitation
defaultEmail = @invitation.email
end
@page_data = {school: @school, invitation_code: params[:invitation_code], defaultEmail: defaultEmail, preview: @preview}
render 'school_teacher_register', layout: 'web'
end
def school_teacher_list
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@school = School.find_by_id(params[:id])
if @school.nil?
redirect_to '/signup'
return
end
@title = 'Our teachers at ' + @school.name
@description = "View the profile and pick a teacher right for you from " + @school.name
@preview = !params[:preview].nil?
@show_approved_only = true
# isn't working. totaly hack:
@school.teachers = @school.approved_teachersL
schoolRabl = Rabl::Renderer.json(@school, 'api_schools/show')
@page_data = {school: @school, preview: @preview, rabl: schoolRabl}
render 'school_teacher_list', layout: 'web'
end
def retailer_teacher_register
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@retailer = Retailer.find_by_id(params[:id])
if @retailer.nil?
redirect_to '/signup'
return
end
@title = 'Become a teacher with ' + @retailer.name
@description = "Using JamKazam, teach online lessons with " + @retailer.name
@preview = !params[:preview].nil?
@invitation = RetailerInvitation.find_by_invitation_code(params[:invitation_code]) if params[:invitation_code]
defaultEmail = ''
if @invitation
defaultEmail = @invitation.email
end
@page_data = {retailer: @retailer, invitation_code: params[:invitation_code], defaultEmail: defaultEmail, preview: @preview}
render 'retailer_teacher_register', layout: 'web'
end
def posa_activation
@no_landing_tag = true
@landing_tag_play_learn_earn = true
@retailer = Retailer.find_by_slug(params[:slug])
if @retailer.nil?
redirect_to '/signup'
return
end
@page_data = {retailer: @retailer, has_teachers: @retailer.teachers.count > 0}
render 'posa_activation', layout: 'web'
end
def simple_jamtracks
@description = 'JamTracks'
@no_landing_tag = true
@landing_tag_play_learn_earn = false
@responsive = true
render 'simple_jamtracks', layout: 'web'
end
def simple_jamclass
@description = 'JamClass'
@no_landing_tag = true
@landing_tag_play_learn_earn = false
@responsive = true
render 'simple_jamclass', layout: 'web'
end
end