spree_banner 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +2 -2
- data/app/controllers/spree/admin/banners_controller.rb +16 -0
- data/app/models/spree/banner.rb +32 -1
- data/app/views/spree/admin/banners/index.html.erb +5 -2
- data/config/routes.rb +5 -1
- data/db/migrate/20120116204313_create_banners.rb +1 -1
- data/db/migrate/20120323174800_banner_namespace.rb +5 -0
- metadata +6 -5
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',
|
12
|
+
gem 'spree_banner', '~> 1.0.3'
|
13
13
|
</pre>
|
14
14
|
2. Run `bundle install`
|
15
15
|
3. To copy and apply migrations run:
|
@@ -41,6 +41,6 @@ set banner class (default banner)
|
|
41
41
|
<pre>
|
42
42
|
<%= insert_banner(:style => "your_container") %>
|
43
43
|
</pre>
|
44
|
-
set banner container (default list[
|
44
|
+
set banner container (default list [possibile: div, p, ...])
|
45
45
|
|
46
46
|
Copyright (c) 2012 [Damiano Giacomello], released under the New BSD License
|
@@ -3,10 +3,26 @@ module Spree
|
|
3
3
|
class BannersController < ResourceController
|
4
4
|
before_filter :load_data
|
5
5
|
|
6
|
+
def update_positions
|
7
|
+
params[:positions].each do |id, index|
|
8
|
+
Spree::Banner.update_all(['position=?', index], ['id=?', id])
|
9
|
+
end
|
10
|
+
|
11
|
+
respond_to do |format|
|
12
|
+
format.html { redirect_to admin_banners_url() }
|
13
|
+
format.js { render :text => 'Ok' }
|
14
|
+
end
|
15
|
+
end
|
6
16
|
|
7
17
|
def load_data
|
8
18
|
@banners = Spree::Banner.all
|
9
19
|
end
|
20
|
+
|
21
|
+
private
|
22
|
+
def location_after_save
|
23
|
+
admin_banners_url(@banner)
|
24
|
+
end
|
25
|
+
|
10
26
|
end
|
11
27
|
end
|
12
28
|
end
|
data/app/models/spree/banner.rb
CHANGED
@@ -12,18 +12,49 @@ module Spree
|
|
12
12
|
:convert_options => {
|
13
13
|
:thumbnail => "-gravity center"
|
14
14
|
}
|
15
|
+
after_post_process :find_dimensions
|
15
16
|
|
16
17
|
validates_presence_of :category, :attachment_width, :attachment_height
|
17
18
|
validates_attachment_presence :attachment
|
18
19
|
validates_attachment_content_type :attachment, :content_type => ['image/jpeg', 'image/png', 'image/gif'], :message => "deve essere JPG, JPEG o PNG"
|
19
20
|
#process_in_background :image UTILE MA OCCORRE ATTIVARE ANCHE LA GEMMA DELAYED-PAPERCLIP
|
20
21
|
scope :enable, lambda { |category| {:conditions => {:enabled => true, :category => category}} }
|
21
|
-
|
22
|
+
|
23
|
+
# Load S3 settings
|
24
|
+
if (Rails.root.join('config', 's3.yml'))
|
25
|
+
S3_OPTIONS = {
|
26
|
+
:storage => 's3',
|
27
|
+
:s3_credentials => Rails.root.join('config', 's3.yml')
|
28
|
+
}
|
29
|
+
elsif (ENV['S3_KEY'] && ENV['S3_SECRET'] && ENV['S3_BUCKET'])
|
30
|
+
S3_OPTIONS = {
|
31
|
+
:storage => 's3',
|
32
|
+
:s3_credentials => {
|
33
|
+
:access_key_id => ENV['S3_KEY'],
|
34
|
+
:secret_access_key => ENV['S3_SECRET']
|
35
|
+
},
|
36
|
+
:bucket => ENV['S3_BUCKET']
|
37
|
+
}
|
38
|
+
else
|
39
|
+
S3_OPTIONS = { :storage => 'filesystem' }
|
40
|
+
end
|
41
|
+
|
42
|
+
attachment_definitions[:attachment] = (attachment_definitions[:attachment] || {}).merge(S3_OPTIONS)
|
43
|
+
|
22
44
|
def initialize(*args)
|
23
45
|
super(*args)
|
24
46
|
last_banner = Banner.last
|
25
47
|
self.position = last_banner ? last_banner.position + 1 : 0
|
26
48
|
end
|
27
49
|
|
50
|
+
def find_dimensions
|
51
|
+
temporary = attachment.queued_for_write[:original]
|
52
|
+
filename = temporary.path unless temporary.nil?
|
53
|
+
filename = attachment.path if filename.blank?
|
54
|
+
geometry = Paperclip::Geometry.from_file(filename)
|
55
|
+
self.attachment_width = geometry.width
|
56
|
+
self.attachment_height = geometry.height
|
57
|
+
end
|
58
|
+
|
28
59
|
end
|
29
60
|
end
|
@@ -9,7 +9,7 @@
|
|
9
9
|
|
10
10
|
<h1><%= t("banner.many") %></h1>
|
11
11
|
|
12
|
-
<table class="index">
|
12
|
+
<table class="index sortable" data-hook data-sortable-link="<%= update_positions_admin_banners_url %>">
|
13
13
|
<tr>
|
14
14
|
<th><%= t("banner.category") %></th>
|
15
15
|
<th><%= t("banner.position") %></th>
|
@@ -19,7 +19,10 @@
|
|
19
19
|
<tbody>
|
20
20
|
<% @banners.each do |banner| %>
|
21
21
|
<tr class="<%= cycle('even', 'odd') %>" id="<%= dom_id banner %>">
|
22
|
-
<td
|
22
|
+
<td>
|
23
|
+
<span class="handle"></span>
|
24
|
+
<%= banner.category %>
|
25
|
+
</td>
|
23
26
|
<td><%= banner.position %></td>
|
24
27
|
<td><%= icon('tick') if banner.enabled %></td>
|
25
28
|
<td>
|
data/config/routes.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_banner
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 3
|
10
|
+
version: 1.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Damiano Giacomello
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-
|
18
|
+
date: 2012-04-16 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: spree_core
|
@@ -116,6 +116,7 @@ files:
|
|
116
116
|
- app/views/spree/admin/banners/index.html.erb
|
117
117
|
- app/views/spree/admin/banners/new.html.erb
|
118
118
|
- db/migrate/20120116204313_create_banners.rb
|
119
|
+
- db/migrate/20120323174800_banner_namespace.rb
|
119
120
|
- config/locales/en.yml
|
120
121
|
- config/locales/it.yml
|
121
122
|
- config/routes.rb
|
@@ -150,7 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
150
151
|
requirements:
|
151
152
|
- none
|
152
153
|
rubyforge_project:
|
153
|
-
rubygems_version: 1.8.
|
154
|
+
rubygems_version: 1.8.21
|
154
155
|
signing_key:
|
155
156
|
specification_version: 3
|
156
157
|
summary: Extension to manage banner for you Spree Shop
|