spree 0.4.1 → 0.5.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 (182) hide show
  1. data/CHANGELOG +35 -0
  2. data/CONTRIBUTORS +2 -1
  3. data/README.markdown +8 -52
  4. data/app/controllers/account_controller.rb +1 -1
  5. data/app/controllers/addresses_controller.rb +5 -1
  6. data/app/controllers/admin/inventory_settings_controller.rb +13 -0
  7. data/app/controllers/admin/option_types_controller.rb +1 -1
  8. data/app/controllers/admin/orders_controller.rb +14 -8
  9. data/app/controllers/admin/products_controller.rb +2 -0
  10. data/app/controllers/admin/variants_controller.rb +7 -0
  11. data/app/controllers/content_controller.rb +5 -0
  12. data/app/controllers/creditcard_payments_controller.rb +2 -2
  13. data/app/controllers/orders_controller.rb +18 -2
  14. data/app/helpers/admin/inventory_settings_helper.rb +5 -0
  15. data/app/helpers/admin/product_properties_helper.rb +10 -2
  16. data/app/helpers/products_helper.rb +2 -2
  17. data/app/models/address.rb +2 -2
  18. data/app/models/app_configuration.rb +1 -0
  19. data/app/models/creditcard_payment.rb +6 -14
  20. data/app/models/order.rb +6 -12
  21. data/app/models/order_filter.rb +1 -0
  22. data/app/models/product.rb +9 -0
  23. data/app/models/product_property.rb +1 -0
  24. data/app/models/property.rb +0 -1
  25. data/app/models/zone.rb +17 -3
  26. data/app/views/account/login.html.erb +2 -14
  27. data/app/views/admin/configurations/index.html.erb +4 -0
  28. data/app/views/admin/inventory_settings/edit.html.erb +18 -0
  29. data/app/views/admin/inventory_settings/show.html.erb +11 -0
  30. data/app/views/admin/orders/_address.html.erb +1 -1
  31. data/app/views/admin/orders/index.html.erb +5 -1
  32. data/app/views/admin/orders/show.html.erb +3 -3
  33. data/app/views/admin/product_properties/_product_property.html.erb +6 -3
  34. data/app/views/admin/products/_form.html.erb +9 -1
  35. data/app/views/admin/prototypes/select.rjs +3 -1
  36. data/app/views/admin/variants/_form.html.erb +6 -0
  37. data/app/views/admin/variants/index.html.erb +7 -1
  38. data/app/views/creditcard_payments/_form_credit_card.html.erb +1 -1
  39. data/app/views/creditcard_payments/new.html.erb +7 -2
  40. data/app/views/products/show.html.erb +8 -2
  41. data/app/views/shared/_login.html.erb +17 -0
  42. data/app/views/shared/_products.html.erb +1 -1
  43. data/app/views/users/_form.html.erb +1 -1
  44. data/app/views/users/new.html.erb +19 -8
  45. data/config/boot.rb +1 -1
  46. data/config/database.yml +7 -3
  47. data/config/environment.rb +16 -2
  48. data/config/routes.rb +4 -0
  49. data/db/migrate/20081016002224_remove_defunct_order_fields.rb +10 -0
  50. data/db/migrate/20081016162924_drop_category_id_from_products.rb +9 -0
  51. data/db/sample/addresses.yml +14 -0
  52. data/db/sample/orders.yml +0 -1
  53. data/lang/ui/de-DE.yml +2 -1
  54. data/lang/ui/en-US.yml +50 -25
  55. data/lang/ui/es-ES.yml +2 -1
  56. data/lang/ui/it-IT.yml +2 -1
  57. data/lang/ui/pl-PL.yml +1 -0
  58. data/lang/ui/pt-BR.yml +5 -2
  59. data/lib/authenticated_system.rb +1 -1
  60. data/lib/generators/extension/extension_generator.rb +1 -0
  61. data/lib/generators/extension/templates/extension.rb +4 -5
  62. data/lib/generators/extension/templates/tasks.rake +12 -0
  63. data/lib/generators/extension_migration/extension_migration_generator.rb +32 -0
  64. data/lib/generators/extension_migration/templates/migration.rb +7 -0
  65. data/lib/spree.rb +2 -2
  66. data/lib/spree/extension.rb +0 -7
  67. data/lib/spree/extension_loader.rb +0 -8
  68. data/lib/tasks/extensions.rake +47 -0
  69. data/public/javascripts/application.js +34 -0
  70. data/public/javascripts/spree-yui.js +2 -2
  71. data/public/stylesheets/spree.css +11 -1
  72. data/spec/fixtures/preferences.yml +14 -6
  73. data/spec/models/address_spec.rb +78 -0
  74. data/spec/models/country_spec.rb +29 -0
  75. data/spec/models/option_type_spec.rb +36 -0
  76. data/spec/models/option_value_spec.rb +39 -0
  77. data/spec/models/product_option_type_spec.rb +38 -0
  78. data/spec/models/product_property_spec.rb +36 -0
  79. data/spec/models/product_spec.rb +109 -32
  80. data/spec/models/property_spec.rb +38 -0
  81. data/spec/models/prototype_spec.rb +35 -0
  82. data/spec/models/state_spec.rb +28 -0
  83. data/spec/models/taxon_spec.rb +38 -0
  84. data/spec/models/taxonomy_spec.rb +37 -0
  85. data/spec/models/variant_spec.rb +73 -12
  86. data/spec/models/zone_spec.rb +35 -15
  87. data/spec/spec_helper.rb +15 -0
  88. data/spec/views/admin/configurations/index.html.erb_spec.rb +29 -0
  89. data/spec/views/admin/mail_settings/show.html.erb_spec.rb +3 -3
  90. data/spec/views/products/index.html.erb_spec.rb +46 -0
  91. data/spec/views/products/show.html.erb_spec.rb +46 -0
  92. data/vendor/extensions/flat_rate_shipping/README.markdown +3 -0
  93. data/vendor/extensions/flat_rate_shipping/Rakefile +120 -0
  94. data/vendor/extensions/flat_rate_shipping/flat_rate_shipping_extension.rb +17 -0
  95. data/vendor/extensions/flat_rate_shipping/lib/flat_rate_shipping_configuration.rb +7 -0
  96. data/vendor/extensions/flat_rate_shipping/lib/spree/flat_rate_shipping/calculator.rb +9 -0
  97. data/vendor/extensions/flat_rate_shipping/lib/spree/flat_rate_shipping/config.rb +22 -0
  98. data/vendor/extensions/flat_rate_shipping/lib/tasks/flat_rate_shipping_extension_tasks.rake +29 -0
  99. data/vendor/extensions/flat_rate_shipping/spec/spec.opts +6 -0
  100. data/vendor/extensions/flat_rate_shipping/spec/spec_helper.rb +37 -0
  101. data/vendor/extensions/localization/localization_extension.rb +1 -6
  102. data/vendor/extensions/payment_gateway/lib/gateway_config.rb +7 -0
  103. data/vendor/extensions/payment_gateway/lib/spree/gateway/config.rb +22 -0
  104. data/vendor/extensions/payment_gateway/lib/spree/payment_gateway.rb +27 -3
  105. data/vendor/extensions/payment_gateway/payment_gateway_extension.rb +0 -4
  106. data/vendor/extensions/shipping/README.markdown +3 -0
  107. data/vendor/extensions/shipping/Rakefile +120 -0
  108. data/vendor/extensions/shipping/app/controllers/admin/shipping_categories_controller.rb +17 -0
  109. data/vendor/extensions/shipping/app/controllers/admin/shipping_methods_controller.rb +21 -0
  110. data/vendor/extensions/shipping/app/controllers/shipments_controller.rb +84 -0
  111. data/vendor/extensions/shipping/app/helpers/admin/shipping_categories_helper.rb +2 -0
  112. data/vendor/extensions/shipping/app/helpers/admin/shipping_methods_helper.rb +2 -0
  113. data/vendor/extensions/shipping/app/helpers/shipments_helper.rb +20 -0
  114. data/vendor/extensions/shipping/app/models/shipment.rb +11 -0
  115. data/vendor/extensions/shipping/app/models/shipping_category.rb +3 -0
  116. data/vendor/extensions/shipping/app/models/shipping_method.rb +12 -0
  117. data/vendor/extensions/shipping/app/views/admin/shipping_categories/_form.html.erb +6 -0
  118. data/vendor/extensions/shipping/app/views/admin/shipping_categories/edit.html.erb +8 -0
  119. data/vendor/extensions/shipping/app/views/admin/shipping_categories/index.html.erb +24 -0
  120. data/vendor/extensions/shipping/app/views/admin/shipping_categories/new.html.erb +10 -0
  121. data/vendor/extensions/shipping/app/views/admin/shipping_methods/_form.html.erb +14 -0
  122. data/vendor/extensions/shipping/app/views/admin/shipping_methods/edit.html.erb +8 -0
  123. data/vendor/extensions/shipping/app/views/admin/shipping_methods/index.html.erb +28 -0
  124. data/vendor/extensions/shipping/app/views/admin/shipping_methods/new.html.erb +10 -0
  125. data/vendor/extensions/shipping/app/views/orders/fatal_shipping.html.erb +6 -0
  126. data/vendor/extensions/shipping/app/views/shipments/_form.html.erb +46 -0
  127. data/vendor/extensions/shipping/app/views/shipments/edit.html.erb +8 -0
  128. data/vendor/extensions/shipping/app/views/shipments/new.html.erb +8 -0
  129. data/vendor/extensions/shipping/db/migrate/20081003211336_create_shipping_methods.rb +14 -0
  130. data/vendor/extensions/shipping/db/migrate/20081003233427_create_shipping_categories.rb +15 -0
  131. data/vendor/extensions/shipping/db/migrate/20081015001711_create_shipments.rb +14 -0
  132. data/vendor/extensions/shipping/db/migrate/20081023134446_add_product_dimensions.rb +19 -0
  133. data/vendor/extensions/shipping/db/sample/shipping_categories.yml +2 -0
  134. data/vendor/extensions/shipping/db/sample/shipping_methods.yml +12 -0
  135. data/vendor/extensions/shipping/db/sample/zone_members.yml +8 -0
  136. data/vendor/extensions/shipping/db/sample/zones.yml +3 -0
  137. data/vendor/extensions/shipping/lang/en-US.yml +9 -0
  138. data/vendor/extensions/shipping/lib/spree/shipping_calculator.rb +37 -0
  139. data/vendor/extensions/shipping/lib/spree/shipping_error.rb +3 -0
  140. data/vendor/extensions/shipping/lib/tasks/shipping_extension_tasks.rake +29 -0
  141. data/vendor/extensions/shipping/shipping_extension.rb +39 -0
  142. data/vendor/extensions/shipping/spec/controllers/admin/shipping_categories_controller_spec.rb +10 -0
  143. data/vendor/extensions/shipping/spec/controllers/admin/shipping_methods_controller_spec.rb +10 -0
  144. data/vendor/extensions/shipping/spec/models/order_spec.rb +98 -0
  145. data/vendor/extensions/shipping/spec/models/shipment_spec.rb +26 -0
  146. data/vendor/extensions/shipping/spec/models/shipping_category_spec.rb +8 -0
  147. data/vendor/extensions/shipping/spec/models/shipping_method_spec.rb +53 -0
  148. data/vendor/extensions/shipping/spec/spec.opts +6 -0
  149. data/vendor/extensions/shipping/spec/spec_helper.rb +37 -0
  150. data/vendor/extensions/tax_calculator/lib/spree/sales_tax_calculator.rb +12 -4
  151. data/vendor/extensions/tax_calculator/spec/controllers/tax_calculator_spec.rb +0 -4
  152. data/vendor/extensions/tax_calculator/spec/models/sales_tax_calculator_spec.rb +14 -14
  153. data/vendor/extensions/tax_calculator/tax_calculator_extension.rb +0 -4
  154. data/vendor/plugins/resource_controller/README.rdoc +38 -6
  155. data/vendor/plugins/resource_controller/Rakefile +7 -20
  156. data/vendor/plugins/resource_controller/TODO +0 -1
  157. data/vendor/plugins/resource_controller/lib/resource_controller/helpers/current_objects.rb +71 -69
  158. data/vendor/plugins/resource_controller/lib/resource_controller/helpers/internal.rb +69 -65
  159. data/vendor/plugins/resource_controller/lib/resource_controller/helpers/nested.rb +62 -57
  160. data/vendor/plugins/resource_controller/lib/resource_controller/helpers/singleton_customizations.rb +50 -46
  161. data/vendor/plugins/resource_controller/lib/resource_controller/helpers/urls.rb +73 -69
  162. data/vendor/plugins/resource_controller/resource_controller.gemspec +4 -3
  163. data/vendor/plugins/resource_controller/test/app/controllers/cms/personnel_controller.rb +2 -0
  164. data/vendor/plugins/resource_controller/test/app/controllers/cms/photos_controller.rb +6 -0
  165. data/vendor/plugins/resource_controller/test/app/models/personnel.rb +3 -0
  166. data/vendor/plugins/resource_controller/test/app/models/photo.rb +1 -0
  167. data/vendor/plugins/resource_controller/test/app/views/cms/photos/edit.rhtml +17 -0
  168. data/vendor/plugins/resource_controller/test/app/views/cms/photos/index.rhtml +20 -0
  169. data/vendor/plugins/resource_controller/test/app/views/cms/photos/new.rhtml +16 -0
  170. data/vendor/plugins/resource_controller/test/app/views/cms/photos/show.rhtml +8 -0
  171. data/vendor/plugins/resource_controller/test/config/database.yml +9 -0
  172. data/vendor/plugins/resource_controller/test/config/environment.rb +1 -18
  173. data/vendor/plugins/resource_controller/test/config/initializers/inflections.rb +14 -0
  174. data/vendor/plugins/resource_controller/test/config/routes.rb +3 -0
  175. data/vendor/plugins/resource_controller/test/db/migrate/013_create_personnel.rb +11 -0
  176. data/vendor/plugins/resource_controller/test/db/migrate/014_add_personnel_id_to_photos.rb +9 -0
  177. data/vendor/plugins/resource_controller/test/test/fixtures/personnel.yml +5 -0
  178. data/vendor/plugins/resource_controller/test/test/functional/cms/photos_controller_test.rb +43 -0
  179. metadata +136 -6
  180. data/app/models/spree/extension_meta.rb +0 -5
  181. data/app/models/variants.rb +0 -2
  182. data/vendor/plugins/resource_controller/lib/resource_controller/version.rb +0 -9
