caboose-cms 0.5.87 → 0.5.88
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 +8 -8
- data/app/assets/javascripts/caboose/admin_edit_order.js +25 -24
- data/app/controllers/caboose/checkout_controller.rb +1 -1
- data/app/controllers/caboose/orders_controller.rb +47 -30
- data/app/controllers/caboose/store_controller.rb +1 -1
- data/app/models/caboose/schema.rb +3 -4
- data/app/views/caboose/checkout/payment.html.erb +1 -1
- data/app/views/caboose/orders/admin_edit.html.erb +4 -4
- data/app/views/caboose/store/admin_edit.html.erb +3 -3
- data/lib/caboose/version.rb +1 -1
- metadata +1 -2
- data/app/views/caboose/checkout/#Untitled-1# +0 -3
checksums.yaml
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
!binary "U0hBMQ==":
|
|
3
3
|
metadata.gz: !binary |-
|
|
4
|
-
|
|
4
|
+
MDg3NGE4N2VhNjdiN2NiMzc1MDNjZGNhMGRkZWY0MzAzM2ZlN2VmMA==
|
|
5
5
|
data.tar.gz: !binary |-
|
|
6
|
-
|
|
6
|
+
N2VmYzY3OTcwOTA0ZDk2YmI5ZGY2OTM2NDA1ZDMyYjBlM2QyNzAxMQ==
|
|
7
7
|
SHA512:
|
|
8
8
|
metadata.gz: !binary |-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
ZWE5MTBjMzhiMDU2ODcxYTQ5NjcyNzAzZTc5YzAzYmVhNDQzNjYwNDIzOTlj
|
|
10
|
+
ZWViZWYxMmMzZmYxZmNmZGJhOWZmY2RhNzM5OGM4YWUwZDMwZDQyNmY3OTI3
|
|
11
|
+
NTBjNjc1NjBhM2NhYzIwODAxODhlOWQ5OThkZDU0M2ExZjliN2E=
|
|
12
12
|
data.tar.gz: !binary |-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
ZjE2MjQ4ODI1M2UxZGU0MDZiN2JjOTJiZGM4YTYyM2M0ODU4NDdhNWU2ZWI3
|
|
14
|
+
NWU0MDczZjhmOGU1NTgyZTNhOWU2MTcwZmJmYTUwZGQ5ZGMyZmYwMzE4ZWRm
|
|
15
|
+
OGU0NGEzYjZjZWQ2ODlkZGRhZDRiMGRlNWFhZTE0Y2NkNDQ4MTI=
|
|
@@ -643,6 +643,30 @@ OrderController.prototype = {
|
|
|
643
643
|
if (resp.refresh) window.location.reload(true);
|
|
644
644
|
}
|
|
645
645
|
});
|
|
646
|
+
},
|
|
647
|
+
|
|
648
|
+
capture_funds: function(confirm)
|
|
649
|
+
{
|
|
650
|
+
var that = this;
|
|
651
|
+
if (!confirm)
|
|
652
|
+
{
|
|
653
|
+
var p = $('<p/>').addClass('note confirm')
|
|
654
|
+
.append("Are you sure you want to charge " + that.order.total + " to the customer? ")
|
|
655
|
+
.append($('<input/>').attr('type','button').val('Yes').click(function() { that.capture_funds(true); }))
|
|
656
|
+
.append(' ')
|
|
657
|
+
.append($('<input/>').attr('type','button').val('No').click(function() { $('#message').empty(); }));
|
|
658
|
+
$('#message').empty().append(p);
|
|
659
|
+
return;
|
|
660
|
+
}
|
|
661
|
+
$('#message').html("<p class='loading'>Capturing funds...</p>");
|
|
662
|
+
$.ajax({
|
|
663
|
+
url: '/admin/orders/' + order_id + '/capture',
|
|
664
|
+
success: function(resp) {
|
|
665
|
+
if (resp.error) $('#message').html("<p class='note error'>" + resp.error + "</p>");
|
|
666
|
+
if (resp.success) $('#message').html("<p class='note success'>" + resp.success + "</p>");
|
|
667
|
+
if (resp.refresh) window.location.reload(true);
|
|
668
|
+
}
|
|
669
|
+
});
|
|
646
670
|
}
|
|
647
671
|
|
|
648
672
|
//resend_confirmation: function(order_id)
|
|
@@ -657,30 +681,7 @@ OrderController.prototype = {
|
|
|
657
681
|
// }
|
|
658
682
|
// });
|
|
659
683
|
//},
|
|
660
|
-
//
|
|
661
|
-
//capture_funds: function(order_id, confirm)
|
|
662
|
-
//{
|
|
663
|
-
// total = $('#total').html();
|
|
664
|
-
// if (!confirm)
|
|
665
|
-
// {
|
|
666
|
-
// var p = $('<p/>').addClass('note confirm')
|
|
667
|
-
// .append("Are you sure you want to charge " + total + " to the customer? ")
|
|
668
|
-
// .append($('<input/>').attr('type','button').val('Yes').click(function() { capture_funds(order_id, true); }))
|
|
669
|
-
// .append(' ')
|
|
670
|
-
// .append($('<input/>').attr('type','button').val('No').click(function() { $('#message').empty(); modal.autosize(); }));
|
|
671
|
-
// modal.autosize(p);
|
|
672
|
-
// return;
|
|
673
|
-
// }
|
|
674
|
-
// modal.autosize("<p class='loading'>Capturing funds...</p>");
|
|
675
|
-
// $.ajax({
|
|
676
|
-
// url: '/admin/orders/' + order_id + '/capture',
|
|
677
|
-
// success: function(resp) {
|
|
678
|
-
// if (resp.error) modal.autosize("<p class='note error'>" + resp.error + "</p>");
|
|
679
|
-
// if (resp.success) modal.autosize("<p class='note success'>" + resp.success + "</p>");
|
|
680
|
-
// if (resp.refresh) window.location.reload(true);
|
|
681
|
-
// }
|
|
682
|
-
// });
|
|
683
|
-
//},
|
|
684
|
+
//
|
|
684
685
|
//
|
|
685
686
|
//refund_order: function(order_id, confirm)
|
|
686
687
|
//{
|
|
@@ -83,7 +83,7 @@ module Caboose
|
|
|
83
83
|
#:relay_url => "#{request.protocol}#{request.host_with_port}/checkout/authnet-relay/#{@order.id}",
|
|
84
84
|
:relay_response => 'TRUE',
|
|
85
85
|
#:relay_url => "#{request.protocol}#{request.host_with_port}/checkout/authnet-relay",
|
|
86
|
-
:relay_url => sc.
|
|
86
|
+
:relay_url => "#{sc.pp_relay_domain}/checkout/authnet-relay",
|
|
87
87
|
:transaction_type => 'AUTH_ONLY',
|
|
88
88
|
:test => sc.pp_testing
|
|
89
89
|
)
|
|
@@ -54,30 +54,36 @@ module Caboose
|
|
|
54
54
|
|
|
55
55
|
resp = Caboose::StdClass.new
|
|
56
56
|
order = Order.find(params[:id])
|
|
57
|
+
t = OrderTransaction.where(:order_id => order.id, :transaction_type => OrderTransaction::TYPE_AUTHORIZE, :success => true).first
|
|
57
58
|
|
|
58
59
|
if order.financial_status == 'captured'
|
|
59
60
|
resp.error = "This order has already been captured, you will need to refund instead"
|
|
61
|
+
elsif t.nil?
|
|
62
|
+
resp.error = "This order doesn't seem to be authorized."
|
|
60
63
|
else
|
|
61
|
-
|
|
62
|
-
t = OrderTransaction.where(:order_id => order.id, :transaction_type => OrderTransaction::TYPE_AUTHORIZE, :success => true)
|
|
64
|
+
|
|
63
65
|
sc = @site.store_config
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
66
|
+
case sc.pp_name
|
|
67
|
+
when 'authorize.net'
|
|
68
|
+
|
|
69
|
+
response = AuthorizeNet::SIM::Transaction.new(
|
|
70
|
+
sc.pp_username,
|
|
71
|
+
sc.pp_password,
|
|
72
|
+
order.total,
|
|
73
|
+
:transaction_type => 'VOID',
|
|
74
|
+
:transaction_id => t.transaction_id
|
|
75
|
+
)
|
|
76
|
+
order.update_attributes(
|
|
77
|
+
:financial_status => 'voided',
|
|
78
|
+
:status => 'cancelled'
|
|
79
|
+
)
|
|
80
|
+
order.save
|
|
81
|
+
# TODO: Add the variant quantities ordered back
|
|
82
|
+
resp.success = "Order voided successfully"
|
|
83
|
+
when 'payscape'
|
|
84
|
+
# TODO: Implement payscape void order
|
|
85
|
+
end
|
|
86
|
+
|
|
81
87
|
end
|
|
82
88
|
|
|
83
89
|
render :json => resp
|
|
@@ -240,24 +246,34 @@ module Caboose
|
|
|
240
246
|
def capture_funds
|
|
241
247
|
return if !user_is_allowed('orders', 'edit')
|
|
242
248
|
|
|
243
|
-
response = Caboose::StdClass.new
|
|
244
|
-
'refresh' => nil,
|
|
245
|
-
'error' => nil,
|
|
246
|
-
'success' => nil
|
|
247
|
-
})
|
|
248
|
-
|
|
249
|
+
response = Caboose::StdClass.new
|
|
249
250
|
order = Order.find(params[:id])
|
|
251
|
+
t = OrderTransaction.where(:order_id => order.id, :transaction_type => OrderTransaction::TYPE_AUTHORIZE, :success => true).first
|
|
250
252
|
|
|
251
253
|
if order.financial_status == 'captured'
|
|
252
254
|
resp.error = "Funds for this order have already been captured."
|
|
253
255
|
elsif order.total > order.auth_amount
|
|
254
256
|
resp.error = "The order total exceeds the authorized amount."
|
|
257
|
+
elsif t.nil?
|
|
258
|
+
resp.error = "This order doesn't seem to be authorized."
|
|
255
259
|
else
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
260
|
+
|
|
261
|
+
sc = @site.store_config
|
|
262
|
+
case sc.pp_name
|
|
263
|
+
when 'authorize.net'
|
|
264
|
+
|
|
265
|
+
response = AuthorizeNet::SIM::Transaction.new(
|
|
266
|
+
sc.pp_username,
|
|
267
|
+
sc.pp_password,
|
|
268
|
+
order.total,
|
|
269
|
+
:transaction_type => 'CAPTURE_ONLY',
|
|
270
|
+
:transaction_id => t.transaction_id
|
|
271
|
+
)
|
|
272
|
+
order.update_attribute(:financial_status, 'captured')
|
|
273
|
+
resp.success = 'Captured funds successfully'
|
|
274
|
+
when 'payscape'
|
|
275
|
+
# TODO: Implement capture funds for payscape
|
|
276
|
+
|
|
261
277
|
end
|
|
262
278
|
|
|
263
279
|
#if (order.discounts.any? && order.total < order.discounts.first.amount_current) || PaymentProcessor.capture(order)
|
|
@@ -273,6 +289,7 @@ module Caboose
|
|
|
273
289
|
#else
|
|
274
290
|
# response.error = "Error capturing funds."
|
|
275
291
|
#end
|
|
292
|
+
|
|
276
293
|
end
|
|
277
294
|
|
|
278
295
|
render :json => response
|
|
@@ -27,7 +27,7 @@ module Caboose
|
|
|
27
27
|
when 'pp_username' then sc.pp_username = value
|
|
28
28
|
when 'pp_password' then sc.pp_password = value
|
|
29
29
|
when 'pp_testing' then sc.pp_testing = value
|
|
30
|
-
when '
|
|
30
|
+
when 'pp_relay_domain' then sc.pp_relay_domain = value
|
|
31
31
|
when 'ups_username' then sc.ups_username = value
|
|
32
32
|
when 'ups_password' then sc.ups_password = value
|
|
33
33
|
when 'ups_key' then sc.ups_key = value
|
|
@@ -58,7 +58,7 @@ class Caboose::Schema < Caboose::Utilities::Schema
|
|
|
58
58
|
#Caboose::PageCache => [:block],
|
|
59
59
|
Caboose::ShippingPackage => [:price, :carrier, :service_code, :service_name, :shipping_method_id, :length, :width, :height],
|
|
60
60
|
Caboose::Site => [:shipping_cost_function],
|
|
61
|
-
Caboose::StoreConfig => [:use_usps, :allowed_shipping_codes, :default_shipping_code],
|
|
61
|
+
Caboose::StoreConfig => [:use_usps, :allowed_shipping_codes, :default_shipping_code, :pp_relay_url, :pp_response_url],
|
|
62
62
|
Caboose::Variant => [:quantity],
|
|
63
63
|
Caboose::Vendor => [:vendor, :vendor_id]
|
|
64
64
|
}
|
|
@@ -557,9 +557,8 @@ class Caboose::Schema < Caboose::Utilities::Schema
|
|
|
557
557
|
[ :pp_name , :string ],
|
|
558
558
|
[ :pp_username , :string ],
|
|
559
559
|
[ :pp_password , :string ],
|
|
560
|
-
[ :pp_testing , :boolean , { :default => true }],
|
|
561
|
-
[ :
|
|
562
|
-
[ :pp_response_url , :string ],
|
|
560
|
+
[ :pp_testing , :boolean , { :default => true }],
|
|
561
|
+
[ :pp_relay_domain , :string ],
|
|
563
562
|
[ :ups_username , :string ],
|
|
564
563
|
[ :ups_password , :string ],
|
|
565
564
|
[ :ups_key , :string ],
|
|
@@ -8,7 +8,7 @@ store_config = @site.store_config
|
|
|
8
8
|
<form id="payment" target="relay" action="https://secure.authorize.net/gateway/transact.dll" method="post">
|
|
9
9
|
<%= sim_fields(@sim_transaction) %>
|
|
10
10
|
<input type="hidden" id="x_invoice_num" name="x_invoice_num" value="<%= @order.id %>" />
|
|
11
|
-
<input type="hidden" id="x_description" name="x_after_relay" value="<%= raw store_config.
|
|
11
|
+
<input type="hidden" id="x_description" name="x_after_relay" value="<%= raw store_config.pp_relay_domain %>/checkout/authnet-response/<%= @order.id %>" />
|
|
12
12
|
<input type="hidden" id="x_first_name" name="x_first_name" value="<%= raw @order.billing_address.first_name %>" />
|
|
13
13
|
<input type="hidden" id="x_last_name" name="x_last_name" value="<%= raw @order.billing_address.last_name %>" />
|
|
14
14
|
<input type="hidden" id="x_address" name="x_address" value="<%= raw @order.billing_address.address1 %>" />
|
|
@@ -10,15 +10,15 @@
|
|
|
10
10
|
<p>
|
|
11
11
|
<input type='button' value='< Back' onclick="window.location='/admin/orders';" />
|
|
12
12
|
<% if @order.financial_status == 'authorized' %>
|
|
13
|
-
<input type='button' value='Capture Funds' onclick="capture_funds(
|
|
14
|
-
<input type='button' value='Void'
|
|
13
|
+
<input type='button' value='Capture Funds' onclick="controller.capture_funds();" />
|
|
14
|
+
<input type='button' value='Void' onclick="controller.void_order();" />
|
|
15
15
|
<% end %>
|
|
16
16
|
<% if @order.financial_status == 'captured' %>
|
|
17
17
|
<input type='button' value='Refund' onclick="refund_order(<%= @order.id %>);" />
|
|
18
18
|
<% end %>
|
|
19
19
|
<input type='button' value='Resend Confirmation' onclick="resend_confirmation(<%= @order.id %>)" />
|
|
20
|
-
<input type='button' value='Add Item'
|
|
21
|
-
<input type='button' value='Print Order'
|
|
20
|
+
<input type='button' value='Add Item' onclick="controller.add_variant();" />
|
|
21
|
+
<input type='button' value='Print Order' onclick="controller.print_order(<%= @order.id %>);" />
|
|
22
22
|
|
|
23
23
|
<% str = Caboose.plugin_hook('admin_edit_order_buttons', "", @order) %>
|
|
24
24
|
<% if str %><%= raw str %><% end %>
|
|
@@ -9,7 +9,7 @@ sc = @store_config
|
|
|
9
9
|
<p><div id='storeconfig_<%= sc.id %>_pp_name' ></div></p>
|
|
10
10
|
<p><div id='storeconfig_<%= sc.id %>_pp_username' ></div></p>
|
|
11
11
|
<p><div id='storeconfig_<%= sc.id %>_pp_password' ></div></p>
|
|
12
|
-
<p><div id='storeconfig_<%= sc.id %>
|
|
12
|
+
<p><div id='storeconfig_<%= sc.id %>_pp_relay_domain' ></div></p>
|
|
13
13
|
<p><div id='storeconfig_<%= sc.id %>_pp_testing' ></div></p>
|
|
14
14
|
|
|
15
15
|
<h2>Fulfillment Contacts</h2>
|
|
@@ -69,8 +69,8 @@ $(document).ready(function() {
|
|
|
69
69
|
{ name: 'pp_name' , nice_name: 'Type' , type: 'select' , value: <%= raw Caboose.json(sc.pp_name ) %>, width: 400 , options_url: '/admin/store/payment-processor-options' },
|
|
70
70
|
{ name: 'pp_username' , nice_name: 'Username' , type: 'text' , value: <%= raw Caboose.json(sc.pp_username ) %>, width: 400 },
|
|
71
71
|
{ name: 'pp_password' , nice_name: 'Password' , type: 'text' , value: <%= raw Caboose.json(sc.pp_password ) %>, width: 400 },
|
|
72
|
-
{ name: '
|
|
73
|
-
{ name: '
|
|
72
|
+
{ name: 'pp_relay_domain' , nice_name: 'Relay Domain' , type: 'text' , value: <%= raw Caboose.json(sc.pp_relay_domain ) %>, width: 400 },
|
|
73
|
+
{ name: 'pp_testing' , nice_name: 'Test Mode' , type: 'checkbox' , value: <%= raw Caboose.json(sc.pp_testing ? 1 : 0 ) %>, width: 400 },
|
|
74
74
|
{ name: 'fulfillment_email' , nice_name: 'Fulfillment Email' , type: 'text' , value: <%= raw Caboose.json(sc.fulfillment_email ) %>, width: 400 },
|
|
75
75
|
{ name: 'shipping_email' , nice_name: 'Shipping Email' , type: 'text' , value: <%= raw Caboose.json(sc.shipping_email ) %>, width: 400 },
|
|
76
76
|
{ name: 'handling_percentage' , nice_name: 'Handling Percentage' , type: 'text' , value: <%= raw Caboose.json(sc.handling_percentage ) %>, width: 400 },
|
data/lib/caboose/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: caboose-cms
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.88
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- William Barry
|
|
@@ -696,7 +696,6 @@ files:
|
|
|
696
696
|
- app/views/caboose/categories/admin_edit.html.erb
|
|
697
697
|
- app/views/caboose/categories/admin_index.html.erb
|
|
698
698
|
- app/views/caboose/categories/admin_new.html.erb
|
|
699
|
-
- app/views/caboose/checkout/#Untitled-1#
|
|
700
699
|
- app/views/caboose/checkout/_address_form.html.erb
|
|
701
700
|
- app/views/caboose/checkout/_billing_form.html.erb
|
|
702
701
|
- app/views/caboose/checkout/_cart.html.erb
|