opensteam 0.9.2 → 0.9.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (213) hide show
  1. data/CHANGELOG +53 -0
  2. data/README.rdoc +19 -10
  3. data/generators/opensteam/opensteam_generator.rb +27 -3
  4. data/generators/opensteam/templates/app/controllers/admin/configurations_controller.rb +85 -0
  5. data/generators/opensteam/templates/app/controllers/admin/inventories_controller.rb +1 -1
  6. data/generators/opensteam/templates/app/controllers/admin/invoices_controller.rb +35 -4
  7. data/generators/opensteam/templates/app/controllers/admin/orders_controller.rb +5 -4
  8. data/generators/opensteam/templates/app/controllers/admin/shipments_controller.rb +6 -3
  9. data/generators/opensteam/templates/app/controllers/admin/shipping_rate_groups_controller.rb +76 -0
  10. data/generators/opensteam/templates/app/controllers/admin/tax_groups_controller.rb +124 -0
  11. data/generators/opensteam/templates/app/controllers/admin/tax_rules_controller.rb +19 -0
  12. data/generators/opensteam/templates/app/controllers/admin/tax_zones_controller.rb +118 -0
  13. data/generators/opensteam/templates/app/controllers/admin/users_controller.rb +1 -1
  14. data/generators/opensteam/templates/app/controllers/admin_controller.rb +20 -0
  15. data/generators/opensteam/templates/app/controllers/carts_controller.rb +118 -0
  16. data/generators/opensteam/templates/app/controllers/checkout_controller.rb +119 -79
  17. data/generators/opensteam/templates/app/controllers/profile_controller.rb +2 -4
  18. data/generators/opensteam/templates/app/controllers/searches_controller.rb +1 -1
  19. data/generators/opensteam/templates/app/controllers/user_sessions_controller.rb +2 -1
  20. data/generators/opensteam/templates/app/controllers/users_controller.rb +10 -3
  21. data/generators/opensteam/templates/app/helpers/admin_helper.rb +15 -1
  22. data/generators/opensteam/templates/app/helpers/checkout_helper.rb +38 -0
  23. data/generators/opensteam/templates/app/helpers/webshop_helper.rb +6 -1
  24. data/generators/opensteam/templates/app/models/zone.rb +18 -0
  25. data/generators/opensteam/templates/app/views/admin/_menu.html.erb +18 -0
  26. data/generators/opensteam/templates/app/views/admin/catalog.html.erb +2 -3
  27. data/generators/opensteam/templates/app/views/admin/configurations/edit.html.erb +20 -0
  28. data/generators/opensteam/templates/app/views/admin/configurations/index.html.erb +22 -0
  29. data/generators/opensteam/templates/app/views/admin/configurations/new.html.erb +19 -0
  30. data/generators/opensteam/templates/app/views/admin/configurations/show.html.erb +13 -0
  31. data/generators/opensteam/templates/app/views/admin/filters/_filter.html.erb +1 -1
  32. data/generators/opensteam/templates/app/views/admin/index.html.erb +0 -19
  33. data/generators/opensteam/templates/app/views/admin/inventories/edit.html.erb +10 -6
  34. data/generators/opensteam/templates/app/views/admin/inventories/new.html.erb +5 -0
  35. data/generators/opensteam/templates/app/views/admin/inventories/show.html.erb +10 -6
  36. data/generators/opensteam/templates/app/views/admin/invoices/_invoice.html.erb +1 -0
  37. data/generators/opensteam/templates/app/views/admin/invoices/_invoice_fields.html.erb +52 -0
  38. data/generators/opensteam/templates/app/views/admin/invoices/new.html.erb +9 -37
  39. data/generators/opensteam/templates/app/views/admin/invoices/show.html.erb +10 -36
  40. data/generators/opensteam/templates/app/views/admin/invoices/show.pdf.prawn +59 -0
  41. data/generators/opensteam/templates/app/views/admin/order_config.html.erb +5 -0
  42. data/generators/opensteam/templates/app/views/admin/order_items/_item_entry.html.erb +9 -0
  43. data/generators/opensteam/templates/app/views/admin/order_items/_items_table.html.erb +16 -0
  44. data/generators/opensteam/templates/app/views/admin/orders/_order.html.erb +9 -9
  45. data/generators/opensteam/templates/app/views/admin/orders/_orders.html.erb +1 -1
  46. data/generators/opensteam/templates/app/views/admin/orders/show.html.erb +25 -9
  47. data/generators/opensteam/templates/app/views/admin/payment_types.html.erb +27 -0
  48. data/generators/opensteam/templates/app/views/admin/payments/_credit_card_payment.html.erb +26 -0
  49. data/generators/opensteam/templates/app/views/admin/payments/_credit_card_payment_info.html.erb +15 -0
  50. data/generators/opensteam/templates/app/views/admin/payments/_direct_debit_payment.html.erb +5 -0
  51. data/generators/opensteam/templates/app/views/admin/shipments/new.html.erb +45 -30
  52. data/generators/opensteam/templates/app/views/admin/shipments/show.html.erb +3 -3
  53. data/generators/opensteam/templates/app/views/admin/shipping_rate_groups/_payment_addition.html.erb +12 -0
  54. data/generators/opensteam/templates/app/views/admin/shipping_rate_groups/_rate.html.erb +16 -0
  55. data/generators/opensteam/templates/app/views/admin/shipping_rate_groups/edit.html.erb +63 -0
  56. data/generators/opensteam/templates/app/views/admin/shipping_rate_groups/index.html.erb +28 -0
  57. data/generators/opensteam/templates/app/views/admin/shipping_rate_groups/new.html.erb +60 -0
  58. data/generators/opensteam/templates/app/views/admin/shipping_rate_groups/show.html.erb +13 -0
  59. data/generators/opensteam/templates/app/views/admin/system.html.erb +5 -0
  60. data/generators/opensteam/templates/app/views/admin/tax_groups/_attributes.html.erb +11 -0
  61. data/generators/opensteam/templates/app/views/admin/tax_groups/_tax_groups.html.erb +17 -0
  62. data/generators/opensteam/templates/app/views/admin/tax_groups/_tax_groups_row.html.erb +12 -0
  63. data/generators/opensteam/templates/app/views/admin/tax_groups/_tax_rule.html.erb +14 -0
  64. data/generators/opensteam/templates/app/views/admin/tax_groups/edit.html.erb +26 -0
  65. data/generators/opensteam/templates/app/views/admin/tax_groups/index.html.erb +8 -0
  66. data/generators/opensteam/templates/app/views/admin/tax_groups/new.html.erb +27 -0
  67. data/generators/opensteam/templates/app/views/admin/tax_groups/show.html.erb +28 -0
  68. data/generators/opensteam/templates/app/views/admin/tax_zones/_attributes.html.erb +18 -0
  69. data/generators/opensteam/templates/app/views/admin/tax_zones/_tax_zone_row.html.erb +13 -0
  70. data/generators/opensteam/templates/app/views/admin/tax_zones/_tax_zones.html.erb +11 -0
  71. data/generators/opensteam/templates/app/views/admin/tax_zones/edit.html.erb +16 -0
  72. data/generators/opensteam/templates/app/views/admin/tax_zones/index.html.erb +16 -0
  73. data/generators/opensteam/templates/app/views/admin/tax_zones/new.html.erb +14 -0
  74. data/generators/opensteam/templates/app/views/admin/tax_zones/show.html.erb +15 -0
  75. data/generators/opensteam/templates/app/views/admin/users.html.erb +0 -1
  76. data/generators/opensteam/templates/app/views/admin/users/show.html.erb +10 -0
  77. data/generators/opensteam/templates/app/views/administration_mailer/order_customer.erb +1 -1
  78. data/generators/opensteam/templates/app/views/carts/_cart.html.erb +7 -0
  79. data/generators/opensteam/templates/app/views/carts/_cart_content.html.erb +45 -0
  80. data/generators/opensteam/templates/app/views/carts/create.rjs +3 -0
  81. data/generators/opensteam/templates/app/views/{cart → carts}/index.html.erb +0 -0
  82. data/generators/opensteam/templates/app/views/carts/update.rjs +11 -0
  83. data/generators/opensteam/templates/app/views/checkout/_address.html.erb +42 -0
  84. data/generators/opensteam/templates/app/views/checkout/_customer.html.erb +31 -0
  85. data/generators/opensteam/templates/app/views/checkout/_edit_checkout.html.erb +42 -0
  86. data/generators/opensteam/templates/app/views/checkout/_new_checkout.html.erb +44 -0
  87. data/generators/opensteam/templates/app/views/checkout/_shipping_buttons.html.erb +8 -0
  88. data/generators/opensteam/templates/app/views/checkout/edit.html.erb +7 -0
  89. data/generators/opensteam/templates/app/views/checkout/new.html.erb +11 -0
  90. data/generators/opensteam/templates/app/views/checkout/outro.html.erb +1 -4
  91. data/generators/opensteam/templates/app/views/checkout/show.html.erb +63 -0
  92. data/generators/opensteam/templates/app/views/common/_header_admin.html.erb +5 -0
  93. data/generators/opensteam/templates/app/views/layouts/admin.html.erb +28 -12
  94. data/generators/opensteam/templates/app/views/layouts/profile.html.erb +2 -2
  95. data/generators/opensteam/templates/app/views/layouts/webshop.html.erb +5 -4
  96. data/generators/opensteam/templates/app/views/payment/_advance_payment_payment.html.erb +1 -0
  97. data/generators/opensteam/templates/app/views/payment/_credit_card_payment.html.erb +37 -0
  98. data/generators/opensteam/templates/app/views/payment/_credit_card_payment_confirmation.html.erb +20 -0
  99. data/generators/opensteam/templates/app/views/payment/_direct_debit_payment.html.erb +5 -0
  100. data/generators/opensteam/templates/app/views/payment/_direct_debit_payment_confirmation.html.erb +5 -0
  101. data/generators/opensteam/templates/app/views/profile/index.html.erb +1 -1
  102. data/generators/opensteam/templates/app/views/profile/infos/edit.html.erb +20 -12
  103. data/generators/opensteam/templates/app/views/profile/infos/edit_password.html.erb +16 -12
  104. data/generators/opensteam/templates/app/views/profile/orders/_order.html.erb +1 -1
  105. data/generators/opensteam/templates/app/views/profile/orders/show.html.erb +10 -7
  106. data/generators/opensteam/templates/app/views/webshop/_inventory_content.html.erb +1 -0
  107. data/generators/opensteam/templates/app/views/webshop/show.html.erb +3 -1
  108. data/generators/opensteam/templates/config/initializers/init_states.rb +13 -24
  109. data/generators/opensteam/templates/config/initializers/opensteam.rb +41 -0
  110. data/generators/opensteam/templates/config/initializers/opensteam_model_tables.rb +49 -10
  111. data/generators/opensteam/templates/config/initializers/opensteam_security.rb +8 -0
  112. data/generators/opensteam/templates/config/initializers/payment_process.rb +37 -0
  113. data/generators/opensteam/templates/db/migrate/20080609095723_create_addresses.rb +8 -2
  114. data/generators/opensteam/templates/db/migrate/20080609095726_create_inventories.rb +6 -3
  115. data/generators/opensteam/templates/db/migrate/20080609095728_create_order_items.rb +12 -1
  116. data/generators/opensteam/templates/db/migrate/20080609095729_create_orders.rb +8 -12
  117. data/generators/opensteam/templates/db/migrate/20080609095730_create_payment_types.rb +2 -0
  118. data/generators/opensteam/templates/db/migrate/20080714131513_create_invoices.rb +2 -1
  119. data/generators/opensteam/templates/db/migrate/20080714131650_create_shipments.rb +3 -1
  120. data/generators/opensteam/templates/db/migrate/20080808075247_create_containers.rb +30 -0
  121. data/generators/opensteam/templates/db/migrate/20080808083011_create_container_items.rb +25 -0
  122. data/generators/opensteam/templates/db/migrate/20080812102727_create_tax_zones.rb +16 -0
  123. data/generators/opensteam/templates/db/migrate/20080812102858_create_tax_rules.rb +15 -0
  124. data/generators/opensteam/templates/db/migrate/20080812102956_create_tax_groups.rb +14 -0
  125. data/generators/opensteam/templates/db/migrate/20080831181436_create_configurations.rb +15 -0
  126. data/generators/opensteam/templates/db/migrate/20080903131506_create_payments.rb +22 -0
  127. data/generators/opensteam/templates/db/migrate/20080904133625_create_payment_transactions.rb +24 -0
  128. data/generators/opensteam/templates/db/migrate/20080916102341_create_zones.rb +19 -0
  129. data/generators/opensteam/templates/db/migrate/20080916134340_create_region_shipping_rates.rb +18 -0
  130. data/generators/opensteam/templates/db/migrate/20080916134523_create_shipping_rate_groups.rb +18 -0
  131. data/generators/opensteam/templates/db/migrate/20080916135226_create_shipping_payment_additions.rb +20 -0
  132. data/generators/opensteam/templates/db/migrate/20080916135228_init_opensteam_config.rb +60 -0
  133. data/generators/opensteam/templates/public/images/opensteam_black.jpg +0 -0
  134. data/generators/opensteam/templates/public/images/pdf.png +0 -0
  135. data/generators/opensteam/templates/public/images/shader.png +0 -0
  136. data/generators/opensteam/templates/public/index.html +1 -0
  137. data/generators/opensteam/templates/public/javascripts/opensteam.js +21 -21
  138. data/generators/opensteam/templates/public/stylesheets/opensteam_admin.css +291 -0
  139. data/generators/opensteam/templates/public/stylesheets/opensteam_white.css +47 -11
  140. data/generators/opensteam/templates/tasks/opensteam.rake +2 -12
  141. data/generators/opensteam/templates/test/fixtures/addresses.yml +26 -0
  142. data/generators/opensteam/templates/test/fixtures/configurations.yml +29 -0
  143. data/generators/opensteam/templates/test/fixtures/inventories.yml +32 -15
  144. data/generators/opensteam/templates/test/fixtures/profiles.yml +21 -0
  145. data/generators/opensteam/templates/test/fixtures/region_shipping_rates.yml +33 -0
  146. data/generators/opensteam/templates/test/fixtures/shipping_payment_additions.yml +91 -0
  147. data/generators/opensteam/templates/test/fixtures/shipping_rate_groups.yml +25 -0
  148. data/generators/opensteam/templates/test/fixtures/tax_groups.yml +13 -0
  149. data/generators/opensteam/templates/test/fixtures/tax_rules.yml +29 -0
  150. data/generators/opensteam/templates/test/fixtures/tax_zones.yml +33 -0
  151. data/generators/opensteam/templates/test/fixtures/users.yml +26 -0
  152. data/generators/opensteam/templates/test/fixtures/zones.yml +2707 -0
  153. data/generators/opensteam/templates/test/functional/carts_controller_test.rb +103 -0
  154. data/generators/opensteam/templates/test/test_helper.rb +38 -0
  155. data/generators/opensteam/templates/test/unit/container_test.rb +71 -0
  156. data/generators/opensteam/templates/test/unit/order_test.rb +93 -0
  157. data/generators/opensteam/templates/test/unit/payment_test.rb +220 -0
  158. data/generators/opensteam/templates/test/unit/product_test.rb +158 -0
  159. data/generators/opensteam/templates/vendor/plugins/prawnto/.gitignore +3 -0
  160. data/generators/opensteam/templates/vendor/plugins/prawnto/MIT-LICENSE +20 -0
  161. data/generators/opensteam/templates/vendor/plugins/prawnto/README +12 -0
  162. data/generators/opensteam/templates/vendor/plugins/prawnto/Rakefile +22 -0
  163. data/generators/opensteam/templates/vendor/plugins/prawnto/init.rb +6 -0
  164. data/generators/opensteam/templates/vendor/plugins/prawnto/lib/prawnto.rb +13 -0
  165. data/generators/opensteam/templates/vendor/plugins/prawnto/lib/prawnto/action_controller.rb +47 -0
  166. data/generators/opensteam/templates/vendor/plugins/prawnto/lib/prawnto/template_handler/base.rb +75 -0
  167. data/generators/opensteam/templates/vendor/plugins/prawnto/lib/prawnto/template_handler/raw.rb +54 -0
  168. data/generators/opensteam/templates/vendor/plugins/prawnto/tasks/prawnto_tasks.rake +4 -0
  169. data/generators/opensteam/templates/vendor/plugins/prawnto/test/action_controller_test.rb +36 -0
  170. data/generators/opensteam/templates/vendor/plugins/prawnto/test/base_template_handler_test.rb +58 -0
  171. data/generators/opensteam/templates/vendor/plugins/prawnto/test/raw_template_handler_test.rb +163 -0
  172. data/generators/opensteam/templates/vendor/plugins/prawnto/test/template_handler_test_mocks.rb +83 -0
  173. data/generators/opensteam_product/templates/views/admin/_attributes.html.erb +8 -3
  174. data/generators/opensteam_product/templates/views/admin/_inventories.html.erb +2 -0
  175. data/lib/opensteam.rb +0 -1
  176. data/lib/opensteam/base.rb +2 -1
  177. data/lib/opensteam/checkout.rb +3 -12
  178. data/lib/opensteam/config.rb +50 -2
  179. data/lib/opensteam/container.rb +196 -0
  180. data/lib/opensteam/extension_base.rb +19 -1
  181. data/lib/opensteam/finder.rb +1 -1
  182. data/lib/opensteam/helpers/config_table_helper.rb +18 -6
  183. data/lib/opensteam/initializer.rb +24 -4
  184. data/lib/opensteam/inventory_base.rb +6 -1
  185. data/lib/opensteam/invoice_base.rb +12 -13
  186. data/lib/opensteam/money.rb +230 -0
  187. data/lib/opensteam/order_base.rb +122 -48
  188. data/lib/opensteam/payment.rb +225 -0
  189. data/lib/opensteam/payment/advance_payment.rb +34 -0
  190. data/lib/opensteam/payment/credit_card_payment.rb +217 -0
  191. data/lib/opensteam/payment/direct_debit_payment.rb +53 -0
  192. data/lib/opensteam/product_base.rb +48 -12
  193. data/lib/opensteam/security.rb +54 -0
  194. data/lib/opensteam/shipment_base.rb +214 -6
  195. data/lib/opensteam/shopping_cart.rb +20 -300
  196. data/lib/opensteam/state_logic.rb +5 -3
  197. data/lib/opensteam/state_machine.rb +8 -3
  198. data/lib/opensteam/user_base.rb +48 -6
  199. data/lib/opensteam/version.rb +1 -1
  200. metadata +122 -16
  201. data/generators/opensteam/templates/app/controllers/cart_controller.rb +0 -94
  202. data/generators/opensteam/templates/app/views/admin/orders/_event.html.erb +0 -5
  203. data/generators/opensteam/templates/app/views/admin/orders/_order_item.html.erb +0 -10
  204. data/generators/opensteam/templates/app/views/cart/_cart.html.erb +0 -8
  205. data/generators/opensteam/templates/app/views/cart/_cart_content.html.erb +0 -20
  206. data/generators/opensteam/templates/app/views/cart/update.rjs +0 -1
  207. data/generators/opensteam/templates/app/views/checkout/payment.html.erb +0 -8
  208. data/generators/opensteam/templates/app/views/checkout/shipping.html.erb +0 -45
  209. data/generators/opensteam/templates/app/views/checkout/show_cart.html.erb +0 -13
  210. data/generators/opensteam/templates/app/views/checkout/update_cart_content.rjs +0 -2
  211. data/generators/opensteam/templates/app/views/profile/orders/_order_item.html.erb +0 -10
  212. data/generators/opensteam/templates/db/migrate/20080609095725_create_dummy_users.rb +0 -21
  213. data/lib/opensteam/cart_base.rb +0 -227
