Obfuscate documentable and imageable file names.
This commit is contained in:
@@ -1,7 +1,9 @@
|
|||||||
class Document < ActiveRecord::Base
|
class Document < ActiveRecord::Base
|
||||||
include DocumentsHelper
|
include DocumentsHelper
|
||||||
include DocumentablesHelper
|
include DocumentablesHelper
|
||||||
has_attached_file :attachment, path: ":rails_root/public/system/:class/:prefix/:style/:filename"
|
has_attached_file :attachment, path: ":rails_root/public/system/:class/:prefix/:style/:hash.:extension",
|
||||||
|
url: "/system/:class/:prefix/:style/:hash.:extension",
|
||||||
|
hash_secret: Rails.application.secrets.secret_key_base
|
||||||
attr_accessor :cached_attachment
|
attr_accessor :cached_attachment
|
||||||
|
|
||||||
belongs_to :user
|
belongs_to :user
|
||||||
|
|||||||
@@ -8,8 +8,9 @@ class Image < ActiveRecord::Base
|
|||||||
ACCEPTED_CONTENT_TYPE = %w(image/jpeg image/jpg)
|
ACCEPTED_CONTENT_TYPE = %w(image/jpeg image/jpg)
|
||||||
|
|
||||||
has_attached_file :attachment, styles: { large: "x#{MIN_SIZE}", medium: "300x300#", thumb: "140x245#" },
|
has_attached_file :attachment, styles: { large: "x#{MIN_SIZE}", medium: "300x300#", thumb: "140x245#" },
|
||||||
path: ":rails_root/public/system/:class/:prefix/:style/:filename",
|
path: ":rails_root/public/system/:class/:prefix/:style/:hash.:extension",
|
||||||
url: "/system/:class/:prefix/:style/:filename"
|
url: "/system/:class/:prefix/:style/:hash.:extension",
|
||||||
|
hash_secret: Rails.application.secrets.secret_key_base
|
||||||
attr_accessor :cached_attachment
|
attr_accessor :cached_attachment
|
||||||
|
|
||||||
belongs_to :user
|
belongs_to :user
|
||||||
|
|||||||
@@ -251,7 +251,7 @@ shared_examples "documentable" do |documentable_factory_name, documentable_path,
|
|||||||
|
|
||||||
attach_document("spec/fixtures/files/empty.pdf", true)
|
attach_document("spec/fixtures/files/empty.pdf", true)
|
||||||
|
|
||||||
expect(page).to have_css("input[name='document[cached_attachment]'][value$='empty.pdf']", visible: false)
|
expect(page).to have_css("input[name='document[cached_attachment]'][value$='.pdf']", visible: false)
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Should not show 'Choose document' button after valid upload", :js do
|
scenario "Should not show 'Choose document' button after valid upload", :js do
|
||||||
|
|||||||
@@ -211,7 +211,7 @@ shared_examples "imageable" do |imageable_factory_name, imageable_path, imageabl
|
|||||||
|
|
||||||
attach_image("spec/fixtures/files/clippy.jpg", true)
|
attach_image("spec/fixtures/files/clippy.jpg", true)
|
||||||
|
|
||||||
expect(page).to have_css("input[name='image[cached_attachment]'][value$='clippy.jpg']", visible: false)
|
expect(page).to have_css("input[name='image[cached_attachment]'][value$='.jpg']", visible: false)
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Should not update image cached_attachment field after invalid file upload", :js do
|
scenario "Should not update image cached_attachment field after invalid file upload", :js do
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ shared_examples "nested documentable" do |documentable_factory_name, path, docum
|
|||||||
|
|
||||||
documentable_attach_new_file(documentable_factory_name, 0, "spec/fixtures/files/empty.pdf")
|
documentable_attach_new_file(documentable_factory_name, 0, "spec/fixtures/files/empty.pdf")
|
||||||
|
|
||||||
expect(page).to have_css("input[name='#{documentable_factory_name}[documents_attributes][0][cached_attachment]'][value$='empty.pdf']", visible: false)
|
expect(page).to have_css("input[name='#{documentable_factory_name}[documents_attributes][0][cached_attachment]'][value$='.pdf']", visible: false)
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Should not update document cached_attachment field after unvalid file upload", :js do
|
scenario "Should not update document cached_attachment field after unvalid file upload", :js do
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ shared_examples "nested imageable" do |imageable_factory_name, path, imageable_p
|
|||||||
|
|
||||||
imageable_attach_new_file(imageable_factory_name, "spec/fixtures/files/clippy.jpg")
|
imageable_attach_new_file(imageable_factory_name, "spec/fixtures/files/clippy.jpg")
|
||||||
|
|
||||||
expect(page).to have_selector("input[name='#{imageable_factory_name}[image_attributes]cached_attachment'][value$='clippy.jpg']", visible: false)
|
expect(page).to have_selector("input[name='#{imageable_factory_name}[image_attributes]cached_attachment'][value$='.jpg']", visible: false)
|
||||||
end
|
end
|
||||||
|
|
||||||
scenario "Should not update image cached_attachment field after unvalid file upload", :js do
|
scenario "Should not update image cached_attachment field after unvalid file upload", :js do
|
||||||
|
|||||||
Reference in New Issue
Block a user