caboose-cms 0.7.70 → 0.7.71
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ef12fa6392d39fa4faf8be10245f0e0532ce088
|
4
|
+
data.tar.gz: 49253e331627337f49c57c13cb38663876b2d89f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4a7973212ed78b8282de7dceece1989b2e6efa373b2946657c4f16bfc0674fce4c3111e95b09c63ae53c41e32c0a4d8d3ad4f34b0b84e219affa6407d904ad4a
|
7
|
+
data.tar.gz: d6224a2867094144f871a41eaf098275777082fbf63b3fa39363456e9a81f1c650042fbb0aa98413503daae333ca15a31ad02fa427f6aa5e2f48ecc2d039cdd0
|
@@ -167,9 +167,15 @@ module Caboose
|
|
167
167
|
media_category_id = params[:media_category_id]
|
168
168
|
original_name = params[:name]
|
169
169
|
name = Caboose::Media.upload_name(original_name)
|
170
|
+
file_type = params[:file_type]
|
171
|
+
if ['image/gif', 'image/jpeg', 'image/png', 'image/tiff'].include? file_type
|
172
|
+
image_content_type = file_type
|
173
|
+
else
|
174
|
+
file_content_type = file_type
|
175
|
+
end
|
170
176
|
m = Media.where(:media_category_id => media_category_id, :original_name => original_name, :name => name).first
|
171
177
|
if m.nil?
|
172
|
-
m = Media.create(:media_category_id => media_category_id, :original_name => original_name, :name => name, :processed => false)
|
178
|
+
m = Media.create(:media_category_id => media_category_id, :original_name => original_name, :name => name, :image_content_type => image_content_type, :file_content_type => file_content_type, :processed => false)
|
173
179
|
end
|
174
180
|
p = Product.where(:media_category_id => media_category_id).last
|
175
181
|
if p
|
data/app/models/caboose/media.rb
CHANGED
@@ -24,7 +24,9 @@ class Caboose::Media < ActiveRecord::Base
|
|
24
24
|
:name,
|
25
25
|
:original_name,
|
26
26
|
:description,
|
27
|
-
:processed
|
27
|
+
:processed,
|
28
|
+
:image_content_type,
|
29
|
+
:file_content_type
|
28
30
|
|
29
31
|
has_attached_file :sample
|
30
32
|
|
@@ -47,20 +49,24 @@ class Caboose::Media < ActiveRecord::Base
|
|
47
49
|
key = "#{self.media_category_id}_#{self.original_name}"
|
48
50
|
key = URI.encode(key.gsub(' ', '+'))
|
49
51
|
uri = "http://#{bucket}.s3.amazonaws.com/#{key}"
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
if image_extensions.include?(ext)
|
52
|
+
|
53
|
+
content_type = self.image_content_type || self.file_content_type
|
54
|
+
|
55
|
+
if is_image?
|
55
56
|
self.image = URI.parse(uri)
|
56
|
-
self.image_content_type =
|
57
|
+
self.image_content_type = content_type
|
57
58
|
else
|
58
59
|
self.file = URI.parse(uri)
|
59
|
-
self.file_content_type =
|
60
|
-
end
|
60
|
+
self.file_content_type = content_type
|
61
|
+
end
|
61
62
|
self.processed = true
|
62
63
|
self.save
|
63
|
-
|
64
|
+
|
65
|
+
# Set the content-type metadata on S3
|
66
|
+
if !is_image?
|
67
|
+
self.set_file_content_type(content_type)
|
68
|
+
end
|
69
|
+
|
64
70
|
# Remember when the last upload processing happened
|
65
71
|
s = Caboose::Setting.where(:site_id => self.media_category.site_id, :name => 'last_upload_processed').first
|
66
72
|
s = Caboose::Setting.create(:site_id => self.media_category.site_id, :name => 'last_upload_processed') if s.nil?
|
@@ -80,7 +86,8 @@ class Caboose::Media < ActiveRecord::Base
|
|
80
86
|
:access_key_id => config['access_key_id'],
|
81
87
|
:secret_access_key => config['secret_access_key']
|
82
88
|
})
|
83
|
-
|
89
|
+
s3 = AWS::S3.new
|
90
|
+
bucket = s3.buckets[config['bucket']]
|
84
91
|
ext = File.extname(self.image_file_name)[1..-1]
|
85
92
|
self.image.styles.each do |style|
|
86
93
|
k = "media/#{self.id}_#{self.name}_#{style}.#{ext}"
|
@@ -94,9 +101,10 @@ class Caboose::Media < ActiveRecord::Base
|
|
94
101
|
:access_key_id => config['access_key_id'],
|
95
102
|
:secret_access_key => config['secret_access_key']
|
96
103
|
})
|
97
|
-
|
98
|
-
|
99
|
-
|
104
|
+
s3 = AWS::S3.new
|
105
|
+
bucket = s3.buckets[config['bucket']]
|
106
|
+
ext = File.extname(self.file_file_name)[1..-1]
|
107
|
+
# has_attached_file :file, :path => ':caboose_prefixmedia/:id_:media_name.:extension'
|
100
108
|
k = "media/#{self.id}_#{self.name}.#{ext}"
|
101
109
|
bucket.objects[k].copy_from(k, :content_type => content_type) # a copy needs to be done to change the content-type
|
102
110
|
end
|
data/lib/caboose/version.rb
CHANGED