spree 0.7.0 → 0.7.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of spree might be problematic. Click here for more details.

data/CHANGELOG CHANGED
@@ -1,3 +1,17 @@
1
+ == 0.7.1
2
+
3
+ * #298: rake spree:i18n:sync fails on yml files with empty lines
4
+ * #303: "What's This?" CVV link broken
5
+ * #308: Unable to change country for credit card payment (Admin form)
6
+ * #309: Last name of shipping address is wrong field
7
+ * #310: Fixed typo in Tennessee
8
+ * #311: No shipping method can be selected in IE 7
9
+ * #312: Remove assumption that order has shipment (when finalizing the order)
10
+ * #315: state selector failing on IE7 due to "Object not supported" js error
11
+ * #317: gem dependency command does not list all dependencies
12
+ * #314: Refactor checkout steps as partials
13
+
14
+
1
15
  == 0.7.0
2
16
 
3
17
  * # 166 - Order numbers should also use permalink
@@ -34,7 +34,7 @@ class Admin::CreditcardPaymentsController < Admin::BaseController
34
34
  creditcard = @creditcard_payment.creditcard
35
35
  creditcard.address = @payment_presenter.address
36
36
  creditcard.save
37
- flash[:notice] = t("Updated Successfully")
37
+ flash[:notice] = t("updated_successfully")
38
38
  redirect_to edit_object_url
39
39
  end
40
40
 
@@ -67,7 +67,7 @@ class Admin::CreditcardPaymentsController < Admin::BaseController
67
67
  def load_data
68
68
  load_object
69
69
  @selected_country_id = params[:payment_presenter][:address_country_id].to_i if params.has_key?('payment_presenter')
70
- @selected_country_id ||= @order.creditcards.last.address.country_id unless @order.creditcards.empty?
70
+ @selected_country_id ||= @order.bill_address.country_id if @order and @order.bill_address
71
71
  @selected_country_id ||= Spree::Config[:default_country_id]
72
72
 
73
73
  @states = State.find_all_by_country_id(@selected_country_id, :order => 'name')
@@ -1,8 +1,8 @@
1
1
  class CheckoutController < Spree::BaseController
2
- before_filter :stop_monkey_business
2
+ before_filter :stop_monkey_business, :except => :cvv
3
3
  before_filter :require_user_account
4
- before_filter :load_data
5
- before_filter :build_object, :except => [:new, :create]
4
+ before_filter :load_data, :except => :cvv
5
+ before_filter :build_object, :except => [:new, :create, :cvv]
6
6
 
7
7
  ssl_required :new, :create
8
8
 
@@ -162,8 +162,12 @@ class Order < ActiveRecord::Base
162
162
  OrderMailer.deliver_confirm(self)
163
163
  end
164
164
  # finalize order totals
165
- calculator = shipment.shipping_method.shipping_calculator.constantize.new
166
- self.ship_amount = calculator.calculate_shipping(shipment)
165
+ unless shipment.nil?
166
+ calculator = shipment.shipping_method.shipping_calculator.constantize.new
167
+ self.ship_amount = calculator.calculate_shipping(shipment)
168
+ else
169
+ self.ship_amount = 0
170
+ end
167
171
  self.tax_amount = calculate_tax
168
172
  save
169
173
  end
@@ -0,0 +1,49 @@
1
+ <h2><%= t("billing_address")%></h2>
2
+ <div class="inner">
3
+ <p id="bfname">
4
+ <label for="<%= t("first_name") %>"><%= t("first_name") %></label>
5
+ <%= f.text_field :bill_address_firstname, :class => 'required' -%><span class="req">*</span>
6
+ </p>
7
+ <p id="blname">
8
+ <label for="<%= t("last_name") %>"><%= t("last_name") %></label>
9
+ <%= f.text_field :bill_address_lastname, :class => 'required' -%><span class="req">*</span>
10
+ </p>
11
+ <p id="baddress">
12
+ <label for=""><%= t("street_address") %></label>
13
+ <%= f.text_field :bill_address_address1, :class => 'required' -%><span class="req">*</span>
14
+ </p>
15
+ <p id="baddress2">
16
+ <label for=""><%= t("street_address_2") %></label>
17
+ <%= f.text_field :bill_address_address2 %>
18
+ </p>
19
+ <p id="bcity">
20
+ <label for=""><%= t("city") %></label>
21
+ <%= f.text_field :bill_address_city, :class => 'required' -%><span class="req">*</span>
22
+ </p>
23
+ <p>
24
+ <label for=""><%= t("state") %></label>
25
+ <span id="bstate">
26
+ <%= collection_select("checkout_presenter",
27
+ :bill_address_state_id,
28
+ @states,
29
+ :id,
30
+ :name,
31
+ {:include_blank => true},
32
+ {:style=> 'width:150px;'}) %>
33
+ </span>
34
+ <span class="req">*</span>
35
+ </p>
36
+ <p id="bzip">
37
+ <label for=""><%= t("zip") %></label>
38
+ <%= f.text_field :bill_address_zipcode, :class => 'required' -%><span class="req">*</span>
39
+ </p>
40
+ <p id="bcountry">
41
+ <label for=""><%= t("country") %></label>
42
+ <span id="bcountry"><%= f.collection_select :bill_address_country_id, @countries, :id, :name, {}, {:style => 'width:150px;', :class => 'required'} %></span>
43
+ </p>
44
+ <p id="bphone">
45
+ <label for=""><%= t("phone") %></label>
46
+ <%= f.text_field :bill_address_phone, :class => 'required' -%><span class="req">*</span>
47
+ </p>
48
+ <p><input id="validate_billing" type="button" value="<%=t("continue")%>"/></p>
49
+ </div>
@@ -0,0 +1,9 @@
1
+ <h2><%= t("confirm") %></h2>
2
+ <div class="inner">
3
+ <input id="final_answer" name="final_answer" type="hidden">
4
+ <div id="bdisplay"><img src="/images/ajax_loader.gif" id="bconfirm_loader" /></div>
5
+ <div id="sdisplay"><img src="/images/ajax_loader.gif" id="sconfirm_loader" /></div>
6
+ <div class="clear"></div>
7
+ <%= render :partial => 'shared/order_details', :locals => {:order => @order} -%>
8
+ <%= submit_tag t('place_order') %>
9
+ </div>
@@ -13,153 +13,21 @@
13
13
 
14
14
  <%= error_messages_for :checkout_presenter %>
15
15
  <div id="billing">