@@ -2,59 +2,63 @@
2
2
  #
3
3
  # Used internally to transform a plural RESTful controller into a singleton
4
4
  #
5
- module ResourceController::Helpers::SingletonCustomizations
6
- def self.included(subclass)
7
- subclass.class_eval do
8
- methods_to_undefine = [:param, :index, :collection, :load_collection, :collection_url,
9
- :collection_path, :hash_for_collection_url, :hash_for_collection_path]
10
- methods_to_undefine.each { |method| undef_method(method) if method_defined? method }
5
+ module ResourceController
6
+ module Helpers
7
+ module SingletonCustomizations
8
+ def self.included(subclass)
9
+ subclass.class_eval do
10
+ methods_to_undefine = [:param, :index, :collection, :load_collection, :collection_url,
11
+ :collection_path, :hash_for_collection_url, :hash_for_collection_path]
12
+ methods_to_undefine.each { |method| undef_method(method) if method_defined? method }
11
13
 
12
- class << self
13
- def singleton?
14
- true
14
+ class << self
15
+ def singleton?
16
+ true
17
+ end
18
+ end
15
19
  end
16
20
  end
17
- end
18
- end
19
21
 
20
- protected
21
- # Used to fetch the current object in a singleton controller.
22
- #
23
- # By defult this method is able to fetch the current object for resources nested with the :has_one association only. (i.e. /users/1/image # => @user.image)
24
- # In other cases you should override this method and provide your custom code to fetch a singleton resource object, like using a session hash.
25
- #
26
- # class AccountsController < ResourceController::Singleton
27
- # private
28
- # def object
29
- # @object ||= Account.find(session[:account_id])
30
- # end
31
- # end
32
- #
33
- def object
34
- @object ||= parent? ? end_of_association_chain : nil
35
- end
22
+ protected
23
+ # Used to fetch the current object in a singleton controller.
24
+ #
25
+ # By defult this method is able to fetch the current object for resources nested with the :has_one association only. (i.e. /users/1/image # => @user.image)
26
+ # In other cases you should override this method and provide your custom code to fetch a singleton resource object, like using a session hash.
27
+ #
28
+ # class AccountsController < ResourceController::Singleton
29
+ # private
30
+ # def object
31
+ # @object ||= Account.find(session[:account_id])
32
+ # end
33
+ # end
34
+ #
35
+ def object
36
+ @object ||= parent? ? end_of_association_chain : nil
37
+ end
36
38
 
