spree_core 1.0.7 → 1.1.0.rc1

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.
Files changed (209) hide show
  1. data/app/assets/javascripts/admin/admin.js.erb +9 -18
  2. data/app/assets/javascripts/admin/calculator.js +7 -6
  3. data/app/assets/javascripts/admin/checkouts/edit.js +2 -2
  4. data/app/assets/javascripts/admin/image_settings.js +49 -0
  5. data/app/assets/javascripts/admin/orders/edit_form.js +14 -14
  6. data/app/assets/stylesheets/admin/admin.css.erb +36 -54
  7. data/app/assets/stylesheets/store/screen.css.scss +25 -12
  8. data/app/controllers/spree/admin/base_controller.rb +3 -3
  9. data/app/controllers/spree/admin/image_settings_controller.rb +71 -0
  10. data/app/controllers/spree/admin/images_controller.rb +22 -21
  11. data/app/controllers/spree/admin/mail_methods_controller.rb +1 -1
  12. data/app/controllers/spree/admin/orders/customer_details_controller.rb +2 -2
  13. data/app/controllers/spree/admin/orders_controller.rb +13 -13
  14. data/app/controllers/spree/admin/payment_methods_controller.rb +1 -1
  15. data/app/controllers/spree/admin/payments_controller.rb +1 -1
  16. data/app/controllers/spree/admin/product_properties_controller.rb +3 -4
  17. data/app/controllers/spree/admin/products_controller.rb +49 -47
  18. data/app/controllers/spree/admin/properties_controller.rb +1 -1
  19. data/app/controllers/spree/admin/prototypes_controller.rb +12 -6
  20. data/app/controllers/spree/admin/reports_controller.rb +15 -16
  21. data/app/controllers/spree/admin/resource_controller.rb +1 -1
  22. data/app/controllers/spree/admin/return_authorizations_controller.rb +1 -1
  23. data/app/controllers/spree/admin/shipments_controller.rb +0 -3
  24. data/app/controllers/spree/admin/states_controller.rb +9 -9
  25. data/app/controllers/spree/admin/users_controller.rb +18 -42
  26. data/app/controllers/spree/admin/variants_controller.rb +22 -21
  27. data/app/controllers/spree/admin/zones_controller.rb +11 -11
  28. data/app/controllers/spree/content_controller.rb +1 -1
  29. data/app/controllers/spree/locale_controller.rb +2 -2
  30. data/app/controllers/spree/orders_controller.rb +4 -6
  31. data/app/controllers/spree/products_controller.rb +1 -1
  32. data/app/controllers/spree/states_controller.rb +4 -7
  33. data/app/helpers/spree/admin/base_helper.rb +4 -0
  34. data/app/helpers/spree/admin/navigation_helper.rb +4 -16
  35. data/app/helpers/spree/base_helper.rb +22 -3
  36. data/app/models/spree/activator.rb +4 -1
  37. data/app/models/spree/address.rb +45 -45
  38. data/app/models/spree/adjustment.rb +4 -4
  39. data/app/models/spree/app_configuration.rb +12 -0
  40. data/app/models/spree/calculator/default_tax.rb +1 -3
  41. data/app/models/spree/calculator/flat_percent_item_total.rb +0 -2
  42. data/app/models/spree/calculator/flat_rate.rb +0 -3
  43. data/app/models/spree/calculator/flexi_rate.rb +1 -3
  44. data/app/models/spree/calculator/per_item.rb +1 -6
  45. data/app/models/spree/calculator/price_sack.rb +0 -2
  46. data/app/models/spree/country.rb +1 -1
  47. data/app/models/spree/creditcard.rb +9 -10
  48. data/app/models/spree/gateway.rb +0 -2
  49. data/app/models/spree/image.rb +18 -2
  50. data/app/models/spree/inventory_unit.rb +4 -2
  51. data/app/models/spree/mail_method.rb +1 -6
  52. data/app/models/spree/option_type.rb +3 -1
  53. data/app/models/spree/order.rb +68 -62
  54. data/app/models/spree/payment.rb +1 -1
  55. data/app/models/spree/payment_method.rb +0 -6
  56. data/app/models/spree/product/scopes.rb +44 -44
  57. data/app/models/spree/product.rb +44 -26
  58. data/app/models/spree/product_property.rb +0 -2
  59. data/app/models/spree/property.rb +0 -16
  60. data/app/models/spree/prototype.rb +0 -1
  61. data/app/models/spree/return_authorization.rb +0 -2
  62. data/app/models/spree/shipment.rb +2 -3
  63. data/app/models/spree/shipping_category.rb +0 -2
  64. data/app/models/spree/shipping_method.rb +1 -2
  65. data/app/models/spree/shipping_rate.rb +9 -0
  66. data/app/models/spree/state.rb +10 -2
  67. data/app/models/spree/{state_event.rb → state_change.rb} +1 -4
  68. data/app/models/spree/tax_rate.rb +3 -3
  69. data/app/models/spree/taxon.rb +1 -6
  70. data/app/models/spree/taxonomy.rb +3 -6
  71. data/app/models/spree/user.rb +1 -0
  72. data/app/models/spree/variant.rb +3 -4
  73. data/app/models/spree/zone.rb +0 -10
  74. data/app/views/spree/admin/adjustments/_adjustments_table.html.erb +1 -1
  75. data/app/views/spree/admin/configurations/index.html.erb +4 -0
  76. data/app/views/spree/admin/image_settings/edit.html.erb +91 -0
  77. data/app/views/spree/admin/image_settings/show.html.erb +11 -0
  78. data/app/views/spree/admin/images/index.html.erb +3 -3
  79. data/app/views/spree/admin/mail_methods/_form.html.erb +1 -1
  80. data/app/views/spree/admin/mail_methods/index.html.erb +1 -1
  81. data/app/views/spree/admin/option_types/_option_value_fields.html.erb +1 -1
  82. data/app/views/spree/admin/option_types/index.html.erb +1 -1
  83. data/app/views/spree/admin/option_types/new.js.erb +1 -1
  84. data/app/views/spree/admin/orders/_form.html.erb +3 -5
  85. data/app/views/spree/admin/orders/_line_item.html.erb +1 -1
  86. data/app/views/spree/admin/orders/customer_details/_form.html.erb +1 -1
  87. data/app/views/spree/admin/orders/history.html.erb +2 -2
  88. data/app/views/spree/admin/orders/index.html.erb +19 -19
  89. data/app/views/spree/admin/payment_methods/_form.html.erb +1 -1
  90. data/app/views/spree/admin/payment_methods/index.html.erb +1 -3
  91. data/app/views/spree/admin/payments/_list.html.erb +1 -1
  92. data/app/views/spree/admin/product_properties/index.html.erb +1 -1
  93. data/app/views/spree/admin/products/_form.html.erb +30 -27
  94. data/app/views/spree/admin/products/index.html.erb +9 -9
  95. data/app/views/spree/admin/products/new.html.erb +28 -4
  96. data/app/views/spree/admin/products/new.js.erb +1 -1
  97. data/app/views/spree/admin/properties/index.html.erb +1 -1
  98. data/app/views/spree/admin/properties/new.js.erb +1 -1
  99. data/app/views/spree/admin/prototypes/index.html.erb +1 -1
  100. data/app/views/spree/admin/prototypes/new.js.erb +1 -1
  101. data/app/views/spree/admin/prototypes/show.html.erb +42 -0
  102. data/app/views/spree/admin/return_authorizations/index.html.erb +1 -1
  103. data/app/views/spree/admin/shared/_address_form.html.erb +1 -1
  104. data/app/views/spree/admin/shared/_calculator_fields.html.erb +2 -2
  105. data/app/views/spree/admin/shared/_head.html.erb +3 -3
  106. data/app/views/spree/admin/shared/_order_details.html.erb +1 -1
  107. data/app/views/spree/admin/shared/_order_tabs.html.erb +6 -6
  108. data/app/views/spree/admin/shared/_product_sub_menu.html.erb +0 -1
  109. data/app/views/spree/admin/shared/_report_criteria.html.erb +3 -3
  110. data/app/views/spree/admin/shared/_tabs.html.erb +1 -1
  111. data/app/views/spree/admin/shared/_update_order_state.js +5 -4
  112. data/app/views/spree/admin/shipments/index.html.erb +1 -1
  113. data/app/views/spree/admin/shipping_categories/index.html.erb +1 -1
  114. data/app/views/spree/admin/shipping_methods/index.html.erb +1 -1
  115. data/app/views/spree/admin/states/_state_list.html.erb +1 -1
  116. data/app/views/spree/admin/states/new.js.erb +1 -1
  117. data/app/views/spree/admin/tax_categories/index.html.erb +2 -2
  118. data/app/views/spree/admin/tax_rates/index.html.erb +2 -2
  119. data/app/views/spree/admin/taxonomies/_list.html.erb +1 -1
  120. data/app/views/spree/admin/trackers/_form.html.erb +1 -1
  121. data/app/views/spree/admin/trackers/index.html.erb +1 -1
  122. data/app/views/spree/admin/users/_form.html.erb +1 -16
  123. data/app/views/spree/admin/users/index.html.erb +3 -4
  124. data/app/views/spree/admin/variants/index.html.erb +2 -2
  125. data/app/views/spree/admin/variants/new.js.erb +1 -1
  126. data/app/views/spree/admin/zones/index.html.erb +1 -1
  127. data/app/views/spree/checkout/_address.html.erb +1 -1
  128. data/app/views/spree/checkout/edit.html.erb +1 -1
  129. data/app/views/spree/checkout/registration.html.erb +2 -2
  130. data/app/views/spree/order_mailer/confirm_email.text.erb +3 -3
  131. data/app/views/spree/orders/show.html.erb +2 -2
  132. data/app/views/spree/products/_cart_form.html.erb +1 -2
  133. data/app/views/spree/products/_image.html.erb +1 -1
  134. data/app/views/spree/products/show.html.erb +3 -3
  135. data/app/views/spree/shared/_filters.html.erb +26 -24
  136. data/app/views/spree/shared/_google_analytics.html.erb +26 -26
  137. data/app/views/spree/shared/_products.html.erb +2 -2
  138. data/app/views/spree/shared/_search.html.erb +1 -1
  139. data/app/views/spree/shared/_store_menu.html.erb +1 -1
  140. data/app/views/spree/states/index.js.erb +1 -1
  141. data/config/initializers/rails_3_1.rb +3 -3
  142. data/config/locales/en.yml +40 -35
  143. data/config/routes.rb +5 -13
  144. data/db/migrate/20101026184714_migrate_transactions_to_payment_state.rb +4 -4
  145. data/db/migrate/20111007143030_namespace_top_level_models.rb +0 -3
  146. data/db/migrate/20120203001428_rename_state_events_to_state_changes.rb +9 -0
  147. data/db/migrate/20120315064358_migrate_images_from_products_to_variants.rb +35 -0
  148. data/lib/generators/spree/dummy/templates/rails/database.yml +48 -20
  149. data/lib/generators/spree/install/install_generator.rb +17 -1
  150. data/lib/generators/spree/install/templates/app/assets/javascripts/admin/all.js +0 -1
  151. data/lib/generators/spree/install/templates/app/assets/javascripts/store/all.js +0 -1
  152. data/lib/generators/spree/install/templates/app/assets/stylesheets/admin/all.css +0 -1
  153. data/lib/generators/spree/install/templates/app/assets/stylesheets/store/all.css +0 -1
  154. data/lib/generators/spree/sandbox/sandbox_generator.rb +9 -2
  155. data/lib/spree/core/calculated_adjustments.rb +29 -34
  156. data/lib/spree/core/controller_helpers.rb +36 -34
  157. data/lib/spree/core/custom_fixtures.rb +1 -1
  158. data/lib/spree/core/delegate_belongs_to.rb +22 -24
  159. data/lib/spree/core/engine.rb +3 -3
  160. data/lib/spree/core/environment_extension.rb +12 -15
  161. data/lib/spree/core/mail_settings.rb +1 -1
  162. data/lib/spree/core/permalinks.rb +24 -16
  163. data/lib/spree/core/preference_rescue.rb +1 -1
  164. data/lib/spree/core/respond_with.rb +13 -8
  165. data/lib/spree/core/responder.rb +1 -2
  166. data/lib/spree/core/search/base.rb +36 -19
  167. data/lib/spree/core/ssl_requirement.rb +18 -10
  168. data/lib/spree/core/testing_support/common_rake.rb +1 -1
  169. data/lib/spree/core/testing_support/factories/product_factory.rb +9 -9
  170. data/lib/spree/core/testing_support/factories/role_factory.rb +1 -1
  171. data/lib/spree/core/testing_support/factories/shipping_category_factory.rb +1 -1
  172. data/lib/spree/core/testing_support/factories/shipping_method_factory.rb +3 -3
  173. data/lib/spree/core/testing_support/factories/user_factory.rb +1 -1
  174. data/lib/spree/core/testing_support/factories/zone_factory.rb +4 -2
  175. data/lib/spree/core/validators/email.rb +23 -0
  176. data/lib/spree/core/version.rb +1 -1
  177. data/lib/spree/core.rb +2 -2
  178. data/lib/spree/product_filters.rb +10 -19
  179. data/lib/tasks/core.rake +1 -1
  180. data/vendor/assets/javascripts/jquery.alerts/jquery.alerts.css.erb +5 -5
  181. data/vendor/assets/stylesheets/jquery-ui.datepicker.css.erb +1 -1
  182. metadata +68 -140
  183. data/app/assets/images/noimage/large.png +0 -0
  184. data/app/controllers/spree/admin/product_groups_controller.rb +0 -49
  185. data/app/controllers/spree/admin/product_scopes_controller.rb +0 -39
  186. data/app/helpers/spree/admin/product_groups_helper.rb +0 -14
  187. data/app/helpers/spree/admin/product_properties_helper.rb +0 -24
  188. data/app/models/spree/product_group.rb +0 -200
  189. data/app/models/spree/product_scope.rb +0 -79
  190. data/app/views/spree/admin/banners/_gateway.html.erb +0 -14
  191. data/app/views/spree/admin/product_groups/_preview.html.erb +0 -33
  192. data/app/views/spree/admin/product_groups/_product_scope.html.erb +0 -24
  193. data/app/views/spree/admin/product_groups/edit.html.erb +0 -59
  194. data/app/views/spree/admin/product_groups/index.html.erb +0 -37
  195. data/app/views/spree/admin/product_groups/new.html.erb +0 -12
  196. data/app/views/spree/admin/product_groups/show.html.erb +0 -32
  197. data/app/views/spree/admin/product_scopes/create.js.erb +0 -6
  198. data/app/views/spree/admin/product_scopes/destroy.js.erb +0 -3
  199. data/app/views/spree/admin/product_scopes/new.html.erb +0 -1
  200. data/app/views/spree/admin/shared/_group_from_products_form.html.erb +0 -12
  201. data/db/migrate/20091012120519_product_groups_and_scopes.rb +0 -18
  202. data/db/migrate/20100126103714_create_products_product_groups.rb +0 -8
  203. data/db/migrate/20100306153445_fix_by_popularity.rb +0 -9
  204. data/db/migrate/20120523061241_convert_sales_tax_to_default_tax.rb +0 -9
  205. data/lib/spree/core/testing_support/factories/product_group_factory.rb +0 -5
  206. data/lib/spree/core/testing_support/factories/product_scope_factory.rb +0 -7
  207. data/lib/spree/core/theme_support/hook_listener.rb +0 -145
  208. data/lib/spree/core/theme_support.rb +0 -1
  209. data/vendor/assets/javascripts/jquery.alerts/jquery.alerts.css +0 -57
