implement plan code

This commit is contained in:
Kyle Drake 2014-04-18 15:40:08 -07:00
parent 138725d00b
commit 1031324920
No known key found for this signature in database
GPG key ID: 8BE721072E1864BE
17 changed files with 266 additions and 114 deletions

54
app.rb
View file

@ -74,6 +74,12 @@ get '/?' do
erb :index, layout: false
end
get '/site/:username/tip' do |username|
@site = Site[username: username]
@title = "Tip #{@site.title}"
erb :'tip'
end
get '/browse' do
@current_page = params[:current_page]
@current_page = @current_page.to_i
@ -128,22 +134,7 @@ get '/new' do
dashboard_if_signed_in
@site = Site.new
@site.username = params[:username] unless params[:username].nil?
slim :'new'
end
get '/dashboard' do
require_login
erb :'dashboard'
end
get '/signin' do
dashboard_if_signed_in
slim :'signin'
end
get '/settings' do
require_login
slim :'settings'
erb :'new'
end
post '/create' do
@ -160,17 +151,44 @@ post '/create' do
recaptcha_is_valid = ENV['RACK_ENV'] == 'test' || recaptcha_valid?
if @site.valid? && recaptcha_is_valid
@site.save
DB.transaction do
if !params[:stripe_token].nil? && params[:stripe_token] != ''
customer = Stripe::Customer.create(
card: params[:stripe_token],
description: @site.username,
email: @site.email,
plan: params[:selected_plan]
)
@site.stripe_customer_id = customer.id
end
@site.save
end
session[:id] = @site.id
redirect '/dashboard'
else
@site.errors.add :captcha, 'You must type in the two words correctly! Try again.' if !recaptcha_is_valid
slim :'/new'
erb :'/new'
end
end
get '/dashboard' do
require_login
erb :'dashboard'
end
get '/signin' do
dashboard_if_signed_in
slim :'signin'
end
get '/settings' do
require_login
slim :'settings'
end
post '/signin' do
dashboard_if_signed_in