typus 0.9.39 → 1.0.0.pre

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 (424) hide show
  1. data/CHANGELOG +104 -0
  2. data/Gemfile +17 -0
  3. data/Gemfile.lock +96 -0
  4. data/MIT-LICENSE +1 -1
  5. data/README.rdoc +45 -0
  6. data/Rakefile +19 -48
  7. data/app/controllers/admin/account_controller.rb +54 -0
  8. data/app/controllers/admin/dashboard_controller.rb +7 -0
  9. data/app/controllers/admin/resource_controller.rb +8 -0
  10. data/app/controllers/admin/resources_controller.rb +307 -0
  11. data/app/controllers/admin/session_controller.rb +38 -0
  12. data/app/controllers/admin_controller.rb +26 -0
  13. data/app/helpers/admin/dashboard_helper.rb +38 -0
  14. data/app/helpers/admin/filters_helper.rb +81 -0
  15. data/app/helpers/admin/form_helper.rb +68 -261
  16. data/app/helpers/admin/preview_helper.rb +48 -0
  17. data/app/helpers/admin/relationships_helper.rb +192 -0
  18. data/app/helpers/admin/resources_helper.rb +80 -0
  19. data/app/helpers/admin/search_helper.rb +19 -0
  20. data/app/helpers/admin/sidebar_helper.rb +32 -210
  21. data/app/helpers/admin/table_helper.rb +207 -200
  22. data/app/helpers/admin_helper.rb +56 -0
  23. data/app/mailers/admin/mailer.rb +13 -0
  24. data/app/models/admin/fake_user.rb +38 -0
  25. data/app/views/admin/account/forgot_password.html.erb +21 -0
  26. data/app/views/admin/account/new.html.erb +21 -0
  27. data/app/views/admin/dashboard/_sidebar.html.erb +3 -3
  28. data/app/views/admin/dashboard/show.html.erb +16 -0
  29. data/app/views/admin/dashboard/styles.html.erb +154 -0
  30. data/app/views/admin/helpers/_apps.html.erb +6 -0
  31. data/app/views/admin/helpers/_flash_message.html.erb +3 -0
  32. data/app/views/admin/helpers/_header.html.erb +7 -0
  33. data/app/views/admin/helpers/_login_info.html.erb +4 -0
  34. data/app/views/admin/helpers/_preview.html.erb +13 -0
  35. data/app/views/admin/helpers/dashboard/_applications.html.erb +32 -0
  36. data/app/views/admin/helpers/dashboard/_resources.html.erb +16 -0
  37. data/app/views/admin/helpers/filters/_filters.html.erb +31 -0
  38. data/app/views/admin/helpers/resources/_display_link_to_previous.html.erb +3 -0
  39. data/app/views/admin/helpers/resources/_pagination.html.erb +28 -0
  40. data/app/views/admin/helpers/search/_search.html.erb +12 -0
  41. data/app/views/admin/helpers/sidebar/_sidebar.html.erb +17 -0
  42. data/app/views/admin/helpers/table/_table.html.erb +22 -0
  43. data/app/views/{typus_mailer/reset_password_link.erb → admin/mailer/reset_password_link.text.erb} +2 -2
  44. data/{test/config/broken/empty.yml → app/views/admin/resources/_edit.html.erb} +0 -0
  45. data/app/views/admin/resources/_form.html.erb +26 -0
  46. data/{test/config/broken/empty_roles.yml → app/views/admin/resources/_index.html.erb} +0 -0
  47. data/{test/config/empty/empty_01.yml → app/views/admin/resources/_new.html.erb} +0 -0
  48. data/{test/config/empty/empty_01_roles.yml → app/views/admin/resources/_show.html.erb} +0 -0
  49. data/app/views/admin/resources/edit.html.erb +23 -21
  50. data/app/views/admin/resources/index.html.erb +31 -18
  51. data/app/views/admin/resources/new.html.erb +20 -18
  52. data/app/views/admin/resources/show.html.erb +29 -20
  53. data/app/views/admin/session/new.html.erb +26 -0
  54. data/app/views/admin/templates/_belongs_to.html.erb +4 -0
  55. data/app/views/admin/templates/_boolean.html.erb +4 -8
  56. data/app/views/admin/templates/_date.html.erb +9 -2
  57. data/app/views/admin/templates/_datetime.html.erb +9 -2
  58. data/app/views/admin/templates/_file.html.erb +20 -5
  59. data/app/views/admin/templates/_has_many.html.erb +24 -0
  60. data/app/views/admin/templates/_has_n.html.erb +17 -0
  61. data/{test/config/empty/empty_02.yml → app/views/admin/templates/_has_one.html.erb} +0 -0
  62. data/app/views/admin/templates/_password.html.erb +4 -2
  63. data/app/views/admin/templates/_relate_form.html.erb +4 -0
  64. data/app/views/admin/templates/_selector.html.erb +6 -18
  65. data/app/views/admin/templates/_string.html.erb +11 -10
  66. data/app/views/admin/templates/_text.html.erb +9 -2
  67. data/app/views/admin/templates/_time.html.erb +9 -2
  68. data/app/views/admin/templates/_tree.html.erb +4 -0
  69. data/app/views/layouts/admin/session.html.erb +44 -0
  70. data/app/views/layouts/admin.html.erb +45 -39
  71. data/config/available_locales/ca.yml +124 -0
  72. data/config/available_locales/ca_models.yml +16 -0
  73. data/config/{locales → available_locales}/de.yml +108 -89
  74. data/config/available_locales/de_models.yml +13 -0
  75. data/config/available_locales/es.yml +124 -0
  76. data/config/available_locales/es_models.yml +13 -0
  77. data/config/available_locales/fr.yml +124 -0
  78. data/config/available_locales/fr_models.yml +13 -0
  79. data/config/available_locales/hu.yml +124 -0
  80. data/config/available_locales/hu_models.yml +13 -0
  81. data/config/available_locales/it.yml +136 -0
  82. data/config/available_locales/it_models.yml +15 -0
  83. data/config/available_locales/language.yml.template +122 -0
  84. data/config/available_locales/language_models.yml.template +13 -0
  85. data/config/{locales → available_locales}/pt-BR.yml +97 -74
  86. data/config/available_locales/pt-BR_models.yml +13 -0
  87. data/config/{locales → available_locales}/ru.yml +107 -85
  88. data/config/available_locales/ru_models.yml +13 -0
  89. data/config/routes.rb +18 -11
  90. data/lib/generators/templates/config/initializers/typus.rb +26 -0
  91. data/lib/generators/templates/config/initializers/typus_authentication.rb +18 -0
  92. data/lib/generators/templates/config/initializers/typus_resources.rb +30 -0
  93. data/{generators/typus → lib/generators}/templates/config/typus/README +34 -16
  94. data/lib/generators/templates/config/typus/application.yml +5 -0
  95. data/lib/generators/templates/config/typus/application_roles.yml +6 -0
  96. data/lib/generators/templates/config/typus/typus.yml +17 -0
  97. data/lib/generators/templates/config/typus/typus_roles.yml +6 -0
  98. data/lib/generators/templates/controller.rb +4 -0
  99. data/lib/generators/templates/functional_test.rb +21 -0
  100. data/{generators/typus/templates/db/create_typus_users.rb → lib/generators/templates/migration.rb} +4 -4
  101. data/lib/generators/templates/model.rb +8 -0
  102. data/lib/generators/templates/model.yml +10 -0
  103. data/{generators/typus/templates/public/images/admin → lib/generators/templates/public/admin/images}/ui-icons.png +0 -0
  104. data/lib/generators/templates/public/admin/javascripts/application.js +6 -0
  105. data/lib/generators/templates/public/admin/javascripts/jquery-1.4.2.min.js +154 -0
  106. data/lib/generators/templates/public/admin/javascripts/jquery.rails.js +126 -0
  107. data/lib/generators/templates/public/admin/javascripts/jquery.searchField.js +91 -0
  108. data/lib/generators/templates/public/admin/stylesheets/application.css +11 -0
  109. data/lib/generators/templates/public/admin/stylesheets/screen.css +356 -0
  110. data/lib/generators/templates/public/admin/vendor/fancybox/blank.gif +0 -0
  111. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_close.png +0 -0
  112. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_loading.png +0 -0
  113. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_nav_left.png +0 -0
  114. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_nav_right.png +0 -0
  115. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_shadow_e.png +0 -0
  116. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_shadow_n.png +0 -0
  117. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_shadow_ne.png +0 -0
  118. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_shadow_nw.png +0 -0
  119. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_shadow_s.png +0 -0
  120. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_shadow_se.png +0 -0
  121. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_shadow_sw.png +0 -0
  122. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_shadow_w.png +0 -0
  123. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_title_left.png +0 -0
  124. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_title_main.png +0 -0
  125. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_title_over.png +0 -0
  126. data/{generators/typus/templates/public/images/admin → lib/generators/templates/public/admin/vendor}/fancybox/fancy_title_right.png +0 -0
  127. data/lib/generators/templates/public/admin/vendor/fancybox/fancybox-x.png +0 -0
  128. data/lib/generators/templates/public/admin/vendor/fancybox/fancybox-y.png +0 -0
  129. data/lib/generators/templates/public/admin/vendor/fancybox/fancybox.png +0 -0
  130. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.easing-1.3.pack.js +72 -0
  131. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.fancybox-1.3.1.css +363 -0
  132. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.fancybox-1.3.1.js +1077 -0
  133. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
  134. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.mousewheel-3.0.2.pack.js +13 -0
  135. data/lib/generators/templates/view.html.erb +9 -0
  136. data/lib/generators/typus/migration_generator.rb +85 -0
  137. data/lib/generators/typus/typus_generator.rb +190 -0
  138. data/lib/generators/typus/views_generator.rb +27 -0
  139. data/lib/support/active_record.rb +60 -0
  140. data/lib/support/array.rb +13 -0
  141. data/lib/{typus → support}/hash.rb +2 -2
  142. data/lib/{typus → support}/object.rb +2 -2
  143. data/lib/support/string.rb +47 -0
  144. data/lib/tasks/typus.rake +19 -0
  145. data/lib/typus/authentication.rb +146 -40
  146. data/lib/typus/configuration.rb +14 -49
  147. data/lib/typus/engine.rb +6 -0
  148. data/lib/typus/format.rb +41 -18
  149. data/lib/typus/orm/active_record.rb +378 -0
  150. data/lib/typus/resources.rb +57 -0
  151. data/lib/typus/user.rb +54 -37
  152. data/lib/typus/version.rb +3 -0
  153. data/lib/typus.rb +118 -80
  154. data/lib/vendor/paginator.rb +2 -2
  155. data/test/factories/assets.rb +5 -0
  156. data/test/factories/categories.rb +3 -0
  157. data/test/factories/comments.rb +6 -0
  158. data/test/factories/pages.rb +5 -0
  159. data/test/factories/pictures.rb +7 -0
  160. data/test/factories/posts.rb +6 -0
  161. data/test/factories/typus_users.rb +8 -0
  162. data/test/{config → fixtures/config}/broken/application.yml +0 -0
  163. data/test/{config → fixtures/config}/broken/application_roles.yml +0 -0
  164. data/test/{config/empty/empty_02_roles.yml → fixtures/config/broken/empty.yml} +0 -0
  165. data/test/fixtures/config/broken/empty_roles.yml +0 -0
  166. data/test/{config → fixtures/config}/broken/undefined.yml +0 -0
  167. data/test/{config → fixtures/config}/broken/undefined_roles.yml +0 -0
  168. data/test/{config → fixtures/config}/default/typus.yml +2 -1
  169. data/{generators/typus/templates/config/typus → test/fixtures/config/default}/typus_roles.yml +0 -0
  170. data/test/fixtures/config/empty/empty_01.yml +0 -0
  171. data/test/fixtures/config/empty/empty_01_roles.yml +0 -0
  172. data/test/fixtures/config/empty/empty_02.yml +0 -0
  173. data/test/fixtures/config/empty/empty_02_roles.yml +0 -0
  174. data/test/{config → fixtures/config}/locales/es.yml +0 -0
  175. data/test/fixtures/config/namespaced/application.yml +5 -0
  176. data/test/fixtures/config/namespaced/application_roles.yml +2 -0
  177. data/test/{config → fixtures/config}/ordered/001_roles.yml +0 -0
  178. data/test/{config → fixtures/config}/ordered/002_roles.yml +0 -0
  179. data/test/{config → fixtures/config}/unordered/app_one_roles.yml +0 -0
  180. data/test/{config → fixtures/config}/unordered/app_two_roles.yml +0 -0
  181. data/test/fixtures/config/working/application.yml +73 -0
  182. data/test/fixtures/config/working/application_roles.yml +24 -0
  183. data/{generators/typus/templates/config/typus → test/fixtures/config/working}/typus.yml +2 -1
  184. data/test/{config/default → fixtures/config/working}/typus_roles.yml +0 -0
  185. data/test/fixtures/rails_app/README +244 -0
  186. data/test/fixtures/rails_app/Rakefile +7 -0
  187. data/test/fixtures/rails_app/app/controllers/admin/assets_controller.rb +2 -0
  188. data/test/fixtures/rails_app/app/controllers/admin/categories_controller.rb +2 -0
  189. data/test/fixtures/rails_app/app/controllers/admin/comments_controller.rb +2 -0
  190. data/test/fixtures/rails_app/app/controllers/admin/pages_controller.rb +2 -0
  191. data/test/fixtures/rails_app/app/controllers/admin/pictures_controller.rb +2 -0
  192. data/test/fixtures/rails_app/app/controllers/admin/posts_controller.rb +2 -0
  193. data/test/fixtures/rails_app/app/controllers/admin/status_controller.rb +2 -0
  194. data/test/fixtures/rails_app/app/controllers/admin/typus_users_controller.rb +2 -0
  195. data/test/fixtures/rails_app/app/controllers/admin/watch_dog_controller.rb +2 -0
  196. data/test/fixtures/rails_app/app/controllers/application_controller.rb +4 -0
  197. data/test/fixtures/rails_app/app/helpers/application_helper.rb +2 -0
  198. data/test/fixtures/{app → rails_app/app}/models/asset.rb +1 -1
  199. data/test/fixtures/{app → rails_app/app}/models/category.rb +2 -2
  200. data/test/fixtures/{app → rails_app/app}/models/comment.rb +1 -1
  201. data/test/fixtures/{app → rails_app/app}/models/custom_user.rb +1 -1
  202. data/test/fixtures/{app → rails_app/app}/models/delayed/task.rb +2 -2
  203. data/test/fixtures/rails_app/app/models/page.rb +9 -0
  204. data/test/fixtures/rails_app/app/models/picture.rb +6 -0
  205. data/test/fixtures/{app → rails_app/app}/models/post.rb +6 -6
  206. data/test/fixtures/rails_app/app/models/typus_user.rb +8 -0
  207. data/test/fixtures/{app → rails_app/app}/models/view.rb +1 -1
  208. data/test/fixtures/rails_app/app/views/admin/categories/_form.html.erb +1 -0
  209. data/test/fixtures/rails_app/app/views/admin/dashboard/_sidebar.html.erb +1 -0
  210. data/test/fixtures/rails_app/app/views/admin/mailer/reset_password_link.text.erb +6 -0
  211. data/test/fixtures/rails_app/app/views/admin/posts/_edit.html.erb +1 -0
  212. data/test/fixtures/rails_app/app/views/admin/posts/_index.html.erb +1 -0
  213. data/test/fixtures/rails_app/app/views/admin/posts/_new.html.erb +1 -0
  214. data/test/fixtures/rails_app/app/views/admin/posts/_show.html.erb +1 -0
  215. data/test/fixtures/rails_app/app/views/admin/posts/_sidebar.html.erb +1 -0
  216. data/test/fixtures/rails_app/app/views/admin/resources/_sidebar.html.erb +1 -0
  217. data/test/fixtures/rails_app/app/views/admin/status/index.html.erb +1 -0
  218. data/test/fixtures/rails_app/app/views/admin/templates/_datepicker.html.erb +1 -0
  219. data/test/fixtures/rails_app/app/views/layouts/application.html.erb +14 -0
  220. data/test/fixtures/rails_app/config/application.rb +50 -0
  221. data/test/fixtures/rails_app/config/boot.rb +13 -0
  222. data/test/fixtures/rails_app/config/database.yml +22 -0
  223. data/test/fixtures/rails_app/config/environment.rb +5 -0
  224. data/test/fixtures/rails_app/config/environments/development.rb +19 -0
  225. data/test/fixtures/rails_app/config/environments/production.rb +42 -0
  226. data/test/fixtures/rails_app/config/environments/test.rb +34 -0
  227. data/test/fixtures/rails_app/config/initializers/acts_as_list.rb +258 -0
  228. data/test/fixtures/rails_app/config/initializers/acts_as_tree.rb +98 -0
  229. data/test/fixtures/rails_app/config/initializers/backtrace_silencers.rb +7 -0
  230. data/test/fixtures/rails_app/config/initializers/inflections.rb +10 -0
  231. data/test/fixtures/rails_app/config/initializers/mime_types.rb +5 -0
  232. data/test/fixtures/rails_app/config/initializers/secret_token.rb +7 -0
  233. data/test/fixtures/rails_app/config/initializers/session_store.rb +8 -0
  234. data/test/fixtures/rails_app/config/initializers/typus.rb +6 -0
  235. data/test/fixtures/rails_app/config/locales/en.yml +5 -0
  236. data/test/fixtures/rails_app/config/routes.rb +8 -0
  237. data/test/{config/working → fixtures/rails_app/config/typus}/application.yml +11 -9
  238. data/test/{config/working → fixtures/rails_app/config/typus}/application_roles.yml +0 -0
  239. data/{generators/typus_update_schema_to_01/templates/config → test/fixtures/rails_app/config/typus}/typus.yml +0 -0
  240. data/test/{config/working → fixtures/rails_app/config/typus}/typus_roles.yml +0 -0
  241. data/test/fixtures/rails_app/config.ru +4 -0
  242. data/test/fixtures/rails_app/db/seeds.rb +7 -0
  243. data/test/fixtures/rails_app/db/test.sqlite3 +0 -0
  244. data/test/fixtures/rails_app/log/test.log +4268 -0
  245. data/test/fixtures/rails_app/public/404.html +26 -0
  246. data/test/fixtures/rails_app/public/422.html +26 -0
  247. data/test/fixtures/rails_app/public/500.html +26 -0
  248. data/test/fixtures/rails_app/public/favicon.ico +0 -0
  249. data/test/fixtures/rails_app/public/images/rails.png +0 -0
  250. data/test/fixtures/rails_app/public/index.html +279 -0
  251. data/test/fixtures/rails_app/public/javascripts/application.js +2 -0
  252. data/test/fixtures/rails_app/public/javascripts/controls.js +965 -0
  253. data/test/fixtures/rails_app/public/javascripts/dragdrop.js +974 -0
  254. data/test/fixtures/rails_app/public/javascripts/effects.js +1123 -0
  255. data/test/fixtures/rails_app/public/javascripts/prototype.js +4874 -0
  256. data/test/fixtures/rails_app/public/javascripts/rails.js +118 -0
  257. data/test/fixtures/rails_app/public/robots.txt +5 -0
  258. data/test/fixtures/rails_app/script/rails +9 -0
  259. data/test/fixtures/rails_app/tmp/export-posts-20100902120447.csv +2 -0
  260. data/test/fixtures/rails_app/tmp/export-posts-20100902120700.csv +2 -0
  261. data/test/functional/admin/account_controller_test.rb +90 -0
  262. data/test/functional/admin/dashboard_controller_http_basic_test.rb +24 -0
  263. data/test/functional/admin/dashboard_controller_none_test.rb +18 -0
  264. data/test/functional/admin/dashboard_controller_test.rb +106 -0
  265. data/test/functional/admin/resources_controller_assets_relationships.rb +59 -0
  266. data/test/functional/admin/resources_controller_categories_before_test.rb +10 -0
  267. data/test/functional/admin/resources_controller_categories_lists_test.rb +44 -0
  268. data/test/functional/admin/resources_controller_categories_views_test.rb +10 -0
  269. data/test/functional/admin/resources_controller_comments_toggle_test.rb +21 -0
  270. data/test/functional/admin/{master_controller_posts_before_test.rb → resources_controller_posts_before_test.rb} +3 -3
  271. data/test/functional/admin/resources_controller_posts_crud_custom_test.rb +27 -0
  272. data/test/functional/admin/resources_controller_posts_crud_test.rb +44 -0
  273. data/test/functional/admin/resources_controller_posts_formats_test.rb +39 -0
  274. data/test/functional/admin/resources_controller_posts_forms_test.rb +58 -0
  275. data/test/functional/admin/resources_controller_posts_permissions_test.rb +100 -0
  276. data/test/functional/admin/{master_controller_posts_relationships_test.rb → resources_controller_posts_relationships_test.rb} +25 -20
  277. data/test/functional/admin/resources_controller_posts_roles.rb +52 -0
  278. data/test/functional/admin/resources_controller_posts_views_test.rb +143 -0
  279. data/test/functional/admin/resources_controller_tableless_resource_test.rb +51 -0
  280. data/test/functional/admin/resources_controller_typus_users_test.rb +159 -0
  281. data/test/functional/admin/session_controller_test.rb +85 -0
  282. data/test/helpers/admin/dashboard_helper_test.rb +42 -0
  283. data/test/helpers/admin/form_helper_test.rb +52 -276
  284. data/test/helpers/admin/resources_helper_test.rb +52 -0
  285. data/test/helpers/admin/sidebar_helper_test.rb +133 -224
  286. data/test/helpers/admin/table_helper_test.rb +136 -144
  287. data/test/helpers/admin_helper_test.rb +69 -0
  288. data/test/lib/support/active_record_test.rb +35 -0
  289. data/test/lib/support/array_test.rb +15 -0
  290. data/test/lib/support/hash_test.rb +11 -0
  291. data/test/lib/support/string_test.rb +48 -0
  292. data/test/lib/typus/active_record_test.rb +385 -0
  293. data/test/lib/typus/configuration_test.rb +52 -0
  294. data/test/lib/typus/resource_test.rb +17 -0
  295. data/test/lib/typus/routes_test.rb +29 -0
  296. data/test/lib/typus_test.rb +72 -40
  297. data/test/{vendor → lib/vendor}/paginator_test.rb +7 -4
  298. data/test/schema.rb +28 -3
  299. data/test/test_helper.rb +29 -0
  300. data/test/unit/admin/mailer_test.rb +32 -0
  301. data/test/unit/typus_user_roles_test.rb +69 -61
  302. data/test/unit/typus_user_test.rb +56 -143
  303. data/typus.gemspec +18 -276
  304. metadata +305 -231
  305. data/.gitignore +0 -1
  306. data/AUTHORS.md +0 -34
  307. data/CHANGES +0 -3
  308. data/README.md +0 -75
  309. data/VERSION +0 -1
  310. data/app/controllers/admin/master_controller.rb +0 -394
  311. data/app/controllers/typus_controller.rb +0 -152
  312. data/app/helpers/admin/master_helper.rb +0 -104
  313. data/app/helpers/admin/public_helper.rb +0 -27
  314. data/app/helpers/typus_helper.rb +0 -181
  315. data/app/models/typus_mailer.rb +0 -14
  316. data/app/models/typus_user.rb +0 -5
  317. data/app/views/admin/shared/_feedback.html.erb +0 -6
  318. data/app/views/admin/shared/_footer.html.erb +0 -2
  319. data/app/views/admin/shared/_pagination.html.erb +0 -28
  320. data/app/views/admin/templates/_tiny_mce.html.erb +0 -2
  321. data/app/views/layouts/typus.html.erb +0 -29
  322. data/app/views/typus/dashboard.html.erb +0 -9
  323. data/app/views/typus/recover_password.html.erb +0 -7
  324. data/app/views/typus/reset_password.html.erb +0 -15
  325. data/app/views/typus/sign_in.html.erb +0 -9
  326. data/app/views/typus/sign_up.html.erb +0 -7
  327. data/config/locales/es.yml +0 -105
  328. data/config/locales/fr.yml +0 -98
  329. data/config/locales/language.yml.template +0 -106
  330. data/generators/typus/templates/auto/index.html.erb +0 -11
  331. data/generators/typus/templates/auto/resource_controller.rb.erb +0 -15
  332. data/generators/typus/templates/auto/resource_controller_test.rb.erb +0 -11
  333. data/generators/typus/templates/auto/resources_controller.rb.erb +0 -37
  334. data/generators/typus/templates/config/initializers/typus.rb +0 -34
  335. data/generators/typus/templates/config/typus/application.yml +0 -6
  336. data/generators/typus/templates/config/typus/application_roles.yml +0 -23
  337. data/generators/typus/templates/lib/tasks/typus_tasks.rake +0 -32
  338. data/generators/typus/templates/public/images/admin/fancybox/fancy_closebox.png +0 -0
  339. data/generators/typus/templates/public/images/admin/fancybox/fancy_left.png +0 -0
  340. data/generators/typus/templates/public/images/admin/fancybox/fancy_progress.png +0 -0
  341. data/generators/typus/templates/public/images/admin/fancybox/fancy_right.png +0 -0
  342. data/generators/typus/templates/public/images/admin/fancybox/fancy_shadow_e.png +0 -0
  343. data/generators/typus/templates/public/images/admin/fancybox/fancy_shadow_n.png +0 -0
  344. data/generators/typus/templates/public/images/admin/fancybox/fancy_shadow_ne.png +0 -0
  345. data/generators/typus/templates/public/images/admin/fancybox/fancy_shadow_nw.png +0 -0
  346. data/generators/typus/templates/public/images/admin/fancybox/fancy_shadow_s.png +0 -0
  347. data/generators/typus/templates/public/images/admin/fancybox/fancy_shadow_se.png +0 -0
  348. data/generators/typus/templates/public/images/admin/fancybox/fancy_shadow_sw.png +0 -0
  349. data/generators/typus/templates/public/images/admin/fancybox/fancy_shadow_w.png +0 -0
  350. data/generators/typus/templates/public/images/admin/fancybox/fancy_title_left.png +0 -0
  351. data/generators/typus/templates/public/images/admin/fancybox/fancy_title_main.png +0 -0
  352. data/generators/typus/templates/public/javascripts/admin/application.js +0 -14
  353. data/generators/typus/templates/public/javascripts/admin/jquery-1.3.2.min.js +0 -19
  354. data/generators/typus/templates/public/javascripts/admin/jquery.fancybox-1.2.1.min.js +0 -9
  355. data/generators/typus/templates/public/stylesheets/admin/jquery.fancybox.css +0 -315
  356. data/generators/typus/templates/public/stylesheets/admin/reset.css +0 -68
  357. data/generators/typus/templates/public/stylesheets/admin/screen.css +0 -361
  358. data/generators/typus/typus_generator.rb +0 -191
  359. data/generators/typus_update_schema_to_01/templates/migration.rb +0 -11
  360. data/generators/typus_update_schema_to_01/typus_update_schema_to_01_generator.rb +0 -19
  361. data/generators/typus_update_schema_to_02/templates/migration.rb +0 -11
  362. data/generators/typus_update_schema_to_02/typus_update_schema_to_02_generator.rb +0 -11
  363. data/lib/typus/active_record.rb +0 -323
  364. data/lib/typus/extensions/routes.rb +0 -15
  365. data/lib/typus/extensions/routes_hack.rb +0 -15
  366. data/lib/typus/preferences.rb +0 -11
  367. data/lib/typus/preview.rb +0 -76
  368. data/lib/typus/quick_edit.rb +0 -40
  369. data/lib/typus/reloader.rb +0 -14
  370. data/lib/typus/string.rb +0 -27
  371. data/lib/vendor/active_record.rb +0 -15
  372. data/lib/vendor/rss_parser.rb +0 -20
  373. data/rails/init.rb +0 -3
  374. data/tasks/typus_tasks.rake +0 -32
  375. data/test/config/working/typus.yml +0 -12
  376. data/test/fixtures/app/controllers/admin/assets_controller.rb +0 -2
  377. data/test/fixtures/app/controllers/admin/categories_controller.rb +0 -2
  378. data/test/fixtures/app/controllers/admin/comments_controller.rb +0 -2
  379. data/test/fixtures/app/controllers/admin/pages_controller.rb +0 -2
  380. data/test/fixtures/app/controllers/admin/posts_controller.rb +0 -2
  381. data/test/fixtures/app/controllers/admin/status_controller.rb +0 -6
  382. data/test/fixtures/app/controllers/admin/typus_users_controller.rb +0 -2
  383. data/test/fixtures/app/controllers/admin/watch_dog_controller.rb +0 -6
  384. data/test/fixtures/app/models/page.rb +0 -5
  385. data/test/fixtures/app/views/admin/dashboard/_content.html.erb +0 -1
  386. data/test/fixtures/app/views/admin/dashboard/_sidebar.html.erb +0 -1
  387. data/test/fixtures/app/views/admin/posts/_edit.html.erb +0 -1
  388. data/test/fixtures/app/views/admin/posts/_index.html.erb +0 -1
  389. data/test/fixtures/app/views/admin/posts/_new.html.erb +0 -1
  390. data/test/fixtures/app/views/admin/posts/_show.html.erb +0 -1
  391. data/test/fixtures/app/views/admin/posts/_sidebar.html.erb +0 -1
  392. data/test/fixtures/app/views/admin/resources/_sidebar.html.erb +0 -1
  393. data/test/fixtures/app/views/admin/shared/_footer.html.erb +0 -1
  394. data/test/fixtures/app/views/admin/status/index.html.erb +0 -1
  395. data/test/fixtures/app/views/admin/templates/_datepicker.html.erb +0 -1
  396. data/test/fixtures/assets.yml +0 -11
  397. data/test/fixtures/categories.yml +0 -14
  398. data/test/fixtures/comments.yml +0 -27
  399. data/test/fixtures/pages.yml +0 -41
  400. data/test/fixtures/posts.yml +0 -37
  401. data/test/fixtures/typus_users.yml +0 -59
  402. data/test/functional/admin/master_controller_assets_relationships.rb +0 -66
  403. data/test/functional/admin/master_controller_categories_lists_test.rb +0 -64
  404. data/test/functional/admin/master_controller_posts_crud_test.rb +0 -97
  405. data/test/functional/admin/master_controller_posts_formats_test.rb +0 -53
  406. data/test/functional/admin/master_controller_posts_permissions_test.rb +0 -127
  407. data/test/functional/admin/master_controller_posts_roles.rb +0 -50
  408. data/test/functional/admin/master_controller_posts_toggle_test.rb +0 -35
  409. data/test/functional/admin/master_controller_posts_views_test.rb +0 -209
  410. data/test/functional/admin/master_controller_tableless_resource_test.rb +0 -36
  411. data/test/functional/admin/master_controller_typus_users_test.rb +0 -211
  412. data/test/functional/typus_controller_test.rb +0 -342
  413. data/test/helper.rb +0 -51
  414. data/test/helpers/admin/master_helper_test.rb +0 -70
  415. data/test/helpers/admin/public_helper_test.rb +0 -26
  416. data/test/helpers/typus_helper_test.rb +0 -96
  417. data/test/lib/active_record_test.rb +0 -377
  418. data/test/lib/configuration_test.rb +0 -95
  419. data/test/lib/hash_test.rb +0 -11
  420. data/test/lib/routes_test.rb +0 -71
  421. data/test/lib/string_test.rb +0 -55
  422. data/test/unit/typus_mailer_test.rb +0 -29
  423. data/test/unit/typus_test.rb +0 -17
  424. data/test/vendor/active_record_test.rb +0 -18