@@ -9,8 +9,6 @@ module Spree
9
9
  validates :amount, :numericality => true
10
10
  validate :must_have_shipped_units
11
11
 
12
- attr_accessible :amount, :reason
13
-
14
12
  state_machine :initial => 'authorized' do
15
13
  after_transition :to => 'received', :do => :process_return
16
14
 
@@ -5,7 +5,7 @@ module Spree
5
5
  belongs_to :order
6
6
  belongs_to :shipping_method
7
7
  belongs_to :address
8
- has_many :state_events, :as => :stateful
8
+ has_many :state_changes, :as => :stateful
9
9
  has_many :inventory_units, :dependent => :nullify
10
10
  has_one :adjustment, :as => :source, :dependent => :destroy
11
11
 
@@ -14,8 +14,7 @@ module Spree
14
14
 
15
15
  attr_accessor :special_instructions
16
16
 
17
- attr_accessible :order, :shipping_method, :special_instructions,
18
- :shipping_method_id, :tracking, :address, :inventory_units
17
+ attr_accessible :order, :state, :shipping_method, :special_instructions, :shipping_method_id, :tracking
19
18
 
20
19
  accepts_nested_attributes_for :address
21
20
  accepts_nested_attributes_for :inventory_units
@@ -3,7 +3,5 @@ module Spree
3
3
  validates :name, :presence => true
