radiant-clipped-extension 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (123) hide show
  1. data/LICENSE +22 -0
  2. data/README.md +230 -0
  3. data/Rakefile +109 -0
  4. data/app/controllers/admin/assets_controller.rb +60 -0
  5. data/app/controllers/admin/page_attachments_controller.rb +18 -0
  6. data/app/helpers/admin/assets_helper.rb +16 -0
  7. data/app/models/asset.rb +224 -0
  8. data/app/models/asset_tags.rb +384 -0
  9. data/app/models/asset_type.rb +170 -0
  10. data/app/models/old_page_attachment.rb +26 -0
  11. data/app/models/page_attachment.rb +21 -0
  12. data/app/views/admin/assets/_asset.html.haml +12 -0
  13. data/app/views/admin/assets/_asset_table.html.haml +30 -0
  14. data/app/views/admin/assets/_errors.html.haml +3 -0
  15. data/app/views/admin/assets/_form.html.haml +20 -0
  16. data/app/views/admin/assets/_page_assets.html.haml +12 -0
  17. data/app/views/admin/assets/_search.html.haml +17 -0
  18. data/app/views/admin/assets/_search_results.html.haml +17 -0
  19. data/app/views/admin/assets/edit.html.haml +40 -0
  20. data/app/views/admin/assets/index.html.haml +19 -0
  21. data/app/views/admin/assets/new.html.haml +24 -0
  22. data/app/views/admin/assets/refresh.html.haml +14 -0
  23. data/app/views/admin/assets/remove.html.haml +16 -0
  24. data/app/views/admin/configuration/_edit.html.haml +8 -0
  25. data/app/views/admin/configuration/_show.html.haml +12 -0
  26. data/app/views/admin/page_attachments/_attachment.html.haml +25 -0
  27. data/app/views/admin/page_parts/_page_part.html.haml +21 -0
  28. data/app/views/admin/pages/_asset_popups.html.haml +42 -0
  29. data/app/views/admin/pages/_assets.html.haml +11 -0
  30. data/app/views/admin/removed/_assets_bucket.html.haml +8 -0
  31. data/app/views/admin/removed/_assets_container.html.haml +58 -0
  32. data/app/views/admin/removed/_bucket.html.haml +11 -0
  33. data/app/views/admin/removed/_bucket_asset.html.haml +9 -0
  34. data/app/views/admin/removed/_show_bucket_link.html.haml +4 -0
  35. data/app/views/admin/removed/_upload_to_page.html.haml +12 -0
  36. data/app/views/admin/removed/bucket/_iframe.html.haml +1 -0
  37. data/artwork/icons.png +0 -0
  38. data/clipped_extension.rb +89 -0
  39. data/config/initializers/interpolation.rb +6 -0
  40. data/config/initializers/processors.rb +43 -0
  41. data/config/initializers/radiant_config.rb +34 -0
  42. data/config/locales/en.yml +108 -0
  43. data/config/locales/nl.yml +105 -0
  44. data/config/routes.rb +8 -0
  45. data/cucumber.yml +1 -0
  46. data/db/migrate/001_create_assets.rb +12 -0
  47. data/db/migrate/002_create_paperclip_attributes.rb +13 -0
  48. data/db/migrate/003_create_user_observer.rb +13 -0
  49. data/db/migrate/004_create_page_attachments.rb +19 -0
  50. data/db/migrate/005_rename_users.rb +13 -0
  51. data/db/migrate/20090316132151_disable_file_types.rb +20 -0
  52. data/db/migrate/20110513205050_asset_uuid.rb +11 -0
  53. data/db/migrate/20110606111250_update_configuration.rb +28 -0
  54. data/db/migrate/20110609101438_dimensions.rb +13 -0
  55. data/features/support/env.rb +11 -0
  56. data/features/support/paths.rb +22 -0
  57. data/lib/clipped_admin_ui.rb +32 -0
  58. data/lib/page_asset_associations.rb +13 -0
  59. data/lib/paperclip/frame_grab.rb +73 -0
  60. data/lib/paperclip/geometry_transformation.rb +79 -0
  61. data/lib/radiant-clipped-extension.rb +2 -0
  62. data/lib/radiant-clipped-extension/version.rb +3 -0
  63. data/lib/tasks/clipped_extension_tasks.rake +126 -0
  64. data/lib/tasks/paperclip_tasks.rake +79 -0
  65. data/public/flash/ZeroClipboard.swf +0 -0
  66. data/public/images/admin/assets/add.png +0 -0
  67. data/public/images/admin/assets/archive_icon.png +0 -0
  68. data/public/images/admin/assets/audio_icon.png +0 -0
  69. data/public/images/admin/assets/audio_thumbnail.png +0 -0
  70. data/public/images/admin/assets/c_icon.png +0 -0
  71. data/public/images/admin/assets/copy.png +0 -0
  72. data/public/images/admin/assets/css_icon.png +0 -0
  73. data/public/images/admin/assets/database_icon.png +0 -0
  74. data/public/images/admin/assets/delete.png +0 -0
  75. data/public/images/admin/assets/document_icon.png +0 -0
  76. data/public/images/admin/assets/document_thumbnail.png +0 -0
  77. data/public/images/admin/assets/flash_icon.png +0 -0
  78. data/public/images/admin/assets/flash_thumbnail.png +0 -0
  79. data/public/images/admin/assets/font_icon.png +0 -0
  80. data/public/images/admin/assets/gzip_icon.png +0 -0
  81. data/public/images/admin/assets/html_icon.png +0 -0
  82. data/public/images/admin/assets/image_icon.png +0 -0
  83. data/public/images/admin/assets/image_thumbnail.png +0 -0
  84. data/public/images/admin/assets/java_icon.png +0 -0
  85. data/public/images/admin/assets/page_edit.png +0 -0
  86. data/public/images/admin/assets/perl_icon.png +0 -0
  87. data/public/images/admin/assets/php_icon.png +0 -0
  88. data/public/images/admin/assets/presentation_icon.png +0 -0
  89. data/public/images/admin/assets/python_icon.png +0 -0
  90. data/public/images/admin/assets/reorder_assets.png +0 -0
  91. data/public/images/admin/assets/ruby_icon.png +0 -0
  92. data/public/images/admin/assets/script_icon.png +0 -0
  93. data/public/images/admin/assets/spreadsheet_icon.png +0 -0
  94. data/public/images/admin/assets/tar_icon.png +0 -0
  95. data/public/images/admin/assets/unknown_icon.png +0 -0
  96. data/public/images/admin/assets/unknown_thumbnail.png +0 -0
  97. data/public/images/admin/assets/video_icon.png +0 -0
  98. data/public/images/admin/assets/video_thumbnail.png +0 -0
  99. data/public/images/admin/assets/xml_icon.png +0 -0
  100. data/public/images/admin/assets/zip_icon.png +0 -0
  101. data/public/javascripts/admin/assets.js +296 -0
  102. data/public/stylesheets/sass/admin/assets.sass +209 -0
  103. data/radiant-clipped-extension.gemspec +33 -0
  104. data/spec/controllers/admin/assets_controller_spec.rb +50 -0
  105. data/spec/controllers/admin/page_attachments_controller_spec.rb +50 -0
  106. data/spec/datasets/assets_dataset.rb +35 -0
  107. data/spec/fixtures/test.flv +0 -0
  108. data/spec/lib/asset_tags_spec.rb +101 -0
  109. data/spec/lib/frame_grab_spec.rb +17 -0
  110. data/spec/lib/geometry_transformation_spec.rb +63 -0
  111. data/spec/models/asset_spec.rb +72 -0
  112. data/spec/models/asset_type_spec.rb +63 -0
  113. data/spec/spec.opts +6 -0
  114. data/spec/spec_helper.rb +36 -0
  115. data/wireframes/edit-page-assets-2.bmml +453 -0
  116. data/wireframes/edit-page-assets-2.png +0 -0
  117. data/wireframes/edit-page-assets-3.bmml +454 -0
  118. data/wireframes/edit-page-assets-3.png +0 -0
  119. data/wireframes/edit-page-assets.bmml +433 -0
  120. data/wireframes/edit-page-assets.png +0 -0
  121. data/wireframes/edit-page.bmml +174 -0
  122. data/wireframes/edit-page.png +0 -0
  123. metadata +249 -0
