radiant-paperclipped-extension 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (143) hide show
  1. data/.gitmodules +3 -0
  2. data/HELP_admin.markdown +69 -0
  3. data/LICENSE +21 -0
  4. data/README.md +137 -0
  5. data/Rakefile +110 -0
  6. data/VERSION +1 -0
  7. data/app/controllers/admin/assets_controller.rb +124 -0
  8. data/app/helpers/admin/assets_helper.rb +5 -0
  9. data/app/models/asset.rb +279 -0
  10. data/app/models/asset_page_tags.rb +101 -0
  11. data/app/models/asset_tags.rb +272 -0
  12. data/app/models/old_page_attachment.rb +26 -0
  13. data/app/models/page_attachment.rb +8 -0
  14. data/app/views/admin/assets/_asset.html.haml +19 -0
  15. data/app/views/admin/assets/_asset_table.html.haml +49 -0
  16. data/app/views/admin/assets/_assets_bucket.html.haml +8 -0
  17. data/app/views/admin/assets/_assets_container.html.haml +72 -0
  18. data/app/views/admin/assets/_bucket.html.haml +11 -0
  19. data/app/views/admin/assets/_bucket_asset.html.haml +9 -0
  20. data/app/views/admin/assets/_errors.html.haml +3 -0
  21. data/app/views/admin/assets/_form.html.haml +20 -0
  22. data/app/views/admin/assets/_page_assets.html.haml +12 -0
  23. data/app/views/admin/assets/_search_results.html.haml +17 -0
  24. data/app/views/admin/assets/_show_bucket_link.html.haml +4 -0
  25. data/app/views/admin/assets/_upload_to_page.html.haml +16 -0
  26. data/app/views/admin/assets/edit.html.haml +53 -0
  27. data/app/views/admin/assets/index.html.haml +43 -0
  28. data/app/views/admin/assets/new.html.haml +27 -0
  29. data/app/views/admin/assets/remove.html.haml +21 -0
  30. data/app/views/admin/bucket/_iframe.html.haml +1 -0
  31. data/config/locales/en.yml +60 -0
  32. data/config/locales/nl.yml +60 -0
  33. data/config/locales/pl.yml +60 -0
  34. data/config/routes.rb +20 -0
  35. data/db/migrate/001_create_assets.rb +12 -0
  36. data/db/migrate/002_create_paperclip_attributes.rb +13 -0
  37. data/db/migrate/003_create_user_observer.rb +13 -0
  38. data/db/migrate/004_create_page_attachments.rb +19 -0
  39. data/db/migrate/005_rename_users.rb +13 -0
  40. data/db/migrate/006_add_default_configs.rb +29 -0
  41. data/db/migrate/007_add_default_content_types.rb +29 -0
  42. data/db/migrate/20090316132151_disable_file_types.rb +20 -0
  43. data/lib/assets_admin_ui.rb +38 -0
  44. data/lib/mime_type_ext.rb +7 -0
  45. data/lib/tasks/assets_extension_tasks.rake +123 -0
  46. data/lib/tasks/paperclip_tasks.rake +79 -0
  47. data/lib/url_additions.rb +10 -0
  48. data/paperclipped_extension.rb +56 -0
  49. data/psds/file_type_icons.psd +0 -0
  50. data/psds/file_type_icons_.psd +0 -0
  51. data/public/images/assets/_page_assets.html.haml +26 -0
  52. data/public/images/assets/add-to-bucket.png +0 -0
  53. data/public/images/assets/add.png +0 -0
  54. data/public/images/assets/audio_icon.png +0 -0
  55. data/public/images/assets/audio_thumbnail.png +0 -0
  56. data/public/images/assets/delete.png +0 -0
  57. data/public/images/assets/doc_icon.png +0 -0
  58. data/public/images/assets/doc_thumbnail.png +0 -0
  59. data/public/images/assets/edit.png +0 -0
  60. data/public/images/assets/movie_icon.png +0 -0
  61. data/public/images/assets/movie_thumbnail.png +0 -0
  62. data/public/images/assets/new-asset.png +0 -0
  63. data/public/images/assets/page_edit.png +0 -0
  64. data/public/images/assets/pdf_icon.png +0 -0
  65. data/public/images/assets/pdf_thumbnail.png +0 -0
  66. data/public/images/assets/reorder_assets.png +0 -0
  67. data/public/javascripts/admin/assets.js +173 -0
  68. data/public/stylesheets/admin/assets.css +163 -0
  69. data/spec/controllers/admin/assets_controller_spec.rb +10 -0
  70. data/spec/models/asset_spec.rb +68 -0
  71. data/spec/spec.opts +6 -0
  72. data/spec/spec_helper.rb +27 -0
  73. data/vendor/plugins/acts_as_list/README +23 -0
  74. data/vendor/plugins/acts_as_list/init.rb +3 -0
  75. data/vendor/plugins/acts_as_list/lib/active_record/acts/list.rb +256 -0
  76. data/vendor/plugins/acts_as_list/test/list_test.rb +332 -0
  77. data/vendor/plugins/paperclip/LICENSE +26 -0
  78. data/vendor/plugins/paperclip/README.rdoc +179 -0
  79. data/vendor/plugins/paperclip/Rakefile +76 -0
  80. data/vendor/plugins/paperclip/cucumber/paperclip_steps.rb +6 -0
  81. data/vendor/plugins/paperclip/generators/paperclip/USAGE +5 -0
  82. data/vendor/plugins/paperclip/generators/paperclip/paperclip_generator.rb +27 -0
  83. data/vendor/plugins/paperclip/generators/paperclip/templates/paperclip_migration.rb.erb +19 -0
  84. data/vendor/plugins/paperclip/init.rb +1 -0
  85. data/vendor/plugins/paperclip/lib/generators/paperclip/USAGE +8 -0
  86. data/vendor/plugins/paperclip/lib/generators/paperclip/paperclip_generator.rb +31 -0
  87. data/vendor/plugins/paperclip/lib/generators/paperclip/templates/paperclip_migration.rb.erb +19 -0
  88. data/vendor/plugins/paperclip/lib/paperclip.rb +397 -0
  89. data/vendor/plugins/paperclip/lib/paperclip/attachment.rb +326 -0
  90. data/vendor/plugins/paperclip/lib/paperclip/callback_compatability.rb +61 -0
  91. data/vendor/plugins/paperclip/lib/paperclip/geometry.rb +115 -0
  92. data/vendor/plugins/paperclip/lib/paperclip/interpolations.rb +108 -0
  93. data/vendor/plugins/paperclip/lib/paperclip/iostream.rb +59 -0
  94. data/vendor/plugins/paperclip/lib/paperclip/matchers.rb +33 -0
  95. data/vendor/plugins/paperclip/lib/paperclip/matchers/have_attached_file_matcher.rb +57 -0
  96. data/vendor/plugins/paperclip/lib/paperclip/matchers/validate_attachment_content_type_matcher.rb +74 -0
  97. data/vendor/plugins/paperclip/lib/paperclip/matchers/validate_attachment_presence_matcher.rb +54 -0
  98. data/vendor/plugins/paperclip/lib/paperclip/matchers/validate_attachment_size_matcher.rb +95 -0
  99. data/vendor/plugins/paperclip/lib/paperclip/processor.rb +49 -0
  100. data/vendor/plugins/paperclip/lib/paperclip/railtie.rb +24 -0
  101. data/vendor/plugins/paperclip/lib/paperclip/storage.rb +247 -0
  102. data/vendor/plugins/paperclip/lib/paperclip/style.rb +90 -0
  103. data/vendor/plugins/paperclip/lib/paperclip/thumbnail.rb +78 -0
  104. data/vendor/plugins/paperclip/lib/paperclip/upfile.rb +52 -0
  105. data/vendor/plugins/paperclip/lib/paperclip/version.rb +3 -0
  106. data/vendor/plugins/paperclip/lib/tasks/paperclip.rake +79 -0
  107. data/vendor/plugins/paperclip/paperclip.gemspec +34 -0
  108. data/vendor/plugins/paperclip/rails/init.rb +2 -0
  109. data/vendor/plugins/paperclip/shoulda_macros/paperclip.rb +119 -0
  110. data/vendor/plugins/paperclip/test/.gitignore +1 -0
  111. data/vendor/plugins/paperclip/test/attachment_test.rb +758 -0
  112. data/vendor/plugins/paperclip/test/database.yml +4 -0
  113. data/vendor/plugins/paperclip/test/fixtures/12k.png +0 -0
  114. data/vendor/plugins/paperclip/test/fixtures/50x50.png +0 -0
  115. data/vendor/plugins/paperclip/test/fixtures/5k.png +0 -0
  116. data/vendor/plugins/paperclip/test/fixtures/bad.png +1 -0
  117. data/vendor/plugins/paperclip/test/fixtures/s3.yml +8 -0
  118. data/vendor/plugins/paperclip/test/fixtures/text.txt +0 -0
  119. data/vendor/plugins/paperclip/test/fixtures/twopage.pdf +0 -0
  120. data/vendor/plugins/paperclip/test/geometry_test.rb +177 -0
  121. data/vendor/plugins/paperclip/test/helper.rb +148 -0
  122. data/vendor/plugins/paperclip/test/integration_test.rb +483 -0
  123. data/vendor/plugins/paperclip/test/interpolations_test.rb +124 -0
  124. data/vendor/plugins/paperclip/test/iostream_test.rb +78 -0
  125. data/vendor/plugins/paperclip/test/matchers/have_attached_file_matcher_test.rb +24 -0
  126. data/vendor/plugins/paperclip/test/matchers/validate_attachment_content_type_matcher_test.rb +37 -0
  127. data/vendor/plugins/paperclip/test/matchers/validate_attachment_presence_matcher_test.rb +26 -0
  128. data/vendor/plugins/paperclip/test/matchers/validate_attachment_size_matcher_test.rb +51 -0
  129. data/vendor/plugins/paperclip/test/paperclip_test.rb +317 -0
  130. data/vendor/plugins/paperclip/test/processor_test.rb +10 -0
  131. data/vendor/plugins/paperclip/test/storage_test.rb +343 -0
  132. data/vendor/plugins/paperclip/test/style_test.rb +141 -0
  133. data/vendor/plugins/paperclip/test/thumbnail_test.rb +227 -0
  134. data/vendor/plugins/paperclip/test/upfile_test.rb +36 -0
  135. data/vendor/plugins/responds_to_parent/MIT-LICENSE +20 -0
  136. data/vendor/plugins/responds_to_parent/README +42 -0
  137. data/vendor/plugins/responds_to_parent/Rakefile +22 -0
  138. data/vendor/plugins/responds_to_parent/init.rb +2 -0
  139. data/vendor/plugins/responds_to_parent/lib/parent_selector_assertion.rb +144 -0
  140. data/vendor/plugins/responds_to_parent/lib/responds_to_parent.rb +46 -0
  141. data/vendor/plugins/responds_to_parent/test/assert_select_parent_test.rb +318 -0
  142. data/vendor/plugins/responds_to_parent/test/responds_to_parent_test.rb +115 -0
  143. metadata +226 -0