4
4
  has_many :products
5
5
  has_many :shipping_methods
6
-
7
- attr_accessible :name
8
6
  end
9
7
  end
@@ -6,8 +6,7 @@ module Spree
6
6
  validates :name, :calculator, :zone, :presence => true
7
7
  belongs_to :shipping_category
8
8
 
9
- attr_accessible :name, :zone_id, :display_on, :shipping_category_id,
10
- :match_none, :match_one, :match_all, :calculator_type
9
+ attr_accessible :name, :zone_id, :display_on, :shipping_category_id, :match_none, :match_one, :match_all, :calculator_type
11
10
 
12
11
  calculated_adjustments
13
12
 
@@ -0,0 +1,9 @@
1
+ module Spree
2
+ class ShippingRate < Struct.new(:id, :shipping_method, :name, :cost)
3
+ def initialize(attributes={})
4
+ attributes.each do |k,v|
5
+ self.send("#{k}=", v)
6
+ end
7
+ end
8
+ end
9
+ end
@@ -7,12 +7,20 @@ module Spree
7
7
 
8
8
  validates :country, :name, :presence => true
9
9
 
10
- attr_accessible :name, :abbr
11
-
12
10
  def self.find_all_by_name_or_abbr(name_or_abbr)
13
11
  where("name = ? OR abbr = ?", name_or_abbr, name_or_abbr)