37
- # Returns the :has_one association proxy of the parent. (i.e. /users/1/image # => @user.image)
38
- #
39
- def parent_association
40
- @parent_association ||= parent_object.send(model_name.to_sym)
41
- end
39
+ # Returns the :has_one association proxy of the parent. (i.e. /users/1/image # => @user.image)
40
+ #
41
+ def parent_association
42
+ @parent_association ||= parent_object.send(model_name.to_sym)
43
+ end
42
44
 
43
- # Used internally to provide the options to smart_url in a singleton controller.
44
- #
45
- def object_url_options(action_prefix = nil, alternate_object = nil)
46
- [action_prefix] + namespaces + [parent_url_options, route_name.to_sym]
47
- end
45
+ # Used internally to provide the options to smart_url in a singleton controller.
46
+ #
47
+ def object_url_options(action_prefix = nil, alternate_object = nil)
48
+ [action_prefix] + namespaces + [parent_url_options, route_name.to_sym]
49
+ end
48
50
 
49
- # Builds the object, but doesn't save it, during the new, and create action.
50
- #
51
- def build_object
52
- @object ||= singleton_build_object_base.send parent? ? "build_#{model_name}".to_sym : :new, object_params
53
- end
51
+ # Builds the object, but doesn't save it, during the new, and create action.
52
+ #
53
+ def build_object
54
+ @object ||= singleton_build_object_base.send parent? ? "build_#{model_name}".to_sym : :new, object_params
55
+ end
54
56
 
55
- # Singleton controllers don't build off of association proxy, so we can't use end_of_association_chain here
56
- #
57
- def singleton_build_object_base
58
- parent? ? parent_object : model
57
+ # Singleton controllers don't build off of association proxy, so we can't use end_of_association_chain here
58
+ #
59
+ def singleton_build_object_base
60
+ parent? ? parent_object : model
61
+ end
59
62
  end
63
+ end
60
64
  end
@@ -37,92 +37,96 @@
37
37
  #
38
38
  # You get the idea. Everything is automagical! All parameters are inferred.
39
39
  #
40
- module ResourceController::Helpers::Urls
41
- protected
42
- ['', 'edit_'].each do |type|
43
- symbol = type.blank? ? nil : type.gsub(/_/, '').to_sym
40
+ module ResourceController
41
+ module Helpers
42
+ module Urls
43
+ protected
44
+ ['', 'edit_'].each do |type|
45
+ symbol = type.blank? ? nil : type.gsub(/_/, '').to_sym
44
46
 
45
- define_method("#{type}object_url") do |*alternate_object|
46
- smart_url *object_url_options(symbol, alternate_object.first)
47
- end
47
+ define_method("#{type}object_url") do |*alternate_object|
48
+ smart_url *object_url_options(symbol, alternate_object.first)
49
+ end
48
50
 
