hobo 1.1.0 → 1.3.0.RC

Sign up to get free protection for your applications and to get access to all the features.
Files changed (278) hide show
  1. data/CHANGES.txt +238 -287
  2. data/Rakefile +14 -31
  3. data/VERSION +1 -0
  4. data/{lib/hobo → app/controllers}/dev_controller.rb +6 -6
  5. data/app/controllers/dryml_support_controller.rb +13 -0
  6. data/{rails_generators/hobo_front_controller/templates → app/views/dev}/summary.dryml +7 -10
  7. data/bin/hobo +12 -144
  8. data/config/initializers/inflections.rb +3 -0
  9. data/config/routes.rb +6 -0
  10. data/{doctest → doctests}/hobo/lifecycles.rdoctest +40 -59
  11. data/{doctest → doctests/hobo}/model.rdoctest +33 -40
  12. data/{doctest → doctests/hobo}/multi_model_forms.rdoctest +15 -19
  13. data/{doctest → doctests/hobo}/scopes.rdoctest +27 -41
  14. data/doctests/prepare_testapp.rb +8 -0
  15. data/hobo.gemspec +26 -199
  16. data/lib/generators/hobo/activation_email.rb +11 -0
  17. data/lib/generators/hobo/admin_subsite/admin_subsite_generator.rb +35 -0
  18. data/lib/generators/hobo/admin_subsite/templates/admin.css +20 -0
  19. data/lib/generators/hobo/admin_subsite/templates/admin_tag_injection.erb +10 -0
  20. data/{rails_generators/hobo_admin_site → lib/generators/hobo/admin_subsite}/templates/application.dryml +0 -0
  21. data/{rails_generators/hobo_admin_site/templates/controller.rb → lib/generators/hobo/admin_subsite/templates/controller.rb.erb} +5 -5
  22. data/lib/generators/hobo/admin_subsite/templates/users_index.dryml +7 -0
  23. data/lib/generators/hobo/assets/assets_generator.rb +18 -0
  24. data/{rails_generators/hobo → lib/generators/hobo/assets}/templates/application.css +0 -0
  25. data/lib/generators/hobo/assets/templates/application.dryml.erb +9 -0
  26. data/{rails_generators/hobo → lib/generators/hobo/assets}/templates/dryml-support.js +2 -2
  27. data/lib/generators/hobo/assets/templates/dryml_taglibs_initializer.rb +1 -0
  28. data/lib/generators/hobo/assets/templates/en_injection.yml +19 -0
  29. data/{rails_generators/hobo → lib/generators/hobo/assets}/templates/guest.rb +1 -1
  30. data/lib/generators/hobo/controller.rb +35 -0
  31. data/lib/generators/hobo/controller/controller_generator.rb +6 -0
  32. data/lib/generators/hobo/controller/templates/controller.rb.erb +7 -0
  33. data/{rails_generators/hobo_front_controller → lib/generators/hobo/front_controller}/USAGE +0 -0
  34. data/lib/generators/hobo/front_controller/front_controller_generator.rb +55 -0
  35. data/{rails_generators/hobo_front_controller/templates/controller.rb → lib/generators/hobo/front_controller/templates/controller.rb.erb} +0 -0
  36. data/{rails_generators/hobo_front_controller → lib/generators/hobo/front_controller}/templates/index.dryml +6 -12
  37. data/lib/generators/hobo/i18n/i18n_generator.rb +35 -0
  38. data/lib/generators/hobo/i18n/templates/app.de.yml +30 -0
  39. data/lib/generators/hobo/i18n/templates/app.en.yml +25 -0
  40. data/lib/generators/hobo/i18n/templates/app.es.yml +31 -0
  41. data/lib/generators/hobo/i18n/templates/app.fr.yml +26 -0
  42. data/lib/generators/hobo/i18n/templates/app.it.yml +28 -0
  43. data/lib/generators/hobo/i18n/templates/app.pt-PT.yml +25 -0
  44. data/lib/generators/hobo/i18n/templates/app.ru.yml +24 -0
  45. data/lib/generators/hobo/i18n/templates/hobo.de.yml +204 -0
  46. data/lib/generators/hobo/i18n/templates/hobo.en.yml +195 -0
  47. data/lib/generators/hobo/i18n/templates/hobo.es.yml +202 -0
  48. data/lib/generators/hobo/i18n/templates/hobo.fr.yml +195 -0
  49. data/lib/generators/hobo/i18n/templates/hobo.it.yml +202 -0
  50. data/lib/generators/hobo/i18n/templates/hobo.pt-PT.yml +196 -0
  51. data/lib/generators/hobo/i18n/templates/hobo.ru.yml +200 -0
  52. data/lib/generators/hobo/invite_only.rb +18 -0
  53. data/lib/generators/hobo/model/USAGE +19 -0
  54. data/lib/generators/hobo/model/model_generator.rb +11 -0
  55. data/{rails_generators/hobo_model/templates/model.rb → lib/generators/hobo/model/templates/model_injection.rb.erb} +0 -2
  56. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/USAGE +0 -0
  57. data/lib/generators/hobo/rapid/rapid_generator.rb +24 -0
  58. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/IE7.js +0 -0
  59. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/blank.gif +0 -0
  60. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/hobo-rapid.css +0 -0
  61. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/hobo-rapid.js +65 -65
  62. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/ie7-recalc.js +21 -21
  63. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/lowpro.js +31 -31
  64. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/reset.css +1 -1
  65. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/100-ACD3E6-DBE1E5-H.png +0 -0
  66. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/100-DBE1E5-FCFEF5-H.png +0 -0
  67. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/300-3B5F87-ACD3E6-H.png +0 -0
  68. data/{rails_generators/hobo_rapid/templates/themes/clean → lib/generators/hobo/rapid/templates/themes/clean-sidemenu}/public/images/spinner.gif +0 -0
  69. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/stylesheets/clean-sidemenu.css +81 -0
  70. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/views/clean-sidemenu.dryml +30 -0
  71. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/101-3B5F87-ACD3E6.png +0 -0
  72. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/30-3E547A-242E42.png +0 -0
  73. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/30-DBE1E5-FCFEF5.png +0 -0
  74. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/300-ACD3E6-fff.png +0 -0
  75. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/50-ACD3E6-fff.png +0 -0
  76. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/fieldbg.gif +0 -0
  77. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/pencil.png +0 -0
  78. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/small_close.png +0 -0
  79. data/lib/generators/hobo/rapid/templates/themes/clean/public/images/spinner.gif +0 -0
  80. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/stylesheets/clean.css +16 -16
  81. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/stylesheets/rapid-ui.css +3 -3
  82. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/views/clean.dryml +1 -1
  83. data/lib/generators/hobo/resource/resource_generator.rb +23 -0
  84. data/lib/generators/hobo/routes/USAGE +9 -0
  85. data/lib/generators/hobo/routes/router.rb +115 -0
  86. data/lib/generators/hobo/routes/routes_generator.rb +40 -0
  87. data/lib/generators/hobo/routes/templates/hobo_routes.rb.erb +33 -0
  88. data/lib/generators/hobo/setup_wizard/USAGE +4 -0
  89. data/lib/generators/hobo/setup_wizard/setup_wizard_generator.rb +274 -0
  90. data/lib/generators/hobo/subsite.rb +48 -0
  91. data/lib/generators/hobo/subsite/subsite_generator.rb +16 -0
  92. data/{rails_generators/hobo_subsite → lib/generators/hobo/subsite}/templates/application.dryml +0 -0
  93. data/{rails_generators/hobo_subsite/templates/controller.rb → lib/generators/hobo/subsite/templates/controller.rb.erb} +1 -1
  94. data/lib/generators/hobo/subsite_taglib/subsite_taglib_generator.rb +16 -0
  95. data/{rails_generators/hobo_admin_site/templates/site_taglib.dryml → lib/generators/hobo/subsite_taglib/templates/taglib.dryml.erb} +9 -10
  96. data/lib/generators/hobo/taglib.rb +12 -0
  97. data/lib/generators/hobo/test_framework/test_framework_generator.rb +72 -0
  98. data/lib/generators/hobo/test_options.rb +19 -0
  99. data/{rails_generators/hobo_user_controller → lib/generators/hobo/user_controller}/templates/accept_invitation.dryml +0 -0
  100. data/lib/generators/hobo/user_controller/templates/controller.rb.erb +31 -0
  101. data/lib/generators/hobo/user_controller/user_controller_generator.rb +25 -0
  102. data/lib/generators/hobo/user_mailer/templates/activation.erb +9 -0
  103. data/{rails_generators/hobo_user_model → lib/generators/hobo/user_mailer}/templates/forgot_password.erb +2 -2
  104. data/{rails_generators/hobo_user_model → lib/generators/hobo/user_mailer}/templates/invite.erb +2 -2
  105. data/lib/generators/hobo/user_mailer/templates/mailer.rb.erb +25 -0
  106. data/lib/generators/hobo/user_mailer/user_mailer_generator.rb +33 -0
  107. data/lib/generators/hobo/user_model/USAGE +12 -0
  108. data/{rails_generators/hobo_user_model/templates/model.rb → lib/generators/hobo/user_model/templates/model_injection.rb.erb} +40 -20
  109. data/lib/generators/hobo/user_model/user_model_generator.rb +23 -0
  110. data/lib/generators/hobo/user_resource/user_resource_generator.rb +27 -0
  111. data/lib/hobo.rb +29 -129
  112. data/lib/hobo/controller.rb +37 -47
  113. data/lib/hobo/controller/authentication_support.rb +109 -0
  114. data/lib/hobo/{model_controller.rb → controller/model.rb} +71 -79
  115. data/lib/hobo/{user_controller.rb → controller/user.rb} +59 -49
  116. data/lib/hobo/engine.rb +80 -0
  117. data/lib/hobo/extensions/action_controller/hobo_methods.rb +44 -0
  118. data/lib/hobo/extensions/action_mailer/helper.rb +38 -0
  119. data/lib/{action_view_extensions/helpers → hobo/extensions/action_view}/tag_helper.rb +5 -2
  120. data/lib/hobo/extensions/action_view/translation_helper.rb +25 -0
  121. data/lib/hobo/extensions/active_model/name.rb +16 -0
  122. data/lib/hobo/extensions/active_model/translation.rb +35 -0
  123. data/lib/{active_record/association_collection.rb → hobo/extensions/active_record/associations/collection.rb} +8 -17
  124. data/lib/{active_record/association_proxy.rb → hobo/extensions/active_record/associations/proxy.rb} +6 -7
  125. data/lib/hobo/extensions/active_record/associations/reflection.rb +23 -0
  126. data/lib/hobo/extensions/active_record/associations/scope.rb +35 -0
  127. data/lib/hobo/extensions/active_record/hobo_methods.rb +11 -0
  128. data/lib/hobo/extensions/active_record/permissions.rb +159 -0
  129. data/lib/hobo/extensions/active_record/relation_with_origin.rb +28 -0
  130. data/lib/hobo/extensions/array.rb +27 -0
  131. data/lib/hobo/extensions/enumerable.rb +12 -0
  132. data/lib/hobo/extensions/i18n.rb +17 -0
  133. data/lib/hobo/{hobo_helper.rb → helper.rb} +58 -31
  134. data/lib/hobo/helper/translations.rb +54 -0
  135. data/lib/hobo/helper/translations/normalizer.rb +39 -0
  136. data/lib/hobo/model.rb +61 -95
  137. data/lib/hobo/model/accessible_associations.rb +178 -0
  138. data/lib/hobo/{find_for.rb → model/find_for.rb} +17 -17
  139. data/lib/hobo/model/guest.rb +25 -0
  140. data/lib/hobo/model/include_in_save.rb +55 -0
  141. data/lib/hobo/model/lifecycles.rb +119 -0
  142. data/lib/hobo/model/lifecycles/actions.rb +146 -0
  143. data/lib/hobo/model/lifecycles/creator.rb +74 -0
  144. data/lib/hobo/model/lifecycles/lifecycle.rb +243 -0
  145. data/lib/hobo/model/lifecycles/state.rb +22 -0
  146. data/lib/hobo/model/lifecycles/transition.rb +70 -0
  147. data/lib/hobo/model/permissions.rb +448 -0
  148. data/lib/hobo/model/scopes.rb +38 -0
  149. data/lib/hobo/model/scopes/apply_scopes.rb +21 -0
  150. data/lib/hobo/model/scopes/automatic_scopes.rb +428 -0
  151. data/lib/hobo/model/user_base.rb +184 -0
  152. data/lib/hobo/model/view_hints.rb +123 -0
  153. data/{rapid_generators → lib/hobo/rapid/generators}/rapid/cards.dryml.erb +2 -2
  154. data/{rapid_generators → lib/hobo/rapid/generators}/rapid/forms.dryml.erb +3 -3
  155. data/{rapid_generators → lib/hobo/rapid/generators}/rapid/pages.dryml.erb +38 -51
  156. data/lib/hobo/rapid/helper.rb +166 -0
  157. data/{taglibs → lib/hobo/rapid/taglibs}/rapid.dryml +6 -5
  158. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_core.dryml +286 -118
  159. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_document_tags.dryml +2 -2
  160. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_editing.dryml +45 -45
  161. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_forms.dryml +190 -158
  162. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_generics.dryml +12 -9
  163. data/lib/hobo/rapid/taglibs/rapid_i18n.dryml +107 -0
  164. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_lifecycles.dryml +7 -7
  165. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_navigation.dryml +15 -15
  166. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_pages.dryml +37 -36
  167. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_plus.dryml +107 -43
  168. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_summary.dryml +28 -57
  169. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_support.dryml +9 -9
  170. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_user_pages.dryml +41 -40
  171. data/lib/hobo/routes.rb +31 -0
  172. data/{doctest → test/doctest}/hobo/hobo_helper.rdoctest +11 -11
  173. data/test/irt/generators/admin_subsite.irt +27 -0
  174. data/test/irt/generators/assets.irt +16 -0
  175. data/test/irt/generators/controller.irt +6 -0
  176. data/test/irt/generators/front_controller.irt +30 -0
  177. data/test/irt/generators/helper.rb +31 -0
  178. data/test/irt/generators/model.irt +28 -0
  179. data/test/irt/generators/partials/_account_user_model_tests.rb +21 -0
  180. data/test/irt/generators/partials/_accounts_users_controller_tests.rb +15 -0
  181. data/test/irt/generators/partials/_default_user_model_tests.rb +21 -0
  182. data/test/irt/generators/partials/_default_users_controller_tests.rb +16 -0
  183. data/test/irt/generators/partials/_house_controller_tests.rb +15 -0
  184. data/test/irt/generators/partials/_house_model_tests.rb +18 -0
  185. data/test/irt/generators/partials/_subsite_taglib_admin.rb +4 -0
  186. data/test/irt/generators/partials/_subsite_taglib_admin_invite_only.rb +3 -0
  187. data/test/irt/generators/partials/_subsite_taglib_noopt.rb +4 -0
  188. data/test/irt/generators/partials/_subsite_taglib_variables.rb +27 -0
  189. data/test/irt/generators/partials/_user_mailer_tests.rb +19 -0
  190. data/test/irt/generators/rapid.irt +29 -0
  191. data/test/irt/generators/resource.irt +8 -0
  192. data/test/irt/generators/subsite.irt +52 -0
  193. data/test/irt/generators/subsite_taglib.irt +23 -0
  194. data/test/irt/generators/test_framework.irt +62 -0
  195. data/test/irt/generators/user_controller.irt +10 -0
  196. data/test/irt/generators/user_mailer.irt +20 -0
  197. data/test/irt/generators/user_model.irt +10 -0
  198. data/test/irt/generators/user_resource.irt +14 -0
  199. data/test/irt/readme.txt +7 -0
  200. data/test/permissions/models/models.rb +27 -24
  201. data/test/permissions/test_permissions.rb +104 -104
  202. metadata +239 -217
  203. data/lib/active_record/association_reflection.rb +0 -20
  204. data/lib/active_record/viewhints_validations_interceptor.rb +0 -9
  205. data/lib/hobo/accessible_associations.rb +0 -183
  206. data/lib/hobo/authentication_support.rb +0 -131
  207. data/lib/hobo/generator.rb +0 -26
  208. data/lib/hobo/guest.rb +0 -25
  209. data/lib/hobo/include_in_save.rb +0 -55
  210. data/lib/hobo/lifecycles.rb +0 -137
  211. data/lib/hobo/lifecycles/actions.rb +0 -142
  212. data/lib/hobo/lifecycles/creator.rb +0 -72
  213. data/lib/hobo/lifecycles/lifecycle.rb +0 -249
  214. data/lib/hobo/lifecycles/state.rb +0 -22
  215. data/lib/hobo/lifecycles/transition.rb +0 -70
  216. data/lib/hobo/model_router.rb +0 -290
  217. data/lib/hobo/permissions.rb +0 -451
  218. data/lib/hobo/permissions/associations.rb +0 -175
  219. data/lib/hobo/rapid_helper.rb +0 -157
  220. data/lib/hobo/scopes.rb +0 -43
  221. data/lib/hobo/scopes/apply_scopes.rb +0 -23
  222. data/lib/hobo/scopes/association_proxy_extensions.rb +0 -62
  223. data/lib/hobo/scopes/automatic_scopes.rb +0 -421
  224. data/lib/hobo/scopes/named_scope_extensions.rb +0 -39
  225. data/lib/hobo/tasks/rails.rb +0 -4
  226. data/lib/hobo/translations.rb +0 -93
  227. data/lib/hobo/undefined_access_error.rb +0 -5
  228. data/lib/hobo/user.rb +0 -182
  229. data/lib/hobo/view_hints.rb +0 -115
  230. data/rails/init.rb +0 -10
  231. data/rails_generators/hobo/USAGE +0 -4
  232. data/rails_generators/hobo/hobo_generator.rb +0 -53
  233. data/rails_generators/hobo/templates/application.dryml +0 -1
  234. data/rails_generators/hobo/templates/initializer.rb +0 -2
  235. data/rails_generators/hobo_admin_site/USAGE +0 -16
  236. data/rails_generators/hobo_admin_site/hobo_admin_site_generator.rb +0 -45
  237. data/rails_generators/hobo_admin_site/templates/admin.css +0 -2
  238. data/rails_generators/hobo_admin_site/templates/users_index.dryml +0 -5
  239. data/rails_generators/hobo_front_controller/hobo_front_controller_generator.rb +0 -95
  240. data/rails_generators/hobo_front_controller/templates/functional_test.rb +0 -8
  241. data/rails_generators/hobo_front_controller/templates/helper.rb +0 -2
  242. data/rails_generators/hobo_model/USAGE +0 -25
  243. data/rails_generators/hobo_model/hobo_model_generator.rb +0 -43
  244. data/rails_generators/hobo_model/templates/fixtures.yml +0 -6
  245. data/rails_generators/hobo_model/templates/hints.rb +0 -7
  246. data/rails_generators/hobo_model/templates/unit_test.rb +0 -8
  247. data/rails_generators/hobo_model_controller/USAGE +0 -30
  248. data/rails_generators/hobo_model_controller/hobo_model_controller_generator.rb +0 -46
  249. data/rails_generators/hobo_model_controller/templates/controller.rb +0 -7
  250. data/rails_generators/hobo_model_controller/templates/functional_test.rb +0 -8
  251. data/rails_generators/hobo_model_controller/templates/helper.rb +0 -2
  252. data/rails_generators/hobo_model_resource/USAGE +0 -38
  253. data/rails_generators/hobo_model_resource/hobo_model_resource_generator.rb +0 -73
  254. data/rails_generators/hobo_model_resource/templates/controller.rb +0 -7
  255. data/rails_generators/hobo_model_resource/templates/functional_test.rb +0 -8
  256. data/rails_generators/hobo_model_resource/templates/helper.rb +0 -2
  257. data/rails_generators/hobo_rapid/hobo_rapid_generator.rb +0 -94
  258. data/rails_generators/hobo_subsite/USAGE +0 -16
  259. data/rails_generators/hobo_subsite/hobo_subsite_generator.rb +0 -73
  260. data/rails_generators/hobo_subsite/templates/site_taglib.dryml +0 -13
  261. data/rails_generators/hobo_user_controller/USAGE +0 -34
  262. data/rails_generators/hobo_user_controller/hobo_user_controller_generator.rb +0 -65
  263. data/rails_generators/hobo_user_controller/templates/controller.rb +0 -29
  264. data/rails_generators/hobo_user_controller/templates/functional_test.rb +0 -8
  265. data/rails_generators/hobo_user_controller/templates/helper.rb +0 -2
  266. data/rails_generators/hobo_user_model/USAGE +0 -16
  267. data/rails_generators/hobo_user_model/hobo_user_model_generator.rb +0 -46
  268. data/rails_generators/hobo_user_model/templates/fixtures.yml +0 -19
  269. data/rails_generators/hobo_user_model/templates/mailer.rb +0 -29
  270. data/rails_generators/hobo_user_model/templates/unit_test.rb +0 -8
  271. data/script/destroy +0 -14
  272. data/script/generate +0 -14
  273. data/taglibs/rapid_translations.dryml +0 -36
  274. data/tasks/environments.rake +0 -19
  275. data/tasks/hobo_tasks.rake +0 -58
  276. data/test/generators/test_generator_helper.rb +0 -29
  277. data/test/generators/test_helper.rb +0 -1
  278. data/test/generators/test_hobo_model_controller_generator.rb +0 -56