14
12
  end
15
13
 
14
+ # table of { country.id => [ state.id , state.name ] }, arrays sorted by name
15
+ # blank is added elsewhere, if needed
16
+ def self.states_group_by_country_id
17
+ state_info = Hash.new { |h, k| h[k] = [] }
18
+ Spree::State.order('name ASC').each { |state|
19
+ state_info[state.country_id.to_s].push [state.id, state.name]
20
+ }
21
+ state_info
22
+ end
23
+
16
24
  def <=>(other)
17
25
  name <=> other.name
18
26
  end
@@ -1,5 +1,5 @@
1
1
  module Spree
2
- class StateEvent < ActiveRecord::Base
2
+ class StateChange < ActiveRecord::Base
3
3
  belongs_to :user
4
4
  belongs_to :stateful, :polymorphic => true
5
5
  before_create :assign_user
@@ -9,9 +9,6 @@ module Spree
9
9
  end
10
10
 
11
11
  def assign_user
12
- # if Session.activated? && current_user_session = Session.find
13
- # self.user_id ||= current_user_session.user.id
14
- # end
15
12
  true # don't stop the filters
16
13
  end
17
14
  end
@@ -20,7 +20,7 @@ module Spree
20
20
  calculated_adjustments
21
21
  scope :by_zone, lambda { |zone| where(:zone_id => zone) }
22
22
 
23
- attr_accessible :amount, :tax_category_id, :calculator, :zone_id, :included_in_price, :calculator_type
23
+ attr_accessible :amount, :tax_category_id, :calculator
24
24
 
25
25
  # Gets the array of TaxRates appropriate for the specified order
26
26
  def self.match(order)
@@ -52,11 +52,11 @@ module Spree
52
52
  else
53
53
  amount = -1 * calculator.compute(order)
54
54
  label = I18n.t(:refund) + label
55
- order.adjustments.create(:amount => amount,
55
+ order.adjustments.create({:amount => amount,
56
56
  :source => order,
57
57
  :originator => self,
58
58
  :locked => true,
59
- :label => label)
59
+ :label => label}, :without_protection => true)
60
60
  end
61
61
  else
62
62
  create_adjustment(label, order, order)
@@ -6,7 +6,7 @@ module Spree
6
6
  has_and_belongs_to_many :products, :join_table => 'spree_products_taxons'
7
7
  before_create :set_permalink
8
8
 
9
- attr_accessible :name, :parent_id, :position, :icon, :description, :permalink, :taxonomy_id
9
+ attr_accessible :name, :parent_id, :position
10
10
 
11
11
  validates :name, :presence => true
12
12
  has_attached_file :icon,
@@ -46,10 +46,5 @@ module Spree
46
46
  scope
47
47
  end
48
48
 
49
- private
50
- # obsolete, kept for backwards compat
51
- def escape(str)
52
- str.blank? ? '' : str.to_url
53
- end
54
49
  end
55
50
  end
@@ -5,22 +5,19 @@ module Spree
5
5
  attr_accessible :name
6
6
 
7
7
  has_many :taxons
8
- has_one :root, :conditions => { :parent_id => nil }, :class_name => 'Spree::Taxon'
8
+ has_one :root, :conditions => { :parent_id => nil }, :class_name => 'Spree::Taxon',
9
+ :dependent => :destroy
9
10
 
10
11
  after_save :set_name
11
- after_destroy :destroy_root_taxon
12
12
 
13
13
  private
14
14
  def set_name
15
15
  if self.root
16
16
  self.root.update_attribute(:name, self.name)
17
17
  else
18
- self.root = Taxon.create!({ :taxonomy_id => self.id, :name => self.name })
18
+ self.root = Taxon.create!({ :taxonomy_id => self.id, :name => self.name }, :without_protection => true)
19
19
  end
20
20
  end
21
21
 
22
- def destroy_root_taxon
23
- self.root.destroy
24
- end
25
22
  end