16
- <h2><%= t("billing_address")%></h2>
17
- <div class="inner">
18
- <p id="bfname">
19
- <label for="<%= t("first_name") %>"><%= t("first_name") %></label>
20
- <%= f.text_field :bill_address_firstname, :class => 'required' -%><span class="req">*</span>
21
- </p>
22
- <p id="blname">
23
- <label for="<%= t("last_name") %>"><%= t("last_name") %></label>
24
- <%= f.text_field :bill_address_lastname, :class => 'required' -%><span class="req">*</span>
25
- </p>
26
- <p id="baddress">
27
- <label for=""><%= t("street_address") %></label>
28
- <%= f.text_field :bill_address_address1, :class => 'required' -%><span class="req">*</span>
29
- </p>
30
- <p id="baddress2">
31
- <label for=""><%= t("street_address_2") %></label>
32
- <%= f.text_field :bill_address_address2 %>
33
- </p>
34
- <p id="bcity">
35
- <label for=""><%= t("city") %></label>
36
- <%= f.text_field :bill_address_city, :class => 'required' -%><span class="req">*</span>
37
- </p>
38
- <p>
39
- <label for=""><%= t("state") %></label>
40
- <span id="bstate">
41
- <%= collection_select("checkout_presenter",
42
- :bill_address_state_id,
43
- @states,
44
- :id,
45
- :name,
46
- {:include_blank => true},
47
- {:style=> 'width:150px;'}) %>
48
- </span>
49
- <span class="req">*</span>
50
- </p>
51
- <p id="bzip">
52
- <label for=""><%= t("zip") %></label>
53
- <%= f.text_field :bill_address_zipcode, :class => 'required' -%><span class="req">*</span>
54
- </p>
55
- <p id="bcountry">
56
- <label for=""><%= t("country") %></label>
57
- <span id="bcountry"><%= f.collection_select :bill_address_country_id, @countries, :id, :name, {}, {:style => 'width:150px;', :class => 'required'} %></span>
58
- </p>
59
- <p id="bphone">
60
- <label for=""><%= t("phone") %></label>
61
- <%= f.text_field :bill_address_phone, :class => 'required' -%><span class="req">*</span>
62
- </p>
63
- <p><input id="validate_billing" type="button" value="<%=t("continue")%>"/></p>
64
- </div>
16
+ <%= render :partial => 'billing', :locals => {:f => f} %>
65
17
  </div>
66
18
 
67
19
  <div id="shipping" class="checkout_disabled">
68
- <h2><%= t("shipping_address")%></h2>
69
- <div class="inner">
70
- <p><label for="<%= t("use_billing_address") %>" id="use_billing"><%= t("use_billing_address") %></label><input id="checkout_presenter_same_address" name="checkout_presenter_same_address" type="checkbox" /></p>
71
- <p id="sfname">
72
- <label for="<%= t("first_name") %>"><%= t("first_name") %></label>
73
- <%= f.text_field :ship_address_firstname, :class => 'required' -%><span class="req">*</span>
74
- </p>
75
- <p id="slname">
76
- <label for="<%= t("last_name") %>"><%= t("last_name") %></label>
77
- <%= f.text_field :ship_address_lastname, :class => 'required' -%><span class="req">*</span>
78
- </p>
79
- <p id="saddress">
80
- <label for="<%= t("street_address") %>"><%= t("street_address") %></label>
81
- <%= f.text_field :ship_address_address1, :class => 'required' -%><span class="req">*</span>
82
- </p>
83
- <p id="saddress2">
84
- <label for="<%= t("street_address_2") %>"><%= t("street_address_2") %></label>
85
- <%= f.text_field :ship_address_address2 %>
86
- </p>
87
- <p id="scity">
88
- <label for="<%= t("city") %>"><%= t("city") %></label>
89
- <%= f.text_field :ship_address_city, :class => 'required' -%><span class="req">*</span>
90
- </p>
91
- <p>
92
- <label for="<%= t("state") %>"><%= t("state") %></label>
93
- <span id="sstate">
94
- <%= collection_select("checkout_presenter",
95
- :ship_address_state_id,
96
- @states,
97
- :id,
98
- :name,
99
- {:include_blank => true},
100
- {:style=> 'width:150px;'}) %>
101
- </span>
102
- <span class="req">*</span>
103
- </p>
104
- <p id="szip">
105
- <label for="<%=t ("zip") %>"><%= t("zip") %></label>
106
- <%= f.text_field :ship_address_zipcode, :class => 'required' -%><span class="req">*</span>
107
- </p>
108
- <p id="scountry">
109
- <label for="<%= t("country") %>"><%= t("country") %></label>
110
- <span id="scountry"><%= f.collection_select :ship_address_country_id, @shipping_countries, :id, :name, {}, {:style => 'width:150px;', :class => 'required'} %></span>
111
- </p>
112
- <p id="sphone">
113
- <label for="<%= t("phone") %>"><%= t("phone") %></label>
114
- <%= f.text_field :ship_address_phone, :class => 'required' -%><span class="req">*</span>
115
- </p>
116
- <p><input id="validate_shipping" type="button" value="<%=t("continue")%>"/></p>
117
- </div>
20
+ <%= render :partial => 'shipping', :locals => {:f => f} %>
118
21
  </div>
119
22
 
120
23
  <div id="shipping_method" class="checkout_disabled">
121
- <h2><%= t("shipping_method") %></h2>
122
- <div class="inner">
123
- <div id="methods"></div>
124
- <p><input id="select_shipping_method" type="button" value="<%=t("continue")%>"/></p>
125
- </div>
24
+ <%= render :partial => 'shipping_method', :locals => {:f => f} %>
126
25
  </div>
127
26
 
128
27
  <div id="creditcard" class="checkout_disabled">
129
- <h2><%= t("payment_information") %></h2>
130
- <div class="inner">
131
- <p>
132
- <%= image_tag "creditcard.gif", :id => 'creditcard-image' %>
133
- </p>
134
- <p>
135
- <label for=""><%= t("card_number") %></label>
136
- <%= f.text_field :creditcard_number, :size=> 19, :class => 'required' -%><span class="req">*</span>
137
- </p>
138
- <p>
139
- <label for=""><%= t("expiration") %></label>
140
- <%= select_month(@date, :prefix => 'checkout_presenter', :field_name => 'creditcard_month', :use_month_numbers => true, :class => 'required') -%>
141
- <%= select_year(@date, :prefix => 'checkout_presenter', :field_name => 'creditcard_year', :start_year => Date.today.year, :end_year => Date.today.year + 15, :class => 'required') -%>
142
- <span class="req">*</span>
143
- </p>
144
- <p>
145
- <label for=""><%= t("card_code") %></label>
146
- <%= f.text_field :creditcard_verification_value, {:style => 'width:40px', :class => 'required'} -%><span class="req">*</span>
147
- <a href="" onclick="window.open('/checkout/cvv','mywin','left=20,top=20,width=500,height=500,toolbar=0,resizable=0,scrollbars=1');return false">
148
- (<%= t("whats_this") %>)
149
- </a>
150
- </p>
151
- <p><input id="confirm_payment" type="button" value="<%=t("continue")%>"/></p>
152
- </div>
28
+ <%= render :partial => 'payment', :locals => {:f => f} %>
153
29
  </div>
154
30
 
155
31
  <div id="confirm_order" class="checkout_disabled">
