mirror of
https://github.com/neocities/neocities.git
synced 2025-04-25 01:32:36 +02:00
move changed count and screenshot logic to model
This commit is contained in:
parent
e01a74421a
commit
a5df2c86cd
2 changed files with 14 additions and 7 deletions
9
app.rb
9
app.rb
|
@ -309,14 +309,9 @@ post '/site_files/upload' do
|
||||||
end
|
end
|
||||||
|
|
||||||
sanitized_filename = params[:newfile][:filename].gsub(/[^a-zA-Z0-9_\-.]/, '')
|
sanitized_filename = params[:newfile][:filename].gsub(/[^a-zA-Z0-9_\-.]/, '')
|
||||||
|
|
||||||
current_site.store_file sanitized_filename, params[:newfile][:tempfile]
|
current_site.store_file sanitized_filename, params[:newfile][:tempfile]
|
||||||
|
current_site.increment_changed_count
|
||||||
if sanitized_filename =~ /index\.html/
|
|
||||||
ScreenshotWorker.perform_async current_site.username
|
|
||||||
current_site.update site_changed: true
|
|
||||||
end
|
|
||||||
|
|
||||||
current_site.update changed_count: 1+current_site.changed_count, updated_at: Time.now
|
|
||||||
|
|
||||||
flash[:success] = "Successfully uploaded file #{sanitized_filename}."
|
flash[:success] = "Successfully uploaded file #{sanitized_filename}."
|
||||||
redirect '/dashboard'
|
redirect '/dashboard'
|
||||||
|
|
|
@ -128,6 +128,18 @@ class Site < Sequel::Model
|
||||||
def store_file(filename, uploaded)
|
def store_file(filename, uploaded)
|
||||||
FileUtils.mv uploaded.path, file_path(filename)
|
FileUtils.mv uploaded.path, file_path(filename)
|
||||||
File.chmod(0640, file_path(filename))
|
File.chmod(0640, file_path(filename))
|
||||||
|
|
||||||
|
if filename =~ /index\.html/
|
||||||
|
ScreenshotWorker.perform_async values[:username]
|
||||||
|
self.site_changed = true
|
||||||
|
save(validate: false)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def increment_changed_count
|
||||||
|
self.changed_count += 1
|
||||||
|
self.updated_at = Time.now
|
||||||
|
save(validate: false)
|
||||||
end
|
end
|
||||||
|
|
||||||
def files_zip
|
def files_zip
|
||||||
|
|
Loading…
Add table
Reference in a new issue