spree_banner 1.1.6 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (33) hide show
  1. data/README.md +5 -16
  2. data/app/assets/javascripts/admin/banner_settings.js +27 -17
  3. data/app/assets/javascripts/store/spree_banner.js +1 -1
  4. data/app/assets/stylesheets/admin/spree_banner.css +0 -3
  5. data/app/controllers/spree/admin/{banner_settings_controller.rb → banner_box_settings_controller.rb} +8 -8
  6. data/app/controllers/spree/admin/banner_boxes_controller.rb +44 -0
  7. data/app/helpers/spree/banner_boxes_helper.rb +24 -0
  8. data/app/models/spree/app_configuration_decorator.rb +17 -0
  9. data/app/models/spree/banner_box.rb +65 -0
  10. data/app/overrides/banner_admin_tab.rb +6 -7
  11. data/app/views/spree/admin/banner_box_settings/edit.html.erb +72 -0
  12. data/app/views/spree/admin/banner_boxes/_form.html.erb +47 -0
  13. data/app/views/spree/admin/banner_boxes/edit.html.erb +17 -0
  14. data/app/views/spree/admin/banner_boxes/index.html.erb +63 -0
  15. data/app/views/spree/admin/{banners → banner_boxes}/new.html.erb +14 -6
  16. data/app/views/spree/admin/banner_boxes/new.js.erb +2 -0
  17. data/app/views/spree/admin/shared/_banner_box_sub_menu.html.erb +6 -0
  18. data/config/locales/en.yml +31 -74
  19. data/config/locales/it.yml +30 -74
  20. data/config/routes.rb +7 -3
  21. data/db/migrate/20120116204313_create_banners.rb +2 -2
  22. data/db/migrate/20120323174800_banner_namespace.rb +1 -1
  23. metadata +15 -16
  24. data/app/controllers/spree/admin/banners_controller.rb +0 -26
  25. data/app/helpers/spree/banners_helper.rb +0 -24
  26. data/app/models/spree/banner.rb +0 -51
  27. data/app/views/spree/admin/banner_settings/edit.html.erb +0 -48
  28. data/app/views/spree/admin/banner_settings/show.html.erb +0 -10
  29. data/app/views/spree/admin/banners/_form.html.erb +0 -30
  30. data/app/views/spree/admin/banners/edit.html.erb +0 -6
  31. data/app/views/spree/admin/banners/index.html.erb +0 -36
  32. data/app/views/spree/admin/banners/new.js.erb +0 -2
  33. data/app/views/spree/admin/shared/_banner_setting_configurations_menu.html.erb +0 -4
data/README.md CHANGED
@@ -9,7 +9,7 @@ Basic Installation
9
9
 
10
10
  1. Add the following to your Gemfile
11
11
  <pre>
12
- gem 'spree_banner', '~> 1.1.6'
12
+ gem 'spree_banner', '~> 1.3.0'
13
13
  </pre>
14
14
  2. Run `bundle install`
15
15
  3. To copy and apply migrations run:
@@ -22,25 +22,14 @@ Example
22
22
 
23
23
  1. add banner helper method in your view:
24
24
  <pre>
25
- <%= insert_banner %>
25
+ <%= insert_banner_box(:category => "my_category") %>
26
26
  </pre>
27
27
  and add banner in the admin section
28
28
  2. Additional options:
29
29
  <pre>
30
- <%= insert_banner(:category => "my_category") %>
30
+ :class => "my_class"
31
+ :style => "my_style"
32
+ :list = true|false
31
33
  </pre>
32
- displays banner for which the category column, dafault is ""
33
- <pre>
34
- <%= insert_banner(:max => 10) %>
35
- </pre>
36
- limits the number of banner shown to 10 (default 1)
37
- <pre>
38
- <%= insert_banner(:class => "your_class") %>
39
- </pre>
40
- set banner class (default banner)
41
- <pre>
42
- <%= insert_banner(:list => true/false) %>
43
- </pre>
44
- set banner container (default false is DIV)
45
34
 
46
35
  Copyright (c) 2012 [Damiano Giacomello], released under the New BSD License
