add ability to restore deleted sites

This commit is contained in:
Kyle Drake 2017-06-03 23:43:05 -07:00
parent c4e307fcf1
commit c9ba1cf0f4
6 changed files with 96 additions and 10 deletions

View file

@ -1,7 +1,7 @@
get '/signin/?' do
dashboard_if_signed_in
@title = 'Sign In'
erb :'signin'
erb :'signin/index'
end
post '/signin' do
@ -16,6 +16,11 @@ post '/signin' do
redirect '/signin'
end
if site.is_deleted
session[:deleted_site_id] = site.id
redirect '/signin/restore'
end
session[:id] = site.id
redirect '/'
else
@ -25,6 +30,33 @@ post '/signin' do
end
end
get '/signin/restore' do
redirect '/' unless session[:deleted_site_id]
@site = Site[session[:deleted_site_id]]
redirect '/' if @site.nil?
erb :'signin/restore'
end
get '/signin/cancel_restore' do
session[:deleted_site_id] = nil
flash[:success] = 'Site restore was cancelled.'
redirect '/'
end
post '/signin/restore' do
redirect '/' unless session[:deleted_site_id]
@site = Site[session[:deleted_site_id]]
session[:deleted_site_id] = nil
if @site.undelete!
session[:id] = @site.id
else
flash[:error] = "Sorry, we cannot restore this account."
end
redirect '/'
end
get '/signin/:username' do
require_login
@site = Site[username: params[:username]]