156
- <h2><%= t("confirm") %></h2>
157
- <div class="inner">
158
- <input id="final_answer" name="final_answer" type="hidden">
159
- <div id="bdisplay"><img src="/images/ajax_loader.gif" id="bconfirm_loader" /></div>
160
- <div id="sdisplay"><img src="/images/ajax_loader.gif" id="sconfirm_loader" /></div>
161
- <div class="clear"></div>
162
- <%= render :partial => 'shared/order_details', :locals => {:order => @order} -%>
163
- <%= submit_tag t('place_order') %>
164
- </div>
32
+ <%= render :partial => 'confirm_order', :locals => {:f => f} %>
165
33
  </div>
@@ -0,0 +1,24 @@
1
+ <h2><%= t("payment_information") %></h2>
2
+ <div class="inner">
3
+ <p>
4
+ <%= image_tag "creditcard.gif", :id => 'creditcard-image' %>
5
+ </p>
6
+ <p>
7
+ <label for=""><%= t("card_number") %></label>
8
+ <%= f.text_field :creditcard_number, :size=> 19, :class => 'required' -%><span class="req">*</span>
9
+ </p>
10
+ <p>
11
+ <label for=""><%= t("expiration") %></label>
12
+ <%= select_month(@date, :prefix => 'checkout_presenter', :field_name => 'creditcard_month', :use_month_numbers => true, :class => 'required') -%>
13
+ <%= select_year(@date, :prefix => 'checkout_presenter', :field_name => 'creditcard_year', :start_year => Date.today.year, :end_year => Date.today.year + 15, :class => 'required') -%>
14
+ <span class="req">*</span>
15
+ </p>
16
+ <p>
17
+ <label for=""><%= t("card_code") %></label>
18
+ <%= f.text_field :creditcard_verification_value, {:style => 'width:40px', :class => 'required'} -%><span class="req">*</span>
19
+ <a href="" onclick="window.open('/checkout/cvv','mywin','left=20,top=20,width=500,height=500,toolbar=0,resizable=0,scrollbars=1');return false">
20
+ (<%= t("whats_this") %>)
21
+ </a>
22
+ </p>
23
+ <p><input id="confirm_payment" type="button" value="<%=t("continue")%>"/></p>
24
+ </div>
@@ -0,0 +1,50 @@
1
+ <h2><%= t("shipping_address")%></h2>
2
+ <div class="inner">
3
+ <p><label for="<%= t("use_billing_address") %>" id="use_billing"><%= t("use_billing_address") %></label><input id="checkout_presenter_same_address" name="checkout_presenter_same_address" type="checkbox" /></p>
4
+ <p id="sfname">
5
+ <label for="<%= t("first_name") %>"><%= t("first_name") %></label>
6
+ <%= f.text_field :ship_address_firstname, :class => 'required' -%><span class="req">*</span>
7
+ </p>
8
+ <p id="slname">
9
+ <label for="<%= t("last_name") %>"><%= t("last_name") %></label>
10
+ <%= f.text_field :ship_address_lastname, :class => 'required' -%><span class="req">*</span>
11
+ </p>
12
+ <p id="saddress">
13
+ <label for="<%= t("street_address") %>"><%= t("street_address") %></label>
14
+ <%= f.text_field :ship_address_address1, :class => 'required' -%><span class="req">*</span>
15
+ </p>
16
+ <p id="saddress2">
17
+ <label for="<%= t("street_address_2") %>"><%= t("street_address_2") %></label>
18
+ <%= f.text_field :ship_address_address2 %>
19
+ </p>
20
+ <p id="scity">
21
+ <label for="<%= t("city") %>"><%= t("city") %></label>
22
+ <%= f.text_field :ship_address_city, :class => 'required' -%><span class="req">*</span>
23
+ </p>
24
+ <p>
25
+ <label for="<%= t("state") %>"><%= t("state") %></label>
26
+ <span id="sstate">
27
+ <%= collection_select("checkout_presenter",
28
+ :ship_address_state_id,
29
+ @states,
30
+ :id,
31
+ :name,
32
+ {:include_blank => true},
33
+ {:style=> 'width:150px;'}) %>
34
+ </span>
35
+ <span class="req">*</span>
36
+ </p>
37
+ <p id="szip">
38
+ <label for="<%=t ("zip") %>"><%= t("zip") %></label>
39
+ <%= f.text_field :ship_address_zipcode, :class => 'required' -%><span class="req">*</span>
40
+ </p>
41
+ <p id="scountry">
42
+ <label for="<%= t("country") %>"><%= t("country") %></label>
43
+ <span id="scountry"><%= f.collection_select :ship_address_country_id, @shipping_countries, :id, :name, {}, {:style => 'width:150px;', :class => 'required'} %></span>
44
+ </p>
45
+ <p id="sphone">
46
+ <label for="<%= t("phone") %>"><%= t("phone") %></label>
47
+ <%= f.text_field :ship_address_phone, :class => 'required' -%><span class="req">*</span>
48
+ </p>
49
+ <p><input id="validate_shipping" type="button" value="<%=t("continue")%>"/></p>
50
+ </div>
@@ -0,0 +1,5 @@
1
+ <h2><%= t("shipping_method") %></h2>
2
+ <div class="inner">
3
+ <div id="methods"></div>
4
+ <p><input id="select_shipping_method" type="button" value="<%=t("continue")%>"/></p>
5
+ </div>
@@ -5,7 +5,7 @@
5
5
  # ENV['RAILS_ENV'] ||= 'production'
6
6
 
7
7
  # Specifies gem version of Rails to use when vendor/rails is not present
8
- SPREE_GEM_VERSION = '0.7.0' unless defined? SPREE_GEM_VERSION
8
+ SPREE_GEM_VERSION = '0.7.1' unless defined? SPREE_GEM_VERSION
9
9
 
10
10
  # Bootstrap the Rails environment, frameworks, and default configuration
11
11
  require File.join(File.dirname(__FILE__), 'boot')
@@ -437,7 +437,9 @@ de:
437
437
  tree: Baum
438
438
  try_again: "Erneut versuchen"
439
439
  type: Typ
440
+ unable_to_authorize_credit_card: "Unable to Authorize Credit Card"
440
441
  unable_to_capture_credit_card: "Unable to Capture Credit Card"
442
+ unable_to_save_order: "Unable to Save Order"
441
443
  update: Speichern
442
444
  updated_successfully: "Erfolgreich aktualisiert"
443
445
  use_as_shipping_address: Use as Shipping Address
@@ -437,7 +437,9 @@ en-GB:
437
437
  tree: Tree
438
438
  try_again: "Try Again"
439
439
  type: Type
440
+ unable_to_authorize_credit_card: "Unable to Authorize Credit Card"
440
441
  unable_to_capture_credit_card: "Unable to Capture Credit Card"
442
+ unable_to_save_order: "Unable to Save Order"
441
443
  update: Update
442
444
  updated_successfully:
443
445
  use_as_shipping_address: Use as Shipping Address
@@ -437,7 +437,9 @@ es:
437
437
  tree: Tree
438
438
  try_again: "Volver a intentar"
439
439
  type: Tipo
440
+ unable_to_authorize_credit_card: "Unable to Authorize Credit Card"
440
441
  unable_to_capture_credit_card: "Unable to Capture Credit Card"
