refinerycms 0.9.6.19 → 0.9.6.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (385) hide show
  1. data/.gems +0 -8
  2. data/.gitignore +3 -1
  3. data/Rakefile +1 -5
  4. data/VERSION +1 -1
  5. data/bin/refinery-update-core +11 -2
  6. data/config/application.rb +6 -1
  7. data/config/environments/development.rb +10 -6
  8. data/config/settings.rb +3 -0
  9. data/db/migrate/20100305023036_change_users_columns_for_authlogic.rb +46 -0
  10. data/db/migrate/20100305023037_remove_unused_users_columns.rb +16 -0
  11. data/db/migrate/20100312155331_make_user_perishable_token_nullable.rb +13 -0
  12. data/db/migrate/20100312160327_make_user_persistence_token_nullable.rb +13 -0
  13. data/db/migrate/20100315203301_remove_state_from_users.rb +9 -0
  14. data/db/schema.rb +8 -21
  15. data/db/seeds.rb +5 -19
  16. data/lib/refinery/tasks/refinery.rb +1 -1
  17. data/public/javascripts/admin.js +6 -2
  18. data/public/javascripts/jquery-ui-1.8.min.js +374 -0
  19. data/public/javascripts/jquery.js +606 -444
  20. data/public/javascripts/refinery/admin.js +30 -9
  21. data/public/javascripts/refinery/boot_wym.js +4 -0
  22. data/public/javascripts/wymeditor/jquery.refinery.wymeditor.js +3 -4
  23. data/public/stylesheets/refinery/refinery.css +11 -0
  24. data/public/stylesheets/wymeditor/skins/refinery/skin.css +3 -1
  25. data/public/stylesheets/wymeditor/skins/refinery/wymiframe.css +5 -5
  26. data/readme.md +13 -10
  27. data/test/fixtures/users.yml +5 -5
  28. data/test/functional/dashboard_controller_test.rb +0 -4
  29. data/test/functional/images_controller_test.rb +0 -3
  30. data/test/test_helper.rb +7 -3
  31. data/themes/hemingway/views/layouts/application.html.erb +1 -12
  32. data/vendor/plugins/authentication/app/controllers/admin/users_controller.rb +1 -3
  33. data/vendor/plugins/authentication/app/controllers/sessions_controller.rb +3 -14
  34. data/vendor/plugins/authentication/app/controllers/users_controller.rb +26 -37
  35. data/vendor/plugins/authentication/app/models/user.rb +29 -112
  36. data/vendor/plugins/authentication/app/models/user_mailer.rb +8 -5
  37. data/vendor/plugins/authentication/app/models/user_session.rb +9 -0
  38. data/vendor/plugins/authentication/app/views/admin/users/index.html.erb +1 -1
  39. data/vendor/plugins/authentication/app/views/sessions/new.html.erb +5 -4
  40. data/vendor/plugins/authentication/lib/authenticated_system.rb +40 -30
  41. data/vendor/plugins/authentication/rails/init.rb +9 -0
  42. data/vendor/plugins/authlogic/CHANGELOG.rdoc +345 -0
  43. data/vendor/plugins/authlogic/LICENSE +20 -0
  44. data/vendor/plugins/authlogic/README.rdoc +246 -0
  45. data/vendor/plugins/authlogic/Rakefile +42 -0
  46. data/vendor/plugins/authlogic/VERSION.yml +5 -0
  47. data/vendor/plugins/authlogic/authlogic.gemspec +217 -0
  48. data/vendor/plugins/authlogic/generators/session/session_generator.rb +9 -0
  49. data/vendor/plugins/authlogic/generators/session/templates/session.rb +2 -0
  50. data/vendor/plugins/authlogic/init.rb +1 -0
  51. data/vendor/plugins/authlogic/lib/authlogic.rb +64 -0
  52. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/base.rb +107 -0
  53. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/email.rb +110 -0
  54. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/logged_in_status.rb +60 -0
  55. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/login.rb +141 -0
  56. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/magic_columns.rb +24 -0
  57. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/password.rb +355 -0
  58. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/perishable_token.rb +105 -0
  59. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/persistence_token.rb +68 -0
  60. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/restful_authentication.rb +61 -0
  61. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/session_maintenance.rb +139 -0
  62. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/single_access_token.rb +65 -0
  63. data/vendor/plugins/authlogic/lib/authlogic/acts_as_authentic/validations_scope.rb +32 -0
  64. data/vendor/plugins/authlogic/lib/authlogic/authenticates_many/association.rb +42 -0
  65. data/vendor/plugins/authlogic/lib/authlogic/authenticates_many/base.rb +55 -0
  66. data/vendor/plugins/authlogic/lib/authlogic/controller_adapters/abstract_adapter.rb +67 -0
  67. data/vendor/plugins/authlogic/lib/authlogic/controller_adapters/merb_adapter.rb +30 -0
  68. data/vendor/plugins/authlogic/lib/authlogic/controller_adapters/rails_adapter.rb +48 -0
  69. data/vendor/plugins/authlogic/lib/authlogic/controller_adapters/sinatra_adapter.rb +61 -0
  70. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/aes256.rb +43 -0
  71. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/bcrypt.rb +90 -0
  72. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/md5.rb +34 -0
  73. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/sha1.rb +35 -0
  74. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/sha256.rb +50 -0
  75. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/sha512.rb +50 -0
  76. data/vendor/plugins/authlogic/lib/authlogic/crypto_providers/wordpress.rb +43 -0
  77. data/vendor/plugins/authlogic/lib/authlogic/i18n.rb +83 -0
  78. data/vendor/plugins/authlogic/lib/authlogic/i18n/translator.rb +15 -0
  79. data/vendor/plugins/authlogic/lib/authlogic/random.rb +33 -0
  80. data/vendor/plugins/authlogic/lib/authlogic/regex.rb +25 -0
  81. data/vendor/plugins/authlogic/lib/authlogic/session/activation.rb +58 -0
  82. data/vendor/plugins/authlogic/lib/authlogic/session/active_record_trickery.rb +64 -0
  83. data/vendor/plugins/authlogic/lib/authlogic/session/base.rb +37 -0
  84. data/vendor/plugins/authlogic/lib/authlogic/session/brute_force_protection.rb +96 -0
  85. data/vendor/plugins/authlogic/lib/authlogic/session/callbacks.rb +99 -0
  86. data/vendor/plugins/authlogic/lib/authlogic/session/cookies.rb +130 -0
  87. data/vendor/plugins/authlogic/lib/authlogic/session/existence.rb +93 -0
  88. data/vendor/plugins/authlogic/lib/authlogic/session/foundation.rb +63 -0
  89. data/vendor/plugins/authlogic/lib/authlogic/session/http_auth.rb +58 -0
  90. data/vendor/plugins/authlogic/lib/authlogic/session/id.rb +41 -0
  91. data/vendor/plugins/authlogic/lib/authlogic/session/klass.rb +78 -0
  92. data/vendor/plugins/authlogic/lib/authlogic/session/magic_columns.rb +95 -0
  93. data/vendor/plugins/authlogic/lib/authlogic/session/magic_states.rb +59 -0
  94. data/vendor/plugins/authlogic/lib/authlogic/session/params.rb +101 -0
  95. data/vendor/plugins/authlogic/lib/authlogic/session/password.rb +240 -0
  96. data/vendor/plugins/authlogic/lib/authlogic/session/perishable_token.rb +18 -0
  97. data/vendor/plugins/authlogic/lib/authlogic/session/persistence.rb +70 -0
  98. data/vendor/plugins/authlogic/lib/authlogic/session/priority_record.rb +34 -0
  99. data/vendor/plugins/authlogic/lib/authlogic/session/scopes.rb +101 -0
  100. data/vendor/plugins/authlogic/lib/authlogic/session/session.rb +62 -0
  101. data/vendor/plugins/authlogic/lib/authlogic/session/timeout.rb +82 -0
  102. data/vendor/plugins/authlogic/lib/authlogic/session/unauthorized_record.rb +50 -0
  103. data/vendor/plugins/authlogic/lib/authlogic/session/validation.rb +82 -0
  104. data/vendor/plugins/authlogic/lib/authlogic/test_case.rb +120 -0
  105. data/vendor/plugins/authlogic/lib/authlogic/test_case/mock_controller.rb +45 -0
  106. data/vendor/plugins/authlogic/lib/authlogic/test_case/mock_cookie_jar.rb +14 -0
  107. data/vendor/plugins/authlogic/lib/authlogic/test_case/mock_logger.rb +10 -0
  108. data/vendor/plugins/authlogic/lib/authlogic/test_case/mock_request.rb +19 -0
  109. data/vendor/plugins/authlogic/lib/authlogic/test_case/rails_request_adapter.rb +30 -0
  110. data/vendor/plugins/authlogic/rails/init.rb +1 -0
  111. data/vendor/plugins/authlogic/shoulda_macros/authlogic.rb +69 -0
  112. data/vendor/plugins/authlogic/test/acts_as_authentic_test/base_test.rb +18 -0
  113. data/vendor/plugins/authlogic/test/acts_as_authentic_test/email_test.rb +97 -0
  114. data/vendor/plugins/authlogic/test/acts_as_authentic_test/logged_in_status_test.rb +36 -0
  115. data/vendor/plugins/authlogic/test/acts_as_authentic_test/login_test.rb +109 -0
  116. data/vendor/plugins/authlogic/test/acts_as_authentic_test/magic_columns_test.rb +27 -0
  117. data/vendor/plugins/authlogic/test/acts_as_authentic_test/password_test.rb +236 -0
  118. data/vendor/plugins/authlogic/test/acts_as_authentic_test/perishable_token_test.rb +90 -0
  119. data/vendor/plugins/authlogic/test/acts_as_authentic_test/persistence_token_test.rb +55 -0
  120. data/vendor/plugins/authlogic/test/acts_as_authentic_test/restful_authentication_test.rb +40 -0
  121. data/vendor/plugins/authlogic/test/acts_as_authentic_test/session_maintenance_test.rb +84 -0
  122. data/vendor/plugins/authlogic/test/acts_as_authentic_test/single_access_test.rb +44 -0
  123. data/vendor/plugins/authlogic/test/authenticates_many_test.rb +16 -0
  124. data/vendor/plugins/authlogic/test/crypto_provider_test/aes256_test.rb +14 -0
  125. data/vendor/plugins/authlogic/test/crypto_provider_test/bcrypt_test.rb +14 -0
  126. data/vendor/plugins/authlogic/test/crypto_provider_test/sha1_test.rb +23 -0
  127. data/vendor/plugins/authlogic/test/crypto_provider_test/sha256_test.rb +14 -0
  128. data/vendor/plugins/authlogic/test/crypto_provider_test/sha512_test.rb +14 -0
  129. data/vendor/plugins/authlogic/test/fixtures/companies.yml +5 -0
  130. data/vendor/plugins/authlogic/test/fixtures/employees.yml +17 -0
  131. data/vendor/plugins/authlogic/test/fixtures/projects.yml +3 -0
  132. data/vendor/plugins/authlogic/test/fixtures/users.yml +24 -0
  133. data/vendor/plugins/authlogic/test/i18n_test.rb +33 -0
  134. data/vendor/plugins/authlogic/test/libs/affiliate.rb +7 -0
  135. data/vendor/plugins/authlogic/test/libs/company.rb +6 -0
  136. data/vendor/plugins/authlogic/test/libs/employee.rb +7 -0
  137. data/vendor/plugins/authlogic/test/libs/employee_session.rb +2 -0
  138. data/vendor/plugins/authlogic/test/libs/ldaper.rb +3 -0
  139. data/vendor/plugins/authlogic/test/libs/ordered_hash.rb +9 -0
  140. data/vendor/plugins/authlogic/test/libs/project.rb +3 -0
  141. data/vendor/plugins/authlogic/test/libs/user.rb +5 -0
  142. data/vendor/plugins/authlogic/test/libs/user_session.rb +6 -0
  143. data/vendor/plugins/authlogic/test/random_test.rb +49 -0
  144. data/vendor/plugins/authlogic/test/session_test/activation_test.rb +43 -0
  145. data/vendor/plugins/authlogic/test/session_test/active_record_trickery_test.rb +36 -0
  146. data/vendor/plugins/authlogic/test/session_test/brute_force_protection_test.rb +101 -0
  147. data/vendor/plugins/authlogic/test/session_test/callbacks_test.rb +6 -0
  148. data/vendor/plugins/authlogic/test/session_test/cookies_test.rb +112 -0
  149. data/vendor/plugins/authlogic/test/session_test/credentials_test.rb +0 -0
  150. data/vendor/plugins/authlogic/test/session_test/existence_test.rb +64 -0
  151. data/vendor/plugins/authlogic/test/session_test/http_auth_test.rb +28 -0
  152. data/vendor/plugins/authlogic/test/session_test/id_test.rb +17 -0
  153. data/vendor/plugins/authlogic/test/session_test/klass_test.rb +40 -0
  154. data/vendor/plugins/authlogic/test/session_test/magic_columns_test.rb +62 -0
  155. data/vendor/plugins/authlogic/test/session_test/magic_states_test.rb +60 -0
  156. data/vendor/plugins/authlogic/test/session_test/params_test.rb +53 -0
  157. data/vendor/plugins/authlogic/test/session_test/password_test.rb +106 -0
  158. data/vendor/plugins/authlogic/test/session_test/perishability_test.rb +15 -0
  159. data/vendor/plugins/authlogic/test/session_test/persistence_test.rb +21 -0
  160. data/vendor/plugins/authlogic/test/session_test/scopes_test.rb +60 -0
  161. data/vendor/plugins/authlogic/test/session_test/session_test.rb +59 -0
  162. data/vendor/plugins/authlogic/test/session_test/timeout_test.rb +52 -0
  163. data/vendor/plugins/authlogic/test/session_test/unauthorized_record_test.rb +13 -0
  164. data/vendor/plugins/authlogic/test/session_test/validation_test.rb +23 -0
  165. data/vendor/plugins/authlogic/test/test_helper.rb +182 -0
  166. data/vendor/plugins/dashboard/app/helpers/admin/dashboard_helper.rb +1 -1
  167. data/vendor/plugins/friendly_id/Changelog.md +243 -0
  168. data/vendor/plugins/friendly_id/Contributors.md +30 -0
  169. data/vendor/plugins/friendly_id/Gemfile +2 -0
  170. data/vendor/plugins/friendly_id/Guide.md +509 -0
  171. data/vendor/plugins/friendly_id/LICENSE +19 -0
  172. data/vendor/plugins/friendly_id/README.md +76 -0
  173. data/vendor/plugins/friendly_id/Rakefile +68 -0
  174. data/vendor/plugins/friendly_id/extras/README.txt +3 -0
  175. data/vendor/plugins/friendly_id/extras/bench.rb +59 -0
  176. data/vendor/plugins/friendly_id/extras/extras.rb +31 -0
  177. data/vendor/plugins/friendly_id/extras/prof.rb +14 -0
  178. data/vendor/plugins/friendly_id/extras/template-gem.rb +26 -0
  179. data/vendor/plugins/friendly_id/extras/template-plugin.rb +28 -0
  180. data/vendor/plugins/friendly_id/friendly_id.gemspec +40 -0
  181. data/vendor/plugins/friendly_id/generators/friendly_id/friendly_id_generator.rb +28 -0
  182. data/vendor/plugins/friendly_id/generators/friendly_id/templates/create_slugs.rb +18 -0
  183. data/vendor/plugins/friendly_id/lib/friendly_id.rb +67 -0
  184. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2.rb +47 -0
  185. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/configuration.rb +66 -0
  186. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/finders.rb +140 -0
  187. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/simple_model.rb +162 -0
  188. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/slug.rb +111 -0
  189. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/slugged_model.rb +323 -0
  190. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/tasks.rb +66 -0
  191. data/vendor/plugins/friendly_id/lib/friendly_id/active_record2/tasks/friendly_id.rake +19 -0
  192. data/vendor/plugins/friendly_id/lib/friendly_id/configuration.rb +132 -0
  193. data/vendor/plugins/friendly_id/lib/friendly_id/finders.rb +106 -0
  194. data/vendor/plugins/friendly_id/lib/friendly_id/slug_string.rb +292 -0
  195. data/vendor/plugins/friendly_id/lib/friendly_id/slugged.rb +91 -0
  196. data/vendor/plugins/friendly_id/lib/friendly_id/status.rb +35 -0
  197. data/vendor/plugins/friendly_id/lib/friendly_id/test.rb +175 -0
  198. data/vendor/plugins/friendly_id/lib/friendly_id/version.rb +8 -0
  199. data/vendor/plugins/friendly_id/rails/init.rb +2 -0
  200. data/vendor/plugins/friendly_id/test/active_record2/basic_slugged_model_test.rb +14 -0
  201. data/vendor/plugins/friendly_id/test/active_record2/cached_slug_test.rb +61 -0
  202. data/vendor/plugins/friendly_id/test/active_record2/core.rb +93 -0
  203. data/vendor/plugins/friendly_id/test/active_record2/custom_normalizer_test.rb +20 -0
  204. data/vendor/plugins/friendly_id/test/active_record2/custom_table_name_test.rb +22 -0
  205. data/vendor/plugins/friendly_id/test/active_record2/deprecated_test.rb +23 -0
  206. data/vendor/plugins/friendly_id/test/active_record2/scoped_model_test.rb +111 -0
  207. data/vendor/plugins/friendly_id/test/active_record2/simple_test.rb +59 -0
  208. data/vendor/plugins/friendly_id/test/active_record2/slug_test.rb +34 -0
  209. data/vendor/plugins/friendly_id/test/active_record2/slugged.rb +30 -0
  210. data/vendor/plugins/friendly_id/test/active_record2/slugged_status_test.rb +61 -0
  211. data/vendor/plugins/friendly_id/test/active_record2/sti_test.rb +22 -0
  212. data/vendor/plugins/friendly_id/test/active_record2/support/database.mysql.yml +4 -0
  213. data/vendor/plugins/friendly_id/test/active_record2/support/database.postgres.yml +6 -0
  214. data/vendor/plugins/friendly_id/test/active_record2/support/database.sqlite3.yml +2 -0
  215. data/vendor/plugins/friendly_id/test/active_record2/support/models.rb +78 -0
  216. data/vendor/plugins/friendly_id/test/active_record2/tasks_test.rb +82 -0
  217. data/vendor/plugins/friendly_id/test/active_record2/test_helper.rb +114 -0
  218. data/vendor/plugins/friendly_id/test/friendly_id_test.rb +60 -0
  219. data/vendor/plugins/friendly_id/test/slug_string_test.rb +78 -0
  220. data/vendor/plugins/friendly_id/test/test_helper.rb +9 -0
  221. data/vendor/plugins/hpricot/CHANGELOG +88 -0
  222. data/vendor/plugins/hpricot/COPYING +18 -0
  223. data/vendor/plugins/hpricot/README +275 -0
  224. data/vendor/plugins/hpricot/Rakefile +272 -0
  225. data/vendor/plugins/hpricot/ext/fast_xs/FastXsService.java +1030 -0
  226. data/vendor/plugins/hpricot/ext/fast_xs/extconf.rb +4 -0
  227. data/vendor/plugins/hpricot/ext/fast_xs/fast_xs.c +201 -0
  228. data/vendor/plugins/hpricot/ext/hpricot_scan/HpricotCss.java +831 -0
  229. data/vendor/plugins/hpricot/ext/hpricot_scan/HpricotScanService.java +2086 -0
  230. data/vendor/plugins/hpricot/ext/hpricot_scan/MANIFEST +0 -0
  231. data/vendor/plugins/hpricot/ext/hpricot_scan/extconf.rb +6 -0
  232. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_common.rl +76 -0
  233. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_css.c +3503 -0
  234. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_css.java.rl +155 -0
  235. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_css.rl +115 -0
  236. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_scan.c +6927 -0
  237. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_scan.h +79 -0
  238. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_scan.java.rl +1152 -0
  239. data/vendor/plugins/hpricot/ext/hpricot_scan/hpricot_scan.rl +788 -0
  240. data/vendor/plugins/hpricot/extras/mingw-rbconfig.rb +176 -0
  241. data/vendor/plugins/hpricot/hpricot.gemspec +17 -0
  242. data/vendor/plugins/hpricot/lib/hpricot.rb +26 -0
  243. data/vendor/plugins/hpricot/lib/hpricot/blankslate.rb +63 -0
  244. data/vendor/plugins/hpricot/lib/hpricot/builder.rb +216 -0
  245. data/vendor/plugins/hpricot/lib/hpricot/elements.rb +510 -0
  246. data/vendor/plugins/hpricot/lib/hpricot/htmlinfo.rb +691 -0
  247. data/vendor/plugins/hpricot/lib/hpricot/inspect.rb +103 -0
  248. data/vendor/plugins/hpricot/lib/hpricot/modules.rb +40 -0
  249. data/vendor/plugins/hpricot/lib/hpricot/parse.rb +38 -0
  250. data/vendor/plugins/hpricot/lib/hpricot/tag.rb +219 -0
  251. data/vendor/plugins/hpricot/lib/hpricot/tags.rb +164 -0
  252. data/vendor/plugins/hpricot/lib/hpricot/traverse.rb +839 -0
  253. data/vendor/plugins/hpricot/lib/hpricot/xchar.rb +94 -0
  254. data/vendor/plugins/hpricot/setup.rb +1585 -0
  255. data/vendor/plugins/hpricot/test/files/basic.xhtml +17 -0
  256. data/vendor/plugins/hpricot/test/files/boingboing.html +2266 -0
  257. data/vendor/plugins/hpricot/test/files/cy0.html +3653 -0
  258. data/vendor/plugins/hpricot/test/files/immob.html +400 -0
  259. data/vendor/plugins/hpricot/test/files/pace_application.html +1320 -0
  260. data/vendor/plugins/hpricot/test/files/tenderlove.html +16 -0
  261. data/vendor/plugins/hpricot/test/files/uswebgen.html +220 -0
  262. data/vendor/plugins/hpricot/test/files/utf8.html +1054 -0
  263. data/vendor/plugins/hpricot/test/files/week9.html +1723 -0
  264. data/vendor/plugins/hpricot/test/files/why.xml +19 -0
  265. data/vendor/plugins/hpricot/test/load_files.rb +7 -0
  266. data/vendor/plugins/hpricot/test/nokogiri-bench.rb +64 -0
  267. data/vendor/plugins/hpricot/test/test_alter.rb +96 -0
  268. data/vendor/plugins/hpricot/test/test_builder.rb +37 -0
  269. data/vendor/plugins/hpricot/test/test_parser.rb +428 -0
  270. data/vendor/plugins/hpricot/test/test_paths.rb +25 -0
  271. data/vendor/plugins/hpricot/test/test_preserved.rb +88 -0
  272. data/vendor/plugins/hpricot/test/test_xml.rb +28 -0
  273. data/vendor/plugins/inquiries/app/controllers/admin/inquiries_controller.rb +1 -6
  274. data/vendor/plugins/inquiries/app/helpers/inquiries_helper.rb +0 -11
  275. data/vendor/plugins/inquiries/app/views/admin/inquiries/_inquiry.html.erb +10 -6
  276. data/vendor/plugins/inquiries/app/views/inquiry_mailer/confirmation.html.erb +1 -1
  277. data/vendor/plugins/inquiries/config/routes.rb +1 -1
  278. data/vendor/plugins/pages/app/controllers/admin/pages_controller.rb +16 -3
  279. data/vendor/plugins/pages/app/models/page_part.rb +9 -0
  280. data/vendor/plugins/rails_indexes/lib/indexer.rb +0 -2
  281. data/vendor/plugins/refinery/app/views/admin/_head.html.erb +2 -1
  282. data/vendor/plugins/refinery/app/views/shared/_head.html.erb +0 -1
  283. data/vendor/plugins/refinery/app/views/shared/_ie6check.html.erb +23 -11
  284. data/vendor/plugins/refinery/app/views/welcome.html.erb +1 -1
  285. data/vendor/plugins/refinery/app/views/wymiframe.html.erb +2 -1
  286. data/vendor/plugins/refinery/lib/generators/refinery/USAGE +1 -1
  287. data/vendor/plugins/refinery/lib/generators/refinery/templates/migration.rb +2 -2
  288. data/vendor/plugins/refinery/lib/generators/refinery/templates/model.rb +4 -0
  289. data/vendor/plugins/refinery/lib/generators/refinery/templates/views/admin/_form.html.erb +6 -0
  290. data/vendor/plugins/refinery/lib/generators/refinery/templates/views/show.html.erb +5 -3
  291. data/vendor/plugins/refinery/lib/refinery/application_helper.rb +2 -2
  292. data/vendor/plugins/refinery/lib/refinery/initializer.rb +4 -41
  293. data/vendor/plugins/refinery_settings/app/models/refinery_setting.rb +7 -3
  294. data/vendor/plugins/slim_scrooge/README.textile +112 -0
  295. data/vendor/plugins/slim_scrooge/Rakefile +29 -0
  296. data/vendor/plugins/slim_scrooge/VERSION.yml +5 -0
  297. data/vendor/plugins/slim_scrooge/ext/Rakefile +42 -0
  298. data/vendor/plugins/slim_scrooge/ext/extconf.rb +5 -0
  299. data/vendor/plugins/slim_scrooge/lib/slim_scrooge.rb +16 -0
  300. data/vendor/plugins/slim_scrooge/lib/slim_scrooge/callsite.rb +96 -0
  301. data/vendor/plugins/slim_scrooge/lib/slim_scrooge/callsites.rb +70 -0
  302. data/vendor/plugins/slim_scrooge/lib/slim_scrooge/monitored_hash.rb +103 -0
  303. data/vendor/plugins/slim_scrooge/lib/slim_scrooge/result_set.rb +38 -0
  304. data/vendor/plugins/slim_scrooge/lib/slim_scrooge/simple_set.rb +34 -0
  305. data/vendor/plugins/slim_scrooge/lib/slim_scrooge/slim_scrooge.rb +46 -0
  306. data/vendor/plugins/slim_scrooge/rails/init.rb +8 -0
  307. data/vendor/plugins/slim_scrooge/slim_scrooge.gemspec +62 -0
  308. data/vendor/plugins/slim_scrooge/slim_scrooge_windows.gemspec +59 -0
  309. data/vendor/plugins/slim_scrooge/test/active_record_setup.rb +3 -0
  310. data/vendor/plugins/slim_scrooge/test/helper.rb +91 -0
  311. data/vendor/plugins/slim_scrooge/test/models/course.rb +2 -0
  312. data/vendor/plugins/slim_scrooge/test/schema/schema.rb +5 -0
  313. data/vendor/plugins/slim_scrooge/test/setup.rb +5 -0
  314. data/vendor/plugins/themes/app/models/theme.rb +7 -0
  315. data/vendor/plugins/themes/lib/theme_server.rb +3 -1
  316. data/vendor/plugins/themes/rails/init.rb +16 -13
  317. data/vendor/plugins/will_paginate/.manifest +43 -0
  318. data/vendor/plugins/will_paginate/CHANGELOG.rdoc +139 -0
  319. data/vendor/plugins/will_paginate/LICENSE +18 -0
  320. data/vendor/plugins/will_paginate/README.rdoc +107 -0
  321. data/vendor/plugins/will_paginate/Rakefile +53 -0
  322. data/vendor/plugins/will_paginate/examples/apple-circle.gif +0 -0
  323. data/vendor/plugins/will_paginate/examples/index.haml +69 -0
  324. data/vendor/plugins/will_paginate/examples/index.html +92 -0
  325. data/vendor/plugins/will_paginate/examples/pagination.css +90 -0
  326. data/vendor/plugins/will_paginate/examples/pagination.sass +91 -0
  327. data/vendor/plugins/will_paginate/init.rb +1 -0
  328. data/vendor/plugins/will_paginate/lib/will_paginate.rb +90 -0
  329. data/vendor/plugins/will_paginate/lib/will_paginate/array.rb +16 -0
  330. data/vendor/plugins/will_paginate/lib/will_paginate/collection.rb +146 -0
  331. data/vendor/plugins/will_paginate/lib/will_paginate/core_ext.rb +43 -0
  332. data/vendor/plugins/will_paginate/lib/will_paginate/finder.rb +264 -0
  333. data/vendor/plugins/will_paginate/lib/will_paginate/named_scope.rb +170 -0
  334. data/vendor/plugins/will_paginate/lib/will_paginate/named_scope_patch.rb +37 -0
  335. data/vendor/plugins/will_paginate/lib/will_paginate/version.rb +9 -0
  336. data/vendor/plugins/will_paginate/lib/will_paginate/view_helpers.rb +408 -0
  337. data/vendor/plugins/will_paginate/test/boot.rb +21 -0
  338. data/vendor/plugins/will_paginate/test/collection_test.rb +143 -0
  339. data/vendor/plugins/will_paginate/test/console +8 -0
  340. data/vendor/plugins/will_paginate/test/database.yml +22 -0
  341. data/vendor/plugins/will_paginate/test/finder_test.rb +473 -0
  342. data/vendor/plugins/will_paginate/test/fixtures/admin.rb +3 -0
  343. data/vendor/plugins/will_paginate/test/fixtures/developer.rb +14 -0
  344. data/vendor/plugins/will_paginate/test/fixtures/developers_projects.yml +13 -0
  345. data/vendor/plugins/will_paginate/test/fixtures/project.rb +15 -0
  346. data/vendor/plugins/will_paginate/test/fixtures/projects.yml +6 -0
  347. data/vendor/plugins/will_paginate/test/fixtures/replies.yml +29 -0
  348. data/vendor/plugins/will_paginate/test/fixtures/reply.rb +7 -0
  349. data/vendor/plugins/will_paginate/test/fixtures/schema.rb +38 -0
  350. data/vendor/plugins/will_paginate/test/fixtures/topic.rb +10 -0
  351. data/vendor/plugins/will_paginate/test/fixtures/topics.yml +30 -0
  352. data/vendor/plugins/will_paginate/test/fixtures/user.rb +2 -0
  353. data/vendor/plugins/will_paginate/test/fixtures/users.yml +35 -0
  354. data/vendor/plugins/will_paginate/test/helper.rb +37 -0
  355. data/vendor/plugins/will_paginate/test/lib/activerecord_test_case.rb +43 -0
  356. data/vendor/plugins/will_paginate/test/lib/activerecord_test_connector.rb +75 -0
  357. data/vendor/plugins/will_paginate/test/lib/load_fixtures.rb +11 -0
  358. data/vendor/plugins/will_paginate/test/lib/view_test_process.rb +179 -0
  359. data/vendor/plugins/will_paginate/test/tasks.rake +59 -0
  360. data/vendor/plugins/will_paginate/test/view_test.rb +373 -0
  361. data/vendor/plugins/will_paginate/will_paginate.gemspec +19 -0
  362. metadata +308 -27
  363. data/db/migrate/20091029034951_remove_blurb_from_news_items.rb +0 -9
  364. data/public/javascripts/jquery-ui-1.8rc1.min.js +0 -375
  365. data/test/fixtures/news_items.yml +0 -14
  366. data/test/unit/news_items_test.rb +0 -33
  367. data/vendor/plugins/authentication/test/fixtures/users.yml +0 -19
  368. data/vendor/plugins/authentication/test/functional/sessions_controller_test.rb +0 -85
  369. data/vendor/plugins/authentication/test/functional/users_controller_test.rb +0 -99
  370. data/vendor/plugins/authentication/test/unit/user_test.rb +0 -164
  371. data/vendor/plugins/news/app/controllers/admin/news_items_controller.rb +0 -5
  372. data/vendor/plugins/news/app/controllers/news_items_controller.rb +0 -20
  373. data/vendor/plugins/news/app/models/news_item.rb +0 -24
  374. data/vendor/plugins/news/app/views/admin/news_items/_form.html.erb +0 -19
  375. data/vendor/plugins/news/app/views/admin/news_items/_news_item.html.erb +0 -15
  376. data/vendor/plugins/news/app/views/admin/news_items/edit.html.erb +0 -1
  377. data/vendor/plugins/news/app/views/admin/news_items/index.html.erb +0 -31
  378. data/vendor/plugins/news/app/views/admin/news_items/new.html.erb +0 -1
  379. data/vendor/plugins/news/app/views/news_items/_recent_posts.html.erb +0 -8
  380. data/vendor/plugins/news/app/views/news_items/index.html.erb +0 -17
  381. data/vendor/plugins/news/app/views/news_items/index.rss.builder +0 -26
  382. data/vendor/plugins/news/app/views/news_items/show.html.erb +0 -13
  383. data/vendor/plugins/news/config/routes.rb +0 -7
  384. data/vendor/plugins/news/news.md +0 -20
  385. data/vendor/plugins/news/rails/init.rb +0 -11
