mirror of
https://github.com/neocities/neocities.git
synced 2025-07-25 20:08:27 +02:00
add ability to restore deleted sites
This commit is contained in:
parent
c4e307fcf1
commit
c9ba1cf0f4
6 changed files with 96 additions and 10 deletions
|
@ -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]]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue