opensteam 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (265) hide show
  1. data/CHANGELOG +78 -0
  2. data/LICENSE +345 -0
  3. data/{README.txt → README.rdoc} +20 -17
  4. data/Rakefile +40 -0
  5. data/generators/opensteam/opensteam_generator.rb +95 -194
  6. data/generators/opensteam/templates/{controllers/administration → app/controllers/admin}/inventories_controller.rb +4 -4
  7. data/generators/opensteam/templates/app/controllers/admin/invoices_controller.rb +106 -0
  8. data/generators/opensteam/templates/app/controllers/admin/orders_controller.rb +113 -0
  9. data/generators/opensteam/templates/app/controllers/admin/search_controller.rb +17 -0
  10. data/generators/opensteam/templates/app/controllers/admin/shipments_controller.rb +106 -0
  11. data/generators/opensteam/templates/app/controllers/admin/users_controller.rb +99 -0
  12. data/generators/opensteam/templates/app/controllers/admin_controller.rb +40 -0
  13. data/generators/opensteam/templates/app/controllers/cart_controller.rb +94 -0
  14. data/generators/opensteam/templates/app/controllers/checkout_controller.rb +139 -0
  15. data/generators/opensteam/templates/app/controllers/profile/infos_controller.rb +52 -0
  16. data/generators/opensteam/templates/app/controllers/profile/orders_controller.rb +105 -0
  17. data/generators/opensteam/templates/app/controllers/profile_controller.rb +37 -0
  18. data/generators/opensteam/templates/app/controllers/searches_controller.rb +23 -0
  19. data/generators/opensteam/templates/app/controllers/user_sessions_controller.rb +38 -0
  20. data/generators/opensteam/templates/app/controllers/users_controller.rb +40 -0
  21. data/generators/opensteam/templates/{controllers → app/controllers}/webshop_controller.rb +35 -13
  22. data/generators/opensteam/templates/app/helpers/admin_helper.rb +40 -0
  23. data/generators/opensteam/templates/app/helpers/users_helper.rb +53 -0
  24. data/generators/opensteam/templates/app/helpers/webshop_helper.rb +91 -0
  25. data/generators/opensteam/templates/app/models/search.rb +36 -0
  26. data/generators/opensteam/templates/{views/administration → app/views/admin}/_address.html.erb +0 -0
  27. data/generators/opensteam/templates/app/views/admin/_nav.html.erb +5 -0
  28. data/generators/opensteam/templates/app/views/admin/catalog.html.erb +5 -0
  29. data/generators/opensteam/templates/app/views/admin/index.html.erb +21 -0
  30. data/generators/opensteam/templates/{views/administration → app/views/admin}/inventories/edit.html.erb +10 -9
  31. data/generators/opensteam/templates/{views/administration → app/views/admin}/inventories/index.html.erb +3 -3
  32. data/generators/opensteam/templates/{views/administration → app/views/admin}/inventories/new.html.erb +3 -3
  33. data/generators/opensteam/templates/app/views/admin/inventories/show.html.erb +46 -0
  34. data/generators/opensteam/templates/app/views/admin/invoices/_invoice.html.erb +12 -0
  35. data/generators/opensteam/templates/app/views/admin/invoices/_invoices.html.erb +11 -0
  36. data/generators/opensteam/templates/app/views/admin/invoices/index.html.erb +6 -0
  37. data/generators/opensteam/templates/app/views/admin/invoices/new.html.erb +54 -0
  38. data/generators/opensteam/templates/app/views/admin/invoices/show.html.erb +55 -0
  39. data/generators/opensteam/templates/app/views/admin/orders/_event.html.erb +5 -0
  40. data/generators/opensteam/templates/app/views/admin/orders/_order.html.erb +11 -0
  41. data/generators/opensteam/templates/app/views/admin/orders/_order_item.html.erb +10 -0
  42. data/generators/opensteam/templates/app/views/admin/orders/_orders.html.erb +19 -0
  43. data/generators/opensteam/templates/app/views/admin/orders/index.html.erb +14 -0
  44. data/generators/opensteam/templates/app/views/admin/orders/livesearch.rjs +6 -0
  45. data/generators/opensteam/templates/app/views/admin/orders/show.html.erb +58 -0
  46. data/generators/opensteam/templates/app/views/admin/products.html.erb +8 -0
  47. data/generators/opensteam/templates/app/views/admin/properties.html.erb +7 -0
  48. data/generators/opensteam/templates/app/views/admin/sales.html.erb +5 -0
  49. data/generators/opensteam/templates/app/views/admin/shipments/_shipment.erb +11 -0
  50. data/generators/opensteam/templates/app/views/admin/shipments/_shipments.html.erb +11 -0
  51. data/generators/opensteam/templates/app/views/admin/shipments/index.html.erb +6 -0
  52. data/generators/opensteam/templates/app/views/admin/shipments/new.html.erb +51 -0
  53. data/generators/opensteam/templates/app/views/admin/shipments/show.html.erb +55 -0
  54. data/generators/opensteam/templates/app/views/admin/users/_admins.html.erb +26 -0
  55. data/generators/opensteam/templates/app/views/admin/users/_admins_header.html.erb +10 -0
  56. data/generators/opensteam/templates/app/views/admin/users/_customer.html.erb +32 -0
  57. data/generators/opensteam/templates/app/views/admin/users/_customers.html.erb +29 -0
  58. data/generators/opensteam/templates/app/views/admin/users/_customers_header.html.erb +11 -0
  59. data/generators/opensteam/templates/app/views/admin/users/_user_fields.html.erb +9 -0
  60. data/generators/opensteam/templates/app/views/admin/users/_users.html.erb +29 -0
  61. data/generators/opensteam/templates/app/views/admin/users/_users_header.html.erb +11 -0
  62. data/generators/opensteam/templates/app/views/admin/users/edit.html.erb +6 -0
  63. data/generators/opensteam/templates/app/views/admin/users/index.html.erb +7 -0
  64. data/generators/opensteam/templates/app/views/admin/users/new.html.erb +6 -0
  65. data/generators/opensteam/templates/app/views/admin/users/show.html.erb +34 -0
  66. data/generators/opensteam/templates/app/views/admin/users.html.erb +4 -0
  67. data/generators/opensteam/templates/{views → app/views}/administration_mailer/order_admin.erb +0 -0
  68. data/generators/opensteam/templates/{views → app/views}/administration_mailer/order_customer.erb +0 -0
  69. data/generators/opensteam/templates/app/views/cart/_cart.html.erb +8 -0
  70. data/generators/opensteam/templates/{views/webshop → app/views/cart}/_cart_content.html.erb +7 -10
  71. data/generators/opensteam/templates/app/views/cart/index.html.erb +5 -0
  72. data/generators/opensteam/templates/app/views/cart/update.rjs +1 -0
  73. data/generators/opensteam/templates/app/views/checkout/intro.html.erb +18 -0
  74. data/generators/opensteam/templates/{views → app/views}/checkout/outro.html.erb +0 -1
  75. data/generators/opensteam/templates/{views → app/views}/checkout/payment.html.erb +0 -0
  76. data/generators/opensteam/templates/app/views/checkout/shipping.html.erb +45 -0
  77. data/generators/opensteam/templates/app/views/checkout/show_cart.html.erb +13 -0
  78. data/generators/opensteam/templates/{views → app/views}/checkout/update_cart_content.rjs +0 -0
  79. data/generators/opensteam/templates/{views → app/views}/common/_cart.html.erb +2 -2
  80. data/generators/opensteam/templates/{views → app/views}/common/_cart_content.html.erb +1 -1
  81. data/generators/opensteam/templates/app/views/common/_footer.html.erb +1 -0
  82. data/generators/opensteam/templates/app/views/common/_header.html.erb +4 -0
  83. data/generators/opensteam/templates/app/views/common/_header_flash.html.erb +3 -0
  84. data/generators/opensteam/templates/app/views/common/_signup_fields.html.erb +16 -0
  85. data/generators/opensteam/templates/app/views/common/_top_links.html.erb +10 -0
  86. data/generators/opensteam/templates/app/views/layouts/admin.html.erb +45 -0
  87. data/generators/opensteam/templates/app/views/layouts/profile.html.erb +45 -0
  88. data/generators/opensteam/templates/app/views/layouts/webshop.html.erb +51 -0
  89. data/generators/opensteam/templates/app/views/profile/_customer_sidebar.html.erb +12 -0
  90. data/generators/opensteam/templates/app/views/profile/index.html.erb +11 -0
  91. data/generators/opensteam/templates/app/views/profile/infos/_customer.html.erb +5 -0
  92. data/generators/opensteam/templates/app/views/profile/infos/edit.html.erb +25 -0
  93. data/generators/opensteam/templates/app/views/profile/infos/edit_password.html.erb +26 -0
  94. data/generators/opensteam/templates/app/views/profile/orders/_order.html.erb +11 -0
  95. data/generators/opensteam/templates/app/views/profile/orders/_order_item.html.erb +10 -0
  96. data/generators/opensteam/templates/app/views/profile/orders/_orders.html.erb +19 -0
  97. data/generators/opensteam/templates/app/views/profile/orders/index.html.erb +14 -0
  98. data/generators/opensteam/templates/app/views/profile/orders/show.html.erb +48 -0
  99. data/generators/opensteam/templates/app/views/searches/_search_bar.html.erb +5 -0
  100. data/generators/opensteam/templates/app/views/searches/new.html.erb +23 -0
  101. data/generators/opensteam/templates/app/views/searches/show.html.erb +1 -0
  102. data/generators/opensteam/templates/app/views/user_sessions/new.html.erb +14 -0
  103. data/generators/opensteam/templates/app/views/users/_user_bar.html.erb +5 -0
  104. data/generators/opensteam/templates/app/views/users/index.html.erb +27 -0
  105. data/generators/opensteam/templates/app/views/users/new.html.erb +7 -0
  106. data/generators/opensteam/templates/app/views/users/show.html.erb +5 -0
  107. data/generators/opensteam/templates/{views → app/views}/webshop/_inventory_content.html.erb +0 -0
  108. data/generators/opensteam/templates/app/views/webshop/_nav.html.erb +6 -0
  109. data/generators/opensteam/templates/{views → app/views}/webshop/add_inventory_to_cart.rjs +0 -0
  110. data/generators/opensteam/templates/{views → app/views}/webshop/add_to_cart_with_parameters.rjs +0 -0
  111. data/generators/opensteam/templates/{views → app/views}/webshop/del_item.rjs +0 -0
  112. data/generators/opensteam/templates/app/views/webshop/index.html.erb +11 -0
  113. data/generators/opensteam/templates/{views → app/views}/webshop/inventory.rjs +0 -0
  114. data/generators/opensteam/templates/{views → app/views}/webshop/show.html.erb +15 -15
  115. data/generators/opensteam/templates/config/initializers/init_states.rb +68 -0
  116. data/generators/opensteam/templates/{init → config/initializers}/opensteam.rb +6 -0
  117. data/generators/opensteam/templates/config/initializers/opensteam_model_tables.rb +57 -0
  118. data/generators/opensteam/templates/db/migrate/20080609095714_create_profiles.rb +14 -0
  119. data/generators/opensteam/templates/{migrations/create_sessions.rb → db/migrate/20080609095720_create_sessions.rb} +0 -0
  120. data/generators/opensteam/templates/db/migrate/20080609095721_create_users.rb +29 -0
  121. data/generators/opensteam/templates/{migrations/create_addresses.rb → db/migrate/20080609095723_create_addresses.rb} +0 -0
  122. data/generators/opensteam/templates/{migrations/create_customers.rb → db/migrate/20080609095724_create_customers.rb} +0 -0
  123. data/generators/opensteam/templates/db/migrate/20080609095725_create_dummy_users.rb +21 -0
  124. data/generators/opensteam/templates/{migrations/create_inventories.rb → db/migrate/20080609095726_create_inventories.rb} +0 -0
  125. data/generators/opensteam/templates/{migrations/create_inventories_properties.rb → db/migrate/20080609095727_create_inventories_properties.rb} +0 -0
  126. data/generators/opensteam/templates/{migrations/create_order_items.rb → db/migrate/20080609095728_create_order_items.rb} +5 -0
  127. data/generators/opensteam/templates/db/migrate/20080609095729_create_orders.rb +32 -0
  128. data/generators/opensteam/templates/{migrations/create_payment_types.rb → db/migrate/20080609095730_create_payment_types.rb} +0 -0
  129. data/generators/opensteam/templates/{migrations/create_properties.rb → db/migrate/20080609095731_create_properties.rb} +0 -0
  130. data/generators/opensteam/templates/db/migrate/20080623075613_create_states.rb +13 -0
  131. data/generators/opensteam/templates/db/migrate/20080624132807_create_searches.rb +20 -0
  132. data/generators/opensteam/templates/db/migrate/20080630114155_create_state_histories.rb +14 -0
  133. data/generators/opensteam/templates/db/migrate/20080714131513_create_invoices.rb +20 -0
  134. data/generators/opensteam/templates/db/migrate/20080714131650_create_shipments.rb +19 -0
  135. data/generators/opensteam/templates/lib/authenticated_system.rb +201 -0
  136. data/generators/opensteam/templates/lib/authentication/by_cookie_token.rb +90 -0
  137. data/generators/opensteam/templates/lib/authentication/by_password.rb +68 -0
  138. data/generators/opensteam/templates/lib/authentication.rb +46 -0
  139. data/generators/opensteam/templates/lib/states/invoice/finished.rb +6 -0
  140. data/generators/opensteam/templates/lib/states/invoice/payment_received.rb +8 -0
  141. data/generators/opensteam/templates/lib/states/invoice/pending.rb +6 -0
  142. data/generators/opensteam/templates/lib/states/invoice/waiting_for_payment.rb +5 -0
  143. data/generators/opensteam/templates/lib/states/order/finished.rb +6 -0
  144. data/generators/opensteam/templates/lib/states/order/pending.rb +19 -0
  145. data/generators/opensteam/templates/lib/states/order/processing.rb +11 -0
  146. data/generators/opensteam/templates/lib/states/shipment/finished.rb +6 -0
  147. data/generators/opensteam/templates/lib/states/shipment/pending.rb +5 -0
  148. data/generators/opensteam/templates/lib/tasks/opensteam.rake +114 -0
  149. data/generators/opensteam/templates/public/images/athmo_background.jpg +0 -0
  150. data/generators/opensteam/templates/public/images/bg.jpg +0 -0
  151. data/generators/opensteam/templates/public/images/cart_big.gif +0 -0
  152. data/generators/opensteam/templates/public/images/cross.png +0 -0
  153. data/generators/opensteam/templates/public/images/enter.gif +0 -0
  154. data/generators/opensteam/templates/public/images/menu_background.jpg +0 -0
  155. data/generators/opensteam/templates/public/images/opensteam_background.jpg +0 -0
  156. data/generators/opensteam/templates/public/images/opensteam_logo1.jpg +0 -0
  157. data/generators/opensteam/templates/public/images/opensteam_petstore_logo1.jpg +0 -0
  158. data/generators/opensteam/templates/public/images/opensteam_store_logo.jpg +0 -0
  159. data/generators/opensteam/templates/public/images/os_logo.gif +0 -0
  160. data/generators/opensteam/templates/public/images/slogan.png +0 -0
  161. data/generators/opensteam/templates/public/images/tick.png +0 -0
  162. data/generators/opensteam/templates/public/images/zoom.png +0 -0
  163. data/generators/opensteam/templates/public/index.html +19 -36
  164. data/generators/opensteam/templates/public/javascripts/opensteam.js +30 -0
  165. data/generators/opensteam/templates/public/stylesheets/opensteam_newdesign.css +188 -0
  166. data/generators/opensteam/templates/public/stylesheets/opensteam_white.css +168 -0
  167. data/generators/opensteam/templates/public/stylesheets/webshop.css +0 -1
  168. data/generators/opensteam/templates/tasks/opensteam.rake +1 -1
  169. data/generators/opensteam/templates/{fixtures → test/fixtures}/inventories.yml +0 -0
  170. data/generators/opensteam/templates/{fixtures → test/fixtures}/inventories_properties.yml +0 -0
  171. data/generators/opensteam/templates/{fixtures → test/fixtures}/product_animals.yml +0 -0
  172. data/generators/opensteam/templates/{fixtures → test/fixtures}/product_dog_foods.yml +0 -0
  173. data/generators/opensteam/templates/{fixtures → test/fixtures}/properties.yml +0 -0
  174. data/generators/opensteam_product/opensteam_product_generator.rb +25 -9
  175. data/generators/opensteam_product/templates/controllers/product_controller.rb +5 -4
  176. data/generators/opensteam_product/templates/migration.rb +2 -1
  177. data/generators/opensteam_product/templates/models/product.rb +1 -0
  178. data/generators/opensteam_product/templates/views/{administration → admin}/_attributes.html.erb +1 -1
  179. data/generators/opensteam_product/templates/views/{administration → admin}/_get_products.html.erb +0 -0
  180. data/generators/opensteam_product/templates/views/{administration → admin}/_inventories.html.erb +2 -2
  181. data/generators/opensteam_product/templates/views/admin/edit.html.erb +13 -0
  182. data/generators/opensteam_product/templates/views/{administration → admin}/index.html.erb +5 -5
  183. data/generators/opensteam_product/templates/views/admin/new.html.erb +16 -0
  184. data/generators/opensteam_product/templates/views/{administration → admin}/show.html.erb +2 -2
  185. data/generators/opensteam_property/opensteam_property_generator.rb +8 -8
  186. data/generators/opensteam_property/templates/controllers/property_controller.rb +6 -4
  187. data/generators/opensteam_property/templates/migration.rb +2 -1
  188. data/generators/opensteam_property/templates/models/property.rb +1 -0
  189. data/generators/opensteam_property/templates/views/{administration → admin}/edit.html.erb +3 -3
  190. data/generators/opensteam_property/templates/views/admin/index.html.erb +24 -0
  191. data/generators/opensteam_property/templates/views/{administration → admin}/new.html.erb +2 -2
  192. data/generators/opensteam_property/templates/views/admin/show.html.erb +10 -0
  193. data/lib/opensteam/base.rb +16 -0
  194. data/lib/opensteam/cart_base.rb +227 -0
  195. data/lib/opensteam/checkout.rb +30 -3
  196. data/lib/opensteam/config.rb +37 -0
  197. data/lib/opensteam/extension_base.rb +76 -0
  198. data/lib/opensteam/finder.rb +36 -5
  199. data/lib/opensteam/helper/configurable_table.rb +228 -0
  200. data/lib/opensteam/history.rb +56 -0
  201. data/lib/opensteam/initializer.rb +127 -0
  202. data/lib/opensteam/inventory_base.rb +24 -1
  203. data/lib/opensteam/invoice_base.rb +61 -0
  204. data/lib/opensteam/order_base.rb +105 -14
  205. data/lib/opensteam/product_base.rb +31 -3
  206. data/lib/opensteam/property_base.rb +16 -0
  207. data/lib/opensteam/shipment_base.rb +60 -0
  208. data/lib/opensteam/shopping_cart.rb +32 -14
  209. data/lib/opensteam/state_logic.rb +218 -0
  210. data/lib/opensteam/state_machine.rb +216 -0
  211. data/lib/opensteam/user_base.rb +115 -131
  212. data/lib/opensteam/version.rb +17 -1
  213. data/lib/opensteam.rb +30 -35
  214. metadata +245 -146
  215. data/History.txt +0 -0
  216. data/License.txt +0 -4
  217. data/Manifest.txt +0 -131
  218. data/Manifest.txt.bak +0 -132
  219. data/generators/opensteam/templates/controllers/administration/customers_controller.rb +0 -23
  220. data/generators/opensteam/templates/controllers/administration/orders_controller.rb +0 -61
  221. data/generators/opensteam/templates/controllers/administration_controller.rb +0 -80
  222. data/generators/opensteam/templates/controllers/checkout_controller.rb +0 -142
  223. data/generators/opensteam/templates/helpers/webshop_helper.rb +0 -29
  224. data/generators/opensteam/templates/migrations/create_dummy_users.rb +0 -16
  225. data/generators/opensteam/templates/migrations/create_orders.rb +0 -18
  226. data/generators/opensteam/templates/migrations/create_users.rb +0 -19
  227. data/generators/opensteam/templates/models/administration_mailer.rb +0 -18
  228. data/generators/opensteam/templates/models/inventories_property.rb +0 -10
  229. data/generators/opensteam/templates/models/inventory.rb +0 -57
  230. data/generators/opensteam/templates/public/images/rails.png +0 -0
  231. data/generators/opensteam/templates/views/administration/_nav.html.erb +0 -11
  232. data/generators/opensteam/templates/views/administration/_update_tree.html.erb +0 -18
  233. data/generators/opensteam/templates/views/administration/admin_info.html.erb +0 -12
  234. data/generators/opensteam/templates/views/administration/customers/index.html.erb +0 -27
  235. data/generators/opensteam/templates/views/administration/customers/show.html.erb +0 -27
  236. data/generators/opensteam/templates/views/administration/customers.html.erb +0 -44
  237. data/generators/opensteam/templates/views/administration/index.html.erb +0 -9
  238. data/generators/opensteam/templates/views/administration/inventories/show.html.erb +0 -45
  239. data/generators/opensteam/templates/views/administration/login.html.erb +0 -16
  240. data/generators/opensteam/templates/views/administration/order.html.erb +0 -22
  241. data/generators/opensteam/templates/views/administration/orders/_order_item.html.erb +0 -22
  242. data/generators/opensteam/templates/views/administration/orders/index.html.erb +0 -32
  243. data/generators/opensteam/templates/views/administration/orders/show.html.erb +0 -25
  244. data/generators/opensteam/templates/views/administration/orders.html.erb +0 -32
  245. data/generators/opensteam/templates/views/administration/products.html.erb +0 -7
  246. data/generators/opensteam/templates/views/administration/properties.html.erb +0 -7
  247. data/generators/opensteam/templates/views/administration/show_order_item.html.erb +0 -5
  248. data/generators/opensteam/templates/views/administration/signup.html.erb +0 -65
  249. data/generators/opensteam/templates/views/administration/tree.html.erb +0 -15
  250. data/generators/opensteam/templates/views/administration/update_products.html.erb +0 -5
  251. data/generators/opensteam/templates/views/administration/update_properties.html.erb +0 -5
  252. data/generators/opensteam/templates/views/administration/update_tree.rjs +0 -3
  253. data/generators/opensteam/templates/views/checkout/intro.html.erb +0 -5
  254. data/generators/opensteam/templates/views/checkout/shipping.html.erb +0 -39
  255. data/generators/opensteam/templates/views/checkout/show_cart.html.erb +0 -13
  256. data/generators/opensteam/templates/views/common/_header.html.erb +0 -15
  257. data/generators/opensteam/templates/views/layouts/administration.html.erb +0 -29
  258. data/generators/opensteam/templates/views/layouts/webshop.html.erb +0 -36
  259. data/generators/opensteam/templates/views/webshop/_cart.html.erb +0 -11
  260. data/generators/opensteam/templates/views/webshop/_header.html.erb +0 -15
  261. data/generators/opensteam/templates/views/webshop/index.html.erb +0 -12
  262. data/generators/opensteam_product/templates/views/administration/edit.html.erb +0 -13
  263. data/generators/opensteam_product/templates/views/administration/new.html.erb +0 -16
  264. data/generators/opensteam_property/templates/views/administration/index.html.erb +0 -24
  265. data/generators/opensteam_property/templates/views/administration/show.html.erb +0 -10