@@ -13,7 +13,7 @@ $(document).ready(function(){
13
13
 
14
14
  init_delete_confirmations = function() {
15
15
  $('a.confirm-delete').click(function(e) {
16
- if (confirm("Are you sure you want to " + (t=$(this).attr('title'))[0].toLowerCase() + t.substring(1) + "?")) {
16
+ if (confirm("Are you sure you want to " + (t=($(this).attr('title') || $(this).attr('tooltip')))[0].toLowerCase() + t.substring(1) + "?")) {
17
17
  $("<form method='POST' action='" + $(this).attr('href') + "'></form>")
18
18
  .append("<input type='hidden' name='_method' value='delete' />")
19
19
  .append("<input type='hidden' name='authenticity_token' value='" + $('#admin_authenticity_token').val() + "'/>")
@@ -137,12 +137,24 @@ init_submit_continue = function(){
137
137
  }
138
138
 
139
139
  init_tooltips = function(args){
140
- if (typeof(Tooltip) != "undefined") {
141
- $($(args != null ? args : 'a[title], #image_grid img[title]')).each(function(index, element)
142
- {
143
- new Tooltip(element, {mouseFollow:false, delay: 0, opacity: 1, appearDuration:0, hideDuration: 0, rounded: false});
140
+ $($(args != null ? args : 'a[title], span[title], #image_grid img[title], *[tooltip]')).each(function(index, element)
141
+ {
142
+ // create tooltip on hover and destroy it on hoveroff.
143
+ $(element).hover(function(e) {
144
+ tooltip = $("<div class='tooltip'></div>").html($(this).attr('tooltip')).appendTo($('#tooltip_container'));
145
+ tooltip.css({
146
+ 'left': ((left = $(this).offset().left - (tooltip.outerWidth() / 2) + ($(this).outerWidth() / 2)) >= 0 ? left : 0)
147
+ , 'top': $(this).offset().top - tooltip.outerHeight() - 6
148
+ }).show();
149
+ }, function(e) {
150
+ $('.tooltip').remove();
144
151
  });
145
- }
152
+ if ($(element).attr('tooltip') == null) {
153
+ $(element).attr({'tooltip': $(element).attr('title'), 'title': ''});
154
+ }
155
+ // wipe clean the title on any children too.
156
+ $(element).children('img').attr('title', '')
157
+ });
146
158
  }
147
159
 
148
160
  var link_dialog = {
@@ -325,6 +337,13 @@ var link_dialog = {
325
337
 
326
338
  var page_options = {
327
339
  init: function(enable_parts, new_part_url, del_part_url){
340
+ // set the page tabs up, but ensure that all tabs are shown so that when wymeditor loads it has a proper height.
341
+ // also disable page overflow so that scrollbars don't appear while the page is loading.
342
+ $(document.body).addClass('hide-overflow');
343
+ page_options.tabs = $('#page-tabs').tabs({tabTemplate: '<li><a href="#{href}">#{label}</a></li>'});
344
+ part_shown = $('#page-tabs .page_part.field').not('.ui-tabs-hide');
345
+ $('#page-tabs .page_part.field').removeClass('ui-tabs-hide');
346
+
328
347
  this.enable_parts = enable_parts;
329
348
  this.new_part_url = new_part_url;
330
349
  this.del_part_url = del_part_url;
@@ -333,7 +352,9 @@ var page_options = {
333
352
 
334
353
  // Hook into the loaded function. This will be called when WYMeditor has done its thing.
335
354
  WYMeditor.loaded = function(){
336
- page_options.tabs = $('#page-tabs').tabs({tabTemplate: '<li><a href="#{href}">#{label}</a></li>'});
355
+ // hide the tabs that are supposed to be hidden and re-enable overflow.
356
+ $(document.body).removeClass('hide-overflow');
357
+ $('#page-tabs .page_part.field').not(part_shown).addClass('ui-tabs-hide');
337
358
  }
338
359
 
339
360
  if(this.enable_parts){
@@ -499,10 +520,10 @@ var image_dialog = {
499
520
  wym_src.value = relevant_src;
500
521
  }
501
522
  if ((wym_title = parent.document.getElementById('wym_title')) != null) {
502
- wym_title.value = img.title;
523
+ wym_title.value = $(img).attr('title');
503
524
  }
504
525
  if ((wym_alt = parent.document.getElementById('wym_alt')) != null) {
505
- wym_alt.value = img.alt;
526
+ wym_alt.value = $(img).attr('alt');
506
527
  }
507
528
  }
508
529
  }
@@ -165,4 +165,8 @@ $(function()
165
165
  wymeditor_inputs = $('.wymeditor');
166
166
  wymeditor_inputs.hide();
167
167
  wymeditor_inputs.wymeditor(wymeditor_boot_options);
168
+ $('.wym_iframe iframe').each(function(index, wym) {
169
+ // adjust for border width.
170
+ $(wym).css({'height':$(wym).parent().height()-2, 'width':$(wym).parent().width()-2});
171
+ });
168
172
  });
@@ -1536,7 +1536,7 @@ WYMeditor.editor.prototype.listen = function() {
1536
1536
  for(var i=0; i < images.length; i++) {
1537
1537
  $(images[i]).bind("mousedown", this.mousedown);
1538
1538
  }
1539
-
1539
+
1540
1540
  // ensure links can't be navigated to.
1541
1541
  $(this._doc).find('a[href]').click(function(e){e.preventDefault();});
1542
1542
  };
@@ -1576,8 +1576,7 @@ WYMeditor.editor.prototype.loadSkin = function() {
1576
1576
  //(we check the existing <link> elements)
1577
1577
 
1578
1578
  var found = false;
1579
- var rExp = new RegExp(this._options.skin
1580
- + '\/' + WYMeditor.SKINS_DEFAULT_CSS + '$');
1579
+ var rExp = new RegExp(this._options.skin + '\/' + WYMeditor.SKINS_DEFAULT_CSS + '([\?].+?)?$');
1581
1580
 
1582
1581
  $('link').each( function() {
1583
1582
  if(this.href.match(rExp)) found = true;
@@ -4156,7 +4155,7 @@ WYMeditor.WymClassExplorer.prototype.initIframe = function(iframe) {
4156
4155
 
4157
4156
  //init designMode
4158
4157
  this._doc.designMode="on";
4159
-
4158
+
4160
4159
  try{
4161
4160
  // (bermi's note) noticed when running unit tests on IE6
4162
4161
  // Is this really needed, it trigger an unexisting property on IE6
@@ -1241,4 +1241,15 @@ ul#plugins li {
1241
1241
  margin-top:8px;
1242
1242
  display:inline-block;
1243
1243
  width:auto;
1244
+ }
1245
+
1246
+ /**** Tooltip Icons *****/
1247
+ .tooltip {
1248
+ background: white;
1249
+ border: 4px solid #606060;
1250
+ padding: 6px;
1251
+ word-wrap:break-word;
1252
+ }
1253
+ .tooltip * {
1254
+ color: black;
1244
1255
  }
@@ -215,4 +215,6 @@
215
215
  background-image: url('/images/refinery/icons/star.png');
216
216
  background-repeat: no-repeat;
217
217
  background-position: 181px 2px;
218
- }
218
+ }
219
+
220
+ .wym_skin_refinery .wym_status.wym_section {display: none;}
@@ -6,12 +6,12 @@
6
6
  *
7
7
  * For further information visit:
8
8
  * http://www.wymeditor.org/
9
- *
9
+ *
10
10
  * File Name:
11
11
  * wymeditor.css
12
12
  * Main editor css file.
13
13
  * See the documentation for more info.
14
- *
14
+ *
15
15
  * File Authors:
16
16
  * Jean-Francois Hovinne (jf.hovinne a-t wymeditor dotorg)
17
17
  * Daniel Reszka (d.reszka a-t wymeditor dotorg)
@@ -21,7 +21,7 @@
21
21
 
22
22
  /* basic */
23
23
  body { background: #fff;}
24
-
24
+
25
25
  /* make HTML blocs visible */
26
26
  p,
27
27
  h1,
@@ -36,7 +36,7 @@
36
36
  blockquote,
37
37
  pre { background: #FFFFFF no-repeat 2px 2px;
38
38
  padding:8px 5px 5px;
39
- margin:6px 0px;
39
+ margin:6px 0px;
40
40
  border: 1px dotted #cccccc;
41
41
  }
42
42
  td { background: #F0F4F8; }
@@ -53,7 +53,7 @@
53
53
  p { min-height: 1em; } /*min-height is needed under Firefox, because empty parargraphs */
54
54
  *+html p { min-height: auto; } /* but we have to remove it under IE7 because it triggers the 'haslayout' mode */
55
55
  td { height: 1.6em; }
56
-
56
+
57
57
  /* labels */
58
58
  p { background-image: url('/images/wymeditor/skins/refinery/iframe/lbl-p.png'); }
59
59
  h1 { background-image: url('/images/wymeditor/skins/refinery/iframe/lbl-h1.png'); }
data/readme.md CHANGED
@@ -27,20 +27,14 @@ Unlike other content managers, Refinery is truly aimed at the end user making it
27
27
 
28
28
  ## Requirements
29
29
 
30
- Refinery runs using a number of gems which (as of Refinery version 0.9.6.19) are outlined below:
30
+ Refinery's gem requirements are:
31
31
 
32
- * [friendly_id ~> 2.2.2](http://rubygems.org/gems/friendly_id)
33
- * [will_paginate ~> 2.3.11](http://rubygems.org/gems/will_paginate)
34
32
  * [rails ~> 2.3.5](http://rubygems.org/gems/rails)
35
- * [aasm ~> 2.1.3](http://rubygems.org/gems/aasm)
36
- * [unicode ~> 0.1](http://rubygems.org/gems/unicode)
37
- * [hpricot ~> 0.8.1](http://rubygems.org/gems/hpricot)
38
- * [slim_scrooge ~> 1.0.5](http://rubygems.org/gems/slim_scrooge)
39
33
 
40
34
  ### Other dependancies
41
35
 
42
36
  * [RMagick](http://github.com/rmagick/rmagick) - [Install docs](http://rmagick.rubyforge.org/install-faq.html) or for
43
- Mac OS users [shell install script](http://github.com/maddox/magick-installer) will be easier.
37
+ Mac OS 10.5 or 10.6 users [this shell install script](http://github.com/maddox/magick-installer) will be easier.
44
38
 
45
39
  ## Installing and Setting Up Refinery
46
40
 
@@ -71,6 +65,15 @@ After your database exists, you'll need to install the gems that Refinery depend
71
65
 
72
66
  rake gems:install
73
67
 
68
+ As of version 0.9.6.21, the news engine was extracted into a separate gem. This is included by default in config/application.rb
69
+ If you don't want this engine on your site, just remove the config.gem line for it in config/application.rb
70
+ If you do want it, please run the following commands to get it up and running:
71
+
72
+ script/generate news
73
+ rake db:migrate
74
+
75
+ Now, news should be up and running.
76
+
74
77
  ### 3. Starting up your site
75
78
 
76
79
  ruby script/server
@@ -131,7 +134,7 @@ This will pull in all of the updated files in the project and may result in some
131
134
  * Collect inquiries from a contact form
132
135
  * Manage your inquiries and be notified when new ones come in
133
136
 
134
- ### [News](http://github.com/resolve/refinerycms/blob/master/vendor/plugins/news/news.md)
137
+ ### [News](http://github.com/resolve/refinerycms-news)
135
138
 
136
139
  * Post news about your company and update your visitors
137
140
 
@@ -171,7 +174,7 @@ If you have installed Refinery using GIT (described above in step 1 of installin
171
174
 
172
175
  ### What about a portfolio?
173
176
 
174
- Check out the [portfolio plugin gem](http://github.com/resolve/refinery-portfolio)
177
+ Check out the [portfolio plugin gem](http://github.com/resolve/refinerycms-portfolio)
175
178
 
176
179
  ## License
177
180
 
@@ -1,15 +1,15 @@
1
1
  quentin:
2
2
  login: quentin
3
3
  email: quentin@example.com
4
- salt: 7e3041ebc2fc05a40c60028e2c4901a81035d3cd
4
+ password_salt: 7e3041ebc2fc05a40c60028e2c4901a81035d3cd
5
5
  crypted_password: 00742970dc9e6319f8019fd54864d3ea740f04b1 # test
6
6
  created_at: <%%= 5.days.ago.to_s :db %>
7
- state: active
8
-
7
+ persistence_token: <%%= Authlogic::Random.hex_token %>
8
+
9
9
  aaron:
10
10
  login: aaron
11
11
  email: aaron@example.com
12
- salt: 7e3041ebc2fc05a40c60028e2c4901a81035d3cd
12
+ password_salt: 7e3041ebc2fc05a40c60028e2c4901a81035d3cd
13
13
  crypted_password: 00742970dc9e6319f8019fd54864d3ea740f04b1 # test
14
14
  created_at: <%%= 1.days.ago.to_s :db %>
15
- state: pending
15
+ persistence_token: <%%= Authlogic::Random.hex_token %>
@@ -9,9 +9,6 @@ class DashboardControllerTest < ActionController::TestCase
9
9
 
10
10
  def setup
11
11
  @controller = Admin::DashboardController.new
12
- @request = ActionController::TestRequest.new
13
- @response = ActionController::TestResponse.new
14
-
15
12
  login_as(:quentin)
16
13
  end
17
14
 
@@ -20,7 +17,6 @@ class DashboardControllerTest < ActionController::TestCase
20
17
  assert_response :success
21
18
 
22
19
  assert_not_nil assigns(:recent_activity)
23
-
24
20
  end
25
21
 
26
22
  def test_recent_activity_should_report_activity
@@ -9,9 +9,6 @@ class ImagesControllerTest < ActionController::TestCase
9
9
 
10
10
  def setup
11
11
  @controller = Admin::ImagesController.new
12
- @request = ActionController::TestRequest.new
13
- @response = ActionController::TestResponse.new
14
-
15
12
  login_as(:quentin)
16
13
  end
17
14
 
data/test/test_helper.rb CHANGED
@@ -2,6 +2,7 @@ ENV["RAILS_ENV"] = "test"
2
2
  # this allows us to run rake test:refinery from an application using the Refinery gem.
3
3
  require (ENV["RAILS_ROOT"] ||= (File.expand_path(File.dirname(__FILE__)) + "/..")) + "/config/environment"
4
4
  require 'test_help'
5
+ require 'authlogic/test_case'
5
6
 
6
7
  class ActiveSupport::TestCase
7
8
  # Transactional fixtures accelerate your tests by wrapping each test method
@@ -37,13 +38,16 @@ class ActiveSupport::TestCase
37
38
  fixtures :all
38
39
 
39
40
  # Add more helper methods to be used by all tests here...
40
-
41
41
  def login_as(user)
42
- @request.session[:user_id] = user ? users(user).id : nil
42
+ UserSession.create(users(user)) # logs a user in
43
43
  end
44
44
 
45
45
  def logout
46
- @request.session[:user_id] = nil
46
+ UserSession.find.destroy
47
47
  end
48
48
 
49
49
  end
50
+
51
+ class ActionController::TestCase
52
+ setup :activate_authlogic
53
+ end
@@ -20,18 +20,7 @@
20
20
  <div id="ancillary">
21
21
  <div class="inside">
22
22
  <div class="block first" style='margin: 0;'>
23
- <h2>Recent Posts</h2>
24
- <% if NewsItem.latest.empty? %>
25
- <p>No news posts yet</p>
26
- <% else %>
27
- <ul>
28
- <% NewsItem.latest.each do |item| %>
29
- <li>
30
- <%= link_to item.title, news_item_url(item) %>
31
- </li>
32
- <% end %>
33
- </ul>
34
- <% end %>
23
+
35
24
  </div>
36
25
  <div class="block pages">
37
26
  <h2>
@@ -1,6 +1,6 @@
1
1
  class Admin::UsersController < Admin::BaseController
2
2
 
3
- crudify :user, :order => 'login', :title_attribute => 'login', :conditions => "state = 'active'"
3
+ crudify :user, :order => 'login', :title_attribute => 'login'
4
4
 
5
5
  # Protect these actions behind an admin login
6
6
  before_filter :find_user, :except => [:new, :create]
@@ -21,8 +21,6 @@ class Admin::UsersController < Admin::BaseController
21
21
 
22
22
  if @user.save
23
23
  @user.plugins = @selected_plugin_titles
24
- @user.register!
25
- @user.activate!
26
24
  flash[:notice] = "'#{@user.login}' was successfully created."
27
25
  redirect_to :action => 'index'
28
26
  else
@@ -1,30 +1,19 @@
1
1
  class SessionsController < ApplicationController
2
-
3
2
  layout 'admin'
4
3
  filter_parameter_logging 'password', 'password_confirmation'
5
4
 
6
5
  def create
7
- self.current_user = User.authenticate(params[:session][:login], params[:session][:password])
8
-
9
- if logged_in?
10
- if params[:session][:remember_me] == "1"
11
- current_user.remember_me unless current_user.remember_token?
12
- cookies[:auth_token] = {:value => self.current_user.remember_token ,
13
- :expires => self.current_user.remember_token_expires_at}
14
- end
15
-
6
+ @session = UserSession.new(params[:session])
7
+ if @session.save
16
8
  redirect_back_or_default(admin_root_url)
17
9
  flash[:notice] = "Logged in successfully"
18
10
  else
19
- flash.now[:error] = "Sorry, your password or username was incorrect."
20
11
  render :action => 'new'
21
12
  end
22
13
  end
23
14
 
24
15
  def destroy
25
- self.current_user.forget_me if logged_in?
26
- cookies.delete :auth_token
27
- reset_session
16
+ current_user_session.destroy if logged_in?
28
17
  flash[:notice] = "You have been logged out."
29
18
  redirect_back_or_default(new_session_url)
30
19
  end
@@ -3,11 +3,16 @@ class UsersController < ApplicationController
3
3
  # Protect these actions behind an admin login
4
4
  before_filter :find_user, :only => [:suspend, :unsuspend, :destroy, :purge]
5
5
 
6
+ # authlogic default
7
+ #before_filter :require_no_user, :only => [:new, :create]
8
+ #before_filter :require_user, :only => [:show, :edit, :update]
9
+
6
10
  filter_parameter_logging 'password', 'password_confirmation'
7
11
 
8
12
  layout 'admin'
9
13
 
10
14
  def new
15
+ @user = User.new
11
16
  render :text => "User signup is disabled", :layout => true unless can_create_public_user
12
17
  end
13
18
 
@@ -16,19 +21,19 @@ class UsersController < ApplicationController
16
21
  render :text => "User signup is disabled", :layout => true
17
22
  else
18
23
  begin
19
- cookies.delete :auth_token
20
24
  # protects against session fixation attacks, wreaks havoc with
21
25
  # request forgery protection.
22
26
  # uncomment at your own risk
23
27
  # reset_session
24
- @user = User.new(params[:user])
28
+ @user = User.create(params[:user])
25
29
  @selected_plugin_titles = params[:user][:plugins] || []
26
30
 
27
- @user.register! if @user.valid?
31
+ @user.save if @user.valid?
32
+
28
33
  if @user.errors.empty?
29
34
  @user.plugins = @selected_plugin_titles
30
- self.current_user = @user
31
- current_user.activate!
35
+ @user.save
36
+ UserSession.create!(@user)
32
37
  current_user.update_attribute(:superuser, true) if User.count == 1 # this is the superuser if this user is the only user.
33
38
  redirect_back_or_default(admin_root_url)
34
39
  flash[:notice] = "Welcome to Refinery, #{current_user.login}."
@@ -44,49 +49,33 @@ class UsersController < ApplicationController
44
49
  end
45
50
  end
46
51
 
47
- def activate
48
- self.current_user = params[:activation_code].blank? ? false : User.find_by_activation_code(params[:activation_code])
49
-
50
- if logged_in? && !current_user.active?
51
- current_user.activate!
52
- flash[:notice] = "Signup complete!"
53
- end
54
-
55
- redirect_back_or_default(root_url)
56
- end
57
-
58
52
  def forgot
59
53
  if request.post?
60
54
  if (user = User.find_by_email(params[:user][:email])).present?
61
- user.create_reset_code
62
-
63
- begin
64
- flash[:notice] = "An email has been sent to #{user.email} with a link to reset your password."
65
- UserMailer.deliver_reset_notification(user, request)
66
- rescue
67
- logger.info "Error: email could not be sent for user password reset for user #{user.id} with email #{user.email}"
68
- end
55
+ flash[:notice] = "An email has been sent to #{user.email} with a link to reset your password."
56
+ user.deliver_password_reset_instructions!(request)
57
+ redirect_back_or_default forgot_url
69
58
  else
70
59
  flash[:notice] = "Sorry, #{params[:user][:email]} isn't associated with any accounts. Are you sure you typed the correct email address?"
71
60
  end
72
-
73
- redirect_back_or_default(forgot_url)
74
61
  end
75
62
  end
76
63
 
77
64
  def reset
78
- @user = User.find_by_reset_code(params[:reset_code]) unless params[:reset_code].nil?
79
-
80
- if request.post?
81
- if @user.update_attributes(:password => params[:user][:password], :password_confirmation => params[:user][:password_confirmation])
82
- self.current_user = @user
83
- @user.delete_reset_code
84
-
85
- flash[:notice] = "Password reset successfully for #{@user.email}"
86
- redirect_back_or_default(admin_root_url)
87
- else
88
- render :action => :reset
65
+ if params[:reset_code] and @user = User.find_using_perishable_token(params[:reset_code])
66
+ if request.post?
67
+ UserSession.create(@user)
68
+ if @user.update_attributes(:password => params[:user][:password], :password_confirmation => params[:user][:password_confirmation])
69
+ flash[:notice] = "Password reset successfully for #{@user.email}"
70
+ redirect_back_or_default admin_root_url
71
+ end
89
72
  end
73
+ else
74
+ flash[:notice] = "We're sorry, but this reset code has expired or is invalid." +
75
+ "If you are having issues try copying and pasting the URL " +
76
+ "from your email into your browser or restarting the " +
77
+ "reset password process."
78
+ redirect_to forgot_url
90
79
  end
91
80
  end
92
81