442
+ unable_to_save_order: "Unable to Save Order"
441
443
  update: Actualizar
442
444
  updated_successfully:
443
445
  use_as_shipping_address: Use as Shipping Address
@@ -1,5 +1,5 @@
1
1
  ---
2
- fr-FR:
2
+ fr-FR:
3
3
  a_copy_of_all_mail_will_be_sent_to_the_following_addresses: Une copie du courrier sera envoyé aux adresses suivantes
4
4
  abbreviation: Abréviation
5
5
  access_denied: "Accès interdit"
@@ -235,6 +235,7 @@ fr-FR:
235
235
  error: erreur
236
236
  event: Evenements
237
237
  existing_customer: "Client existant"
238
+ expiration: Expiration
238
239
  expiration_month: "Mois d'expiration"
239
240
  expiration_year: "Année d'expiration"
240
241
  extension: Prolongation
@@ -341,6 +342,7 @@ fr-FR:
341
342
  payment_information: "Information sur le paiement"
342
343
  payments: Paiements
343
344
  phone: Téléphone
345
+ place_order: Place Order
344
346
  presentation: Presentation
345
347
  previous: Précédent
346
348
  price: Prix
@@ -435,9 +437,13 @@ fr-FR:
435
437
  tree: Arborescence
436
438
  try_again: "Reessayer"
437
439
  type: Type
440
+ unable_to_authorize_credit_card: "Unable to Authorize Credit Card"
438
441
  unable_to_capture_credit_card: "Impossible de récupérer votre carte de crédit"
442
+ unable_to_save_order: "Unable to Save Order"
439
443
  update: Mise à jour
440
444
  updated_successfully: "Mise à jour effectuée avec succès"
445
+ use_as_shipping_address: Use as Shipping Address
446
+ use_billing_address: Use Billing Address
441
447
  use_different_shipping_address: "Utiliser une adresse de facturation différente"
442
448
  user: Utilisateur
443
449
  user_account: Compte utilisateur
@@ -459,5 +465,3 @@ fr-FR:
459
465
  zone_based: "Zone de base"
460
466
  zone_setting_description: "Liste des pays, régions ou autre zone, utilisé dans plusieurs calcul."
461
467
  zones: Zones
462
-
463
-
@@ -437,7 +437,9 @@ it:
437
437
  tree: Tree
438
438
  try_again: Riprova
439
439
  type: Tipo
440
+ unable_to_authorize_credit_card: "Unable to Authorize Credit Card"
440
441
  unable_to_capture_credit_card: "Unable to Capture Credit Card"
442
+ unable_to_save_order: "Unable to Save Order"
441
443
  update: Salva
442
444
  updated_successfully:
443
445
  use_as_shipping_address: Use as Shipping Address
@@ -455,3 +455,470 @@ nb-NO:
455
455
  zone_based: "Soner"
456
456
  zone_setting_description: "Liste over land, stater og andre soner som brukes i diverse beregninger."
457
457
  zones: Soner
