spree 0.7.1 → 0.8.0

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

Potentially problematic release.


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

Files changed (959) hide show
  1. data/CHANGELOG +44 -11
  2. data/CONTRIBUTORS +1 -1
  3. data/INSTALL +4 -5
  4. data/README.markdown +1 -34
  5. data/app/controllers/admin/base_controller.rb +6 -0
  6. data/app/controllers/admin/configurations_controller.rb +7 -1
  7. data/app/controllers/admin/creditcard_payments_controller.rb +6 -56
  8. data/app/controllers/admin/products_controller.rb +9 -0
  9. data/app/controllers/admin/prototypes_controller.rb +4 -8
  10. data/app/controllers/admin/shipments_controller.rb +37 -0
  11. data/{vendor/extensions/shipping/app → app}/controllers/admin/shipping_categories_controller.rb +1 -1
  12. data/{vendor/extensions/shipping/app → app}/controllers/admin/shipping_methods_controller.rb +1 -1
  13. data/app/controllers/admin/users_controller.rb +6 -3
  14. data/app/controllers/admin/zones_controller.rb +17 -36
  15. data/app/controllers/application.rb +74 -12
  16. data/app/controllers/content_controller.rb +4 -0
  17. data/app/controllers/orders_controller.rb +52 -26
  18. data/app/controllers/password_resets_controller.rb +44 -0
  19. data/app/controllers/spree/base_controller.rb +1 -1
  20. data/app/controllers/states_controller.rb +8 -10
  21. data/app/controllers/taxons_controller.rb +0 -6
  22. data/app/controllers/user_sessions_controller.rb +38 -0
  23. data/app/controllers/users_controller.rb +29 -14
  24. data/app/helpers/admin/base_helper.rb +127 -4
  25. data/app/helpers/admin/orders_helper.rb +1 -1
  26. data/{vendor/extensions/shipping/app → app}/helpers/admin/shipping_categories_helper.rb +0 -0
  27. data/{vendor/extensions/shipping/app → app}/helpers/admin/shipping_methods_helper.rb +0 -0
  28. data/app/helpers/admin/zones_helper.rb +4 -4
  29. data/app/helpers/application_helper.rb +0 -13
  30. data/app/helpers/orders_helper.rb +0 -11
  31. data/app/helpers/spree/base_helper.rb +51 -3
  32. data/app/helpers/taxons_helper.rb +13 -12
  33. data/app/models/address.rb +0 -1
  34. data/app/models/app_configuration.rb +4 -1
  35. data/app/models/country.rb +2 -2
  36. data/app/models/creditcard.rb +10 -6
  37. data/app/models/creditcard_payment.rb +1 -0
  38. data/app/models/image.rb +1 -1
  39. data/app/models/line_item.rb +2 -0
  40. data/app/models/option_type.rb +1 -0
  41. data/app/models/order.rb +51 -29
  42. data/app/models/order_mailer.rb +4 -4
  43. data/app/models/product.rb +27 -1
  44. data/app/models/product_property.rb +0 -1
  45. data/app/models/property.rb +3 -0
  46. data/app/models/prototype.rb +1 -0
  47. data/app/models/shipment.rb +13 -17
  48. data/app/models/tax_category.rb +1 -0
  49. data/app/models/user.rb +32 -117
  50. data/app/models/user_mailer.rb +11 -0
  51. data/app/models/user_session.rb +2 -0
  52. data/app/models/variant.rb +6 -2
  53. data/app/models/zone.rb +34 -18
  54. data/app/models/zone_member.rb +9 -3
  55. data/app/views/account/login.html.erb +2 -0
  56. data/app/views/admin/configurations/index.html.erb +1 -1
  57. data/app/views/admin/creditcard_payments/edit.html.erb +11 -9
  58. data/app/views/admin/creditcard_payments/new.html.erb +14 -27
  59. data/app/views/admin/general_settings/edit.html.erb +28 -11
  60. data/app/views/admin/general_settings/show.html.erb +29 -16
  61. data/app/views/admin/inventory_settings/edit.html.erb +20 -11
  62. data/app/views/admin/inventory_settings/show.html.erb +9 -11
  63. data/app/views/admin/mail_settings/edit.html.erb +109 -80
  64. data/app/views/admin/mail_settings/show.html.erb +55 -41
  65. data/app/views/admin/option_types/_form.html.erb +18 -22
  66. data/app/views/admin/option_types/_option_value.html.erb +1 -1
  67. data/app/views/admin/option_types/available.html.erb +26 -30
  68. data/app/views/admin/option_types/edit.html.erb +5 -2
  69. data/app/views/admin/option_types/index.html.erb +36 -35
  70. data/app/views/admin/option_types/new.html.erb +7 -4
  71. data/app/views/admin/option_types/selected.html.erb +28 -28
  72. data/app/views/admin/orders/index.html.erb +86 -112
  73. data/app/views/admin/orders/show.html.erb +31 -51
  74. data/app/views/admin/overview/index.html.erb +1 -1
  75. data/app/views/admin/payments/index.html.erb +14 -6
  76. data/app/views/admin/product_properties/_product_property.html.erb +1 -1
  77. data/app/views/admin/product_properties/index.html.erb +21 -16
  78. data/app/views/admin/products/_form.html.erb +79 -71
  79. data/app/views/admin/products/_images.html.erb +27 -30
  80. data/app/views/admin/products/_option_types.html.erb +2 -2
  81. data/app/views/admin/products/_properties_form.erb +7 -0
  82. data/app/views/admin/products/edit.html.erb +9 -6
  83. data/app/views/admin/products/index.html.erb +79 -67
  84. data/app/views/admin/products/new.html.erb +51 -5
  85. data/app/views/admin/properties/_form.html.erb +12 -14
  86. data/app/views/admin/properties/edit.html.erb +3 -2
  87. data/app/views/admin/properties/index.html.erb +26 -17
  88. data/app/views/admin/properties/new.html.erb +5 -3
  89. data/app/views/admin/prototypes/_form.html.erb +38 -15
  90. data/app/views/admin/prototypes/available.html.erb +7 -7
  91. data/app/views/admin/prototypes/edit.html.erb +2 -2
  92. data/app/views/admin/prototypes/index.html.erb +24 -16
  93. data/app/views/admin/prototypes/new.html.erb +4 -2
  94. data/app/views/admin/reports/index.html.erb +18 -23
  95. data/app/views/admin/reports/sales_total.html.erb +25 -26
  96. data/app/views/admin/shared/_additional_field.html.erb +5 -0
  97. data/app/views/admin/shared/_address.html.erb +13 -0
  98. data/app/views/admin/shared/_configuration_menu.html.erb +18 -0
  99. data/app/views/admin/shared/_edit_resource_links.html.erb +4 -0
  100. data/app/views/admin/shared/_form_address.html.erb +50 -0
  101. data/app/views/admin/shared/_new_resource_links.html.erb +4 -0
  102. data/app/views/admin/shared/_order_details.html.erb +36 -0
  103. data/{vendor/plugins/has_many_polymorphs/test/fixtures/eaters_foodstuffs.yml → app/views/admin/shared/_order_sub_menu.html.erb} +0 -0
  104. data/app/views/admin/shared/_order_tabs.html.erb +27 -0
  105. data/app/views/admin/shared/_product_sub_menu.html.erb +8 -0
  106. data/app/views/admin/shared/_product_tabs.html.erb +35 -0
  107. data/app/views/admin/shared/_report_criteria.html.erb +23 -0
  108. data/app/views/admin/shared/_show_resource_links.html.erb +5 -0
  109. data/app/views/admin/shipments/_details.html.erb +19 -0
  110. data/app/views/admin/shipments/_form.html.erb +21 -0
  111. data/app/views/admin/shipments/edit.html.erb +12 -0
  112. data/{vendor/extensions/shipping/app → app}/views/admin/shipments/index.html.erb +8 -8
  113. data/app/views/admin/shipments/new.html.erb +14 -0
  114. data/{vendor/extensions/shipping/app → app}/views/admin/shipping_categories/_form.html.erb +0 -0
  115. data/{vendor/extensions/shipping/app → app}/views/admin/shipping_categories/edit.html.erb +1 -1
  116. data/app/views/admin/shipping_categories/index.html.erb +27 -0
  117. data/{vendor/extensions/shipping/app → app}/views/admin/shipping_categories/new.html.erb +1 -1
  118. data/{vendor/extensions/shipping/app → app}/views/admin/shipping_methods/_form.html.erb +1 -1
  119. data/{vendor/extensions/shipping/app → app}/views/admin/shipping_methods/edit.html.erb +1 -1
  120. data/app/views/admin/shipping_methods/index.html.erb +34 -0
  121. data/{vendor/extensions/shipping/app → app}/views/admin/shipping_methods/new.html.erb +1 -1
  122. data/app/views/admin/states/_form.html.erb +9 -10
  123. data/app/views/admin/states/_state_list.html.erb +10 -7
  124. data/app/views/admin/states/edit.html.erb +4 -2
  125. data/app/views/admin/states/index.html.erb +11 -4
  126. data/app/views/admin/states/new.html.erb +4 -2
  127. data/app/views/admin/tax_categories/_form.html.erb +9 -11
  128. data/app/views/admin/tax_categories/edit.html.erb +4 -2
  129. data/app/views/admin/tax_categories/index.html.erb +19 -9
  130. data/app/views/admin/tax_categories/new.html.erb +4 -2
  131. data/app/views/admin/tax_categories/show.html.erb +1 -0
  132. data/app/views/admin/taxonomies/_form.html.erb +5 -9
  133. data/app/views/admin/taxonomies/_list.html.erb +4 -4
  134. data/app/views/admin/taxonomies/_yui_head.html.erb +2 -16
  135. data/app/views/admin/taxonomies/edit.html.erb +13 -12
  136. data/app/views/admin/taxonomies/index.html.erb +11 -2
  137. data/app/views/admin/taxonomies/new.html.erb +7 -4
  138. data/app/views/admin/taxons/_taxon_table.html.erb +9 -9
  139. data/app/views/admin/taxons/available.js.erb +8 -8
  140. data/app/views/admin/taxons/selected.html.erb +10 -9
  141. data/app/views/admin/users/_form.html.erb +35 -36
  142. data/app/views/admin/users/edit.html.erb +3 -3
  143. data/app/views/admin/users/index.html.erb +45 -47
  144. data/app/views/admin/users/new.html.erb +5 -5
  145. data/app/views/admin/users/show.html.erb +8 -5
  146. data/app/views/admin/variants/_form.html.erb +36 -31
  147. data/app/views/admin/variants/edit.html.erb +5 -4
  148. data/app/views/admin/variants/index.html.erb +52 -50
  149. data/app/views/admin/variants/new.html.erb +3 -3
  150. data/app/views/admin/zones/_country_member.html.erb +5 -0
  151. data/app/views/admin/zones/_form.html.erb +26 -65
  152. data/app/views/admin/zones/_member_type.html.erb +15 -0
  153. data/app/views/admin/zones/_state_member.html.erb +5 -0
  154. data/app/views/admin/zones/_zone_member.html.erb +5 -0
  155. data/app/views/admin/zones/edit.html.erb +6 -4
  156. data/app/views/admin/zones/index.html.erb +18 -7
  157. data/app/views/admin/zones/new.html.erb +6 -4
  158. data/app/views/{checkout → content}/cvv.html.erb +0 -2
  159. data/app/views/layouts/admin.html.erb +75 -60
  160. data/app/views/layouts/application.html.erb +51 -75
  161. data/app/views/orders/_billing.html.erb +53 -0
  162. data/app/views/orders/_checkout_form.html.erb +14 -0
  163. data/app/views/{checkout/_confirm_order.erb → orders/_confirmation.html.erb} +3 -1
  164. data/app/views/orders/_form.html.erb +1 -2
  165. data/app/views/orders/_line_item.html.erb +15 -16
  166. data/app/views/orders/_payment.html.erb +30 -0
  167. data/app/views/orders/_registration.html.erb +60 -0
  168. data/app/views/orders/_shipping.html.erb +54 -0
  169. data/app/views/orders/_shipping_method.html.erb +10 -0
  170. data/app/views/orders/checkout.html.erb +15 -0
  171. data/app/views/orders/edit.html.erb +20 -20
  172. data/app/views/orders/new.html.erb +9 -8
  173. data/app/views/orders/show.html.erb +2 -4
  174. data/app/views/password_resets/edit.html.erb +12 -0
  175. data/app/views/password_resets/new.html.erb +11 -0
  176. data/app/views/products/_cart_form.html.erb +46 -0
  177. data/app/views/products/_properties.html.erb +8 -0
  178. data/app/views/products/_thumbnails.html.erb +27 -5
  179. data/app/views/products/index.html.erb +3 -8
  180. data/app/views/products/show.html.erb +23 -68
  181. data/app/views/shared/_footer.html.erb +8 -3
  182. data/app/views/shared/_login.html.erb +17 -16
  183. data/app/views/shared/_login_bar.html.erb +6 -0
  184. data/app/views/shared/_new_resource_links.html.erb +1 -1
  185. data/app/views/shared/_order_details.html.erb +8 -8
  186. data/app/views/shared/_products.html.erb +21 -17
  187. data/app/views/shared/_store_menu.html.erb +2 -5
  188. data/app/views/shared/_taxonomies.html.erb +8 -5
  189. data/app/views/states/index.js.erb +1 -10
  190. data/app/views/taxons/_taxon.html.erb +2 -3
  191. data/app/views/taxons/show.html.erb +10 -6
  192. data/app/views/user_mailer/password_reset_instructions.erb +9 -0
  193. data/app/views/{account → user_sessions}/authorization_failure.html.erb +0 -0
  194. data/app/views/user_sessions/new.html.erb +6 -0
  195. data/app/views/users/_form.html.erb +16 -23
  196. data/app/views/users/new.html.erb +11 -19
  197. data/config/boot.rb +1 -1
  198. data/config/database.yml +5 -5
  199. data/config/database.yml.example +2 -2
  200. data/config/environment.rb +11 -24
  201. data/config/initializers/backtrace_silencers.rb +7 -0
  202. data/config/initializers/compass.rb +8 -0
  203. data/config/initializers/inflections.rb +10 -0
  204. data/config/initializers/mime_types.rb +0 -3
  205. data/config/initializers/new_rails_defaults.rb +19 -0
  206. data/config/initializers/session_store.rb +15 -0
  207. data/config/locales/de.yml +57 -2
  208. data/config/locales/de_rails.yml +27 -7
  209. data/config/locales/en-GB.yml +59 -4
  210. data/config/locales/en-GB_rails.yml +6 -6
  211. data/config/locales/en-US.yml +60 -5
  212. data/config/locales/en-US_rails.yml +80 -39
  213. data/config/locales/es.yml +318 -263
  214. data/config/locales/es_rails.yml +26 -8
  215. data/config/locales/fr-FR.yml +55 -0
  216. data/config/locales/fr-FR_rails.yml +51 -43
  217. data/config/locales/it.yml +57 -2
  218. data/config/locales/it_rails.yml +60 -18
  219. data/config/locales/nb-NO.yml +67 -469
  220. data/config/locales/nl-BE.yml +522 -0
  221. data/config/locales/nl-BE_rails.yml +155 -0
  222. data/config/locales/pl.yml +57 -2
  223. data/config/locales/pt-BR.yml +272 -217
  224. data/config/locales/pt-BR_rails.yml +132 -98
  225. data/config/locales/pt-PT.yml +56 -1
  226. data/config/locales/pt-PT_rails.yml +25 -4
  227. data/config/locales/ru-RU.yml +56 -1
  228. data/config/locales/ru-RU_rails.yml +156 -110
  229. data/config/routes.rb +17 -8
  230. data/config/spree_permissions.yml +8 -5
  231. data/{vendor/extensions/shipping/db → db}/migrate/20081003211336_create_shipping_methods.rb +0 -0
  232. data/{vendor/extensions/shipping/db → db}/migrate/20081003233427_create_shipping_categories.rb +0 -0
  233. data/{vendor/extensions/shipping/db → db}/migrate/20081015001711_create_shipments.rb +0 -0
  234. data/{vendor/extensions/shipping/db → db}/migrate/20081023134446_add_product_dimensions.rb +0 -0
  235. data/{vendor/extensions/shipping/db → db}/migrate/20081205155619_add_shipped_at_property.rb +0 -0
  236. data/{vendor/extensions/shipping/db → db}/migrate/20081221201510_create_shipping_addresses.rb +0 -0
  237. data/db/migrate/20090302221152_give_all_users_user_role.rb +1 -0
  238. data/db/migrate/20090320113300_authlogic_changes.rb +24 -0
  239. data/db/migrate/20090324164010_create_option_types_prototypes.rb +12 -0
  240. data/db/migrate/20090401120636_meta_data_fields_for_products.rb +11 -0
  241. data/db/migrate/20090401203712_remove_hmp_stuff_in_zones.rb +12 -0
  242. data/db/migrate/{20080706233224_create_eu_vat_zone.rb → 20090401223217_create_eu_vat_zone_again.rb} +8 -3
  243. data/db/migrate/20090402002244_add_user_login.rb +17 -0
  244. data/db/migrate/20090402161055_add_order_token.rb +13 -0
  245. data/db/migrate/20090402200317_add_email_to_order.rb +19 -0
  246. data/db/migrate/20090406174645_refactor_addresses.rb +53 -0
  247. data/db/migrate/20090420021303_remove_viewable_id_from_products.rb +10 -0
  248. data/db/migrate/20090427000000_upgrade_taxons.rb +14 -0
  249. data/db/sample/addresses.yml +24 -14
  250. data/db/sample/creditcards.yml +2 -1
  251. data/db/sample/orders.yml +4 -1
  252. data/db/sample/products.yml +9 -9
  253. data/{vendor/extensions/shipping/db → db}/sample/shipments.yml +2 -1
  254. data/{vendor/extensions/shipping/db → db}/sample/shipping_categories.yml +0 -0
  255. data/{vendor/extensions/shipping/db → db}/sample/shipping_methods.yml +0 -0
  256. data/db/sample/users.yml +2 -1
  257. data/db/sample/zone_members.yml +16 -0
  258. data/{vendor/extensions/shipping/db → db}/sample/zones.yml +0 -0
  259. data/lib/easy_role_requirement_system.rb +32 -1
  260. data/lib/generators/generator_base_extension.rb +2 -2
  261. data/lib/generators/instance/instance_generator.rb +13 -9
  262. data/lib/generators/instance/templates/session_store.rb +15 -0
  263. data/lib/plugins/extension_patches/lib/fixture_loading_extension.rb +3 -1
  264. data/lib/plugins/monkey_patches/init.rb +1 -0
  265. data/lib/plugins/monkey_patches/lib/monkey_patches.rb +59 -0
  266. data/{vendor/plugins/calendar_date_select → lib/plugins/option_tags_with_disable}/MIT-LICENSE +20 -20
  267. data/lib/plugins/option_tags_with_disable/README.rdoc +35 -0
  268. data/lib/plugins/option_tags_with_disable/Rakefile +23 -0
  269. data/lib/plugins/option_tags_with_disable/init.rb +1 -0
  270. data/lib/plugins/option_tags_with_disable/lib/option_tags_will_disable.rb +85 -0
  271. data/lib/plugins/option_tags_with_disable/test/option_tags_will_disable_test.rb +72 -0
  272. data/lib/plugins/option_tags_with_disable/test/test_helper.rb +8 -0
  273. data/lib/role_requirement_system.rb +2 -2
  274. data/lib/spree.rb +2 -2
  275. data/lib/spree/checkout.rb +74 -0
  276. data/lib/spree/initializer.rb +0 -1
  277. data/lib/spree/setup.rb +2 -1
  278. data/{vendor/extensions/shipping/lib → lib}/spree/shipping_error.rb +0 -0
  279. data/lib/tasks/database.rake +2 -0
  280. data/lib/tasks/release.rake +8 -6
  281. data/lib/tasks/upgrade.rake +3 -0
  282. data/public/assets/products/1009/large/IMG_3408.jpg +0 -0
  283. data/public/assets/products/1009/mini/IMG_3408.jpg +0 -0
  284. data/public/assets/products/1009/original/IMG_3408.jpg +0 -0
  285. data/public/assets/products/1009/product/IMG_3408.jpg +0 -0
  286. data/public/assets/products/1009/small/IMG_3408.jpg +0 -0
  287. data/public/images/add-to-cart.png +0 -0
  288. data/public/images/admin/bg/active-tab.png +0 -0
  289. data/public/images/admin/bg/admin_tab_back.png +0 -0
  290. data/public/images/admin/bg/admin_tab_selected_back.png +0 -0
  291. data/public/images/admin/bg/content-back-blue.png +0 -0
  292. data/public/images/admin/bg/content-back-green.png +0 -0
  293. data/public/images/admin/bg/content-back.png +0 -0
  294. data/public/images/admin/bg/flash-error.png +0 -0
  295. data/public/images/admin/bg/flash-notice.png +0 -0
  296. data/public/images/admin/bg/green-stripes.gif +0 -0
  297. data/public/images/admin/bg/green-stripes.png +0 -0
  298. data/public/images/admin/bg/grid_header_back.png +0 -0
  299. data/public/images/admin/bg/grid_header_back_green.png +0 -0
  300. data/public/images/admin/bg/header-bg.png +0 -0
  301. data/public/images/admin/bg/header_bg.jpg +0 -0
  302. data/public/images/admin/bg/menu-current.png +0 -0
  303. data/public/images/admin/bg/red-stripes.gif +0 -0
  304. data/public/images/admin/bg/red-stripes.png +0 -0
  305. data/public/images/admin/bg/spree_50.png +0 -0
  306. data/public/images/admin/bg/subnav-divider.png +0 -0
  307. data/public/images/admin/bg/subnav.png +0 -0
  308. data/public/images/admin/bg/tab-back.png +0 -0
  309. data/public/images/admin/buttons/blue/left_01.png +0 -0
  310. data/public/images/admin/buttons/blue/right_01.png +0 -0
  311. data/public/images/admin/buttons/drag-handle-green.png +0 -0
  312. data/public/images/admin/buttons/green/left_01.png +0 -0
  313. data/public/images/admin/buttons/green/right_01.png +0 -0
  314. data/public/images/admin/buttons/left_01.png +0 -0
  315. data/public/images/admin/buttons/left_01_small.png +0 -0
  316. data/public/images/admin/buttons/orange/left_03.png +0 -0
  317. data/public/images/admin/buttons/orange/right_03.png +0 -0
  318. data/public/images/admin/buttons/right_01.png +0 -0
  319. data/public/images/admin/buttons/right_01_small.png +0 -0
  320. data/public/images/admin/icons/16x16/1.png +0 -0
  321. data/public/images/admin/icons/16x16/10.png +0 -0
  322. data/public/images/admin/icons/16x16/2.png +0 -0
  323. data/public/images/admin/icons/16x16/3.png +0 -0
  324. data/public/images/admin/icons/16x16/4.png +0 -0
  325. data/public/images/admin/icons/16x16/5.png +0 -0
  326. data/public/images/admin/icons/16x16/6.png +0 -0
  327. data/public/images/admin/icons/16x16/7.png +0 -0
  328. data/public/images/admin/icons/16x16/8.png +0 -0
  329. data/public/images/admin/icons/16x16/9.png +0 -0
  330. data/public/images/admin/icons/32x32/1.png +0 -0
  331. data/public/images/admin/icons/32x32/10.png +0 -0
  332. data/public/images/admin/icons/32x32/11.png +0 -0
  333. data/public/images/admin/icons/32x32/2.png +0 -0
  334. data/public/images/admin/icons/32x32/3.png +0 -0
  335. data/public/images/admin/icons/32x32/4.png +0 -0
  336. data/public/images/admin/icons/32x32/5.png +0 -0
  337. data/public/images/admin/icons/32x32/6.png +0 -0
  338. data/public/images/admin/icons/32x32/7.png +0 -0
  339. data/public/images/admin/icons/32x32/8.png +0 -0
  340. data/public/images/admin/icons/32x32/9.png +0 -0
  341. data/public/images/admin/icons/accept.png +0 -0
  342. data/public/images/admin/icons/add.gif +0 -0
  343. data/public/images/admin/icons/add.png +0 -0
  344. data/public/images/admin/icons/arrow-down.gif +0 -0
  345. data/public/images/admin/icons/cross.png +0 -0
  346. data/public/images/admin/icons/delete.gif +0 -0
  347. data/public/images/admin/icons/delete.png +0 -0
  348. data/public/images/admin/icons/drag.gif +0 -0
  349. data/public/images/admin/icons/edit.gif +0 -0
  350. data/public/images/admin/icons/edit.png +0 -0
  351. data/public/images/admin/icons/email.png +0 -0
  352. data/public/images/admin/icons/error.png +0 -0
  353. data/public/images/admin/icons/exclamation.png +0 -0
  354. data/public/images/admin/icons/feed.png +0 -0
  355. data/public/images/admin/icons/pdf.png +0 -0
  356. data/public/images/admin/icons/reorder.gif +0 -0
  357. data/public/images/admin/icons/search.gif +0 -0
  358. data/public/images/admin/icons/send-email.png +0 -0
  359. data/public/images/admin/icons/stop.png +0 -0
  360. data/public/images/admin/icons/tick.png +0 -0
  361. data/public/images/admin/icons/up.gif +0 -0
  362. data/public/images/admin/icons/xls.png +0 -0
  363. data/public/images/admin/tabs/off-left.png +0 -0
  364. data/public/images/admin/tabs/off-right.png +0 -0
  365. data/public/images/admin/tabs/on-left.png +0 -0
  366. data/public/images/admin/tabs/on-right.png +0 -0
  367. data/public/images/bg-button-hover.png +0 -0
  368. data/public/images/bg-button-pressed.png +0 -0
  369. data/public/images/bg-button.gif +0 -0
  370. data/public/images/bg-button.png +0 -0
  371. data/public/images/blue/left_01.png +0 -0
  372. data/public/images/blue/right_01.png +0 -0
  373. data/public/images/body-back.png +0 -0
  374. data/public/images/bottom_shine.png +0 -0
  375. data/public/images/button-dark-hover.png +0 -0
  376. data/public/images/button-dark.png +0 -0
  377. data/public/images/buttons/bg-button-hover.png +0 -0
  378. data/public/images/buttons/bg-button-pressed.png +0 -0
  379. data/public/images/buttons/bg-button.gif +0 -0
  380. data/public/images/buttons/bg-button.png +0 -0
  381. data/public/images/buttons/blue/left_01.png +0 -0
  382. data/public/images/buttons/blue/right_01.png +0 -0
  383. data/public/images/buttons/button-dark-hover.png +0 -0
  384. data/public/images/buttons/button-dark.png +0 -0
  385. data/public/images/buttons/drag-handle-green.png +0 -0
  386. data/public/images/buttons/green/left_01.png +0 -0
  387. data/public/images/buttons/green/right_01.png +0 -0
  388. data/public/images/buttons/left_01.png +0 -0
  389. data/public/images/buttons/left_01_small.png +0 -0
  390. data/public/images/buttons/orange/left_03.png +0 -0
  391. data/public/images/buttons/orange/right_03.png +0 -0
  392. data/public/images/buttons/right_01.png +0 -0
  393. data/public/images/buttons/right_01_small.png +0 -0
  394. data/public/images/buttons/sxsw-ribbon-v1.png +0 -0
  395. data/public/images/buttons/top-shine.png +0 -0
  396. data/public/images/cart-empty.png +0 -0
  397. data/public/images/cart-empty_x32.png +0 -0
  398. data/public/images/cart-full.png +0 -0
  399. data/public/images/cart-full_x32.png +0 -0
  400. data/public/images/checkout.png +0 -0
  401. data/public/images/drag-handle-green.png +0 -0
  402. data/public/images/green/left_01.png +0 -0
  403. data/public/images/green/right_01.png +0 -0
  404. data/public/images/grid.png +0 -0
  405. data/public/images/left_01.png +0 -0
  406. data/public/images/left_01_small.png +0 -0
  407. data/public/images/menu-current.png +0 -0
  408. data/public/images/menu-hover.png +0 -0
  409. data/public/images/orange/left_03.png +0 -0
  410. data/public/images/orange/right_03.png +0 -0
  411. data/public/images/right_01.png +0 -0
  412. data/public/images/right_01_small.png +0 -0
  413. data/public/images/separator.png +0 -0
  414. data/public/images/shadow-top.png +0 -0
  415. data/public/images/shadow_top.png +0 -0
  416. data/public/images/steps/1.png +0 -0
  417. data/public/images/steps/1_small.png +0 -0
  418. data/public/images/steps/2.png +0 -0
  419. data/public/images/steps/2_small.png +0 -0
  420. data/public/images/steps/3.png +0 -0
  421. data/public/images/steps/3_small.png +0 -0
  422. data/public/images/steps/4.png +0 -0
  423. data/public/images/steps/4_small.png +0 -0
  424. data/public/images/steps/5.png +0 -0
  425. data/public/images/steps/5_small.png +0 -0
  426. data/public/images/steps/6.png +0 -0
  427. data/public/images/steps/6_small.png +0 -0
  428. data/public/images/sxsw-ribbon-v1.png +0 -0
  429. data/public/images/top-shine.png +0 -0
  430. data/public/images/tree-nav-icons/treeview-loading.gif +0 -0
  431. data/public/images/tree-nav-icons/treeview-sprite.gif +0 -0
  432. data/public/images/update.png +0 -0
  433. data/public/images/wrapper-back-2.png +0 -0
  434. data/public/images/wrapper-back.png +0 -0
  435. data/public/images/yui-menubaritem_submenuindicator.png +0 -0
  436. data/public/images/yui-menubaritem_submenuindicator_disabled.png +0 -0
  437. data/public/images/yui-menuitem_checkbox.png +0 -0
  438. data/public/images/yui-menuitem_checkbox_disabled.png +0 -0
  439. data/public/images/yui-menuitem_submenuindicator.png +0 -0
  440. data/public/images/yui-menuitem_submenuindicator_disabled.png +0 -0
  441. data/public/images/yui-sprite.png +0 -0
  442. data/public/javascripts/checkout.js +191 -55
  443. data/public/javascripts/nested-attribute.js +25 -0
  444. data/public/javascripts/spree-yui.js +1 -1
  445. data/public/javascripts/yui-includes.js +57 -0
  446. data/public/javascripts/zone.js +48 -0
  447. data/public/stylesheets/admin/admin-forms.css +159 -0
  448. data/public/stylesheets/admin/admin-reset.css +67 -0
  449. data/public/stylesheets/admin/admin-tables.css +31 -0
  450. data/public/stylesheets/admin/admin-typography.css +117 -0
  451. data/public/stylesheets/admin/admin.css +426 -0
  452. data/public/stylesheets/admin/david-admin.css +210 -0
  453. data/public/stylesheets/admin/grids.css +314 -0
  454. data/public/stylesheets/admin/reset-fonts-grids-2-6-0.css +7 -0
  455. data/public/stylesheets/admin/yui-includes.css +14 -0
  456. data/public/stylesheets/compiled/ie.css +25 -0
  457. data/public/stylesheets/compiled/print.css +62 -0
  458. data/public/stylesheets/compiled/screen.css +1615 -0
  459. data/public/stylesheets/sass/ie.sass +3 -0
  460. data/public/stylesheets/sass/print.sass +3 -0
  461. data/public/stylesheets/sass/screen.sass +565 -0
  462. data/{vendor/extensions/shipping/spec/controllers → spec/controllers/admin}/shipments_controller_spec.rb +3 -3
  463. data/{vendor/extensions/shipping/spec → spec}/controllers/admin/shipping_categories_controller_spec.rb +0 -0
  464. data/{vendor/extensions/shipping/spec → spec}/controllers/admin/shipping_methods_controller_spec.rb +0 -0
  465. data/spec/controllers/countries_controller_spec.rb +3 -3
  466. data/spec/controllers/orders_controller_spec.rb +11 -9
  467. data/spec/controllers/states_controller_spec.rb +3 -3
  468. data/spec/helpers/spree/base_helper_spec.rb +5 -5
  469. data/spec/lib/easy_role_requirement_system_spec.rb +2 -2
  470. data/spec/models/address_spec.rb +3 -3
  471. data/spec/models/order_spec.rb +43 -1
  472. data/spec/models/product_property_spec.rb +0 -7
  473. data/spec/models/product_spec.rb +1 -1
  474. data/{vendor/extensions/shipping/spec → spec}/models/shipment_spec.rb +0 -0
  475. data/{vendor/extensions/shipping/spec → spec}/models/shipping_category_spec.rb +0 -0
  476. data/{vendor/extensions/shipping/spec → spec}/models/shipping_method_spec.rb +0 -0
  477. data/{vendor/extensions/shipping/spec → spec}/models/shipping_order_spec.rb +13 -6
  478. data/spec/models/tax_category_spec.rb +1 -1
  479. data/spec/models/zone_spec.rb +46 -42
  480. data/vendor/extensions/localization/app/views/shared/_language_bar.html.erb +8 -10
  481. data/vendor/extensions/localization/localization_extension.rb +2 -2
  482. data/vendor/extensions/payment_gateway/app/views/admin/gateway_configurations/_form.html.erb +5 -4
  483. data/vendor/extensions/payment_gateway/app/views/admin/gateway_configurations/edit.html.erb +4 -2
  484. data/vendor/extensions/payment_gateway/app/views/admin/gateway_option_values/_options.html.erb +4 -4
  485. data/vendor/extensions/payment_gateway/lib/spree/payment_gateway.rb +2 -2
  486. data/vendor/extensions/tax_calculator/app/controllers/admin/tax_settings_controller.rb +13 -0
  487. data/vendor/extensions/tax_calculator/app/views/admin/tax_rates/index.html.erb +27 -25
  488. data/vendor/extensions/tax_calculator/app/views/admin/tax_settings/edit.html.erb +17 -0
  489. data/vendor/extensions/tax_calculator/app/views/admin/tax_settings/show.html.erb +14 -0
  490. data/vendor/extensions/tax_calculator/config/locales/en-US.yml +2 -0
  491. data/vendor/extensions/tax_calculator/config/routes.rb +1 -0
  492. data/vendor/extensions/tax_calculator/lib/spree/vat_calculator.rb +3 -8
  493. data/vendor/extensions/tax_calculator/tax_calculator_extension.rb +1 -0
  494. data/vendor/gems/haml-2.1.0/FAQ +138 -0
  495. data/vendor/gems/haml-2.1.0/MIT-LICENSE +20 -0
  496. data/vendor/gems/haml-2.1.0/README.rdoc +332 -0
  497. data/vendor/gems/haml-2.1.0/REVISION +1 -0
  498. data/vendor/gems/haml-2.1.0/Rakefile +185 -0
  499. data/vendor/gems/haml-2.1.0/VERSION +1 -0
  500. data/vendor/gems/haml-2.1.0/bin/css2sass +7 -0
  501. data/vendor/gems/haml-2.1.0/bin/haml +9 -0
  502. data/vendor/gems/haml-2.1.0/bin/html2haml +7 -0
  503. data/vendor/gems/haml-2.1.0/bin/sass +8 -0
  504. data/vendor/gems/haml-2.1.0/extra/haml-mode.el +434 -0
  505. data/vendor/gems/haml-2.1.0/extra/sass-mode.el +98 -0
  506. data/vendor/gems/haml-2.1.0/init.rb +8 -0
  507. data/vendor/gems/haml-2.1.0/lib/haml.rb +1042 -0
  508. data/vendor/gems/haml-2.1.0/lib/haml/buffer.rb +255 -0
  509. data/vendor/gems/haml-2.1.0/lib/haml/engine.rb +268 -0
  510. data/vendor/gems/haml-2.1.0/lib/haml/error.rb +22 -0
  511. data/vendor/gems/haml-2.1.0/lib/haml/exec.rb +395 -0
  512. data/vendor/gems/haml-2.1.0/lib/haml/filters.rb +276 -0
  513. data/vendor/gems/haml-2.1.0/lib/haml/helpers.rb +468 -0
  514. data/vendor/gems/haml-2.1.0/lib/haml/helpers/action_view_extensions.rb +45 -0
  515. data/vendor/gems/haml-2.1.0/lib/haml/helpers/action_view_mods.rb +181 -0
  516. data/vendor/gems/haml-2.1.0/lib/haml/html.rb +218 -0
  517. data/vendor/gems/haml-2.1.0/lib/haml/precompiler.rb +889 -0
  518. data/vendor/gems/haml-2.1.0/lib/haml/shared.rb +45 -0
  519. data/vendor/gems/haml-2.1.0/lib/haml/template.rb +51 -0
  520. data/vendor/gems/haml-2.1.0/lib/haml/template/patch.rb +58 -0
  521. data/vendor/gems/haml-2.1.0/lib/haml/template/plugin.rb +72 -0
  522. data/vendor/gems/haml-2.1.0/lib/haml/util.rb +77 -0
  523. data/vendor/gems/haml-2.1.0/lib/haml/version.rb +47 -0
  524. data/vendor/gems/haml-2.1.0/lib/sass.rb +1062 -0
  525. data/vendor/gems/haml-2.1.0/lib/sass/css.rb +388 -0
  526. data/vendor/gems/haml-2.1.0/lib/sass/engine.rb +499 -0
  527. data/vendor/gems/haml-2.1.0/lib/sass/environment.rb +33 -0
  528. data/vendor/gems/haml-2.1.0/lib/sass/error.rb +35 -0
  529. data/vendor/gems/haml-2.1.0/lib/sass/plugin.rb +203 -0
  530. data/vendor/gems/haml-2.1.0/lib/sass/plugin/merb.rb +56 -0
  531. data/vendor/gems/haml-2.1.0/lib/sass/plugin/rails.rb +24 -0
  532. data/vendor/gems/haml-2.1.0/lib/sass/repl.rb +51 -0
  533. data/vendor/gems/haml-2.1.0/lib/sass/script.rb +38 -0
  534. data/vendor/gems/haml-2.1.0/lib/sass/script/bool.rb +13 -0
  535. data/vendor/gems/haml-2.1.0/lib/sass/script/color.rb +97 -0
  536. data/vendor/gems/haml-2.1.0/lib/sass/script/funcall.rb +28 -0
  537. data/vendor/gems/haml-2.1.0/lib/sass/script/functions.rb +122 -0
  538. data/vendor/gems/haml-2.1.0/lib/sass/script/lexer.rb +152 -0
  539. data/vendor/gems/haml-2.1.0/lib/sass/script/literal.rb +60 -0
  540. data/vendor/gems/haml-2.1.0/lib/sass/script/number.rb +231 -0
  541. data/vendor/gems/haml-2.1.0/lib/sass/script/operation.rb +30 -0
  542. data/vendor/gems/haml-2.1.0/lib/sass/script/parser.rb +142 -0
  543. data/vendor/gems/haml-2.1.0/lib/sass/script/string.rb +42 -0
  544. data/vendor/gems/haml-2.1.0/lib/sass/script/unary_operation.rb +21 -0
  545. data/vendor/gems/haml-2.1.0/lib/sass/script/variable.rb +20 -0
  546. data/vendor/gems/haml-2.1.0/lib/sass/tree/attr_node.rb +64 -0
  547. data/vendor/gems/haml-2.1.0/lib/sass/tree/comment_node.rb +34 -0
  548. data/vendor/gems/haml-2.1.0/lib/sass/tree/debug_node.rb +22 -0
  549. data/vendor/gems/haml-2.1.0/lib/sass/tree/directive_node.rb +50 -0
  550. data/vendor/gems/haml-2.1.0/lib/sass/tree/file_node.rb +27 -0
  551. data/vendor/gems/haml-2.1.0/lib/sass/tree/for_node.rb +29 -0
  552. data/vendor/gems/haml-2.1.0/lib/sass/tree/if_node.rb +27 -0
  553. data/vendor/gems/haml-2.1.0/lib/sass/tree/mixin_def_node.rb +18 -0
  554. data/vendor/gems/haml-2.1.0/lib/sass/tree/mixin_node.rb +34 -0
  555. data/vendor/gems/haml-2.1.0/lib/sass/tree/node.rb +99 -0
  556. data/vendor/gems/haml-2.1.0/lib/sass/tree/rule_node.rb +120 -0
  557. data/vendor/gems/haml-2.1.0/lib/sass/tree/variable_node.rb +24 -0
  558. data/vendor/gems/haml-2.1.0/lib/sass/tree/while_node.rb +20 -0
  559. data/vendor/gems/haml-2.1.0/rails/init.rb +1 -0
  560. data/vendor/gems/haml-2.1.0/test/benchmark.rb +99 -0
  561. data/vendor/gems/haml-2.1.0/test/haml/engine_test.rb +734 -0
  562. data/vendor/gems/haml-2.1.0/test/haml/helper_test.rb +224 -0
  563. data/vendor/gems/haml-2.1.0/test/haml/html2haml_test.rb +92 -0
  564. data/vendor/gems/haml-2.1.0/test/haml/markaby/standard.mab +52 -0
  565. data/vendor/gems/haml-2.1.0/test/haml/mocks/article.rb +6 -0
  566. data/vendor/gems/haml-2.1.0/test/haml/results/content_for_layout.xhtml +15 -0
  567. data/vendor/gems/haml-2.1.0/test/haml/results/eval_suppressed.xhtml +9 -0
  568. data/vendor/gems/haml-2.1.0/test/haml/results/filters.xhtml +62 -0
  569. data/vendor/gems/haml-2.1.0/test/haml/results/helpers.xhtml +93 -0
  570. data/vendor/gems/haml-2.1.0/test/haml/results/helpful.xhtml +10 -0
  571. data/vendor/gems/haml-2.1.0/test/haml/results/just_stuff.xhtml +68 -0
  572. data/vendor/gems/haml-2.1.0/test/haml/results/list.xhtml +12 -0
  573. data/vendor/gems/haml-2.1.0/test/haml/results/nuke_inner_whitespace.xhtml +40 -0
  574. data/vendor/gems/haml-2.1.0/test/haml/results/nuke_outer_whitespace.xhtml +148 -0
  575. data/vendor/gems/haml-2.1.0/test/haml/results/original_engine.xhtml +20 -0
  576. data/vendor/gems/haml-2.1.0/test/haml/results/partial_layout.xhtml +5 -0
  577. data/vendor/gems/haml-2.1.0/test/haml/results/partials.xhtml +21 -0
  578. data/vendor/gems/haml-2.1.0/test/haml/results/render_layout.xhtml +3 -0
  579. data/vendor/gems/haml-2.1.0/test/haml/results/silent_script.xhtml +74 -0
  580. data/vendor/gems/haml-2.1.0/test/haml/results/standard.xhtml +42 -0
  581. data/vendor/gems/haml-2.1.0/test/haml/results/tag_parsing.xhtml +23 -0
  582. data/vendor/gems/haml-2.1.0/test/haml/results/very_basic.xhtml +5 -0
  583. data/vendor/gems/haml-2.1.0/test/haml/results/whitespace_handling.xhtml +89 -0
  584. data/vendor/gems/haml-2.1.0/test/haml/rhtml/_av_partial_1.rhtml +12 -0
  585. data/vendor/gems/haml-2.1.0/test/haml/rhtml/_av_partial_2.rhtml +8 -0
  586. data/vendor/gems/haml-2.1.0/test/haml/rhtml/action_view.rhtml +62 -0
  587. data/vendor/gems/haml-2.1.0/test/haml/rhtml/standard.rhtml +54 -0
  588. data/vendor/gems/haml-2.1.0/test/haml/template_test.rb +204 -0
  589. data/vendor/gems/haml-2.1.0/test/haml/templates/_av_partial_1.haml +9 -0
  590. data/vendor/gems/haml-2.1.0/test/haml/templates/_av_partial_1_ugly.haml +9 -0
  591. data/vendor/gems/haml-2.1.0/test/haml/templates/_av_partial_2.haml +5 -0
  592. data/vendor/gems/haml-2.1.0/test/haml/templates/_av_partial_2_ugly.haml +5 -0
  593. data/vendor/gems/haml-2.1.0/test/haml/templates/_layout.erb +3 -0
  594. data/vendor/gems/haml-2.1.0/test/haml/templates/_layout_for_partial.haml +3 -0
  595. data/vendor/gems/haml-2.1.0/test/haml/templates/_partial.haml +8 -0
  596. data/vendor/gems/haml-2.1.0/test/haml/templates/_text_area.haml +3 -0
  597. data/vendor/gems/haml-2.1.0/test/haml/templates/action_view.haml +47 -0
  598. data/vendor/gems/haml-2.1.0/test/haml/templates/action_view_ugly.haml +47 -0
  599. data/vendor/gems/haml-2.1.0/test/haml/templates/breakage.haml +8 -0
  600. data/vendor/gems/haml-2.1.0/test/haml/templates/content_for_layout.haml +10 -0
  601. data/vendor/gems/haml-2.1.0/test/haml/templates/eval_suppressed.haml +11 -0
  602. data/vendor/gems/haml-2.1.0/test/haml/templates/filters.haml +66 -0
  603. data/vendor/gems/haml-2.1.0/test/haml/templates/helpers.haml +95 -0
  604. data/vendor/gems/haml-2.1.0/test/haml/templates/helpful.haml +11 -0
  605. data/vendor/gems/haml-2.1.0/test/haml/templates/just_stuff.haml +83 -0
  606. data/vendor/gems/haml-2.1.0/test/haml/templates/list.haml +12 -0
  607. data/vendor/gems/haml-2.1.0/test/haml/templates/nuke_inner_whitespace.haml +32 -0
  608. data/vendor/gems/haml-2.1.0/test/haml/templates/nuke_outer_whitespace.haml +144 -0
  609. data/vendor/gems/haml-2.1.0/test/haml/templates/original_engine.haml +17 -0
  610. data/vendor/gems/haml-2.1.0/test/haml/templates/partial_layout.haml +3 -0
  611. data/vendor/gems/haml-2.1.0/test/haml/templates/partialize.haml +1 -0
  612. data/vendor/gems/haml-2.1.0/test/haml/templates/partials.haml +12 -0
  613. data/vendor/gems/haml-2.1.0/test/haml/templates/render_layout.haml +2 -0
  614. data/vendor/gems/haml-2.1.0/test/haml/templates/silent_script.haml +40 -0
  615. data/vendor/gems/haml-2.1.0/test/haml/templates/standard.haml +42 -0
  616. data/vendor/gems/haml-2.1.0/test/haml/templates/standard_ugly.haml +42 -0
  617. data/vendor/gems/haml-2.1.0/test/haml/templates/tag_parsing.haml +21 -0
  618. data/vendor/gems/haml-2.1.0/test/haml/templates/very_basic.haml +4 -0
  619. data/vendor/gems/haml-2.1.0/test/haml/templates/whitespace_handling.haml +87 -0
  620. data/vendor/gems/haml-2.1.0/test/linked_rails.rb +12 -0
  621. data/vendor/gems/haml-2.1.0/test/sass/css2sass_test.rb +193 -0
  622. data/vendor/gems/haml-2.1.0/test/sass/engine_test.rb +769 -0
  623. data/vendor/gems/haml-2.1.0/test/sass/functions_test.rb +96 -0
  624. data/vendor/gems/haml-2.1.0/test/sass/more_results/more1.css +9 -0
  625. data/vendor/gems/haml-2.1.0/test/sass/more_results/more1_with_line_comments.css +26 -0
  626. data/vendor/gems/haml-2.1.0/test/sass/more_results/more_import.css +29 -0
  627. data/vendor/gems/haml-2.1.0/test/sass/more_templates/_more_partial.sass +2 -0
  628. data/vendor/gems/haml-2.1.0/test/sass/more_templates/more1.sass +23 -0
  629. data/vendor/gems/haml-2.1.0/test/sass/more_templates/more_import.sass +11 -0
  630. data/vendor/gems/haml-2.1.0/test/sass/plugin_test.rb +208 -0
  631. data/vendor/gems/haml-2.1.0/test/sass/results/alt.css +4 -0
  632. data/vendor/gems/haml-2.1.0/test/sass/results/basic.css +9 -0
  633. data/vendor/gems/haml-2.1.0/test/sass/results/compact.css +5 -0
  634. data/vendor/gems/haml-2.1.0/test/sass/results/complex.css +87 -0
  635. data/vendor/gems/haml-2.1.0/test/sass/results/compressed.css +1 -0
  636. data/vendor/gems/haml-2.1.0/test/sass/results/expanded.css +19 -0
  637. data/vendor/gems/haml-2.1.0/test/sass/results/import.css +29 -0
  638. data/vendor/gems/haml-2.1.0/test/sass/results/line_numbers.css +49 -0
  639. data/vendor/gems/haml-2.1.0/test/sass/results/mixins.css +95 -0
  640. data/vendor/gems/haml-2.1.0/test/sass/results/multiline.css +24 -0
  641. data/vendor/gems/haml-2.1.0/test/sass/results/nested.css +22 -0
  642. data/vendor/gems/haml-2.1.0/test/sass/results/parent_ref.css +13 -0
  643. data/vendor/gems/haml-2.1.0/test/sass/results/script.css +16 -0
  644. data/vendor/gems/haml-2.1.0/test/sass/results/subdir/nested_subdir/nested_subdir.css +1 -0
  645. data/vendor/gems/haml-2.1.0/test/sass/results/subdir/subdir.css +3 -0
  646. data/vendor/gems/haml-2.1.0/test/sass/results/units.css +11 -0
  647. data/vendor/gems/haml-2.1.0/test/sass/script_test.rb +153 -0
  648. data/vendor/gems/haml-2.1.0/test/sass/templates/_partial.sass +2 -0
  649. data/vendor/gems/haml-2.1.0/test/sass/templates/alt.sass +16 -0
  650. data/vendor/gems/haml-2.1.0/test/sass/templates/basic.sass +23 -0
  651. data/vendor/gems/haml-2.1.0/test/sass/templates/bork.sass +2 -0
  652. data/vendor/gems/haml-2.1.0/test/sass/templates/bork2.sass +2 -0
  653. data/vendor/gems/haml-2.1.0/test/sass/templates/compact.sass +17 -0
  654. data/vendor/gems/haml-2.1.0/test/sass/templates/complex.sass +309 -0
  655. data/vendor/gems/haml-2.1.0/test/sass/templates/compressed.sass +15 -0
  656. data/vendor/gems/haml-2.1.0/test/sass/templates/expanded.sass +17 -0
  657. data/vendor/gems/haml-2.1.0/test/sass/templates/import.sass +11 -0
  658. data/vendor/gems/haml-2.1.0/test/sass/templates/importee.sass +19 -0
  659. data/vendor/gems/haml-2.1.0/test/sass/templates/line_numbers.sass +13 -0
  660. data/vendor/gems/haml-2.1.0/test/sass/templates/mixins.sass +76 -0
  661. data/vendor/gems/haml-2.1.0/test/sass/templates/multiline.sass +20 -0
  662. data/vendor/gems/haml-2.1.0/test/sass/templates/nested.sass +25 -0
  663. data/vendor/gems/haml-2.1.0/test/sass/templates/parent_ref.sass +25 -0
  664. data/vendor/gems/haml-2.1.0/test/sass/templates/script.sass +101 -0
  665. data/vendor/gems/haml-2.1.0/test/sass/templates/subdir/nested_subdir/_nested_partial.sass +2 -0
  666. data/vendor/gems/haml-2.1.0/test/sass/templates/subdir/nested_subdir/nested_subdir.sass +3 -0
  667. data/vendor/gems/haml-2.1.0/test/sass/templates/subdir/subdir.sass +6 -0
  668. data/vendor/gems/haml-2.1.0/test/sass/templates/units.sass +11 -0
  669. data/vendor/gems/haml-2.1.0/test/test_helper.rb +21 -0
  670. data/vendor/plugins/enumerable_constants/lib/enumerable_constants.rb +1 -1
  671. data/vendor/plugins/find_by_param/README.markdown +1 -1
  672. metadata +544 -427
  673. data/app/controllers/account_controller.rb +0 -31
  674. data/app/controllers/checkout_controller.rb +0 -96
  675. data/app/helpers/payments_helper.rb +0 -2
  676. data/app/helpers/store_helper.rb +0 -3
  677. data/app/helpers/tax_categories_helper.rb +0 -2
  678. data/app/helpers/users_helper.rb +0 -2
  679. data/app/presenters/checkout_presenter.rb +0 -58
  680. data/app/presenters/payment_presenter.rb +0 -3
  681. data/app/views/admin/zones/_country.html.erb +0 -15
  682. data/app/views/admin/zones/_function.rjs +0 -11
  683. data/app/views/admin/zones/_state.html.erb +0 -15
  684. data/app/views/admin/zones/_zone.html.erb +0 -15
  685. data/app/views/admin/zones/index.js.erb +0 -1
  686. data/app/views/admin/zones/show.html.erb +0 -4
  687. data/app/views/checkout/_billing.html.erb +0 -49
  688. data/app/views/checkout/_form.html.erb +0 -33
  689. data/app/views/checkout/_payment.erb +0 -24
  690. data/app/views/checkout/_shipping.html.erb +0 -50
  691. data/app/views/checkout/_shipping_method.html.erb +0 -5
  692. data/app/views/checkout/new.html.erb +0 -6
  693. data/app/views/shared/_address.html.erb +0 -35
  694. data/app/views/shared/_form_address.html.erb +0 -46
  695. data/app/views/shared/_states.html.erb +0 -14
  696. data/app/views/users/index.html.erb +0 -21
  697. data/lib/authenticated_system.rb +0 -124
  698. data/lib/authenticated_test_helper.rb +0 -10
  699. data/public/stylesheets/checkout.css +0 -25
  700. data/public/stylesheets/fullscreen.css +0 -63
  701. data/public/stylesheets/orders/_controller.css +0 -82
  702. data/public/stylesheets/prototypes/_controller.css +0 -9
  703. data/public/stylesheets/spree-admin.css +0 -563
  704. data/public/stylesheets/spree.css +0 -420
  705. data/spec/helpers/tax_categories_helper_spec.rb +0 -11
  706. data/spec/views/admin/mail_settings/edit.html.erb_spec.rb +0 -14
  707. data/spec/views/admin/mail_settings/show.html.erb_spec.rb +0 -12
  708. data/spec/views/admin/products/edit.html.erb_spec.rb +0 -88
  709. data/spec/views/admin/variants/eidt.html.erb_spec.rb +0 -90
  710. data/vendor/extensions/shipping/README.markdown +0 -3
  711. data/vendor/extensions/shipping/Rakefile +0 -120
  712. data/vendor/extensions/shipping/app/controllers/admin/shipments_controller.rb +0 -68
  713. data/vendor/extensions/shipping/app/models/shipment_presenter.rb +0 -3
  714. data/vendor/extensions/shipping/app/views/admin/shipments/_form.html.erb +0 -35
  715. data/vendor/extensions/shipping/app/views/admin/shipments/edit.html.erb +0 -11
  716. data/vendor/extensions/shipping/app/views/admin/shipments/new.html.erb +0 -12
  717. data/vendor/extensions/shipping/app/views/admin/shipping_categories/index.html.erb +0 -24
  718. data/vendor/extensions/shipping/app/views/admin/shipping_methods/index.html.erb +0 -28
  719. data/vendor/extensions/shipping/config/locales/de.yml +0 -25
  720. data/vendor/extensions/shipping/config/locales/en-GB.yml +0 -25
  721. data/vendor/extensions/shipping/config/locales/en-US.yml +0 -25
  722. data/vendor/extensions/shipping/config/locales/es.yml +0 -25
  723. data/vendor/extensions/shipping/config/locales/it.yml +0 -25
  724. data/vendor/extensions/shipping/config/locales/nb-NO.yml +0 -25
  725. data/vendor/extensions/shipping/config/locales/pl.yml +0 -25
  726. data/vendor/extensions/shipping/config/locales/pt-BR.yml +0 -25
  727. data/vendor/extensions/shipping/config/locales/ru-RU.yml +0 -25
  728. data/vendor/extensions/shipping/config/routes.rb +0 -10
  729. data/vendor/extensions/shipping/db/sample/addresses.yml +0 -14
  730. data/vendor/extensions/shipping/db/sample/zone_members.yml +0 -16
  731. data/vendor/extensions/shipping/lib/spree/shipping_calculator.rb +0 -28
  732. data/vendor/extensions/shipping/lib/tasks/shipping_extension_tasks.rake +0 -29
  733. data/vendor/extensions/shipping/shipping_extension.rb +0 -40
  734. data/vendor/extensions/shipping/spec/spec.opts +0 -6
  735. data/vendor/extensions/shipping/spec/spec_helper.rb +0 -37
  736. data/vendor/extensions/tax_calculator/spec/controllers/admin/tax_rates_controller_spec.rb +0 -22
  737. data/vendor/extensions/tax_calculator/spec/models/order_tax_calc_spec.rb +0 -22
  738. data/vendor/gems/active_presenter-0.0.6/.specification +0 -64
  739. data/vendor/gems/active_presenter-0.0.6/LICENSE +0 -22
  740. data/vendor/gems/active_presenter-0.0.6/README +0 -82
  741. data/vendor/gems/active_presenter-0.0.6/Rakefile +0 -10
  742. data/vendor/gems/active_presenter-0.0.6/lib/active_presenter.rb +0 -7
  743. data/vendor/gems/active_presenter-0.0.6/lib/active_presenter/base.rb +0 -204
  744. data/vendor/gems/active_presenter-0.0.6/lib/active_presenter/version.rb +0 -9
  745. data/vendor/gems/active_presenter-0.0.6/lib/tasks/doc.rake +0 -19
  746. data/vendor/gems/active_presenter-0.0.6/lib/tasks/gem.rake +0 -62
  747. data/vendor/gems/active_presenter-0.0.6/test/base_test.rb +0 -188
  748. data/vendor/gems/active_presenter-0.0.6/test/test_helper.rb +0 -74
  749. data/vendor/plugins/calendar_date_select/History.txt +0 -231
  750. data/vendor/plugins/calendar_date_select/Manifest.txt +0 -42
  751. data/vendor/plugins/calendar_date_select/Rakefile +0 -31
  752. data/vendor/plugins/calendar_date_select/Readme.txt +0 -16
  753. data/vendor/plugins/calendar_date_select/calendar_date_select.gemspec +0 -33
  754. data/vendor/plugins/calendar_date_select/init.rb +0 -1
  755. data/vendor/plugins/calendar_date_select/js_test/functional/cds_test.html +0 -334
  756. data/vendor/plugins/calendar_date_select/js_test/prototype.js +0 -4184
  757. data/vendor/plugins/calendar_date_select/js_test/test.css +0 -40
  758. data/vendor/plugins/calendar_date_select/js_test/unit/cds_helper_methods.html +0 -46
  759. data/vendor/plugins/calendar_date_select/js_test/unittest.js +0 -564
  760. data/vendor/plugins/calendar_date_select/lib/calendar_date_select.rb +0 -33
  761. data/vendor/plugins/calendar_date_select/lib/calendar_date_select/calendar_date_select.rb +0 -116
  762. data/vendor/plugins/calendar_date_select/lib/calendar_date_select/form_helpers.rb +0 -223
  763. data/vendor/plugins/calendar_date_select/lib/calendar_date_select/includes_helper.rb +0 -29
  764. data/vendor/plugins/calendar_date_select/public/blank_iframe.html +0 -2
  765. data/vendor/plugins/calendar_date_select/public/images/calendar_date_select/calendar.gif +0 -0
  766. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/calendar_date_select.js +0 -443
  767. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_american.js +0 -34
  768. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_db.js +0 -27
  769. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_euro_24hr.js +0 -7
  770. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_euro_24hr_ymd.js +0 -7
  771. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_finnish.js +0 -32
  772. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_hyphen_ampm.js +0 -36
  773. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_iso_date.js +0 -46
  774. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/format_italian.js +0 -24
  775. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/de.js +0 -11
  776. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/fi.js +0 -10
  777. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/fr.js +0 -10
  778. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/pl.js +0 -10
  779. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/pt.js +0 -11
  780. data/vendor/plugins/calendar_date_select/public/javascripts/calendar_date_select/locale/ru.js +0 -10
  781. data/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/blue.css +0 -130
  782. data/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/default.css +0 -135
  783. data/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/plain.css +0 -128
  784. data/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/red.css +0 -135
  785. data/vendor/plugins/calendar_date_select/public/stylesheets/calendar_date_select/silver.css +0 -133
  786. data/vendor/plugins/calendar_date_select/spec/calendar_date_select/calendar_date_select_spec.rb +0 -14
  787. data/vendor/plugins/calendar_date_select/spec/calendar_date_select/form_helpers_spec.rb +0 -161
  788. data/vendor/plugins/calendar_date_select/spec/spec_helper.rb +0 -26
  789. data/vendor/plugins/has_many_polymorphs/CHANGELOG +0 -83
  790. data/vendor/plugins/has_many_polymorphs/LICENSE +0 -184
  791. data/vendor/plugins/has_many_polymorphs/Manifest +0 -174
  792. data/vendor/plugins/has_many_polymorphs/README +0 -205
  793. data/vendor/plugins/has_many_polymorphs/Rakefile +0 -28
  794. data/vendor/plugins/has_many_polymorphs/TODO +0 -2
  795. data/vendor/plugins/has_many_polymorphs/examples/hmph.rb +0 -69
  796. data/vendor/plugins/has_many_polymorphs/generators/tagging/tagging_generator.rb +0 -97
  797. data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/migration.rb +0 -28
  798. data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tag.rb +0 -39
  799. data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tag_test.rb +0 -15
  800. data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tagging.rb +0 -16
  801. data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tagging_extensions.rb +0 -159
  802. data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tagging_test.rb +0 -85
  803. data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/taggings.yml +0 -23
  804. data/vendor/plugins/has_many_polymorphs/generators/tagging/templates/tags.yml +0 -7
  805. data/vendor/plugins/has_many_polymorphs/init.rb +0 -2
  806. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs.rb +0 -27
  807. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/association.rb +0 -159
  808. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/autoload.rb +0 -70
  809. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/base.rb +0 -60
  810. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/class_methods.rb +0 -600
  811. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/configuration.rb +0 -19
  812. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/debugging_tools.rb +0 -103
  813. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/rake_task_redefine_task.rb +0 -35
  814. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/reflection.rb +0 -58
  815. data/vendor/plugins/has_many_polymorphs/lib/has_many_polymorphs/support_methods.rb +0 -84
  816. data/vendor/plugins/has_many_polymorphs/test/fixtures/bow_wows.yml +0 -10
  817. data/vendor/plugins/has_many_polymorphs/test/fixtures/cats.yml +0 -18
  818. data/vendor/plugins/has_many_polymorphs/test/fixtures/fish.yml +0 -12
  819. data/vendor/plugins/has_many_polymorphs/test/fixtures/frogs.yml +0 -5
  820. data/vendor/plugins/has_many_polymorphs/test/fixtures/keep_your_enemies_close.yml +0 -0
  821. data/vendor/plugins/has_many_polymorphs/test/fixtures/little_whale_pupils.yml +0 -0
  822. data/vendor/plugins/has_many_polymorphs/test/fixtures/people.yml +0 -7
  823. data/vendor/plugins/has_many_polymorphs/test/fixtures/petfoods.yml +0 -11
  824. data/vendor/plugins/has_many_polymorphs/test/fixtures/whales.yml +0 -5
  825. data/vendor/plugins/has_many_polymorphs/test/fixtures/wild_boars.yml +0 -10
  826. data/vendor/plugins/has_many_polymorphs/test/generator/tagging_generator_test.rb +0 -42
  827. data/vendor/plugins/has_many_polymorphs/test/integration/app/README +0 -182
  828. data/vendor/plugins/has_many_polymorphs/test/integration/app/Rakefile +0 -19
  829. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/controllers/application.rb +0 -7
  830. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/controllers/bones_controller.rb +0 -5
  831. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/addresses_helper.rb +0 -2
  832. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/application_helper.rb +0 -3
  833. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/bones_helper.rb +0 -2
  834. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/sellers_helper.rb +0 -28
  835. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/states_helper.rb +0 -2
  836. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/helpers/users_helper.rb +0 -2
  837. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/bone.rb +0 -2
  838. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/double_sti_parent.rb +0 -2
  839. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/double_sti_parent_relationship.rb +0 -2
  840. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/organic_substance.rb +0 -2
  841. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/single_sti_parent.rb +0 -4
  842. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/single_sti_parent_relationship.rb +0 -4
  843. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/stick.rb +0 -2
  844. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/models/stone.rb +0 -2
  845. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/addresses/edit.html.erb +0 -12
  846. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/addresses/index.html.erb +0 -18
  847. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/addresses/new.html.erb +0 -11
  848. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/addresses/show.html.erb +0 -3
  849. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/bones/index.rhtml +0 -5
  850. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/layouts/addresses.html.erb +0 -17
  851. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/layouts/sellers.html.erb +0 -17
  852. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/layouts/states.html.erb +0 -17
  853. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/layouts/users.html.erb +0 -17
  854. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/sellers/edit.html.erb +0 -12
  855. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/sellers/index.html.erb +0 -20
  856. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/sellers/new.html.erb +0 -11
  857. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/sellers/show.html.erb +0 -3
  858. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/states/edit.html.erb +0 -12
  859. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/states/index.html.erb +0 -19
  860. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/states/new.html.erb +0 -11
  861. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/states/show.html.erb +0 -3
  862. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/users/edit.html.erb +0 -12
  863. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/users/index.html.erb +0 -22
  864. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/users/new.html.erb +0 -11
  865. data/vendor/plugins/has_many_polymorphs/test/integration/app/app/views/users/show.html.erb +0 -3
  866. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/boot.rb +0 -110
  867. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/database.yml +0 -17
  868. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environment.rb +0 -19
  869. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environment.rb.canonical +0 -19
  870. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environments/development.rb +0 -8
  871. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environments/production.rb +0 -18
  872. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/environments/test.rb +0 -19
  873. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/routes.rb +0 -33
  874. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/ultrasphinx/default.base +0 -56
  875. data/vendor/plugins/has_many_polymorphs/test/integration/app/config/ultrasphinx/development.conf.canonical +0 -155
  876. data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/001_create_sticks.rb +0 -11
  877. data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/002_create_stones.rb +0 -11
  878. data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/003_create_organic_substances.rb +0 -11
  879. data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/004_create_bones.rb +0 -8
  880. data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/005_create_single_sti_parents.rb +0 -11
  881. data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/006_create_double_sti_parents.rb +0 -11
  882. data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/007_create_single_sti_parent_relationships.rb +0 -13
  883. data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/008_create_double_sti_parent_relationships.rb +0 -14
  884. data/vendor/plugins/has_many_polymorphs/test/integration/app/db/migrate/009_create_library_model.rb +0 -11
  885. data/vendor/plugins/has_many_polymorphs/test/integration/app/doc/README_FOR_APP +0 -2
  886. data/vendor/plugins/has_many_polymorphs/test/integration/app/generators/commenting_generator_test.rb +0 -83
  887. data/vendor/plugins/has_many_polymorphs/test/integration/app/lib/library_model.rb +0 -2
  888. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/404.html +0 -30
  889. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/500.html +0 -30
  890. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/dispatch.cgi +0 -10
  891. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/dispatch.fcgi +0 -24
  892. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/dispatch.rb +0 -10
  893. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/favicon.ico +0 -0
  894. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/images/rails.png +0 -0
  895. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/index.html +0 -277
  896. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/application.js +0 -2
  897. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/controls.js +0 -833
  898. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/dragdrop.js +0 -942
  899. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/effects.js +0 -1088
  900. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/javascripts/prototype.js +0 -2515
  901. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/robots.txt +0 -1
  902. data/vendor/plugins/has_many_polymorphs/test/integration/app/public/stylesheets/scaffold.css +0 -74
  903. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/about +0 -3
  904. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/breakpointer +0 -3
  905. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/console +0 -3
  906. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/destroy +0 -3
  907. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/generate +0 -3
  908. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/performance/benchmarker +0 -3
  909. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/performance/profiler +0 -3
  910. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/plugin +0 -3
  911. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/process/inspector +0 -3
  912. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/process/reaper +0 -3
  913. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/process/spawner +0 -3
  914. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/runner +0 -3
  915. data/vendor/plugins/has_many_polymorphs/test/integration/app/script/server +0 -3
  916. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/double_sti_parent_relationships.yml +0 -7
  917. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/double_sti_parents.yml +0 -7
  918. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/organic_substances.yml +0 -5
  919. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/single_sti_parent_relationships.yml +0 -7
  920. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/single_sti_parents.yml +0 -7
  921. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/sticks.yml +0 -7
  922. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/fixtures/stones.yml +0 -7
  923. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/addresses_controller_test.rb +0 -57
  924. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/bones_controller_test.rb +0 -8
  925. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/sellers_controller_test.rb +0 -57
  926. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/states_controller_test.rb +0 -57
  927. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/functional/users_controller_test.rb +0 -57
  928. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/test_helper.rb +0 -8
  929. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/bone_test.rb +0 -8
  930. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/double_sti_parent_relationship_test.rb +0 -8
  931. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/double_sti_parent_test.rb +0 -8
  932. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/organic_substance_test.rb +0 -8
  933. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/single_sti_parent_relationship_test.rb +0 -8
  934. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/single_sti_parent_test.rb +0 -8
  935. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/stick_test.rb +0 -8
  936. data/vendor/plugins/has_many_polymorphs/test/integration/app/test/unit/stone_test.rb +0 -8
  937. data/vendor/plugins/has_many_polymorphs/test/integration/server_test.rb +0 -43
  938. data/vendor/plugins/has_many_polymorphs/test/models/aquatic/fish.rb +0 -5
  939. data/vendor/plugins/has_many_polymorphs/test/models/aquatic/pupils_whale.rb +0 -7
  940. data/vendor/plugins/has_many_polymorphs/test/models/aquatic/whale.rb +0 -15
  941. data/vendor/plugins/has_many_polymorphs/test/models/beautiful_fight_relationship.rb +0 -26
  942. data/vendor/plugins/has_many_polymorphs/test/models/canine.rb +0 -9
  943. data/vendor/plugins/has_many_polymorphs/test/models/cat.rb +0 -5
  944. data/vendor/plugins/has_many_polymorphs/test/models/dog.rb +0 -18
  945. data/vendor/plugins/has_many_polymorphs/test/models/eaters_foodstuff.rb +0 -10
  946. data/vendor/plugins/has_many_polymorphs/test/models/frog.rb +0 -4
  947. data/vendor/plugins/has_many_polymorphs/test/models/kitten.rb +0 -3
  948. data/vendor/plugins/has_many_polymorphs/test/models/parentship.rb +0 -4
  949. data/vendor/plugins/has_many_polymorphs/test/models/person.rb +0 -9
  950. data/vendor/plugins/has_many_polymorphs/test/models/petfood.rb +0 -39
  951. data/vendor/plugins/has_many_polymorphs/test/models/tabby.rb +0 -2
  952. data/vendor/plugins/has_many_polymorphs/test/models/wild_boar.rb +0 -3
  953. data/vendor/plugins/has_many_polymorphs/test/modules/extension_module.rb +0 -9
  954. data/vendor/plugins/has_many_polymorphs/test/modules/other_extension_module.rb +0 -9
  955. data/vendor/plugins/has_many_polymorphs/test/patches/symlinked_plugins_1.2.6.diff +0 -46
  956. data/vendor/plugins/has_many_polymorphs/test/schema.rb +0 -87
  957. data/vendor/plugins/has_many_polymorphs/test/setup.rb +0 -14
  958. data/vendor/plugins/has_many_polymorphs/test/test_helper.rb +0 -51
  959. data/vendor/plugins/has_many_polymorphs/test/unit/has_many_polymorphs_test.rb +0 -714
