From 13c42e8d6b03109477c25fb0fbe4837259178bc0 Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Wed, 13 Jul 2016 22:41:39 +0200 Subject: [PATCH 1/8] Adding package version to current screenshot upload --- app/controllers/packages_controller.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/controllers/packages_controller.rb b/app/controllers/packages_controller.rb index 410fc8a..c4f180b 100644 --- a/app/controllers/packages_controller.rb +++ b/app/controllers/packages_controller.rb @@ -33,6 +33,7 @@ class PackagesController < ApplicationController if new_screenshot.valid? new_screenshot.uploaderhash = session[:token] new_screenshot.uploaderip = session[:ip] + new_screenshot.version = @package.version new_screenshot.save successful_upload_count += 1 Log.log "Screenshot #{new_screenshot.id} uploaded successfully." @@ -68,6 +69,7 @@ class PackagesController < ApplicationController if new_screenshot.valid? # new_screenshot.uploaderhash = session[:token] new_screenshot.uploaderip = session[:ip] + new_screenshot.version = @package.version new_screenshot.save Log.log "Screenshot #{new_screenshot.id} uploaded successfully from legacy upload form." redirect_to package_path(params[:packagename]) From f20e53ea6f0d790ba4513baa1b476cdd107d4672 Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Wed, 13 Jul 2016 22:43:59 +0200 Subject: [PATCH 2/8] find! does not exist - using find --- app/controllers/packages_controller.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/controllers/packages_controller.rb b/app/controllers/packages_controller.rb index e2269aa..b09c92a 100644 --- a/app/controllers/packages_controller.rb +++ b/app/controllers/packages_controller.rb @@ -83,7 +83,7 @@ class PackagesController < ApplicationController def delete_screenshot # Is the user allowed to delete the screenshot? - @screenshot = Screenshot.find!(params[:id]) + @screenshot = Screenshot.find(params[:id]) if user_can_alter_screenshot? @screenshot.destroy @@ -95,7 +95,7 @@ class PackagesController < ApplicationController end def approve_screenshot - @screenshot = Screenshot.find!(params[:id]) + @screenshot = Screenshot.find(params[:id]) @screenshot.approve_screenshot! flash['notice'] = "Screenshot approved." redirect_to :back @@ -162,7 +162,7 @@ class PackagesController < ApplicationController # Receives a form with a simple text field 'description' so that users can update # the description of their screenshot. def update_screenshot_description - @screenshot = Screenshot.find!(params[:id]) + @screenshot = Screenshot.find(params[:id]) @screenshot.description = params[:description] @screenshot.save! flash['notice'] = "Description updated." @@ -171,7 +171,7 @@ class PackagesController < ApplicationController # Receive an anonymous report from a user to have a screenshot removed. def report_screenshot - @screenshot = Screenshot.find!(params[:id]) + @screenshot = Screenshot.find(params[:id]) @screenshot.delete_reason = params[:delete_reason] @screenshot.markedfordelete = true @screenshot.save! From 4fb322a25d1867f1a211a9a41a9340c20db994af Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Wed, 13 Jul 2016 22:44:12 +0200 Subject: [PATCH 3/8] Extra whitespace removed --- app/models/log.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/log.rb b/app/models/log.rb index 0eec7a7..36d9b9c 100644 --- a/app/models/log.rb +++ b/app/models/log.rb @@ -5,7 +5,7 @@ class Log < ActiveRecord::Base validates :section, presence: true validates :section, inclusion: { in: ['importer', 'upload', 'frontend'] } - + validates :level, presence: true validates :level, inclusion: { in: ['info', 'error'] } From 2b9b87c48621aacb47176dc4aa84f269416ff327 Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Wed, 13 Jul 2016 22:44:34 +0200 Subject: [PATCH 4/8] Properly formatting image caption --- app/views/packages/details.slim | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/views/packages/details.slim b/app/views/packages/details.slim index 0a0bd89..33c6cc0 100644 --- a/app/views/packages/details.slim +++ b/app/views/packages/details.slim @@ -13,14 +13,14 @@ .text-center a.black.fancybox href=screenshot.image.url(:large, timestamp: false) rel='fancybox-thumb' title=screenshot.caption = image_tag(screenshot.image.url(:large, timestamp: false), alt: screenshot.caption) - div - - if screenshot.description - .imgcaption =screenshot.description - - if screenshot.version.present? - em.imgcaption - '(from version #{screenshot.version}) - - if user_signed_in? - em.imgcaption Admin status: #{screenshot.adminstatus} + - if screenshot.description + .imgcaption =screenshot.description + - if screenshot.version.present? + .imgcaption + em from version #{screenshot.version} + - if user_signed_in? + .imgcaption + em Admin status: #{screenshot.adminstatus} // Is the user an admin? - if user_signed_in? From 0f88c130252609646a78f34844cb008f437756fd Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Wed, 13 Jul 2016 22:56:59 +0200 Subject: [PATCH 5/8] Legacy thumbnail-404 and screenshot-404 URLs added --- config/routes.rb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/routes.rb b/config/routes.rb index fc0a048..bc69a26 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -28,8 +28,10 @@ Debshots::Application.routes.draw do get 'approve_screenshot/:id' => 'packages#approve_screenshot', as: :approve_screenshot get 'about' => 'welcome#about' get 'thumbnail/:name' => 'packages#thumbnail', as: :thumbnail_image, name: /[^\/]+/ + get 'thumbnail-404/:name' => 'packages#thumbnail', as: :thumbnail_image, name: /[^\/]+/ get 'thumbnail-with-version/:name/:version' => 'packages#thumbnail', name: /[^\/]+/, version: /\S+/ get 'screenshot/:name' => 'packages#screenshot', as: :screenshot_image, name: /[^\/]+/ + get 'screenshot-404/:name' => 'packages#screenshot', as: :screenshot_image, name: /[^\/]+/ get 'screenshot-with-version/:name/:version' => 'packages#screenshot', name: /[^\/]+/, version: /\S+/ # Legacy URLs From 854b6d1390c1bc5533b83734879acbb4d46fe069 Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Wed, 13 Jul 2016 22:59:41 +0200 Subject: [PATCH 6/8] Accidentally named to paths equally. Fixed. --- config/routes.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/routes.rb b/config/routes.rb index bc69a26..a5c7eda 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -28,10 +28,10 @@ Debshots::Application.routes.draw do get 'approve_screenshot/:id' => 'packages#approve_screenshot', as: :approve_screenshot get 'about' => 'welcome#about' get 'thumbnail/:name' => 'packages#thumbnail', as: :thumbnail_image, name: /[^\/]+/ - get 'thumbnail-404/:name' => 'packages#thumbnail', as: :thumbnail_image, name: /[^\/]+/ + get 'thumbnail-404/:name' => 'packages#thumbnail', name: /[^\/]+/ get 'thumbnail-with-version/:name/:version' => 'packages#thumbnail', name: /[^\/]+/, version: /\S+/ get 'screenshot/:name' => 'packages#screenshot', as: :screenshot_image, name: /[^\/]+/ - get 'screenshot-404/:name' => 'packages#screenshot', as: :screenshot_image, name: /[^\/]+/ + get 'screenshot-404/:name' => 'packages#screenshot', name: /[^\/]+/ get 'screenshot-with-version/:name/:version' => 'packages#screenshot', name: /[^\/]+/, version: /\S+/ # Legacy URLs From 29867287a5dfd2fe65c7e89b097f3b05c050fef4 Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Wed, 13 Jul 2016 23:31:24 +0200 Subject: [PATCH 7/8] Regexp for screenshot/thumbnail-with-version fixed --- config/routes.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/routes.rb b/config/routes.rb index a5c7eda..a940968 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -29,10 +29,10 @@ Debshots::Application.routes.draw do get 'about' => 'welcome#about' get 'thumbnail/:name' => 'packages#thumbnail', as: :thumbnail_image, name: /[^\/]+/ get 'thumbnail-404/:name' => 'packages#thumbnail', name: /[^\/]+/ - get 'thumbnail-with-version/:name/:version' => 'packages#thumbnail', name: /[^\/]+/, version: /\S+/ + get 'thumbnail-with-version/:name/:version' => 'packages#thumbnail', name: /[^\/]+/, version: /\d.*/ get 'screenshot/:name' => 'packages#screenshot', as: :screenshot_image, name: /[^\/]+/ get 'screenshot-404/:name' => 'packages#screenshot', name: /[^\/]+/ - get 'screenshot-with-version/:name/:version' => 'packages#screenshot', name: /[^\/]+/, version: /\S+/ + get 'screenshot-with-version/:name/:version' => 'packages#screenshot', name: /[^\/]+/, version: /\d.*/ # Legacy URLs get 'with_screenshots', to: redirect('/packages?show=with') From 8137dc788d784a11d968f8e1601fdbbb5308bdb0 Mon Sep 17 00:00:00 2001 From: Christoph Haas Date: Wed, 13 Jul 2016 23:46:27 +0200 Subject: [PATCH 8/8] Making version comparison more error-resilient --- app/models/package.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/package.rb b/app/models/package.rb index 2af10ea..bdb93fb 100644 --- a/app/models/package.rb +++ b/app/models/package.rb @@ -71,8 +71,8 @@ class Package < ActiveRecord::Base private def version_compare(x,y) - x ||= '0' - y ||= '0' + x = '0' unless x.present? + y = '0' unless y.present? version_x = DebImporter::Version.new(x) version_y = DebImporter::Version.new(y) if version_x