458
+
459
+ nb-NO:
460
+ a_copy_of_all_mail_will_be_sent_to_the_following_addresses: A copy of all mail be sent to the following addresses
461
+ abbreviation: Abbreviation
462
+ access_denied: "Access Denied"
463
+ account: Account
464
+ action: Action
465
+ actions:
466
+ cancel: Cancel
467
+ create: Create
468
+ destroy: Destroy
469
+ list: List
470
+ listing: Listing
471
+ new: New
472
+ update: Update
473
+ activerecord:
474
+ attributes:
475
+ address:
476
+ address1: Address
477
+ address2: "Address (contd.)"
478
+ city: City
479
+ firstname: "First Name"
480
+ lastname: "Last Name"
481
+ phone: Phone
482
+ zipcode: "Zip Code"
483
+ country:
484
+ iso: ISO
485
+ iso3: ISO3
486
+ iso_name: "ISO Name"
487
+ name: Name
488
+ numcode: "ISO Code"
489
+ creditcard:
490
+ cc_type: Type
491
+ month: Month
492
+ number: Number
493
+ verification_value: "Verification Value"
494
+ year: Year
495
+ inventory_unit:
496
+ state: State
497
+ line_item:
498
+ price: Price
499
+ quantity: Quantity
500
+ order:
501
+ checkout_complete: "Checkout Complete"
502
+ ip_address: "IP Address"
503
+ item_total: "Item Total"
504
+ number: Number
505
+ ship_amount: "Ship Amount"
506
+ special_instructions: "Special Instructions"
507
+ state: State
508
+ tax_amount: "Tax Amount"
509
+ total: Total
510
+ product:
511
+ available_on: "Available On"
512
+ description: Description
513
+ master_price: "Master Price"
514
+ name: Name
515
+ on_hand: "On Hand"
516
+ property:
517
+ name: Name
518
+ presentation: Presentation
519
+ prototype:
520
+ name: Name
521
+ role:
522
+ name: Name
523
+ state:
524
+ abbr: Abbreviation
525
+ name: Name
526
+ taxon:
527
+ name: Name
528
+ permalink: Permalink
529
+ position: Position
530
+ taxonomy:
531
+ name: Name
532
+ user:
533
+ email: Email
534
+ variant:
535
+ depth: Depth
536
+ height: Height
537
+ price: Price
538
+ sku: SKU
539
+ weight: Weight
540
+ width: Width
541
+ zone:
542
+ description: Description
543
+ name: Name
544
+ models:
545
+ address:
546
+ one: Address
547
+ other: Addresses
548
+ country:
549
+ one: Country
550
+ other: Countries
551
+ creditcard:
552
+ one: "Credit Card"
553
+ other: "Credit Cards"
554
+ creditcard_payment:
555
+ one: "Credit Card Payment"
556
+ other: "Credit Card Payments"
557
+ creditcard_txn:
558
+ one: "Credit Card Transaction"
559
+ other: "Credit Card Transactions"
560
+ inventory_unit:
561
+ one: "Inventory Unit"
562
+ other: "Inventory Units"
563
+ line_item:
564
+ one: "Line Item"
565
+ other: "Line Items"
566
+ order:
567
+ one: Order
568
+ other: Orders
569
+ payment:
570
+ one: Payment
571
+ other: Payments
572
+ product:
573
+ one: Product
574
+ other: Products
575
+ property:
576
+ one: Property
577
+ other: Properties
578
+ prototype:
579
+ one: Prototype
580
+ other: Prototypes
581
+ role:
582
+ one: Roles
583
+ other: Roles
584
+ state:
585
+ one: State
586
+ other: States
587
+ taxon:
588
+ one: Taxon
589
+ other: Taxons
590
+ taxonomy:
591
+ one: Taxonomy
592
+ other: Taxonomies
593
+ user:
594
+ one: User
595
+ other: Users
596
+ variant:
597
+ one: Variant
598
+ other: Variants
599
+ zone:
600
+ one: Zone
601
+ other: Zones
602
+ add: Add
603
+ add_category: "Add Category"
604
+ add_country: "Add Country"
605
+ add_option_type: "Add Option Type"
606
+ add_option_types: "Add Option Types"
607
+ add_option_value: "Add Option Value"
608
+ add_product_properties: "Add Product Properties"
609
+ add_state: "Add State"
610
+ add_to_cart: "Add To Cart"
611
+ add_zone: "Add Zone"
612
+ address: Address
613
+ address_information: "Address Information"
614
+ adjustment: Adjustment
615
+ administration: Administration
616
+ allow_backorders: "Allow Backorders"
617
+ allow_ssl_to_be_used_when_in_developement_and_test_modes: Allow SSL to be used when in development and test modes
618
+ allow_ssl_to_be_used_when_in_production_mode: Allow SSL to be used in production mode
619
+ amount: Amount
620
+ are_you_sure: "Are you sure"
621
+ are_you_sure_category: "Are you sure you want to delete this category?"
622
+ are_you_sure_delete: "Are you sure you want to delete this record?"
623
+ are_you_sure_delete_image: "Are you sure you want to delete this image?"
624
+ are_you_sure_option_type: "Are you sure you want to delete this option type?"
625
+ are_you_sure_you_want_to_capture: "Are you sure you want to capture?"
626
+ assign_taxon: "Assign Taxon"
627
+ assign_taxons: "Assign Taxons"
628
+ authorization_failure: "Authorization Failure"
629
+ authorized: Authorized
630
+ available_on: "Available On"
631
+ available_taxons: "Available Taxons"
632
+ back: Back
633
+ back_to_store: "Go Back To Store"
634
+ bill_address: "Bill Address"
635
+ billing_address: "Billing Address"
636
+ cancel: cancel
637
+ canceled: Canceled
638
+ capture: capture
639
+ card_code: "Card Code"
640
+ card_number: "Card Number"
641
+ cart: Cart
642
+ categories: Categories
643
+ category: Category
644
+ change: Change
645
+ change_language: "Change Language"
646
+ charged: Charged
647
+ checkout: Checkout
648
+ city: City
649
+ comp_order: "Comp Order"
650
+ comp_order_confirmation: "Customer will not be charged. Are you sure you want to comp this order?"
651
+ configuration: Configuration
652
+ configuration_options: "Configuration Options"
653
+ configurations: Configurations
654
+ confirm: Confirm
655
+ confirm_password: "Password Confirmation"
656
+ continue: Continue
657
+ continue_shopping: "Continue shopping"
658
+ copy_all_mails_to: Copy All Mails To
659
+ country: Country
660
+ country_based: "Country Based"
661
+ create: Create
662
+ create_a_new_account: "Create a new account"
663
+ created_successfully: "Created Successfully"
664
+ credit_card: "Credit Card"
665
+ credit_card_capture_complete: "Credit Card Was Captured"
666
+ credit_card_payment: "Credit Card Payment"
667
+ creditcard: Creditcard
668
+ current: Current
669
+ customer: Customer
670
+ date_range: "Date Range"
671
+ delete: Delete
672
+ depth: Depth
673
+ description: Description
674
+ destroy: Destroy
675
+ display: Display
676
+ edit: Edit
677
+ editing_category: "Editing Category"
678
+ editing_option_type: "Editing Option Type"
679
+ editing_option_types: "Editing Option Types"
680
+ editing_product: "Editing Product"
681
+ editing_property: "Editing Property"
682
+ editing_prototype: "Editing Prototype"
683
+ editing_state: "Editing State"
684
+ editing_tax_category: "Editing Tax Category"
685
+ editing_user: "Editing User"
686
+ editing_zone: "Editing Zone"
687
+ email: Email
688
+ email_address: "Email Address"
689
+ email_server_settings_description: "Set email server settings."
690
+ empty_cart: "Empty Cart"
691
+ enable_mail_delivery: Enable Mail Delivery
692
+ error: error
693
+ event: Event
694
+ existing_customer: "Existing Customer"
695
+ expiration: Expiration
696
+ expiration_month: "Expiration Month"
697
+ expiration_year: "Expiration Year"
698
+ extension: Extension
699
+ extensions: Extensions
700
+ filename: Filename
701
+ final_confirmation: "Final Confirmation"
702
+ first_name: "First Name"
703
+ gateway: Gateway
704
+ gateway_error: "Gateway Error"
705
+ gateway_setting_description: "Select a payment gateway and configure its settings."
706
+ general_settings: "General Settings"
707
+ general_settings_description: "Configure general Spree settings."
708
+ google_analytics: "Google Analytics"
709
+ google_analytics_active: "Active"
710
+ google_analytics_create: "Create New Google Analytics Account"
711
+ google_analytics_id: "Analytics ID"
712
+ google_analytics_new: "New Google Analytics Account"
713
+ google_analytics_setting_description: "Manage Google Analytics ID"
714
+ height: Height
715
+ hello_user: "Hello User"
716
+ image: Image
717
+ images: Images
718
+ in_progress: "In Progress"
719
+ invalid_search: "Invalid search criteria."
720
+ inventory: Inventory
721
+ inventory_adjustment: "Inventory Adjustment"
722
+ inventory_setting_description: "Inventory Configuration, Backordering, Zero-Stock Display"
723
+ inventory_settings: "Inventory Settings"
724
+ item: Item
725
+ item_description: "Item Description"
726
+ item_total: "Item Total"
727
+ last_name: "Last Name"
728
+ list: List
729
+ listing_categories: "Listing Categories"
730
+ listing_option_types: "Listing Option Types"
731
+ listing_orders: "Listing Orders"
732
+ listing_reports: "Listing Reports"
733
+ listing_tax_categories: "Listing Tax Categories"
734
+ listing_users: "Listing Users"
735
+ locale_changed: "Locale Changed"
736
+ log_in: "Log In"
737
+ logged_in_as: "Logged in as"
738
+ login_name: Login
739
+ logout: Logout
740
+ mail_delivery_enabled: "Mail delivery is enabled"
741
+ mail_delivery_not_enabled: "Mail delivery is not enabled"
742
+ mail_server_preferences: Mail Server Preferences
743
+ mail_server_settings: "Mail Server Settings"
744
+ master_price: "Master Price"
745
+ my_account: "My Account"
746
+ my_orders: "My Orders"
747
+ name: Name
748
+ new: New
749
+ new_category: "New category"
750
+ new_credit_card_payment: "New Credit Card Payment"
751
+ new_customer: "New Customer"
752
+ new_image: "New Image"
753
+ new_option_type: "New Option Type"
754
+ new_option_value: "New Option Value"
755
+ new_product: "New Product"
756
+ new_property: "New Property"
757
+ new_prototype: "New Prototype"
758
+ new_shipment: "New Shipment"
759
+ new_state: "New State"
760
+ new_tax_category: "New Tax Category"
761
+ new_tax_rate: "New Tax Rate"
762
+ new_taxonomy: "New Taxonomy"
763
+ new_user: "New User"
764
+ new_variant: "New Variant"
765
+ new_zone: "New Zone"
766
+ next: Next
767
+ no_items_in_cart: ""
768
+ no_match_found: "No Match Found"
769
+ none: None
770
+ none_available: "None Available"
771
+ on_hand: "On Hand"
772
+ operation: Operation
773
+ option_Values: "Option Values"
774
+ option_types: "Option Types"
775
+ option_values: "Option Values"
776
+ options: Options
777
+ or: or
778
+ order: Order
779
+ order_confirmation_note: ""
780
+ order_date: "Order Date"
781
+ order_details: "Order Details"
782
+ order_email_resent: "Order Email Resent"
783
+ order_number: Order
784
+ order_operation_authorize: Authorize
785
+ order_processed_successfully: "Your order has been processed successfully"
786
+ order_total: "Order Total"
787
+ order_total_message: "The total amount charged to your card will be"
788
+ order_updated: "Order Updated"
789
+ orders: Orders
790
+ out_of_stock: "Out of Stock"
791
+ overview: Overview
792
+ paid: Paid
793
+ parent_category: "Parent Category"
794
+ password: Password
795
+ path: Path
796
+ pay: pay
797
+ payment: Payment
798
+ payment_gateway: "Payment Gateway"
799
+ payment_information: "Payment Information"
800
+ payments: Payments
801
+ phone: Phone
802
+ place_order: Place Order
803
+ presentation: Presentation
804
+ previous: Previous
805
+ price: Price
806
+ problem_authorizing_card: "Problem authorizing credit card"
807
+ problem_capturing_card: "Problem capturing credit card"
808
+ problems_processing_order: "We had problems processing your order"
809
+ process: Process
810
+ product: Product
811
+ product_details: "Product Details"
812
+ product_properties: "Product Properties"
813
+ products: Products
814
+ properties: Properties
815
+ property: Property
816
+ prototypes: Prototypes
817
+ qty: Qty
818
+ rate: Rate
819
+ remember_me: "Remember me"
820
+ remove: Remove
821
+ reports: Reports
822
+ resend: Resend
823
+ response_code: "Response Code"
824
+ resume: "resume"
825
+ resumed: Resumed
826
+ return: return
827
+ returned: Returned
828
+ roles: Roles
829
+ sales_total: "Sales Total"
830
+ sales_total_for_all_orders: "Sales total for all orders"
831
+ sales_totals: "Sales Totals"
832
+ sales_totals_description: "Sales Total For All Orders"
833
+ save_preferences: Save Preferences
834
+ search: Search
835
+ secure_connection_type: Secure Connection Type
836
+ select: Select
837
+ select_from_prototype: "Select From Prototype"
838
+ send_copy_of_all_mails_to: Send Copy of All Mails To
839
+ send_copy_of_orders_mails_to: Send Copy of Order Mails To
840
+ send_mails_as: Send Mails As
841
+ send_order_mails_as: Send Order Mails As
842
+ ship: ship
843
+ ship_address: "Ship Address"
844
+ shipment: Shipment
845
+ shipped: Shipped
846
+ shipping: Shipping
847
+ shipping_address: "Shipping Address"
848
+ shipping_error: "Shipping Error"
849
+ shipping_method: "Shipping Method"
850
+ shipping_total: "Shipping Total"
851
+ shopping_cart: "Shopping Cart"
852
+ show_deleted: "Show Deleted"
853
+ show_incomplete_orders: "Show Incomplete Orders"
854
+ show_only_complete_orders: "Only show complete orders"
855
+ show_out_of_stock_products: "Show out-of-stock products"
856
+ sign_up: "Sign up"
857
+ sku: SKU
858
+ smtp_authentication_type: SMTP Authentication Type
859
+ smtp_domain: SMTP Domain
860
+ smtp_mail_host: SMTP Mail Host
861
+ smtp_password: SMTP Password
862
+ smtp_port: SMTP Port
863
+ smtp_username: SMTP Username
864
+ spree:
865
+ date: Date
866
+ time: Time
867
+ start: Start
868
+ state: State
869
+ state_based: "State Based"
870
+ state_setting_description: "Administer the list of states/provinces associated with each country."
871
+ states: States
872
+ status: Status
873
+ stop: Stop
874
+ store: Store
875
+ street_address: "Street Address"
876
+ street_address_2: "Street Address (cont'd)"
877
+ subtotal: Subtotal
878
+ subtract: Subtract
879
+ system: System
880
+ tax: Tax
881
+ tax_categories: "Tax Categories"
882
+ tax_categories_setting_description: "Set up tax categories to identify which products should be taxable."
883
+ tax_category: "Tax Category"
884
+ tax_total: "Tax Total"
885
+ tax_type: "Tax Type"
886
+ taxon: Taxon
887
+ taxonomies: Taxonomies
888
+ taxonomies_setting_description: "Create and manage taxonomies"
889
+ taxons: Taxons
890
+ thank_you_for_your_order: "Thank you for your business. Please print out a copy of this confirmation page for your records."
891
+ this_file_language: "English (US)"
892
+ total: Total
893
+ transaction: Transaction
894
+ tree: Tree
895
+ try_again: "Try Again"
896
+ type: Type
897
+ unable_to_authorize_credit_card: "Unable to Authorize Credit Card"
898
+ unable_to_capture_credit_card: "Unable to Capture Credit Card"
899
+ unable_to_save_order: "Unable to Save Order"
900
+ update: Update
901
+ updated_successfully: "Updated Successfully"
902
+ use_as_shipping_address: Use as Shipping Address
903
+ use_billing_address: Use Billing Address
904
+ use_different_shipping_address: "Use Different Shipping Address"
905
+ user: User
906
+ user_account: User Account
907
+ user_details: "User Details"
908
+ users: Users
909
+ value: Value
910
+ variants: Variants
911
+ version: Version
912
+ website: Website
913
+ weight: Weight
914
+ welcome_to_sample_store: "Welcome to the sample store"
915
+ what_is_a_cvv: "What is a (CVV) Credit Card Code?"
916
+ what_is_this: "What's This?"
917
+ whats_this: "What's this"
918
+ width: Width
919
+ your_cart_is_empty: "Your cart is empty"
920
+ zip: Zip
921
+ zone: Zone
922
+ zone_based: "Zone Based"
923
+ zone_setting_description: "Collections of countries, states or other zones to be used in various calculations."
924
+ zones: Zones
@@ -437,7 +437,9 @@ pl:
437
437
  tree: Tree