49
- define_method("#{type}object_path") do |*alternate_object|
50
- smart_path *object_url_options(symbol, alternate_object.first)
51
- end
51
+ define_method("#{type}object_path") do |*alternate_object|
52
+ smart_path *object_url_options(symbol, alternate_object.first)
53
+ end
52
54
 
53
- define_method("hash_for_#{type}object_url") do |*alternate_object|
54
- hash_for_smart_url *object_url_options(symbol, alternate_object.first)
55
- end
55
+ define_method("hash_for_#{type}object_url") do |*alternate_object|
56
+ hash_for_smart_url *object_url_options(symbol, alternate_object.first)
57
+ end
56
58
 
57
- define_method("hash_for_#{type}object_path") do |*alternate_object|
58
- hash_for_smart_path *object_url_options(symbol, alternate_object.first)
59
- end
60
- end
59
+ define_method("hash_for_#{type}object_path") do |*alternate_object|
60
+ hash_for_smart_path *object_url_options(symbol, alternate_object.first)
61
+ end
62
+ end
61
63
 
62
- def new_object_url
63
- smart_url *new_object_url_options
64
- end
64
+ def new_object_url
65
+ smart_url *new_object_url_options
66
+ end
65
67
 
66
- def new_object_path
67
- smart_path *new_object_url_options
68
- end
68
+ def new_object_path
69
+ smart_path *new_object_url_options
70
+ end
69
71
 
