tb_media 1.2.1 → 1.3.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/Rakefile +2 -2
- data/Readme.markdown +3 -19
- data/app/assets/javascripts/admin/media/application.js +2 -2
- data/app/assets/javascripts/admin/media/picker.js +8 -5
- data/app/assets/javascripts/admin/media/plugin.js.erb +86 -81
- data/app/assets/stylesheets/admin/media/application.css.scss +1 -12
- data/app/controllers/admin/media_controller.rb +54 -61
- data/app/controllers/admin/media_picker_controller.rb +8 -16
- data/app/models/spud_media.rb +63 -110
- data/app/views/admin/media/index.html.erb +4 -12
- data/app/views/admin/media/new.html.erb +0 -1
- data/app/views/admin/media_picker/_media.html.erb +2 -7
- data/app/views/admin/media_picker/index.html.erb +1 -2
- data/config/locales/en.yml +0 -1
- data/config/routes.rb +5 -8
- data/db/migrate/20120101194256_create_spud_media.rb +2 -2
- data/db/migrate/20120501203325_add_protected_to_spud_media.rb +1 -2
- data/db/migrate/20120508132153_add_cropping_to_spud_media.rb +1 -1
- data/lib/spud_media/configuration.rb +3 -4
- data/lib/spud_media/content_types.rb +2 -2
- data/lib/spud_media/engine.rb +21 -13
- data/lib/spud_media/version.rb +3 -3
- data/lib/tasks/spud_media_tasks.rake +4 -6
- data/spec/controllers/admin/media_controller_spec.rb +23 -24
- data/spec/dummy/config.ru +1 -1
- data/spec/dummy/config/application.rb +2 -3
- data/spec/dummy/config/boot.rb +1 -1
- data/spec/dummy/config/environments/development.rb +0 -7
- data/spec/dummy/config/environments/test.rb +3 -5
- data/spec/dummy/config/routes.rb +2 -2
- data/spec/dummy/db/migrate/20130904141442_create_spud_users.tb_core.rb +12 -12
- data/spec/dummy/db/migrate/20130904141443_add_time_zone_to_spud_user.tb_core.rb +0 -1
- data/spec/dummy/db/migrate/20130904141444_add_scope_to_spud_admin_permissions.tb_core.rb +0 -1
- data/spec/dummy/db/migrate/20130904141446_create_spud_media.tb_media.rb +1 -1
- data/spec/dummy/db/migrate/20130904141447_add_protected_to_spud_media.tb_media.rb +1 -1
- data/spec/dummy/db/migrate/20130904141448_add_cropping_to_spud_media.tb_media.rb +3 -3
- data/spec/dummy/db/migrate/20151012194531_create_spud_permissions.tb_core.rb +3 -3
- data/spec/dummy/db/migrate/20151012194532_create_spud_role_permissions.tb_core.rb +2 -2
- data/spec/dummy/db/migrate/20151012194534_add_requires_password_change_to_spud_users.tb_core.rb +1 -1
- data/spec/dummy/db/schema.rb +63 -67
- data/spec/dummy/public/system/spud_media/1/cropped/test_img1.png +0 -0
- data/spec/dummy/public/system/spud_media/1/small/test_img1.png +0 -0
- data/spec/dummy/public/system/spud_media/2/cropped/test_img1.png +0 -0
- data/spec/dummy/public/system/spud_media/2/small/test_img1.png +0 -0
- data/spec/dummy/public/system/spud_media/3/cropped/test_img1.png +0 -0
- data/spec/dummy/public/system/spud_media/3/small/test_img1.png +0 -0
- data/spec/dummy/public/system/spud_media/4/cropped/test_img1.png +0 -0
- data/spec/dummy/public/system/spud_media/4/small/test_img1.png +0 -0
- data/spec/dummy/public/system/spud_media/5/cropped/test_img1.png +0 -0
- data/spec/dummy/public/system/spud_media/5/small/test_img1.png +0 -0
- data/spec/dummy/script/rails +2 -2
- data/spec/javascripts/support/jasmine_helper.rb +6 -7
- data/spec/models/spud_media_spec.rb +2 -2
- data/spec/rails_helper.rb +14 -7
- data/spec/spec_helper.rb +42 -44
- metadata +103 -104
- data/app/controllers/protected_media_controller.rb +0 -24
- data/app/helpers/protected_media_helper.rb +0 -3
- data/spec/dummy/public/system/spud_media/1/cropped/test_img1.jpg +0 -0
- data/spec/dummy/public/system/spud_media/2/cropped/test_img1.jpg +0 -0
- data/spec/dummy/public/system/spud_media/3/cropped/test_img1.jpg +0 -0
- data/spec/dummy/public/system/spud_media/4/cropped/test_img1.jpg +0 -0
- data/spec/dummy/public/system/spud_media/5/cropped/test_img1.jpg +0 -0
- data/spec/support/authlogic_helper.rb +0 -2
@@ -1,42 +1,34 @@
|
|
1
1
|
class Admin::MediaPickerController < Admin::ApplicationController
|
2
2
|
|
3
|
-
include RespondsToParent
|
4
|
-
|
5
3
|
layout false
|
6
4
|
respond_to :html
|
7
5
|
|
8
6
|
def index
|
9
|
-
@media = SpudMedia.order('attachment_file_name asc').paginate(:
|
7
|
+
@media = SpudMedia.order('attachment_file_name asc').paginate(page: params[:page], per_page: 30)
|
10
8
|
respond_with @media do |format|
|
11
|
-
format.html
|
9
|
+
format.html do
|
12
10
|
if params[:only_list]
|
13
|
-
render :
|
11
|
+
render partial: 'media', collection: @media
|
14
12
|
else
|
15
13
|
render 'index'
|
16
14
|
end
|
17
|
-
|
15
|
+
end
|
18
16
|
end
|
19
17
|
end
|
20
18
|
|
21
19
|
def create
|
22
20
|
@media = SpudMedia.new(media_params)
|
23
21
|
if @media.save
|
24
|
-
|
25
|
-
render 'create', :status => 200
|
26
|
-
else
|
27
|
-
respond_to_parent do
|
28
|
-
render 'create.js', :status => 200
|
29
|
-
end
|
30
|
-
end
|
22
|
+
render 'create', status: :ok
|
31
23
|
else
|
32
|
-
render :
|
24
|
+
render text: @media.errors.full_messages.first, status: :unprocessable_entity
|
33
25
|
end
|
34
26
|
end
|
35
27
|
|
36
|
-
private
|
28
|
+
private
|
37
29
|
|
38
30
|
def media_params
|
39
|
-
params.require(:spud_media).permit(:attachment_content_type
|
31
|
+
params.require(:spud_media).permit(:attachment_content_type, :attachment_file_name, :attachment_file_size, :attachment, :crop_x, :crop_y, :crop_w, :crop_h, :crop_s)
|
40
32
|
end
|
41
33
|
|
42
34
|
end
|
data/app/models/spud_media.rb
CHANGED
@@ -1,82 +1,75 @@
|
|
1
1
|
class SpudMedia < ActiveRecord::Base
|
2
2
|
|
3
|
-
|
4
|
-
:
|
5
|
-
:
|
6
|
-
:
|
7
|
-
|
8
|
-
|
9
|
-
:
|
10
|
-
|
11
|
-
|
12
|
-
:url => Spud::Media.storage_url,
|
13
|
-
:styles => lambda { |attachment| attachment.instance.dynamic_styles }
|
14
|
-
|
15
|
-
validates_numericality_of :crop_x, :crop_y, :crop_w, :crop_h, :crop_s, :allow_nil => true
|
3
|
+
has_attached_file :attachment,
|
4
|
+
storage: Spud::Media.paperclip_storage,
|
5
|
+
s3_credentials: Spud::Media.s3_credentials,
|
6
|
+
s3_permissions: 'public-read',
|
7
|
+
path: Spud::Media.storage_path,
|
8
|
+
url: Spud::Media.storage_url,
|
9
|
+
styles: ->(attachment) { attachment.instance.dynamic_styles }
|
10
|
+
|
11
|
+
validates :crop_x, :crop_y, :crop_w, :crop_h, :crop_s, numericality: { allow_nil: true }
|
16
12
|
|
17
13
|
extend ActionView::Helpers::NumberHelper
|
18
14
|
|
19
15
|
validates_attachment :attachment,
|
20
|
-
:
|
21
|
-
:
|
22
|
-
:
|
23
|
-
:
|
24
|
-
:
|
25
|
-
:
|
16
|
+
presence: true,
|
17
|
+
content_type: { content_type: Spud::Media::CONTENT_TYPES },
|
18
|
+
size: {
|
19
|
+
less_than: Spud::Media.max_upload_size,
|
20
|
+
message: 'size cannot exceed ' + number_to_human_size(Spud::Media.max_upload_size),
|
21
|
+
if: proc { |_p| Spud::Media.max_upload_size.positive? }
|
26
22
|
}
|
27
23
|
|
28
24
|
before_create :rename_file
|
29
|
-
#after_create :validate_permissions
|
30
|
-
before_update :validate_permissions
|
31
25
|
|
32
26
|
def rename_file
|
33
|
-
#
|
27
|
+
# Remove periods and other unsafe characters from file name to make routing easier
|
34
28
|
extension = File.extname(attachment_file_name)
|
35
29
|
filename = attachment_file_name.chomp(extension).parameterize
|
36
30
|
attachment.instance_write :file_name, filename + extension
|
37
31
|
end
|
38
32
|
|
39
33
|
def image_from_type
|
34
|
+
if is_image?
|
35
|
+
return attachment_url(:small)
|
36
|
+
|
37
|
+
elsif attachment_content_type.blank?
|
38
|
+
return 'admin/files_thumbs/dat_thumb.png'
|
39
|
+
|
40
|
+
elsif attachment_content_type =~ /jpeg|jpg/
|
41
|
+
return 'admin/files_thumbs/jpg_thumb.png'
|
42
|
+
|
43
|
+
elsif attachment_content_type =~ /png/
|
44
|
+
return 'admin/files_thumbs/png_thumb.png'
|
45
|
+
|
46
|
+
elsif attachment_content_type =~ /zip|tar|tar\.gz|gz/
|
47
|
+
return 'admin/files_thumbs/zip_thumb.png'
|
48
|
+
|
49
|
+
elsif attachment_content_type =~ /xls|xlsx/
|
50
|
+
return 'admin/files_thumbs/xls_thumb.png'
|
51
|
+
|
52
|
+
elsif attachment_content_type =~ /doc|docx/
|
53
|
+
return 'admin/files_thumbs/doc_thumb.png'
|
40
54
|
|
41
|
-
|
42
|
-
return
|
43
|
-
|
44
|
-
elsif
|
45
|
-
|
46
|
-
|
47
|
-
elsif
|
48
|
-
|
49
|
-
|
50
|
-
elsif
|
51
|
-
|
52
|
-
|
53
|
-
elsif self.attachment_content_type.match(/zip|tar|tar\.gz|gz/)
|
54
|
-
return "admin/files_thumbs/zip_thumb.png"
|
55
|
-
|
56
|
-
elsif self.attachment_content_type.match(/xls|xlsx/)
|
57
|
-
return "admin/files_thumbs/xls_thumb.png"
|
58
|
-
|
59
|
-
elsif self.attachment_content_type.match(/doc|docx/)
|
60
|
-
return "admin/files_thumbs/doc_thumb.png"
|
61
|
-
|
62
|
-
elsif self.attachment_content_type.match(/ppt|pptx/)
|
63
|
-
return "admin/files_thumbs/ppt_thumb.png"
|
64
|
-
|
65
|
-
elsif self.attachment_content_type.match(/txt|text/)
|
66
|
-
return "admin/files_thumbs/txt_thumb.png"
|
67
|
-
|
68
|
-
elsif self.attachment_content_type.match(/pdf|ps/)
|
69
|
-
return "admin/files_thumbs/pdf_thumb.png"
|
70
|
-
|
71
|
-
elsif self.attachment_content_type.match(/mp3|wav|aac/)
|
72
|
-
return "admin/files_thumbs/mp3_thumb.png"
|
55
|
+
elsif attachment_content_type =~ /ppt|pptx/
|
56
|
+
return 'admin/files_thumbs/ppt_thumb.png'
|
57
|
+
|
58
|
+
elsif attachment_content_type =~ /txt|text/
|
59
|
+
return 'admin/files_thumbs/txt_thumb.png'
|
60
|
+
|
61
|
+
elsif attachment_content_type =~ /pdf|ps/
|
62
|
+
return 'admin/files_thumbs/pdf_thumb.png'
|
63
|
+
|
64
|
+
elsif attachment_content_type =~ /mp3|wav|aac/
|
65
|
+
return 'admin/files_thumbs/mp3_thumb.png'
|
73
66
|
end
|
74
|
-
|
75
|
-
return
|
67
|
+
|
68
|
+
return 'admin/files_thumbs/dat_thumb.png'
|
76
69
|
end
|
77
70
|
|
78
71
|
def is_image?
|
79
|
-
if
|
72
|
+
if attachment_content_type =~ /jpeg|jpg|png/
|
80
73
|
return true
|
81
74
|
else
|
82
75
|
return false
|
@@ -84,7 +77,7 @@ class SpudMedia < ActiveRecord::Base
|
|
84
77
|
end
|
85
78
|
|
86
79
|
def is_pdf?
|
87
|
-
if
|
80
|
+
if attachment_content_type =~ /pdf/
|
88
81
|
return true
|
89
82
|
else
|
90
83
|
return false
|
@@ -97,69 +90,29 @@ class SpudMedia < ActiveRecord::Base
|
|
97
90
|
|
98
91
|
def dynamic_styles
|
99
92
|
styles = {}
|
100
|
-
if is_image?
|
93
|
+
if is_image? # || is_pdf?
|
101
94
|
styles[:small] = '50'
|
102
95
|
if has_custom_crop?
|
103
|
-
styles[:cropped] = {:
|
96
|
+
styles[:cropped] = { geometry: '', convert_options: "-strip -resize #{crop_s}% -crop #{crop_w}x#{crop_h}+#{crop_x}+#{crop_y}" }
|
104
97
|
else
|
105
|
-
styles[:cropped] = {:
|
98
|
+
styles[:cropped] = { geometry: '1280x1280>', convert_options: '-strip -quality 85', source_file_options: '-density 72' }
|
106
99
|
end
|
107
100
|
end
|
108
101
|
return styles
|
109
102
|
end
|
110
103
|
|
111
|
-
|
112
|
-
# protected files need to hit the rails middle-man first
|
113
|
-
# this method will provide the correct url for either case
|
114
|
-
def attachment_url(style=nil)
|
104
|
+
def attachment_url(style = nil)
|
115
105
|
# defaults to cropped style if that style exists, otherwise use original
|
116
|
-
|
117
|
-
|
118
|
-
end
|
119
|
-
if Spud::Media.paperclip_storage == :s3 && is_protected
|
120
|
-
return Paperclip::Interpolations.interpolate(Spud::Media.config.storage_url, attachment, style)
|
121
|
-
else
|
122
|
-
return attachment.url(style)
|
123
|
-
end
|
124
|
-
end
|
125
|
-
|
126
|
-
# If is_protected has changed, we need to make sure we are setting the appropriate permissions
|
127
|
-
# This means either moving the file in the filesystem or setting the appropriate ACL in S3
|
128
|
-
def validate_permissions
|
129
|
-
if Spud::Media.config.paperclip_storage == :filesystem
|
130
|
-
validate_permissions_filesystem
|
131
|
-
elsif Spud::Media.config.paperclip_storage == :s3
|
132
|
-
validate_permissions_s3
|
133
|
-
end
|
134
|
-
end
|
135
|
-
|
136
|
-
private
|
137
|
-
|
138
|
-
def validate_permissions_filesystem
|
139
|
-
if is_protected
|
140
|
-
old_path = Paperclip::Interpolations.interpolate(Spud::Media.config.storage_path, attachment, 'original')
|
141
|
-
new_path = Paperclip::Interpolations.interpolate(Spud::Media.config.storage_path_protected, attachment, 'original')
|
142
|
-
else
|
143
|
-
old_path = Paperclip::Interpolations.interpolate(Spud::Media.config.storage_path_protected, attachment, 'original')
|
144
|
-
new_path = Paperclip::Interpolations.interpolate(Spud::Media.config.storage_path, attachment, 'original')
|
145
|
-
end
|
146
|
-
new_base_dir = File.dirname(File.dirname(new_path))
|
147
|
-
old_base_dir = File.dirname(File.dirname(old_path))
|
148
|
-
if File.directory?(old_base_dir)
|
149
|
-
FileUtils.mv(old_base_dir, new_base_dir)
|
150
|
-
end
|
106
|
+
style ||= is_image? ? 'cropped' : 'original'
|
107
|
+
return attachment.url(style)
|
151
108
|
end
|
152
109
|
|
153
|
-
def
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
attachment.s3_object(:original).acl = :public_read
|
160
|
-
attachment.s3_object(:cropped).acl = :public_read if attachment.s3_object(:cropped).exists?
|
161
|
-
attachment.s3_object(:small).acl = :public_read if attachment.s3_object(:small).exists?
|
162
|
-
end
|
110
|
+
def is_protected
|
111
|
+
ActiveSupport::Deprecation.warn(
|
112
|
+
'SpudMedia#is_protected is deprecated and will soon be removed',
|
113
|
+
caller
|
114
|
+
)
|
115
|
+
false
|
163
116
|
end
|
164
117
|
|
165
118
|
end
|
@@ -9,27 +9,19 @@
|
|
9
9
|
<% @media.each do |media| %>
|
10
10
|
<tr>
|
11
11
|
<td>
|
12
|
-
|
13
|
-
<img src="<%= media.image_from_type %>" class="size-50-thumb" />
|
14
|
-
<% else %>
|
15
|
-
<%= image_tag(media.image_from_type, :class => "size-50-thumb") %>
|
16
|
-
<% end %>
|
12
|
+
<%= image_tag(media.image_from_type, :class => "size-50-thumb") %>
|
17
13
|
<%= link_to media.attachment_file_name, media.attachment_url %>
|
18
14
|
</td>
|
19
15
|
<td class="table-actions">
|
20
16
|
<% if media.is_image? %>
|
21
17
|
<%= link_to 'Crop', edit_admin_medium_path(media.id), :class => 'btn btn-sm btn-default' %>
|
22
18
|
<% end %>
|
23
|
-
|
24
|
-
<%= link_to raw('<i class="icon-lock"></i> Protected'), set_access_admin_medium_path(media.id, :protected => false), :method => :put, :class => 'btn btn-sm btn-default' %>
|
25
|
-
<% else %>
|
26
|
-
<%= link_to 'Public', set_access_admin_medium_path(media.id, :protected => true), :method => :put, :class => 'btn btn-sm btn-default' %>
|
27
|
-
<% end %>
|
28
|
-
<%= link_to "Remove", admin_medium_path(media), :method => :delete, :class => 'btn btn-sm btn-danger', :data => {:confirm => "Are you sure you want to remove this file?"} %>
|
19
|
+
<%= link_to 'Remove', admin_medium_path(media), :method => :delete, :class => 'btn btn-sm btn-danger', :data => {:confirm => "Are you sure you want to remove this file?"} %>
|
29
20
|
</td>
|
30
21
|
</tr>
|
31
22
|
<% end %>
|
32
23
|
</tbody>
|
33
24
|
</table>
|
34
|
-
</div>
|
25
|
+
</div>
|
26
|
+
<%= will_paginate @media, :renderer => BootstrapPagination::Rails %>
|
35
27
|
<% end %>
|
@@ -1,6 +1,5 @@
|
|
1
1
|
<%=form_for @media, :url => admin_media_path, :builder => TbCore::FormBuilder, :html => {:class => "form-horizontal", :multipart => true} do |f|%>
|
2
2
|
<%= tb_form_error_header(@media) %>
|
3
3
|
<%= f.tb_file_field :attachment %>
|
4
|
-
<%= f.tb_check_box :is_protected %>
|
5
4
|
<%= f.tb_save_buttons('File', admin_media_path) %>
|
6
5
|
<% end %>
|
@@ -4,14 +4,9 @@
|
|
4
4
|
'data-url' => media.attachment_url,
|
5
5
|
'data-name' => media.attachment_file_name,
|
6
6
|
'data-size' => media.attachment_file_size,
|
7
|
-
'data-lastmod' => media.attachment_updated_at.blank? == false ? media.attachment_updated_at.strftime("%l:%M %p, %D") : ''
|
8
|
-
'data-protected' => (media.is_protected ? 'Yes' : 'No') do %>
|
7
|
+
'data-lastmod' => media.attachment_updated_at.blank? == false ? media.attachment_updated_at.strftime("%l:%M %p, %D") : '' do %>
|
9
8
|
<span class="spud_media_picker_item_thumb">
|
10
|
-
|
11
|
-
<img src="<%= media.image_from_type %>"/>
|
12
|
-
<% else %>
|
13
|
-
<%= image_tag(media.image_from_type) %>
|
14
|
-
<% end %>
|
9
|
+
<%= image_tag(media.image_from_type) %>
|
15
10
|
</span>
|
16
11
|
<span class="spud_media_picker_item_filename">
|
17
12
|
<%= media.attachment_file_name %>
|
@@ -40,7 +40,6 @@
|
|
40
40
|
<li>File Name: <span class="spud_media_picker_details_name"></span></li>
|
41
41
|
<li>File Size: <span class="spud_media_picker_details_size"></span></li>
|
42
42
|
<li>Last Modified: <span class="spud_media_picker_details_lastmod"></span></li>
|
43
|
-
<li>Protected: <span class="spud_media_picker_details_protected"></span></li>
|
44
43
|
</ul>
|
45
44
|
</div>
|
46
45
|
<div class="spud_media_picker_buttons">
|
@@ -104,4 +103,4 @@
|
|
104
103
|
</script>
|
105
104
|
|
106
105
|
</body>
|
107
|
-
</html>
|
106
|
+
</html>
|
data/config/locales/en.yml
CHANGED
data/config/routes.rb
CHANGED
@@ -1,11 +1,8 @@
|
|
1
1
|
Rails.application.routes.draw do
|
2
|
+
namespace :admin do
|
3
|
+
resources :media
|
2
4
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
end
|
7
|
-
resources :media_picker, :only => [:index, :create]
|
8
|
-
end
|
9
|
-
|
10
|
-
get Spud::Media.config.storage_url => 'protected_media#show', :as => 'protected_media'
|
5
|
+
# picker plugin not currently used
|
6
|
+
# resources :media_picker, :only => [:index, :create]
|
7
|
+
end
|
11
8
|
end
|
@@ -1,4 +1,4 @@
|
|
1
|
-
class CreateSpudMedia < ActiveRecord::Migration
|
1
|
+
class CreateSpudMedia < ActiveRecord::Migration[4.2]
|
2
2
|
def change
|
3
3
|
create_table :spud_media do |t|
|
4
4
|
t.string :attachment_content_type
|
@@ -8,4 +8,4 @@ class CreateSpudMedia < ActiveRecord::Migration
|
|
8
8
|
t.timestamps
|
9
9
|
end
|
10
10
|
end
|
11
|
-
end
|
11
|
+
end
|
@@ -1,6 +1,5 @@
|
|
1
|
-
class AddProtectedToSpudMedia < ActiveRecord::Migration
|
1
|
+
class AddProtectedToSpudMedia < ActiveRecord::Migration[4.2]
|
2
2
|
def change
|
3
|
-
add_column :spud_media, :is_protected, :boolean, :default => false
|
4
3
|
add_column :spud_media, :attachment_updated_at, :datetime
|
5
4
|
end
|
6
5
|
end
|
@@ -2,12 +2,11 @@ module Spud
|
|
2
2
|
module Media
|
3
3
|
include ActiveSupport::Configurable
|
4
4
|
require 'active_support/core_ext/numeric/bytes'
|
5
|
-
config_accessor :paperclip_storage, :s3_credentials, :storage_path, :
|
5
|
+
config_accessor :paperclip_storage, :s3_credentials, :storage_path, :storage_url, :max_upload_size
|
6
6
|
self.paperclip_storage = :filesystem
|
7
7
|
self.s3_credentials = "#{Rails.root}/config/s3.yml"
|
8
|
-
self.storage_path =
|
9
|
-
self.
|
10
|
-
self.storage_url = "/system/spud_media/:id/:style/:basename.:extension"
|
8
|
+
self.storage_path = ':rails_root/public/system/spud_media/:id/:style/:basename.:extension'
|
9
|
+
self.storage_url = '/system/spud_media/:id/:style/:basename.:extension'
|
11
10
|
self.max_upload_size = 15.megabytes
|
12
11
|
end
|
13
12
|
end
|
@@ -8,7 +8,7 @@ module Spud
|
|
8
8
|
'application/msword',
|
9
9
|
'application/vnd.ms-excel',
|
10
10
|
'application/vnd.ms-powerpoint',
|
11
|
-
|
11
|
+
|
12
12
|
# Documents
|
13
13
|
'application/pdf',
|
14
14
|
'text/html',
|
@@ -57,6 +57,6 @@ module Spud
|
|
57
57
|
'image/vnd.adobe.photoshop',
|
58
58
|
'application/postscript',
|
59
59
|
'application/x-shockwave-flash'
|
60
|
-
]
|
60
|
+
].freeze
|
61
61
|
end
|
62
62
|
end
|
data/lib/spud_media/engine.rb
CHANGED
@@ -2,17 +2,25 @@ require 'tb_core'
|
|
2
2
|
require 'paperclip'
|
3
3
|
|
4
4
|
module Spud
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
5
|
+
module Media
|
6
|
+
class Engine < Rails::Engine
|
7
|
+
engine_name :tb_media
|
8
|
+
|
9
|
+
initializer :admin do
|
10
|
+
config.assets.precompile += ['admin/files_thumbs/*']
|
11
|
+
config.assets.precompile += ['admin/media_thumb.png']
|
12
|
+
# config.assets.precompile += ['admin/media/picker.js'] <- Picker not currently used
|
13
|
+
TbCore.append_admin_javascripts('admin/media/application')
|
14
|
+
TbCore.append_admin_stylesheets('admin/media/application')
|
15
|
+
TbCore.configure do |config|
|
16
|
+
config.admin_applications += [{ name: 'Media', thumbnail: 'admin/media_thumb.png', url: '/admin/media', order: 3, retina: true }]
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
initializer 'tb_media.assets' do
|
21
|
+
Rails.application.config.assets.precompile += ['admin/media_thumb.png']
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
18
26
|
end
|