438
438
  try_again: "Spróbuj ponownie"
439
439
  type: Typ
440
+ unable_to_authorize_credit_card: "Unable to Authorize Credit Card"
440
441
  unable_to_capture_credit_card: "Unable to Capture Credit Card"
442
+ unable_to_save_order: "Unable to Save Order"
441
443
  update: Aktualizuj
442
444
  updated_successfully:
443
445
  use_as_shipping_address: Use as Shipping Address
@@ -437,7 +437,9 @@ pt-BR:
437
437
  tree: Tree
438
438
  try_again: "Tente novamente"
439
439
  type: Tipo
440
+ unable_to_authorize_credit_card: "Unable to Authorize Credit Card"
440
441
  unable_to_capture_credit_card: "Unable to Capture Credit Card"
442
+ unable_to_save_order: "Unable to Save Order"
441
443
  update: Atualizar
442
444
  updated_successfully:
443
445
  use_as_shipping_address: Use as Shipping Address
@@ -437,7 +437,9 @@ pt-PT:
437
437
  tree: Árvore
438
438
  try_again: "Tente de novo"
439
439
  type: Tipo
440
+ unable_to_authorize_credit_card: "Unable to Authorize Credit Card"
440
441
  unable_to_capture_credit_card: "Unable to Capture Credit Card"