70
- def hash_for_new_object_url
71
- hash_for_smart_url *new_object_url_options
72
- end
72
+ def hash_for_new_object_url
73
+ hash_for_smart_url *new_object_url_options
74
+ end
73
75
 
74
- def hash_for_new_object_path
75
- hash_for_smart_path *new_object_url_options
76
- end
76
+ def hash_for_new_object_path
77
+ hash_for_smart_path *new_object_url_options
78
+ end
77
79
 
78
- def collection_url
79
- smart_url *collection_url_options
80
- end
80
+ def collection_url
81
+ smart_url *collection_url_options
82
+ end
81
83
 
82
- def collection_path
83
- smart_path *collection_url_options
84
- end
84
+ def collection_path
85
+ smart_path *collection_url_options
86
+ end
85
87
 
86
- def hash_for_collection_url
87
- hash_for_smart_url *collection_url_options
88
- end
88
+ def hash_for_collection_url
89
+ hash_for_smart_url *collection_url_options
90
+ end
89
91
 
90
- def hash_for_collection_path
91
- hash_for_smart_path *collection_url_options
92
- end
92
+ def hash_for_collection_path
93
+ hash_for_smart_path *collection_url_options
94
+ end
93
95
 
94
- # Used internally to provide the options to smart_url from Urligence.
95
- #
96
- def collection_url_options
97
- namespaces + [parent_url_options, route_name.to_s.pluralize.to_sym]
98
- end
96
+ # Used internally to provide the options to smart_url from Urligence.
97
+ #
98
+ def collection_url_options
99
+ namespaces + [parent_url_options, route_name.to_s.pluralize.to_sym]
100
+ end
99
101
 
100
- # Used internally to provide the options to smart_url from Urligence.
101
- #
102
- def object_url_options(action_prefix = nil, alternate_object = nil)
103
- [action_prefix] + namespaces + [parent_url_options, [route_name.to_sym, alternate_object || object]]
104
- end
102
+ # Used internally to provide the options to smart_url from Urligence.
103
+ #
104
+ def object_url_options(action_prefix = nil, alternate_object = nil)
105
+ [action_prefix] + namespaces + [parent_url_options, [route_name.to_sym, alternate_object || object]]
106
+ end
105
107
 