@@ -0,0 +1,26 @@
1
+ class OldPageAttachment < ActiveRecord::Base
2
+ def create_paperclipped_record
3
+ options = {
4
+ :asset_file_size => size,
5
+ :asset_file_name => filename,
6
+ :asset_content_type => content_type,
7
+ :created_by_id => created_by
8
+ }
9
+
10
+ # In newer versions of page_attachments we have title and description fields.
11
+ options[:title] = title if respond_to?(:title)
12
+ options[:caption] = description if respond_to?(:description)
13
+
14
+ a = Asset.new(options)
15
+ a.save
16
+
17
+ # Re-attach the asset to it's page
18
+ page = Page.find(page_id)
19
+ p = PageAttachment.create(:asset_id => a.id, :page_id => page.id)
20
+
21
+ # Circumvent acts_as_list before_create filter to set the original page_attachment position.
22
+ PageAttachment.update_all("position=#{position}", "id=#{p.id}") if respond_to?(:position)
23
+
24
+ a
25
+ end
26
+ end
@@ -0,0 +1,8 @@
1
+ class PageAttachment < ActiveRecord::Base
2
+
3
+ belongs_to :asset
4
+ belongs_to :page
5
+
6
+ acts_as_list :scope => :page_id
7
+
8
+ end
@@ -0,0 +1,19 @@
1
+ - asset = attachment.asset
2
+ - asset_type = asset.image? ? "image" : "link"
3
+ - dom_id = "attachment_#{attachment.id}"
4
+
5
+ %li{ :id => dom_id }
6
+ %div{ :class => "#{asset_type} asset", :id => "asset_#{asset.id}"}
7
+ = link_to image_tag(asset.thumbnail(:thumbnail)), asset.thumbnail, :onclick => "return false;", :class => "bucket_link", :title => asset.title
8
+ .info{ :id => "#{dom_id}_info" }
9
+ %strong
10
+ = link_to image_tag('/images/assets/edit.png'), edit_admin_asset_path(asset), :class => "edit_asset", :title => t("paperclipped.edit_asset", :asset => asset.title)
11
+ - if @page
12
+ = link_to_remote image_tag('/images/assets/delete.png'), :html => { :class => "remove_asset", :title => t("paperclipped.remove_from_page") }, :url => remove_page_asset_url(:asset => asset.id, :page => @page.id), |
13
+ :confirm => t("paperclipped.confirm_remove_from_page"), |
14
+ :after => "Effect.Fade('#{dom_id}', { duration: 0.5 })", :complete => "Element.remove('#{dom_id}'); Element.highlight('assets')" |
15
+ = image_tag "/images/assets/reorder_assets.png", :class => "reorder", :title => t("paperclipped.reorder")
16
+ %script
17
+
18
+
19
+
@@ -0,0 +1,49 @@
1
+ %table{ :class => "index", :cellpadding => "0", :cellspacing => "0", :border => "0"}
2
+ %tfoot
3
+ %tr
4
+ %td{:colspan => 5}= t("paperclipped.assets_explanation")
5
+ %thead
6
+ %tr
7
+ - render_region :thead do |thead|
8
+ - thead.thumbnail_header do
9
+ %th.asset
10
+ = t("paperclipped.asset")
11
+ - thead.title_header do
12
+ %th.asset-title
13
+ = t("paperclipped.title")
14
+ - thead.content_type_header do
15
+ %th.content_type
16
+ = t("paperclipped.type")
17
+ - thead.modify_header do
18
+ %th.modify{ :colspan =>"2"}
19
+ = t('modify')
20
+
21
+ %tbody
22
+ - unless assets.empty?
23
+ - for asset in assets
24
+ %tr.node.level-1
25
+ - render_region :tbody, :locals => { :asset => asset } do |tbody|
26
+ - tbody.thumbnail_cell do
27
+ %td.asset
28
+ - asset_id = "asset_#{asset.id.to_s}"
29
+ = link_to image_tag(asset.thumbnail(:icon)), edit_admin_asset_path(asset), :class => 'icon'
30
+ - tbody.title_cell do
31
+ %td.asset-title
32
+ = link_to asset.title, edit_admin_asset_path(asset)
33
+ &nbsp;
34
+ %span.caption
35
+ = asset.caption
36
+ - tbody.content_type_cell do
37
+ %td.content_type
38
+ = asset.asset_content_type
39
+ - tbody.bucket_cell do
40
+ %td.add-to-bucket
41
+ = link_to_remote(t("paperclipped.add_to_bucket"), :url => add_bucket_url(:id => asset))
42
+ - tbody.remove_cell do
43
+ %td.remove
44
+ = link_to t("paperclipped.remove_asset"), remove_admin_asset_path(asset)
45
+
46
+ - else
47
+ %tr
48
+ %td.note{ :colspan => "5" }
49
+ = t("paperclipped.no_assets")
@@ -0,0 +1,8 @@
1
+ #asset-bucket{ :style => "display: none" }
2
+ = render :partial => "/admin/assets/assets_container"
3
+
4
+ %p.note
5
+ = automatic_size_descriptions
6
+ = t('paperclipped.images_automatically_created')
7
+ #close-link
8
+ = link_to t("close"), "#"
@@ -0,0 +1,72 @@
1
+ - @stylesheets << 'admin/assets'
2
+ - include_javascript 'admin/assets'
3
+ - include_javascript 'admin/dragdrop'
4
+
5
+ #assets-container
6
+ #asset-tabs
7
+ - render_region :asset_tabs do |asset_tabs|
8
+ - if @page && !@page.new_record?
9
+ - asset_tabs.attachment_tab do
10
+ %a.asset-tab{ :href => "#page-attachments", :id => "tab_page-attachments" }
11
+ = t("paperclipped.attached_assets")
12
+ - asset_tabs.upload_tab do
13
+ %a.asset-tab{ :href => "#upload-assets", :id => "tab_upload-assets" }
14
+ = t("paperclipped.upload")
15
+ - asset_tabs.bucket_tab do
16
+ %a.asset-tab{ :href => "#bucket", :id => "tab_bucket" }
17
+ = t("paperclipped.bucket")
18
+ - asset_tabs.search_tab do
19
+ %a.asset-tab{ :href => "#search-assets" }
20
+ = t("paperclipped.search")
21
+ - else
22
+ - asset_tabs.bucket_tab do
23
+ %a.asset-tab.here{ :href => "#" }
24
+ = t("paperclipped.bucket")
25
+
26
+ #assets
27
+ #bucket.pane
28
+ - render_region :bucket_pane do |bucket_pane|
29
+ - bucket_pane.bucket_notes do
30
+ %p
31
+ %span.note
32
+ != t("paperclipped.bucket_note")
33
+ %span#clear-bucket
34
+ = link_to_remote(t('paperclipped.clear_bucket'), {:url => clear_bucket_url} )
35
+ - bucket_pane.bucket do
36
+ = render :partial => "admin/assets/bucket"
37
+ - bucket_pane.bucket_bottom do
38
+ .clear
39
+
40
+
41
+ - if @page && !@page.new_record?
42
+ - render_region :asset_panes do |asset_panes|
43
+
44
+ - asset_panes.page_attachments do
45
+ #page-attachments.pane
46
+ %p
47
+ %span.note
48
+ != t("paperclipped.asset_note")
49
+ %ul#attachments
50
+ = render :partial => "admin/assets/page_assets"
51
+ .clear
52
+
53
+ - asset_panes.upload do
54
+ #upload-assets.pane
55
+ %p
56
+ %span.note
57
+ != t("paperclipped.asset_page_upload_note")
58
+ = render :partial => "admin/assets/upload_to_page"
59
+ .clear
60
+
61
+ - asset_panes.search do
62
+ #search-assets.pane
63
+ - form_tag do
64
+ %p
65
+ %label.note{ :for => 'search' }
66
+ = t("paperclipped.search_assets")
67
+ %input{ :type => "hidden", :name => "search", :value => @page.id }
68
+ %input{ :type => "search", :id => "search", :name => "search" }
69
+ = submit_tag t("paperclipped.search")
70
+ #search-results
71
+ .clear
72
+ = observe_field 'search', :frequency => 1, :update => 'search-results', :url => admin_assets_path(:asset_page => @page), :method => 'get', :with => "'search=' + escape(value)"
@@ -0,0 +1,11 @@
1
+ %ul#bucket_list
2
+ - if session[:bucket]
3
+ - session[:bucket].each do |url, info|
4
+ = render :partial => 'admin/assets/bucket_asset', :locals => { :asset_url => url, :asset_id => info[:id], :asset_type => info[:type], :asset_title => info[:title], :asset_thumbnail =>info[:thumbnail], :page => @page }
5
+ - else
6
+ %li
7
+ %p.note
8
+ = t("paperclipped.empty_bucket")
9
+
10
+
11
+
@@ -0,0 +1,9 @@
1
+ %li
2
+
3
+ %div{ :class => "#{asset_type} asset", :id => "bucket_#{asset_id}" }
4
+ = link_to image_tag(asset_thumbnail), asset_url, :title => asset_title, :class => "bucket_link"
5
+
6
+ .info{ :id => "#{asset_id}_info" }
7
+ = link_to image_tag('/images/assets/edit.png'), edit_admin_asset_url(asset_id), :class => "edit_asset", :title => t("paperclipped.edit_asset", :asset => asset_title)
8
+ - if page && !page.new_record?
9
+ = link_to image_tag('/images/assets/add.png'), attach_page_asset_url(:asset => asset_id, :page => page.id), :class => "add_asset", :title => t("paperclipped.attach_to_page")
@@ -0,0 +1,3 @@
1
+ - if @asset.errors && !@asset.errors.empty?
2
+ %p#asset_errors
3
+ %strong= t("paperclipped.asset_errors", :errors => @asset.errors.full_messages.to_sentence)
@@ -0,0 +1,20 @@
1
+ = render_region :form_top
2
+ - render_region :form do |form|
3
+ - form.edit_title do
4
+ %p.title
5
+ %label{ :for => "asset_title" }
6
+ = t("paperclipped.title")
7
+ = f.text_field :title, :class => 'textbox', :maxlength => 100
8
+ - form.edit_metadata do
9
+ .drawer
10
+ .drawer_contents#attributes
11
+ %table.fieldset
12
+ %tr
13
+ %th.label
14
+ %label{ :for => "asset_caption" }
15
+ = t("paperclipped.caption")
16
+ %td.field
17
+ = f.text_field :caption, :class => 'textbox', :maxlength => 255
18
+ = render_region :extended_metadata, :locals => {:f => f}
19
+ .drawer_handle
20
+ %a.toggle{:href=>'#attributes', :rel=>"toggle[attributes]", :class=>"#{(meta_errors? ? 'less' : 'more')}"}= meta_label
@@ -0,0 +1,12 @@
1
+ - unless @page.assets.empty?
2
+ - @page.page_attachments.each do |attachment|
3
+ = render :partial => 'admin/assets/asset', :locals => { :attachment => attachment }
4
+ - else
5
+ %li
6
+ %p.note
7
+ = t("paperclipped.no_attached_assets")
8
+
9
+ %script{ :type => "text/javascript" }
10
+ Asset.MakeDraggables();
11
+
12
+ = sortable_element 'attachments', :url => reorder_assets_url(@page), :constraint => 'horizontal', :handle => 'reorder', :ghosting => false, :complete => visual_effect(:highlight, 'assets')
@@ -0,0 +1,17 @@
1
+ %ul#search_list
2
+ - unless @assets.empty?
3
+ - @assets.each do |asset|
4
+ =# render :partial => 'asset', :locals => { :asset => asset, :page => @page }
5
+ = render :partial => 'admin/assets/bucket_asset', :locals => { :asset_url => asset.asset.url, :asset_id => asset.id, :asset_type => 'image', :asset_title => asset.title, :asset_thumbnail => asset.thumbnail(:thumbnail), :page => @page }
6
+
7
+ - else
8
+ %li
9
+ %p.note
10
+ = t("paperclipped.no_assets_found")
11
+
12
+ %script
13
+ Asset.MakeDroppables();
14
+ Asset.MakeDraggables();
15
+ Event.addBehavior({ '.asset a' : Asset.DisableLinks, 'a.add_asset' : Asset.AddToPage });
16
+
17
+
@@ -0,0 +1,4 @@
1
+ - unless @page.nil? || @page.new_record?
2
+ %span#show-bucket
3
+ = t('paperclipped.bucket')
4
+ = link_to t("paperclipped.show_assets_bucket"), "#"
@@ -0,0 +1,16 @@
1
+ #upload-form
2
+ - form_for :asset, :url => admin_assets_path(:page => @page, :format => 'js'), :html => { :id => 'asset-upload', :method => "post", :multipart => true, :target => 'ulframe' } do |form|
3
+ %div.file
4
+ %label.upload
5
+ = t("paperclipped.choose_upload")
6
+ = form.file_field :asset, :class => "", :style => "width: 100%"
7
+
8
+ .upload-buttons
9
+ = form.submit t("paperclipped.save_and_upload"), :class => "button"
10
+ %div.spinner
11
+
12
+ %iframe{ :id => 'ulframe', :name => "ulframe", :src => "about:blank"}
13
+
14
+
15
+
16
+
@@ -0,0 +1,53 @@
1
+ - include_stylesheet 'admin/assets'
2
+ = render_region :top
3
+
4
+ - render_region :main do |main|
5
+ - main.edit_header do
6
+ %h1= t("paperclipped.asset_edit_title")
7
+
8
+ - main.edit_form do
9
+ - form_for :asset, :url => admin_asset_path(@asset), :html => { :method => "put", :multipart => true } do |f|
10
+ .form-area
11
+ = render :partial => "form", :locals => { :f => f }
12
+
13
+ %div.content
14
+ %p
15
+ %label.filename
16
+ = "#{t("paperclipped.filename")}: #{@asset.asset_file_name unless @asset.new_record?}"
17
+ %p.asset
18
+ - if @asset.image?
19
+ = image_tag @asset.thumbnail(Radiant::Config['assets.display_size'].to_sym)
20
+ - else
21
+ = link_to image_tag(@asset.thumbnail(:thumbnail)), @asset.asset.url
22
+ = updated_stamp @asset
23
+
24
+ %p.upload
25
+ %label.upload
26
+ = t("paperclipped.replace_file")
27
+ = f.file_field :asset, :class => "", :style => "width: 100%"
28
+
29
+ %p.buttons
30
+ = save_model_button(@asset)
31
+ = save_model_and_continue_editing_button(@asset)
32
+ = t("or")
33
+ = link_to_remote t("paperclipped.add_asset_to_bucket"), :url => add_bucket_path(:id => @asset)
34
+ = t("or")
35
+ = link_to t("cancel"), admin_assets_path
36
+
37
+ - main.assets_container do
38
+ = render :partial => 'assets_container'
39
+
40
+ - main.edit_regenerate do
41
+ - if current_user.admin? or current_user.designer?
42
+ %p= t("paperclipped.regenerate_thumbnails")
43
+
44
+ - form_tag refresh_admin_assets_path do
45
+ %p.asset-buttons
46
+ %input{ :type => "hidden", :name => "id", :value => @asset.id }
47
+ %input.button{ :type => "submit", :value => t("paperclipped.regenerate") }
48
+
49
+
50
+
51
+
52
+
53
+
@@ -0,0 +1,43 @@
1
+ - include_stylesheet 'admin/assets'
2
+ .outset
3
+ - render_region :top do |top|
4
+ - top.filters do
5
+ .asset_filters
6
+ - form_tag(admin_assets_path,:id => 'filesearchform', :method => 'get') do
7
+ %input{ :type => "search", :id => "search", :name => "search" , :value => params[:search] }
8
+ = submit_tag t("paperclipped.search")
9
+ = observe_field 'search', :frequency => 1, :update => 'assets_table', :url => { :controller => 'assets', :action=> 'index' }, :method => 'get', :with => "'search=' + escape(value)"
10
+
11
+ == #{t('paperclipped.types_to_find')}:
12
+ %span
13
+ = link_to t("paperclipped.images"), "#"
14
+ %span
15
+ = link_to t("paperclipped.others"), "#"
16
+ %span
17
+ = link_to t("paperclipped.audio"), "#"
18
+ %span
19
+ = link_to t("paperclipped.movies"), "#"
20
+
21
+ #type_boxes{ :style => "display: none" }
22
+ = check_box_tag 'filter[audio]', '1', false, :id => 'audio-check'
23
+ = check_box_tag 'filter[image]', '1', false, :id => 'images-check'
24
+ = check_box_tag 'filter[other]', '1', false, :id => 'others-check'
25
+ = check_box_tag 'filter[movie]', '1', false, :id => 'movies-check'
26
+ - if false #current_user.admin? # turned off for now, this might be too dangerous to reveal
27
+ .regenerator
28
+ = link_to t('paperclipped.regenerate_all_thumbnails') , refresh_admin_assets_path, :confirm => 'Beware that this will take a while and consume considerable resources on your server. Are you sure you want to continue?'
29
+ #assets_table
30
+ = render :partial => 'asset_table', :locals => { :assets => @assets }
31
+
32
+ = render :partial => 'assets_container'
33
+
34
+ - render_region :bottom do |bottom|
35
+ #actions
36
+ = pagination_for @assets, :depaginate => false
37
+ %ul
38
+ %li= link_to((image('plus', :alt => '') + ' ' + t('paperclipped.new_asset')), new_admin_asset_path)
39
+ - unless Asset.thumbnail_sizes.blank?
40
+ %li.highlight
41
+ = t('paperclipped.need_to_upload')
42
+ = automatic_size_descriptions
43
+ = t('paperclipped.images_automatically_created')
@@ -0,0 +1,27 @@
1
+ - include_stylesheet 'admin/assets'
2
+ = render_region :top
3
+
4
+ - render_region :main do |main|
5
+ - main.edit_header do
6
+ %h1= t("paperclipped.new_asset")
7
+ %p
8
+ != t("paperclipped.asset_upload_note")
9
+
10
+ - main.edit_form do
11
+ - form_for :asset, :url => admin_assets_path, :html => { :method => "post", :multipart => true } do |f|
12
+ .form-area
13
+ = render :partial => "form", :locals => { :f => f }
14
+
15
+ %p.upload
16
+ %label.upload
17
+ = t("paperclipped.choose_upload")
18
+ = f.file_field :asset, :class => "", :style => "width: 100%"
19
+
20
+ %p.buttons
21
+ = save_model_button(@asset)
22
+ = save_model_and_continue_editing_button(@asset)
23
+ = t("or")
24
+ = link_to t("cancel"), admin_assets_path
25
+
26
+ - main.edit_regenerate do
27
+ &nbsp;
@@ -0,0 +1,21 @@
1
+ - content_for(:page_css) do
2
+ table td.asset { vertical-align: top; font-weight: bold; }
3
+
4
+
5
+ %h1= t("paperclipped.remove_asset")
6
+ %p
7
+ != t("paperclipped.confirm_remove_asset")
8
+
9
+ %table#site-map.index{ :cellpadding => "0", :cellspacing => "0", :border => "0" }
10
+ %tbody
11
+ %tr.node.level-1{ :onmouseover => "Element.addClassName(this, 'highlight');", :onmouseout => "Element.removeClassName(this, 'highlight');" }
12
+ %td.asset.layout
13
+ = image_tag @asset.thumbnail(:thumbnail), :title => @asset.asset_file_name
14
+ = @asset.title
15
+
16
+
17
+ - form_for [:admin, @asset], :html => { :method => 'delete' } do
18
+ %p.buttons
19
+ %input.button{ :type => "submit", :value => t("paperclipped.delete_asset") }
20
+ = t("or")
21
+ = link_to t("cancel"), admin_assets_path