442
+ unable_to_save_order: "Unable to Save Order"
441
443
  update: Actualizar
442
444
  updated_successfully: Actualizado com sucesso
443
445
  use_as_shipping_address: Use as Shipping Address
@@ -1,5 +1,5 @@
1
1
  ---
2
- ru-RU:
2
+ ru-RU:
3
3
  a_copy_of_all_mail_will_be_sent_to_the_following_addresses: Копии всех писем будут отосланы на следующие адреса
4
4
  abbreviation: Аббревиатура
5
5
  access_denied: "Доступ запрещен"
@@ -207,6 +207,7 @@ ru-RU:
207
207
  credit_card: "Кредитная карта"
208
208
  credit_card_capture_complete: "Credit Card Was Captured ??"
209
209
  credit_card_payment: "Платеж крелитной картой"
210
+ creditcard: Creditcard
210
211
  current: Текущий
211
212
  customer: Пользователь
212
213
  date_range: "Период времени"
@@ -234,6 +235,7 @@ ru-RU:
234
235
  error: ошибка
235
236
  event: Событие
236
237
  existing_customer: "Для зарегистрированных пользователей"
238
+ expiration: Expiration
237
239
  expiration_month: "Месяц экспирации ??"
238
240
  expiration_year: "Год экспирации ??"
239
241
  extension: Расширение
@@ -340,6 +342,7 @@ ru-RU:
340
342
  payment_information: "Информация о платеже"
341
343
  payments: Платежи
342
344
  phone: Телефон
345
+ place_order: Place Order
343
346
  presentation: Презентация ??
344
347
  previous: предыдущий
345
348
  price: Цена
@@ -391,6 +394,7 @@ ru-RU:
391
394
  shopping_cart: "Корзина"
392
395
  show_deleted: "Показать удаленные"
393
396
  show_incomplete_orders: "Показать необработанные заказы"
397
+ show_only_complete_orders: "Only show complete orders"
394
398
  show_out_of_stock_products: "Показать продукты, которых нет в наличии"
395
399
  sign_up: "Регистрация"
396
400
  sku: SKU
@@ -433,11 +437,16 @@ ru-RU:
433
437
  tree: Дерево
434
438
  try_again: "Попробуйте еще раз"
435
439
  type: Тип
440
+ unable_to_authorize_credit_card: "Unable to Authorize Credit Card"
436
441
  unable_to_capture_credit_card: "Unable to Capture Credit Card"
442
+ unable_to_save_order: "Unable to Save Order"
437
443
  update: Изменить
438
444
  updated_successfully: "Успешна изменена"
445
+ use_as_shipping_address: Use as Shipping Address
446
+ use_billing_address: Use Billing Address
439
447
  use_different_shipping_address: "использовать другой адрес доставки"
440
448
  user: Пользователь
449
+ user_account: User Account
441
450
  user_details: "Дополнительно"
442
451
  users: Пользователи
443
452
  value: Значение
@@ -167,7 +167,7 @@ south_dakota:
167
167
  abbr: SD
168
168
  country_id: 214
169
169
  tennesse:
170
- name: Tennesse
170
+ name: Tennessee
171
171
  abbr: TN
172
172
  country_id: 214
173
173
  texas:
@@ -201,4 +201,4 @@ wisconsin:
201
201
  wyoming:
202
202
  name: Wyoming
203
203
  abbr: WY
204
- country_id: 214
204
+ country_id: 214
@@ -9,7 +9,7 @@ unless defined? Spree::Version
9
9
  module Version
10
10
  Major = '0'
11
11
  Minor = '7'
12
- Tiny = '0'
12
+ Tiny = '1'
13
13
 
14
14
  class << self
15
15
  def to_s
@@ -31,7 +31,11 @@ namespace 'spree' do
31
31
  s.bindir = 'bin'
32
32
  s.executables = ['spree']
33
33
  s.add_dependency 'rake', '>= 0.7.1'
34
- s.add_dependency 'highline', '>=1.4.0'
34
+ s.add_dependency 'highline', '= 1.4.0'
35
+ s.add_dependency 'rails', '= 2.2.2'
36
+ s.add_dependency 'activemerchant', '>= 1.4.1'
37
+ s.add_dependency 'activerecord-tableless', '>= 0.1.0'
38
+ s.add_dependency 'tlsmail', '>= 0.0.1'
35
39
  s.has_rdoc = true
36
40
  #s.rdoc_options << '--title' << RDOC_TITLE << '--line-numbers' << '--main' << 'README'
37
41
  rdoc_excludes = Dir["**"].reject { |f| !File.directory? f }
@@ -45,6 +45,7 @@ def create_hash(data, basename)
45
45
  parent = Array.new
46
46
  previous_key = 'base'
47
47
  data.split("\n").each do |w|
48
+ next if w.strip.blank?
48
49
  (key, value) = w.split(':')
49
50
  value ||= ''
50
51
  shift = (key =~ /\w/)/2 - parent.size #Determine level of current key in comparison to parent array
@@ -1,24 +1,13 @@
1
1
  var regions = new Array('billing', 'shipping', 'shipping_method', 'creditcard', 'confirm_order');
2
2
 
3
+ /*
3
4
  $(document).ajaxSend(function(event, request, settings) {
4
5
  if (typeof(AUTH_TOKEN) == "undefined") return;
5
6
  // settings.data is a serialized string like "foo=bar&baz=boink" (or null)
6
7
  settings.data = settings.data || "";
7
8
  settings.data += (settings.data ? "&" : "") + "authenticity_token=" + encodeURIComponent(AUTH_TOKEN);
8
9
  });
9
-
10
- // public/javascripts/application.js
11
- jQuery.ajaxSetup({
12
- 'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")}
13
- })
14
-
15
- jQuery.fn.submitWithAjax = function() {
16
- this.change(function() {
17
- $.post('select_country', $(this).serialize(), null, "script");
18
- return false;
19
- })
20
- return this;
21
- };
10
+ */
22
11
 