@@ -34,8 +34,9 @@ module Opensteam
34
34
  end
35
35
 
36
36
  module ClassMethods
37
-
38
- def name ; self.to_s.demodulize.downcase.to_sym ; end
37
+
38
+ def name ; self.to_s.demodulize.underscore.to_sym ; end
39
+ # def name ; self.to_s.demodulize.downcase.to_sym ; end
39
40
 
40
41
  def respond_to?( method )
41
42
  self.protected_instance_methods.include?( method )
@@ -62,7 +63,8 @@ module Opensteam
62
63
 
63
64
  end
64
65
 
65
- state_name = self.to_s.demodulize.downcase
66
+ # state_name = self.to_s.demodulize.downcase
67
+ state_name = self.to_s.demodulize.underscore
66
68
  receiver.class_eval do
67
69
  define_method("#{state_name}?") { self.state == state_name }
68
70
  named_scope state_name, :conditions => ["#{self.table_name}.state = ?", state_name ]
@@ -38,6 +38,7 @@ module Opensteam
38
38
  def get_observer ; @@observer ||= [] ; end
39
39
 
40
40
  def initial_state( state )
41
+ self.initialstate = state
41
42
  after_create { |record| record.state = state }
42
43
  end
43
44
 
@@ -49,7 +50,7 @@ module Opensteam
49
50
  # notify association on state-change