26
23
  end
@@ -2,6 +2,7 @@
2
2
  module Spree
3
3
  class User < ActiveRecord::Base
4
4
  include Core::UserBanners
5
+
5
6
  attr_accessible :email, :password, :password_confirmation
6
7
 
7
8
  has_many :orders
@@ -43,10 +43,9 @@ module Spree
43
43
  # increase Inventory when
44
44
  if new_level > on_hand
45
45
  # fill backordered orders before creating new units
46
- inventory_units.with_state('backordered').slice(0, new_level).each do |iu|
47
- iu.fill_backorder
48
- new_level -= 1
49
- end
46
+ backordered_units = inventory_units.with_state('backordered')
47
+ backordered_units.slice(0, new_level).each &:fill_backorder
48
+ new_level -= backordered_units.length
50
49
  end
51
50
 
52
51
  self.count_on_hand = new_level
@@ -13,9 +13,6 @@ module Spree
13
13
 
14
14
  attr_accessible :name, :description, :default_tax, :kind, :zone_members, :zone_members_attributes
15
15
 
16
- # WARNING during tets class method .global is declared to indicate global Zone to use with tests
17
-
18
- #attr_accessor :type
19
16
  def kind
20
17
  member = self.members.last
21
18
 
@@ -30,13 +27,6 @@ module Spree
30
27
  # do nothing - just here to satisfy the form
31
28
  end
32
29
 
33
- # TODO: Remove this method after 1.0
34
- # alias to the new include? method
35
- def in_zone?(address)
36
- ActiveSupport::Deprecation.warn '#in_zone? is deprecated and will be removed in Spree > 1.0. Use #include? instead.'
37
- include?(address)
38
- end
39
-
40
30
  def include?(address)
41
31
  return false unless address
42
32
 
@@ -9,7 +9,7 @@
9
9
  @edit_url = edit_admin_order_adjustment_path(@order, adjustment)
10
10
  @delete_url = admin_order_adjustment_path(@order, adjustment)
11
11
  %>
12
- <tr id="<%= dom_id(adjustment) %>" data-hook="adjustment_row">
12
+ <tr id="<%= spree_dom_id(adjustment) %>" data-hook="adjustment_row">
13
13
  <td><%= adjustment.created_at.to_s(:date_time24) %></td>
14
14
  <td><%= adjustment.label %></td>
15
15
  <td><%= number_to_currency adjustment.amount %></td>
@@ -48,6 +48,10 @@
48
48
  <td><%= link_to t(:inventory_settings), admin_inventory_settings_path %></td>
49
49
  <td><%= t(:inventory_setting_description) %></td>
50
50
  </tr>
51
+ <tr>
52
+ <td><%= link_to t(:image_settings), admin_image_settings_path %></td>
53
+ <td><%= t(:image_settings_description) %></td>
54
+ </tr>
51
55
  <tr>
52
56
  <td><%= link_to t(:tax_rates), admin_tax_rates_path %></td>
53
57
  <td><%= t(:tax_rates_description) %></td>
