spree_retailers 0.40.0.2 → 0.40.0.4
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 +18 -2
- data/Rakefile +1 -23
- data/app/controllers/admin/retailers_controller.rb +1 -1
- data/app/controllers/retailers_controller.rb +4 -0
- data/app/helpers/retailers_helper.rb +3 -3
- data/app/models/retailer.rb +3 -7
- data/app/views/admin/retailers/index.html.erb +2 -0
- data/app/views/retailers/_list.html.erb +1 -1
- data/app/views/retailers/_retailer.html.erb +33 -29
- data/lib/spree_retailers/version.rb +1 -1
- metadata +6 -6
data/README.md
CHANGED
|
@@ -4,6 +4,18 @@ Spree Retailers
|
|
|
4
4
|
Spree Retailers is a simple Spree Extension that adds a retailers page as well as a retailers admin.
|
|
5
5
|
|
|
6
6
|
|
|
7
|
+
Installation
|
|
8
|
+
------------
|
|
9
|
+
|
|
10
|
+
As usual, add 'spree_retalers' to your Gemfile or install directly.
|
|
11
|
+
|
|
12
|
+
gem 'spree_retailers', '0.40.0.4'
|
|
13
|
+
|
|
14
|
+
# or
|
|
15
|
+
|
|
16
|
+
(sudo) gem install spree_retailers
|
|
17
|
+
|
|
18
|
+
|
|
7
19
|
Demo
|
|
8
20
|
----
|
|
9
21
|
|
|
@@ -11,7 +23,7 @@ To create a spree retailers demo app, run the following:
|
|
|
11
23
|
|
|
12
24
|
rails new spree_retailers_example
|
|
13
25
|
cd spree_retailers_example
|
|
14
|
-
echo "gem 'spree', '0.40.
|
|
26
|
+
echo "gem 'spree', '0.40.3'" >> Gemfile
|
|
15
27
|
echo "gem 'spree_retailers'" >> Gemfile
|
|
16
28
|
rm public/index.html
|
|
17
29
|
bundle install
|
|
@@ -19,7 +31,7 @@ To create a spree retailers demo app, run the following:
|
|
|
19
31
|
|
|
20
32
|
Or all at once:
|
|
21
33
|
|
|
22
|
-
rails new spree_retailers_example; cd spree_retailers_example; echo "gem 'spree', '0.40.
|
|
34
|
+
rails new spree_retailers_example; cd spree_retailers_example; echo "gem 'spree', '0.40.3'" >> Gemfile; echo "gem 'spree_retailers'" >> Gemfile; rm public/index.html; bundle install; rake spree:install spree_retailers:install db:migrate db:seed db:admin:create
|
|
23
35
|
|
|
24
36
|
`rake spree_sample:install db:sample` if you want to...
|
|
25
37
|
|
|
@@ -30,6 +42,10 @@ To Do
|
|
|
30
42
|
-----
|
|
31
43
|
|
|
32
44
|
* Write controller tests
|
|
45
|
+
* Write admin tests
|
|
46
|
+
* Google map integration (we're already geocoding, so why not?)
|
|
47
|
+
* Add International Support
|
|
48
|
+
|
|
33
49
|
|
|
34
50
|
License
|
|
35
51
|
-------
|
data/Rakefile
CHANGED
|
@@ -26,26 +26,4 @@ desc "Builds dummy app for testing"
|
|
|
26
26
|
task :test_app do
|
|
27
27
|
require 'spree_retailers/generators/test_app_generator'
|
|
28
28
|
SpreeRetailers::Generators::TestAppGenerator.start
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
#require 'bundler'
|
|
34
|
-
#require 'rake/testtask'
|
|
35
|
-
#Bundler::GemHelper.install_tasks
|
|
36
|
-
#
|
|
37
|
-
#Rake::TestTask.new do |t|
|
|
38
|
-
# t.libs << "lib"
|
|
39
|
-
# t.pattern = 'test/**/*_test.rb'
|
|
40
|
-
# t.verbose = true
|
|
41
|
-
#end
|
|
42
|
-
#
|
|
43
|
-
#desc "Default Task"
|
|
44
|
-
#task :default => [ :test ]
|
|
45
|
-
#
|
|
46
|
-
#
|
|
47
|
-
#desc "Builds dummy app for testing"
|
|
48
|
-
#task :test_app do
|
|
49
|
-
# require 'spree_retailers/generators/test_app_generator'
|
|
50
|
-
# SpreeRetailers::Generators::TestAppGenerator.start
|
|
51
|
-
#end
|
|
29
|
+
end
|
|
@@ -46,7 +46,7 @@ class Admin::RetailersController < Admin::BaseController
|
|
|
46
46
|
end
|
|
47
47
|
|
|
48
48
|
def get_states
|
|
49
|
-
@states = State.where(:country_id => 214).collect{|state| state.name }.sort
|
|
49
|
+
@states = State.where(:country_id => 214).collect{|state| [state.name, state.abbr] }.sort
|
|
50
50
|
end
|
|
51
51
|
|
|
52
52
|
end
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
module RetailersHelper
|
|
2
2
|
|
|
3
3
|
def state_nav_helper
|
|
4
|
-
|
|
5
|
-
return "" unless 1 <
|
|
6
|
-
|
|
4
|
+
states = (@retailers || Retailer.select(:state).group(:state).all).collect(&:state).uniq
|
|
5
|
+
return "" unless 1 < states.length
|
|
6
|
+
states.collect{|state| link_to(state, "##{state.downcase}") }.join(" | ").html_safe
|
|
7
7
|
end
|
|
8
8
|
|
|
9
9
|
end
|
data/app/models/retailer.rb
CHANGED
|
@@ -55,11 +55,7 @@ class Retailer < ActiveRecord::Base
|
|
|
55
55
|
def geocode
|
|
56
56
|
geo = Geokit::Geocoders::MultiGeocoder.geocode(full_address)
|
|
57
57
|
if geo.success
|
|
58
|
-
self.attributes = {
|
|
59
|
-
:address => geo.street_address,
|
|
60
|
-
:city => geo.city,
|
|
61
|
-
:state => geo.state,
|
|
62
|
-
:zipcode => geo.zip,
|
|
58
|
+
self.attributes = {
|
|
63
59
|
:latitude => geo.lat,
|
|
64
60
|
:longitude => geo.lng,
|
|
65
61
|
:geokit_provider => geo.provider,
|
|
@@ -69,8 +65,8 @@ class Retailer < ActiveRecord::Base
|
|
|
69
65
|
}
|
|
70
66
|
else
|
|
71
67
|
self.attributes = {
|
|
72
|
-
:latitude
|
|
73
|
-
:longitude
|
|
68
|
+
:latitude => nil,
|
|
69
|
+
:longitude => nil,
|
|
74
70
|
:geokit_provider => nil,
|
|
75
71
|
:geokit_precision => nil,
|
|
76
72
|
:geokit_accuracy => nil,
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
<tr>
|
|
16
16
|
<th><%= order @search, :by => :name %></th>
|
|
17
17
|
<th><%= order @search, :by => :address %></th>
|
|
18
|
+
<th><%= order @search, :by => :state %></th>
|
|
18
19
|
<th><%= order @search, :by => :email %></th>
|
|
19
20
|
<th><%= order @search, :by => :phone %></th>
|
|
20
21
|
<th><%= t("action") %></th>
|
|
@@ -25,6 +26,7 @@
|
|
|
25
26
|
<tr id="<%= dom_id retailer %>">
|
|
26
27
|
<td width="200px"><%= link_to retailer.name, object_url(retailer) %></td>
|
|
27
28
|
<td><%= retailer.address %></td>
|
|
29
|
+
<td><%= retailer.state %></td>
|
|
28
30
|
<td><%= retailer.email %></td>
|
|
29
31
|
<td><%= retailer.phone %></td>
|
|
30
32
|
<td>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
<% retailers.group_by(&:state).each do |state, state_retailers| %>
|
|
10
10
|
<hr/>
|
|
11
|
-
<h4 id="<%= state.downcase %>"><%= state %></h4>
|
|
11
|
+
<h4 id="<%= state.downcase %>"><%= @states[state] %></h4>
|
|
12
12
|
<%= render :partial => 'retailer', :collection => state_retailers %>
|
|
13
13
|
<% end %>
|
|
14
14
|
|
|
@@ -1,35 +1,39 @@
|
|
|
1
1
|
<% if defined? retailer %>
|
|
2
2
|
<div class="retailer">
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
<%= retailer.state %>
|
|
17
|
-
<%= retailer.zipcode %>
|
|
18
|
-
|
|
19
|
-
<% if retailer.has_phone? %>
|
|
3
|
+
<div class="retailer-logo">
|
|
4
|
+
<%= image_tag retailer.logo.url, :alt => retailer.name, :class => 'thumb' if retailer.has_logo? %>
|
|
5
|
+
</div>
|
|
6
|
+
<div class="retailer-info">
|
|
7
|
+
<p>
|
|
8
|
+
<b><%= retailer.has_url? ? link_to(retailer.name, retailer.url, :class => 'popup') : retailer.name %></b><br/>
|
|
9
|
+
<%= retailer.address %>
|
|
10
|
+
|
|
11
|
+
<% if retailer.has_address2? %>
|
|
12
|
+
<br/>
|
|
13
|
+
<%= retailer.address2 %>
|
|
14
|
+
<% end %>
|
|
15
|
+
|
|
20
16
|
<br/>
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
|
|
18
|
+
<%= retailer.city %>,
|
|
19
|
+
<%= retailer.state %>
|
|
20
|
+
<%= retailer.zipcode %>
|
|
23
21
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
22
|
+
<% if retailer.has_phone? %>
|
|
23
|
+
<br/>
|
|
24
|
+
<%= retailer.phone %>
|
|
25
|
+
<% end %>
|
|
26
|
+
|
|
27
|
+
<% if retailer.has_email? %>
|
|
28
|
+
<br/>
|
|
29
|
+
<%= mail_to retailer.email %>
|
|
30
|
+
<% end %>
|
|
31
|
+
|
|
32
|
+
<% if retailer.has_url? %>
|
|
33
|
+
<br/>
|
|
34
|
+
<%= link_to retailer.url, retailer.url, :class => 'popup' %>
|
|
35
|
+
<% end %>
|
|
36
|
+
</p>
|
|
37
|
+
</div>
|
|
34
38
|
</div>
|
|
35
39
|
<% end %>
|
metadata
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: spree_retailers
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease:
|
|
5
|
-
version: 0.40.0.
|
|
5
|
+
version: 0.40.0.4
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
8
8
|
- Spencer Steffen
|
|
@@ -10,7 +10,7 @@ autorequire:
|
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
12
|
|
|
13
|
-
date: 2011-
|
|
13
|
+
date: 2011-03-10 00:00:00 -08:00
|
|
14
14
|
default_executable:
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
@@ -90,7 +90,7 @@ dependencies:
|
|
|
90
90
|
type: :development
|
|
91
91
|
prerelease: false
|
|
92
92
|
version_requirements: *id007
|
|
93
|
-
description: Spree Retailers adds a retailer page and admin to Spree.
|
|
93
|
+
description: Spree Retailers adds a retailer page and admin to Spree Commerce.
|
|
94
94
|
email:
|
|
95
95
|
- spencer@citrusme.com
|
|
96
96
|
executables: []
|
|
@@ -139,7 +139,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
139
139
|
requirements:
|
|
140
140
|
- - ">="
|
|
141
141
|
- !ruby/object:Gem::Version
|
|
142
|
-
hash:
|
|
142
|
+
hash: -1846554186713783098
|
|
143
143
|
segments:
|
|
144
144
|
- 0
|
|
145
145
|
version: "0"
|
|
@@ -148,14 +148,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
148
148
|
requirements:
|
|
149
149
|
- - ">="
|
|
150
150
|
- !ruby/object:Gem::Version
|
|
151
|
-
hash:
|
|
151
|
+
hash: -1846554186713783098
|
|
152
152
|
segments:
|
|
153
153
|
- 0
|
|
154
154
|
version: "0"
|
|
155
155
|
requirements: []
|
|
156
156
|
|
|
157
157
|
rubyforge_project:
|
|
158
|
-
rubygems_version: 1.
|
|
158
|
+
rubygems_version: 1.6.1
|
|
159
159
|
signing_key:
|
|
160
160
|
specification_version: 3
|
|
161
161
|
summary: Spree Retailers adds a retailer admin to Spree.
|