50
51
  # calls the observers of the association
51
52
  def notify(assoc)
52
- observers << Opensteam::StateMachine::Observer.new( self ) do |record|
53
+ self.observers << Opensteam::StateMachine::Observer.new( self ) do |record|
53
54
  record.send( assoc ).class.observers.each { |o| o.exc( record.send( assoc ) ) }
54
55
  end
55
56
  end
@@ -66,11 +67,15 @@ module Opensteam
66
67
  # include the history module
67
68
  include Opensteam::History
68
69
 
69
- @observers = []
70
- class << self ; attr_accessor :observers ; end
70
+ class_inheritable_accessor :observers
71
+ self.observers = []
72
+
73
+ class_inheritable_accessor :initialstate
74
+
71
75
 
72
76
  end
73
77
 
78
+
74
79
  end
75
80
 
76
81
 
@@ -37,6 +37,7 @@ module Opensteam
37
37
 
38
38
 
39
39
  class Address < ActiveRecord::Base
40
+
40
41
  belongs_to :customer, :class_name => 'Opensteam::UserBase::Customer'
41
42
  has_many :shipping_orders, :class_name => "Order", :foreign_key => "shipping_address_id"
42
43
  has_many :payment_orders , :class_name => "Order", :foreign_key => "payment_address_id"
