spree_delivery_options 2.1.3 → 2.1.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.
- checksums.yaml +4 -4
- data/app/assets/stylesheets/admin/order_details.scss +10 -0
- data/app/assets/stylesheets/admin/spree_delivery_options.css +3 -0
- data/app/assets/stylesheets/store/delivery_checkout.scss +16 -1
- data/app/models/spree/order_decorator.rb +10 -0
- data/app/overrides/add_delivery_info_to_order_details.rb +5 -0
- data/app/views/spree/admin/orders/_delivery_info.haml +17 -0
- data/app/views/spree/checkout/_delivery_date.haml +14 -0
- data/db/migrate/20140109003355_add_delivery_instructions.rb +5 -0
- data/lib/generators/spree_delivery_options/install/install_generator.rb +1 -0
- data/spec/models/order_spec.rb +16 -0
- data/spree_delivery_options.gemspec +1 -1
- metadata +7 -2
- data/app/views/spree/checkout/_delivery_date.html.erb +0 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ffa0c34813e0e8d339119ca8a2fd0fd9452f7432
|
|
4
|
+
data.tar.gz: 797b69f00b0950d2846e4f0996190f74c7956a54
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4e16f085274d39bb8b177cf77ca0cc98a0f627f3420e7e505a8401c4f6938640c618067733a97fe22774a49f2cb2384a7c8ae3f44a20a71d8927caf77049d5e9
|
|
7
|
+
data.tar.gz: 0fdfeb40e6644e8af809fc5df803288240dfbf12a5c3b4b70e8f9fa5790597bc4451d6ea8ffdf1ebfecf2896a565a9e2eb10c87f14229d5ab715e50d0b8e5369
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
@import 'store/variables';
|
|
2
2
|
|
|
3
3
|
#shipping_method {
|
|
4
|
-
.stock-delivery-date-title {
|
|
4
|
+
.stock-delivery-date-title, .stock-delivery-instructions-title {
|
|
5
5
|
background-color: lighten($body_text_color, 70);
|
|
6
6
|
text-align: center;
|
|
7
7
|
text-transform: uppercase;
|
|
@@ -9,3 +9,18 @@
|
|
|
9
9
|
font-size :11px;
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
|
+
|
|
13
|
+
#delivery_date, #delivery_instructions {
|
|
14
|
+
.field {
|
|
15
|
+
margin: 20px 0;
|
|
16
|
+
|
|
17
|
+
label {
|
|
18
|
+
margin-right: 20px;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
#delivery_instructions textarea {
|
|
24
|
+
width: 100%;
|
|
25
|
+
min-height: 100px;
|
|
26
|
+
}
|
|
@@ -2,6 +2,14 @@ Spree::Order.class_eval do
|
|
|
2
2
|
require 'date'
|
|
3
3
|
require 'spree/order/checkout'
|
|
4
4
|
|
|
5
|
+
def valid_delivery_instructions?
|
|
6
|
+
if self.delivery_instructions.length > 500
|
|
7
|
+
self.errors[:delivery_instructions] << 'cannot be longer than 500 charachters'
|
|
8
|
+
return false
|
|
9
|
+
end
|
|
10
|
+
true
|
|
11
|
+
end
|
|
12
|
+
|
|
5
13
|
def valid_delivery_date?
|
|
6
14
|
self.errors[:delivery_date] << 'cannot be blank' unless self.delivery_date
|
|
7
15
|
|
|
@@ -32,7 +40,9 @@ end
|
|
|
32
40
|
|
|
33
41
|
Spree::PermittedAttributes.checkout_attributes << :delivery_date
|
|
34
42
|
Spree::PermittedAttributes.checkout_attributes << :delivery_time
|
|
43
|
+
Spree::PermittedAttributes.checkout_attributes << :delivery_instructions
|
|
35
44
|
|
|
45
|
+
Spree::Order.state_machine.before_transition :to => :payment, :do => :valid_delivery_instructions?
|
|
36
46
|
Spree::Order.state_machine.before_transition :to => :payment, :do => :valid_delivery_date?
|
|
37
47
|
Spree::Order.state_machine.before_transition :to => :payment, :do => :valid_delivery_time?
|
|
38
48
|
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
%fieldset#delivery-info.no-border-bottom
|
|
2
|
+
%legend= Spree.t(:delivery_info)
|
|
3
|
+
%table
|
|
4
|
+
%thead
|
|
5
|
+
%th= Spree.t(:date)
|
|
6
|
+
%th= Spree.t(:time)
|
|
7
|
+
%tbody
|
|
8
|
+
%td= @order.delivery_date
|
|
9
|
+
%td= @order.delivery_time
|
|
10
|
+
.delivery-instructions
|
|
11
|
+
%label= Spree.t(:delivery_instructions)
|
|
12
|
+
%span
|
|
13
|
+
- if @order.delivery_instructions.nil?
|
|
14
|
+
No instructions provided
|
|
15
|
+
- else
|
|
16
|
+
= @order.delivery_instructions
|
|
17
|
+
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
%h5.stock-delivery-date-title
|
|
2
|
+
Delivery Date
|
|
3
|
+
#delivery_date
|
|
4
|
+
.field
|
|
5
|
+
= form.label :delivery_date, "Delivery Date"
|
|
6
|
+
= form.date_select :delivery_date
|
|
7
|
+
.field
|
|
8
|
+
= form.label :delivery_time, "Delivery Time"
|
|
9
|
+
= form.select :delivery_time, JSON.parse(SpreeDeliveryOptions::Config.delivery_time_options).values, {}
|
|
10
|
+
%h5.stock-delivery-instructions-title
|
|
11
|
+
Delivery Instructions/Comments
|
|
12
|
+
#delivery_instructions
|
|
13
|
+
.field
|
|
14
|
+
= form.text_area :delivery_instructions
|
|
@@ -7,6 +7,7 @@ module SpreeDeliveryOptions
|
|
|
7
7
|
|
|
8
8
|
def add_stylesheets
|
|
9
9
|
inject_into_file 'app/assets/stylesheets/store/all.css', " *= require store/spree_delivery_options\n", :before => /\*\//, :verbose => true
|
|
10
|
+
inject_into_file 'app/assets/stylesheets/admin/all.css', " *= require admin/spree_delivery_options\n", :before => /\*\//, :verbose => true
|
|
10
11
|
end
|
|
11
12
|
|
|
12
13
|
def add_migrations
|
data/spec/models/order_spec.rb
CHANGED
|
@@ -79,6 +79,22 @@ describe Spree::Order do
|
|
|
79
79
|
|
|
80
80
|
end
|
|
81
81
|
|
|
82
|
+
describe 'delivery instructions' do
|
|
83
|
+
|
|
84
|
+
it 'should accept valid delivery instructions' do
|
|
85
|
+
order.delivery_instructions = "This is awesome"
|
|
86
|
+
order.valid_delivery_instructions?.should be_true
|
|
87
|
+
order.errors[:delivery_instructions].should be_empty
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
it 'should not accept delivery instructions that are too long' do
|
|
91
|
+
order.delivery_instructions = "A" * 501
|
|
92
|
+
order.valid_delivery_instructions?.should be_false
|
|
93
|
+
order.errors[:delivery_instructions].should_not be_empty
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
end
|
|
97
|
+
|
|
82
98
|
|
|
83
99
|
end
|
|
84
100
|
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: spree_delivery_options
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.1.
|
|
4
|
+
version: 2.1.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Francisco Trindade
|
|
@@ -191,9 +191,12 @@ files:
|
|
|
191
191
|
- README.md
|
|
192
192
|
- Rakefile
|
|
193
193
|
- Versionfile
|
|
194
|
+
- app/assets/stylesheets/admin/order_details.scss
|
|
195
|
+
- app/assets/stylesheets/admin/spree_delivery_options.css
|
|
194
196
|
- app/assets/stylesheets/store/delivery_checkout.scss
|
|
195
197
|
- app/assets/stylesheets/store/spree_delivery_options.css
|
|
196
198
|
- app/models/spree/order_decorator.rb
|
|
199
|
+
- app/overrides/add_delivery_info_to_order_details.rb
|
|
197
200
|
- app/overrides/admin_order_information.rb
|
|
198
201
|
- app/overrides/admin_orders_delivery_date_column.rb
|
|
199
202
|
- app/overrides/admin_orders_delivery_date_filter.rb
|
|
@@ -202,13 +205,15 @@ files:
|
|
|
202
205
|
- app/views/spree/admin/orders/_delivery_date_cell.html.erb
|
|
203
206
|
- app/views/spree/admin/orders/_delivery_date_filter.html.erb
|
|
204
207
|
- app/views/spree/admin/orders/_delivery_date_header.html.erb
|
|
208
|
+
- app/views/spree/admin/orders/_delivery_info.haml
|
|
205
209
|
- app/views/spree/admin/shared/_admin_order_information_delivery_date.html.erb
|
|
206
|
-
- app/views/spree/checkout/_delivery_date.
|
|
210
|
+
- app/views/spree/checkout/_delivery_date.haml
|
|
207
211
|
- app/views/spree/orders/_order_delivery_date_details.html.erb
|
|
208
212
|
- config/locales/en.yml
|
|
209
213
|
- config/routes.rb
|
|
210
214
|
- db/migrate/20130415025010_add_delivery_date_to_orders.rb
|
|
211
215
|
- db/migrate/20131206053316_add_delivery_time_to_orders.rb
|
|
216
|
+
- db/migrate/20140109003355_add_delivery_instructions.rb
|
|
212
217
|
- lib/generators/spree_delivery_options/install/install_generator.rb
|
|
213
218
|
- lib/spree_delivery_options.rb
|
|
214
219
|
- lib/spree_delivery_options/configuration.rb
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
<h5 class="stock-delivery-date-title">Delivery Date</h5>
|
|
2
|
-
<p id="delivery_date">
|
|
3
|
-
<%= form.label :delivery_date, "Delivery Date" %><br />
|
|
4
|
-
<%= form.date_select :delivery_date, default: Date.yesterday %><br />
|
|
5
|
-
<%= form.label :delivery_time, "Delivery Time" %><br />
|
|
6
|
-
<%= form.select :delivery_time, JSON.parse(SpreeDeliveryOptions::Config.delivery_time_options).values, {}
|
|
7
|
-
</p>
|