23
12
  jQuery.fn.sameAddress = function() {
24
13
  this.click(function() {
@@ -36,12 +25,10 @@ jQuery.fn.sameAddress = function() {
36
25
 
37
26
  //On page load
38
27
  $(function() {
39
- //$("#checkout_presenter_bill_address_country_id").submitWithAjax();
40
28
  $('#checkout_presenter_same_address').sameAddress();
41
29
  $('span#bcountry select').change(function() { update_state('b'); });
42
30
  $('span#scountry select').change(function() { update_state('s'); });
43
31
  get_states();
44
-
45
32
  $('#validate_billing').click(function() { if(validate_section('billing')) { submit_billing(); }});
46
33
  $('#validate_shipping').click(function() { if(validate_section('shipping')) { submit_shipping(); }});
47
34
  $('#select_shipping_method').click(function() { submit_shipping_method(); });
@@ -88,7 +75,6 @@ var chg_state_input_element = function (parent, html) {
88
75
 
89
76
  // TODO: better as sibling dummy state ?
90
77
  // Update the input method for address.state
91
- //
92
78
  var update_state = function(region) {
93
79
  var country = $('span#' + region + 'country :only-child').val();
94
80
  var states = state_mapper[country];
@@ -123,7 +109,6 @@ var update_state = function(region) {
123
109
  });
124
110
  };
125
111
 
126
-
127
112
  var validate_section = function(region) {
128
113
  var validator = $('form#checkout_form').validate();
129
114
  var valid = true;
@@ -173,7 +158,7 @@ var submit_billing = function() {
173
158
 
174
159
  var build_address = function(title, region) {
175
160
  var address = '<h3>' + title + '</h3>';
176
- address += $('p#' + region + 'fname input').val() + ' ' + $('p#blname input').val() + '<br />';
161
+ address += $('p#' + region + 'fname input').val() + ' ' + $('p#' + region + 'lname input').val() + '<br />';
177
162
  address += $('p#' + region + 'address input').val() + '<br />';
178
163
  if($('p#' + region + 'address2').val() != '') {
179
164
  address += $('p#' + region + 'address2').val() + '<br />';
@@ -255,18 +240,21 @@ var update_shipping_methods = function(methods) {
255
240
  $('div$methods img#shipping_loader').remove();
256
241
  var p = document.createElement('p');
257
242
  var s = this.name + ' ' + this.rate;
258
- $(p).append($(document.createElement('input'))
259
- .attr('id', s)
243
+ var i = $(document.createElement('input'))
244
+ .attr('id', this.id)
260
245
  .attr('type', 'radio')
261
246
  .attr('name', 'method_id')
262
- .attr(1 == $(methods).length ? 'checked' : 'notchecked', 'foo')
263
247
  .val(this.id)
264
- );
265
- $(p).append($(document.createElement('label'))
248
+ .click(function() { $('div#methods input').attr('checked', ''); $(this).attr('checked', 'checked'); });
249
+ if($(methods.length) == 1) {
250
+ i.attr('checked', 'checked');
251
+ }
252
+ var l = $(document.createElement('label'))
266
253
  .attr('for', s)
267
254
  .html(s)
268
- .css('top', '-1px'));
269
- $('div#methods').append(p);
255
+ .css('top', '-1px')
256
+ .css('width', '300px');
257
+ $('div#methods').append($(p).append(i).append(l));
270
258
  });
271
259
  $('div#methods input:first').attr('validate', 'required:true');
272
260
  return;
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sean Schofield
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-03-10 00:00:00 -04:00
12
+ date: 2009-03-25 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -28,10 +28,50 @@ dependencies:
28
28
  version_requirement:
29
29
  version_requirements: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ">="
31
+ - - "="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 1.4.0
34
34
  version:
35
+ - !ruby/object:Gem::Dependency
36
+ name: rails
37
+ type: :runtime
38
+ version_requirement:
39
+ version_requirements: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - "="
42
+ - !ruby/object:Gem::Version
43
+ version: 2.2.2
44
+ version:
45
+ - !ruby/object:Gem::Dependency
46
+ name: activemerchant
47
+ type: :runtime
48
+ version_requirement:
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: 1.4.1
54
+ version:
55
+ - !ruby/object:Gem::Dependency
56
+ name: activerecord-tableless
57
+ type: :runtime
58
+ version_requirement:
59
+ version_requirements: !ruby/object:Gem::Requirement
60
+ requirements:
61
+ - - ">="
62
+ - !ruby/object:Gem::Version
63
+ version: 0.1.0
64
+ version:
65
+ - !ruby/object:Gem::Dependency
66
+ name: tlsmail
67
+ type: :runtime
68
+ version_requirement:
69
+ version_requirements: !ruby/object:Gem::Requirement
70
+ requirements:
71
+ - - ">="
72
+ - !ruby/object:Gem::Version
73
+ version: 0.0.1
74
+ version:
35
75
  description: "Spree is a complete commerce solution designed for use by experienced Rails developers. No solution can possibly solve everyone\xE2\x80\x99s needs perfectly. There are simply too many ways that people do business for us to model them all specifically. Rather then come up short (like so many projects before it), Spree\xE2\x80\x99s approach is to simply accept this and not even try. Instead Spree tries to focus on solving the 90% of the problem that most commerce projects face and anticipate that the other 10% will need to be addressed by the end developer familiar with the client\xE2\x80\x99s exact business requirements."
36
76
  email: sean.schofield@gmail.com
37
77
  executables:
@@ -270,11 +310,17 @@ files:
270
310
  - app/views/admin/zones/new.html.erb
271
311
  - app/views/admin/zones/show.html.erb
272
312
  - app/views/checkout
313
+ - app/views/checkout/_billing.html.erb
314
+ - app/views/checkout/_confirm_order.erb
273
315
  - app/views/checkout/_form.html.erb
316
+ - app/views/checkout/_payment.erb
317
+ - app/views/checkout/_shipping.html.erb
318
+ - app/views/checkout/_shipping_method.html.erb
274
319
  - app/views/checkout/cvv.html.erb
275
320
  - app/views/checkout/new.html.erb
276
321
  - app/views/countries
277
322
  - app/views/countries/index.js.erb
323
+ - app/views/creditcards
278
324
  - app/views/layouts
279
325
  - app/views/layouts/admin.html.erb
280
326
  - app/views/layouts/application.html.erb
@@ -1685,6 +1731,8 @@ files:
1685
1731
  - vendor/extensions/shipping/app/views/admin/shipping_methods/edit.html.erb
1686
1732
  - vendor/extensions/shipping/app/views/admin/shipping_methods/index.html.erb
1687
1733
  - vendor/extensions/shipping/app/views/admin/shipping_methods/new.html.erb
1734
+ - vendor/extensions/shipping/app/views/orders
1735
+ - vendor/extensions/shipping/app/views/shipments
1688
1736
  - vendor/extensions/shipping/config
1689
1737
  - vendor/extensions/shipping/config/locales
1690
1738
  - vendor/extensions/shipping/config/locales/de.yml
@@ -2164,8 +2212,6 @@ files:
2164
2212
  - vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/single_sti_parent_test.rb
2165
2213
  - vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/stick_test.rb
2166
2214
  - vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/stone_test.rb
2167
- - vendor/plugins/has_many_polymorphs/test/integration/app/vendor
2168
- - vendor/plugins/has_many_polymorphs/test/integration/app/vendor/plugins
2169
2215
  - vendor/plugins/has_many_polymorphs/test/integration/server_test.rb
2170
2216
  - vendor/plugins/has_many_polymorphs/test/models
2171
2217
  - vendor/plugins/has_many_polymorphs/test/models/aquatic