@@ -1,29 +1,39 @@
1
1
  $(document).ready(function() {
2
2
 
3
- $('.destroy_banner_style').on("click", function() {
4
- $(this).parent().remove();
5
- });
3
+ $('.destroy_banner_style').live("click", function(e) {
4
+ e.preventDefault();
5
+ $(this).parent().remove();
6
+ });
7
+
8
+ $('.destroy_new_banner_styles').live("click", function(e) {
9
+ e.preventDefault();
10
+ $(this).closest('.new_banner_styles').remove();
11
+ });
6
12
 
7
13
  // Handle adding new styles
8
14
  var styles_hash_index = 1;
9
- $('.add_banner_style').click(function() {
10
- $('#styles_list').append(generate_html_for_hash("new_banner_styles", styles_hash_index));
15
+ $('.add_new_banner_style').live("click", function(e) {
16
+ e.preventDefault();
17
+ $('#new-banner-styles').append(generate_html_for_hash("new_banner_styles", styles_hash_index));
11
18
  });
12
19
 
13
20
  // Generates html for new paperclip styles form fields
14
21
  generate_html_for_hash = function(hash_name, index) {
15
- var html = '<li>';
16
- html += '<label for="' + hash_name + '_' + index + '_name">';
17
- html += 'Name</label>';
18
- html += '<input id="' + hash_name + '_' + index + '_name" name="' + hash_name + '[' + index + '][name]" type="text">';
19
- html += '<label for="' + hash_name + '_' + index + '_value">';
20
- html += 'Value</label>';
21
- html += '<input id="' + hash_name + '_' + index + '_value" name="' + hash_name + '[' + index + '][value]" type="text">';
22
- html += '<a href="#" alt="Destroy" class="destroy_banner_style">&nbsp;x</a>';
23
- html += '</li>';
24
-
25
- index += 1;
26
- return html;
22
+ var html = '<div class="' + hash_name + ' row"><div class="field">';
23
+ html += '<div class="five columns">';
24
+ html += '<label for="' + hash_name + '_' + index + '_name">';
25
+ html += Spree.translations.name + '</label>';
26
+ html += '<input id="' + hash_name + '_' + index + '_name" name="' + hash_name + '[' + index + '][name]" type="text" class="fullwidth"><br>';
27
+ html += '</div><div class="five columns">'
28
+ html += '<label for="' + hash_name + '_' + index + '_value">';
29
+ html += Spree.translations.value + '</label>';
30
+ html += '<input id="' + hash_name + '_' + index + '_value" name="' + hash_name + '[' + index + '][value]" type="text" class="fullwidth">';
31
+ html += '</div><div class="two columns">'
32
+ html += '<a href="#" title="' + Spree.translations.destroy + '" class="destroy_' + hash_name + ' with-tip button" style="margin-top: 19px;"><i class="icon-trash"></i> &nbsp; ' + Spree.translations.destroy + '</a>';
33
+ html += '</div></div></div>';
34
+
35
+ index += 1;
36
+ return html;
27
37
  };
28
38
 
29
39
 
@@ -1 +1 @@
1
- //= require store/spree_core
1
+
@@ -1,3 +0,0 @@
1
- /*
2
- *= require admin/spree_core
3
- */
@@ -1,9 +1,9 @@
1
1
  module Spree
2
2
  module Admin
3
- class BannerSettingsController < Spree::Admin::BaseController
3
+ class BannerBoxSettingsController < Spree::Admin::BaseController
4
+
4
5
  def show
5
- styles = ActiveSupport::JSON.decode(Spree::Config[:banner_styles])
6
- @styles_list = styles.collect { |k, v| k }.join(", ")
6
+ redirect_to( :action => :edit )
7
7
  end
8
8
 
9
9
  def edit
@@ -19,7 +19,7 @@ module Spree
19
19
  respond_to do |format|
20
20
  format.html {
21
21
  flash[:notice] = t(:banner_settings_updated)
22
- redirect_to admin_banner_settings_path
22
+ redirect_to edit_admin_banner_box_settings_path
23
23
  }
24
24
  end
25
25
  end
@@ -38,10 +38,10 @@ module Spree
38
38
  end
39
39
 
40
40
  def update_paperclip_settings
41
- Spree::Banner.attachment_definitions[:attachment][:styles] = ActiveSupport::JSON.decode(Spree::Config[:banner_styles])
42
- Spree::Banner.attachment_definitions[:attachment][:path] = Spree::Config[:banner_path]
43
- Spree::Banner.attachment_definitions[:attachment][:default_url] = Spree::Config[:banner_default_url]
44
- Spree::Banner.attachment_definitions[:attachment][:default_style] = Spree::Config[:banner_default_style]
41
+ Spree::BannerBox.attachment_definitions[:attachment][:styles] = ActiveSupport::JSON.decode(Spree::Config[:banner_styles])
42
+ Spree::BannerBox.attachment_definitions[:attachment][:path] = Spree::Config[:banner_path]
43
+ Spree::BannerBox.attachment_definitions[:attachment][:default_url] = Spree::Config[:banner_default_url]
44
+ Spree::BannerBox.attachment_definitions[:attachment][:default_style] = Spree::Config[:banner_default_style]
45
45
  end
46
46
  end
47
47
  end
@@ -0,0 +1,44 @@
1
+ module Spree
2
+ module Admin
3
+ class BannerBoxesController < ResourceController
4
+
5
+ def index
6
+ respond_with(@collection)
7
+ end
8
+
9
+ def show
10
+ redirect_to( :action => :edit )
11
+ end
12
+
13
+ def clone
14
+ @new = @banner_box.duplicate
15
+
16
+ if @new.save
17
+ flash.notice = I18n.t('notice_messages.banner_box_cloned')
18
+ else
19
+ flash.notice = I18n.t('notice_messages.banner_box_not_cloned')
20
+ end
21
+
22
+ respond_with(@new) { |format| format.html { redirect_to edit_admin_banner_box_url(@new) } }
23
+ end
24
+
25
+ protected
26
+ def find_resource
27
+ Spree::BannerBox.find(params[:id])
28
+ end
29
+
30
+ def location_after_save
31
+ edit_admin_banner_box_url(@banner_box)
32
+ end
33
+
34
+ def collection
35
+ return @collection if @collection.present?
36
+ params[:q] ||= {}
37
+ params[:q][:s] ||= "title asc"
38
+
39
+ @search = super.ransack(params[:q])
40
+ @collection = @search.result.page(params[:page]).per(Spree::Config[:admin_products_per_page])
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,24 @@
1
+ module Spree
2
+ module BannerBoxesHelper
3
+
4
+ def insert_banner_box(params={})
5
+ params[:category] ||= "home"
6
+ params[:class] ||= "banner"
7
+ params[:style] ||= "small"
8
+ params[:list] ||= false
9
+ @@banner = Spree::BannerBox.enable(params[:category])
10
+ if @@banner.blank?
11
+ return ''
12
+ end
13
+ res = []
14
+ banner = @@banner.sort_by { |ban| ban.position }
15
+
16
+ if (params[:list])
17
+ content_tag(:ul, banner.map{|ban| content_tag(:li, link_to(image_tag(ban.attachment.url(params[:style].to_sym)), (ban.url.blank? ? "javascript: void(0)" : ban.url)), :class => params[:class])}.join().html_safe )
18
+ else
19
+ banner.map{|ban| content_tag(:div, link_to(image_tag(ban.attachment.url(params[:style].to_sym)), (ban.url.blank? ? "javascript: void(0)" : ban.url)), :class => params[:class])}.join().html_safe
20
+ end
21
+ end
22
+
23
+ end
24
+ end
@@ -1,3 +1,20 @@
1
+ # This is the primary location for defining spree preferences
2
+ #
3
+ # The expectation is that this is created once and stored in
4
+ # the spree environment
5
+ #
6
+ # setters:
7
+ # a.color = :blue
8
+ # a[:color] = :blue
9
+ # a.set :color = :blue
10
+ # a.preferred_color = :blue
11
+ #
12
+ # getters:
13
+ # a.color
14
+ # a[:color]
15
+ # a.get :color
16
+ # a.preferred_color
17
+ #
1
18
  Spree::AppConfiguration.class_eval do
2
19
  # Preferences related to banner settings
3
20
  preference :banner_default_url, :string, :default => '/spree/banners/:id/:style/:basename.:extension'
@@ -0,0 +1,65 @@
1
+ module Spree
2
+ class BannerBox < ActiveRecord::Base
3
+ attr_accessible :presentation, :url, :category, :position, :enabled, :attachment
4
+
5
+ has_attached_file :attachment,
6
+ :url => "/spree/banners/:id/:style_:basename.:extension",
7
+ :path => ":rails_root/public/spree/banners/:id/:style_:basename.:extension",
8
+ :styles => lambda {|a|{
9
+ :mini => "80x80#",
10
+ :small => "120x120#",
11
+ :custom => "#{a.instance.attachment_width}x#{a.instance.attachment_height}#"
12
+ }},
13
+ :convert_options => { :all => '-strip -auto-orient' }
14
+ # save the w,h of the original image (from which others can be calculated)
15
+ # we need to look at the write-queue for images which have not been saved yet
16
+ after_post_process :find_dimensions
17
+
18
+ validates_presence_of :category
19
+ validates_attachment_presence :attachment
20
+ validates_attachment_content_type :attachment, :content_type => ['image/jpeg', 'image/png', 'image/gif', 'image/jpg', 'image/x-png', 'image/pjpeg'], :message => I18n.t(:images_only)
21
+
22
+ scope :enable, lambda { |category| {:conditions => {:enabled => true, :category => category}} }
23
+
24
+ # Load user defined paperclip settings
25
+ include Spree::Core::S3Support
26
+ supports_s3 :attachment
27
+
28
+ Spree::BannerBox.attachment_definitions[:attachment][:styles] = ActiveSupport::JSON.decode(Spree::Config[:banner_styles])
29
+ Spree::BannerBox.attachment_definitions[:attachment][:path] = Spree::Config[:banner_path]
30
+ Spree::BannerBox.attachment_definitions[:attachment][:url] = Spree::Config[:banner_url]
31
+ Spree::BannerBox.attachment_definitions[:attachment][:default_url] = Spree::Config[:banner_default_url]
32
+ Spree::BannerBox.attachment_definitions[:attachment][:default_style] = Spree::Config[:banner_default_style]
33
+
34
+ def initialize(*args)
35
+ super(*args)
36
+ last_banner = BannerBox.last
37
+ self.position = last_banner ? last_banner.position + 1 : 0
38
+ end
39
+
40
+ # for adding banner_boxes which are closely related to existing ones
41
+ # define "duplicate_extra" for site-specific actions, eg for additional fields
42
+ def duplicate
43
+ p = self.dup
44
+ p.category = 'COPY OF ' + category
45
+ p.created_at = p.updated_at = nil
46
+ p.url = url
47
+ p.attachment = attachment
48
+
49
+ # allow site to do some customization
50
+ p.send(:duplicate_extra, self) if p.respond_to?(:duplicate_extra)
51
+ p.save!
52
+ p
53
+ end
54
+
55
+ def find_dimensions
56
+ temporary = attachment.queued_for_write[:original]
57
+ filename = temporary.path unless temporary.nil?
58
+ filename = attachment.path if filename.blank?
59
+ geometry = Paperclip::Geometry.from_file(filename)
60
+ self.attachment_width = geometry.width
61
+ self.attachment_height = geometry.height
62
+ end
63
+
64
+ end
65
+ end
@@ -1,10 +1,9 @@
1
1
  Deface::Override.new(:virtual_path => "spree/layouts/admin",
2
- :name => "banner_admin_tab",
2
+ :name => "banner_box_admin_tab",
3
3
  :insert_bottom => "[data-hook='admin_tabs'], #admin_tabs[data-hook]",
4
- :text => "<%= tab(:banners, :url => spree.admin_banners_path) %>",
5
- :disabled => false)
4
+ :text => "<%= tab(:banner_boxes, :icon => 'icon-bookmark') %>")
6
5
 
7
- Deface::Override.new(:virtual_path => "spree/admin/configurations/index",
8
- :name => "add_banner_setting_to_configuration_menu",
9
- :insert_bottom => "[data-hook='admin_configurations_menu']",
10
- :partial => "spree/admin/shared/banner_setting_configurations_menu")
6
+ Deface::Override.new(:virtual_path => "spree/admin/shared/_configuration_menu",
7
+ :name => "add_banner_box_settings",
8
+ :insert_bottom => "[data-hook='admin_configurations_sidebar_menu'], #admin_configurations_sidebar_menu[data-hook]",
9
+ :text => "<%= configurations_sidebar_menu_item(:banner_box_settings, edit_admin_banner_box_settings_url) %>")
@@ -0,0 +1,72 @@
1
+ <%= render :partial => 'spree/admin/shared/configuration_menu' %>
2
+
3
+ <% content_for :page_title do %>
4
+ <%= t(:banner_box_settings) %>
5
+ <% end %>
6
+
7
+ <%= render :partial => 'spree/admin/shared/banner_box_sub_menu' %>
8
+
9
+ <%= form_tag admin_banner_box_settings_path, :method => :put do %>
10
+
11
+ <fieldset class="no-border-top">
12
+ <fieldset class="no-border-bottom">
13
+ <legend align="center"><%= t(:general_settings)%></legend>
14
+
15
+ <div class="field">
16
+ <div class="warning note"><%= t(:banner_box_settings_warning) %></div>
17
+ </div>
18
+
19
+ <div data-hook="attachment_path" class="field">
20
+ <%= label_tag 'preferences[attachment_path]', t(:banner_path) %>
21
+ <%= preference_field_tag 'preferences[banner_path]', Spree::Config[:banner_path], :type => :string %>
22
+ </div>
23
+
24
+ <div class="alpha eight columns">
25
+ <div data-hook="attachment_default_url" class="field">
26
+ <%= label_tag 'preferences[attachment_default_url]', t(:banner_default_url) %>
27
+ <%= preference_field_tag 'preferences[banner_default_url]', Spree::Config[:banner_default_url], :type => :string %>
28
+ </div>
29
+ </div>
30
+
31
+ <div class="alpha eight columns">
32
+ <div data-hook="attachment_url" class="field">
33
+ <%= label_tag 'preferences[attachment_url]', t(:banner_url) %>
34
+ <%= preference_field_tag 'preferences[banner_url]', Spree::Config[:banner_url], :type => :string %>
35
+ </div>
36
+ </div>
37
+
38
+ <div class="omega four columns">
39
+ <div data-hook="attachment_default_style" class="field">
40
+ <%= label_tag 'preferences[attachment_default_style]', t(:banner_default_style) %>
41
+ <%= collection_select 'preferences', 'banner_default_style', @styles, :first, :first, {:selected => Spree::Config[:banner_default_style] }, :class => 'select2 fullwidth' %>
42
+ </div>
43
+ </div>
44
+
45
+ </fieldset>
46
+
47
+ <fieldset class="no-border-bottom" id="attachment_styles" data-hook="banner_styles">
48
+ <legend align="center"><%= t(:banner_styles) %></legend>
49
+
50
+ <div id="banner_styles_list" class="row frameless">
51
+ <% @styles.each_with_index do |(style_name, style_value), index| %>
52
+ <div class="field three columns">
53
+ <%= label_tag "banner_styles[#{style_name}]", style_name %>
54
+ <a href='#' alt="<%= t(:destroy)%>" title="<%= t(:destroy)%>" class='destroy_banner_style with-tip'><i class='icon-trash'></i></a>
55
+ <%= text_field_tag "banner_styles[#{style_name}]", style_value, :class => 'fullwidth' %>
56
+ </div>
57
+ <% end %>
58
+ </div>
59
+
60
+ <div id="new-banner-styles" class="row frameless"></div>
61
+
62
+ <div class="field">
63
+ <%= link_to_with_icon 'icon-plus', t(:add_new_banner_style), '#', :class => 'add_new_banner_style button' %>
64
+ </div>
65
+ </fieldset>
66
+
67
+ <div class="form-buttons filter-actions actions" data-hook="buttons">
68
+ <%= button t(:update), 'icon-refresh' %>
69
+ </div>
70
+ </fieldset>
71
+
72
+ <% end %>
@@ -0,0 +1,47 @@
1
+ <div data-hook="admin_banner_box_form_fields">
2
+
3
+ <div class="left eight columns alpha" data-hook="admin_banner_box_form_left">
4
+ <%= f.field_container :category do %>
5
+ <%= f.label :category, raw(t(:category) + content_tag(:span, ' *', :class => 'required')) %>
6
+ <%= f.text_field :category, :class => 'fullwidth title' %>
7
+ <%= f.error_message_on :category %>
8
+ <% end %>
9
+
10
+ <%= f.field_container :url do %>
11
+ <%= f.label :url, raw(t(:url)) %>
12
+ <%= f.text_field :url, :class => 'fullwidth title' %>
13
+ <%= f.error_message_on :url %>
14
+ <% end %>
15
+
16
+ <%= f.field_container :presentation do %>
17
+ <%= f.label :presentation, t(:alt_text) %>
18
+ <%= f.text_field :presentation, :class => 'fullwidth' %>
19
+ <%= f.error_message_on :presentation %>
20
+ <% end %>
21
+ </div>
22
+
23
+ <div class="right seven columns omega" data-hook="admin_banner_box_form_right">
24
+ <div data-hook="thumbnail" class="field alpha six columns align-center">
25
+ <%= f.label t(:thumbnail) %><br>
26
+ <%= link_to image_tag(@banner_box.attachment.url(:mini)), @banner_box.attachment.url(:small) %>
27
+ </div>
28
+
29
+ <%= f.field_container :attachment do %>
30
+ <%= f.label :attachment, t(:attachment) %><br />
31
+ <%= f.file_field :attachment %>
32
+ <%= f.error_message_on :attachment %>
33
+ <% end %>
34
+
35
+ <%= f.field_container :enabled do %>
36
+ <%= f.label :enabled, t(:enabled) %><br />
37
+ <%= f.check_box :enabled %>
38
+ <%= f.error_message_on :enabled %>
39
+ <% end %>
40
+ </div>
41
+
42
+ <div class="clear"></div>
43
+
44
+ <div data-hook="admin_banner_box_form_additional_fields"></div>
45
+
46
+ <div class="clear"></div>
47
+ </div>
@@ -0,0 +1,17 @@
1
+ <%= render :partial => 'spree/admin/shared/banner_box_sub_menu' %>
2
+
3
+ <% content_for :page_actions do %>
4
+ <li><%= button_link_to t(:back_to_banner_boxes_list), admin_banner_boxes_url, :icon => 'icon-arrow-left' %></li>
5
+ <li id="new_banner_box_link">
6
+ <%= button_link_to t(:new_banner_box), new_object_url, { :remote => true, :icon => 'icon-plus', :id => 'admin_new_banner_box' } %>
7
+ </li>
8
+ <% end %>
9
+
10
+ <%= render :partial => 'spree/shared/error_messages', :locals => { :target => @banner_box } %>
11
+
12
+ <%= form_for [:admin, @banner_box], :method => :put, :html => { :multipart => true } do |f| %>
13
+ <fieldset class="no-border-top">
14
+ <%= render :partial => 'form', :locals => { :f => f } %>
15
+ <%= render :partial => 'spree/admin/shared/edit_resource_links' %>
16
+ </fieldset>
17
+ <% end %>
@@ -0,0 +1,63 @@
1
+ <% content_for :page_title do %>
2
+ <%= t(:listing_banner_boxes) %>
3
+ <% end %>
4
+
5
+ <% content_for :page_actions do %>
6
+ <div class="toolbar" data-hook="toolbar">
7
+ <ul class="actions header-action-links inline-menu">
8
+ <li id="new_banner_box_link">
9
+ <%= button_link_to t(:new_banner_box), new_object_url, { :remote => true, :icon => 'icon-plus', :id => 'admin_new_banner_box' } %>
10
+ </li>
11
+ </ul>
12
+ </div>
13
+ <% end %>
14
+
15
+ <%= render :partial => 'spree/admin/shared/banner_box_sub_menu' %>
16
+
17
+ <div id="new_banner_box" data-hook></div>
18
+
19
+ <% if @collection.any? %>
20
+ <table class="index sortable" id="listing_banner_boxes" data-sortable-link="<%= update_positions_admin_banner_boxes_url() %>">
21
+ <colgroup>
22
+ <col style="width: 5%">
23
+ <col style="width: 15%;">
24
+ <col style="width: 10%;">
25
+ <col style="width: 10%;">
26
+ <col style="width: 17%;">
27
+ </colgroup>
28
+ <thead>
29
+ <tr data-hook="admin_products_index_headers">
30
+ <th colspan="2"><%= t(:thumbnail) %></th>
31
+ <th><%= t(:category) %></th>
32
+ <th><%= t(:url) %></th>
33
+ <th data-hook="admin_products_index_header_actions" class="actions"></th>
34
+ </tr>
35
+ </thead>
36
+ <tbody>
37
+ <% @collection.each do |banner_box| %>
38
+ <tr id="<%= spree_dom_id banner_box %>" data-hook="admin_banner_boxes_index_rows" class="<%= cycle('odd', 'even') %>">
39
+ <td class="no-border">
40
+ <span class="handle"></span>
41
+ </td>
42
+ <td class="align-center"><%= image_tag(banner_box.attachment(:mini)) %></td>
43
+ <td class="align-center"><%= banner_box.category rescue '' %></td>
44
+ <td class="align-center"><%= banner_box.url rescue '' %></td>
45
+ <td class="actions" data-hook="admin_products_index_row_actions">
46
+ <%= link_to_edit banner_box, :no_text => true, :class => 'edit' %>
47
+ &nbsp;
48
+ <%= link_to_with_icon 'icon-copy', t(:clone), clone_admin_banner_box_url(banner_box), :no_text => true, :class => 'clone' %>
49
+ &nbsp;
50
+ <%= link_to_delete banner_box, :no_text => true %>
51
+ </td>
52
+ </tr>
53
+ <% end %>
54
+ </tbody>
55
+ </table>
56
+ <% else %>
57
+ <div class="no-objects-found">
58
+ <%= t(:no_results) %>
59
+ </div>
60
+ <% end %>
61
+
62
+ <%= paginate @collection %>
63
+
@@ -1,9 +1,10 @@
1
- <%= render :partial => 'spree/shared/error_messages', :locals => { :target => @banner } %>
1
+ <%= render :partial => 'spree/shared/error_messages', :locals => { :target => @banner_box } %>
2
2
 
3
- <%= form_for [:admin, @banner], :html => { :multipart => true } do |f| %>
4
- <fieldset data-hook="new_banner">
5
- <div class="clearfix" data-hook="new_banner_attrs">
6
- <div class="left">
3
+ <%= form_for [:admin, @banner_box], :html => { :multipart => true } do |f| %>
4
+ <fieldset data-hook="new_banner_box">
5
+ <legend align="center"><%= t(:new_banner_box) %></legend>
6
+ <div data-hook="new_banner_box_attrs" class="row">
7
+ <div class="left alpha eight columns">
7
8
  <%= f.field_container :category do %>
8
9
  <%= f.label :category, t(:category) %> <span class="required">*</span><br />
9
10
  <%= f.text_field :category, :class => 'fullwidth title' %>
@@ -16,12 +17,19 @@
16
17
  <%= f.error_message_on :url %>
17
18
  <% end %>
18
19
  </div>
19
- <div class="right">
20
+
21
+ <div class="right omega four columns">
20
22
  <%= f.field_container :attachment do %>
21
23
  <%= f.label :attachment, t(:attachment) %><br />
22
24
  <%= f.file_field :attachment %>
23
25
  <%= f.error_message_on :attachment %>
24
26
  <% end %>
27
+
28
+ <%= f.field_container :presentation do %>
29
+ <%= f.label :presentation, t(:alt_text) %><br />
30
+ <%= f.text_field :presentation, :class => 'fullwidth' %>
31
+ <%= f.error_message_on :presentation %>
32
+ <% end %>
25
33
 
26
34
  <%= f.field_container :enabled do %>
27
35
  <%= f.label :enabled, t(:enabled) %><br />
@@ -0,0 +1,2 @@
1
+ $("#new_banner_box").html('<%= escape_javascript(render :template => "spree/admin/banner_boxes/new", :formats => [:html], :handlers => [:erb]) %>');
2
+ $("#admin_new_banner_box").parent().hide();
@@ -0,0 +1,6 @@
1
+ <% content_for :sub_menu do %>
2
+ <ul id="sub_nav" data-hook="admin_banner_box_sub_tabs" class="inline-menu">
3
+ <%= tab :banner_boxes, :match_path => '/banner_boxes' %>
4
+ <%= tab :banner_box_settings, edit_admin_banner_box_settings_url %>
5
+ </ul>
6
+ <% end %>
@@ -1,78 +1,35 @@
1
- ---
2
1
  en:
2
+ images_only: "deve essere JPG, JPEG, PNG o GIF"
3
+ banner_box_settings: Banner Setting
4
+ add_new_banner_style: "Add New Banner Style"
5
+ banner_box_settings_warning: "You will need to regenerate thumbnails if you update the paperclip styles. Use rake paperclip:refresh:thumbnails CLASS=Spree::Banner to do this."
6
+ banner_settings_description: "Banner Settings Description"
7
+ banner_settings_updated: "Banner Settings successfully updated."
8
+ banner_default_style: "Banner Default Path"
9
+ banner_default_url: "Banner Default URL"
10
+ banner_path: "Banner Path"
11
+ banner_styles: "Paperclip Styles Banner"
12
+ banner_url: "Banner URL"
13
+ back_to_banner_boxes_list: "Back To Banner List"
14
+ new_banner_box: "New Banner"
15
+ listing_banner_boxes: "Listing Banners"
16
+ enabled: Enabled?
17
+ url: Link url
18
+ attachment: Attachment
19
+ category: Category
20
+ banner_boxes: Banners
21
+ banner_box: Banner
22
+ notice_messages:
23
+ banner_box_cloned: "Banner has been cloned"
24
+ banner_box_not_cloned: "Banner could not be cloned"
3
25
  activerecord:
4
- errors: &errors
5
- format: "%{attribute} %{message}\n"
6
-
7
- messages: &errors_messages
8
- inclusion: "is not included in the list"
9
- exclusion: "is reserved"
10
- invalid: "is invalid"
11
- confirmation: "doesn't match confirmation"
12
- record_invalid: "Validation failed: %{errors}"
13
- taken: has already been taken
14
- accepted: "must be accepted"
15
- empty: "can't be empty"
16
- blank: "can't be blank"
17
- too_long:
18
- one: "is too long (maximum is 1 character)"
19
- other: "is too long (maximum is %{count} characters)"
20
- too_short:
21
- one: "is too short (minimum is 1 character)"
22
- other: "is too short (minimum is %{count} characters)"
23
- wrong_length:
24
- one: "is the wrong length (should be 1 character)"
25
- other: "is the wrong length (should be %{count} characters)"
26
- not_a_number: "is not a number"
27
- not_an_integer: "must be an integer"
28
- greater_than: "must be greater than %{count}"
29
- greater_than_or_equal_to: "must be greater than or equal to %{count}"
30
- equal_to: "must be equal to %{count}"
31
- less_than: "must be less than %{count}"
32
- less_than_or_equal_to: "must be less than or equal to %{count}"
33
- odd: "must be odd"
34
- even: "must be even"
35
-
36
- models:
37
- banner:
38
- attributes:
39
- banner:
40
- category: Category
41
- enabled: Enable?
42
- url: Link to product or taxonomy or to external website
43
- attachment_width: Width image
44
- attachment_height: Height image
45
- attachment: Image
46
- attachment_file_name: Image Name
47
- position: Position (if there are other banners with the same category)
48
- attributes:
49
- banner:
50
- category: Category
51
- enabled: Enable?
52
- url: Link to product or taxonomy or to external website
53
- attachment_width: Width image
54
- attachment_height: Height image
55
- attachment: Image
56
- position: Position (if there are other banners with the same category)
57
26
  models:
58
- banner:
27
+ banner_box:
59
28
  one: Banner
60
- many: Banners
61
-
62
- banner: "Banner"
63
- banners: "Banners"
64
- enable: Enable?
65
- enabled: Enable?
66
- category: Category
67
- no_image: No Image Yet
68
- attachment_width: Width image
69
- attachment_height: Height image
70
- position: Position (if there are other banners with the same category)
71
- url: Link to product or taxonomy or to external website
72
- image:
73
- one: Image
74
- many: Images
75
- banner_desc: Manage banner.
76
- new_banner: New banner
77
- editing_banner: Edit banner
78
- confirm_delete: Are you sure?
29
+ other: Banners
30
+ attributes:
31
+ banner_box:
32
+ category: Category
33
+ updated_at: Updated At
34
+ created_at: Created At
35
+ enabled: Enabled?
@@ -1,79 +1,35 @@
1
- ---
2
1
  it:
2
+ images_only: "deve essere JPG, JPEG, PNG o GIF"
3
+ banner_box_settings: Impostazioni Banner
4
+ add_new_banner_style: "Aggiungi nuovo stile dei Banner"
5
+ banner_box_settings_warning: "Sarà necessario rigenerare le miniature dopo aver aggiornato gli stili di paperclip delle Slide, col comando rake paperclip:refresh:thumbnails CLASS=Spree::Banner"
6
+ banner_settings_description: "Descrizione Impostazioni Banner"
7
+ banner_settings_updated: "Impostazioni Banner aggiornate con successo."
8
+ banner_default_style: "Stile di Default dell'allegato dei Banner"
9
+ banner_default_url: "URL di Default dell'allegato dei Banner"
10
+ banner_path: "Percorso dell'allegato dei Banner"
11
+ banner_styles: "Stili di Paperclip dei Banner"
12
+ banner_url: "URL dell'allegato dei Banner"
13
+ back_to_banner_boxes_list: "Torna all'elenco Banner"
14
+ new_banner_box: "Nuova Banner"
15
+ listing_banner_boxes: "Elenco Banner"
16
+ enabled: Attivo?
17
+ url: Link url
18
+ attachment: Immagine
19
+ category: Categoria
20
+ banner_boxes: Banners
21
+ banner_box: Banner
22
+ notice_messages:
23
+ banner_box_cloned: "Banner Duplicato"
24
+ banner_box_not_cloned: "Impossibili Duplicare il Banner"
3
25
  activerecord:
4
- errors: &errors
5
- format: "%{attribute} %{message}\n"
6
-
7
- messages: &errors_messages
8
- inclusion: "non è incluso nella lista"
9
- exclusion: "è riservato"
10
- invalid: "non è valido"
11
- confirmation: "non coincide con la conferma"
12
- record_invalid: "Validazione fallita: %{errors}"
13
- taken: è già in uso
14
- accepted: "deve essere accettata"
15
- empty: "non può essere vuoto"
16
- blank: "non può essere lasciato in bianco"
17
- too_long:
18
- one: "è troppo lungo (il massimo è 1 carattere)"
19
- other: "è troppo lungo (il massimo è %{count} caratteri)"
20
- too_short:
21
- one: "è troppo corto (il minimo è 1 carattere)"
22
- other: "è troppo corto (il minimo è %{count} caratteri)"
23
- wrong_length:
24
- one: "è della lunghezza sbagliata (deve essere di 1 carattere)"
25
- other: "è della lunghezza sbagliata (deve essere di %{count} caratteri)"
26
- not_a_number: "non è un numero"
27
- not_an_integer: "non è un intero"
28
- greater_than: "deve essere superiore a %{count}"
29
- greater_than_or_equal_to: "deve essere superiore o uguale a %{count}"
30
- equal_to: "deve essere uguale a %{count}"
31
- less_than: "deve essere meno di %{count}"
32
- less_than_or_equal_to: "deve essere meno o uguale a %{count}"
33
- odd: "deve essere dispari"
34
- even: "deve essere pari"
35
-
36
- models:
37
- banner:
38
- attributes:
39
- banner:
40
- category: Categoria
41
- enabled: Attivo?
42
- url: Link a prodotto o tassonomia o a sito esterno
43
- attachment_width: Larghezza immagine
44
- attachment_height: Altezza immagine
45
- attachment: Immagine
46
- attachment_file_name: Nome immagine
47
- position: Posizione (se esistono altri banner con la stessa categoria)
26
+ models:
27
+ banner_box:
28
+ one: Banner
29
+ other: Banners
48
30
  attributes:
49
- banner:
31
+ banner_box:
50
32
  category: Categoria
33
+ updated_at: Aggiornata il
34
+ created_at: Creata il
51
35
  enabled: Attivo?
52
- url: Link a prodotto o tassonomia o a sito esterno
53
- attachment_width: Larghezza immagine
54
- attachment_height: Altezza immagine
55
- attachment: Immagine
56
- position: Posizione (se esistono altri banner con la stessa categoria)
57
- models:
58
- banner:
59
- one: Banner
60
- many: Banners
61
-
62
- banner: "Banner"
63
- banners: "Banners"
64
- new_banner: "Nuovo Banner"
65
- enable: Attivo?
66
- category: Categoria
67
- no_image: Nessuna immagine caricata
68
- attachment_width: Larghezza immagine banner
69
- attachment_height: Altezza immagine banner
70
- position: Posizione (se esistono altri banner con la stessa categoria)
71
- enabled: Attivo?
72
- url: Link a prodotto o tassonomia o a sito esterno
73
- image:
74
- one: Immagine
75
- many: Immagini
76
- banner_desc: Gestione banner.
77
- new_banner: Nuovo banner
78
- editing_banner: Modifica banner
79
- confirm_delete: Sei sicuro?
data/config/routes.rb CHANGED
@@ -1,10 +1,14 @@
1
- Spree::Core::Engine.routes.prepend do
1
+ Spree::Core::Engine.routes.draw do
2
+
2
3
  namespace :admin do
3
- resources :banners do
4
+ resources :banner_boxes do
4
5
  collection do
5
6
  post :update_positions
6
7
  end
8
+ member do
9
+ get :clone
10
+ end
7
11
  end
8
- resource :banner_settings
12
+ resource :banner_box_settings
9
13
  end
10
14
  end
@@ -1,10 +1,10 @@
1
1
  class CreateBanners < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :banners do |t|
4
- t.string :title, :url
4
+ t.string :presentation, :url
5
5
  t.string :category
6
6
  t.integer :position
7
- t.boolean :enabled
7
+ t.boolean :enabled, :default => false
8
8
 
9
9
  t.string :attachment_content_type, :attachment_file_name
10
10
  t.datetime :attachment_updated_at
@@ -1,5 +1,5 @@
1
1
  class BannerNamespace < ActiveRecord::Migration
2
2
  def change
3
- rename_table :banners, :spree_banners
3
+ rename_table :banners, :spree_banner_boxes
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree_banner
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.6
4
+ version: 1.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-03-11 00:00:00.000000000 Z
12
+ date: 2013-03-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: spree_core
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - ! '>='
20
20
  - !ruby/object:Gem::Version
21
- version: 1.1.3
21
+ version: 1.3.0
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
- version: 1.1.3
29
+ version: 1.3.0
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: paperclip
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -75,20 +75,19 @@ files:
75
75
  - app/assets/javascripts/store/spree_banner.js
76
76
  - app/assets/stylesheets/admin/spree_banner.css
77
77
  - app/assets/stylesheets/store/spree_banner.css
78
- - app/controllers/spree/admin/banner_settings_controller.rb
79
- - app/controllers/spree/admin/banners_controller.rb
80
- - app/helpers/spree/banners_helper.rb
78
+ - app/controllers/spree/admin/banner_box_settings_controller.rb
79
+ - app/controllers/spree/admin/banner_boxes_controller.rb
80
+ - app/helpers/spree/banner_boxes_helper.rb
81
81
  - app/models/spree/app_configuration_decorator.rb
82
- - app/models/spree/banner.rb
82
+ - app/models/spree/banner_box.rb
83
83
  - app/overrides/banner_admin_tab.rb
84
- - app/views/spree/admin/banner_settings/edit.html.erb
85
- - app/views/spree/admin/banner_settings/show.html.erb
86
- - app/views/spree/admin/banners/_form.html.erb
87
- - app/views/spree/admin/banners/edit.html.erb
88
- - app/views/spree/admin/banners/index.html.erb
89
- - app/views/spree/admin/banners/new.html.erb
90
- - app/views/spree/admin/banners/new.js.erb
91
- - app/views/spree/admin/shared/_banner_setting_configurations_menu.html.erb
84
+ - app/views/spree/admin/banner_box_settings/edit.html.erb
85
+ - app/views/spree/admin/banner_boxes/_form.html.erb
86
+ - app/views/spree/admin/banner_boxes/edit.html.erb
87
+ - app/views/spree/admin/banner_boxes/index.html.erb
88
+ - app/views/spree/admin/banner_boxes/new.html.erb
89
+ - app/views/spree/admin/banner_boxes/new.js.erb
90
+ - app/views/spree/admin/shared/_banner_box_sub_menu.html.erb
92
91
  - db/migrate/20120116204313_create_banners.rb
93
92
  - db/migrate/20120323174800_banner_namespace.rb
94
93
  - config/locales/en.yml
@@ -1,26 +0,0 @@
1
- module Spree
2
- module Admin
3
- class BannersController < ResourceController
4
-
5
- def show
6
- redirect_to(:action => :edit)
7
- end
8
-
9
- def update_positions
10
- params[:positions].each do |id, index|
11
- Spree::Banner.where(:id => id).update_all(:position => index)
12
- end
13
-
14
- respond_to do |format|
15
- format.js { render :text => 'Ok' }
16
- end
17
- end
18
-
19
- private
20
- def location_after_save
21
- edit_admin_banner_url(@banner)
22
- end
23
-
24
- end
25
- end
26
- end
@@ -1,24 +0,0 @@
1
- module Spree
2
- module BannersHelper
3
-
4
- def insert_banner(params={})
5
- params[:max] ||= 1
6
- params[:category] ||= "home"
7
- params[:class] ||= "banner"
8
- params[:style] ||= "small"
9
- params[:list] ||= false
10
- banner = Spree::Banner.enable(params[:category]).limit(params[:max])
11
- if !banner.blank?
12
- banner = banner.sort_by { |ban| ban.position }
13
-
14
- if (params[:list])
15
- content_tag(:ul, banner.map{|ban| content_tag(:li, link_to(image_tag(ban.attachment.url(params[:style].to_sym)), (ban.url.blank? ? "javascript: void(0)" : ban.url)), :class => params[:class])}.join().html_safe )
16
- else
17
- banner.map{|ban| content_tag(:div, link_to(image_tag(ban.attachment.url(params[:style].to_sym)), (ban.url.blank? ? "javascript: void(0)" : ban.url)), :class => params[:class])}.join().html_safe
18
- end
19
-
20
- end
21
- end
22
-
23
- end
24
- end
@@ -1,51 +0,0 @@
1
- module Spree
2
- class Banner < ActiveRecord::Base
3
- attr_accessible :title, :url, :category, :position, :enabled, :attachment
4
-
5
- has_attached_file :attachment,
6
- :styles => { :mini => '80x80#', :small => '120x120#' },
7
- :url => "/spree/banners/:id/:style_:basename.:extension",
8
- :path => ":rails_root/public/spree/banners/:id/:style_:basename.:extension",
9
- :convert_options => { :all => '-strip' }
10
-
11
- after_post_process :find_dimensions
12
-
13
- validates_presence_of :category
14
- validates_attachment_presence :attachment
15
- validates_attachment_content_type :attachment, :content_type => ['image/jpeg', 'image/png', 'image/gif', 'image/jpg', 'image/x-png', 'image/pjpeg'], :message => "deve essere JPG, JPEG, PNG o GIF"
16
-
17
- scope :enable, lambda { |category| {:conditions => {:enabled => true, :category => category}} }
18
-
19
- # Load user defined paperclip settings
20
- if Spree::Config[:use_s3]
21
- s3_creds = { :access_key_id => Spree::Config[:s3_access_key], :secret_access_key => Spree::Config[:s3_secret], :bucket => Spree::Config[:s3_bucket] }
22
- Spree::Banner.attachment_definitions[:attachment][:storage] = :s3
23
- Spree::Banner.attachment_definitions[:attachment][:s3_credentials] = s3_creds
24
- Spree::Banner.attachment_definitions[:attachment][:s3_headers] = ActiveSupport::JSON.decode(Spree::Config[:s3_headers])
25
- Spree::Banner.attachment_definitions[:attachment][:bucket] = Spree::Config[:s3_bucket]
26
- Spree::Banner.attachment_definitions[:attachment][:s3_protocol] = Spree::Config[:s3_protocol] unless Spree::Config[:s3_protocol].blank?
27
- end
28
-
29
- Spree::Banner.attachment_definitions[:attachment][:styles] = ActiveSupport::JSON.decode(Spree::Config[:banner_styles])
30
- Spree::Banner.attachment_definitions[:attachment][:path] = Spree::Config[:banner_path]
31
- Spree::Banner.attachment_definitions[:attachment][:url] = Spree::Config[:banner_url]
32
- Spree::Banner.attachment_definitions[:attachment][:default_url] = Spree::Config[:banner_default_url]
33
- Spree::Banner.attachment_definitions[:attachment][:default_style] = Spree::Config[:banner_default_style]
34
-
35
- def initialize(*args)
36
- super(*args)
37
- last_banner = Banner.last
38
- self.position = last_banner ? last_banner.position + 1 : 0
39
- end
40
-
41
- def find_dimensions
42
- temporary = attachment.queued_for_write[:original]
43
- filename = temporary.path unless temporary.nil?
44
- filename = attachment.path if filename.blank?
45
- geometry = Paperclip::Geometry.from_file(filename)
46
- self.attachment_width = geometry.width
47
- self.attachment_height = geometry.height
48
- end
49
-
50
- end
51
- end
@@ -1,48 +0,0 @@
1
- <%= render :partial => 'spree/admin/shared/configuration_menu' %>
2
-
3
- <h1><%= t(:banner_settings) %></h1>
4
-
5
- <p><span class="warning"><%= t(:banner_settings_warning) %></span></p>
6
-
7
- <%= form_tag admin_banner_settings_path, :method => :put do %>
8
-
9
- <p data-hook="banner_path">
10
- <label>
11
- <%= label_tag 'preferences[banner_path]', t(:banner_path) %>
12
- <%= preference_field_tag 'preferences[banner_path]', Spree::Config[:banner_path], :type => :string %>
13
- </label>
14
- </p>
15
-
16
- <p data-hook="banner_default_url">
17
- <label>
18
- <%= label_tag 'preferences[banner_default_url]', t(:banner_default_url) %>
19
- <%= preference_field_tag 'preferences[banner_default_url]', Spree::Config[:banner_default_url], :type => :string %>
20
- </label>
21
- </p>
22
-
23
- <p data-hook="banner_default_style">
24
- <label>
25
- <%= label_tag 'preferences[banner_default_style]', t(:banner_default_style) %>
26
- <%= collection_select 'preferences', 'banner_default_style', @styles, :first, :first, {:selected => Spree::Config[:banner_default_style] } %>
27
- </label>
28
- </p>
29
-
30
- <div id="banner_styles" data-hook="banner_styles">
31
- <h2><%= t(:banner_styles) %></h2>
32
- <ul id="styles_list">
33
- <% @styles.each do |style_name, style_value| %>
34
- <li>
35
- <%= label_tag "banner_styles[#{style_name}]", style_name %>
36
- <%= text_field_tag "banner_styles[#{style_name}]", style_value %>
37
- <a href="#" alt="Destroy" class="destroy_banner_style">x</a>
38
- </li>
39
- <% end %>
40
- </ul>
41
- <p><a href="#" alt="Add Style" class="add_banner_style"><%= t(:add_new_style) %></a></p>
42
- </div>
43
-
44
- <p class="form-buttons" data-hook="buttons">
45
- <%= button t(:update) %>
46
- </p>
47
-
48
- <% end %>
@@ -1,10 +0,0 @@
1
- <%= render :partial => 'spree/admin/shared/configuration_menu' %>
2
-
3
- <h1><%= t(:banner_settings) %></h1>
4
-
5
- <h4><%= t(:banner_path) %>: <%= Spree::Config[:banner_path] %></h4>
6
- <h4><%= t(:banner_default_url) %>: <%= Spree::Config[:banner_default_url] %></h4>
7
- <h4><%= t(:banner_default_style) %>: <%= Spree::Config[:banner_default_style] %></h4>
8
- <h4><%= t(:defined_paperclip_styles) %>: <%= @styles_list %></h4>
9
-
10
- <%= link_to_with_icon 'edit', t(:edit), edit_admin_banner_settings_path, :id => 'admin_banner_settings_link' %>
@@ -1,30 +0,0 @@
1
- <div data-hook="admin_banner_form_fields">
2
- <div class="clearfix">
3
- <div class="left" data-hook="admin_banner_form_left">
4
- <%= f.field_container :category do %>
5
- <%= f.label :category, t(:category) %> <span class="required">*</span><br />
6
- <%= f.text_field :category, :class => 'fullwidth title' %>
7
- <%= f.error_message_on :category %>
8
- <% end %>
9
-
10
- <%= f.field_container :url do %>
11
- <%= f.label :url, t(:url) %><br />
12
- <%= f.text_field :url, :class => 'fullwidth title' %>
13
- <%= f.error_message_on :url %>
14
- <% end %>
15
- </div>
16
- <div class="right" data-hook="admin_banner_form_right">
17
- <%= f.field_container :attachment do %>
18
- <%= f.label :attachment, t(:attachment) %><br />
19
- <%= f.file_field :attachment %>
20
- <%= f.error_message_on :attachment %>
21
- <% end %>
22
-
23
- <%= f.field_container :enabled do %>
24
- <%= f.label :enabled, t(:enabled) %><br />
25
- <%= f.check_box :enabled %>
26
- <%= f.error_message_on :enabled %>
27
- <% end %>
28
- </div>
29
- </div>
30
- </div>
@@ -1,6 +0,0 @@
1
- <%= render :partial => 'spree/shared/error_messages', :locals => { :target => @banner } %>
2
-
3
- <%= form_for([:admin, @banner], :html => { :multipart => true }) do |f| %>
4
- <%= render :partial => 'form', :locals => { :f => f } %>
5
- <%= render :partial => 'spree/admin/shared/edit_resource_links' %>
6
- <% end %>
@@ -1,36 +0,0 @@
1
- <div class="toolbar" data-hook="toolbar">
2
- <ul class="actions">
3
- <li id="new_banner_link">
4
- <%= button_link_to t(:new_banner), new_object_url, {:remote => true, :icon => 'add', :id => 'admin_new_banner'} %>
5
- </li>
6
- </ul>
7
- <br class="clear" />
8
- </div>
9
-
10
- <h1><%= t(:listing_banners) %></h1>
11
-
12
- <div id="new_banner" data-hook></div>
13
-
14
- <table class="index sortable" data-hook="listing_banners" data-sortable-link="<%= update_positions_admin_banners_url() %>">
15
- <tr data-hook="admin_banners_index_headers">
16
- <th><%= t(:thumbnail) %></th>
17
- <th><%= t(:category) %></th>
18
- <th><%= t(:enable) %></th>
19
- <th data-hook="admin_banners_index_header_actions"></th>
20
- </tr>
21
- <% @banners.each do |banner| %>
22
- <tr id="<%= spree_dom_id banner %>" data-hook="admin_banners_index_rows">
23
- <td>
24
- <span class="handle"></span>
25
- <%= link_to image_tag(banner.attachment.url(:mini)), banner.attachment.url(:small) %>
26
- </td>
27
- <td><%= banner.category %></td>
28
- <td><%= icon('tick') if banner.enabled %></td>
29
- <td class="actions" data-hook="admin_banners_index_row_actions">
30
- <%= link_to_edit banner, :class => 'edit' %>
31
- &nbsp;
32
- <%= link_to_delete banner %>
33
- </td>
34
- </tr>
35
- <% end %>
36
- </table>
@@ -1,2 +0,0 @@
1
- $("#new_banner").html('<%= escape_javascript(render :template => "spree/admin/banners/new", :formats => [:html], :handlers => [:erb]) %>');
2
- $("#admin_new_banner").parent().hide();
@@ -1,4 +0,0 @@
1
- <tr>
2
- <td><%= link_to t(:banner_settings), admin_banner_settings_path %></td>
3
- <td><%= t(:banner_settings_description) %></td>
4
- </tr>