@@ -1,33 +0,0 @@
1
- require "calendar_date_select/calendar_date_select.rb"
2
- require "calendar_date_select/form_helpers.rb"
3
- require "calendar_date_select/includes_helper.rb"
4
-
5
- if Object.const_defined?(:Rails) && File.directory?(Rails.root + "/public")
6
- ActionView::Helpers::FormHelper.send(:include, CalendarDateSelect::FormHelpers)
7
- ActionView::Base.send(:include, CalendarDateSelect::FormHelpers)
8
- ActionView::Base.send(:include, CalendarDateSelect::IncludesHelper)
9
-
10
- # Filthy backwards compatibility hooks... grumble
11
- if ([Rails::VERSION::MAJOR, Rails::VERSION::MINOR] <=> [2, 2]) == -1
12
- ActionView::Helpers::InstanceTag.class_eval do
13
- def self.new_with_backwards_compatibility(object_name, method_name, template_object, object = nil)
14
- new(object_name, method_name, template_object, nil, object)
15
- end
16
- end
17
-
18
- else
19
- ActionView::Helpers::InstanceTag.class_eval do
20
- class << self; alias new_with_backwards_compatibility new; end
21
- end
22
- end
23
-
24
- # install files
25
- unless File.exists?(RAILS_ROOT + '/public/javascripts/calendar_date_select/calendar_date_select.js')
26
- ['/public', '/public/javascripts/calendar_date_select', '/public/stylesheets/calendar_date_select', '/public/images/calendar_date_select', '/public/javascripts/calendar_date_select/locale'].each do |dir|
27
- source = File.dirname(__FILE__) + "/../#{dir}"
28
- dest = RAILS_ROOT + dir
29
- FileUtils.mkdir_p(dest)
30
- FileUtils.cp(Dir.glob(source+'/*.*'), dest)
31
- end
32
- end
33
- end
@@ -1,116 +0,0 @@
1
- module CalendarDateSelect
2
- VERSION = '1.13'
3
- FORMATS = {
4
- :natural => {
5
- :date => "%B %d, %Y",
6
- :time => " %I:%M %p"
7
- },
8
- :hyphen_ampm => {
9
- :date => "%Y-%m-%d",
10
- :time => " %I:%M %p",
11
- :javascript_include => "format_hyphen_ampm"
12
- },
13
- :iso_date => {
14
- :date => "%Y-%m-%d",
15
- :time => " %H:%M",
16
- :javascript_include => "format_iso_date"
17
- },
18
- :finnish => {
19
- :date => "%d.%m.%Y",
20
- :time => " %H:%M",
21
- :javascript_include => "format_finnish"
22
- },
23
- :american => {
24
- :date => "%m/%d/%Y",
25
- :time => " %I:%M %p",
26
- :javascript_include => "format_american"
27
- },
28
- :euro_24hr => {
29
- :date => "%d %B %Y",
30
- :time => " %H:%M",
31
- :javascript_include => "format_euro_24hr"
32
- },
33
- :euro_24hr_ymd => {
34
- :date => "%Y.%m.%d",
35
- :time => " %H:%M",
36
- :javascript_include => "format_euro_24hr_ymd"
37
- },
38
- :italian => {
39
- :date => "%d/%m/%Y",
40
- :time => " %H:%M",
41
- :javascript_include => "format_italian"
42
- },
43
- :db => {
44
- :date => "%Y-%m-%d",
45
- :time => " %H:%M",
46
- :javascript_include => "format_db"
47
- }
48
- }
49
-
50
- # Returns the default_options hash. These options are by default provided to every calendar_date_select control, unless otherwise overrided.
51
- #
52
- # Example:
53
- # # At the bottom of config/environment.rb:
54
- # CalendarDateSelect.default_options.update(
55
- # :popup => "force",
56
- # :month_year => "label",
57
- # :image => "custom_calendar_picker.png"
58
- # )
59
- def self.default_options
60
- @default_options ||= { :image => "calendar_date_select/calendar.gif" }
61
- end
62
-
63
- # Set the picker image. Provide the image url the same way you would provide it to image_tag
64
- def self.image=(value)
65
- default_options[:image] = value
66
- end
67
-
68
- # Returns the options for the given format
69
- #
70
- # Example:
71
- # CalendarDateSelect.format = :italian
72
- # puts CalendarDateSelect.format[:date]
73
- # => "%d/%m/%Y"
74
- def self.format
75
- @format ||= FORMATS[:natural]
76
- end
77
-
78
- # Set the format. To see a list of available formats, CalendarDateSelect::FORMATS.keys, or open lib/calendar_date_select/calendar_date_select.rb
79
- #
80
- # (e.g. CalendarDateSelect.format = :italian)
81
- def self.format=(format)
82
- raise "CalendarDateSelect: Unrecognized format specification: #{format}" unless FORMATS.has_key?(format)
83
- @format = FORMATS[format]
84
- end
85
-
86
- def self.date_format_string(time = false)
87
- format[:date] + (time ? format[:time] : "")
88
- end
89
-
90
- def self.format_date(date)
91
- if date.is_a?(Date)
92
- date.strftime(date_format_string(false))
93
- else
94
- date.strftime(date_format_string(true))
95
- end
96
- end
97
-
98
- def self.format_time(value, options = {})
99
- return value unless value.respond_to?("strftime")
100
- if options[:time]
101
- format_date(value)
102
- else
103
- format_date(value.to_date)
104
- end
105
- end
106
-
107
- # Detects the presence of time in a date, string
108
- def self.has_time?(value)
109
- case value
110
- when DateTime, Time then true
111
- when Date then false
112
- else
113
- /[0-9]:[0-9]{2}/.match(value.to_s) ? true : false
114
- end
115
- end
116
- end
@@ -1,223 +0,0 @@
1
- # Various helpers available for use in your view
2
- module CalendarDateSelect::FormHelpers
3
-
4
- # Similar to text_field_tag, but adds a calendar picker, naturally.
5
- #
6
- # == Arguments
7
- #
8
- # +name+ - the html name of the tag
9
- # +value+ - When specified as a string, uses value verbatim. When Date, DateTime, Time, it converts it to a string basd off the format set by CalendarDateSelect#format=
10
- # +options+ - ...
11
- #
12
- # == Options
13
- #
14
- # === :embedded
15
- #
16
- # Put the calendar straight into the form, rather than using a popup type of form.
17
- #
18
- # <%= calendar_date_select_tag "name", "2007-01-01", :embedded => true %>
19
- #
20
- # === :hidden
21
- #
22
- # Use a hidden element instead of a text box for a pop up calendar. Not compatible with :embedded => true. You'll probably want to use an onchange callback to do something with the value.
23
- #
24
- # <span id='cds_value' />
25
- # <%= calendar_date_select_tag "hidden_date_selector", "", :hidden => "true", :onchange => "$('cds_value').update($F(this));" %>
26
- #
27
- # === :image
28
- #
29
- # Specify an alternative icon to use for the date picker.
30
- #
31
- # To use /images/groovy.png:
32
- #
33
- # <%= calendar_date_select_tag "altered_image", "", :image => "groovy.png" %>
34
- #
35
- # === :minute_interval
36
- #
37
- # Specifies the minute interval used in the hour/minute selector. Default is 5.
38
- #
39
- # <%= calendar_date_select_tag "month_year_selector_label", "", :minute_interval => 15 %>
40
- #
41
- # === :month_year
42
- #
43
- # Customize the month and year selectors at the top of the control.
44
- #
45
- # Valid values:
46
- # * "dropdowns" (default) - Use a separate dropdown control for both the month and year
47
- # * "label" - Use static text to show the month and the year.
48
- #
49
- # <%= calendar_date_select_tag "month_year_selector_label", "", :month_year => "label" %>
50
- #
51
- # === :popup => 'force'
52
- #
53
- # Forces the user to use the popup calendar by making it's text-box read-only and causing calendar_date_select to override it's default behavior of not allowing selection of a date on a target element that is read-only.
54
- #
55
- # <%= calendar_date_select_tag "name", "2007-01-01", :popup => "force" %>
56
- #
57
- # === :time
58
- #
59
- # Show time in the controls. There's three options:
60
- #
61
- # * +true+ - show an hour/minute selector.
62
- # * +false+ - don't show an hour/minute selector.
63
- # * +"mixed"+ - Show an hour/minute selector, but include a "all day" option - allowing them to choose whether or not to specify a time.
64
- #
65
- # === :year_range
66
- #
67
- # Limit the year range. You can pass in an array or range of ruby Date/Time objects or FixNum's.
68
- #
69
- # <%= calendar_date_select_tag "e_date", nil, :year_range => 10.years.ago..0.years.from_now %>
70
- # <%= calendar_date_select_tag "e_date", nil, :year_range => [0.years.ago, 10.years.from_now] %>
71
- # <%= calendar_date_select_tag "e_date", nil, :year_range => 2000..2007 %>
72
- # <%= calendar_date_select_tag "e_date", nil, :year_range => [2000, 2007] %>
73
- #
74
- # == CALLBACKS
75
- #
76
- # The following callbacks are available:
77
- #
78
- # * before_show / after_show
79
- # * before_close / after_close
80
- # * after_navigate - Called when navigating to a different month. Passes first parameter as a date object refering to the current month viewed
81
- # * onchange - Called when the form input value changes
82
- #
83
- # <%= calendar_date_select_tag "event_demo", "",
84
- # :before_show => "log('Calendar Showing');" ,
85
- # :after_show => "log('Calendar Shown');" ,
86
- # :before_close => "log('Calendar closing');" ,
87
- # :after_close => "log('Calendar closed');",
88
- # :after_navigate => "log('Current month is ' + (param.getMonth()+1) + '/' + (param.getFullYear()));",
89
- # :onchange => "log('value changed to - ' + $F(this));"
90
- #
91
- # }}}
92
- #
93
- # All callbacks are executed within the context of the target input element. If you'd like to access the CalendarDateSelect object itself, you can access it via "this.calendar_date_select".
94
- #
95
- # For example:
96
- #
97
- # <%= calendar_date_select_tag "event_demo", "", :after_navigate => "alert('The current selected month is ' + this.calendar_date_select.selected_date.getMonth());" ,
98
- def calendar_date_select_tag( name, value = nil, options = {})
99
- options, javascript_options = calendar_date_select_process_options(options)
100
- value = CalendarDateSelect.format_time(value, javascript_options)
101
-
102
- javascript_options.delete(:format)
103
-
104
- options[:id] ||= name
105
- tag = javascript_options[:hidden] || javascript_options[:embedded] ?
106
- hidden_field_tag(name, value, options) :
107
- text_field_tag(name, value, options)
108
-
109
- calendar_date_select_output(tag, options, javascript_options)
110
- end
111
-
112
- # Similar to the difference between +text_field_tag+ and +text_field+, this method behaves like +text_field+
113
- #
114
- # It receives the same options as +calendar_date_select_tag+. Need for time selection is automatically detected by checking the corresponding column meta information of Model#columns_hash
115
- def calendar_date_select(object, method, options={})
116
- obj = options[:object] || instance_variable_get("@#{object}")
117
-
118
- if !options.include?(:time) && obj.class.respond_to?("columns_hash")
119
- column_type = (obj.class.columns_hash[method.to_s].type rescue nil)
120
- options[:time] = true if column_type == :datetime
121
- end
122
-
123
- use_time = options[:time]
124
-
125
- if options[:time].to_s=="mixed"
126
- use_time = false if Date===(obj.respond_to?(method) && obj.send(method))
127
- end
128
-
129
- options, javascript_options = calendar_date_select_process_options(options)
130
-
131
- options[:value] ||=
132
- if(obj.respond_to?(method) && obj.send(method).respond_to?(:strftime))
133
- obj.send(method).strftime(CalendarDateSelect.date_format_string(use_time))
134
- elsif obj.respond_to?("#{method}_before_type_cast")
135
- obj.send("#{method}_before_type_cast")
136
- elsif obj.respond_to?(method)
137
- obj.send(method).to_s
138
- else
139
- nil
140
- end
141
-
142
- tag = ActionView::Helpers::InstanceTag.new_with_backwards_compatibility(object, method, self, options.delete(:object))
143
- calendar_date_select_output(
144
- tag.to_input_field_tag( (javascript_options[:hidden] || javascript_options[:embedded]) ? "hidden" : "text", options),
145
- options,
146
- javascript_options
147
- )
148
- end
149
-
150
- private
151
- # extracts any options passed into calendar date select, appropriating them to either the Javascript call or the html tag.
152
- def calendar_date_select_process_options(options)
153
- options, javascript_options = CalendarDateSelect.default_options.merge(options), {}
154
- callbacks = [:before_show, :before_close, :after_show, :after_close, :after_navigate]
155
- for key in [:time, :valid_date_check, :embedded, :buttons, :clear_button, :format, :year_range, :month_year, :popup, :hidden, :minute_interval] + callbacks
156
- javascript_options[key] = options.delete(key) if options.has_key?(key)
157
- end
158
-
159
- # if passing in mixed, pad it with single quotes
160
- javascript_options[:time] = "'mixed'" if javascript_options[:time].to_s=="mixed"
161
- javascript_options[:month_year] = "'#{javascript_options[:month_year]}'" if javascript_options[:month_year]
162
-
163
- # if we are forcing the popup, automatically set the readonly property on the input control.
164
- if javascript_options[:popup].to_s == "force"
165
- javascript_options[:popup] = "'force'"
166
- options[:readonly] = true
167
- end
168
-
169
- if (vdc=javascript_options.delete(:valid_date_check))
170
- if vdc.include?(";") || vdc.include?("function")
171
- raise ArgumentError, ":valid_date_check function is missing a 'return' statement. Try something like: :valid_date_check => 'if (date > new(Date)) return true; else return false;'" unless vdc.include?("return");
172
- end
173
-
174
- vdc = "return(#{vdc})" unless vdc.include?("return")
175
- vdc = "function(date) { #{vdc} }" unless vdc.include?("function")
176
- javascript_options[:valid_date_check] = vdc
177
- end
178
-
179
- javascript_options[:popup_by] ||= "this" if javascript_options[:hidden]
180
-
181
- # surround any callbacks with a function, if not already done so
182
- for key in callbacks
183
- javascript_options[key] = "function(param) { #{javascript_options[key]} }" unless javascript_options[key].include?("function") if javascript_options[key]
184
- end
185
-
186
- javascript_options[:year_range] = format_year_range(javascript_options[:year_range] || 10)
187
- [options, javascript_options]
188
- end
189
-
190
- def calendar_date_select_output(input, options = {}, javascript_options = {})
191
- out = input
192
- if javascript_options[:embedded]
193
- uniq_id = "cds_placeholder_#{(rand*100000).to_i}"
194
- # we need to be able to locate the target input element, so lets stick an invisible span tag here we can easily locate
195
- out << content_tag(:span, nil, :style => "display: none; position: absolute;", :id => uniq_id)
196
- out << javascript_tag("new CalendarDateSelect( $('#{uniq_id}').previous(), #{options_for_javascript(javascript_options)} ); ")
197
- else
198
- out << " "
199
- out << image_tag(options[:image],
200
- :onclick => "new CalendarDateSelect( $(this).previous(), #{options_for_javascript(javascript_options)} );",
201
- :style => 'border:0px; cursor:pointer;',
202
- :class=>'calendar_date_select_popup_icon')
203
- end
204
- out
205
- end
206
-
207
- def format_year_range(year) # nodoc
208
- return year unless year.respond_to?(:first)
209
- return "[#{year.first}, #{year.last}]" unless year.first.respond_to?(:strftime)
210
- return "[#{year.first.year}, #{year.last.year}]"
211
- end
212
- end
213
-
214
- # Helper method for form builders
215
- module ActionView
216
- module Helpers
217
- class FormBuilder
218
- def calendar_date_select(method, options = {})
219
- @template.calendar_date_select(@object_name, method, options.merge(:object => @object))
220
- end
221
- end
222
- end
223
- end
@@ -1,29 +0,0 @@
1
- module CalendarDateSelect::IncludesHelper
2
- # returns the selected calendar_date_select stylesheet (not an array)
3
- def calendar_date_select_stylesheets(options = {})
4
- options.assert_valid_keys(:style)
5
- "calendar_date_select/#{options[:style] || "default"}"
6
- end
7
-
8
- # returns an array of javascripts needed for the selected locale, date_format, and calendar control itself.
9
- def calendar_date_select_javascripts(options = {})
10
- options.assert_valid_keys(:format, :locale)
11
- files = ["calendar_date_select/calendar_date_select"]
12
- files << "calendar_date_select/locale/#{options[:locale]}" if options[:locale]
13
- files << "calendar_date_select/#{CalendarDateSelect.format[:javascript_include]}" if CalendarDateSelect.format[:javascript_include]
14
- files
15
- end
16
-
17
- # returns html necessary to load javascript and css to make calendar_date_select work
18
- def calendar_date_select_includes(*args)
19
- return "" if @cds_already_included
20
- @cds_already_included=true
21
-
22
- options = (Hash === args.last) ? args.pop : {}
23
- options.assert_valid_keys(:style, :format, :locale)
24
- options[:style] ||= args.shift
25
-
26
- javascript_include_tag(*calendar_date_select_javascripts(:locale => options[:locale], :format => options[:format])) + "\n" +
27
- stylesheet_link_tag(*calendar_date_select_stylesheets(:style => options[:style])) + "\n"
28
- end
29
- end
@@ -1,2 +0,0 @@
1
- <!-- Nothing here; part of the calendar_date_select plugin -->
2
- <html><head></head><body></body></html>
@@ -1,443 +0,0 @@
1
- // CalendarDateSelect version 1.13 - a prototype based date picker
2
- // Questions, comments, bugs? - see the project page: http://code.google.com/p/calendardateselect
3
- if (typeof Prototype == 'undefined') alert("CalendarDateSelect Error: Prototype could not be found. Please make sure that your application's layout includes prototype.js (.g. <%= javascript_include_tag :defaults %>) *before* it includes calendar_date_select.js (.g. <%= calendar_date_select_includes %>).");
4
- if (Prototype.Version < "1.6") alert("Prototype 1.6.0 is required. If using earlier version of prototype, please use calendar_date_select version 1.8.3");
5
-
6
- Element.addMethods({
7
- purgeChildren: function(element) { $A(element.childNodes).each(function(e){$(e).remove();}); },
8
- build: function(element, type, options, style) {
9
- var newElement = Element.buildAndAppend(type, options, style);
10
- element.appendChild(newElement);
11
- return newElement;
12
- }
13
- });
14
-
15
- Element.buildAndAppend = function(type, options, style)
16
- {
17
- var e = $(document.createElement(type));
18
- $H(options).each(function(pair) { e[pair.key] = pair.value });
19
- if (style) e.setStyle(style);
20
- return e;
21
- };
22
- nil = null;
23
-
24
- Date.one_day = 24*60*60*1000;
25
- Date.weekdays = $w("S M T W T F S");
26
- Date.first_day_of_week = 0;
27
- Date.months = $w("January February March April May June July August September October November December" );
28
- Date.padded2 = function(hour) { var padded2 = parseInt(hour, 10); if (hour < 10) padded2 = "0" + padded2; return padded2; }
29
- Date.prototype.getPaddedMinutes = function() { return Date.padded2(this.getMinutes()); }
30
- Date.prototype.getAMPMHour = function() { var hour = this.getHours(); return (hour == 0) ? 12 : (hour > 12 ? hour - 12 : hour ) }
31
- Date.prototype.getAMPM = function() { return (this.getHours() < 12) ? "AM" : "PM"; }
32
- Date.prototype.stripTime = function() { return new Date(this.getFullYear(), this.getMonth(), this.getDate());};
33
- Date.prototype.daysDistance = function(compare_date) { return Math.round((compare_date - this) / Date.one_day); };
34
- Date.prototype.toFormattedString = function(include_time){
35
- var hour, str;
36
- str = Date.months[this.getMonth()] + " " + this.getDate() + ", " + this.getFullYear();
37
-
38
- if (include_time) { hour = this.getHours(); str += " " + this.getAMPMHour() + ":" + this.getPaddedMinutes() + " " + this.getAMPM() }
39
- return str;
40
- }
41
- Date.parseFormattedString = function(string) { return new Date(string);}
42
- Math.floor_to_interval = function(n, i) { return Math.floor(n/i) * i;}
43
- window.f_height = function() { return( [window.innerHeight ? window.innerHeight : null, document.documentElement ? document.documentElement.clientHeight : null, document.body ? document.body.clientHeight : null].select(function(x){return x>0}).first()||0); }
44
- window.f_scrollTop = function() { return ([window.pageYOffset ? window.pageYOffset : null, document.documentElement ? document.documentElement.scrollTop : null, document.body ? document.body.scrollTop : null].select(function(x){return x>0}).first()||0 ); }
45
-
46
- _translations = {
47
- "OK": "OK",
48
- "Now": "Now",
49
- "Today": "Today",
50
- "Clear": "Clear"
51
- }
52
- SelectBox = Class.create();
53
- SelectBox.prototype = {
54
- initialize: function(parent_element, values, html_options, style_options) {
55
- this.element = $(parent_element).build("select", html_options, style_options);
56
- this.populate(values);
57
- },
58
- populate: function(values) {
59
- this.element.purgeChildren();
60
- var that = this; $A(values).each(function(pair) { if (typeof(pair)!="object") {pair = [pair, pair]}; that.element.build("option", { value: pair[1], innerHTML: pair[0]}) });
61
- },
62
- setValue: function(value) {
63
- var e = this.element;
64
- var matched = false;
65
- $R(0, e.options.length - 1 ).each(function(i) { if(e.options[i].value==value.toString()) {e.selectedIndex = i; matched = true;}; } );
66
- return matched;
67
- },
68
- getValue: function() { return $F(this.element)}
69
- }
70
- CalendarDateSelect = Class.create();
71
- CalendarDateSelect.prototype = {
72
- initialize: function(target_element, options) {
73
- this.target_element = $(target_element); // make sure it's an element, not a string
74
- if (!this.target_element) { alert("Target element " + target_element + " not found!"); return false;}
75
- if (this.target_element.tagName != "INPUT") this.target_element = this.target_element.down("INPUT")
76
-
77
- this.target_element.calendar_date_select = this;
78
- this.last_click_at = 0;
79
- // initialize the date control
80
- this.options = $H({
81
- embedded: false,
82
- popup: nil,
83
- time: false,
84
- buttons: true,
85
- clear_button: true,
86
- year_range: 10,
87
- close_on_click: nil,
88
- minute_interval: 5,
89
- popup_by: this.target_element,
90
- month_year: "dropdowns",
91
- onchange: this.target_element.onchange,
92
- valid_date_check: nil
93
- }).merge(options || {});
94
- this.use_time = this.options.get("time");
95
- this.parseDate();
96
- this.callback("before_show")
97
- this.initCalendarDiv();
98
- if(!this.options.get("embedded")) {
99
- this.positionCalendarDiv()
100
- // set the click handler to check if a user has clicked away from the document
101
- Event.observe(document, "mousedown", this.closeIfClickedOut_handler = this.closeIfClickedOut.bindAsEventListener(this));
102
- Event.observe(document, "keypress", this.keyPress_handler = this.keyPress.bindAsEventListener(this));
103
- }
104
- this.callback("after_show")
105
- },
106
- positionCalendarDiv: function() {
107
- var above = false;
108
- var c_pos = this.calendar_div.cumulativeOffset(), c_left = c_pos[0], c_top = c_pos[1], c_dim = this.calendar_div.getDimensions(), c_height = c_dim.height, c_width = c_dim.width;
109
- var w_top = window.f_scrollTop(), w_height = window.f_height();
110
- var e_dim = $(this.options.get("popup_by")).cumulativeOffset(), e_top = e_dim[1], e_left = e_dim[0], e_height = $(this.options.get("popup_by")).getDimensions().height, e_bottom = e_top + e_height;
111
-
112
- if ( (( e_bottom + c_height ) > (w_top + w_height)) && ( e_bottom - c_height > w_top )) above = true;
113
- var left_px = e_left.toString() + "px", top_px = (above ? (e_top - c_height ) : ( e_top + e_height )).toString() + "px";
114
-
115
- this.calendar_div.style.left = left_px; this.calendar_div.style.top = top_px;
116
-
117
- this.calendar_div.setStyle({visibility:""});
118
-
119
- // draw an iframe behind the calendar -- ugly hack to make IE 6 happy
120
- if(navigator.appName=="Microsoft Internet Explorer") this.iframe = $(document.body).build("iframe", {src: "javascript:false", className: "ie6_blocker"}, { left: left_px, top: top_px, height: c_height.toString()+"px", width: c_width.toString()+"px", border: "0px"})
121
- },
122
- initCalendarDiv: function() {
123
- if (this.options.get("embedded")) {
124
- var parent = this.target_element.parentNode;
125
- var style = {}
126
- } else {
127
- var parent = document.body
128
- var style = { position:"absolute", visibility: "hidden", left:0, top:0 }
129
- }
130
- this.calendar_div = $(parent).build('div', {className: "calendar_date_select"}, style);
131
-
132
- var that = this;
133
- // create the divs
134
- $w("top header body buttons footer bottom").each(function(name) {
135
- eval("var " + name + "_div = that." + name + "_div = that.calendar_div.build('div', { className: 'cds_"+name+"' }, { clear: 'left'} ); ");
136
- });
137
-
138
- this.initHeaderDiv();
139
- this.initButtonsDiv();
140
- this.initCalendarGrid();
141
- this.updateFooter("&#160;");
142
-
143
- this.refresh();
144
- this.setUseTime(this.use_time);
145
- },
146
- initHeaderDiv: function() {
147
- var header_div = this.header_div;
148
- this.close_button = header_div.build("a", { innerHTML: "x", href:"#", onclick:function () { this.close(); return false; }.bindAsEventListener(this), className: "close" });
149
- this.next_month_button = header_div.build("a", { innerHTML: "&gt;", href:"#", onclick:function () { this.navMonth(this.date.getMonth() + 1 ); return false; }.bindAsEventListener(this), className: "next" });
150
- this.prev_month_button = header_div.build("a", { innerHTML: "&lt;", href:"#", onclick:function () { this.navMonth(this.date.getMonth() - 1 ); return false; }.bindAsEventListener(this), className: "prev" });
151
-
152
- if (this.options.get("month_year")=="dropdowns") {
153
- this.month_select = new SelectBox(header_div, $R(0,11).map(function(m){return [Date.months[m], m]}), {className: "month", onchange: function () { this.navMonth(this.month_select.getValue()) }.bindAsEventListener(this)});
154
- this.year_select = new SelectBox(header_div, [], {className: "year", onchange: function () { this.navYear(this.year_select.getValue()) }.bindAsEventListener(this)});
155
- this.populateYearRange();
156
- } else {
157
- this.month_year_label = header_div.build("span")
158
- }
159
- },
160
- initCalendarGrid: function() {
161
- var body_div = this.body_div;
162
- this.calendar_day_grid = [];
163
- var days_table = body_div.build("table", { cellPadding: "0px", cellSpacing: "0px", width: "100%" })
164
- // make the weekdays!
165
- var weekdays_row = days_table.build("thead").build("tr");
166
- Date.weekdays.each( function(weekday) {
167
- weekdays_row.build("th", {innerHTML: weekday});
168
- });
169
-
170
- var days_tbody = days_table.build("tbody")
171
- // Make the days!
172
- var row_number = 0, weekday;
173
- for(var cell_index = 0; cell_index<42; cell_index++)
174
- {
175
- weekday = (cell_index+Date.first_day_of_week ) % 7;
176
- if ( cell_index % 7==0 ) days_row = days_tbody.build("tr", {className: 'row_'+row_number++});
177
- (this.calendar_day_grid[cell_index] = days_row.build("td", {
178
- calendar_date_select: this,
179
- onmouseover: function () { this.calendar_date_select.dayHover(this); },
180
- onmouseout: function () { this.calendar_date_select.dayHoverOut(this) },
181
- onclick: function() { this.calendar_date_select.updateSelectedDate(this, true); },
182
- className: (weekday==0) || (weekday==6) ? " weekend" : "" //clear the class
183
- },
184
- { cursor: "pointer" }
185
- )).build("div");
186
- this.calendar_day_grid[cell_index];
187
- }
188
- },
189
- initButtonsDiv: function()
190
- {
191
- var buttons_div = this.buttons_div;
192
- if (this.options.get("time"))
193
- {
194
- var blank_time = $A(this.options.get("time")=="mixed" ? [[" - ", ""]] : []);
195
- buttons_div.build("span", {innerHTML:"@", className: "at_sign"});
196
-
197
- var t = new Date();
198
- this.hour_select = new SelectBox(buttons_div,
199
- blank_time.concat($R(0,23).map(function(x) {t.setHours(x); return $A([t.getAMPMHour()+ " " + t.getAMPM(),x])} )),
200
- {
201
- calendar_date_select: this,
202
- onchange: function() { this.calendar_date_select.updateSelectedDate( { hour: this.value });},
203
- className: "hour"
204
- }
205
- );
206
- buttons_div.build("span", {innerHTML:":", className: "seperator"});
207
- var that = this;
208
- this.minute_select = new SelectBox(buttons_div,
209
- blank_time.concat($R(0,59).select(function(x){return (x % that.options.get('minute_interval')==0)}).map(function(x){ return $A([ Date.padded2(x), x]); } ) ),
210
- {
211
- calendar_date_select: this,
212
- onchange: function() { this.calendar_date_select.updateSelectedDate( {minute: this.value }) },
213
- className: "minute"
214
- }
215
- );
216
-
217
- } else if (! this.options.get("buttons")) buttons_div.remove();
218
-
219
- if (this.options.get("buttons")) {
220
- buttons_div.build("span", {innerHTML: "&#160;"});
221
- if (this.options.get("time")=="mixed" || !this.options.get("time")) b = buttons_div.build("a", {
222
- innerHTML: _translations["Today"],
223
- href: "#",
224
- onclick: function() {this.today(false); return false;}.bindAsEventListener(this)
225
- });
226
-
227
- if (this.options.get("time")=="mixed") buttons_div.build("span", {innerHTML: "&#160;|&#160;", className:"button_seperator"})
228
-
229
- if (this.options.get("time")) b = buttons_div.build("a", {
230
- innerHTML: _translations["Now"],
231
- href: "#",
232
- onclick: function() {this.today(true); return false}.bindAsEventListener(this)
233
- });
234
-
235
- if (!this.options.get("embedded") && !this.closeOnClick())
236
- {
237
- buttons_div.build("span", {innerHTML: "&#160;|&#160;", className:"button_seperator"})
238
- buttons_div.build("a", { innerHTML: _translations["OK"], href: "#", onclick: function() {this.close(); return false;}.bindAsEventListener(this) });
239
- }
240
- if (this.options.get('clear_button')) {
241
- buttons_div.build("span", {innerHTML: "&#160;|&#160;", className:"button_seperator"})
242
- buttons_div.build("a", { innerHTML: _translations["Clear"], href: "#", onclick: function() {this.clearDate(); if (!this.options.get("embedded")) this.close(); return false;}.bindAsEventListener(this) });
243
- }
244
- }
245
- },
246
- refresh: function ()
247
- {
248
- this.refreshMonthYear();
249
- this.refreshCalendarGrid();
250
-
251
- this.setSelectedClass();
252
- this.updateFooter();
253
- },
254
- refreshCalendarGrid: function () {
255
- this.beginning_date = new Date(this.date).stripTime();
256
- this.beginning_date.setDate(1);
257
- this.beginning_date.setHours(12); // Prevent daylight savings time boundaries from showing a duplicate day
258
- var pre_days = this.beginning_date.getDay() // draw some days before the fact
259
- if (pre_days < 3) pre_days += 7;
260
- this.beginning_date.setDate(1 - pre_days + Date.first_day_of_week);
261
-
262
- var iterator = new Date(this.beginning_date);
263
-
264
- var today = new Date().stripTime();
265
- var this_month = this.date.getMonth();
266
- vdc = this.options.get("valid_date_check");
267
- for (var cell_index = 0;cell_index<42; cell_index++)
268
- {
269
- day = iterator.getDate(); month = iterator.getMonth();
270
- cell = this.calendar_day_grid[cell_index];
271
- Element.remove(cell.childNodes[0]); div = cell.build("div", {innerHTML:day});
272
- if (month!=this_month) div.className = "other";
273
- cell.day = day; cell.month = month; cell.year = iterator.getFullYear();
274
- if (vdc) { if (vdc(iterator.stripTime())) cell.removeClassName("disabled"); else cell.addClassName("disabled") };
275
- iterator.setDate( day + 1);
276
- }
277
-
278
- if (this.today_cell) this.today_cell.removeClassName("today");
279
-
280
- if ( $R( 0, 41 ).include(days_until = this.beginning_date.stripTime().daysDistance(today)) ) {
281
- this.today_cell = this.calendar_day_grid[days_until];
282
- this.today_cell.addClassName("today");
283
- }
284
- },
285
- refreshMonthYear: function() {
286
- var m = this.date.getMonth();
287
- var y = this.date.getFullYear();
288
- // set the month
289
- if (this.options.get("month_year") == "dropdowns")
290
- {
291
- this.month_select.setValue(m, false);
292
-
293
- var e = this.year_select.element;
294
- if (this.flexibleYearRange() && (!(this.year_select.setValue(y, false)) || e.selectedIndex <= 1 || e.selectedIndex >= e.options.length - 2 )) this.populateYearRange();
295
-
296
- this.year_select.setValue(y);
297
-
298
- } else {
299
- this.month_year_label.update( Date.months[m] + " " + y.toString() );
300
- }
301
- },
302
- populateYearRange: function() {
303
- this.year_select.populate(this.yearRange().toArray());
304
- },
305
- yearRange: function() {
306
- if (!this.flexibleYearRange())
307
- return $R(this.options.get("year_range")[0], this.options.get("year_range")[1]);
308
-
309
- var y = this.date.getFullYear();
310
- return $R(y - this.options.get("year_range"), y + this.options.get("year_range"));
311
- },
312
- flexibleYearRange: function() { return (typeof(this.options.get("year_range")) == "number"); },
313
- validYear: function(year) { if (this.flexibleYearRange()) { return true;} else { return this.yearRange().include(year);} },
314
- dayHover: function(element) {
315
- var hover_date = new Date(this.selected_date);
316
- hover_date.setYear(element.year); hover_date.setMonth(element.month); hover_date.setDate(element.day);
317
- this.updateFooter(hover_date.toFormattedString(this.use_time));
318
- },
319
- dayHoverOut: function(element) { this.updateFooter(); },
320
- clearSelectedClass: function() {if (this.selected_cell) this.selected_cell.removeClassName("selected");},
321
- setSelectedClass: function() {
322
- if (!this.selection_made) return;
323
- this.clearSelectedClass()
324
- if ($R(0,42).include( days_until = this.beginning_date.stripTime().daysDistance(this.selected_date.stripTime()) )) {
325
- this.selected_cell = this.calendar_day_grid[days_until];
326
- this.selected_cell.addClassName("selected");
327
- }
328
- },
329
- reparse: function() { this.parseDate(); this.refresh(); },
330
- dateString: function() {
331
- return (this.selection_made) ? this.selected_date.toFormattedString(this.use_time) : "&#160;";
332
- },
333
- parseDate: function()
334
- {
335
- var value = $F(this.target_element).strip()
336
- this.selection_made = (value != "");
337
- this.date = value=="" ? NaN : Date.parseFormattedString(this.options.get("date") || value);
338
- if (isNaN(this.date)) this.date = new Date();
339
- if (!this.validYear(this.date.getFullYear())) this.date.setYear( (this.date.getFullYear() < this.yearRange().start) ? this.yearRange().start : this.yearRange().end);
340
- this.selected_date = new Date(this.date);
341
- this.use_time = /[0-9]:[0-9]{2}/.exec(value) ? true : false;
342
- this.date.setDate(1);
343
- },
344
- updateFooter:function(text) { if (!text) text = this.dateString(); this.footer_div.purgeChildren(); this.footer_div.build("span", {innerHTML: text }); },
345
- clearDate:function() {
346
- if ((this.target_element.disabled || this.target_element.readOnly) && this.options.get("popup") != "force") return false;
347
- var last_value = this.target_element.value;
348
- this.target_element.value = "";
349
- this.clearSelectedClass();
350
- this.updateFooter('&#160;');
351
- if (last_value!=this.target_element.value) this.callback("onchange");
352
- },
353
- updateSelectedDate:function(partsOrElement, via_click) {
354
- var parts = $H(partsOrElement);
355
- if ((this.target_element.disabled || this.target_element.readOnly) && this.options.get("popup") != "force") return false;
356
- if (parts.get("day")) {
357
- var t_selected_date = this.selected_date, vdc = this.options.get("valid_date_check");
358
- for (var x = 0; x<=3; x++) t_selected_date.setDate(parts.get("day"));
359
- t_selected_date.setYear(parts.get("year"));
360
- t_selected_date.setMonth(parts.get("month"));
361
-
362
- if (vdc && ! vdc(t_selected_date.stripTime())) { return false; }
363
- this.selected_date = t_selected_date;
364
- this.selection_made = true;
365
- }
366
-
367
- if (!isNaN(parts.get("hour"))) this.selected_date.setHours(parts.get("hour"));
368
- if (!isNaN(parts.get("minute"))) this.selected_date.setMinutes( Math.floor_to_interval(parts.get("minute"), this.options.get("minute_interval")) );
369
- if (parts.get("hour") === "" || parts.get("minute") === "")
370
- this.setUseTime(false);
371
- else if (!isNaN(parts.get("hour")) || !isNaN(parts.get("minute")))
372
- this.setUseTime(true);
373
-
374
- this.updateFooter();
375
- this.setSelectedClass();
376
-
377
- if (this.selection_made) this.updateValue();
378
- if (this.closeOnClick()) { this.close(); }
379
- if (via_click && !this.options.get("embedded")) {
380
- if ((new Date() - this.last_click_at) < 333) this.close();
381
- this.last_click_at = new Date();
382
- }
383
- },
384
- closeOnClick: function() {
385
- if (this.options.get("embedded")) return false;
386
- if (this.options.get("close_on_click")===nil )
387
- return (this.options.get("time")) ? false : true
388
- else
389
- return (this.options.get("close_on_click"))
390
- },
391
- navMonth: function(month) { (target_date = new Date(this.date)).setMonth(month); return (this.navTo(target_date)); },
392
- navYear: function(year) { (target_date = new Date(this.date)).setYear(year); return (this.navTo(target_date)); },
393
- navTo: function(date) {
394
- if (!this.validYear(date.getFullYear())) return false;
395
- this.date = date;
396
- this.date.setDate(1);
397
- this.refresh();
398
- this.callback("after_navigate", this.date);
399
- return true;
400
- },
401
- setUseTime: function(turn_on) {
402
- this.use_time = this.options.get("time") && (this.options.get("time")=="mixed" ? turn_on : true) // force use_time to true if time==true && time!="mixed"
403
- if (this.use_time && this.selected_date) { // only set hour/minute if a date is already selected
404
- var minute = Math.floor_to_interval(this.selected_date.getMinutes(), this.options.get("minute_interval"));
405
- var hour = this.selected_date.getHours();
406
-
407
- this.hour_select.setValue(hour);
408
- this.minute_select.setValue(minute)
409
- } else if (this.options.get("time")=="mixed") {
410
- this.hour_select.setValue(""); this.minute_select.setValue("");
411
- }
412
- },
413
- updateValue: function() {
414
- var last_value = this.target_element.value;
415
- this.target_element.value = this.dateString();
416
- if (last_value!=this.target_element.value) this.callback("onchange");
417
- },
418
- today: function(now) {
419
- var d = new Date(); this.date = new Date();
420
- var o = $H({ day: d.getDate(), month: d.getMonth(), year: d.getFullYear(), hour: d.getHours(), minute: d.getMinutes()});
421
- if ( ! now ) o = o.merge({hour: "", minute:""});
422
- this.updateSelectedDate(o, true);
423
- this.refresh();
424
- },
425
- close: function() {
426
- if (this.closed) return false;
427
- this.callback("before_close");
428
- this.target_element.calendar_date_select = nil;
429
- Event.stopObserving(document, "mousedown", this.closeIfClickedOut_handler);
430
- Event.stopObserving(document, "keypress", this.keyPress_handler);
431
- this.calendar_div.remove(); this.closed = true;
432
- if (this.iframe) this.iframe.remove();
433
- if (this.target_element.type != "hidden" && ! this.target_element.disabled) this.target_element.focus();
434
- this.callback("after_close");
435
- },
436
- closeIfClickedOut: function(e) {
437
- if (! $(Event.element(e)).descendantOf(this.calendar_div) ) this.close();
438
- },
439
- keyPress: function(e) {
440
- if (e.keyCode==Event.KEY_ESC) this.close();
441
- },
442
- callback: function(name, param) { if (this.options.get(name)) { this.options.get(name).bind(this.target_element)(param); } }
443
- }