@@ -44,7 +45,7 @@ module Opensteam
44
45
  has_many :shipments
45
46
  has_many :invoices
46
47
 
47
- validates_presence_of :city, :postal, :street, :land
48
+ validates_presence_of :city, :postal, :street, :country
48
49
 
49
50
 
50
51
  # get all orders for current address
@@ -54,11 +55,18 @@ module Opensteam
54
55
 
55
56
  def zip ; postal ; end
56
57
 
57
- def to_a ; [ street, zip, city, land ] ; end
58
+ def land ; country ; end
59
+ def land=(l) ; country = l ; end
60
+
61
+ def to_a ; [ firstname + " " + lastname, street, zip + " " + city, country ] ; end
58
62
 
59
63
  def full_address ; to_a * (",") ; end
60
64
 
61
65
  alias :to_s :full_address
66
+
67
+
68
+
69
+
62
70
 
63
71
  end
64
72
 
@@ -66,6 +74,7 @@ module Opensteam
66
74
  require 'digest/sha1'
67
75
 
68
76
  class User < ActiveRecord::Base
77
+
69
78
  include Authentication
70
79
  include Authentication::ByPassword
71
80
  include Authentication::ByCookieToken
@@ -87,6 +96,23 @@ module Opensteam
87
96
 
88
97
  class << self ;
89
98
 
99
+ def new_or_existing_guest( attr = {} )
100
+ attr.symbolize_keys!
101
+
102
+ attr[:firstname] = attr[:lastname] = "guest"
103
+ attr[:password] = attr[:password_confirmation] = "opensteam"
104
+ returning( find_by_email( attr[:email] ) || new( attr ) ) do |guest|
105
+ guest.profile = Profile.find_or_create_by_name( :name => "Guest" )
106
+ end
107
+
108
+ end
109
+
110
+
111
+ def delete_by_profile profile_name
112
+ delete( find(:all, :conditions => { "profiles.name" => profile_name }, :include => :profile ).collect(&:id) )
113
+ end
114
+
115
+
90
116
  def authenticate(email, password)
91
117
  u = find_by_email(email) # need to get the salt
92
118
  u && u.authenticated?(password) ? u : nil
@@ -96,7 +122,7 @@ module Opensteam
96
122
 
