spree_delivery_options 2.1.15 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/store/delivery_options_form.js +43 -0
- data/app/assets/javascripts/store/delivery_time_options.js +6 -3
- data/app/assets/javascripts/store/spree_delivery_options.js +1 -0
- data/app/assets/stylesheets/store/delivery_options_homepage.scss +40 -0
- data/app/assets/stylesheets/store/spree_delivery_options.css +1 -0
- data/app/controllers/spree/taxons_controller_decorator.rb +3 -0
- data/app/helpers/spree_delivery_options/base_helper.rb +10 -2
- data/app/models/spree/order_decorator.rb +19 -5
- data/app/overrides/add_delivery_options_to_taxon.rb +5 -0
- data/app/views/spree/taxons/_delivery_options.haml +29 -0
- data/spec/helpers/spree_delivery_options/base_helper_spec.rb +30 -0
- data/spec/models/order_spec.rb +72 -72
- data/spree_delivery_options.gemspec +1 -1
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b19936a62b8807116a557c91212c3d2b0ec4cdc2
|
4
|
+
data.tar.gz: 5bc39846c2a6cdd32fe656807b1752ed6f3cd479
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: af672b3f1e226c927e773dfc2c01c063102ab080e0072149c97ee2f482ce1d4e35027336f886d16e681e76c52f7dc735a7739407bc7458e08f29815521016e13
|
7
|
+
data.tar.gz: e4ea617a6d6e621577cf8bf2d01068f8e314cc616df90491a09835f504178a8f8e7327d478125b816843d70214fae0104a211a60605f3aec03b690dde2d7d145
|
@@ -0,0 +1,43 @@
|
|
1
|
+
function SpreeDeliveryOptionsForm() {
|
2
|
+
|
3
|
+
var that = this;
|
4
|
+
|
5
|
+
this.initializeForm = function() {
|
6
|
+
var formUrl = $('#delivery-options-form').attr('action');
|
7
|
+
|
8
|
+
$("#delivery-options-form input[type='submit']").click(function(event){
|
9
|
+
event.preventDefault();
|
10
|
+
|
11
|
+
var formData = $('#delivery-options-form').serialize();
|
12
|
+
$.post(
|
13
|
+
formUrl,
|
14
|
+
formData,
|
15
|
+
function(data) {
|
16
|
+
if (data.delivery_date !== null) {
|
17
|
+
location.reload();
|
18
|
+
} else {
|
19
|
+
that.showErrorMessage("Please enter a valid date.");
|
20
|
+
}
|
21
|
+
}).fail(function(data){
|
22
|
+
if (data.responseJSON.errors.delivery_date !== undefined) {
|
23
|
+
that.showErrorMessage(data.responseJSON.errors.delivery_date[0]);
|
24
|
+
} else if (data.responseJSON.errors.delivery_time !== undefined) {
|
25
|
+
that.showErrorMessage(data.responseJSON.errors.delivery_time[0]);
|
26
|
+
} else {
|
27
|
+
that.showErrorMessage("We could not update the delivery date. Please try at checkout.");
|
28
|
+
}
|
29
|
+
});
|
30
|
+
});
|
31
|
+
};
|
32
|
+
|
33
|
+
this.showErrorMessage = function(message) {
|
34
|
+
$('#delivery-options-homepage .error').html("<h5>" + message + "</h5>");
|
35
|
+
$('#delivery-options-homepage .error').show();
|
36
|
+
};
|
37
|
+
|
38
|
+
}
|
39
|
+
|
40
|
+
$(document).ready(function() {
|
41
|
+
var deliveryOptionsForm = new SpreeDeliveryOptionsForm();
|
42
|
+
deliveryOptionsForm.initializeForm();
|
43
|
+
});
|
@@ -3,7 +3,10 @@ function SpreeDeliveryOptions() {
|
|
3
3
|
var that = this;
|
4
4
|
|
5
5
|
this.initializeDatePicker = function() {
|
6
|
-
$('#order_delivery_date').datepicker({
|
6
|
+
$('#order_delivery_date').datepicker({
|
7
|
+
dateFormat: "dd/mm/yy",
|
8
|
+
minDate: 1
|
9
|
+
});
|
7
10
|
};
|
8
11
|
|
9
12
|
this.initializeDeliveryTimeSelect = function() {
|
@@ -41,11 +44,11 @@ function SpreeDeliveryOptions() {
|
|
41
44
|
var arLen = options.length;
|
42
45
|
var newList = "";
|
43
46
|
for ( var i=0, len=arLen; i<len; ++i ){
|
44
|
-
newList = newList +
|
47
|
+
newList = newList + "<option value='" + options[i] + "'>" + options[i]+'</option>';
|
45
48
|
}
|
46
49
|
$('#order_delivery_time').html(newList);
|
47
50
|
} else {
|
48
|
-
$('#order_delivery_time').html("<option>
|
51
|
+
$('#order_delivery_time').html("<option>Not available</option>");
|
49
52
|
}
|
50
53
|
};
|
51
54
|
|
@@ -0,0 +1,40 @@
|
|
1
|
+
#delivery-options-homepage {
|
2
|
+
background-color: #ccc;
|
3
|
+
padding: 10px;
|
4
|
+
margin-bottom: 10px;
|
5
|
+
|
6
|
+
.row {
|
7
|
+
margin-bottom: 0;
|
8
|
+
}
|
9
|
+
|
10
|
+
.success {
|
11
|
+
p {
|
12
|
+
margin: 0;
|
13
|
+
padding: 5px 0;
|
14
|
+
}
|
15
|
+
}
|
16
|
+
|
17
|
+
.error h5 {
|
18
|
+
color: red;
|
19
|
+
}
|
20
|
+
|
21
|
+
.field {
|
22
|
+
|
23
|
+
display: block;
|
24
|
+
margin-bottom: 5px;
|
25
|
+
|
26
|
+
label {
|
27
|
+
margin-right: 5px;
|
28
|
+
}
|
29
|
+
|
30
|
+
input[type='text'], select {
|
31
|
+
width: 120px;
|
32
|
+
}
|
33
|
+
|
34
|
+
input[type='submit'] {
|
35
|
+
margin-top: 5px;
|
36
|
+
width: 200px;
|
37
|
+
}
|
38
|
+
|
39
|
+
}
|
40
|
+
}
|
@@ -1,6 +1,14 @@
|
|
1
1
|
module SpreeDeliveryOptions
|
2
2
|
module BaseHelper
|
3
3
|
|
4
|
+
def current_order_cutoff_time
|
5
|
+
return nil unless (current_order && current_order.delivery_date)
|
6
|
+
|
7
|
+
cutoff_time = Time.zone.now.change(hour: SpreeDeliveryOptions::Config.delivery_cut_off_hour)
|
8
|
+
cutoff_date = current_order.delivery_date - 1.day
|
9
|
+
"#{cutoff_date.strftime('%A, %d %b')} before #{cutoff_time.strftime("%l%P")}"
|
10
|
+
end
|
11
|
+
|
4
12
|
def next_delivery_slot
|
5
13
|
delivery_options = JSON.parse(SpreeDeliveryOptions::Config.delivery_time_options)
|
6
14
|
|
@@ -13,9 +21,9 @@ module SpreeDeliveryOptions
|
|
13
21
|
def next_delivery_day
|
14
22
|
delivery_options = JSON.parse(SpreeDeliveryOptions::Config.delivery_time_options)
|
15
23
|
|
16
|
-
cutoff_time = Time.now.change(hour: SpreeDeliveryOptions::Config.delivery_cut_off_hour)
|
24
|
+
cutoff_time = Time.zone.now.change(hour: SpreeDeliveryOptions::Config.delivery_cut_off_hour)
|
17
25
|
|
18
|
-
current_day = Time.now > cutoff_time ? (Date.
|
26
|
+
current_day = Time.zone.now > cutoff_time ? (Date.current + 2.days) : (Date.current + 1.day)
|
19
27
|
next_available_day = nil
|
20
28
|
counter = 0
|
21
29
|
|
@@ -2,6 +2,9 @@ Spree::Order.class_eval do
|
|
2
2
|
require 'date'
|
3
3
|
require 'spree/order/checkout'
|
4
4
|
|
5
|
+
validate :valid_delivery_date?
|
6
|
+
validate :valid_delivery_time?
|
7
|
+
|
5
8
|
def valid_delivery_instructions?
|
6
9
|
if self.delivery_instructions && self.delivery_instructions.length > 500
|
7
10
|
self.errors[:delivery_instructions] << 'cannot be longer than 500 charachters'
|
@@ -10,20 +13,22 @@ Spree::Order.class_eval do
|
|
10
13
|
true
|
11
14
|
end
|
12
15
|
|
13
|
-
def
|
14
|
-
|
16
|
+
def delivery_date_present?
|
15
17
|
self.errors[:delivery_date] << 'cannot be blank' unless self.delivery_date
|
18
|
+
self.errors[:delivery_date].empty? ? true : false
|
19
|
+
end
|
16
20
|
|
21
|
+
def valid_delivery_date?
|
17
22
|
if self.delivery_date
|
18
|
-
self.errors[:delivery_date] << 'cannot be today or in the past' if self.delivery_date <= Date.
|
23
|
+
self.errors[:delivery_date] << 'cannot be today or in the past' if self.delivery_date <= Date.current
|
19
24
|
|
20
25
|
options = delivery_time_options(self.delivery_date)
|
21
26
|
unless options
|
22
27
|
self.errors[:delivery_date] << "is not available on the selected week day."
|
23
28
|
end
|
24
29
|
|
25
|
-
cutoff_time = Time.now.change(hour: SpreeDeliveryOptions::Config.delivery_cut_off_hour)
|
26
|
-
if self.delivery_date == Date.
|
30
|
+
cutoff_time = Time.zone.now.change(hour: SpreeDeliveryOptions::Config.delivery_cut_off_hour)
|
31
|
+
if self.delivery_date == (Date.current + 1.day) && Time.zone.now > (cutoff_time + 15.minutes)
|
27
32
|
self.errors[:delivery_date] << "cannot be tomorrow if the order is created after 1pm"
|
28
33
|
end
|
29
34
|
end
|
@@ -31,6 +36,11 @@ Spree::Order.class_eval do
|
|
31
36
|
self.errors[:delivery_date].empty? ? true : false
|
32
37
|
end
|
33
38
|
|
39
|
+
def delivery_time_present?
|
40
|
+
self.errors[:delivery_time] << 'cannot be blank' unless self.delivery_time
|
41
|
+
self.errors[:delivery_time].empty? ? true : false
|
42
|
+
end
|
43
|
+
|
34
44
|
def valid_delivery_time?
|
35
45
|
return unless self.delivery_date
|
36
46
|
|
@@ -64,6 +74,10 @@ Spree::PermittedAttributes.checkout_attributes << :delivery_time
|
|
64
74
|
Spree::PermittedAttributes.checkout_attributes << :delivery_instructions
|
65
75
|
|
66
76
|
Spree::Order.state_machine.before_transition :to => :payment, :do => :valid_delivery_instructions?
|
77
|
+
|
78
|
+
Spree::Order.state_machine.before_transition :to => :payment, :do => :delivery_date_present?
|
67
79
|
Spree::Order.state_machine.before_transition :to => :payment, :do => :valid_delivery_date?
|
80
|
+
|
81
|
+
Spree::Order.state_machine.before_transition :to => :payment, :do => :delivery_time_present?
|
68
82
|
Spree::Order.state_machine.before_transition :to => :payment, :do => :valid_delivery_time?
|
69
83
|
|
@@ -0,0 +1,29 @@
|
|
1
|
+
#delivery-options-homepage
|
2
|
+
- order = current_order(true)
|
3
|
+
- if order.delivery_date? && order.delivery_time
|
4
|
+
.row.success
|
5
|
+
.columns.sixteen.alpha.omega
|
6
|
+
%h5
|
7
|
+
= "Thanks! Your order is scheduled for #{order.delivery_date.strftime('%A, %d %b')} from #{order.delivery_time}."
|
8
|
+
= " You just need to complete it by #{current_order_cutoff_time}"
|
9
|
+
%p
|
10
|
+
You can still change it at the checkout if needed.
|
11
|
+
- else
|
12
|
+
.row.form
|
13
|
+
.columns.seven.alpha
|
14
|
+
%h3 Want to know when you're getting your groceries?
|
15
|
+
%h5 Choose your delivery time and get it sorted now
|
16
|
+
.columns.four
|
17
|
+
= form_for order, {url: api_order_url(order), html: {id: 'delivery-options-form'}} do |form|
|
18
|
+
= hidden_field_tag 'order_token', order.token
|
19
|
+
.field
|
20
|
+
= form.label :delivery_date, "Delivery Date"
|
21
|
+
= form.text_field :delivery_date, value: (l(order.delivery_date) rescue l(Date.current))
|
22
|
+
.field
|
23
|
+
= form.label :delivery_time, "Delivery Time"
|
24
|
+
= form.select :delivery_time, JSON.parse(SpreeDeliveryOptions::Config.delivery_time_options)["monday"]
|
25
|
+
.field
|
26
|
+
= form.submit "Set Delivery Time"
|
27
|
+
.delivery-time-options{data: SpreeDeliveryOptions::Config.delivery_time_options}
|
28
|
+
.columns.four.omega
|
29
|
+
.error.hide
|
@@ -2,6 +2,36 @@ require 'spec_helper'
|
|
2
2
|
|
3
3
|
describe SpreeDeliveryOptions::BaseHelper do
|
4
4
|
|
5
|
+
describe 'current order cutoff time' do
|
6
|
+
|
7
|
+
let(:order){FactoryGirl.build(:order)}
|
8
|
+
|
9
|
+
before :each do
|
10
|
+
helper.stub(:current_order).and_return(order)
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'should return nil if there is no current order' do
|
14
|
+
helper.stub(:current_order).and_return(nil)
|
15
|
+
helper.current_order_cutoff_time.should be_nil
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'should return nil if there current order has no delivery date' do
|
19
|
+
order.delivery_date = nil
|
20
|
+
helper.current_order_cutoff_time.should be_nil
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'should return the day before if delivery date is set' do
|
24
|
+
SpreeDeliveryOptions::Config.delivery_cut_off_hour = 12
|
25
|
+
order.delivery_date = Date.parse('23/04/2014')
|
26
|
+
|
27
|
+
time_now = DateTime.parse("20/03/2013")
|
28
|
+
Timecop.freeze(time_now)
|
29
|
+
helper.current_order_cutoff_time.should == 'Tuesday, 22 Apr before 12pm'
|
30
|
+
Timecop.return
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
5
35
|
describe 'next delivery slot' do
|
6
36
|
|
7
37
|
it 'should return first slot for tomorrow if its before cutoff time' do
|
data/spec/models/order_spec.rb
CHANGED
@@ -8,7 +8,7 @@ describe Spree::Order do
|
|
8
8
|
SpreeDeliveryOptions::Config.delivery_time_options = {monday: ['Between 6-7am']}.to_json
|
9
9
|
end
|
10
10
|
|
11
|
-
describe '
|
11
|
+
describe 'valid_delivery_instructions' do
|
12
12
|
|
13
13
|
it 'should accept nil delivery instructions' do
|
14
14
|
order.delivery_instructions = nil
|
@@ -36,100 +36,101 @@ describe Spree::Order do
|
|
36
36
|
|
37
37
|
end
|
38
38
|
|
39
|
-
describe "
|
39
|
+
describe "delivery_date_present" do
|
40
40
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
order.errors[:delivery_date].should_not be_empty
|
46
|
-
end
|
41
|
+
it 'should require delivery date' do
|
42
|
+
order.delivery_date_present?.should == false
|
43
|
+
order.errors[:delivery_date].should_not be_empty
|
44
|
+
end
|
47
45
|
|
48
|
-
|
49
|
-
order.delivery_date = Date.today
|
46
|
+
end
|
50
47
|
|
51
|
-
|
52
|
-
order.errors[:delivery_time].should_not be_empty
|
53
|
-
end
|
48
|
+
describe "valid_delivery_date" do
|
54
49
|
|
55
|
-
|
56
|
-
|
50
|
+
before :each do
|
51
|
+
SpreeDeliveryOptions::Config.delivery_time_options = {monday: ['Between 6-7am']}.to_json
|
52
|
+
end
|
57
53
|
|
58
|
-
order.delivery_time = 'crazy times!'
|
59
|
-
order.valid_delivery_time?.should == false
|
60
|
-
order.errors[:delivery_time].should_not be_empty
|
61
|
-
end
|
62
54
|
|
55
|
+
it 'should not be valid if delivery date is in the past' do
|
56
|
+
order.delivery_date = Date.yesterday
|
57
|
+
order.valid_delivery_date?.should == false
|
58
|
+
order.errors[:delivery_date].should_not be_empty
|
63
59
|
end
|
64
60
|
|
65
|
-
|
61
|
+
it 'should not be valid if delivery date is today' do
|
62
|
+
order.delivery_date = Date.today
|
63
|
+
order.valid_delivery_date?.should == false
|
64
|
+
order.errors[:delivery_date].should_not be_empty
|
65
|
+
end
|
66
66
|
|
67
|
-
|
68
|
-
|
69
|
-
|
67
|
+
it 'should be valid if delivery date is tomorrow and it is past the cutoff time by less than 15 min' do
|
68
|
+
time_now = DateTime.parse("17/11/2013 #{SpreeDeliveryOptions::Config.delivery_cut_off_hour}:14 +1100")
|
69
|
+
Timecop.freeze(time_now)
|
70
70
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
71
|
+
order.delivery_date = '18/11/2013'
|
72
|
+
order.valid_delivery_date?.should == true
|
73
|
+
order.errors[:delivery_date].should be_empty
|
74
|
+
Timecop.return
|
75
|
+
end
|
76
76
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
order.errors[:delivery_date].should_not be_empty
|
81
|
-
end
|
77
|
+
it 'should not be valid if delivery date is tomorrow and it is past the cutoff time + 15 min' do
|
78
|
+
time_now = DateTime.parse("17/11/2013 #{SpreeDeliveryOptions::Config.delivery_cut_off_hour}:16 +1100")
|
79
|
+
Timecop.freeze(time_now)
|
82
80
|
|
83
|
-
|
84
|
-
|
85
|
-
|
81
|
+
order.delivery_date = '18/11/2013'
|
82
|
+
order.valid_delivery_date?.should == false
|
83
|
+
order.errors[:delivery_date].should_not be_empty
|
84
|
+
Timecop.return
|
85
|
+
end
|
86
86
|
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
Timecop.return
|
91
|
-
end
|
87
|
+
it 'should be valid if delivery date is tomorrow but is before the cutoff time' do
|
88
|
+
time_now = DateTime.parse("17/11/2013 #{SpreeDeliveryOptions::Config.delivery_cut_off_hour-1}:59 +1100")
|
89
|
+
Timecop.freeze(time_now)
|
92
90
|
|
93
|
-
|
94
|
-
|
95
|
-
|
91
|
+
order.delivery_date = '18/11/2013'
|
92
|
+
order.valid_delivery_date?
|
93
|
+
order.errors[:delivery_date].should be_empty
|
94
|
+
Timecop.return
|
95
|
+
end
|
96
96
|
|
97
|
-
|
98
|
-
order.valid_delivery_date?.should == false
|
99
|
-
order.errors[:delivery_date].should_not be_empty
|
100
|
-
Timecop.return
|
101
|
-
end
|
97
|
+
end
|
102
98
|
|
103
|
-
|
104
|
-
time_now = DateTime.parse("17/11/2013 #{SpreeDeliveryOptions::Config.delivery_cut_off_hour-1}:59 +1100")
|
105
|
-
Timecop.freeze(time_now)
|
99
|
+
describe 'delivery_time_present' do
|
106
100
|
|
107
|
-
|
108
|
-
|
109
|
-
order.errors[:delivery_date].should be_empty
|
110
|
-
Timecop.return
|
111
|
-
end
|
101
|
+
it 'should require delivery time' do
|
102
|
+
order.delivery_date = Date.today
|
112
103
|
|
104
|
+
order.delivery_time_present?.should == false
|
105
|
+
order.errors[:delivery_time].should_not be_empty
|
113
106
|
end
|
114
107
|
|
115
|
-
|
108
|
+
end
|
109
|
+
|
110
|
+
describe 'valid_delivery_time' do
|
116
111
|
|
117
|
-
|
118
|
-
|
119
|
-
|
112
|
+
before :each do
|
113
|
+
SpreeDeliveryOptions::Config.delivery_time_options = {monday: ['Between 6-7am']}.to_json
|
114
|
+
end
|
120
115
|
|
121
|
-
|
122
|
-
|
123
|
-
order.valid_delivery_date?#.should == true
|
124
|
-
order.errors[:delivery_date].should be_empty
|
125
|
-
end
|
116
|
+
it 'should require a valid option for delivery time' do
|
117
|
+
order.delivery_date = Date.today
|
126
118
|
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
end
|
119
|
+
order.delivery_time = 'crazy times!'
|
120
|
+
order.valid_delivery_time?.should == false
|
121
|
+
order.errors[:delivery_time].should_not be_empty
|
122
|
+
end
|
132
123
|
|
124
|
+
it 'should allow delivery time to be in a valid delivery day' do
|
125
|
+
order.delivery_date = DateTime.now.next_week.next_day(0)
|
126
|
+
order.valid_delivery_date?#.should == true
|
127
|
+
order.errors[:delivery_date].should be_empty
|
128
|
+
end
|
129
|
+
|
130
|
+
it 'should not allow delivery time to be in a non delivery day' do
|
131
|
+
order.delivery_date = DateTime.now.next_week.next_day(1)
|
132
|
+
order.valid_delivery_date?.should == false
|
133
|
+
order.errors[:delivery_date].should_not be_empty
|
133
134
|
end
|
134
135
|
|
135
136
|
describe "overriding delivery day with specific date" do
|
@@ -178,5 +179,4 @@ describe Spree::Order do
|
|
178
179
|
|
179
180
|
end
|
180
181
|
|
181
|
-
|
182
182
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_delivery_options
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Francisco Trindade
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-03-
|
11
|
+
date: 2014-03-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: spree_core
|
@@ -221,6 +221,7 @@ files:
|
|
221
221
|
- app/assets/images/store/ui-icons_ffffff_256x240.png
|
222
222
|
- app/assets/javascripts/admin/delivery_time_options.js
|
223
223
|
- app/assets/javascripts/admin/spree_delivery_options.js
|
224
|
+
- app/assets/javascripts/store/delivery_options_form.js
|
224
225
|
- app/assets/javascripts/store/delivery_time_options.js
|
225
226
|
- app/assets/javascripts/store/jquery-ui-1.10.4.custom.js
|
226
227
|
- app/assets/javascripts/store/spree_delivery_options.js
|
@@ -228,14 +229,17 @@ files:
|
|
228
229
|
- app/assets/stylesheets/admin/order_details.scss
|
229
230
|
- app/assets/stylesheets/admin/spree_delivery_options.css
|
230
231
|
- app/assets/stylesheets/store/delivery_checkout.scss
|
232
|
+
- app/assets/stylesheets/store/delivery_options_homepage.scss
|
231
233
|
- app/assets/stylesheets/store/jquery-ui-1.10.4.custom.css
|
232
234
|
- app/assets/stylesheets/store/spree_delivery_options.css
|
233
235
|
- app/controllers/spree/admin/orders/delivery_options_controller.rb
|
236
|
+
- app/controllers/spree/taxons_controller_decorator.rb
|
234
237
|
- app/helpers/spree/application_helper_decorator.rb
|
235
238
|
- app/helpers/spree_delivery_options/base_helper.rb
|
236
239
|
- app/models/spree/order_decorator.rb
|
237
240
|
- app/overrides/add_delivery_info_to_order_details.rb
|
238
241
|
- app/overrides/add_delivery_options_link_order_page.rb
|
242
|
+
- app/overrides/add_delivery_options_to_taxon.rb
|
239
243
|
- app/overrides/admin_order_information.rb
|
240
244
|
- app/overrides/admin_orders_delivery_date_column.rb
|
241
245
|
- app/overrides/admin_orders_delivery_date_filter.rb
|
@@ -250,6 +254,7 @@ files:
|
|
250
254
|
- app/views/spree/admin/shared/_delivery_options_link.haml
|
251
255
|
- app/views/spree/checkout/_delivery_date.haml
|
252
256
|
- app/views/spree/orders/_order_delivery_date_details.html.erb
|
257
|
+
- app/views/spree/taxons/_delivery_options.haml
|
253
258
|
- config/locales/en.yml
|
254
259
|
- config/routes.rb
|
255
260
|
- db/migrate/20130415025010_add_delivery_date_to_orders.rb
|