caboose-cms 0.7.70 → 0.7.71

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 94e48a620f536176ccf6ee33e90e59b8331c752d
4
- data.tar.gz: 7dc5ab55f600522400b39c22979643e23ebbc94b
3
+ metadata.gz: 7ef12fa6392d39fa4faf8be10245f0e0532ce088
4
+ data.tar.gz: 49253e331627337f49c57c13cb38663876b2d89f
5
5
  SHA512:
6
- metadata.gz: a5127d554da77f633376092e414714fc973f7e1a16f079b371e267e2beefc3725b2c1938dd5fc3f6469e485f1e39a3cea3394654260541351e31ede0cbfb34c7
7
- data.tar.gz: 2f223ec65ff19aa7e7098b6d7b64d2e12fe3353633122d57f8fd1088a1b01960a252a2d8e8c27b37710d0d79b365780950aa663ee55e3122a36cd59a6fe7d13a
6
+ metadata.gz: 4a7973212ed78b8282de7dceece1989b2e6efa373b2946657c4f16bfc0674fce4c3111e95b09c63ae53c41e32c0a4d8d3ad4f34b0b84e219affa6407d904ad4a
7
+ data.tar.gz: d6224a2867094144f871a41eaf098275777082fbf63b3fa39363456e9a81f1c650042fbb0aa98413503daae333ca15a31ad02fa427f6aa5e2f48ecc2d039cdd0
@@ -83,7 +83,8 @@ MediaController.prototype = {
83
83
  type: 'post',
84
84
  data: {
85
85
  media_category_id: that.cat_id,
86
- name: file.name
86
+ name: file.name,
87
+ file_type: file.type
87
88
  },
88
89
  success: function(resp) {},
89
90
  async: false
@@ -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
@@ -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
- image_extensions = ['.jpg', '.jpeg', '.gif', '.png', '.tif']
52
- ext = File.extname(key).downcase
53
- mimetype = Caboose::Mimetype.mimetype_for_extension(ext)
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 = mimetype if mimetype
57
+ self.image_content_type = content_type
57
58
  else
58
59
  self.file = URI.parse(uri)
59
- self.file_content_type = mimetype if mimetype
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
- bucket = config['bucket']
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
- bucket = config['bucket']
98
- ext = File.extname(self.image_file_name)[1..-1]
99
- has_attached_file :file, :path => ':caboose_prefixmedia/:id_:media_name.:extension'
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
@@ -1,3 +1,3 @@
1
1
  module Caboose
2
- VERSION = '0.7.70'
2
+ VERSION = '0.7.71'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: caboose-cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.70
4
+ version: 0.7.71
5
5
  platform: ruby
6
6
  authors:
7
7
  - William Barry