97
123
  belongs_to :profile, :class_name => 'Opensteam::UserBase::Profile'
98
124
 
99
- has_many :orders, :class_name => 'Opensteam::OrderBase::Order', :foreign_key => "customer_id"
125
+ has_many :orders, :class_name => 'Opensteam::OrderBase::Order', :foreign_key => "user_id"
100
126
  has_many :addresses, :class_name => 'Opensteam::UserBase::Address', :foreign_key => 'user_id'
101
127
 
102
128
 
@@ -105,14 +131,19 @@ module Opensteam
105
131
 
106
132
 
107
133
 
108
- after_create :set_profile
134
+ before_save :set_customer_profile
109
135
 
110
- def set_profile
136
+ def set_customer_profile
111
137
  unless self.profile
112
138
  self.profile = Profile.find_or_create_by_name(:name => "Customer" )
113
- self.save
114
139
  end
115
140
  end
141
+
142
+
143
+ def set_profile( p, autosave = false )
144
+ self.profile = Profile.find_or_create_by_name( :name => p.to_s.classify )
145
+ self.save if autosave
146
+ end
116
147
 
117
148
 
118
149
  def method_missing(method, *args, &block)
@@ -131,6 +162,7 @@ module Opensteam
131
162
  protected
132
163
 
133
164
  end
165
+
134
166
 
135
167
 
136
168
  class Profile < ActiveRecord::Base
@@ -138,6 +170,16 @@ module Opensteam
138
170
  validates_uniqueness_of :name
139
171
 
140
172
  has_many :users, :class_name => 'Opensteam::UserBase::User'
173
+ named_scope :by_name, lambda { |name| { :conditions => { :name => name }, :limit => 1 } }
174
+
175
+
176
+ class << self ;
177
+ def by_profile( name )
178
+ by_name( name ).first
179
+ end
180
+ end
181
+
182
+
141
183
 
142
184
  end
143
185
 
@@ -18,7 +18,7 @@ module Opensteam #:nodoc:
18
18
  module VERSION #:nodoc:
19
19
  MAJOR = 0
20
20
  MINOR = 9
21
- TINY = 2
21
+ TINY = 3
22
22
 
23
23
  STRING = [MAJOR, MINOR, TINY].join('.')
24
24
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opensteam
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.2
4
+ version: 0.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Schaerfer
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-08-07 00:00:00 +02:00
12
+ date: 2008-10-01 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -36,9 +36,15 @@ files:
36
36
  - lib/opensteam/state_logic.rb
37
37
  - lib/opensteam/shopping_cart.rb
38
38
  - lib/opensteam/shipment_base.rb
39
+ - lib/opensteam/security.rb
39
40
  - lib/opensteam/property_base.rb
40
41
  - lib/opensteam/product_base.rb
42
+ - lib/opensteam/payment.rb
43
+ - lib/opensteam/payment/direct_debit_payment.rb
44
+ - lib/opensteam/payment/credit_card_payment.rb
45
+ - lib/opensteam/payment/advance_payment.rb
41
46
  - lib/opensteam/order_base.rb
47
+ - lib/opensteam/money.rb
42
48
  - lib/opensteam/invoice_base.rb
43
49
  - lib/opensteam/inventory_base.rb
44
50
  - lib/opensteam/initializer.rb
@@ -46,9 +52,9 @@ files:
46
52
  - lib/opensteam/helpers/config_table_helper.rb
47
53
  - lib/opensteam/finder.rb
48
54
  - lib/opensteam/extension_base.rb
55
+ - lib/opensteam/container.rb
49
56
  - lib/opensteam/config.rb
50
57
  - lib/opensteam/checkout.rb
51
- - lib/opensteam/cart_base.rb
52
58
  - lib/opensteam/base.rb
53
59
  - generators/opensteam_property/templates/views/admin/show.html.erb
54
60
  - generators/opensteam_property/templates/views/admin/new.html.erb
@@ -72,21 +78,55 @@ files:
72
78
  - generators/opensteam_product/templates/migration.rb
73
79
  - generators/opensteam_product/templates/controllers/product_controller.rb
74
80
  - generators/opensteam_product/opensteam_product_generator.rb
81
+ - generators/opensteam/templates/vendor/plugins/prawnto/test/template_handler_test_mocks.rb
82
+ - generators/opensteam/templates/vendor/plugins/prawnto/test/raw_template_handler_test.rb
83
+ - generators/opensteam/templates/vendor/plugins/prawnto/test/base_template_handler_test.rb
84
+ - generators/opensteam/templates/vendor/plugins/prawnto/test/action_controller_test.rb
85
+ - generators/opensteam/templates/vendor/plugins/prawnto/tasks/prawnto_tasks.rake
86
+ - generators/opensteam/templates/vendor/plugins/prawnto/README
87
+ - generators/opensteam/templates/vendor/plugins/prawnto/Rakefile
88
+ - generators/opensteam/templates/vendor/plugins/prawnto/MIT-LICENSE
89
+ - generators/opensteam/templates/vendor/plugins/prawnto/lib/prawnto.rb
90
+ - generators/opensteam/templates/vendor/plugins/prawnto/lib/prawnto/template_handler/raw.rb
91
+ - generators/opensteam/templates/vendor/plugins/prawnto/lib/prawnto/template_handler/base.rb
92
+ - generators/opensteam/templates/vendor/plugins/prawnto/lib/prawnto/action_controller.rb
93
+ - generators/opensteam/templates/vendor/plugins/prawnto/init.rb
94
+ - generators/opensteam/templates/vendor/plugins/prawnto/.gitignore
95
+ - generators/opensteam/templates/test/unit/product_test.rb
96
+ - generators/opensteam/templates/test/unit/payment_test.rb
97
+ - generators/opensteam/templates/test/unit/order_test.rb
98
+ - generators/opensteam/templates/test/unit/container_test.rb
99
+ - generators/opensteam/templates/test/test_helper.rb
100
+ - generators/opensteam/templates/test/functional/carts_controller_test.rb
101
+ - generators/opensteam/templates/test/fixtures/zones.yml
102
+ - generators/opensteam/templates/test/fixtures/users.yml
103
+ - generators/opensteam/templates/test/fixtures/tax_zones.yml
104
+ - generators/opensteam/templates/test/fixtures/tax_rules.yml
105
+ - generators/opensteam/templates/test/fixtures/tax_groups.yml
106
+ - generators/opensteam/templates/test/fixtures/shipping_rate_groups.yml
107
+ - generators/opensteam/templates/test/fixtures/shipping_payment_additions.yml
108
+ - generators/opensteam/templates/test/fixtures/region_shipping_rates.yml
75
109
  - generators/opensteam/templates/test/fixtures/properties.yml