@@ -1 +0,0 @@
1
- _sidebar.html.erb
@@ -1 +0,0 @@
1
- _sidebar.html.erb
@@ -1 +0,0 @@
1
- _footer.html.erb
@@ -1 +0,0 @@
1
- index.html.erb
@@ -1 +0,0 @@
1
- datepicker_template_<%= attribute %>
@@ -1,11 +0,0 @@
1
- first:
2
- id: 1
3
- caption: This is the caption.
4
- resource_type: Post
5
- resource_id: 1
6
-
7
- second:
8
- id: 2
9
- caption: This is the second caption.
10
- resource_type: Post
11
- resource_id: 1
@@ -1,14 +0,0 @@
1
- first:
2
- id: 3
3
- name: First Category
4
- position: 1
5
-
6
- second:
7
- id: 1
8
- name: Second Category
9
- position: 2
10
-
11
- third:
12
- id: 2
13
- name: Third Category
14
- position: 3
@@ -1,27 +0,0 @@
1
- first:
2
- id: 1
3
- name: John
4
- email: john@example.com
5
- body: Body of the comment
6
- post_id: 1
7
-
8
- second:
9
- id: 2
10
- name: Me
11
- email: me@example.com
12
- body: Body of the comment
13
- post_id: 1
14
-
15
- without_post_id:
16
- id: 3
17
- name: John
18
- email: john@example.com
19
- body: Body of the comment
20
- post_id:
21
-
22
- with_post_id:
23
- id: 4
24
- name: Me
25
- email: me@example.com
26
- body: Body of the comment
27
- post_id: 1
@@ -1,41 +0,0 @@
1
- published:
2
- id: 1
3
- title: Published Page
4
- body: Content of the published page.
5
- is_published: true
6
- parent_id:
7
-
8
- unpublished:
9
- id: 2
10
- title: Unpublished Page
11
- body: Content of the unpublished page.
12
- is_published: false
13
- parent_id: 1
14
-
15
- section:
16
- id: 3
17
- title: Section
18
- body: This is a section.
19
- is_published: true
20
- parent_id:
21
-
22
- subsection_1:
23
- id: 4
24
- title: Subsection 1
25
- body: This is a subsection.
26
- is_published: true
27
- parent_id: 3
28
-
29
- subsection_2:
30
- id: 5
31
- title: Subsection 2
32
- body: This is a subsection.
33
- is_published: true
34
- parent_id: 3
35
-
36
- subsubsection:
37
- id: 6
38
- title: Subsubsection
39
- body: This is a subsubsection.
40
- is_published: true
41
- parent_id: 5
@@ -1,37 +0,0 @@
1
- # Belongs to admin.
2
- published:
3
- id: 1
4
- title: Title One
5
- body: This is the body.
6
- created_at: <%= 7.days.ago.to_s(:db) %>
7
- updated_at: <%= 7.days.ago.to_s(:db) %>
8
- status: true
9
- typus_user_id: 1
10
-
11
- # Belongs to editor.
12
- unpublished:
13
- id: 2
14
- title: Title Two
15
- body: This is the body.
16
- created_at: <%= 6.days.ago.to_s(:db) %>
17
- updated_at: <%= 6.days.ago.to_s(:db) %>
18
- status: false
19
- typus_user_id: 1
20
-
21
- owned_by_admin:
22
- id: 3
23
- title: Owned by admin
24
- body: This is the body.
25
- created_at: <%= 5.days.ago.to_s(:db) %>
26
- updated_at: <%= 5.days.ago.to_s(:db) %>
27
- status: false
28
- typus_user_id: 1
29
-
30
- owned_by_editor:
31
- id: 4
32
- title: Owned by editor
33
- body: This is the body.
34
- created_at: <%= 4.days.ago.to_s(:db) %>
35
- updated_at: <%= 4.days.ago.to_s(:db) %>
36
- status: false
37
- typus_user_id: 2
@@ -1,59 +0,0 @@
1
- admin:
2
- id: 1
3
- first_name: Admin
4
- last_name: Example
5
- role: admin
6
- email: admin@example.com
7
- status: true
8
- token: 1A2B3C4D5E6F
9
- salt: admin
10
- crypted_password: <%= Digest::SHA1.hexdigest("--admin--#{12345678}") %>
11
- preferences: { :locale => :en }
12
-
13
- editor:
14
- id: 2
15
- first_name: Editor
16
- last_name: Example
17
- role: editor
18
- email: editor@example.com
19
- status: true
20
- token: A2B3C4D5E6F1
21
- salt: editor
22
- crypted_password: <%= Digest::SHA1.hexdigest("--editor--#{12345678}") %>
23
- preferences: { :locale => :en }
24
-
25
- disabled_user:
26
- id: 3
27
- first_name: Typus
28
- last_name: User
29
- role: editor
30
- email: disabled_user@example.com
31
- status: false
32
- token: 2B3C4D5E6F1A
33
- salt: disabled_user
34
- crypted_password: <%= Digest::SHA1.hexdigest("--disabled_user--#{12345678}") %>
35
- preferences: { :locale => :en }
36
-
37
- designer:
38
- id: 4
39
- first_name: Designer
40
- last_name: Example
41
- role: designer
42
- email: designer@example.com
43
- status: true
44
- token: B3C4D5E6F1A2
45
- salt: designer
46
- crypted_password: <%= Digest::SHA1.hexdigest("--designer--#{12345678}") %>
47
- preferences: { :locale => :en }
48
-
49
- removed_role:
50
- id: 5
51
- first_name: Removed
52
- last_name: Example
53
- role: removed
54
- email: removed@example.com
55
- status: true
56
- token: 3C4D5E6F1A2B
57
- salt: removed_role
58
- crypted_password: <%= Digest::SHA1.hexdigest("--removed_role--#{12345678}") %>
59
- preferences: { :locale => :en }
@@ -1,66 +0,0 @@
1
- require 'test/helper'
2
-
3
- class Admin::AssetsControllerTest < ActionController::TestCase
4
-
5
- def setup
6
- @request.session[:typus_user_id] = typus_users(:admin).id
7
- end
8
-
9
- def test_should_test_polymorphic_relationship_message
10
-
11
- post_ = posts(:published)
12
- get :new, { :back_to => "/admin/posts/#{post_.id}/edit",
13
- :resource => post_.class.name, :resource_id => post_.id }
14
-
15
- assert_select 'body div#flash' do
16
- assert_select 'p', "You're adding a new Asset to Post. Do you want to cancel it?"
17
- assert_select 'a', "Do you want to cancel it?"
18
- end
19
-
20
- end
21
-
22
- def test_should_create_a_polymorphic_relationship
23
-
24
- post_ = posts(:published)
25
-
26
- assert_difference('post_.assets.count') do
27
- post :create, { :back_to => "/admin/posts/edit/#{post_.id}",
28
- :resource => post_.class.name, :resource_id => post_.id }
29
- end
30
-
31
- assert_response :redirect
32
- assert_redirected_to '/admin/posts/edit/1#assets'
33
- assert_equal "Asset successfully assigned to Post.", flash[:success]
34
-
35
- end
36
-
37
- def test_should_render_edit_and_verify_message_on_polymorphic_relationship
38
-
39
- post_ = posts(:published)
40
- get :edit, { :id => assets(:first).id,
41
- :back_to => "/admin/posts/#{post_.id}/edit",
42
- :resource => post_.class.name, :resource_id => post_.id }
43
-
44
- assert_select 'body div#flash' do
45
- assert_select 'p', "You're updating a Asset for Post. Do you want to cancel it?"
46
- assert_select 'a', "Do you want to cancel it?"
47
- end
48
-
49
- end
50
-
51
- def test_should_return_to_back_to_url
52
-
53
- options = Typus::Configuration.options.merge(:index_after_save => true)
54
- Typus::Configuration.stubs(:options).returns(options)
55
-
56
- post_ = posts(:published)
57
- asset_ = assets(:first)
58
-
59
- post :update, { :back_to => "/admin/posts/#{post_.id}/edit", :resource => post_.class.name, :resource_id => post_.id, :id => asset_.id }
60
- assert_response :redirect
61
- assert_redirected_to '/admin/posts/1/edit#assets'
62
- assert_equal "Asset successfully updated.", flash[:success]
63
-
64
- end
65
-
66
- end
@@ -1,64 +0,0 @@
1
- require 'test/helper'
2
-
3
- class Admin::CategoriesControllerTest < ActionController::TestCase
4
-
5
- def setup
6
- @request.session[:typus_user_id] = typus_users(:admin).id
7
- end
8
-
9
- def test_should_verify_items_are_sorted_by_position_on_list
10
- get :index
11
- assert_response :success
12
- assert_equal [ 1, 2, 3 ], assigns['items'].items.map(&:position)
13
- assert_equal [ 2, 3, 1 ], Category.find(:all, :order => "id ASC").map(&:position)
14
- end
15
-
16
- if defined?(ActiveRecord::Acts::List)
17
-
18
- def test_should_position_item_one_step_down
19
-
20
- first_category = categories(:first)
21
- assert_equal 1, first_category.position
22
- second_category = categories(:second)
23
- assert_equal 2, second_category.position
24
-
25
- get :position, { :id => first_category.id, :go => 'move_lower' }
26
- assert_response :redirect
27
- assert_redirected_to admin_dashboard_path
28
-
29
- assert_equal "Record moved lower.", flash[:success]
30
- assert_equal 2, first_category.reload.position
31
- assert_equal 1, second_category.reload.position
32
-
33
- end
34
-
35
- def test_should_position_item_one_step_up
36
- first_category = categories(:first)
37
- assert_equal 1, first_category.position
38
- second_category = categories(:second)
39
- assert_equal 2, second_category.position
40
- get :position, { :id => second_category.id, :go => 'move_higher' }
41
- assert_equal "Record moved higher.", flash[:success]
42
- assert_equal 2, first_category.reload.position
43
- assert_equal 1, second_category.reload.position
44
- end
45
-
46
- def test_should_position_top_item_to_bottom
47
- first_category = categories(:first)
48
- assert_equal 1, first_category.position
49
- get :position, { :id => first_category.id, :go => 'move_to_bottom' }
50
- assert_equal "Record moved to bottom.", flash[:success]
51
- assert_equal 3, first_category.reload.position
52
- end
53
-
54
- def test_should_position_bottom_item_to_top
55
- third_category = categories(:third)
56
- assert_equal 3, third_category.position
57
- get :position, { :id => third_category.id, :go => 'move_to_top' }
58
- assert_equal "Record moved to top.", flash[:success]
59
- assert_equal 1, third_category.reload.position
60
- end
61
-
62
- end
63
-
64
- end
@@ -1,97 +0,0 @@
1
- require 'test/helper'
2
-
3
- class Admin::PostsControllerTest < ActionController::TestCase
4
-
5
- ##
6
- # Actions related to index.
7
- ##
8
-
9
- def test_should_index_items
10
- get :index
11
- assert_response :success
12
- assert_template 'index'
13
- end
14
-
15
- ##
16
- # Actions related to new.
17
- ##
18
-
19
- def test_should_new_an_item
20
- get :new
21
- assert_response :success
22
- assert_template 'new'
23
- end
24
-
25
- ##
26
- # Actions related to create.
27
- ##
28
-
29
- def test_should_create_an_item
30
-
31
- assert_difference 'Post.count' do
32
- post :create, { :item => { :title => 'This is another title', :body => 'Body' } }
33
- assert_response :redirect
34
- assert_redirected_to :controller => 'admin/posts', :action => 'edit', :id => Post.last
35
- end
36
-
37
- end
38
-
39
- def test_should_create_an_item_and_redirect_to_index
40
-
41
- options = Typus::Configuration.options.merge(:index_after_save => true)
42
- Typus::Configuration.stubs(:options).returns(options)
43
-
44
- assert_difference 'Post.count' do
45
- post :create, { :item => { :title => 'This is another title', :body => 'Body' } }
46
- assert_response :redirect
47
- assert_redirected_to :action => 'index'
48
- end
49
-
50
- end
51
-
52
- ##
53
- # Actions related to show.
54
- ##
55
-
56
- def test_should_show_an_item
57
- post_ = posts(:published)
58
- get :show, { :id => post_.id }
59
- assert_response :success
60
- assert_template 'show'
61
- end
62
-
63
- ##
64
- # Actions related to edit.
65
- ##
66
-
67
- def test_should_edit_an_item
68
- get :edit, { :id => posts(:published) }
69
- assert_response :success
70
- assert_template 'edit'
71
- end
72
-
73
- ##
74
- # Actions related to update.
75
- ##
76
-
77
- def test_should_update_an_item
78
-
79
- post_ = posts(:published)
80
- post :update, { :id => post_.id, :title => 'Updated' }
81
- assert_response :redirect
82
- assert_redirected_to :controller => 'admin/posts', :action => 'edit', :id => post_.id
83
-
84
- end
85
-
86
- def test_should_update_an_item_and_redirect_to_index
87
-
88
- options = Typus::Configuration.options.merge(:index_after_save => true)
89
- Typus::Configuration.stubs(:options).returns(options)
90
-
91
- post :update, { :id => posts(:published), :title => 'Updated' }
92
- assert_response :redirect
93
- assert_redirected_to :action => 'index'
94
-
95
- end
96
-
97
- end
@@ -1,53 +0,0 @@
1
- require 'test/helper'
2
-
3
- class Admin::PostsControllerTest < ActionController::TestCase
4
-
5
- def test_should_generate_xml
6
-
7
- assert @typus_user.is_root?
8
-
9
- expected = <<-RAW
10
- <?xml version="1.0" encoding="UTF-8"?>
11
- <posts type="array">
12
- <post>
13
- <status type="boolean">false</status>
14
- <title>Owned by admin</title>
15
- </post>
16
- <post>
17
- <status type="boolean">false</status>
18
- <title>Owned by editor</title>
19
- </post>
20
- <post>
21
- <status type="boolean">true</status>
22
- <title>Title One</title>
23
- </post>
24
- <post>
25
- <status type="boolean">false</status>
26
- <title>Title Two</title>
27
- </post>
28
- </posts>
29
- RAW
30
-
31
- get :index, :format => 'xml'
32
- assert_equal expected, @response.body
33
-
34
- end
35
-
36
- def test_should_generate_csv
37
-
38
- assert @typus_user.is_root?
39
-
40
- expected = <<-RAW
41
- Title,Status
42
- Owned by admin,false
43
- Owned by editor,false
44
- Title One,true
45
- Title Two,false
46
- RAW
47
-
48
- get :index, :format => 'csv'
49
- assert_equal expected, @response.body
50
-
51
- end
52
-
53
- end
@@ -1,127 +0,0 @@
1
- require 'test/helper'
2
-
3
- class Admin::PostsControllerTest < ActionController::TestCase
4
-
5
- def setup_for_no_root
6
- @typus_user = typus_users(:editor)
7
- @request.session[:typus_user_id] = @typus_user.id
8
- assert !@typus_user.is_root?
9
- end
10
-
11
- ##
12
- # Tests around what happens with records with typus_user_id when editing
13
- # and showing.
14
- ##
15
-
16
- def test_should_verify_root_can_edit_any_record
17
-
18
- assert @typus_user.is_root?
19
-
20
- Post.find(:all).each do |post|
21
- get :edit, { :id => post.id }
22
- assert_response :success
23
- assert_template 'edit'
24
- end
25
-
26
- end
27
-
28
- def test_should_verify_editor_can_show_any_record
29
-
30
- setup_for_no_root
31
-
32
- Post.find(:all).each do |post|
33
- get :show, { :id => post.id }
34
- assert_response :success
35
- assert_template 'show'
36
- end
37
-
38
- end
39
-
40
- def test_should_verify_editor_can_not_edit_all_records
41
-
42
- setup_for_no_root
43
-
44
- # Editor tries to edit a post owned by hiself.
45
- post = posts(:owned_by_editor)
46
- get :edit, { :id => post.id }
47
- assert_response :success
48
-
49
- # Editor tries to edit a post owned by the admin.
50
- @request.env['HTTP_REFERER'] = '/admin/posts'
51
- post = posts(:owned_by_admin)
52
- get :edit, { :id => post.id }
53
- assert_response :redirect
54
- assert_redirected_to @request.env['HTTP_REFERER']
55
- assert_equal "You don't have permission to access this item.", flash[:notice]
56
-
57
- # Editor tries to show a post owned by the admin.
58
- post = posts(:owned_by_admin)
59
- get :show, { :id => post.id }
60
- assert_response :success
61
- assert_template 'show'
62
-
63
- # Editor tries to show a post owned by the admin.
64
- options = Typus::Configuration.options.merge(:only_user_items => true)
65
- Typus::Configuration.stubs(:options).returns(options)
66
- post = posts(:owned_by_admin)
67
- get :show, { :id => post.id }
68
- assert_response :redirect
69
- assert_redirected_to @request.env['HTTP_REFERER']
70
-
71
- end
72
-
73
- ##
74
- # Tests around what happens with the typus_user_id when creating items.
75
- ##
76
-
77
- def test_should_verify_typus_user_id_of_item_when_creating_record
78
-
79
- setup_for_no_root
80
-
81
- post :create, { :item => { :title => "Chunky Bacon", :body => "Lorem ipsum ..." } }
82
- post_ = Post.find_by_title("Chunky Bacon")
83
-
84
- assert_equal @request.session[:typus_user_id], post_.typus_user_id
85
-
86
- end
87
-
88
- ##
89
- # Tests around what happens with the typus_user_id when updating items.
90
- ##
91
-
92
- def test_should_verify_admin_updating_an_item_does_not_change_typus_user_id_if_not_defined
93
-
94
- assert @typus_user.is_root?
95
-
96
- post_ = posts(:owned_by_editor)
97
- post :update, { :id => post_.id, :item => { :title => 'Updated by admin' } }
98
- post_updated = Post.find(post_.id)
99
- assert_equal post_.typus_user_id, post_updated.typus_user_id
100
-
101
- end
102
-
103
- def test_should_verify_admin_updating_an_item_does_change_typus_user_id_to_whatever_admin_wants
104
-
105
- assert @typus_user.is_root?
106
-
107
- post_ = posts(:owned_by_editor)
108
- post :update, { :id => post_.id, :item => { :title => 'Updated', :typus_user_id => 108 } }
109
- post_updated = Post.find(post_.id)
110
- assert_equal 108, post_updated.typus_user_id
111
-
112
- end
113
-
114
- def test_should_verify_editor_updating_an_item_does_not_change_typus_user_id
115
-
116
- setup_for_no_root
117
-
118
- [ 108, nil ].each do |typus_user_id|
119
- post_ = posts(:owned_by_editor)
120
- post :update, { :id => post_.id, :item => { :title => 'Updated', :typus_user_id => typus_user_id } }
121
- post_updated = Post.find(post_.id)
122
- assert_equal @request.session[:typus_user_id], post_updated.typus_user_id
123
- end
124
-
125
- end
126
-
127
- end
@@ -1,50 +0,0 @@
1
- require 'test/helper'
2
-
3
- class Admin::PostsControllerTest < ActionController::TestCase
4
-
5
- def test_should_allow_admin_to_add_a_category
6
- admin = typus_users(:admin)
7
- @request.session[:typus_user_id] = admin.id
8
- assert admin.can_perform?('Post', 'create')
9
- end
10
-
11
- def test_should_not_allow_designer_to_add_a_post
12
-
13
- designer = typus_users(:designer)
14
- @request.session[:typus_user_id] = designer.id
15
-
16
- get :new
17
-
18
- assert_response :redirect
19
- assert_equal "Designer can't perform action. (new)", flash[:notice]
20
- assert_redirected_to :action => :index
21
-
22
- end
23
-
24
- def test_should_allow_admin_to_destroy_a_post
25
-
26
- admin = typus_users(:admin)
27
- @request.session[:typus_user_id] = admin.id
28
-
29
- get :destroy, { :id => posts(:published).id, :method => :delete }
30
-
31
- assert_response :redirect
32
- assert_equal "Post successfully removed.", flash[:success]
33
- assert_redirected_to :action => :index
34
-
35
- end
36
-
37
- def test_should_not_allow_designer_to_destroy_a_post
38
-
39
- designer = typus_users(:designer)
40
- @request.session[:typus_user_id] = designer.id
41
-
42
- get :destroy, { :id => posts(:published).id, :method => :delete }
43
-
44
- assert_response :redirect
45
- assert_equal "Designer can't delete this item.", flash[:notice]
46
- assert_redirected_to :action => :index
47
-
48
- end
49
-
50
- end