mirror of
https://github.com/neocities/neocities.git
synced 2025-08-05 17:18:02 +02:00
implement plan code
This commit is contained in:
parent
138725d00b
commit
1031324920
17 changed files with 266 additions and 114 deletions
54
app.rb
54
app.rb
|
@ -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
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue