typus 3.0.2 → 3.0.4

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 (343) hide show
  1. data/Gemfile +20 -9
  2. data/Gemfile.lock +93 -65
  3. data/MIT-LICENSE +1 -1
  4. data/README.md +61 -0
  5. data/Rakefile +5 -0
  6. data/app/controllers/admin/account_controller.rb +7 -10
  7. data/app/controllers/admin/base_controller.rb +16 -1
  8. data/app/controllers/admin/resources_controller.rb +270 -159
  9. data/app/controllers/admin/session_controller.rb +8 -9
  10. data/app/helpers/admin/base_helper.rb +13 -28
  11. data/app/helpers/admin/dashboard_helper.rb +4 -10
  12. data/app/helpers/admin/file_preview_helper.rb +70 -0
  13. data/app/helpers/admin/filters_helper.rb +64 -45
  14. data/app/helpers/admin/form_helper.rb +37 -62
  15. data/app/helpers/admin/relationships_helper.rb +63 -78
  16. data/app/helpers/admin/resources_helper.rb +10 -31
  17. data/app/helpers/admin/search_helper.rb +6 -9
  18. data/app/helpers/admin/sidebar_helper.rb +15 -20
  19. data/app/helpers/admin/table_helper.rb +79 -170
  20. data/app/mailers/admin/mailer.rb +1 -1
  21. data/app/views/admin/account/forgot_password.html.erb +2 -2
  22. data/app/views/admin/account/new.html.erb +8 -4
  23. data/app/views/admin/base/user_guide.html.erb +85 -0
  24. data/app/views/admin/dashboard/_sidebar.html.erb +3 -1
  25. data/app/views/admin/dashboard/show.html.erb +2 -2
  26. data/app/views/admin/dashboard/styles.html.erb +2 -2
  27. data/app/views/admin/helpers/_apps.html.erb +5 -4
  28. data/app/views/admin/helpers/_file_preview.html.erb +3 -0
  29. data/app/views/admin/helpers/_header.html.erb +3 -3
  30. data/app/views/admin/helpers/_login_info.html.erb +2 -2
  31. data/app/views/admin/helpers/dashboard/_applications.html.erb +6 -9
  32. data/app/views/admin/helpers/dashboard/_resources.html.erb +2 -3
  33. data/app/views/admin/helpers/filters/_filters.html.erb +1 -1
  34. data/app/views/admin/helpers/resources/_display_link_to_previous.html.erb +1 -1
  35. data/app/views/admin/helpers/resources/_errors.html.erb +10 -0
  36. data/app/views/admin/helpers/search/_search.html.erb +1 -1
  37. data/app/views/admin/helpers/sidebar/_sidebar.html.erb +6 -3
  38. data/app/views/admin/helpers/table/_table.html.erb +17 -5
  39. data/app/views/admin/mailer/reset_password_link.text.erb +2 -2
  40. data/app/views/admin/resources/_form.html.erb +3 -12
  41. data/app/views/admin/resources/edit.html.erb +7 -5
  42. data/app/views/admin/resources/index.html.erb +13 -18
  43. data/app/views/admin/resources/new.html.erb +4 -4
  44. data/app/views/admin/resources/show.html.erb +9 -13
  45. data/app/views/admin/session/new.html.erb +8 -4
  46. data/app/views/admin/templates/_belongs_to.html.erb +1 -1
  47. data/app/views/admin/templates/_boolean.html.erb +2 -2
  48. data/app/views/admin/templates/_date.html.erb +2 -2
  49. data/app/views/admin/templates/_datetime.html.erb +2 -2
  50. data/app/views/admin/templates/_file.html.erb +3 -19
  51. data/app/views/admin/templates/_has_n.html.erb +4 -4
  52. data/app/views/admin/templates/_has_one.html.erb +14 -0
  53. data/app/views/admin/templates/_password.html.erb +2 -2
  54. data/app/views/admin/templates/_profile_sidebar.html.erb +3 -0
  55. data/app/views/admin/templates/_relate_form.html.erb +2 -1
  56. data/app/views/admin/templates/_selector.html.erb +1 -1
  57. data/app/views/admin/templates/_string.html.erb +6 -6
  58. data/app/views/admin/templates/_text.html.erb +11 -4
  59. data/app/views/admin/templates/_time.html.erb +2 -2
  60. data/app/views/admin/templates/_tree.html.erb +1 -1
  61. data/app/views/layouts/admin/base.html.erb +7 -6
  62. data/app/views/layouts/admin/session.html.erb +4 -14
  63. data/config/{available_locales/ca_models.yml → locales/typus.ca.models.yml} +5 -4
  64. data/config/locales/typus.ca.yml +81 -0
  65. data/config/{available_locales/de_models.yml → locales/typus.de.models.yml} +6 -2
  66. data/config/locales/typus.de.yml +80 -0
  67. data/config/locales/typus.el.models.yml +17 -0
  68. data/config/locales/typus.el.yml +82 -0
  69. data/config/{available_locales/es_models.yml → locales/typus.es.models.yml} +9 -4
  70. data/config/locales/typus.es.yml +82 -0
  71. data/config/{available_locales/fr_models.yml → locales/typus.fr.models.yml} +8 -3
  72. data/config/locales/typus.fr.yml +87 -0
  73. data/config/{available_locales/hu_models.yml → locales/typus.hu.models.yml} +6 -2
  74. data/config/locales/typus.hu.yml +80 -0
  75. data/config/{available_locales/it_models.yml → locales/typus.it.models.yml} +7 -4
  76. data/config/locales/typus.it.yml +89 -0
  77. data/config/{available_locales/language_models.yml.template → locales/typus.locale.models.yml.template} +8 -4
  78. data/config/locales/typus.locale.yml.template +81 -0
  79. data/config/{available_locales/pt-BR_models.yml → locales/typus.pt-BR.models.yml} +6 -2
  80. data/config/locales/typus.pt-BR.yml +80 -0
  81. data/config/{available_locales/ru_models.yml → locales/typus.ru.models.yml} +6 -2
  82. data/config/locales/typus.ru.yml +80 -0
  83. data/config/locales/typus.zh-CN.models.yml +17 -0
  84. data/config/locales/typus.zh-CN.yml +79 -0
  85. data/config/routes.rb +11 -7
  86. data/lib/generators/templates/config/initializers/typus.rb +8 -5
  87. data/lib/generators/templates/config/initializers/typus_resources.rb +0 -3
  88. data/lib/generators/templates/config/typus/README +6 -6
  89. data/lib/generators/templates/config/typus/typus.yml +5 -5
  90. data/lib/generators/templates/controller.rb +1 -1
  91. data/lib/generators/templates/migration.rb +1 -0
  92. data/lib/generators/templates/public/admin/javascripts/application.js +0 -4
  93. data/lib/generators/templates/public/admin/javascripts/jquery-1.4.4.min.js +167 -0
  94. data/lib/generators/templates/public/admin/javascripts/jquery.application.js +16 -0
  95. data/lib/generators/templates/public/admin/javascripts/jquery.rails.js +50 -22
  96. data/lib/generators/templates/public/admin/stylesheets/screen.css +43 -34
  97. data/lib/generators/templates/public/admin/vendor/fancybox/fancy_loading.png +0 -0
  98. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.easing-1.3.pack.js +32 -32
  99. data/lib/generators/templates/public/admin/vendor/fancybox/{jquery.fancybox-1.3.1.css → jquery.fancybox-1.3.4.css} +359 -363
  100. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.fancybox-1.3.4.js +1156 -0
  101. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.fancybox-1.3.4.pack.js +46 -0
  102. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.mousewheel-3.0.4.pack.js +14 -0
  103. data/lib/generators/typus/assets_generator.rb +23 -0
  104. data/lib/generators/typus/controller_generator.rb +29 -0
  105. data/lib/generators/typus/migration_generator.rb +39 -20
  106. data/lib/generators/typus/typus_generator.rb +17 -57
  107. data/lib/generators/typus/views_generator.rb +2 -6
  108. data/lib/support/active_record.rb +8 -20
  109. data/lib/support/fake_user.rb +6 -1
  110. data/lib/support/hash.rb +1 -2
  111. data/lib/support/object.rb +4 -17
  112. data/lib/support/string.rb +34 -3
  113. data/lib/tasks/typus.rake +1 -1
  114. data/lib/typus.rb +60 -48
  115. data/lib/typus/actions.rb +27 -0
  116. data/lib/typus/authentication/base.rb +3 -4
  117. data/lib/typus/authentication/http_basic.rb +1 -1
  118. data/lib/typus/authentication/none.rb +1 -1
  119. data/lib/typus/authentication/session.rb +53 -108
  120. data/lib/typus/configuration.rb +13 -11
  121. data/lib/typus/filters.rb +12 -0
  122. data/lib/typus/format.rb +9 -13
  123. data/lib/typus/i18n.rb +30 -0
  124. data/lib/typus/orm/active_record.rb +97 -194
  125. data/lib/typus/orm/active_record/search.rb +91 -0
  126. data/lib/typus/resources.rb +6 -10
  127. data/lib/typus/user.rb +20 -40
  128. data/lib/typus/version.rb +1 -1
  129. metadata +77 -231
  130. data/CHANGELOG +0 -102
  131. data/README.rdoc +0 -48
  132. data/app/helpers/admin/preview_helper.rb +0 -46
  133. data/app/views/admin/helpers/_preview.html.erb +0 -13
  134. data/app/views/admin/templates/_has_many.html.erb +0 -22
  135. data/config/available_locales/ca.yml +0 -122
  136. data/config/available_locales/de.yml +0 -122
  137. data/config/available_locales/es.yml +0 -122
  138. data/config/available_locales/fr.yml +0 -127
  139. data/config/available_locales/hu.yml +0 -122
  140. data/config/available_locales/it.yml +0 -132
  141. data/config/available_locales/language.yml.template +0 -120
  142. data/config/available_locales/pt-BR.yml +0 -122
  143. data/config/available_locales/ru.yml +0 -122
  144. data/lib/generators/templates/functional_test.rb +0 -10
  145. data/lib/generators/templates/model.rb +0 -8
  146. data/lib/generators/templates/public/admin/images/ui-icons.png +0 -0
  147. data/lib/generators/templates/public/admin/javascripts/jquery-1.4.2.min.js +0 -154
  148. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.fancybox-1.3.1.js +0 -1077
  149. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.fancybox-1.3.1.pack.js +0 -44
  150. data/lib/generators/templates/public/admin/vendor/fancybox/jquery.mousewheel-3.0.2.pack.js +0 -13
  151. data/lib/typus/pagination.rb +0 -18
  152. data/test/factories.rb +0 -43
  153. data/test/fixtures/config/broken/application.yml +0 -68
  154. data/test/fixtures/config/broken/application_roles.yml +0 -20
  155. data/test/fixtures/config/broken/empty.yml +0 -0
  156. data/test/fixtures/config/broken/empty_roles.yml +0 -0
  157. data/test/fixtures/config/broken/undefined.yml +0 -3
  158. data/test/fixtures/config/broken/undefined_roles.yml +0 -6
  159. data/test/fixtures/config/default/typus.yml +0 -13
  160. data/test/fixtures/config/default/typus_roles.yml +0 -2
  161. data/test/fixtures/config/empty/empty_01.yml +0 -0
  162. data/test/fixtures/config/empty/empty_01_roles.yml +0 -0
  163. data/test/fixtures/config/empty/empty_02.yml +0 -0
  164. data/test/fixtures/config/empty/empty_02_roles.yml +0 -0
  165. data/test/fixtures/config/locales/es.yml +0 -10
  166. data/test/fixtures/config/namespaced/application.yml +0 -5
  167. data/test/fixtures/config/namespaced/application_roles.yml +0 -2
  168. data/test/fixtures/config/ordered/001_roles.yml +0 -2
  169. data/test/fixtures/config/ordered/002_roles.yml +0 -2
  170. data/test/fixtures/config/unordered/app_one_roles.yml +0 -2
  171. data/test/fixtures/config/unordered/app_two_roles.yml +0 -2
  172. data/test/fixtures/config/working/application.yml +0 -73
  173. data/test/fixtures/config/working/application_roles.yml +0 -24
  174. data/test/fixtures/config/working/typus.yml +0 -13
  175. data/test/fixtures/config/working/typus_roles.yml +0 -2
  176. data/test/fixtures/rails_app/Rakefile +0 -7
  177. data/test/fixtures/rails_app/app/controllers/admin/assets_controller.rb +0 -2
  178. data/test/fixtures/rails_app/app/controllers/admin/categories_controller.rb +0 -2
  179. data/test/fixtures/rails_app/app/controllers/admin/comments_controller.rb +0 -2
  180. data/test/fixtures/rails_app/app/controllers/admin/pages_controller.rb +0 -2
  181. data/test/fixtures/rails_app/app/controllers/admin/pictures_controller.rb +0 -2
  182. data/test/fixtures/rails_app/app/controllers/admin/posts_controller.rb +0 -2
  183. data/test/fixtures/rails_app/app/controllers/admin/status_controller.rb +0 -2
  184. data/test/fixtures/rails_app/app/controllers/admin/typus_users_controller.rb +0 -2
  185. data/test/fixtures/rails_app/app/controllers/admin/watch_dog_controller.rb +0 -2
  186. data/test/fixtures/rails_app/app/controllers/application_controller.rb +0 -3
  187. data/test/fixtures/rails_app/app/models/asset.rb +0 -5
  188. data/test/fixtures/rails_app/app/models/category.rb +0 -11
  189. data/test/fixtures/rails_app/app/models/comment.rb +0 -6
  190. data/test/fixtures/rails_app/app/models/custom_user.rb +0 -2
  191. data/test/fixtures/rails_app/app/models/delayed/task.rb +0 -5
  192. data/test/fixtures/rails_app/app/models/page.rb +0 -5
  193. data/test/fixtures/rails_app/app/models/picture.rb +0 -6
  194. data/test/fixtures/rails_app/app/models/post.rb +0 -21
  195. data/test/fixtures/rails_app/app/models/typus_user.rb +0 -8
  196. data/test/fixtures/rails_app/app/models/view.rb +0 -5
  197. data/test/fixtures/rails_app/app/views/admin/categories/_form.html.erb +0 -1
  198. data/test/fixtures/rails_app/app/views/admin/dashboard/_sidebar.html.erb +0 -1
  199. data/test/fixtures/rails_app/app/views/admin/mailer/reset_password_link.text.erb +0 -6
  200. data/test/fixtures/rails_app/app/views/admin/posts/_edit.html.erb +0 -1
  201. data/test/fixtures/rails_app/app/views/admin/posts/_index.html.erb +0 -1
  202. data/test/fixtures/rails_app/app/views/admin/posts/_new.html.erb +0 -1
  203. data/test/fixtures/rails_app/app/views/admin/posts/_show.html.erb +0 -1
  204. data/test/fixtures/rails_app/app/views/admin/posts/_sidebar.html.erb +0 -1
  205. data/test/fixtures/rails_app/app/views/admin/resources/_sidebar.html.erb +0 -1
  206. data/test/fixtures/rails_app/app/views/admin/status/index.html.erb +0 -1
  207. data/test/fixtures/rails_app/app/views/admin/templates/_datepicker.html.erb +0 -1
  208. data/test/fixtures/rails_app/config.ru +0 -4
  209. data/test/fixtures/rails_app/config/application.rb +0 -53
  210. data/test/fixtures/rails_app/config/boot.rb +0 -13
  211. data/test/fixtures/rails_app/config/database.yml +0 -14
  212. data/test/fixtures/rails_app/config/environment.rb +0 -5
  213. data/test/fixtures/rails_app/config/environments/test.rb +0 -34
  214. data/test/fixtures/rails_app/config/initializers/secret_token.rb +0 -7
  215. data/test/fixtures/rails_app/config/initializers/session_store.rb +0 -8
  216. data/test/fixtures/rails_app/config/initializers/typus.rb +0 -6
  217. data/test/fixtures/rails_app/config/routes.rb +0 -5
  218. data/test/fixtures/rails_app/config/typus/application.yml +0 -79
  219. data/test/fixtures/rails_app/config/typus/application_roles.yml +0 -25
  220. data/test/fixtures/rails_app/config/typus/typus.yml +0 -12
  221. data/test/fixtures/rails_app/config/typus/typus_roles.yml +0 -2
  222. data/test/fixtures/rails_app/db/test.sqlite3 +0 -0
  223. data/test/fixtures/rails_app/tmp/export-posts-20101012213057.csv +0 -2
  224. data/test/fixtures/rails_app/tmp/export-posts-20101012213132.csv +0 -2
  225. data/test/fixtures/rails_app/tmp/export-posts-20101012213234.csv +0 -2
  226. data/test/fixtures/rails_app/tmp/export-posts-20101012213506.csv +0 -2
  227. data/test/fixtures/rails_app/tmp/export-posts-20101012215057.csv +0 -2
  228. data/test/fixtures/rails_app/tmp/export-posts-20101012215217.csv +0 -2
  229. data/test/fixtures/rails_app/tmp/export-posts-20101012215415.csv +0 -2
  230. data/test/fixtures/rails_app/tmp/export-posts-20101012215443.csv +0 -2
  231. data/test/fixtures/rails_app/tmp/export-posts-20101012215509.csv +0 -2
  232. data/test/fixtures/rails_app/tmp/export-posts-20101012215528.csv +0 -2
  233. data/test/fixtures/rails_app/tmp/export-posts-20101012215551.csv +0 -2
  234. data/test/fixtures/rails_app/tmp/export-posts-20101012215615.csv +0 -2
  235. data/test/fixtures/rails_app/tmp/export-posts-20101012215640.csv +0 -2
  236. data/test/fixtures/rails_app/tmp/export-posts-20101012215714.csv +0 -2
  237. data/test/fixtures/rails_app/tmp/export-posts-20101012215744.csv +0 -2
  238. data/test/fixtures/rails_app/tmp/export-posts-20101012215814.csv +0 -2
  239. data/test/fixtures/rails_app/tmp/export-posts-20101012215836.csv +0 -2
  240. data/test/fixtures/rails_app/tmp/export-posts-20101012215906.csv +0 -2
  241. data/test/fixtures/rails_app/tmp/export-posts-20101012220659.csv +0 -2
  242. data/test/fixtures/rails_app/tmp/export-posts-20101012221043.csv +0 -2
  243. data/test/fixtures/rails_app/tmp/export-posts-20101012221258.csv +0 -2
  244. data/test/fixtures/rails_app/tmp/export-posts-20101012222558.csv +0 -2
  245. data/test/fixtures/rails_app/tmp/export-posts-20101012222752.csv +0 -2
  246. data/test/fixtures/rails_app/tmp/export-posts-20101012222848.csv +0 -2
  247. data/test/fixtures/rails_app/tmp/export-posts-20101012223433.csv +0 -2
  248. data/test/fixtures/rails_app/tmp/export-posts-20101012223535.csv +0 -2
  249. data/test/fixtures/rails_app/tmp/export-posts-20101012224003.csv +0 -2
  250. data/test/fixtures/rails_app/tmp/export-posts-20101012224052.csv +0 -2
  251. data/test/fixtures/rails_app/tmp/export-posts-20101012224109.csv +0 -2
  252. data/test/fixtures/rails_app/tmp/export-posts-20101012224139.csv +0 -2
  253. data/test/fixtures/rails_app/tmp/export-posts-20101012224205.csv +0 -2
  254. data/test/fixtures/rails_app/tmp/export-posts-20101012224243.csv +0 -2
  255. data/test/fixtures/rails_app/tmp/export-posts-20101012225119.csv +0 -2
  256. data/test/fixtures/rails_app/tmp/export-posts-20101013063215.csv +0 -2
  257. data/test/fixtures/rails_app/tmp/export-posts-20101013063300.csv +0 -2
  258. data/test/fixtures/rails_app/tmp/export-posts-20101013063352.csv +0 -2
  259. data/test/fixtures/rails_app/tmp/export-posts-20101013063427.csv +0 -2
  260. data/test/fixtures/rails_app/tmp/export-posts-20101013063448.csv +0 -2
  261. data/test/fixtures/rails_app/tmp/export-posts-20101013063530.csv +0 -2
  262. data/test/fixtures/rails_app/tmp/export-posts-20101013063559.csv +0 -2
  263. data/test/fixtures/rails_app/tmp/export-posts-20101013063646.csv +0 -2
  264. data/test/fixtures/rails_app/tmp/export-posts-20101013063737.csv +0 -2
  265. data/test/fixtures/rails_app/tmp/export-posts-20101013063822.csv +0 -2
  266. data/test/fixtures/rails_app/tmp/export-posts-20101013063837.csv +0 -2
  267. data/test/fixtures/rails_app/tmp/export-posts-20101013063919.csv +0 -2
  268. data/test/fixtures/rails_app/tmp/export-posts-20101013063939.csv +0 -2
  269. data/test/fixtures/rails_app/tmp/export-posts-20101013063952.csv +0 -2
  270. data/test/fixtures/rails_app/tmp/export-posts-20101013064220.csv +0 -2
  271. data/test/fixtures/rails_app/tmp/export-posts-20101013064253.csv +0 -2
  272. data/test/fixtures/rails_app/tmp/export-posts-20101013064318.csv +0 -2
  273. data/test/fixtures/rails_app/tmp/export-posts-20101013064404.csv +0 -2
  274. data/test/fixtures/rails_app/tmp/export-posts-20101013064452.csv +0 -2
  275. data/test/fixtures/rails_app/tmp/export-posts-20101013064536.csv +0 -2
  276. data/test/fixtures/rails_app/tmp/export-posts-20101013064652.csv +0 -2
  277. data/test/fixtures/rails_app/tmp/export-posts-20101013064845.csv +0 -2
  278. data/test/fixtures/rails_app/tmp/export-posts-20101013065023.csv +0 -2
  279. data/test/fixtures/rails_app/tmp/export-posts-20101013065137.csv +0 -2
  280. data/test/fixtures/rails_app/tmp/export-posts-20101013065713.csv +0 -2
  281. data/test/fixtures/rails_app/tmp/export-posts-20101013065954.csv +0 -2
  282. data/test/fixtures/rails_app/tmp/export-posts-20101013070057.csv +0 -2
  283. data/test/fixtures/rails_app/tmp/export-posts-20101013070116.csv +0 -2
  284. data/test/fixtures/rails_app/tmp/export-posts-20101013070156.csv +0 -2
  285. data/test/fixtures/rails_app/tmp/export-posts-20101013070349.csv +0 -2
  286. data/test/fixtures/rails_app/tmp/export-posts-20101013070429.csv +0 -2
  287. data/test/fixtures/rails_app/tmp/export-posts-20101013070448.csv +0 -2
  288. data/test/fixtures/rails_app/tmp/export-posts-20101013070514.csv +0 -2
  289. data/test/fixtures/rails_app/tmp/export-posts-20101013070709.csv +0 -2
  290. data/test/fixtures/rails_app/tmp/export-posts-20101013070745.csv +0 -2
  291. data/test/fixtures/rails_app/tmp/export-posts-20101013070809.csv +0 -2
  292. data/test/fixtures/rails_app/tmp/export-posts-20101013070905.csv +0 -2
  293. data/test/fixtures/rails_app/tmp/export-posts-20101013070955.csv +0 -2
  294. data/test/fixtures/rails_app/tmp/export-posts-20101013071116.csv +0 -2
  295. data/test/fixtures/rails_app/tmp/export-posts-20101013071209.csv +0 -2
  296. data/test/fixtures/rails_app/tmp/export-posts-20101013071335.csv +0 -2
  297. data/test/fixtures/rails_app/tmp/export-posts-20101013071632.csv +0 -2
  298. data/test/fixtures/rails_app/tmp/export-posts-20101013071643.csv +0 -2
  299. data/test/fixtures/rails_app/tmp/export-posts-20101013071735.csv +0 -2
  300. data/test/fixtures/rails_app/tmp/export-posts-20101013071749.csv +0 -2
  301. data/test/fixtures/rails_app/tmp/export-posts-20101013072030.csv +0 -2
  302. data/test/fixtures/rails_app/tmp/export-posts-20101013072050.csv +0 -2
  303. data/test/fixtures/rails_app/tmp/export-posts-20101013072108.csv +0 -2
  304. data/test/fixtures/rails_app/tmp/export-posts-20101013072713.csv +0 -2
  305. data/test/fixtures/rails_app/tmp/export-posts-20101013072751.csv +0 -2
  306. data/test/fixtures/rails_app/tmp/export-posts-20101013072912.csv +0 -2
  307. data/test/fixtures/rails_app/tmp/export-posts-20101013074546.csv +0 -2
  308. data/test/fixtures/rails_app/tmp/export-posts-20101018180512.csv +0 -2
  309. data/test/fixtures/rails_app/tmp/export-posts-20101018183359.csv +0 -2
  310. data/test/fixtures/rails_app/tmp/export-posts-20101018183608.csv +0 -2
  311. data/test/fixtures/rails_app/tmp/export-posts-20101018183759.csv +0 -2
  312. data/test/functional/admin/account_controller_test.rb +0 -90
  313. data/test/functional/admin/assets_controller_test.rb +0 -55
  314. data/test/functional/admin/categories_controller_test.rb +0 -62
  315. data/test/functional/admin/comments_controller_test.rb +0 -21
  316. data/test/functional/admin/dashboard_controller_test.rb +0 -138
  317. data/test/functional/admin/posts_controller_test.rb +0 -548
  318. data/test/functional/admin/session_controller_test.rb +0 -85
  319. data/test/functional/admin/status_controller_test.rb +0 -46
  320. data/test/functional/admin/typus_users_controller_test.rb +0 -159
  321. data/test/helpers/admin/base_helper_test.rb +0 -67
  322. data/test/helpers/admin/dashboard_helper_test.rb +0 -19
  323. data/test/helpers/admin/form_helper_test.rb +0 -117
  324. data/test/helpers/admin/resources_helper_test.rb +0 -64
  325. data/test/helpers/admin/sidebar_helper_test.rb +0 -274
  326. data/test/helpers/admin/table_helper_test.rb +0 -219
  327. data/test/integration/login_test.rb +0 -13
  328. data/test/integration_test_helper.rb +0 -21
  329. data/test/lib/support/active_record_test.rb +0 -86
  330. data/test/lib/support/array_test.rb +0 -11
  331. data/test/lib/support/hash_test.rb +0 -11
  332. data/test/lib/support/string_test.rb +0 -39
  333. data/test/lib/typus/active_record_test.rb +0 -451
  334. data/test/lib/typus/configuration_test.rb +0 -52
  335. data/test/lib/typus/resource_test.rb +0 -17
  336. data/test/lib/typus/routes_test.rb +0 -29
  337. data/test/lib/typus_test.rb +0 -107
  338. data/test/schema.rb +0 -100
  339. data/test/test_helper.rb +0 -16
  340. data/test/unit/admin/mailer_test.rb +0 -32
  341. data/test/unit/typus_user_roles_test.rb +0 -105
  342. data/test/unit/typus_user_test.rb +0 -142
  343. data/typus.gemspec +0 -25
@@ -1,52 +0,0 @@
1
- require "test_helper"
2
-
3
- class ConfigurationTest < ActiveSupport::TestCase
4
-
5
- should "verify typus roles is loaded" do
6
- assert Typus::Configuration.respond_to?(:roles!)
7
- assert Typus::Configuration.roles!.kind_of?(Hash)
8
- end
9
-
10
- should "verify typus config file is loaded" do
11
- assert Typus::Configuration.respond_to?(:config!)
12
- assert Typus::Configuration.config!.kind_of?(Hash)
13
- end
14
-
15
- should "load configuration files from config broken" do
16
- Typus.expects(:config_folder).at_least_once.returns("test/fixtures/config/broken")
17
- assert_not_equal Hash.new, Typus::Configuration.roles!
18
- assert_not_equal Hash.new, Typus::Configuration.config!
19
- end
20
-
21
- should "load configuration files from config empty" do
22
- Typus.expects(:config_folder).at_least_once.returns("test/fixtures/config/empty")
23
- assert_equal Hash.new, Typus::Configuration.roles!
24
- assert_equal Hash.new, Typus::Configuration.config!
25
- end
26
-
27
- should "load configuration files from config ordered" do
28
- Typus.expects(:config_folder).at_least_once.returns("test/fixtures/config/ordered")
29
- files = Dir["#{Typus.config_folder}/*_roles.yml"]
30
- expected = files.collect { |file| File.basename(file) }.sort
31
- assert_equal expected, ["001_roles.yml", "002_roles.yml"]
32
- expected = { "admin" => { "categories" => "read" } }
33
- assert_equal expected, Typus::Configuration.roles!
34
- end
35
-
36
- should "load configuration files from config unordered" do
37
- Typus.expects(:config_folder).at_least_once.returns("test/fixtures/config/unordered")
38
- files = Dir["#{Typus.config_folder}/*_roles.yml"]
39
- expected = files.collect { |file| File.basename(file) }
40
- assert_equal expected, ["app_one_roles.yml", "app_two_roles.yml"]
41
- expected = { "admin" => { "categories" => "read, update" } }
42
- assert_equal expected, Typus::Configuration.roles!
43
- end
44
-
45
- should "load configuration files from config default" do
46
- Typus.expects(:config_folder).at_least_once.returns("test/fixtures/config/default")
47
- assert_not_equal Hash.new, Typus::Configuration.roles!
48
- assert_not_equal Hash.new, Typus::Configuration.config!
49
- assert Typus.resources.empty?
50
- end
51
-
52
- end
@@ -1,17 +0,0 @@
1
- require "test_helper"
2
-
3
- class ResourceTest < ActiveSupport::TestCase
4
-
5
- should "verify default resource configuration options" do
6
- assert_equal "edit", Typus::Resources.default_action_on_item
7
- assert_nil Typus::Resources.end_year
8
- assert_equal 15, Typus::Resources.form_rows
9
- assert_equal "edit", Typus::Resources.action_after_save
10
- assert_equal 5, Typus::Resources.minute_step
11
- assert_equal "nil", Typus::Resources.human_nil
12
- assert !Typus::Resources.only_user_items
13
- assert_equal 15, Typus::Resources.per_page
14
- assert_nil Typus::Resources.start_year
15
- end
16
-
17
- end
@@ -1,29 +0,0 @@
1
- require "test_helper"
2
-
3
- class RoutesTest < ActiveSupport::TestCase
4
-
5
- setup do
6
- @routes = Rails.application.routes.routes.map(&:name)
7
- end
8
-
9
- should "verify admin routes" do
10
- expected = %w(admin)
11
- expected.each { |r| assert @routes.include?(r) }
12
- end
13
-
14
- should "verify admin dashboard routes" do
15
- expected = %w(admin_dashboard)
16
- expected.each { |r| assert @routes.include?(r) }
17
- end
18
-
19
- should "verify admin account named routes" do
20
- expected = %w(forgot_password_admin_account_index admin_account_index new_admin_account admin_account)
21
- expected.each { |r| assert @routes.include?(r) }
22
- end
23
-
24
- should "verify admin session named routes" do
25
- expected = %w(new_admin_session admin_session)
26
- expected.each { |r| assert @routes.include?(r) }
27
- end
28
-
29
- end
@@ -1,107 +0,0 @@
1
- require "test_helper"
2
-
3
- class TypusTest < ActiveSupport::TestCase
4
-
5
- should "verify default_config for admin_title" do
6
- assert_equal "Typus", Typus.admin_title
7
- end
8
-
9
- should "verify default_config for admin_sub_title" do
10
- assert Typus.admin_sub_title.kind_of?(String)
11
- end
12
-
13
- should "verify default_config for authentication" do
14
- assert_equal :session, Typus.authentication
15
- end
16
-
17
- should "verify default_config for mailer_sender" do
18
- assert_nil Typus.mailer_sender
19
- end
20
-
21
- should "verify default_config for username" do
22
- assert_equal "admin", Typus.username
23
- end
24
-
25
- should "verify default_config for password" do
26
- assert_equal "columbia", Typus.password
27
- end
28
-
29
- should "verify default_config for file_preview" do
30
- assert_equal :medium, Typus.file_preview
31
- end
32
-
33
- should "verify default_config for file_thumbnail" do
34
- assert_equal :thumb, Typus.file_thumbnail
35
- end
36
-
37
- should "verify default_config for relationship" do
38
- assert_equal "typus_users", Typus.relationship
39
- end
40
-
41
- should "verify default_config for master_role" do
42
- assert_equal "admin", Typus.master_role
43
- end
44
-
45
- should "verify default_config for user_class_name" do
46
- assert_equal "TypusUser", Typus.user_class_name
47
- end
48
-
49
- should "verify default_config for typus_user_id" do
50
- assert_equal "typus_user_id", Typus.user_fk
51
- end
52
-
53
- should "verify default_config for available_locales" do
54
- assert_equal [:en], Typus.available_locales
55
- end
56
-
57
- should "verify config_folder is a Pathname" do
58
- assert Typus.config_folder.kind_of?(Pathname)
59
- end
60
-
61
- should "return root" do
62
- expected = "."
63
- assert Typus.root.kind_of?(String)
64
- assert_equal expected, Typus.root
65
- end
66
-
67
- should "return applications sorted" do
68
- assert Typus.respond_to?(:applications)
69
- assert Typus.applications.kind_of?(Array)
70
- assert_equal %w(Blog Site Typus), Typus.applications
71
- end
72
-
73
- should "return modules of an application" do
74
- assert Typus.respond_to?(:application)
75
- assert_equal %w(Comment Picture Post), Typus.application("Blog")
76
- end
77
-
78
- should "return models and should be sorted" do
79
- assert Typus.respond_to?(:models)
80
- assert Typus.models.kind_of?(Array)
81
- assert_equal %w(Asset Category Comment CustomUser Page Picture Post TypusUser View), Typus.models
82
- end
83
-
84
- should "verify resources class_method" do
85
- assert Typus.respond_to?(:resources)
86
- assert_equal %w(Git Order Status WatchDog), Typus.resources
87
- end
88
-
89
- should "return user_class" do
90
- assert_equal TypusUser, Typus.user_class
91
- end
92
-
93
- should "return overrided user_class" do
94
- Typus.expects(:user_class_name).returns("CustomUser")
95
- assert_equal CustomUser, Typus.user_class
96
- end
97
-
98
- should "return_user_fk" do
99
- assert_equal "typus_user_id", Typus.user_fk
100
- end
101
-
102
- should "return overrided user_fk" do
103
- Typus.expects(:user_fk).returns("my_user_fk")
104
- assert_equal "my_user_fk", Typus.user_fk
105
- end
106
-
107
- end
data/test/schema.rb DELETED
@@ -1,100 +0,0 @@
1
- ActiveRecord::Migration.verbose = false
2
-
3
- ActiveRecord::Schema.define do
4
-
5
- create_table :assets, :force => true do |t|
6
- t.string :caption
7
- t.string :resource_type
8
- t.integer :resource_id
9
- t.integer :position
10
- end
11
-
12
- add_index :assets, :resource_id
13
-
14
- create_table :categories, :force => true do |t|
15
- t.string :name
16
- t.string :permalink
17
- t.text :description
18
- t.integer :position
19
- end
20
-
21
- create_table :comments, :force => true do |t|
22
- t.string :email, :name
23
- t.text :body
24
- t.integer :post_id
25
- t.boolean :spam, :default => false
26
- end
27
-
28
- add_index :comments, :post_id
29
-
30
- create_table :delayed_tasks, :force => true do |t|
31
- t.string :name
32
- end
33
-
34
- create_table :pages, :force => true do |t|
35
- t.string :title
36
- t.text :body
37
- t.string :status
38
- t.integer :parent_id
39
- end
40
-
41
- add_index :pages, :parent_id
42
-
43
- create_table :posts, :force => true do |t|
44
- t.string :title
45
- t.text :body
46
- t.string :status
47
- t.integer :favorite_comment_id
48
- t.timestamps
49
- t.datetime :published_at
50
- t.integer :typus_user_id
51
- end
52
-
53
- add_index :posts, :favorite_comment_id
54
- add_index :posts, :typus_user_id
55
-
56
- create_table :pictures, :force => true do |t|
57
- t.string :title
58
- t.string :picture_file_name
59
- t.string :picture_content_type
60
- t.integer :picture_file_size
61
- t.datetime :picture_updated_at
62
- t.datetime :created_at
63
- t.datetime :updated_at
64
- t.integer :typus_user_id
65
- end
66
-
67
- add_index :pictures, :typus_user_id
68
-
69
- create_table :typus_users, :force => true do |t|
70
- t.string :first_name, :default => "", :null => false
71
- t.string :last_name, :default => "", :null => false
72
- t.string :role, :null => false
73
- t.string :email, :null => false
74
- t.boolean :status, :default => false
75
- t.string :token, :null => false
76
- t.string :salt, :null => false
77
- t.string :crypted_password, :null => false
78
- t.string :preferences
79
- t.timestamps
80
- end
81
-
82
- add_index :typus_users, :token
83
-
84
- create_table :views, :force => true do |t|
85
- t.string :ip, :default => '127.0.0.1'
86
- t.integer :post_id
87
- t.timestamps
88
- end
89
-
90
- add_index :views, :post_id
91
-
92
- create_table :categories_posts, :force => true, :id => false do |t|
93
- t.column :category_id, :integer
94
- t.column :post_id, :integer
95
- end
96
-
97
- add_index :categories_posts, :category_id
98
- add_index :categories_posts, :post_id
99
-
100
- end
data/test/test_helper.rb DELETED
@@ -1,16 +0,0 @@
1
- ENV["RAILS_ENV"] = "test"
2
-
3
- # Boot rails application and testing parts ...
4
- require "fixtures/rails_app/config/environment"
5
- require "rails/test_help"
6
-
7
- load File.join(File.dirname(__FILE__), "schema.rb")
8
- require 'factories'
9
-
10
- class ActiveSupport::TestCase
11
- self.use_transactional_fixtures = true
12
- self.use_instantiated_fixtures = false
13
- end
14
-
15
- # As we are mocking a Rails Application, we need to load configurations.
16
- Typus.reload!
@@ -1,32 +0,0 @@
1
- require "test_helper"
2
-
3
- class Admin::MailerTest < ActiveSupport::TestCase
4
-
5
- setup do
6
- @typus_user = Factory(:typus_user)
7
- @url = "http://test.host/admin/account/#{@typus_user.token}"
8
- @email = Admin::Mailer.reset_password_link(@typus_user, @url)
9
- end
10
-
11
- should "verify email from is nil by default" do
12
- assert_nil Admin::Mailer.default[:from]
13
- end
14
-
15
- should "verify email to is typus user email" do
16
- assert @email.to.include?(@typus_user.email)
17
- end
18
-
19
- should "verify email subject" do
20
- expected = "[#{Typus.admin_title}] Reset password"
21
- assert_equal expected, @email.subject
22
- end
23
-
24
- should "verify default email mime_type" do
25
- assert_equal "text/plain", @email.mime_type
26
- end
27
-
28
- should "verify email contains reset password link with token" do
29
- assert_match @url, @email.body.encoded
30
- end
31
-
32
- end
@@ -1,105 +0,0 @@
1
- require "test_helper"
2
-
3
- class TypusUserRolesTest < ActiveSupport::TestCase
4
-
5
- should "get a list of roles" do
6
- roles = %w(admin designer editor)
7
- assert_equal roles, Typus::Configuration.roles.map(&:first).sort
8
- end
9
-
10
- context "A TypusUser with role admin" do
11
-
12
- setup do
13
- @typus_user = Factory(:typus_user)
14
- end
15
-
16
- should "verify models access" do
17
- expected = %w(Asset Category Comment Git Page Post Status TypusUser View WatchDog)
18
- assert_equal expected, @typus_user.resources.map(&:first).sort
19
- end
20
-
21
- should "verify resources without actions related are removed" do
22
- assert !@typus_user.resources.map(&:first).include?('Order')
23
- end
24
-
25
- should "have access to all actions on models" do
26
- models = %w(Asset Category Comment Page Post TypusUser View)
27
- %w(create read update destroy).each { |a| models.each { |m| assert @typus_user.can?(a, m) } }
28
- end
29
-
30
- should "verify we can perform action on resource" do
31
- assert @typus_user.can?('index', 'Status', { :special => true })
32
- end
33
-
34
- should "verify we cannot perform action on resource" do
35
- assert @typus_user.cannot?('show', 'Status', { :special => true })
36
- end
37
-
38
- should "verify we cannot perform actions on resources which don't have that action defined" do
39
- assert @typus_user.cannot?('index', 'Order')
40
- end
41
-
42
- end
43
-
44
- context "A TypusUser with role editor" do
45
-
46
- setup do
47
- @typus_user = Factory(:typus_user, :role => "editor")
48
- end
49
-
50
- should "verify models access" do
51
- expected = %w(Category Comment Git Post TypusUser View)
52
- assert_equal expected, @typus_user.resources.map(&:first).sort
53
- end
54
-
55
- should "only create, read and update categories" do
56
- %w(create read update).each { |a| assert @typus_user.can?(a, 'Category') }
57
- %w(delete).each { |a| assert @typus_user.cannot?(a, 'Category') }
58
- end
59
-
60
- should "only create, read and update posts" do
61
- %w(create read update).each { |a| assert @typus_user.can?(a, 'Post') }
62
- %w(delete).each { |a| assert @typus_user.cannot?(a, 'Post') }
63
- end
64
-
65
- should "only read, update and delete comments" do
66
- %w(read update delete).each { |a| assert @typus_user.can?(a, 'Comment') }
67
- %w(create).each { |a| assert @typus_user.cannot?(a, 'Comment') }
68
- end
69
-
70
- should "only read and update typus_users" do
71
- %w(read update).each { |a| assert @typus_user.can?(a, 'TypusUser') }
72
- %w(create delete).each { |a| assert @typus_user.cannot?(a, 'TypusUser') }
73
- end
74
-
75
- end
76
-
77
- context "A TypusUser with role designer" do
78
-
79
- setup do
80
- @typus_user = Factory(:typus_user, :role => "designer")
81
- end
82
-
83
- should "verify models access" do
84
- expected = %w(Category Comment Post)
85
- assert_equal expected, @typus_user.resources.map(&:first).sort
86
- end
87
-
88
- should "only read and update categories" do
89
- %w(read update).each { |a| assert @typus_user.can?(a, 'Category') }
90
- %w(create delete).each { |a| assert @typus_user.cannot?(a, 'Category') }
91
- end
92
-
93
- should "only read comments" do
94
- %w(read).each { |a| assert @typus_user.can?(a, 'Comment') }
95
- %w(create update delete).each { |a| assert @typus_user.cannot?(a, 'Comment') }
96
- end
97
-
98
- should "only read and update posts" do
99
- %w(read update).each { |a| assert @typus_user.can?(a, 'Post') }
100
- %w(create delete).each { |a| assert @typus_user.cannot?(a, 'Post') }
101
- end
102
-
103
- end
104
-
105
- end