106
- # Used internally to provide the options to smart_url from Urligence.
107
- #
108
- def new_object_url_options
109
- [:new] + namespaces + [parent_url_options, route_name.to_sym]
110
- end
108
+ # Used internally to provide the options to smart_url from Urligence.
109
+ #
110
+ def new_object_url_options
111
+ [:new] + namespaces + [parent_url_options, route_name.to_sym]
112
+ end
111
113
 
112
- def parent_url_options
113
- if parent?
114
- parent_singleton? ? parent_type.to_sym : [parent_type.to_sym, parent_object]
115
- else
116
- nil
117
- end
118
- end
114
+ def parent_url_options
115
+ if parent?
116
+ parent_singleton? ? parent_type.to_sym : [parent_type.to_sym, parent_object]
117
+ else
118
+ nil
119
+ end
120
+ end
119
121
 
120
- # Returns all of the current namespaces of the current controller, symbolized, in array form.
121
- #
122
- def namespaces
123
- names = self.class.name.split("::")
124
- names.pop
122
+ # Returns all of the current namespaces of the current controller, symbolized, in array form.
123
+ #
124
+ def namespaces
125
+ names = self.class.name.split("::")
126
+ names.pop
125
127
 
126
- names.map(&:underscore).map(&:to_sym)
128
+ names.map(&:underscore).map(&:to_sym)
129
+ end
127
130
  end
131
+ end
128
132
  end
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resource_controller
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.12
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Golick
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-08-11 00:00:00 -04:00
12
+ date: 2008-09-22 00:00:00 -04:00
13
13
  default_executable:
14
14
  dependencies: []
15
15
 
@@ -23,7 +23,6 @@ extra_rdoc_files: []
23
23
 
24
24
  files:
25
25
  - README.rdoc
26
- - README
27
26
  - LICENSE
28
27
  - init.rb
29
28
  - Rakefile
@@ -257,6 +256,8 @@ files:
257
256
  - test/tmp
258
257
  - test/tmp/pids
259
258
  - test/vendor
259
+ - test/vendor/gems
260
+ - test/vendor/gems/resource_controller-0.5.2
260
261
  - test/vendor/plugins
261
262
  - test/vendor/plugins/shoulda
262
263
  - test/vendor/plugins/shoulda/bin
@@ -0,0 +1,2 @@
1
+ class Cms::PersonnelController < ResourceController::Base
2
+ end
@@ -0,0 +1,6 @@
1
+ class Cms::PhotosController < ResourceController::Base
2
+ actions :all, :except => :update
3
+
4
+ belongs_to :personnel
5
+ create.flash { "#{@photo.title} was created!" }
6
+ end
@@ -0,0 +1,3 @@
1
+ class Personnel < ActiveRecord::Base
2
+ has_many :photos
3
+ end
@@ -1,4 +1,5 @@
1
1
  class Photo < ActiveRecord::Base
2
2
  has_and_belongs_to_many :tags
3
3
  belongs_to :user, :class_name => "Account", :foreign_key => "account_id"
4
+ belongs_to :personnel
4
5
  end