110
+ - generators/opensteam/templates/test/fixtures/profiles.yml
76
111
  - generators/opensteam/templates/test/fixtures/product_dog_foods.yml
77
112
  - generators/opensteam/templates/test/fixtures/product_animals.yml
78
113
  - generators/opensteam/templates/test/fixtures/inventories_properties.yml
79
114
  - generators/opensteam/templates/test/fixtures/inventories.yml
115
+ - generators/opensteam/templates/test/fixtures/configurations.yml
116
+ - generators/opensteam/templates/test/fixtures/addresses.yml
80
117
  - generators/opensteam/templates/tasks/opensteam.rake
81
118
  - generators/opensteam/templates/public/stylesheets/webshop.css
82
119
  - generators/opensteam/templates/public/stylesheets/opensteam_white.css
83
120
  - generators/opensteam/templates/public/stylesheets/opensteam_newdesign.css
121
+ - generators/opensteam/templates/public/stylesheets/opensteam_admin.css
84
122
  - generators/opensteam/templates/public/javascripts/opensteam.js
85
123
  - generators/opensteam/templates/public/index.html
86
124
  - generators/opensteam/templates/public/images/zoom.png
87
125
  - generators/opensteam/templates/public/images/tick.png
88
126
  - generators/opensteam/templates/public/images/slogan.png
127
+ - generators/opensteam/templates/public/images/shader.png
89
128
  - generators/opensteam/templates/public/images/plus.png
129
+ - generators/opensteam/templates/public/images/pdf.png
90
130
  - generators/opensteam/templates/public/images/palette.png
91
131
  - generators/opensteam/templates/public/images/os_logo.gif
92
132
  - generators/opensteam/templates/public/images/opensteam_store_logo.jpg
@@ -94,6 +134,7 @@ files:
94
134
  - generators/opensteam/templates/public/images/opensteam_logo_web.jpg
95
135
  - generators/opensteam/templates/public/images/opensteam_logo_small.jpg
96
136
  - generators/opensteam/templates/public/images/opensteam_logo1.jpg
137
+ - generators/opensteam/templates/public/images/opensteam_black.jpg
97
138
  - generators/opensteam/templates/public/images/opensteam_background.jpg
98
139
  - generators/opensteam/templates/public/images/minus.png
99
140
  - generators/opensteam/templates/public/images/menu_background.jpg
@@ -122,6 +163,19 @@ files:
122
163
  - generators/opensteam/templates/lib/authentication/by_password.rb
123
164
  - generators/opensteam/templates/lib/authentication/by_cookie_token.rb
124
165
  - generators/opensteam/templates/lib/authenticated_system.rb
166
+ - generators/opensteam/templates/db/migrate/20080916135228_init_opensteam_config.rb
167
+ - generators/opensteam/templates/db/migrate/20080916135226_create_shipping_payment_additions.rb
168
+ - generators/opensteam/templates/db/migrate/20080916134523_create_shipping_rate_groups.rb
169
+ - generators/opensteam/templates/db/migrate/20080916134340_create_region_shipping_rates.rb
170
+ - generators/opensteam/templates/db/migrate/20080916102341_create_zones.rb
171
+ - generators/opensteam/templates/db/migrate/20080904133625_create_payment_transactions.rb
172
+ - generators/opensteam/templates/db/migrate/20080903131506_create_payments.rb
173
+ - generators/opensteam/templates/db/migrate/20080831181436_create_configurations.rb
174
+ - generators/opensteam/templates/db/migrate/20080812102956_create_tax_groups.rb
175
+ - generators/opensteam/templates/db/migrate/20080812102858_create_tax_rules.rb
176
+ - generators/opensteam/templates/db/migrate/20080812102727_create_tax_zones.rb
177
+ - generators/opensteam/templates/db/migrate/20080808083011_create_container_items.rb
178
+ - generators/opensteam/templates/db/migrate/20080808075247_create_containers.rb
125
179
  - generators/opensteam/templates/db/migrate/20080804152615_create_filter_entries.rb
126
180
  - generators/opensteam/templates/db/migrate/20080714131650_create_shipments.rb
127
181
  - generators/opensteam/templates/db/migrate/20080714131513_create_invoices.rb
@@ -134,12 +188,13 @@ files:
134
188
  - generators/opensteam/templates/db/migrate/20080609095728_create_order_items.rb
135
189
  - generators/opensteam/templates/db/migrate/20080609095727_create_inventories_properties.rb
136
190
  - generators/opensteam/templates/db/migrate/20080609095726_create_inventories.rb
137
- - generators/opensteam/templates/db/migrate/20080609095725_create_dummy_users.rb
138
191
  - generators/opensteam/templates/db/migrate/20080609095724_create_customers.rb
139
192
  - generators/opensteam/templates/db/migrate/20080609095723_create_addresses.rb
140
193
  - generators/opensteam/templates/db/migrate/20080609095721_create_users.rb
141
194
  - generators/opensteam/templates/db/migrate/20080609095720_create_sessions.rb
142
195
  - generators/opensteam/templates/db/migrate/20080609095714_create_profiles.rb
196
+ - generators/opensteam/templates/config/initializers/payment_process.rb
197
+ - generators/opensteam/templates/config/initializers/opensteam_security.rb
143
198
  - generators/opensteam/templates/config/initializers/opensteam_model_tables.rb
144
199
  - generators/opensteam/templates/config/initializers/opensteam.rb
145
200
  - generators/opensteam/templates/config/initializers/init_states.rb
@@ -162,33 +217,43 @@ files:
162
217
  - generators/opensteam/templates/app/views/profile/orders/show.html.erb
163
218
  - generators/opensteam/templates/app/views/profile/orders/index.html.erb
164
219
  - generators/opensteam/templates/app/views/profile/orders/_orders.html.erb