@@ -5,24 +5,24 @@
5
5
 
6
6
  (function() {
7
7
  /* ---------------------------------------------------------------------
8
-
8
+
9
9
  This allows refreshing of IE7 style rules. If you modify the DOM
10
10
  you can update IE7 by calling document.recalc().
11
-
11
+
12
12
  This should be the LAST module included.
13
-
13
+
14
14
  --------------------------------------------------------------------- */
15
-
15
+
16
16
  if (!IE7.loaded) return;
17
-
17
+
18
18
  // remove all IE7 classes from an element
19
19
  CLASSES = /\sie7_class\d+/g;
20
-
20
+
21
21
  IE7.CSS.extend({
22
22
  // store for elements that have style properties calculated
23
23
  elements: {},
24
24
  handlers: [],
25
-
25
+
26
26
  // clear IE7 classes and styles
27
27
  reset: function() {
28
28
  this.removeEventHandlers();
@@ -37,7 +37,7 @@
37
37
  }
38
38
  IE7.Rule.elements = {};
39
39
  },
40
-
40
+
41
41
  reload: function() {
42
42
  this.rules = [];
43
43
  this.getInlineStyles();
@@ -46,7 +46,7 @@
46
46
  this.refresh();
47
47
  this.trash();
48
48
  },
49
-
49
+
50
50
  addRecalc: function(propertyName, test, handler, replacement) {
51
51
  // call the ancestor method to add a wrapped recalc method
52
52
  this.base(propertyName, test, function(element) {
@@ -56,27 +56,27 @@
56
56
  IE7.CSS.elements[element.uniqueID] = element;
57
57
  }, replacement);
58
58
  },
59
-
59
+
60
60
  recalc: function() {
61
61
  // clear IE7 styles and classes
62
62
  this.reset();
63
63
  // execute the ancestor method to perform recalculations
64
64
  this.base();
65
65
  },
66
-
66
+
67
67
  addEventHandler: function(element, type, handler) {
68
68
  element.attachEvent(type, handler);
69
69
  // store the handler so it can be detached later
70
70
  this.handlers.push(arguments);
71
71
  },
72
-
72
+
73
73
  removeEventHandlers: function() {
74
74
  var handler;
75
75
  while (handler = this.handlers.pop()) {
76
76
  handler[0].detachEvent(handler[1], handler[2]);
77
77
  }
78
78
  },
79
-
79
+
80
80
  getInlineStyles: function() {
81
81
  // load inline styles
82
82
  var styleSheets = document.getElementsByTagName("style"), styleSheet;
@@ -88,7 +88,7 @@
88
88
  }
89
89
  }
90
90
  },
91
-
91
+
92
92
  trash: function() {
93
93
  // trash the old style sheets
94
94
  var styleSheets = document.styleSheets, styleSheet, i;
@@ -100,17 +100,17 @@
100
100
  }
101
101
  this.base();
102
102
  },