@@ -0,0 +1,55 @@
1
+ <% content_for :admin_sidebar do %>
2
+ <% admin_sidebar_links do %>
3
+ <%= admin_sidebar_link "Show Order", admin_order_path( @invoice.order ) %>
4
+ <%= admin_sidebar_link "Show Order Shipments", admin_order_shipments_path( @order ) %>
5
+ <%= admin_sidebar_link "Show Order Invoices", admin_order_invoices_path( @order ) %>
6
+ <% end %>
7
+ <% end %>
8
+
9
+ <h2>Shipment # <%= @invoice.id %></h2>
10
+ <div id="invoice_information">
11
+
12
+ <p>
13
+ <b>State</b>:
14
+ <%- form_for :invoice, @invoice, :url => { :action => 'update', :controller => 'invoices' }, :html => { :method => 'put' } do |f| -%>
15
+ <%= f.select :state, Invoice.available_states.collect(&:name).collect(&:to_s) %>
16
+ <%= submit_tag "update" %>
17
+ <%- end -%>
18
+ </p>
19
+ <p>
20
+ <b>CreatedAt</b>: <%=h @invoice.created_at %>
21
+ </p>
22
+ <p>
23
+ <b>UpdatedAt</b>: <%=h @invoice.updated_at %>
24
+ </p>
25
+ <p>
26
+ <b>Sent to:</b><br />
27
+ <%= render :partial => "admin/address", :object => @invoice.address %>
28
+ </p>
29
+ <p>
30
+ <b>Comment</b>: <%=h @invoice.comment %>
31
+ </p>
32
+ </div>
33
+ <div id="invoice_order_items">
34
+ <p>
35
+ <b>OrderItems</b>
36
+ <br />
37
+ <ul>
38
+ <% for oi in @invoice.order_items %>
39
+ <li> <%=h oi.inventory.product.name %> (<%=h oi.inventory.product.class %>)
40
+ | <%- unless oi.inventory.properties.empty? -%><b>Configuration:</b> <%=h oi.inventory.properties.collect(&:name) * "," %><%- end -%>
41
+ | <%=h oi.quantity %> | <%=h oi.quantity * oi.inventory.price %></li>
42
+ <% end %>
43
+ </ul>
44
+ </p>
45
+ </div>
46
+
47
+ <div id="invoice_history" class="sub_content_box" style="">
48
+ <h3>History</h3>
49
+ <ul>
50
+ <% for h in @invoice.history %>
51
+ <li><%=h h.message %> (<%=h ordinalized_time( h.created_at ) %>)</li>
52
+ <% end %>
53
+ </ul>
54
+
55
+ </div>
@@ -0,0 +1,5 @@
1
+
2
+ <%= f.radio_button :event, event %> <%= f.label event %>
3
+
4
+
5
+
@@ -0,0 +1,11 @@
1
+ <tr class="<%= cycle('odd','even') %>">
2
+ <td><%=h order.id %></td>
3
+ <td><%=h order.order_items.size %></td>
4
+ <td><%= link_to order.customer.email, admin_user_path( order.customer ) %></td>
5
+ <td><%=h order.shipping_address.to_s %></td>
6
+ <td><%=h order.shipping_address.to_s %></td>
7
+ <td><%=h order.state %></td>
8
+ <td><%=h ordinalized_time order.created_at %></td>
9
+ <td><%=h ordinalized_time order.updated_at %></td>
10
+ <td><%= link_to "show", admin_order_path( order ) %></td>
11
+ </tr>
@@ -0,0 +1,10 @@
1
+ <div class="order_item" style="padding-left:1em;border-bottom:1px dotted black;">
2
+ <b>Product:</b> <%=h order_item.inventory.product.name %> (<%=h order_item.inventory.product.class %>)<br />
3
+ <%- unless order_item.inventory.properties.empty? -%><b>Configuration:</b> <%=h order_item.inventory.properties.collect(&:name) * "," %><br /> <%- end -%>
4
+ <b>Quantity:</b> <%=h order_item.quantity %><br />
5
+ <b>Price:</b> <%=h order_item.quantity * order_item.inventory.price %><br />
6
+ </div>
7
+
8
+
9
+
10
+
@@ -0,0 +1,19 @@
1
+
2
+ <%= text_field_tag( :livesearch ) %>
3
+ <% render_configured_table :order do %>
4
+ <%= render_configured_table_header :order do |column|
5
+ url = { :controller =>"admin/orders", :action => 'sort', :sort => column.id, :model => 'Order' }
6
+ link_to_remote( column.name,
7
+ :url => url,
8
+ :update => id )
9
+ end %>
10
+
11
+ <%= render_configured_table_content( :partial => "admin/orders/order", :collection => orders, :id => id ) %>
12
+ <% end %>
13
+
14
+ <%= observe_field :livesearch,
15
+ :url => { :action => :livesearch, :controller => 'admin/orders', :update_id => id },
16
+ :update => id,
17
+ :frequency => 2,
18
+ :with => :livesearch
19
+ %>
@@ -0,0 +1,14 @@
1
+
2
+ <h2> Orders </h2>
3
+ <div id="orders_table">
4
+ <%= render :partial => "orders", :locals => { :id => 'orders_orders_table' }, :object => @orders %>
5
+ </div>
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+
14
+
@@ -0,0 +1,6 @@
1
+ # TODO Operate on the page object
2
+
3
+ page.replace_html @update, @result.inspect
4
+ # :partial => 'order', :collection => @result, :layout => false
5
+
6
+
@@ -0,0 +1,58 @@
1
+ <% content_for :admin_sidebar do %>
2
+ <% admin_sidebar_links do %>
3
+ <%= admin_sidebar_link "Information", "#", :function => "toggle_admin_display('order_customer');" %>
4
+ <%= admin_sidebar_link "Shipments", "#", :function => "toggle_admin_display('order_shipments');" %>
5
+ <%= admin_sidebar_link "Invoices", "#", :function => "toggle_admin_display('order_invoices');" %>
6
+ <%= admin_sidebar_link "Order Items", "#", :function => "toggle_admin_display('order_order_items');" %>
7
+ <%= admin_sidebar_link "History", "#", :function => "toggle_admin_display('order_history');" %>
8
+ <% end%>
9
+ <% end %>
10
+
11
+ <h2>Order # <%= @order.id %></h2>
12
+ <h3>State: <%= @order.state %></h3>
13
+
14
+ <div id="order_customer" class="sub_content_box">
15
+ <h3>Customer <%= link_to "show", admin_user_path( @order.customer ) %></h3>
16
+ <%= render :partial => "profile/infos/customer", :object => @order.customer %>
17
+ </div>
18
+
19
+ <div id="order_shipments" class="sub_content_box" style="display:none;">
20
+ <h3>Shipments</h3>
21
+
22
+
23
+ <% @order.events.select { |s| s =~ /^view_link_to_/ }.each do |o| %>
24
+ <% o =~ /^view_link_to_(.+)$/ %>
25
+ <%= link_to $1 ? $1.humanize : o , @order.__send__( o ) %>
26
+ <% end %>
27
+
28
+ <%# unless @order.finished? %>
29
+ <%# = link_to "Create Shipment", :controller => 'shipments', :action => 'new', :order_id => @order.id %>
30
+ <%# end %>
31
+ <%= render :partial => "admin/shipments/shipments", :object => @order.shipments,
32
+ :locals => { :id => "order_shipments_table" } %>
33
+ </div>
34
+
35
+ <div id="order_invoices" class="sub_content_box" style="display:none;">
36
+ <h3>Invoices</h3>
37
+ <%= render :partial => "admin/invoices/invoices", :object => @order.invoices %>
38
+ </div>
39
+
40
+ <div id="order_order_items" class="sub_content_box" style="display:none;">
41
+ <h3>Order Items</h3>
42
+ <b>Total Price</b>: <%=h @order.order_items.collect(&:inventory).collect(&:price).sum %>
43
+ <%= render :partial => "order_item", :collection => @order.order_items %>
44
+ </div>
45
+
46
+ <div id="order_history" class="sub_content_box" style="display:none;">
47
+ <h3>History</h3>
48
+ <ul>
49
+ <% for h in @order.history %>
50
+ <li><%=h h.message %> (<%=h ordinalized_time h.created_at %>)</li>
51
+ <% end %>
52
+ </ul>
53
+
54
+ </div>
55
+
56
+
57
+
58
+
@@ -0,0 +1,8 @@
1
+ <% content_for(:admin_sidebar) do %>
2
+ <b>Products</b>
3
+ <ul>
4
+ <% for product in @products %>
5
+ <li> <%= link_to product, product.to_s.tableize %>
6
+ <% end %>
7
+ </ul>
8
+ <% end %>
@@ -0,0 +1,7 @@
1
+ <% content_for :admin_sidebar do %>
2
+ <% admin_sidebar_links do %>
3
+ <% for property in @properties %>
4
+ <%= admin_sidebar_link property, property.to_s.tableize %>
5
+ <% end %>
6
+ <% end %>
7
+ <% end %>
@@ -0,0 +1,5 @@
1
+ <ul>
2
+ <li><%= link_to "Orders", admin_orders_path %></li>
3
+ <li><%= link_to "Invoices", admin_invoices_path %></li>
4
+ <li><%= link_to "Shipments", admin_shipments_path %></li>
5
+ </ul>
@@ -0,0 +1,11 @@
1
+
2
+ <tr class="<%= cycle('odd','even') %>">
3
+ <td><%=h shipment.id %></td>
4
+ <td><%=h shipment.order_items.size %></td>
5
+ <td><%=h shipment.address.to_s %></td>
6
+ <td><%=h shipment.state %></td>
7
+ <td><%=h shipment.comment %></td>
8
+ <td><%=h ordinalized_time shipment.created_at %></td>
9
+ <td><%=h ordinalized_time shipment.updated_at %></td>
10
+ <td><%= link_to "show", admin_order_shipment_path( shipment.order, shipment ) %></td>
11
+ </tr>
@@ -0,0 +1,11 @@
1
+ <% render_configured_table :shipment do %>
2
+ <%= render_configured_table_header :shipment do |column|
3
+ url = { :controller =>"admin/shipments", :action => 'sort', :sort => column.id, :model => 'Shipment' }
4
+ url[:order_id] = @order.id if @order
5
+ link_to_remote( column.name,
6
+ :url => url,
7
+ :update => id )
8
+ end %>
9
+
10
+ <%= render_configured_table_content( :partial => "admin/shipments/shipment", :collection => shipments, :id => id ) %>
11
+ <% end %>
@@ -0,0 +1,6 @@
1
+ <h2> Shipments </h2>
2
+ <br />
3
+ <div id="shipments_buhaki">
4
+ <%= render :partial => "shipments", :object => @shipments, :locals => { :id => "new_order" } %>
5
+ </div>
6
+
@@ -0,0 +1,51 @@
1
+ <% content_for :admin_sidebar do %>
2
+ <% admin_sidebar_links do %>
3
+ <%= admin_sidebar_link "Show Order", admin_order_path( @order ) %>
4
+ <%= admin_sidebar_link "Show Order Shipments", admin_order_shipments_path %>
5
+ <%= admin_sidebar_link "Show Order Invoices", admin_order_invoices_path %>
6
+ <% end %>
7
+ <% end %>
8
+
9
+ <h2>New Shipment</h2>
10
+
11
+ <%= error_messages_for :shipment %>
12
+ <%= error_messages_for :address %>
13
+
14
+
15
+
16
+ <% form_for :shipment, @shipment, :url => { :action => 'create', :controller => 'shipments' }, :html => { :method => 'post' } do |f| %>
17
+
18
+ <% fields_for :address, @shipment.address do |a| %>
19
+ <p>Street<br />
20
+ <%= a.text_field :street %>
21
+ </p>
22
+ <p>Postal<br />
23
+ <%= a.text_field :postal %>
24
+ </p>
25
+ <p>City<br />
26
+ <%= a.text_field :city %>
27
+ </p>
28
+ <p>Land<br />
29
+ <%= a.text_field :land %>
30
+ </p>
31
+ <% end %>
32
+
33
+ <p>Comment<br />
34
+ <%= f.text_area :comment, :rows => 5%>
35
+ </p>
36
+ <% fields_for :order_items, nil do |a| %>
37
+ <p>Select Order Items
38
+ <ul>
39
+ <% for oi in @order.order_items.select { |s| s.shipment == nil } %>
40
+ <li> <%= a.check_box "#{oi.id}", {} , 1, 0 %> <%=h oi.inventory.product.name %> (<%=h oi.inventory.product.class %>)
41
+ | <%- unless oi.inventory.properties.empty? -%><b>Configuration:</b> <%=h oi.inventory.properties.collect(&:name) * "," %><%- end -%>
42
+ | <%=h oi.quantity %> | <%=h oi.quantity * oi.inventory.price %></li>
43
+ <% end %>
44
+ </ul>
45
+ </p>
46
+ <% end %>
47
+
48
+
49
+
50
+ <%= submit_tag "save" %>
51
+ <% end %>
@@ -0,0 +1,55 @@
1
+ <% content_for :admin_sidebar do %>
2
+ <% admin_sidebar_links do %>
3
+ <%= admin_sidebar_link "Show Order", admin_order_path( @shipment.order ) %>
4
+ <%= admin_sidebar_link "Show Order Shipments", admin_order_shipments_path( @order ) %>
5
+ <%= admin_sidebar_link "Show Order Invoices", admin_order_invoices_path( @order ) %>
6
+ <% end %>
7
+ <% end %>
8
+
9
+ <h2>Shipment # <%= @shipment.id %></h2>
10
+ <div id="shipment_information">
11
+
12
+ <p>
13
+ <b>State</b>:
14
+ <%- form_for :shipment, @shipment, :url => { :action => 'update', :controller => 'shipments' }, :html => { :method => 'put' } do |f| -%>
15
+ <%= f.select :state, Shipment.available_states.collect(&:name).collect(&:to_s) %>
16
+ <%= submit_tag "update" %>
17
+ <%- end -%>
18
+ </p>
19
+ <p>
20
+ <b>CreatedAt</b>: <%=h @shipment.created_at %>
21
+ </p>
22
+ <p>
23
+ <b>UpdatedAt</b>: <%=h @shipment.updated_at %>
24
+ </p>
25
+ <p>
26
+ <b>Sent to:</b><br />
27
+ <%= render :partial => "admin/address", :object => @shipment.address %>
28
+ </p>
29
+ <p>
30
+ <b>Comment</b>: <%=h @shipment.comment %>
31
+ </p>
32
+ </div>
33
+ <div id="shipment_order_items">
34
+ <p>
35
+ <b>OrderItems</b>
36
+ <br />
37
+ <ul>
38
+ <% for oi in @shipment.order_items %>
39
+ <li> <%=h oi.inventory.product.name %> (<%=h oi.inventory.product.class %>)
40
+ | <%- unless oi.inventory.properties.empty? -%><b>Configuration:</b> <%=h oi.inventory.properties.collect(&:name) * "," %><%- end -%>
41
+ | <%=h oi.quantity %> | <%=h oi.quantity * oi.inventory.price %></li>
42
+ <% end %>
43
+ </ul>
44
+ </p>
45
+ </div>
46
+
47
+ <div id="shipment_history" class="sub_content_box" style="">
48
+ <h3>History</h3>
49
+ <ul>
50
+ <% for h in @shipment.history %>
51
+ <li><%=h h.message %> (<%=h ordinalized_time( h.created_at ) %>)</li>
52
+ <% end %>
53
+ </ul>
54
+
55
+ </div>
@@ -0,0 +1,26 @@
1
+ <tr>
2
+ <td>
3
+ <%=h admins.id %>
4
+ </td>
5
+ <td>
6
+ <%=h admins.profile.name %>
7
+ </td>
8
+ <td>
9
+ <%=h admins.email %>
10
+ </td>
11
+ <td>
12
+ <%=h admins.firstname %>
13
+ </td>
14
+ <td>
15
+ <%=h admins.lastname %>
16
+ </td>
17
+ <td>
18
+ <%=h admins.created_at %>
19
+ </td>
20
+ <td>
21
+ <%=h admins.updated_at %>
22
+ </td>
23
+ <td>
24
+ <%= link_to "show", admin_user_path( admins ) %>
25
+ </td>
26
+ </tr>
@@ -0,0 +1,10 @@
1
+ <tr>
2
+ <th>#</th>
3
+ <th>Profile</th>
4
+ <th>Email</th>
5
+ <th>Firstname</th>
6
+ <th>Lastname</th>
7
+ <th>CreatedAt</th>
8
+ <th>UpdatedAt</th>
9
+ <th></th>
10
+ </tr>
@@ -0,0 +1,32 @@
1
+ <h3><%=h customer.profile.name %> Info # <%=h customer.id %> </h3>
2
+ <br />
3
+ <b>Email:</b> <%= customer.email %><br /><br />
4
+ <b>Firstname:</b> <%=h customer.firstname %><br />
5
+ <b>Lastname:</b> <%=h customer.lastname %><br />
6
+ <br />
7
+
8
+ <b>Orders: </b> <%=h customer.orders.size %> <%= link_to "show orders", admin_user_orders_path( customer ) %>
9
+ <br /><br />
10
+ <b>Addresses</b>
11
+ <table>
12
+ <tr>
13
+ <th>#</th>
14
+ <th>ZIP</th>
15
+ <th>Street</th>
16
+ <th>City</th>
17
+ <th>Land</th>
18
+ </tr>
19
+ <% for address in customer.addresses %>
20
+ <tr>
21
+ <td><%= address.id %></td>
22
+ <td><%= address.postal %></td>
23
+ <td><%= address.street%></td>
24
+ <td><%= address.city %></td>
25
+ <td><%= address.land %></td>
26
+ </tr>
27
+ <% end %>
28
+ </table>
29
+
30
+
31
+ <%= link_to "Edit", edit_admin_user_path( customer ) %>
32
+
@@ -0,0 +1,29 @@
1
+ <tr>
2
+ <td>
3
+ <%=h customers.id %>
4
+ </td>
5
+ <td>
6
+ <%=h customers.profile.name %>
7
+ </td>
8
+ <td>
9
+ <%=h customers.email %>
10
+ </td>
11
+ <td>
12
+ <%=h customers.firstname %>
13
+ </td>
14
+ <td>
15
+ <%=h customers.lastname %>
16
+ </td>
17
+ <td>
18
+ <%=h customers.orders.size %>
19
+ </td>
20
+ <td>
21
+ <%=h customers.created_at %>
22
+ </td>
23
+ <td>
24
+ <%=h customers.updated_at %>
25
+ </td>
26
+ <td>
27
+ <%= link_to "show", admin_user_path( customers ) %>
28
+ </td>
29
+ </tr>
@@ -0,0 +1,11 @@
1
+ <tr>
2
+ <th>#</th>
3
+ <th>Profile</th>
4
+ <th>Email</th>
5
+ <th>Firstname</th>
6
+ <th>Lastname</th>
7
+ <th>Orders</th>
8
+ <th>CreatedAt</th>
9
+ <th>UpdatedAt</th>
10
+ <th></th>
11
+ </tr>
@@ -0,0 +1,9 @@
1
+ <p>
2
+ Email: <%= f.text_field :email %>
3
+ </p>
4
+ <p>
5
+ Firstname: <%= f.text_field :firstname %>
6
+ </p>
7
+ <p>
8
+ Lastname: <%= f.text_field :lastname %>
9
+ </p>
@@ -0,0 +1,29 @@
1
+ <tr>
2
+ <td>
3
+ <%=h users.id %>
4
+ </td>
5
+ <td>
6
+ <%=h users.profile.name %>
7
+ </td>
8
+ <td>
9
+ <%=h users.email %>
10
+ </td>
11
+ <td>
12
+ <%=h users.firstname %>
13
+ </td>
14
+ <td>
15
+ <%=h users.lastname %>
16
+ </td>
17
+ <td>
18
+ <%=h users.orders.size %>
19
+ </td>
20
+ <td>
21
+ <%=h users.created_at %>
22
+ </td>
23
+ <td>
24
+ <%=h users.updated_at %>
25
+ </td>
26
+ <td>
27
+ <%= link_to "show", admin_user_path( users ) %>
28
+ </td>
29
+ </tr>
@@ -0,0 +1,11 @@
1
+ <tr>
2
+ <th>#</th>
3
+ <th>Profile</th>
4
+ <th>Email</th>
5
+ <th>Firstname</th>
6
+ <th>Lastname</th>
7
+ <th>Orders</th>
8
+ <th>CreatedAt</th>
9
+ <th>UpdatedAt</th>
10
+ <th></th>
11
+ </tr>
@@ -0,0 +1,6 @@
1
+ <h3>Edit <%= params[:type] ? params[:type].humanize : "User" %></h3>
2
+
3
+ <% form_for :user, @user, :url => { :controller => 'admin/users', :action => 'update', :type => params[:type] }, :html => { :method => 'put' } do |f| %>
4
+ <%= render :partial => "common/signup_fields", :locals => { :f => f } %>
5
+
6
+ <% end %>
@@ -0,0 +1,7 @@
1
+ <h3><%= params[:type] ? params[:type].humanize : "Users" %></h3>
2
+ <br />
3
+ <br />
4
+ <table>
5
+ <%= render :partial => "admin/users/#{ params[:type] ? params[:type] + 's_header' : 'users_header' }" %>
6
+ <%= render :partial => "admin/users/#{ params[:type] ? params[:type] + 's' : 'users' }", :collection => @users %>
7
+ </table>
@@ -0,0 +1,6 @@
1
+ <h3>New <%= params[:type] ? params[:type].humanize : "User" %></h3>
2
+
3
+ <% form_for :user, @user, :url => { :controller => 'admin/users', :action => 'create', :type => params[:type] } do |f| %>
4
+ <%= render :partial => "common/signup_fields", :locals => { :f => f } %>
5
+
6
+ <% end %>
@@ -0,0 +1,34 @@
1
+ <h3><%=h @user.profile.name %> Info # <%=h @user.id %> </h3>
2
+ <br />
3
+ <b>Email:</b> <%= @user.email %><br /><br />
4
+ <b>Firstname:</b> <%=h @user.firstname %><br />
5
+ <b>Lastname:</b> <%=h @user.lastname %><br />
6
+ <br />
7
+
8
+ <%- if @user.is_customer? -%>
9
+ <b>Orders: </b> <%=h @user.orders.size %> <%= link_to "show orders", admin_user_orders_path( @user ) %>
10
+ <br /><br />
11
+ <b>Addresses</b>
12
+ <table>
13
+ <tr>
14
+ <th>#</th>
15
+ <th>ZIP</th>
16
+ <th>Street</th>
17
+ <th>City</th>
18
+ <th>Land</th>
19
+ </tr>
20
+ <% for address in @user.addresses %>
21
+ <tr>
22
+ <td><%= address.id %></td>
23
+ <td><%= address.postal %></td>
24
+ <td><%= address.street%></td>
25
+ <td><%= address.city %></td>
26
+ <td><%= address.land %></td>
27
+ </tr>
28
+ <% end %>
29
+ </table>
30
+ <%- end -%>
31
+
32
+
33
+ <%= link_to "Edit", edit_admin_user_path( @user ) %>
34
+
@@ -0,0 +1,4 @@
1
+ <ul>
2
+ <li><%= link_to "Admins", admin_users_admins_path() %></li>
3
+ <li><%= link_to "Customers", admin_users_customers_path() %></li>
4
+ </ul>
@@ -0,0 +1,8 @@
1
+ <div id="cart_content">
2
+ <%%= render :partial => "cart/cart_content" %>
3
+ </div>
4
+
5
+ <%% if ! @cart.items.empty? %>
6
+ <%%= button_to "checkout" , { :controller => '<%= file_name %>', :action => :start_checkout }, :confirm => "checkout?" %>
7
+ <%%= button_to "empty cart" , { :controller => 'cart', :action => :destroy }, :confirm => "empty cart?" %>
8
+ <%% end %>
@@ -1,18 +1,15 @@
1
- <% form_tag :action => :update_quantity do %>
1
+ <% form_tag :url => { :controller => 'cart', :action => :update, :redirect => opensteam_index_path } do %>
2
2
  <% @cart.items.each_with_index do |i,k| %>