@@ -0,0 +1,17 @@
1
+ <h1>Editing photo</h1>
2
+
3
+ <%= error_messages_for :photo %>
4
+
5
+ <% form_for(:photo, :url => photo_path(@photo), :html => { :method => :put }) do |f| %>
6
+ <p>
7
+ <b>Title</b><br />
8
+ <%= f.text_field :title %>
9
+ </p>
10
+
11
+ <p>
12
+ <%= submit_tag "Update" %>
13
+ </p>
14
+ <% end %>
15
+
16
+ <%= link_to 'Show', photo_path(@photo) %> |
17
+ <%= link_to 'Back', photos_path %>
@@ -0,0 +1,20 @@
1
+ <h1>Listing photos</h1>
2
+
3
+ <table>
4
+ <tr>
5
+ <th>Title</th>
6
+ </tr>
7
+
8
+ <% for photo in @photos %>
9
+ <tr>
10
+ <td><%=h photo.title %></td>
11
+ <td><%= link_to 'Show', object_url(photo) %></td>
12
+ <td><%= link_to 'Edit', edit_object_url(photo) %></td>
13
+ <td><%= link_to 'Destroy', object_url(photo), :confirm => 'Are you sure?', :method => :delete %></td>
14
+ </tr>
15
+ <% end %>
16
+ </table>
17
+
18
+ <br />
19
+
20
+ <%= link_to 'New photo', new_object_url %>
@@ -0,0 +1,16 @@
1
+ <h1>New photo</h1>
2
+
3
+ <%= error_messages_for :photo %>
4
+
5
+ <% form_for(:photo, :url => photos_path) do |f| %>
6
+ <p>
7
+ <b>Title</b><br />
8
+ <%= f.text_field :title %>
9
+ </p>
10
+
11
+ <p>
12
+ <%= submit_tag "Create" %>
13
+ </p>
14
+ <% end %>
15
+
16
+ <%= link_to 'Back', photos_path %>
@@ -0,0 +1,8 @@
1
+ <p>
2
+ <b>Title:</b>
3
+ <%=h @photo.title %>
4
+ </p>
5
+
6
+
7
+ <%= link_to 'Edit', edit_photo_path(@photo) %> |
8
+ <%= link_to 'Back', photos_path %>
@@ -0,0 +1,9 @@
1
+ development:
2
+ adapter: sqlite3
3
+ database: db/test.sqlite3
4
+ timeout: 5000
5
+
6
+ test:
7
+ adapter: sqlite3
8
+ database: db/test.sqlite3
9
+ timeout: 5000
@@ -5,7 +5,7 @@
5
5
  # ENV['RAILS_ENV'] ||= 'production'
6
6
 
7
7
  # Specifies gem version of Rails to use when vendor/rails is not present
8
- RAILS_GEM_VERSION = '2.0.2' unless defined? RAILS_GEM_VERSION
8
+ RAILS_GEM_VERSION = '2.1.1' unless defined? RAILS_GEM_VERSION
9
9
 
10
10
  # Bootstrap the Rails environment, frameworks, and default configuration
11
11
  require File.join(File.dirname(__FILE__), 'boot')
@@ -45,20 +45,3 @@ Rails::Initializer.run do |config|
45
45
 
46
46
  config.action_controller.session = { :session_key => "_myapp_session", :secret => "6c1372e61789239a727cdbc8252eb6da" }
47
47
  end
48
-
49
- require "#{RAILS_ROOT}/../init"
50
-
51
- # Add new inflection rules using the following format
52
- # (all these examples are active by default):
53
- # Inflector.inflections do |inflect|
54
- # inflect.plural /^(ox)$/i, '\1en'
55
- # inflect.singular /^(ox)en/i, '\1'
56
- # inflect.irregular 'person', 'people'
57
- # inflect.uncountable %w( fish sheep )
58
- # end
59
-
60
- # Add new mime types for use in respond_to blocks:
61
- # Mime::Type.register "text/richtext", :rtf
62
- # Mime::Type.register "application/x-mobile", :mobile
63
-
64
- # Include your application configuration below
@@ -0,0 +1,14 @@
1
+ # Be sure to restart your server when you modify this file.
2
+
3
+ # Add new inflection rules using the following format
4
+ # (all these examples are active by default):
5
+ # Inflector.inflections do |inflect|
6
+ # inflect.plural /^(ox)$/i, '\1en'
7
+ # inflect.singular /^(ox)en/i, '\1'
8
+ # inflect.irregular 'person', 'people'
9
+ # inflect.uncountable %w( fish sheep )
10
+ # end
11
+
12
+ ActiveSupport::Inflector.inflections do |inflect|
13
+ inflect.irregular "personnel", "personnel"
14
+ end