103
-
103
+
104
104
  getText: function(styleSheet) {
105
105
  return styleSheet.cssText || this.base(styleSheet);
106
106
  }
107
107
  });
108
-
108
+
109
109
  // remove event handlers (they eat memory)
110
110
  IE7.CSS.addEventHandler(window, "onunload", function() {
111
111
  IE7.CSS.removeEventHandlers();
112
112
  });
113
-
113
+
114
114
  // store all elements with an IE7 class assigned
115
115
  IE7.Rule.elements = {};
116
116
 
@@ -126,7 +126,7 @@
126
126
  // store created pseudo elements
127
127
  if (IE7.PseudoElement) {
128
128
  IE7.PseudoElement.hash = {};
129
-
129
+
130
130
  IE7.PseudoElement.prototype.extend({
131
131
  create: function(target) {
132
132
  var key = this.selector + ":" + target.uniqueID;
@@ -137,10 +137,10 @@
137
137
  }
138
138
  });
139
139
  }
140
-
140
+
141
141
  IE7.HTML.extend({
142
142
  elements: {},
143
-
143
+
144
144
  addRecalc: function(selector, handler) {
145
145
  // call the ancestor method to add a wrapped recalc method
146
146
  this.base(selector, function(element) {
@@ -154,7 +154,7 @@
154
154
  });
155
155
  }
156
156
  });