@@ -0,0 +1,91 @@
1
+ <%= render :partial => 'spree/admin/shared/configuration_menu' %>
2
+
3
+ <h1><%= t(:image_settings) %></h1>
4
+
5
+ <p><span class="warning"><%= t(:image_settings_warning) %></span></p>
6
+
7
+ <%= form_tag admin_image_settings_path, :method => :put do %>
8
+
9
+ <p data-hook="attachment_path">
10
+ <label>
11
+ <%= label_tag 'preferences[attachment_path]', t(:attachment_path) %>
12
+ <%= preference_field_tag 'preferences[attachment_path]', Spree::Config[:attachment_path], :type => :string %>
13
+ </label>
14
+ </p>
15
+
16
+ <p data-hook="attachment_default_url">
17
+ <label>
18
+ <%= label_tag 'preferences[attachment_default_url]', t(:attachment_default_url) %>
19
+ <%= preference_field_tag 'preferences[attachment_default_url]', Spree::Config[:attachment_default_url], :type => :string %>
20
+ </label>
21
+ </p>
22
+
23
+ <p data-hook="attachment_default_style">
24
+ <label>
25
+ <%= label_tag 'preferences[attachment_default_style]', t(:attachment_default_style) %>
26
+ <%= collection_select 'preferences', 'attachment_default_style', @styles, :first, :first, {:selected => Spree::Config[:attachment_default_style] } %>
27
+ </label>
28
+ </p>
29
+
30
+ <div id="attachment_styles" data-hook="attachment_styles">
31
+ <h2><%= t(:attachment_styles) %></h2>
32
+ <ul id="styles_list">
33
+ <% @styles.each do |style_name, style_value| %>
34
+ <li>
35
+ <%= label_tag "attachment_styles[#{style_name}]", style_name %>
36
+ <%= text_field_tag "attachment_styles[#{style_name}]", style_value %>
37
+ <a href="#" alt="Destroy" class="destroy_style">x</a>
38
+ </li>
39
+ <% end %>
40
+ </ul>
41
+ <p><a href="#" alt="Add Style" class="add_style"><%= t(:add_new_style) %></a></p>
42
+ </div>
43
+
44
+ <p data-hook="use_s3">
45
+ <label>
46
+ <%= label_tag 'preferences[use_s3]', t(:use_s3) %>
47
+ <%= preference_field_tag 'preferences[use_s3]', Spree::Config[:use_s3], :type => :boolean %>
48
+ </label>
49
+ </p>
50
+
51
+ <div id="s3_settings" data-hook="s3_settings">
52
+ <h2><%= t(:configure_s3) %></h1>
53
+ <p data-hook="s3_access_key">
54
+ <label>
55
+ <%= label_tag 'preferences[s3_access_key]', t(:s3_access_key) %>
56
+ <%= preference_field_tag 'preferences[s3_access_key]', Spree::Config[:s3_access_key], :type => :string %>
57
+ </label>
58
+ </p>
59
+
60
+ <p data-hook="s3_secret">
61
+ <label>
62
+ <%= label_tag 'preferences[s3_secret]', t(:s3_secret) %>
63
+ <%= preference_field_tag 'preferences[s3_secret]', Spree::Config[:s3_secret], :type => :string %>
64
+ </label>
65
+ </p>
66
+
67
+ <p data-hook="s3_bucket">
68
+ <label>
69
+ <%= label_tag 'preferences[s3_bucket]', t(:s3_bucket) %>
70
+ <%= preference_field_tag 'preferences[s3_bucket]', Spree::Config[:s3_bucket], :type => :string %>
71
+ </label>
72
+ </p>
73
+
74
+ <h2><%= t(:s3_headers) %></h2>
75
+ <ul id="headers_list">
76
+ <% @headers.each do |header_name, header_value| %>
77
+ <li>
78
+ <%= label_tag "s3_headers[#{header_name}]", header_name %>
79
+ <%= text_field_tag "s3_headers[#{header_name}]", header_value %>
80
+ <a href="#" alt="Destroy" class="destroy_header">x</a>
81
+ </li>
82
+ <% end %>
83
+ </ul>
84
+ <p><a href="#" alt="Add Header" class="add_header"><%= t(:add_new_header) %></a></p>
85
+ </div>
86
+
87
+ <p class="form-buttons" data-hook="buttons">
88
+ <%= button t(:update) %>
89
+ </p>
90
+
91
+ <% end %>
@@ -0,0 +1,11 @@
1
+ <%= render :partial => 'spree/admin/shared/configuration_menu' %>
2
+
3
+ <h1><%= t(:image_settings) %></h1>
4
+
5
+ <h4><%= t(:attachment_path) %>: <%= Spree::Config[:attachment_path] %></h4>
6
+ <h4><%= t(:attachment_default_url) %>: <%= Spree::Config[:attachment_default_url] %></h4>
7
+ <h4><%= t(:attachment_default_style) %>: <%= Spree::Config[:attachment_default_style] %></h4>
8
+ <h4><%= t(:defined_paperclip_styles) %>: <%= @styles_list %></h4>
9
+ <h4><%= Spree::Config[:use_s3] ? t(:s3_used_for_product_images) : t(:s3_not_used_for_product_images) %></h4>
10
+
11
+ <%= link_to_with_icon 'edit', t(:edit), edit_admin_image_settings_path, :id => 'admin_image_settings_link' %>
@@ -13,7 +13,7 @@
13
13
  </tr>
14
14
 
15
15
  <% @product.images.each do |image| %>
16
- <tr id="spree_image_<%= image.id %>" data-hook="images_row">
16
+ <tr id="<%= spree_dom_id image %>" data-hook="images_row">
17
17
  <td>
18
18
  <span class="handle"></span>
19
19
  <%= link_to image_tag(image.attachment.url(:mini)), image.attachment.url(:product) %>
@@ -25,14 +25,14 @@
25
25
  <td class="actions">
26
26
  <%= link_to_with_icon 'edit', t(:edit), edit_admin_product_image_url(@product, image), :class => 'edit' %>
27
27
  &nbsp;
28
- <%= link_to_delete image, {:url => admin_product_image_url(@product, image) }%>
28
+ <%= link_to_delete image, { :url => admin_product_image_url(@product, image) }%>
29
29
  </td>
30
30
  </tr>
31
31
  <% end %>
32
32
 
33
33
  <% @product.variants.each do |variant| %>
34
34
  <% variant.images.each do |image| %>
35
- <tr id="spree_image_<%= image.id %>" data-hook="images_row">
35
+ <tr id="<%= spree_dom_id image %>" data-hook="images_row">
36
36
  <td><span class="handle"></span><%= link_to image_tag(image.attachment.url(:mini)), image.attachment.url(:product) %></td>
37
37
  <% if @product.has_variants? %>
38
38
  <td><%= variant.options_text %></td>
@@ -5,7 +5,7 @@
5
5
  <p>
6
6
  <%= f.label :environment, t(:environment) %><br />
7
7
  <%= f.collection_select(:environment,
8
- Rails.configuration.database_configuration.keys.sort,
8
+ Spree::Configuration.configurations.keys.sort,
9
9
  :to_s, :titleize,
10
10
  {}, {:id => 'gtwy-env'}) %>
11
11
  </p>
@@ -20,7 +20,7 @@
20
20
  </thead>
21
21
  <tbody>
22
22
  <% @mail_methods.each do |method|%>
23
- <tr id="<%= dom_id method %>" data-hook="admin_mail_methods_index_rows">
23
+ <tr id="<%= spree_dom_id method %>" data-hook="admin_mail_methods_index_rows">
24
24
  <td width="100px"><%= method.environment.to_s.titleize %></td>
25
25
  <td width="60px"><%= method.active ? t(:yes) : t(:no) %></td>
26
26
  <td width="140px" data-hook="admin_mail_methods_index_row_actions">
@@ -1,4 +1,4 @@
1
- <tr class="option_value fields" id="<%= dom_id(f.object) %>" data-hook="option_value">
1
+ <tr class="option_value fields" id="spree_<%= dom_id(f.object) %>" data-hook="option_value">
2
2
  <td class="name"><%= f.text_field :name %></td>
