renamed assets to uploads
Hesham E
committed Sep 15, 2010
commit 2396d0edb11a575fd6c109fac2ecb2c357cb0bc4
Showing 24
changed files with
174 additions
and 172 deletions
app/controllers/cms_admin/assets_controller.rb
+0
-27
| @@ | @@ -1,27 +0,0 @@ |
| - | class CmsAdmin::AssetsController < CmsAdmin::BaseController |
| - | before_filter :load_cms_asset, |
| - | :only => :destroy |
| - | |
| - | def index |
| - | end |
| - | |
| - | def create |
| - | @cms_asset = CmsAsset.new(:uploaded_file => params[:file]) |
| - | if @cms_asset.save |
| - | render(:partial => 'cms_admin/assets/asset', :object => @cms_asset) |
| - | else |
| - | render :nothing => true |
| - | end |
| - | end |
| - | |
| - | def destroy |
| - | @cms_asset.destroy |
| - | end |
| - | |
| - | protected |
| - | def load_cms_asset |
| - | @cms_asset = CmsAsset.find(params[:id]) |
| - | rescue ActiveRecord::RecordNotFound |
| - | render :nothing => true |
| - | end |
| - | end |
app/controllers/cms_admin/uploads_controller.rb
+27
-0
| @@ | @@ -0,0 +1,27 @@ |
| + | class CmsAdmin::UploadsController < CmsAdmin::BaseController |
| + | before_filter :load_cms_upload, |
| + | :only => :destroy |
| + | |
| + | def index |
| + | end |
| + | |
| + | def create |
| + | @cms_upload = CmsUpload.new(:uploaded_file => params[:file]) |
| + | if @cms_upload.save |
| + | render(:partial => 'cms_admin/uploads/upload', :object => @cms_upload) |
| + | else |
| + | render :nothing => true |
| + | end |
| + | end |
| + | |
| + | def destroy |
| + | @cms_upload.destroy |
| + | end |
| + | |
| + | protected |
| + | def load_cms_upload |
| + | @cms_upload = CmsUpload.find(params[:id]) |
| + | rescue ActiveRecord::RecordNotFound |
| + | render :nothing => true |
| + | end |
| + | end |
app/controllers/cms_content_controller.rb
+6
-0
| @@ | @@ -3,5 +3,11 @@ class CmsContentController < ApplicationController |
| def render_page | |
| # TODO | |
| end | |
| + | |
| + | def styles |
| + | end |
| + | |
| + | def javascripts |
| + | end |
| end | |
app/models/cms_asset.rb
+0
-44
| @@ | @@ -1,44 +0,0 @@ |
| - | class CmsAsset < ActiveRecord::Base |
| - | |
| - | # -- AR Extensions -------------------------------------------------------- |
| - | |
| - | has_attached_file :file, |
| - | :styles => { :thumb => '48x48>' } |
| - | |
| - | before_post_process :image? |
| - | |
| - | # -- Validations ---------------------------------------------------------- |
| - | |
| - | validates_attachment_presence :file |
| - | |
| - | # -- Relationships -------------------------------------------------------- |
| - | |
| - | belongs_to :cms_page |
| - | |
| - | # -- Instance Methods ----------------------------------------------------- |
| - | |
| - | def image? |
| - | !(file_content_type =~ /^image.*/).nil? |
| - | end |
| - | |
| - | def uploaded_file=(data) |
| - | if data.present? |
| - | data.content_type = MIME::Types.type_for(data.original_filename).to_s |
| - | self.file = data |
| - | end |
| - | end |
| - | |
| - | def icon |
| - | if self.image? |
| - | self.file.url(:thumb) |
| - | else |
| - | ext = self.file_file_name.split('.').last |
| - | if FILE_ICONS.include?(ext) |
| - | "cms/file_icons/#{ext}.png" |
| - | else |
| - | "cms/file_icons/_blank.png" |
| - | end |
| - | end |
| - | end |
| - | |
| - | end |
app/models/cms_page.rb
+0
-2
| @@ | @@ -9,8 +9,6 @@ class CmsPage < ActiveRecord::Base |
| belongs_to :cms_layout | |
| has_many :cms_blocks, | |
| :dependent => :destroy | |
| - | has_many :cms_assets, |
| - | :dependent => :destroy |
| accepts_nested_attributes_for :cms_blocks | |
app/models/cms_upload.rb
+44
-0
| @@ | @@ -0,0 +1,44 @@ |
| + | class CmsUpload < ActiveRecord::Base |
| + | |
| + | # -- AR Extensions -------------------------------------------------------- |
| + | |
| + | has_attached_file :file, |
| + | :styles => { :thumb => '48x48>' } |
| + | |
| + | before_post_process :image? |
| + | |
| + | # -- Validations ---------------------------------------------------------- |
| + | |
| + | validates_attachment_presence :file |
| + | |
| + | # -- Relationships -------------------------------------------------------- |
| + | |
| + | belongs_to :cms_page |
| + | |
| + | # -- Instance Methods ----------------------------------------------------- |
| + | |
| + | def image? |
| + | !(file_content_type =~ /^image.*/).nil? |
| + | end |
| + | |
| + | def uploaded_file=(data) |
| + | if data.present? |
| + | data.content_type = MIME::Types.type_for(data.original_filename).to_s |
| + | self.file = data |
| + | end |
| + | end |
| + | |
| + | def icon |
| + | if self.image? |
| + | self.file.url(:thumb) |
| + | else |
| + | ext = self.file_file_name.split('.').last |
| + | if FILE_ICONS.include?(ext) |
| + | "cms/file_icons/#{ext}.png" |
| + | else |
| + | "cms/file_icons/_blank.png" |
| + | end |
| + | end |
| + | end |
| + | |
| + | end |
app/views/cms_admin/assets/_asset.html.erb
+0
-11
| @@ | @@ -1,11 +0,0 @@ |
| - | <div class='asset' id="<%= dom_id(asset) %>"> |
| - | <div class='thumb'> |
| - | <%= image_tag(asset.icon) %> |
| - | <%= link_to 'delete', cms_admin_asset_path(asset), :method => :delete, :remote => true %> |
| - | </div> |
| - | <div class='name'> |
| - | <%= link_to asset.file_file_name, asset.file.url, :target => '_blank' %> |
| - | </div> |
| - | </div> |
| - | |
| - | |
app/views/cms_admin/assets/_index.html.erb
+0
-8
| @@ | @@ -1,8 +0,0 @@ |
| - | <div id='upload_container'> |
| - | <div id='filelist'></div> |
| - | <%= link_to 'select files', '#', :id => 'pickfiles', :class => 'button' %> |
| - | </div> |
| - | |
| - | <div id='assets_list'> |
| - | <%= render :partial => 'cms_admin/assets/asset', :collection => CmsAsset.all %> |
| - | </div> |
| \ No newline at end of file | |
app/views/cms_admin/assets/destroy.js.erb
+0
-3
| @@ | @@ -1,3 +0,0 @@ |
| - | $("#<%= dom_id(@cms_asset) %>").fadeOut('slow', function(){ |
| - | $(this).remove() |
| - | }) |
| \ No newline at end of file | |
app/views/cms_admin/assets/index.html.erb
+0
-2
| @@ | @@ -1,2 +0,0 @@ |
| - | <h1>Assets</h1> |
| - | <%= render :partial => 'index' %> |
| \ No newline at end of file | |
app/views/cms_admin/pages/_form.html.erb
+2
-2
| @@ | @@ -4,5 +4,5 @@ |
| <%= render :partial => 'form_blocks' %> | |
| - | <h2>Assets</h2> |
| - | <%= render :partial => 'cms_admin/assets/index' %> |
| \ No newline at end of file | |
| + | <h2>Uploads</h2> |
| + | <%= render :partial => 'cms_admin/uploads/index' %> |
| \ No newline at end of file | |
app/views/cms_admin/uploads/_index.html.erb
+8
-0
| @@ | @@ -0,0 +1,8 @@ |
| + | <div id='upload_container'> |
| + | <div id='filelist'></div> |
| + | <%= link_to 'select files', '#', :id => 'pickfiles', :class => 'button' %> |
| + | </div> |
| + | |
| + | <div id='uploads_list'> |
| + | <%= render :partial => 'cms_admin/uploads/upload', :collection => CmsUpload.all %> |
| + | </div> |
| \ No newline at end of file | |
app/views/cms_admin/uploads/_upload.html.erb
+11
-0
| @@ | @@ -0,0 +1,11 @@ |
| + | <div class='upload' id="<%= dom_id(upload) %>"> |
| + | <div class='thumb'> |
| + | <%= image_tag(upload.icon) %> |
| + | <%= link_to 'delete', cms_admin_upload_path(upload), :method => :delete, :remote => true %> |
| + | </div> |
| + | <div class='name'> |
| + | <%= link_to upload.file_file_name, upload.file.url, :target => '_blank' %> |
| + | </div> |
| + | </div> |
| + | |
| + | |
app/views/cms_admin/uploads/destroy.js.erb
+3
-0
| @@ | @@ -0,0 +1,3 @@ |
| + | $("#<%= dom_id(@cms_upload) %>").fadeOut('slow', function(){ |
| + | $(this).remove() |
| + | }) |
| \ No newline at end of file | |
app/views/cms_admin/uploads/index.html.erb
+2
-0
| @@ | @@ -0,0 +1,2 @@ |
| + | <h1>Uploads</h1> |
| + | <%= render :partial => 'index' %> |
| \ No newline at end of file | |
config/routes.rb
+1
-1
| @@ | @@ -8,7 +8,7 @@ Rails.application.routes.draw do |
| end | |
| end | |
| resources :snippets | |
| - | resources :assets |
| + | resources :uploads |
| end | |
| match '*cms_path', :to => 'cms_content#render_page', :via => :get | |
migrate/01_create_cms.rb b/db/migrate/01_create_cms.rb
+2
-4
| @@ | @@ -51,14 +51,12 @@ class CreateCms < ActiveRecord::Migration |
| add_index :cms_snippets, :label, :unique => true | |
| # -- Assets ------------------------------------------------------------- | |
| - | create_table :cms_assets do |t| |
| - | t.integer :cms_page_id |
| + | create_table :cms_uploads do |t| |
| t.string :file_file_name | |
| t.string :file_content_type | |
| t.integer :file_file_size | |
| t.timestamps | |
| end | |
| - | add_index :cms_assets, :cms_page_id |
| end | |
| @@ | @@ -67,6 +65,6 @@ class CreateCms < ActiveRecord::Migration |
| drop_table :cms_pages | |
| drop_table :cms_snippets | |
| drop_table :cms_blocks | |
| - | drop_table :cms_assets |
| + | drop_table :cms_uploads |
| end | |
| end | |
public/javascripts/cms/uploader.js
+2
-2
| @@ | @@ -13,7 +13,7 @@ $.CMS.Uploader = function(){ |
| unique_names: true, | |
| multipart: true, | |
| multipart_params: { authenticity_token: auth_token, format: 'js' }, | |
| - | url: '/cms-admin/assets' |
| + | url: '/cms-admin/uploads' |
| }); | |
| uploader.init(); | |
| @@ | @@ -35,7 +35,7 @@ $.CMS.Uploader = function(){ |
| }); | |
| uploader.bind('FileUploaded', function(up, file, response){ | |
| - | $('#assets_list').append(response.response); |
| + | $('#uploads_list').append(response.response); |
| $('#'+file.id).fadeOut(4000, function() { | |
| $('#'+file.id).remove(); | |
| }); | |
test/fixtures/cms_assets.yml
+0
-4
| @@ | @@ -1,4 +0,0 @@ |
| - | default: |
| - | file_file_name: sample.jpg |
| - | file_content_type: image/jpeg |
| - | file_file_size: 20099 |
| \ No newline at end of file | |
test/fixtures/cms_uploads.yml
+4
-0
| @@ | @@ -0,0 +1,4 @@ |
| + | default: |
| + | file_file_name: sample.jpg |
| + | file_content_type: image/jpeg |
| + | file_file_size: 20099 |
| \ No newline at end of file | |
test/functional/cms_admin/assets_controller_test.rb
+0
-32
| @@ | @@ -1,32 +0,0 @@ |
| - | require 'test_helper' |
| - | |
| - | class CmsAdmin::AssetsControllerTest < ActionController::TestCase |
| - | |
| - | def test_index |
| - | get :index |
| - | assert_response :success |
| - | end |
| - | |
| - | def test_create |
| - | assert_difference 'CmsAsset.count', 1 do |
| - | xhr :post, :create, :file => fixture_file_upload('files/valid_image.jpg') |
| - | assert_response :success |
| - | end |
| - | end |
| - | |
| - | def test_create_fails |
| - | assert_no_difference 'CmsAsset.count' do |
| - | xhr :post, :create, :file => nil |
| - | assert_has_errors_on assigns(:cms_asset), [:file_file_name] |
| - | assert_response :success |
| - | end |
| - | end |
| - | |
| - | def test_destroy |
| - | assert_difference 'CmsAsset.count', -1 do |
| - | xhr :delete, :destroy, :id => cms_assets(:default) |
| - | assert_response :success |
| - | end |
| - | end |
| - | |
| - | end |
test/functional/cms_admin/uploads_controller_test.rb
+32
-0
| @@ | @@ -0,0 +1,32 @@ |
| + | require 'test_helper' |
| + | |
| + | class CmsAdmin::UploadsControllerTest < ActionController::TestCase |
| + | |
| + | def test_index |
| + | get :index |
| + | assert_response :success |
| + | end |
| + | |
| + | def test_create |
| + | assert_difference 'CmsUpload.count', 1 do |
| + | xhr :post, :create, :file => fixture_file_upload('files/valid_image.jpg') |
| + | assert_response :success |
| + | end |
| + | end |
| + | |
| + | def test_create_fails |
| + | assert_no_difference 'CmsUpload.count' do |
| + | xhr :post, :create, :file => nil |
| + | assert_has_errors_on assigns(:cms_upload), [:file_file_name] |
| + | assert_response :success |
| + | end |
| + | end |
| + | |
| + | def test_destroy |
| + | assert_difference 'CmsUpload.count', -1 do |
| + | xhr :delete, :destroy, :id => cms_uploads(:default) |
| + | assert_response :success |
| + | end |
| + | end |
| + | |
| + | end |
test/unit/cms_asset_test.rb
+0
-30
| @@ | @@ -1,30 +0,0 @@ |
| - | require File.dirname(__FILE__) + '/../test_helper' |
| - | |
| - | class CmsAssetTest < ActiveSupport::TestCase |
| - | |
| - | def test_validations |
| - | assert_no_difference 'CmsAsset.count' do |
| - | asset = CmsAsset.create |
| - | assert asset.errors.present? |
| - | assert_has_errors_on asset, [:file_file_name] |
| - | end |
| - | end |
| - | |
| - | def test_create |
| - | assert_difference 'CmsAsset.count', 2 do |
| - | asset = CmsAsset.create(:file => fixture_file_upload('files/valid_image.jpg', 'image/jpeg')) |
| - | assert asset.image? |
| - | asset = CmsAsset.create(:uploaded_file => fixture_file_upload('files/valid_image.jpg')) |
| - | assert asset.image? |
| - | end |
| - | end |
| - | |
| - | def test_create_fails_on_invalid_file |
| - | assert_no_difference 'CmsAsset.count' do |
| - | asset = CmsAsset.create(:file => fixture_file_upload('files/invalid_file.gif', 'image/gif')) |
| - | assert asset.errors.present? |
| - | assert_has_errors_on asset, :file |
| - | end |
| - | end |
| - | |
| - | end |
test/unit/cms_upload_test.rb
+30
-0
| @@ | @@ -0,0 +1,30 @@ |
| + | require File.dirname(__FILE__) + '/../test_helper' |
| + | |
| + | class CmsUploadTest < ActiveSupport::TestCase |
| + | |
| + | def test_validations |
| + | assert_no_difference 'CmsUpload.count' do |
| + | upload = CmsUpload.create |
| + | assert upload.errors.present? |
| + | assert_has_errors_on upload, [:file_file_name] |
| + | end |
| + | end |
| + | |
| + | def test_create |
| + | assert_difference 'CmsUpload.count', 2 do |
| + | upload = CmsUpload.create(:file => fixture_file_upload('files/valid_image.jpg', 'image/jpeg')) |
| + | assert upload.image? |
| + | upload = CmsUpload.create(:uploaded_file => fixture_file_upload('files/valid_image.jpg')) |
| + | assert upload.image? |
| + | end |
| + | end |
| + | |
| + | def test_create_fails_on_invalid_file |
| + | assert_no_difference 'CmsUpload.count' do |
| + | upload = CmsUpload.create(:file => fixture_file_upload('files/invalid_file.gif', 'image/gif')) |
| + | assert upload.errors.present? |
| + | assert_has_errors_on upload, :file |
| + | end |
| + | end |
| + | |
| + | end |