165
- - generators/opensteam/templates/app/views/profile/orders/_order_item.html.erb
166
220
  - generators/opensteam/templates/app/views/profile/orders/_order.html.erb
167
221
  - generators/opensteam/templates/app/views/profile/infos/edit_password.html.erb
168
222
  - generators/opensteam/templates/app/views/profile/infos/edit.html.erb
169
223
  - generators/opensteam/templates/app/views/profile/infos/_customer.html.erb
170
224
  - generators/opensteam/templates/app/views/profile/index.html.erb
171
225
  - generators/opensteam/templates/app/views/profile/_customer_sidebar.html.erb
226
+ - generators/opensteam/templates/app/views/payment/_direct_debit_payment_confirmation.html.erb
227
+ - generators/opensteam/templates/app/views/payment/_direct_debit_payment.html.erb
228
+ - generators/opensteam/templates/app/views/payment/_credit_card_payment_confirmation.html.erb
229
+ - generators/opensteam/templates/app/views/payment/_credit_card_payment.html.erb
230
+ - generators/opensteam/templates/app/views/payment/_advance_payment_payment.html.erb
172
231
  - generators/opensteam/templates/app/views/layouts/webshop.html.erb
173
232
  - generators/opensteam/templates/app/views/layouts/profile.html.erb
174
233
  - generators/opensteam/templates/app/views/layouts/admin.html.erb
175
234
  - generators/opensteam/templates/app/views/common/_top_links.html.erb
176
235
  - generators/opensteam/templates/app/views/common/_signup_fields.html.erb
177
236
  - generators/opensteam/templates/app/views/common/_header_flash.html.erb
237
+ - generators/opensteam/templates/app/views/common/_header_admin.html.erb
178
238
  - generators/opensteam/templates/app/views/common/_header.html.erb
179
239
  - generators/opensteam/templates/app/views/common/_footer.html.erb
180
240
  - generators/opensteam/templates/app/views/common/_cart_content.html.erb
181
241
  - generators/opensteam/templates/app/views/common/_cart.html.erb
182
- - generators/opensteam/templates/app/views/checkout/update_cart_content.rjs
183
- - generators/opensteam/templates/app/views/checkout/show_cart.html.erb
184
- - generators/opensteam/templates/app/views/checkout/shipping.html.erb
185
- - generators/opensteam/templates/app/views/checkout/payment.html.erb
242
+ - generators/opensteam/templates/app/views/checkout/show.html.erb
186
243
  - generators/opensteam/templates/app/views/checkout/outro.html.erb
244
+ - generators/opensteam/templates/app/views/checkout/new.html.erb
187
245
  - generators/opensteam/templates/app/views/checkout/intro.html.erb
188
- - generators/opensteam/templates/app/views/cart/update.rjs
189
- - generators/opensteam/templates/app/views/cart/index.html.erb
190
- - generators/opensteam/templates/app/views/cart/_cart_content.html.erb
191
- - generators/opensteam/templates/app/views/cart/_cart.html.erb
246
+ - generators/opensteam/templates/app/views/checkout/edit.html.erb
247
+ - generators/opensteam/templates/app/views/checkout/_shipping_buttons.html.erb
248
+ - generators/opensteam/templates/app/views/checkout/_new_checkout.html.erb
249
+ - generators/opensteam/templates/app/views/checkout/_edit_checkout.html.erb
250
+ - generators/opensteam/templates/app/views/checkout/_customer.html.erb
251
+ - generators/opensteam/templates/app/views/checkout/_address.html.erb
252
+ - generators/opensteam/templates/app/views/carts/update.rjs
253
+ - generators/opensteam/templates/app/views/carts/index.html.erb
254
+ - generators/opensteam/templates/app/views/carts/create.rjs
255
+ - generators/opensteam/templates/app/views/carts/_cart_content.html.erb
256
+ - generators/opensteam/templates/app/views/carts/_cart.html.erb
192
257
  - generators/opensteam/templates/app/views/administration_mailer/order_customer.erb
193
258
  - generators/opensteam/templates/app/views/administration_mailer/order_admin.erb
194
259
  - generators/opensteam/templates/app/views/admin/users.html.erb
@@ -204,6 +269,28 @@ files:
204
269
  - generators/opensteam/templates/app/views/admin/users/_customer.html.erb
205
270
  - generators/opensteam/templates/app/views/admin/users/_admins_header.html.erb
206
271
  - generators/opensteam/templates/app/views/admin/users/_admins.html.erb
272
+ - generators/opensteam/templates/app/views/admin/tax_zones/show.html.erb
273
+ - generators/opensteam/templates/app/views/admin/tax_zones/new.html.erb
274
+ - generators/opensteam/templates/app/views/admin/tax_zones/index.html.erb
275
+ - generators/opensteam/templates/app/views/admin/tax_zones/edit.html.erb
276
+ - generators/opensteam/templates/app/views/admin/tax_zones/_tax_zones.html.erb
277
+ - generators/opensteam/templates/app/views/admin/tax_zones/_tax_zone_row.html.erb
278
+ - generators/opensteam/templates/app/views/admin/tax_zones/_attributes.html.erb
279
+ - generators/opensteam/templates/app/views/admin/tax_groups/show.html.erb
280
+ - generators/opensteam/templates/app/views/admin/tax_groups/new.html.erb
281
+ - generators/opensteam/templates/app/views/admin/tax_groups/index.html.erb
282
+ - generators/opensteam/templates/app/views/admin/tax_groups/edit.html.erb
283
+ - generators/opensteam/templates/app/views/admin/tax_groups/_tax_rule.html.erb
284
+ - generators/opensteam/templates/app/views/admin/tax_groups/_tax_groups_row.html.erb
285
+ - generators/opensteam/templates/app/views/admin/tax_groups/_tax_groups.html.erb
286
+ - generators/opensteam/templates/app/views/admin/tax_groups/_attributes.html.erb
287
+ - generators/opensteam/templates/app/views/admin/system.html.erb
288
+ - generators/opensteam/templates/app/views/admin/shipping_rate_groups/show.html.erb
289
+ - generators/opensteam/templates/app/views/admin/shipping_rate_groups/new.html.erb
290
+ - generators/opensteam/templates/app/views/admin/shipping_rate_groups/index.html.erb
291
+ - generators/opensteam/templates/app/views/admin/shipping_rate_groups/edit.html.erb
292
+ - generators/opensteam/templates/app/views/admin/shipping_rate_groups/_rate.html.erb
293
+ - generators/opensteam/templates/app/views/admin/shipping_rate_groups/_payment_addition.html.erb
207
294
  - generators/opensteam/templates/app/views/admin/shipments/show.html.erb