3
3
  <td class="presentation"><%= f.text_field :presentation %></td>
4
4
  <td class="actions"><%= link_to_remove_fields t(:remove), f %></td>
@@ -20,7 +20,7 @@
20
20
  <th></th>
21
21
  </tr>
22
22
  <% @option_types.each do |option_type| %>
23
- <tr class="spree_option_type" id="spree_option_type_<%= option_type.id %>" data-hook="option_row">
23
+ <tr class="spree_option_type" id="<%= spree_dom_id option_type %>" data-hook="option_row">
24
24
  <td><span class="handle"></span> <%= option_type.name %></td>
25
25
  <td class="presentation"><%= option_type.presentation %></td>
26
26
  <td class="actions">
@@ -1,2 +1,2 @@
1
- $("#new_option_type").html('<%= escape_javascript(render :template => "spree/admin/option_types/new.html.erb") %>');
1
+ $("#new_option_type").html('<%= escape_javascript(render :template => "spree/admin/option_types/new", :formats => [:html], :handlers => [:erb]) %>');
2
2
  $("#new_option_type_link").parent().hide();
@@ -43,14 +43,12 @@
43
43
  </table>
44
44
 
45
45
  <p class="form-buttons" data-hook="admin_order_form_buttons">
46
- <%= button @order.complete? ? t(:update) : t(:continue) %>
47
- <%= t(:or) %> <%= link_to t('actions.cancel'), admin_orders_url %>
46
+ <%= button t(:update) %>
47
+ <%= t(:or) %> <%= link_to t(:back), admin_orders_url %>
48
48
  </p>
49
49
 
50
50
  <% end %>
51
51
 
52
52
  <%= javascript_tag do -%>
53
- <%= render :partial => 'spree/admin/shared/update_order_state.js' %>
53
+ <%= render :partial => 'spree/admin/shared/update_order_state', :handlers => [:js] %>
54
54
  <% end -%>
55
-
56
- <%= javascript_include_tag 'admin/orders/edit_form' %>
@@ -1,4 +1,4 @@
1
- <tr id="<%= dom_id(f.object) %>" data-hook="admin_order_form_line_item_row">
1
+ <tr id="<%= spree_dom_id(f.object) %>" data-hook="admin_order_form_line_item_row">
2
2
  <td width="300">
3
3
  <%=f.object.variant.product.name%> <%= "(#{f.object.variant.options_text}))" unless f.object.variant.option_values.empty? %>
4
4
  </td>
@@ -43,6 +43,6 @@
43
43
  </p>
44
44
 
45
45
  <% content_for :head do %>
46
- <%= javascript_include_tag states_path, 'admin/address_states.js' %>
46
+ <%= javascript_include_tag states_url, 'admin/address_states.js' %>
47
47
  <% end %>
48
48
 
@@ -10,7 +10,7 @@
10
10
  <th><%= t(:user) %></th>
11
11
  <th><%= "#{t('spree.date')}/#{t('spree.time')}" %></th>
12
12
  </tr>
13
- <% @order.state_events.sort.each do |event| %>
13
+ <% @order.state_changes.sort.each do |event| %>
14
14
  <tr data-hook="history_row">
15
15
  <td><%=t("#{event.name}") if event.name.present? %></td>
16
16
  <td><%=t("#{event.name}_state#{'s' unless event.name == 'order'}.#{event.previous_state}") %></td>
@@ -19,7 +19,7 @@
19
19
  <td><%=event.created_at.to_s(:date_time24) %></td>
20
20
  </tr>
21
21
  <% end %>
22
- <% if @order.state_events.empty? %>
22
+ <% if @order.state_changes.empty? %>
23
23
  <tr data-hook="history_none">
24
24
  <td colspan="5"><%= t(:none_available) %></td>
25
25
  </tr>
@@ -10,16 +10,16 @@
10
10
  <thead>
11
11
  <tr data-hook="admin_orders_index_headers">
12
12
  <% if @show_only_completed %>
13
- <th><%= sort_link @search, :completed_at, t('activerecord.attributes.order.completed_at') %></th>
13
+ <th><%= sort_link @search, :completed_at, t(:completed_at, :scope => 'activerecord.attributes.spree/order') %></th>
14
14
  <% else %>
15
- <th><%= sort_link @search, :created_at, t(:order_date) %></th>
15
+ <th><%= sort_link @search, :created_at, t(:created_at, :scope => 'activerecord.attributes.spree/order') %></th>
16
16
  <% end %>
17
- <th><%= sort_link @search, :number, t(:order_number) %></th>
18
- <th><%= sort_link @search, :state, t(:status) %></th>
19
- <th><%= sort_link @search, :payment_state, t(:payment_state) %></th>
20
- <th><%= sort_link @search, :shipment_state, t(:shipment_state) %></th>
21
- <th><%= sort_link @search, :email, t(:customer) %></th>
22
- <th><%= sort_link @search, :total, t(:total) %></th>
17
+ <th><%= sort_link @search, :number, t(:number, :scope => 'activerecord.attributes.spree/order') %></th>
18
+ <th><%= sort_link @search, :state, t(:state, :scope => 'activerecord.attributes.spree/order') %></th>
19
+ <th><%= sort_link @search, :payment_state, t(:payment_state, :scope => 'activerecord.attributes.spree/order') %></th>
20
+ <th><%= sort_link @search, :shipment_state, t(:shipment_state, :scope => 'activerecord.attributes.spree/order') %></th>
21
+ <th><%= sort_link @search, :email, t(:email, :scope => 'activerecord.attributes.spree/order') %></th>
22
+ <th><%= sort_link @search, :total, t(:total, :scope => 'activerecord.attributes.spree/order') %></th>
23
23
  <th data-hook="admin_orders_index_header_actions"></th>