@@ -0,0 +1,108 @@
1
+ ---
2
+ en:
3
+ assets: 'Assets'
4
+ asset_types:
5
+ all: 'All'
6
+ documents: 'Documents'
7
+ images: 'Images'
8
+ others: 'Others'
9
+ audios: 'Audio'
10
+ flashes: 'Flash'
11
+ videos: 'Video'
12
+ pdfs: 'PDFs'
13
+ swfs: 'Flash'
14
+
15
+ activerecord:
16
+ errors:
17
+ models:
18
+ asset:
19
+ attributes:
20
+ asset:
21
+ blank: 'You must choose a file to upload!'
22
+
23
+ clipped_extension:
24
+ actions: Actions
25
+ all: 'All'
26
+ all_thumbnails_refreshed: 'All asset thumbnails refreshed.'
27
+ alt_text_or_title: 'Alt-Text or Title <span class="hint">(optional)</span>'
28
+ asset: 'Asset'
29
+ asset_edit_title: 'Edit Asset'
30
+ asset_errors: 'Sorry. {{errors}}'
31
+ asset_page_attachment_note: 'Attached assets. These can be inserted with drag and drop or shown with the <code>&lt;r:assets:each /&gt;</code> tag.'
32
+ asset_note: 'Attached assets. '
33
+ assets: 'Assets'
34
+ assets_explanation: 'Assets and images can be uploaded and then attached or inserted into pages, snippets and layouts. Click on a asset name above to edit it or click <code>Remove</code> to delete it.'
35
+ assets_title: 'Assets'
36
+ asset_page_upload_note: 'Assets uploaded here will be automatically associated with this page.'
37
+ asset_upload_note: 'Choose an asset to upload here. If the <code>Title</code> field is left blank, the filename (without the file type) will be automatically added. By clicking on <code>More</code>, you can add a caption as well.'
38
+ attached_assets: 'Attached Assets'
39
+ attach: 'Attach'
40
+ attach_asset: 'attach asset'
41
+ attach_assets: 'Attach assets'
42
+ attach_existing: 'Attach Existing Assets'
43
+ attach_to_page: 'Attach to page'
44
+ audio: 'Audio'
45
+ cancel_attachment: 'Unattach'
46
+ copy: 'Copy'
47
+ copy_alt: 'copy radius tag to clipboard'
48
+ choose_file: 'Choose File'
49
+ documents: 'Documents'
50
+ caption: 'Caption'
51
+ confirm_refresh_assets: 'Are you sure you want to regenerate every asset thumbnail? This is likely to take a long time and use a lot of server resources: <strong class="warning">the performance of your site is very likely to be affected</strong> and your browser may time out before the operation is complete. This is only recommended if your asset collection is small!'
52
+ confirm_remove_asset: 'Are you sure you want to <strong class="warning">permanently remove</strong> the following asset?'
53
+ confirm_remove_from_page: 'Are you sure you want to remove this assets from the page?'
54
+ delete_asset: 'Delete Asset'
55
+ detach: 'Detach'
56
+ edit: 'Edit'
57
+ edit_asset: 'Edit {{asset}}'
58
+ filename: 'Filename'
59
+ find_assets: 'Find Assets'
60
+ images: 'Images'
61
+ images_automatically_created: 'images are automatically created'
62
+ insert: 'Insert'
63
+ modify: 'Modify'
64
+ movies: 'Movies'
65
+ need_to_upload: 'Need to upload?'
66
+ new_asset: 'New Asset'
67
+ no_assets_found: 'There were no assets found'
68
+ no_assets: 'No Assets'
69
+ no_attached_assets: 'No assets attached.'
70
+ others: 'Others'
71
+ refresh_assets: 'Regenerate all thumbnails'
72
+ regenerate: 'Regenerate'
73
+ regenerate_thumbnails: 'Regenerate Thumbnails'
74
+ remove_asset: 'Remove Asset'
75
+ remove_from_page: 'Remove from page'
76
+ reorder: 'Reorder'
77
+ remove: 'Remove'
78
+ refresh_assets_rake_task: 'For better results please log into your server and run <code>rake paperclip:refresh class=Asset</code>.'
79
+ replace_file: 'Replace File'
80
+ save_and_upload: 'Save and Upload'
81
+ search_assets: 'Search for assets'
82
+ search: 'Search'
83
+ select: 'Select'
84
+ thumbnails_refreshed: "Thumbnails refreshed."
85
+ title: 'Title'
86
+ type: 'Type'
87
+ types_to_find: 'Types to find'
88
+ upload: 'Upload'
89
+ upload_asset: 'Upload Asset'
90
+
91
+ config:
92
+ assets:
93
+ additional_thumbnails: 'Additional Thumbnails'
94
+ content_types: 'Content Types'
95
+ create_image_thumbnails?: 'Image thumbnails'
96
+ create_pdf_thumbnails?: 'PDF thumbnails'
97
+ create_video_thumbnails?: 'Video thumbnails'
98
+ display_size: 'Display Size'
99
+ insertion_size: 'Insertion Size'
100
+ max_asset_size: 'Max Asset Size'
101
+ path: 'Path'
102
+ s3:
103
+ bucket: 'Bucket'
104
+ key: 'Key'
105
+ secret: 'Secret'
106
+ skip_filetype_validation: 'Skip Filetype Validation'
107
+ storage: 'Storage'
108
+ url: 'Url'
@@ -0,0 +1,105 @@
1
+ ---
2
+ nl:
3
+ assets: 'Bestanden'
4
+ asset_types:
5
+ all: 'Alle'
6
+ documents: 'Documenten'
7
+ images: 'Afbeeldingen'
8
+ others: 'Andere'
9
+ audios: 'Audio'
10
+ flashes: 'Flash'
11
+ videos: 'Video'
12
+ pdfs: 'PDFs'
13
+ swfs: 'Flash'
14
+
15
+ activerecord:
16
+ errors:
17
+ models:
18
+ asset:
19
+ attributes:
20
+ asset:
21
+ blank: 'Er werd geen bestand geselecteerd om te uploaden!'
22
+
23
+ clipped_extension:
24
+ actions: Acties
25
+ all: 'Alle'
26
+ alt_text_or_title: 'Alt-Tekst of Titel <span class="hint">(optioneel)</span>'
27
+ asset: 'Bestand'
28
+ asset_edit_title: 'Bestand aanpassen'
29
+ asset_errors: 'Sorry. {{errors}}'
30
+ asset_page_attachment_note: 'Gekoppelde bestanden. Deze kunnen ingevoegd worden d.m.v. "drag & drop" of met de <code>&lt;r:assets:each /&gt;</code> tag.'
31
+ asset_note: 'Gekoppelde bestanden. '
32
+ assets: 'Bestanden'
33
+ assets_explanation: "Bestanden en afbeeldingen kunnen geüpload worden, en daarna gekoppeld of ingevoegd in pagina's pages, snippets en layouts. Klik op de naam van een bestand om het aan te passen."
34
+ assets_title: 'Bestanden'
35
+ asset_page_upload_note: 'Bestanden die je hier uploadt, zullen automatisch gekoppeld zijn aan deze pagina.'
36
+ asset_upload_note: 'Kies hier een bestand dat je wil uploaden. Als je het <code>Titel</code> veld leeg laat, wordt de naam afgeleid van de bestandsnaam. Klik <code>More</code> om een onderschrift toe te voegen.'
37
+ attached_assets: 'Gekoppelde bestanden'
38
+ attach: 'Koppelen'
39
+ attach_asset: 'Bestand koppelen'
40
+ attach_assets: 'Bestanden koppelen'
41
+ attach_existing: 'Bestaande bestanden koppelen'
42
+ attach_to_page: 'Koppelen aan pagina'
43
+ audio: 'Audio'
44
+ cancel_attachment: 'Ontkoppelen'
45
+ copy: 'Kopieren'
46
+ copy_alt: 'kopieer radius tag naar je klembord'
47
+ choose_file: 'Kies bestand'
48
+ documents: 'Documenten'
49
+ caption: 'Onderschrift'
50
+ confirm_remove_asset: 'Ben je zeker dat je dit bestand <strong class="warning">permanent</strong> wil verwijderen?'
51
+ confirm_remove_from_page: 'Ben je zeker dat je dit bestand wilt ontkoppelen van deze pagina?'
52
+ delete_asset: 'Bestand Verwijderen'
53
+ detach: 'Ontkoppelen'
54
+ edit: 'Aanpassen'
55
+ edit_asset: '{{asset}} aanpassen'
56
+ filename: 'Bestandsnaam'
57
+ find_assets: 'Bestanden zoeken'
58
+ images: 'Afbeeldingen'
59
+ images_automatically_created: 'afbeeldingen worden automatisch gecreëerd'
60
+ insert: 'Invoegen'
61
+ modify: 'Bijwerken'
62
+ movies: 'Filmpjes'
63
+ need_to_upload: 'Een afbeelding uploaden?'
64
+ new_asset: 'Nieuw bestand'
65
+ no_assets_found: 'Er werden geen bestanden gevonden'
66
+ no_assets: 'Geen bestanden'
67
+ no_attached_assets: 'Geen gekoppelde bestanden.'
68
+ others: 'Andere'
69
+ regenerate_all_thumbnails: 'Je kunt hier alle thumbnails opnieuw genereren. Hou er rekening mee dat dit even kan duren, en zeer belastend kan zijn voor de server.'
70
+ regenerate: 'Opnieuw genereren'
71
+ regenerate_thumbnails: 'Thumbnails opnieuw genereren'
72
+ remove_asset: 'Bestand verwijderen'
73
+ remove_from_page: 'Verwijderen van pagina'
74
+ reorder: 'Herschikken'
75
+ remove: 'Verwijderen'
76
+ replace_file: 'Bestand vervangen'
77
+ save_and_upload: 'Opslaan en uploaden'
78
+ search_assets: 'Zoek naar bestanden'
79
+ search: 'Zoek'
80
+ select: 'Selecteer'
81
+ thumbnails_refreshed: "Thumbnails successvol vernieuwd."
82
+ title: 'Titel'
83
+ type: 'Type'
84
+ types_to_find: 'Te doorzoeken types'
85
+ upload: 'Uploaden'
86
+ upload_asset: 'Bestand Uploaden'
87
+
88
+ config:
89
+ assets:
90
+ additional_thumbnails: 'Bijkomende thumbnail types'
91
+ content_types: 'Content Types'
92
+ create_image_thumbnails?: 'Genereer afbeelding thumbnails'
93
+ create_pdf_thumbnails?: 'Genereer PDF thumbnails'
94
+ create_video_thumbnails?: 'Genereer Video thumbnails'
95
+ display_size: 'Display Size'
96
+ insertion_size: 'Insertion Size'
97
+ max_asset_size: 'Max Asset Size'
98
+ path: 'Pad'
99
+ s3:
100
+ bucket: 'Bucket'
101
+ key: 'Key'
102
+ secret: 'Secret'
103
+ skip_filetype_validation: 'Laat alle bestandstypes toe'
104
+ storage: 'Storage'
105
+ url: 'Url'
data/config/routes.rb ADDED
@@ -0,0 +1,8 @@
1
+ ActionController::Routing::Routes.draw do |map|
2
+ map.namespace :admin, :member => { :remove => :get } do |admin|
3
+ admin.resources :assets, :collection => { :refresh => :get, :regenerate => :post }, :member => { :refresh => :put }
4
+ admin.resources :page_attachments, :only => [:new]
5
+ admin.resources :pages, :has_many => :page_attachments
6
+ end
7
+ end
8
+
data/cucumber.yml ADDED
@@ -0,0 +1 @@
1
+ default: --format progress features --tags ~@proposed,~@in_progress
@@ -0,0 +1,12 @@
1
+ class CreateAssets < ActiveRecord::Migration
2
+ def self.up
3
+ create_table :assets do |t|
4
+ t.string :caption, :title
5
+ end
6
+
7
+ end
8
+
9
+ def self.down
10
+ drop_table :assets
11
+ end
12
+ end
@@ -0,0 +1,13 @@
1
+ class CreatePaperclipAttributes < ActiveRecord::Migration
2
+ def self.up
3
+ add_column :assets, :asset_file_name, :string
4
+ add_column :assets, :asset_content_type, :string
5
+ add_column :assets, :asset_file_size, :integer
6
+ end
7
+
8
+ def self.down
9
+ remove_column :assets, :asset_file_name
10
+ remove_column :assets, :asset_content_type
11
+ remove_column :assets, :asset_file_size
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ class CreateUserObserver < ActiveRecord::Migration
2
+ def self.up
3
+ add_column :assets, :created_by, :integer
4
+ add_column :assets, :updated_by, :integer
5
+ add_column :assets, :created_at, :datetime
6
+ add_column :assets, :updated_at, :datetime
7
+ end
8
+
9
+ def self.down
10
+ remove_column :assets, :created_by
11
+ remove_column :assets, :updated_by
12
+ end
13
+ end
@@ -0,0 +1,19 @@
1
+ class CreatePageAttachments < ActiveRecord::Migration
2
+ def self.up
3
+ # See if a page_attachments table from the original 'page_attachments' extension already exists
4
+ # If so, rename the table to old_page_attachments so they can be migrated later
5
+ if self.connection.tables.include?('page_attachments')
6
+ rename_table :page_attachments, :old_page_attachments
7
+ end
8
+ create_table :page_attachments do |t|
9
+ t.column :asset_id, :integer
10
+ t.column :page_id, :integer
11
+ t.column :position, :integer
12
+ end
13
+
14
+ end
15
+
16
+ def self.down
17
+ drop_table :page_attachments
18
+ end
19
+ end
@@ -0,0 +1,13 @@
1
+ class RenameUsers < ActiveRecord::Migration
2
+
3
+ def self.up
4
+ rename_column :assets, :created_by, :created_by_id
5
+ rename_column :assets, :updated_by, :updated_by_id
6
+ end
7
+
8
+ def self.down
9
+ rename_column :assets, :created_by_id, :created_by
10
+ rename_column :assets, :updated_by_id, :updated_by
11
+ end
12
+
13
+ end
@@ -0,0 +1,20 @@
1
+ class DisableFileTypes < ActiveRecord::Migration
2
+ def self.up
3
+ if defined? SettingsExtension && Radiant::Config.column_names.include?('description')
4
+ puts "-- Adding Settings Extension descriptions for assets.skip_filetype_validations"
5
+
6
+ Radiant::Config.find(:all).each do |c|
7
+ description = case c.key
8
+ when 'assets.skip_filetype_validations'
9
+ 'When set to true, disables the filetype validations. Set to false to enable them.'
10
+ else
11
+ c.description
12
+ end
13
+ c.update_attribute :description, description
14
+ end
15
+ end
16
+ end
17
+
18
+ def self.down
19
+ end
20
+ end
@@ -0,0 +1,11 @@
1
+ class AssetUuid < ActiveRecord::Migration
2
+ def self.up
3
+ add_column :assets, :uuid, :string
4
+ Asset.reset_column_information
5
+ Asset.all.each { |a| a.save! } # triggers assign_uuid
6
+ end
7
+
8
+ def self.down
9
+ remove_column :assets, :uuid
10
+ end
11
+ end
@@ -0,0 +1,28 @@
1
+ class UpdateConfiguration < ActiveRecord::Migration
2
+ def self.up
3
+ if Radiant.config.table_exists?
4
+
5
+ puts "Importing paperclip configuration"
6
+ %w{url path skip_filetype_validation storage}.select{|k| !!Radiant.config["assets.#{k}"] }.each do |k|
7
+ Radiant.config["paperclip.#{k}"] = Radiant.config["assets.#{k}"]
8
+ end
9
+
10
+ puts "Importing s3 storage configuration"
11
+ %w{bucket key secret host_alias}.select{|k| !!Radiant.config["assets.s3.#{k}"] }.each do |k|
12
+ Radiant.config["paperclip.s3.#{k}"] = Radiant.config["assets.s3.#{k}"]
13
+ end
14
+
15
+ puts "Importing thumbnail configuration"
16
+ if thumbnails = Radiant.config["assets.additional_thumbnails"]
17
+ old_styles = thumbnails.to_s.gsub(' ','').split(',').collect{|s| s.split('=')}.inject({}) {|ha, (k, v)| ha[k.to_sym] = v; ha}
18
+ new_styles = old_styles.map {|k,v| "#{k}:size=#{v}"}
19
+ Radiant.config["assets.thumbnails.image"] = new_styles.join("|")
20
+ Radiant.config["assets.thumbnails.video"] = new_styles.map{|s| "#{s},format=jpg"}.join("|")
21
+ Radiant.config["assets.thumbnails.pdf"] = new_styles.map{|s| "#{s},format=jpg"}.join("|")
22
+ end
23
+ end
24
+ end
25
+
26
+ def self.down
27
+ end
28
+ end
@@ -0,0 +1,13 @@
1
+ class Dimensions < ActiveRecord::Migration
2
+ def self.up
3
+ add_column :assets, :original_width, :integer
4
+ add_column :assets, :original_height, :integer
5
+ add_column :assets, :original_extension, :string
6
+ end
7
+
8
+ def self.down
9
+ remove_column :assets, :original_width
10
+ remove_column :assets, :original_height
11
+ remove_column :assets, :original_extension
12
+ end
13
+ end
@@ -0,0 +1,11 @@
1
+ # Sets up the Rails environment for Cucumber
2
+ ENV["RAILS_ENV"] = "test"
3
+ # Extension root
4
+ extension_env = File.expand_path(File.dirname(__FILE__) + '/../../../../../config/environment')
5
+ require extension_env+'.rb'
6
+
7
+ Dir.glob(File.join(RADIANT_ROOT, "features", "**", "*.rb")).each {|step| require step unless step =~ /datasets_loader\.rb$/}
8
+
9
+ Cucumber::Rails::World.class_eval do
10
+ dataset :assets
11
+ end
@@ -0,0 +1,22 @@
1
+ module NavigationHelpers
2
+
3
+ # Extend the standard PathMatchers with your own paths
4
+ # to be used in your features.
5
+ #
6
+ # The keys and values here may be used in your standard web steps
7
+ # Using:
8
+ #
9
+ # When I go to the "assets" admin page
10
+ #
11
+ # would direct the request to the path you provide in the value:
12
+ #
13
+ # admin_assets_path
14
+ #
15
+ PathMatchers = {} unless defined?(PathMatchers)
16
+ PathMatchers.merge!({
17
+ # /assets/i => 'admin_assets_path'
18
+ })
19
+
20
+ end
21
+
22
+ World(NavigationHelpers)
@@ -0,0 +1,32 @@
1
+ module ClippedAdminUI
2
+
3
+ def self.included(base)
4
+ base.class_eval do
5
+
6
+ attr_accessor :asset
7
+ alias_method :assets, :asset
8
+
9
+ protected
10
+
11
+ def load_default_asset_regions
12
+ OpenStruct.new.tap do |asset|
13
+ asset.edit = Radiant::AdminUI::RegionSet.new do |edit|
14
+ edit.main.concat %w{edit_header edit_form edit_regenerate}
15
+ edit.form.concat %w{edit_title edit_metadata}
16
+ end
17
+ asset.new = asset.edit
18
+ asset.index = Radiant::AdminUI::RegionSet.new do |index|
19
+ index.top.concat %w{filters}
20
+ index.bottom.concat %w{}
21
+ index.thead.concat %w{thumbnail_header content_type_header actions_header}
22
+ index.tbody.concat %w{thumbnail_cell title_cell content_type_cell actions_cell}
23
+ index.paginate
24
+ end
25
+ asset.remove = asset.index
26
+ end
27
+ end
28
+ end
29
+
30
+ end
31
+ end
32
+