208
295
  - generators/opensteam/templates/app/views/admin/shipments/new.html.erb
209
296
  - generators/opensteam/templates/app/views/admin/shipments/index.html.erb
@@ -212,17 +299,24 @@ files:
212
299
  - generators/opensteam/templates/app/views/admin/sales.html.erb
213
300
  - generators/opensteam/templates/app/views/admin/properties.html.erb
214
301
  - generators/opensteam/templates/app/views/admin/products.html.erb
302
+ - generators/opensteam/templates/app/views/admin/payments/_direct_debit_payment.html.erb
303
+ - generators/opensteam/templates/app/views/admin/payments/_credit_card_payment_info.html.erb
304
+ - generators/opensteam/templates/app/views/admin/payments/_credit_card_payment.html.erb
305
+ - generators/opensteam/templates/app/views/admin/payment_types.html.erb
215
306
  - generators/opensteam/templates/app/views/admin/orders/show.html.erb
216
307
  - generators/opensteam/templates/app/views/admin/orders/livesearch.rjs
217
308
  - generators/opensteam/templates/app/views/admin/orders/index.html.erb
218
309
  - generators/opensteam/templates/app/views/admin/orders/_orders.html.erb
219
- - generators/opensteam/templates/app/views/admin/orders/_order_item.html.erb
220
310
  - generators/opensteam/templates/app/views/admin/orders/_order.html.erb
221
- - generators/opensteam/templates/app/views/admin/orders/_event.html.erb
311
+ - generators/opensteam/templates/app/views/admin/order_items/_items_table.html.erb
312
+ - generators/opensteam/templates/app/views/admin/order_items/_item_entry.html.erb
313
+ - generators/opensteam/templates/app/views/admin/order_config.html.erb
314
+ - generators/opensteam/templates/app/views/admin/invoices/show.pdf.prawn
222
315
  - generators/opensteam/templates/app/views/admin/invoices/show.html.erb
223
316
  - generators/opensteam/templates/app/views/admin/invoices/new.html.erb
224
317
  - generators/opensteam/templates/app/views/admin/invoices/index.html.erb
225
318
  - generators/opensteam/templates/app/views/admin/invoices/_invoices.html.erb
319
+ - generators/opensteam/templates/app/views/admin/invoices/_invoice_fields.html.erb
226
320
  - generators/opensteam/templates/app/views/admin/invoices/_invoice.html.erb
227
321
  - generators/opensteam/templates/app/views/admin/inventories/show.html.erb
228
322
  - generators/opensteam/templates/app/views/admin/inventories/new.html.erb
@@ -232,13 +326,20 @@ files:
232
326
  - generators/opensteam/templates/app/views/admin/filters/_filter_fields.html.erb
233
327
  - generators/opensteam/templates/app/views/admin/filters/_filter_entry.html.erb
234
328
  - generators/opensteam/templates/app/views/admin/filters/_filter.html.erb
329
+ - generators/opensteam/templates/app/views/admin/configurations/show.html.erb
330
+ - generators/opensteam/templates/app/views/admin/configurations/new.html.erb
331
+ - generators/opensteam/templates/app/views/admin/configurations/index.html.erb
332
+ - generators/opensteam/templates/app/views/admin/configurations/edit.html.erb
235
333
  - generators/opensteam/templates/app/views/admin/catalog.html.erb
236
334
  - generators/opensteam/templates/app/views/admin/_nav.html.erb
335
+ - generators/opensteam/templates/app/views/admin/_menu.html.erb
237
336
  - generators/opensteam/templates/app/views/admin/_address.html.erb
337
+ - generators/opensteam/templates/app/models/zone.rb
238
338
  - generators/opensteam/templates/app/models/search.rb
239
339
  - generators/opensteam/templates/app/models/filter_entry.rb
240
340
  - generators/opensteam/templates/app/helpers/webshop_helper.rb
241
341
  - generators/opensteam/templates/app/helpers/users_helper.rb
342
+ - generators/opensteam/templates/app/helpers/checkout_helper.rb
242
343
  - generators/opensteam/templates/app/helpers/admin_helper.rb
243
344
  - generators/opensteam/templates/app/controllers/webshop_controller.rb
244
345
  - generators/opensteam/templates/app/controllers/users_controller.rb
@@ -248,14 +349,19 @@ files:
248
349
  - generators/opensteam/templates/app/controllers/profile/orders_controller.rb
249
350
  - generators/opensteam/templates/app/controllers/profile/infos_controller.rb
250
351
  - generators/opensteam/templates/app/controllers/checkout_controller.rb
251
- - generators/opensteam/templates/app/controllers/cart_controller.rb
352
+ - generators/opensteam/templates/app/controllers/carts_controller.rb
252
353
  - generators/opensteam/templates/app/controllers/admin_controller.rb
253
354
  - generators/opensteam/templates/app/controllers/admin/users_controller.rb
355
+ - generators/opensteam/templates/app/controllers/admin/tax_zones_controller.rb
356
+ - generators/opensteam/templates/app/controllers/admin/tax_rules_controller.rb
357
+ - generators/opensteam/templates/app/controllers/admin/tax_groups_controller.rb
358
+ - generators/opensteam/templates/app/controllers/admin/shipping_rate_groups_controller.rb
254
359
  - generators/opensteam/templates/app/controllers/admin/shipments_controller.rb
255
360
  - generators/opensteam/templates/app/controllers/admin/search_controller.rb
256
361
  - generators/opensteam/templates/app/controllers/admin/orders_controller.rb
257
362
  - generators/opensteam/templates/app/controllers/admin/invoices_controller.rb
258
363
  - generators/opensteam/templates/app/controllers/admin/inventories_controller.rb
364
+ - generators/opensteam/templates/app/controllers/admin/configurations_controller.rb
259
365
  - generators/opensteam/opensteam_generator.rb
260
366
  - CHANGELOG
261
367
  has_rdoc: true