mirror of
https://github.com/neocities/neocities.git
synced 2025-04-25 01:32:36 +02:00
delete returns to directory user was in
This commit is contained in:
parent
704011a1c0
commit
e08a1362e1
2 changed files with 21 additions and 3 deletions
|
@ -87,9 +87,12 @@ end
|
|||
post '/site_files/delete' do
|
||||
require_login
|
||||
current_site.delete_file params[:filename]
|
||||
|
||||
flash[:success] = "Deleted #{params[:filename]}."
|
||||
redirect '/dashboard'
|
||||
|
||||
dirname = Pathname(params[:filename]).dirname
|
||||
dir_query = dirname.nil? || dirname.to_s == '.' ? '' : "?dir=#{Rack::Utils.escape dirname}"
|
||||
|
||||
redirect "/dashboard#{dir_query}"
|
||||
end
|
||||
|
||||
get '/site_files/:username.zip' do |username|
|
||||
|
|
|
@ -32,7 +32,7 @@ describe 'site_files' do
|
|||
SiteFile[site_id: @site.id, path: 'test.jpg'].must_be_nil
|
||||
end
|
||||
|
||||
it 'deletes all files in a directory' do
|
||||
it 'deletes a directory and all files in it' do
|
||||
upload(
|
||||
'dir' => 'test',
|
||||
'files[]' => Rack::Test::UploadedFile.new('./tests/files/test.jpg', 'image/jpeg')
|
||||
|
@ -45,6 +45,21 @@ describe 'site_files' do
|
|||
@site.site_files.select {|f| f.path =~ /^test\//}.length.must_equal 0
|
||||
@site.site_files.select {|f| f.path =~ /^test/}.length.must_equal 1
|
||||
end
|
||||
|
||||
it 'goes back to deleting directory' do
|
||||
upload(
|
||||
'dir' => 'test',
|
||||
'files[]' => Rack::Test::UploadedFile.new('./tests/files/test.jpg', 'image/jpeg')
|
||||
)
|
||||
delete_file filename: 'test/test.jpg'
|
||||
last_response.headers['Location'].must_equal "http://example.org/dashboard?dir=test"
|
||||
|
||||
upload(
|
||||
'files[]' => Rack::Test::UploadedFile.new('./tests/files/test.jpg', 'image/jpeg')
|
||||
)
|
||||
delete_file filename: 'test.jpg'
|
||||
last_response.headers['Location'].must_equal "http://example.org/dashboard"
|
||||
end
|
||||
end
|
||||
|
||||
describe 'upload' do
|
||||
|
|
Loading…
Add table
Reference in a new issue