comfortable_mexican_sofa 1.3.8 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -1
- data/README.md +1 -1
- data/VERSION +1 -1
- data/app/assets/images/comfortable_mexican_sofa/jquery_ui/ui-bg_inset-soft_95_fef1ec_1x100.png +0 -0
- data/app/assets/javascripts/comfortable_mexican_sofa/application.js +38 -25
- data/app/assets/javascripts/comfortable_mexican_sofa/jquery_ui.js +176 -174
- data/app/assets/stylesheets/comfortable_mexican_sofa/content.css +142 -32
- data/app/assets/stylesheets/comfortable_mexican_sofa/form.css +12 -0
- data/app/assets/stylesheets/comfortable_mexican_sofa/jquery_ui.css +16 -16
- data/app/assets/stylesheets/comfortable_mexican_sofa/structure.css +3 -2
- data/app/assets/stylesheets/comfortable_mexican_sofa/widgets.css +2 -1
- data/app/controllers/cms_admin/categories_controller.rb +33 -0
- data/app/controllers/cms_admin/files_controller.rb +82 -0
- data/app/controllers/cms_admin/pages_controller.rb +8 -4
- data/app/controllers/cms_admin/snippets_controller.rb +1 -1
- data/app/models/cms/categorization.rb +17 -0
- data/app/models/cms/category.rb +22 -0
- data/app/models/cms/{upload.rb → file.rb} +17 -3
- data/app/models/cms/page.rb +1 -0
- data/app/models/cms/site.rb +1 -1
- data/app/models/cms/snippet.rb +2 -0
- data/app/views/cms_admin/categories/_categories.html.erb +6 -0
- data/app/views/cms_admin/categories/_edit.html.erb +7 -0
- data/app/views/cms_admin/categories/_form.html.erb +12 -0
- data/app/views/cms_admin/categories/_index.html.erb +31 -0
- data/app/views/cms_admin/categories/_show.html.erb +16 -0
- data/app/views/cms_admin/categories/create.js.erb +7 -0
- data/app/views/cms_admin/categories/destroy.js.erb +3 -0
- data/app/views/cms_admin/categories/edit.js.erb +3 -0
- data/app/views/cms_admin/categories/update.js.erb +6 -0
- data/app/views/cms_admin/{uploads → files}/_file.html.erb +1 -1
- data/app/views/cms_admin/files/_form.html.erb +15 -0
- data/app/views/cms_admin/files/_index.html.erb +13 -0
- data/app/views/cms_admin/files/create.js.erb +3 -0
- data/app/views/cms_admin/files/destroy.js.erb +3 -0
- data/app/views/cms_admin/files/edit.html.erb +5 -0
- data/app/views/cms_admin/files/index.html.erb +25 -0
- data/app/views/cms_admin/files/new.html.erb +5 -0
- data/app/views/cms_admin/layouts/_form.html.erb +1 -1
- data/app/views/cms_admin/pages/_form.html.erb +3 -1
- data/app/views/cms_admin/pages/_index_branch.html.erb +6 -4
- data/app/views/cms_admin/pages/index.html.erb +2 -0
- data/app/views/cms_admin/snippets/_form.html.erb +3 -1
- data/app/views/cms_admin/snippets/index.html.erb +3 -0
- data/app/views/layouts/cms_admin/_head.html.erb +2 -6
- data/app/views/layouts/cms_admin/_left.html.erb +1 -0
- data/comfortable_mexican_sofa.gemspec +44 -21
- data/config/database.yml +2 -8
- data/config/locales/en.yml +35 -2
- data/config/locales/es.yml +38 -5
- data/config/routes.rb +3 -2
- data/db/migrate/01_create_cms.rb +23 -4
- data/db/migrate/upgrades/05_upgrade_to_1_4_0.rb +33 -0
- data/lib/comfortable_mexican_sofa.rb +6 -5
- data/lib/comfortable_mexican_sofa/{acts_as_tree.rb → extensions/acts_as_tree.rb} +0 -0
- data/lib/comfortable_mexican_sofa/{has_revisions.rb → extensions/has_revisions.rb} +0 -0
- data/lib/comfortable_mexican_sofa/extensions/is_categorized.rb +45 -0
- data/lib/comfortable_mexican_sofa/{is_mirrored.rb → extensions/is_mirrored.rb} +0 -0
- data/lib/comfortable_mexican_sofa/{rails_extensions.rb → extensions/rails.rb} +0 -0
- data/lib/comfortable_mexican_sofa/tag.rb +2 -2
- data/lib/comfortable_mexican_sofa/tags/{upload.rb → file.rb} +6 -6
- data/test/fixtures/cms/categories.yml +3 -0
- data/test/fixtures/cms/categorizations.yml +3 -0
- data/test/fixtures/cms/{uploads.yml → files.yml} +3 -1
- data/test/functional/cms_admin/categories_controller_test.rb +70 -0
- data/test/functional/cms_admin/files_controller_test.rb +168 -0
- data/test/functional/cms_admin/pages_controller_test.rb +19 -1
- data/test/functional/cms_admin/snippets_controller_test.rb +18 -0
- data/test/unit/models/block_test.rb +1 -1
- data/test/unit/models/categorization_test.rb +76 -0
- data/test/unit/models/category_test.rb +39 -0
- data/test/unit/models/file_test.rb +33 -0
- data/test/unit/models/site_test.rb +9 -0
- data/test/unit/tags/asset_test.rb +1 -1
- data/test/unit/tags/field_datetime_test.rb +1 -1
- data/test/unit/tags/field_integer_test.rb +1 -1
- data/test/unit/tags/field_string_test.rb +1 -1
- data/test/unit/tags/field_text_test.rb +1 -1
- data/test/unit/tags/file_test.rb +67 -0
- data/test/unit/tags/helper_test.rb +1 -1
- data/test/unit/tags/page_datetime_test.rb +1 -1
- data/test/unit/tags/page_integer_test.rb +1 -1
- data/test/unit/tags/page_rich_text.rb +1 -1
- data/test/unit/tags/page_string_test.rb +1 -1
- data/test/unit/tags/page_text_test.rb +1 -1
- data/test/unit/tags/partial_test.rb +1 -1
- data/test/unit/tags/snippet_test.rb +1 -1
- metadata +49 -26
- data/app/assets/javascripts/comfortable_mexican_sofa/plupload/plupload.html5.js +0 -1
- data/app/assets/javascripts/comfortable_mexican_sofa/plupload/plupload.js +0 -2
- data/app/controllers/cms_admin/uploads_controller.rb +0 -29
- data/app/views/cms_admin/uploads/_index.html.erb +0 -10
- data/app/views/cms_admin/uploads/destroy.js.erb +0 -3
- data/test/functional/cms_admin/uploads_controller_test.rb +0 -26
- data/test/unit/models/upload_test.rb +0 -32
- data/test/unit/tags/upload_test.rb +0 -67
@@ -1,4 +1,5 @@
|
|
1
1
|
/* -- Dialog Box --------------------------------------------------------- */
|
2
|
+
/*
|
2
3
|
.ui-dialog {
|
3
4
|
border: 1px solid #252525;
|
4
5
|
border-radius: 5px;
|
@@ -32,7 +33,7 @@ a.ui-dialog-titlebar-close {
|
|
32
33
|
top: 4px;
|
33
34
|
right: 4px;
|
34
35
|
}
|
35
|
-
|
36
|
+
*/
|
36
37
|
/* -- WYMeditor ---------------------------------------------------------- */
|
37
38
|
.wym_box {
|
38
39
|
background: #f1f1f1;
|
@@ -0,0 +1,33 @@
|
|
1
|
+
class CmsAdmin::CategoriesController < CmsAdmin::BaseController
|
2
|
+
|
3
|
+
before_filter :load_category, :only => [:edit, :update, :destroy]
|
4
|
+
|
5
|
+
def edit
|
6
|
+
render
|
7
|
+
end
|
8
|
+
|
9
|
+
def create
|
10
|
+
@category = Cms::Category.create!(params[:category])
|
11
|
+
rescue
|
12
|
+
render :nothing => true
|
13
|
+
end
|
14
|
+
|
15
|
+
def update
|
16
|
+
@category.update_attributes!(params[:category])
|
17
|
+
rescue
|
18
|
+
render :nothing => true
|
19
|
+
end
|
20
|
+
|
21
|
+
def destroy
|
22
|
+
@category.destroy
|
23
|
+
end
|
24
|
+
|
25
|
+
protected
|
26
|
+
|
27
|
+
def load_category
|
28
|
+
@category = Cms::Category.find(params[:id])
|
29
|
+
rescue ActiveRecord::RecordNotFound
|
30
|
+
render :nothing => true
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
@@ -0,0 +1,82 @@
|
|
1
|
+
class CmsAdmin::FilesController < CmsAdmin::BaseController
|
2
|
+
|
3
|
+
skip_before_filter :load_fixtures
|
4
|
+
|
5
|
+
before_filter :load_file, :only => [:edit, :update, :destroy]
|
6
|
+
|
7
|
+
def index
|
8
|
+
return redirect_to :action => :new if @site.files.count == 0
|
9
|
+
@files = @site.files.for_category(params[:category]).all(:order => 'cms_files.label')
|
10
|
+
end
|
11
|
+
|
12
|
+
def new
|
13
|
+
@file = @site.files.new
|
14
|
+
end
|
15
|
+
|
16
|
+
def create
|
17
|
+
respond_to do |format|
|
18
|
+
format.html do
|
19
|
+
@file = @site.files.new
|
20
|
+
file_array = params[:file][:file] || [nil]
|
21
|
+
label = params[:file][:label]
|
22
|
+
|
23
|
+
file_array.each_with_index do |file, i|
|
24
|
+
file_params = params[:file].merge(:file => file)
|
25
|
+
if file_array.size > 1 && file_params[:label].present?
|
26
|
+
label = file_params[:label] + " #{i + 1}"
|
27
|
+
end
|
28
|
+
@file = @site.files.create!(file_params.merge(:label => label))
|
29
|
+
end
|
30
|
+
|
31
|
+
flash[:notice] = I18n.t('cms.files.created')
|
32
|
+
redirect_to :action => :edit, :id => @file
|
33
|
+
end
|
34
|
+
format.js do
|
35
|
+
io = request.env['rack.input'].clone
|
36
|
+
io.class.class_eval { attr_accessor :original_filename, :content_type }
|
37
|
+
io.original_filename = request.env['HTTP_X_FILE_NAME']
|
38
|
+
io.content_type = request.env['CONTENT_TYPE']
|
39
|
+
@file = @site.files.create!(:file => io)
|
40
|
+
end
|
41
|
+
end
|
42
|
+
rescue ActiveRecord::RecordInvalid
|
43
|
+
respond_to do |format|
|
44
|
+
format.html do
|
45
|
+
flash.now[:error] = I18n.t('cms.files.creation_failure')
|
46
|
+
render :action => :new
|
47
|
+
end
|
48
|
+
format.js do
|
49
|
+
render :nothing => true
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
def update
|
55
|
+
@file.update_attributes!(params[:file])
|
56
|
+
flash[:notice] = I18n.t('cms.files.updated')
|
57
|
+
redirect_to :action => :edit, :id => @file
|
58
|
+
rescue ActiveRecord::RecordInvalid
|
59
|
+
flash.now[:error] = I18n.t('cms.files.update_failure')
|
60
|
+
render :action => :edit
|
61
|
+
end
|
62
|
+
|
63
|
+
def destroy
|
64
|
+
@file.destroy
|
65
|
+
respond_to do |format|
|
66
|
+
format.js
|
67
|
+
format.html do
|
68
|
+
flash[:notice] = I18n.t('cms.files.deleted')
|
69
|
+
redirect_to :action => :index
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
protected
|
75
|
+
|
76
|
+
def load_file
|
77
|
+
@file = @site.files.find(params[:id])
|
78
|
+
rescue ActiveRecord::RecordNotFound
|
79
|
+
flash[:error] = I18n.t('cms.files.not_found')
|
80
|
+
redirect_to :action => :index
|
81
|
+
end
|
82
|
+
end
|
@@ -4,11 +4,15 @@ class CmsAdmin::PagesController < CmsAdmin::BaseController
|
|
4
4
|
before_filter :build_cms_page, :only => [:new, :create]
|
5
5
|
before_filter :load_cms_page, :only => [:edit, :update, :destroy]
|
6
6
|
before_filter :preview_cms_page, :only => [:create, :update]
|
7
|
-
before_filter :
|
7
|
+
before_filter :build_file, :only => [:new, :edit]
|
8
8
|
|
9
9
|
def index
|
10
10
|
return redirect_to :action => :new if @site.pages.count == 0
|
11
|
-
|
11
|
+
if params[:category].present?
|
12
|
+
@pages = @site.pages.for_category(params[:category]).all(:order => 'label')
|
13
|
+
else
|
14
|
+
@pages = [@site.pages.root].compact
|
15
|
+
end
|
12
16
|
end
|
13
17
|
|
14
18
|
def new
|
@@ -81,8 +85,8 @@ protected
|
|
81
85
|
@page.layout ||= (@page.parent && @page.parent.layout || @site.layouts.first)
|
82
86
|
end
|
83
87
|
|
84
|
-
def
|
85
|
-
@
|
88
|
+
def build_file
|
89
|
+
@file = Cms::File.new
|
86
90
|
end
|
87
91
|
|
88
92
|
def load_cms_page
|
@@ -5,7 +5,7 @@ class CmsAdmin::SnippetsController < CmsAdmin::BaseController
|
|
5
5
|
|
6
6
|
def index
|
7
7
|
return redirect_to :action => :new if @site.snippets.count == 0
|
8
|
-
@snippets = @site.snippets.all(:order => 'label')
|
8
|
+
@snippets = @site.snippets.for_category(params[:category]).all(:order => 'label')
|
9
9
|
end
|
10
10
|
|
11
11
|
def new
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class Cms::Categorization < ActiveRecord::Base
|
2
|
+
|
3
|
+
set_table_name :cms_categorizations
|
4
|
+
|
5
|
+
# -- Relationships --------------------------------------------------------
|
6
|
+
belongs_to :category
|
7
|
+
belongs_to :categorized,
|
8
|
+
:polymorphic => true
|
9
|
+
|
10
|
+
# -- Validations ----------------------------------------------------------
|
11
|
+
validates :categorized_type, :categorized_id,
|
12
|
+
:presence => true
|
13
|
+
validates :category_id,
|
14
|
+
:presence => true,
|
15
|
+
:uniqueness => { :scope => [:categorized_type, :categorized_id] }
|
16
|
+
|
17
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
class Cms::Category < ActiveRecord::Base
|
2
|
+
|
3
|
+
set_table_name :cms_categories
|
4
|
+
|
5
|
+
# -- Relationships --------------------------------------------------------
|
6
|
+
has_many :categorizations,
|
7
|
+
:dependent => :destroy
|
8
|
+
|
9
|
+
# -- Validations ----------------------------------------------------------
|
10
|
+
validates :label,
|
11
|
+
:presence => true,
|
12
|
+
:uniqueness => { :scope => :categorized_type }
|
13
|
+
validates :categorized_type,
|
14
|
+
:presence => true
|
15
|
+
|
16
|
+
# -- Scopes ---------------------------------------------------------------
|
17
|
+
default_scope order(:label)
|
18
|
+
scope :of_type, lambda { |type|
|
19
|
+
where(:categorized_type => type)
|
20
|
+
}
|
21
|
+
|
22
|
+
end
|
@@ -1,7 +1,9 @@
|
|
1
|
-
class Cms::
|
1
|
+
class Cms::File < ActiveRecord::Base
|
2
|
+
|
3
|
+
set_table_name :cms_files
|
4
|
+
|
5
|
+
cms_is_categorized
|
2
6
|
|
3
|
-
set_table_name :cms_uploads
|
4
|
-
|
5
7
|
# -- AR Extensions --------------------------------------------------------
|
6
8
|
has_attached_file :file, ComfortableMexicanSofa.config.upload_file_options
|
7
9
|
|
@@ -12,4 +14,16 @@ class Cms::Upload < ActiveRecord::Base
|
|
12
14
|
validates :site_id, :presence => true
|
13
15
|
validates_attachment_presence :file
|
14
16
|
|
17
|
+
validates_uniqueness_of :file_file_name,
|
18
|
+
:scope => :site_id
|
19
|
+
|
20
|
+
# -- Callbacks ------------------------------------------------------------
|
21
|
+
before_save :assign_label
|
22
|
+
|
23
|
+
protected
|
24
|
+
|
25
|
+
def assign_label
|
26
|
+
self.label = self.label.blank?? self.file_file_name.gsub(/\.[^\.]*?$/, '').titleize : self.label
|
27
|
+
end
|
28
|
+
|
15
29
|
end
|
data/app/models/cms/page.rb
CHANGED
data/app/models/cms/site.rb
CHANGED
@@ -6,7 +6,7 @@ class Cms::Site < ActiveRecord::Base
|
|
6
6
|
has_many :layouts, :dependent => :destroy
|
7
7
|
has_many :pages, :dependent => :destroy
|
8
8
|
has_many :snippets, :dependent => :destroy
|
9
|
-
has_many :
|
9
|
+
has_many :files, :dependent => :destroy
|
10
10
|
|
11
11
|
# -- Callbacks ------------------------------------------------------------
|
12
12
|
before_validation :assign_label
|
data/app/models/cms/snippet.rb
CHANGED
@@ -0,0 +1,7 @@
|
|
1
|
+
<% category ||= edit %>
|
2
|
+
<div class='category edit' id='<%= dom_id(category) %>'>
|
3
|
+
<%= form_for @category, :as => :category, :url => cms_admin_site_category_path(@site, category), :remote => true do |form| %>
|
4
|
+
<%= form.text_field :label %>
|
5
|
+
<%= form.submit t('.save') %>
|
6
|
+
<% end %>
|
7
|
+
</div>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<% object = form.object %>
|
2
|
+
<% if (categories = Cms::Category.of_type(object.class.to_s)).present? %>
|
3
|
+
<%= form.simple_field t('.label'), nil, :class => 'categories' do %>
|
4
|
+
<% categories.each do |category| %>
|
5
|
+
<%= hidden_field_tag "#{object.class.to_s.demodulize.downcase}[category_ids][#{category.id}]", 0, :id => nil %>
|
6
|
+
<label>
|
7
|
+
<%= check_box_tag "#{object.class.to_s.demodulize.downcase}[category_ids][#{category.id}]", 1, object.categories.member?(category), :id => nil %>
|
8
|
+
<%= category.label %>
|
9
|
+
</label>
|
10
|
+
<% end %>
|
11
|
+
<% end %>
|
12
|
+
<% end %>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
<% type ||= index %>
|
2
|
+
|
3
|
+
<div class='categories_widget'>
|
4
|
+
|
5
|
+
<div class='label'><%= t('.label') %></div>
|
6
|
+
|
7
|
+
<%= link_to t('.edit'), '#', :class => 'action_link edit', 'data-state' => 'edit' %>
|
8
|
+
<%= link_to t('.done'), '#', :class => 'action_link done', 'data-state' => 'done', :style => 'display:none' %>
|
9
|
+
|
10
|
+
<div class='categories read'>
|
11
|
+
<div class='category all <%= (params[:category].blank?? 'active' : nil ) %>'>
|
12
|
+
<%= link_to t('.all'), :category => nil %>
|
13
|
+
</div>
|
14
|
+
<% Cms::Category.of_type(type).each do |category| %>
|
15
|
+
<%= render :partial => 'cms_admin/categories/show', :object => category, :locals => { :read => true } %>
|
16
|
+
<% end %>
|
17
|
+
</div>
|
18
|
+
|
19
|
+
<div class='categories editable' style='display:none'>
|
20
|
+
<% Cms::Category.of_type(type).each do |category| %>
|
21
|
+
<%= render :partial => 'cms_admin/categories/show', :object => category %>
|
22
|
+
<% end %>
|
23
|
+
<div class='category new'>
|
24
|
+
<%= form_for :category, :url => cms_admin_site_categories_path(@site), :remote => true do |form| %>
|
25
|
+
<%= form.hidden_field :categorized_type, :value => type %>
|
26
|
+
<%= form.text_field :label %>
|
27
|
+
<%= form.submit t('.add') %>
|
28
|
+
<% end %>
|
29
|
+
</div>
|
30
|
+
</div>
|
31
|
+
</div>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<%
|
2
|
+
category ||= show
|
3
|
+
read ||= false
|
4
|
+
categories = [params[:category]].flatten.compact
|
5
|
+
active = categories.flatten.member?(category.label)
|
6
|
+
%>
|
7
|
+
|
8
|
+
<div class='category <%= read && active ? 'active' : nil %>' id="<%= dom_id(category)%>">
|
9
|
+
<% if read %>
|
10
|
+
<% categories = active ? categories.reject{|c| c == category.label} : categories << category.label %>
|
11
|
+
<%= link_to category.label, "?#{{:category => categories}.to_param}" %>
|
12
|
+
<% else %>
|
13
|
+
<%= link_to category.label, edit_cms_admin_site_category_path(@site, category), :remote => true %>
|
14
|
+
<%= link_to 'x', cms_admin_site_category_path(@site, category), :method => :delete, :remote => true, :confirm => t('.are_you_sure'), :class => 'delete' %>
|
15
|
+
<% end %>
|
16
|
+
</div>
|
@@ -0,0 +1,7 @@
|
|
1
|
+
$('.categories_widget .categories.editable .category.new').before(
|
2
|
+
'<%= escape_javascript(render :partial => "show", :object => @category ) %>'
|
3
|
+
);
|
4
|
+
$('.categories_widget .categories.read').append(
|
5
|
+
'<%= escape_javascript(render :partial => "show", :object => @category, :locals => { :read => true }) %>'
|
6
|
+
);
|
7
|
+
$('.categories_widget .categories.editable .category.new form input#category_label').val('');
|
@@ -0,0 +1,6 @@
|
|
1
|
+
$('.categories.editable .category#<%= dom_id(@category) %>').replaceWith(
|
2
|
+
'<%= escape_javascript(render :partial => "show", :object => @category ) %>'
|
3
|
+
);
|
4
|
+
$('.categories.read .category#<%= dom_id(@category) %>').replaceWith(
|
5
|
+
'<%= escape_javascript(render :partial => "show", :object => @category, :locals => { :read => true } ) %>'
|
6
|
+
);
|
@@ -6,5 +6,5 @@
|
|
6
6
|
end
|
7
7
|
%>
|
8
8
|
<%= link_to file_name, file.file.url, :target => '_blank', :class => 'filename' %>
|
9
|
-
<%= link_to span_tag('x'),
|
9
|
+
<%= link_to span_tag('x'), cms_admin_site_file_path(@site, file), :method => :delete, :remote => true, :class => 'delete' %>
|
10
10
|
</div>
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<%= form.text_field :label %>
|
2
|
+
<% if @file.new_record? %>
|
3
|
+
<%= form.file_field :file, :multiple => true %>
|
4
|
+
<% else %>
|
5
|
+
<%= form.simple_field 'File', nil do %>
|
6
|
+
<%= link_to @file.file.url, @file.file.url, :target => '_blank' %>
|
7
|
+
<% end %>
|
8
|
+
<% end %>
|
9
|
+
<%= form.text_area :description %>
|
10
|
+
|
11
|
+
<%= render :partial => 'cms_admin/categories/form', :object => form %>
|
12
|
+
|
13
|
+
<%= form.simple_field nil, nil, :class => 'submit_element' do %>
|
14
|
+
<%= form.submit t(@file.new_record?? '.create' : '.update'), :disable_builder => true %>
|
15
|
+
<% end %>
|
@@ -0,0 +1,13 @@
|
|
1
|
+
<div id='file_uploads' class='box'>
|
2
|
+
|
3
|
+
<%= form_for :file, :url => cms_admin_site_files_path(@site) do |form| %>
|
4
|
+
<a id='uploader_button' href='#' class='big button'><%= t('.button') %></a>
|
5
|
+
<%= form.file_field :file, :multiple => true %>
|
6
|
+
<% end %>
|
7
|
+
|
8
|
+
<div id='uploaded_files'>
|
9
|
+
<% Cms::File.order('label').all.each do |file| %>
|
10
|
+
<%= render :partial => 'cms_admin/files/file', :object => file %>
|
11
|
+
<% end %>
|
12
|
+
</div>
|
13
|
+
</div>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<%= link_to span_tag(t('.new_link')), new_cms_admin_site_file_path(@site), :class => 'big button' %>
|
2
|
+
<h1><%= t('.title')%></h1>
|
3
|
+
|
4
|
+
<%= render :partial => 'cms_admin/categories/index', :object => 'Cms::File' %>
|
5
|
+
|
6
|
+
<ul class='list'>
|
7
|
+
<% @files.each do |file| %>
|
8
|
+
<li id='<%= dom_id(file) %>'>
|
9
|
+
<div class='item'>
|
10
|
+
<div class='icon'></div>
|
11
|
+
<div class='action_links'>
|
12
|
+
<%= link_to t('.edit'), edit_cms_admin_site_file_path(@site, file) %>
|
13
|
+
<%= link_to t('.delete'), cms_admin_site_file_path(@site, file), :method => :delete, :confirm => t('.are_you_sure') %>
|
14
|
+
</div>
|
15
|
+
<div class='label'>
|
16
|
+
<%= link_to file.label, edit_cms_admin_site_file_path(@site, file) %>
|
17
|
+
<%= render :partial => '/cms_admin/categories/categories', :object => file %>
|
18
|
+
<div class='sublabel'>
|
19
|
+
<%= link_to file.file_file_name, file.file.url, :target => '_blank' %>
|
20
|
+
</div>
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
</li>
|
24
|
+
<% end %>
|
25
|
+
</ul>
|