157
-
157
+
158
158
  // allow refreshing of IE7 fixes
159
159
  document.recalc = function(reload) {
160
160
  if (IE7.CSS.screen) {
@@ -3,10 +3,10 @@ LowPro.Version = '0.5';
3
3
  LowPro.CompatibleWithPrototype = '1.6';
4
4
 
5
5
  if (Prototype.Version.indexOf(LowPro.CompatibleWithPrototype) != 0 && window.console && window.console.warn)
6
- console.warn("This version of Low Pro is tested with Prototype " + LowPro.CompatibleWithPrototype +
6
+ console.warn("This version of Low Pro is tested with Prototype " + LowPro.CompatibleWithPrototype +
7
7
  " it may not work as expected with this version (" + Prototype.Version + ")");
8
8
 
9
- if (!Element.addMethods)
9
+ if (!Element.addMethods)
10
10
  Element.addMethods = function(o) { Object.extend(Element.Methods, o) };
11
11
 
12
12
  // Simple utility methods for working with the DOM
@@ -32,9 +32,9 @@ DOM.Builder = {
32
32
  create : function(tag, attrs, children) {
33
33
  attrs = attrs || {}; children = children || []; tag = tag.toLowerCase();
34
34
  var el = new Element(tag, attrs);
35
-
35
+
36
36
  for (var i=0; i<children.length; i++) {
37
- if (typeof children[i] == 'string')
37
+ if (typeof children[i] == 'string')
38
38
  children[i] = document.createTextNode(children[i]);
39
39
  el.appendChild(children[i]);
40
40
  }
@@ -43,14 +43,14 @@ DOM.Builder = {
43
43
  };
44
44
 
45
45
  // Automatically create node builders as $tagName.
46
- (function() {
47
- var els = ("p|div|span|strong|em|img|table|tr|td|th|thead|tbody|tfoot|pre|code|" +
48
- "h1|h2|h3|h4|h5|h6|ul|ol|li|form|input|textarea|legend|fieldset|" +
46
+ (function() {
47
+ var els = ("p|div|span|strong|em|img|table|tr|td|th|thead|tbody|tfoot|pre|code|" +
48
+ "h1|h2|h3|h4|h5|h6|ul|ol|li|form|input|textarea|legend|fieldset|" +
49
49
  "select|option|blockquote|cite|br|hr|dd|dl|dt|address|a|button|abbr|acronym|" +
50
- "script|link|style|bdo|ins|del|object|param|col|colgroup|optgroup|caption|" +
50
+ "script|link|style|bdo|ins|del|object|param|col|colgroup|optgroup|caption|" +
51
51
  "label|dfn|kbd|samp|var").split("|");
52
52
  var el, i=0;
53
- while (el = els[i++])
53
+ while (el = els[i++])
54
54
  window['$' + el] = DOM.Builder.tagFunc(el);
55
55
  })();
56
56
 
@@ -92,21 +92,21 @@ Object.extend(Event, {
92
92
  Event.addBehavior = function(rules) {
93
93
  var ab = this.addBehavior;
94
94
  Object.extend(ab.rules, rules);
95
-
95
+
96
96
  if (!ab.responderApplied) {
97
97
  Ajax.Responders.register({
98
- onComplete : function() {
99
- if (Event.addBehavior.reassignAfterAjax)
98
+ onComplete : function() {
99
+ if (Event.addBehavior.reassignAfterAjax)
100
100
  setTimeout(function() { ab.reload() }, 10);
101
101
  }
102
102
  });
103
103
  ab.responderApplied = true;
104
104
  }
105
-
105
+
106
106
  if (ab.autoTrigger) {
107
107
  this.onReady(ab.load.bind(ab, rules));
108
108
  }
109
-
109
+
110
110
  };
111
111
 
112
112
  Event.delegate = function(rules) {
@@ -121,7 +121,7 @@ Object.extend(Event.addBehavior, {
121
121
  rules : {}, cache : [],
122
122
  reassignAfterAjax : false,
123
123
  autoTrigger : true,
124
-
124
+
125
125
  load : function(rules) {
126
126
  for (var selector in rules) {
127
127
  var observer = rules[selector];
@@ -136,7 +136,7 @@ Object.extend(Event.addBehavior, {
136
136
  } else {
137
137
  if (!element.$$assigned || !element.$$assigned.include(observer)) {
138
138
  if (observer.attach) observer.attach(element);
139
-
139
+
140
140
  else observer.call($(element));
141
141
  element.$$assigned = element.$$assigned || [];
142
142
  element.$$assigned.push(observer);
@@ -146,26 +146,26 @@ Object.extend(Event.addBehavior, {
146
146
  });
147
147
  }
148
148
  },
149
-
149
+
150
150
  unload : function() {
151
151
  this.cache.each(function(c) {
152
152
  Event.stopObserving.apply(Event, c);
153
153
  });
154
154
  this.cache = [];
155
155
  },
156
-
156
+
157
157
  reload: function() {
158
158
  var ab = Event.addBehavior;
159
- ab.unload();
159
+ ab.unload();
160
160
  ab.load(ab.rules);
161
161
  },
162
-
162
+
163
163
  _wrapObserver: function(observer) {
164
164
  return function(event) {
165
- if (observer.call(this, event) === false) event.stop();
165
+ if (observer.call(this, event) === false) event.stop();
166
166
  }
167
167
  }
168
-
168
+
169
169
  });
170
170
 
171
171
  Event.observe(window, 'unload', Event.addBehavior.unload.bind(Event.addBehavior));
@@ -177,15 +177,15 @@ $$$ = Event.addBehavior.bind(Event);
177
177
  // and their behavior. Use Behavior.create() to make a new behavior class then use attach() to
178
178
  // glue it to an element. Each element then gets it's own instance of the behavior and any
179
179
  // methods called onxxx are bound to the relevent event.
180
- //
180
+ //
181
181
  // Usage:
182
- //
182
+ //
183
183
  // var MyBehavior = Behavior.create({
184
- // onmouseover : function() { this.element.addClassName('bong') }
184
+ // onmouseover : function() { this.element.addClassName('bong') }
185
185
  // });
186
186
  //
187
187
  // Event.addBehavior({ 'a.rollover' : MyBehavior });
188
- //
188
+ //
189
189
  // If you need to pass additional values to initialize use:
190
190
  //
191
191
  // Event.addBehavior({ 'a.rollover' : MyBehavior(10, { thing : 15 }) })
@@ -205,7 +205,7 @@ var Behavior = {
205
205
  if (Object.isFunction(properties[0]))
206
206
  parent = properties.shift();
207
207
 
208
- var behavior = function() {
208
+ var behavior = function() {
209
209
  if (!this.initialize) {
210
210
  var args = $A(arguments);
211
211
 
@@ -214,7 +214,7 @@ var Behavior = {
214
214
  behavior.attach.apply(behavior, initArgs);
215
215
  };
216
216
  } else {
217
- var args = (arguments.length == 2 && arguments[1] instanceof Array) ?
217
+ var args = (arguments.length == 2 && arguments[1] instanceof Array) ?
218
218
  arguments[1] : Array.prototype.slice.call(arguments, 1);
219
219
 
220
220
  this.element = $(arguments[0]);
@@ -275,7 +275,7 @@ Remote.Base = {
275
275
  this.options = Object.extend({
276
276
  evaluateScripts : true
277
277
  }, options || {});
278
-
278
+
279
279
  this._bindCallbacks();
280
280
  },
281
281
  _makeRequest : function(options) {
@@ -302,8 +302,8 @@ Remote.Link = Behavior.create(Remote.Base, {
302
302
  Remote.Form = Behavior.create(Remote.Base, {
303
303
  onclick : function(e) {
304
304
  var sourceElement = e.element();
305
-
306
- if (['input', 'button'].include(sourceElement.nodeName.toLowerCase()) &&
305
+
306
+ if (['input', 'button'].include(sourceElement.nodeName.toLowerCase()) &&
307
307
  sourceElement.type == 'submit')
308
308
  this._submitButton = sourceElement;
309
309
  },
@@ -28,7 +28,7 @@ code {
28
28
  font-weight: inherit;
29
29
  font-style: inherit;
30
30
  font-size: 100%;
31
- vertical-align: baseline;
31
+ vertical-align: baseline;
32
32
  }
33
33
 
34
34
  em {
@@ -0,0 +1,81 @@
1
+ @import url('/hobothemes/clean/stylesheets/clean.css');
2
+ @import url('/hobothemes/clean/stylesheets/rapid-ui.css');
3
+
4
+ body {
5
+ width: 95%;
6
+ min-width: 800px;
7
+ }
8
+
9
+ .page-header div.search {
10
+ margin-top: 0;
11
+ padding-left:50px;
12
+ padding-right:0
13
+ }
14
+
15
+ .page-header{
16
+ margin-top: 6px;
17
+ background: none;
18
+ }
19
+
20
+ .account-nav {
21
+ margin-top: 0;
22
+ }
23
+
24
+ .page-header h1 {
25
+ padding: 20px 30px 20px 20px;
26
+ }
27
+
28
+ .page-header h1 a {
29
+ color:#3B5F87
30
+ }
31
+
32
+ #container{
33
+ width:100%;
34
+ }
35
+
36
+ #main-nav-container{
37
+ width: 20%;
38
+ background: #ACD3E6 url(../images/300-3B5F87-ACD3E6-H.png) repeat-y;
39
+ vertical-align:top;
40
+ }
41
+
42
+ #content-container {
43
+ width: 80%;
44
+ background-color:#FCFFF5;
45
+ vertical-align:top;
46
+ }
47
+
48
+ .section.with-flash {
49
+ background: none;
50
+ padding-top: 10px;
51
+ }
52
+
53
+ .main-nav {
54
+ padding: 30px 0;
55
+ }
56
+
57
+ .main-nav li {
58
+ text-align: right;
59
+ margin-right: 0;
60
+ list-style-type: none;
61
+ }
62
+
63
+ .main-nav a {
64
+ background: none;
65
+ border-bottom: 1px dotted #FCFFF5;
66
+ display: block;
67
+ font-size: 14px;
68
+ font-weight: bold;
69
+ padding: 7px 20px;
70
+ color: #FCFFF5;
71
+ }
72
+
73
+ .main-nav a:hover {
74
+ background: #DBE1E5 url(../images/100-ACD3E6-DBE1E5-H.png) repeat-y;
75
+ color:#3B5F87;
76
+ }
77
+
78
+ .main-nav li.current a {
79
+ background: #FCFFF5 url(../images/100-DBE1E5-FCFEF5-H.png) repeat-y;
80
+ color: #242E42;
81
+ }
@@ -0,0 +1,30 @@
1
+ <extend tag="page" attrs="title, full-title">
2
+ <old-page merge title="&title" full-title="&full_title">
3
+
4
+ <stylesheets: param>
5
+ <stylesheet name="reset"/>
6
+ <theme-stylesheet/>
7
+ <stylesheet name="application" param="app-stylesheet"/>
8
+ </stylesheets:>
9
+
10
+ <header: class="sidemenu" param>
11
+ <live-search param if="&defined_route? :site_search"/>
12
+ <account-nav if="&login_url(Hobo::Model::UserBase.default_user_model)" param/>
13
+ <h1 param="app-name"><a href="#{base_url}/"><app-name/></a></h1>
14
+ </header:>
15
+
16
+ <content: replace>
17
+ <table id="container">
18
+ <tr>
19
+ <td id="main-nav-container">
20
+ <main-nav current="&title" param/>
21
+ </td>
22
+ <td id="content-container">
23
+ <section with-flash-messages param="content"/>
24
+ </td>
25
+ </tr>
26
+ </table>
27
+ </content:>
28
+
29
+ </old-page>
30
+ </extend>