3
3
  <div class="cart_item" id="cart_item_<%=h k %>">
4
- <%= i.product.class.to_s %> <%= link_to i.product.name, :action => :show_cart_item, :id => k %> : <%=h i.quantity -%>
5
- <%= text_field_tag "quantity[#{k}]", i.quantity.to_s, :id => "qunt", :size => 5 -%>
6
- <%= link_to_remote image_tag( "/images/plus.png", :border => "0" ), :url => { :action => :incr_quantity, :id => k },
7
- :update => :cart_content -%>
8
- <%= link_to_remote image_tag( "/images/minus.png", :border => "0"), :url => { :action => :decr_quantity, :id => k },
9
- :update => :cart_content -%>
10
- <%= link_to_remote image_tag( "/images/cancel.png", :border => "0"), :url => { :action => :del_item, :id => k } %>
4
+ <%= i.product.class.to_s %> <%= link_to i.product.name, :controller => 'cart', :action => :show, :id => k %> : <%=h i.quantity -%>
5
+ <%= text_field_tag "quantity[#{k}]", i.quantity.to_s, :id => "quantity", :size => 5 -%>
6
+ <%= link_to_remote image_tag( "/images/plus.png", :border => "0" ), :url => { :controller => 'cart', :action => :update, :id => k, :incr => 1 } -%>
7
+ <%= link_to_remote image_tag( "/images/minus.png", :border => "0"), :url => { :controller => 'cart', :action => :update, :id => k, :decr => 1 } -%>
8
+ <%= link_to_remote image_tag( "/images/cancel.png", :border => "0"), :url => { :controller => 'cart', :action => :destroy, :id => k } -%>
11
9
  <br />
12
- <%=h(k) %> => <%= h i.to_yaml %>
13
- <br /><br />
14
10
  </div>
15
11
  <% end %>
12
+ <br /><br />
16
13
  <% if ! @cart.items.empty? %>
17
14
  <%= submit_tag "update" %> <br /> <br />
18
15
  ------
@@ -0,0 +1,5 @@
1
+ <h3>Shopping Cart</h3>
2
+ <br />
3
+ <div id="cart" style="width:100%;clear:both;">
4
+ <%= render :partial => "cart" %>
5
+ </div>
@@ -0,0 +1 @@
1
+ page.replace_html :cart, :partial => "cart/cart", :object => @cart