24
24
  </tr>
25
25
  </thead>
@@ -46,40 +46,40 @@
46
46
  <% content_for :sidebar do %>
47
47
  <div class="box" data-hook="admin_orders_index_search">
48
48
  <h3><%= t(:search) %></h3>
49
- <%= form_for [:admin, @search] do |f| %>
49
+ <%= search_form_for [:admin, @search] do |f| %>
50
50
  <%= label_tag nil, t(:date_range) %><br />
51
51
  <div class="date-range-filter">
52
52
  <div class="left sub-field">
53
- <%= f.text_field :created_at_greater_than, :class => 'datepicker' %><br />
53
+ <%= f.text_field :created_at_gt, :class => 'datepicker' %><br />
54
54
  <%= label_tag nil, t(:start), :class => 'sub' %>
55
55
  </div>
56
56
  <div class="right sub-field">
57
- <%= f.text_field :created_at_less_than, :class => 'datepicker' %><br />
57
+ <%= f.text_field :created_at_lt, :class => 'datepicker' %><br />
58
58
  <%= label_tag nil, t(:stop), :class => 'sub' %>
59
59
  </div>
60
60
  </div>
61
61
 
62
62
  <p><%= label_tag nil, t(:status) %><br />
63
- <%= f.select :state_equals, Spree::Order.state_machines[:state].states.collect {|s| [t("order_state.#{s.name}"), s.value]}, {:include_blank => true} %></p>
63
+ <%= f.select :state_eq, Spree::Order.state_machines[:state].states.collect {|s| [t("order_state.#{s.name}"), s.value]}, {:include_blank => true} %></p>
64
64
 
65
65
  <p>
66
66
  <%= label_tag nil, t(:order_number) %><br />
67
- <%= f.text_field :number_like, :size => 25 %>
67
+ <%= f.text_field :number_cont, :size => 25 %>
68
68
  </p>
69
69
  <p>
70
70
  <%= label_tag nil, t(:email) %><br />
71
- <%= f.text_field :email_like, :size => 25 %>
71
+ <%= f.text_field :email_cont, :size => 25 %>
72
72
  </p>
73
73
  <p>
74
- <%= label_tag nil, t(:first_name_begins_with) %><br />
75
- <%= f.text_field :bill_address_firstname_starts_with, :size => 25 %>
74
+ <%= label_tag nil, t(:first_name_start) %><br />
75
+ <%= f.text_field :bill_address_firstname_start, :size => 25 %>
76
76
  </p>
77
77
  <p>
78
- <%= label_tag nil, t(:last_name_begins_with) %><br />
79
- <%= f.text_field :bill_address_lastname_starts_with, :size => 25 %>
78
+ <%= label_tag nil, t(:last_name_start) %><br />
79
+ <%= f.text_field :bill_address_lastname_start, :size => 25 %>
80
80
  </p>
81
81
  <p>
82
- <%= f.check_box :completed_at_is_not_null, {:checked => @show_only_completed}, '1', '' %>
82
+ <%= f.check_box :completed_at_not_null, {:checked => @show_only_completed}, '1', '' %>
83
83
  <%= label_tag nil, t(:show_only_complete_orders) %>
84
84
  </p>
85
85
  <div data-hook="admin_orders_index_search_buttons">
@@ -10,7 +10,7 @@
10
10
  <tr data-hook="environment">
11
11
  <td><%= label_tag nil, t(:environment) %></td>
12
12
  <td>
13
- <%= collection_select(:payment_method, :environment, Rails.configuration.database_configuration.keys.sort, :to_s, :titleize, {}, {:id => 'gtwy-env'}) %>
13
+ <%= collection_select(:payment_method, :environment, Spree::Configuration.configurations.keys, :to_s, :titleize, {}, {:id => 'gtwy-env'}) %>
14
14
  </td>
15
15
  </tr>
16
16
  <tr data-hook="display">
@@ -22,7 +22,7 @@
22
22
  </tr>
23
23
  <tbody>
24
24
  <% @payment_methods.each do |method|%>
25
- <tr id="<%= dom_id method %>" data-hook="admin_payment_methods_index_rows">
25
+ <tr id="<%= spree_dom_id method %>" data-hook="admin_payment_methods_index_rows">
26
26
  <td width="120px"><%= method.name %></td>
27
27
  <td width="140px"><%= method.type %></td>
28
28
  <td width="100px"><%= method.environment.to_s.titleize %></td>
@@ -37,5 +37,3 @@
37
37
  <% end %>
38
38
  </tbody>
39
39
  </table>
40
-
41
- <%= render :partial => 'spree/admin/banners/gateway' %>
@@ -1,7 +1,7 @@
1
1
  <table class="index">
2
2
  <tr data-hook="payments_header">
3
3
  <th><%= "#{t('spree.date')}/#{t('spree.time')}" %></th>
4
- <th><%= t(:amount) %></th>
4
+ <th><%= t(:amount, :scope => 'activerecord.attributes.spree/payment') %></th>
5
5
  <th><%= t(:payment_method) %></th>
6
6
  <th><%= t(:payment_state) %></th>
7
7
  <th><%= t(:payment_actions) %></th>
@@ -47,7 +47,7 @@
47
47
  $("#product_properties input.autocomplete").live("keydown", function(){
48
48
  already_auto_completed = $(this).is('ac_input');
49
49
  if (!already_auto_completed) {
50
- $(this).autocomplete(properties);
50
+ $(this).autocomplete({source: properties});
51
51
  $(this).focus();
52
52
  }
53
53
  });