zen 0.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 (373) hide show
  1. data/.gems +3 -2
  2. data/.rvmrc +1 -1
  3. data/.travis.yml +5 -0
  4. data/.yardopts +2 -1
  5. data/LICENSE +1 -1
  6. data/README.md +28 -24
  7. data/Rakefile +5 -2
  8. data/guide/asset_management.md +6 -6
  9. data/guide/autosaving_forms.md +42 -0
  10. data/guide/changelog.md +41 -0
  11. data/guide/faq.md +49 -0
  12. data/guide/getting_started.md +24 -13
  13. data/guide/hacking.md +40 -9
  14. data/guide/images/categories/categories.png +0 -0
  15. data/guide/images/categories/category_groups.png +0 -0
  16. data/guide/images/categories/new_category.png +0 -0
  17. data/guide/images/categories/new_category_group.png +0 -0
  18. data/guide/images/comments/comments.png +0 -0
  19. data/guide/images/comments/edit_comment.png +0 -0
  20. data/guide/images/custom_fields/custom_field_groups.png +0 -0
  21. data/guide/images/custom_fields/custom_field_types.png +0 -0
  22. data/guide/images/custom_fields/custom_fields.png +0 -0
  23. data/guide/images/custom_fields/edit_custom_field_general.png +0 -0
  24. data/guide/images/custom_fields/edit_custom_field_group.png +0 -0
  25. data/guide/images/custom_fields/edit_custom_field_settings.png +0 -0
  26. data/guide/images/custom_fields/edit_custom_field_type.png +0 -0
  27. data/guide/images/dashboard/added.png +0 -0
  28. data/guide/images/dashboard/columns.png +0 -0
  29. data/guide/images/dashboard/dashboard.png +0 -0
  30. data/guide/images/dashboard/options.png +0 -0
  31. data/guide/images/menus/edit_menu.png +0 -0
  32. data/guide/images/menus/edit_menu_item.png +0 -0
  33. data/guide/images/menus/menu_item_hierarchy.png +0 -0
  34. data/guide/images/menus/menu_items.png +0 -0
  35. data/guide/images/menus/menus.png +0 -0
  36. data/guide/images/sections/edit_entry.png +0 -0
  37. data/guide/images/sections/edit_entry_categories.png +0 -0
  38. data/guide/images/sections/edit_entry_general.png +0 -0
  39. data/guide/images/sections/edit_entry_meta.png +0 -0
  40. data/guide/images/sections/edit_section_comments.png +0 -0
  41. data/guide/images/sections/edit_section_general.png +0 -0
  42. data/guide/images/sections/edit_section_groups.png +0 -0
  43. data/guide/images/sections/entries.png +0 -0
  44. data/guide/images/sections/sections.png +0 -0
  45. data/guide/images/settings/overview_general.png +0 -0
  46. data/guide/images/settings/overview_security.png +0 -0
  47. data/guide/images/settings/overview_user.png +0 -0
  48. data/guide/images/users/edit_user.png +0 -0
  49. data/guide/images/users/edit_user_group.png +0 -0
  50. data/guide/images/users/edit_user_group_permissions.png +0 -0
  51. data/guide/images/users/edit_user_permissions.png +0 -0
  52. data/guide/images/users/overview.png +0 -0
  53. data/guide/images/users/user_groups_overview.png +0 -0
  54. data/guide/installation.md +7 -1
  55. data/guide/javascript.md +36 -273
  56. data/guide/javascript/zen_autosave.md +26 -0
  57. data/guide/javascript/zen_editor.md +83 -0
  58. data/guide/javascript/zen_hash.md +34 -0
  59. data/guide/javascript/zen_htmltable.md +78 -0
  60. data/guide/javascript/zen_tabs.md +44 -0
  61. data/guide/javascript/zen_window.md +49 -0
  62. data/guide/zen_compared.md +201 -0
  63. data/lib/vendor/sequel_sluggable.rb +1 -1
  64. data/lib/zen.rb +64 -44
  65. data/lib/zen/asset_groups.rb +10 -10
  66. data/lib/zen/bin/create.rb +8 -1
  67. data/lib/zen/helper/breadcrumb.rb +4 -12
  68. data/lib/zen/helper/controller.rb +209 -6
  69. data/lib/zen/helper/locale.rb +19 -0
  70. data/lib/zen/helper/search.rb +1 -1
  71. data/lib/zen/helper/stacked_aspect.rb +7 -43
  72. data/lib/zen/helper/theme.rb +3 -3
  73. data/lib/zen/language.rb +5 -10
  74. data/lib/zen/language/translation.rb +1 -1
  75. data/lib/zen/layout/admin.xhtml +41 -25
  76. data/lib/zen/layout/login.xhtml +8 -3
  77. data/lib/zen/migrator.rb +54 -0
  78. data/lib/zen/model/helper.rb +20 -1
  79. data/lib/zen/model/init.rb +2 -0
  80. data/lib/zen/model/plugin/events.rb +158 -0
  81. data/lib/zen/package.rb +32 -6
  82. data/lib/zen/package/all.rb +1 -0
  83. data/lib/zen/package/categories/lib/categories.rb +6 -6
  84. data/lib/zen/package/categories/lib/categories/controller/categories.rb +20 -83
  85. data/lib/zen/package/categories/lib/categories/controller/category_groups.rb +23 -74
  86. data/lib/zen/package/categories/lib/categories/model/category.rb +58 -1
  87. data/lib/zen/package/categories/lib/categories/model/category_group.rb +62 -2
  88. data/lib/zen/package/categories/lib/categories/view/admin/categories/form.xhtml +46 -40
  89. data/lib/zen/package/categories/lib/categories/view/admin/categories/index.xhtml +74 -75
  90. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/form.xhtml +27 -24
  91. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/index.xhtml +83 -86
  92. data/lib/zen/package/comments/lib/comments.rb +5 -5
  93. data/lib/zen/package/comments/lib/comments/controller/comments.rb +12 -64
  94. data/lib/zen/package/comments/lib/comments/controller/comments_form.rb +4 -22
  95. data/lib/zen/package/comments/lib/comments/model/comment.rb +65 -16
  96. data/lib/zen/package/comments/lib/comments/view/admin/comments/form.xhtml +52 -49
  97. data/lib/zen/package/comments/lib/comments/view/admin/comments/index.xhtml +52 -60
  98. data/lib/zen/package/comments/migrations/1308774099_comment_status.rb +1 -1
  99. data/lib/zen/package/custom_fields/lib/custom_fields.rb +11 -13
  100. data/lib/zen/package/custom_fields/lib/custom_fields/blue_form_parameters.rb +29 -13
  101. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +21 -50
  102. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_types.rb +27 -71
  103. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_fields.rb +25 -78
  104. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field.rb +48 -1
  105. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_group.rb +35 -1
  106. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_method.rb +3 -0
  107. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_type.rb +40 -1
  108. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_value.rb +1 -0
  109. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/form.xhtml +29 -26
  110. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/index.xhtml +96 -100
  111. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-types/form.xhtml +56 -53
  112. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-types/index.xhtml +82 -82
  113. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/form.xhtml +88 -85
  114. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/index.xhtml +83 -80
  115. data/lib/zen/package/dashboard/lib/dashboard.rb +28 -0
  116. data/lib/zen/package/dashboard/lib/dashboard/controller/dashboard.rb +154 -0
  117. data/lib/zen/package/dashboard/lib/dashboard/language/en/dashboard.rb +35 -0
  118. data/lib/zen/package/dashboard/lib/dashboard/language/nl/dashboard.rb +36 -0
  119. data/lib/zen/package/dashboard/lib/dashboard/model/widget.rb +45 -0
  120. data/lib/zen/package/dashboard/lib/dashboard/public/admin/dashboard/css/dashboard.css +74 -0
  121. data/lib/zen/package/dashboard/lib/dashboard/public/admin/dashboard/js/dashboard.js +102 -0
  122. data/lib/zen/package/dashboard/lib/dashboard/view/admin/index.xhtml +29 -0
  123. data/lib/zen/package/dashboard/lib/dashboard/view/admin/widget/welcome.xhtml +28 -0
  124. data/lib/zen/package/dashboard/lib/dashboard/widget.rb +292 -0
  125. data/lib/zen/package/dashboard/lib/dashboard/widget/welcome.rb +9 -0
  126. data/lib/zen/package/dashboard/migrations/1326411254_create_schema.rb +28 -0
  127. data/lib/zen/package/extensions/lib/extensions.rb +5 -5
  128. data/lib/zen/package/extensions/lib/extensions/view/admin/extensions/index.xhtml +72 -67
  129. data/lib/zen/package/menu.rb +6 -1
  130. data/lib/zen/package/menus/lib/menus.rb +6 -4
  131. data/lib/zen/package/menus/lib/menus/controller/menu_items.rb +69 -104
  132. data/lib/zen/package/menus/lib/menus/controller/menus.rb +19 -76
  133. data/lib/zen/package/menus/lib/menus/helper/menu.rb +54 -38
  134. data/lib/zen/package/menus/lib/menus/helper/menu_frontend.rb +7 -13
  135. data/lib/zen/package/menus/lib/menus/model/menu.rb +158 -2
  136. data/lib/zen/package/menus/lib/menus/model/menu_item.rb +73 -10
  137. data/lib/zen/package/menus/lib/menus/public/admin/menus/css/menus.css +47 -0
  138. data/lib/zen/package/menus/lib/menus/public/admin/menus/js/lib/nested_sortables.js +549 -0
  139. data/lib/zen/package/menus/lib/menus/public/admin/menus/js/menu_items.js +38 -0
  140. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/form.xhtml +51 -61
  141. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/index.xhtml +18 -81
  142. data/lib/zen/package/menus/lib/menus/view/admin/menus/form.xhtml +49 -44
  143. data/lib/zen/package/menus/lib/menus/view/admin/menus/index.xhtml +81 -83
  144. data/lib/zen/package/sections/lib/sections.rb +9 -4
  145. data/lib/zen/package/sections/lib/sections/controller/section_entries.rb +80 -132
  146. data/lib/zen/package/sections/lib/sections/controller/sections.rb +27 -73
  147. data/lib/zen/package/sections/lib/sections/helper/section.rb +44 -1
  148. data/lib/zen/package/sections/lib/sections/language/en/section_entries.rb +2 -0
  149. data/lib/zen/package/sections/lib/sections/language/nl/section_entries.rb +2 -0
  150. data/lib/zen/package/sections/lib/sections/model/section.rb +48 -1
  151. data/lib/zen/package/sections/lib/sections/model/section_entry.rb +55 -5
  152. data/lib/zen/package/sections/lib/sections/model/section_entry_status.rb +2 -0
  153. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/form.xhtml +76 -67
  154. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/index.xhtml +74 -79
  155. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/recent_entries.xhtml +45 -0
  156. data/lib/zen/package/sections/lib/sections/view/admin/sections/form.xhtml +119 -0
  157. data/lib/zen/package/sections/lib/sections/view/admin/sections/index.xhtml +96 -0
  158. data/lib/zen/package/sections/lib/sections/widget/recent_entries.rb +14 -0
  159. data/lib/zen/package/sections/migrations/1308813320_section_entry_statuses.rb +1 -1
  160. data/lib/zen/package/settings/lib/settings.rb +14 -5
  161. data/lib/zen/package/settings/lib/settings/controller/settings.rb +4 -4
  162. data/lib/zen/package/settings/lib/settings/language/nl/settings.rb +1 -1
  163. data/lib/zen/package/settings/lib/settings/setting.rb +1 -1
  164. data/lib/zen/package/settings/lib/settings/view/admin/settings/index.xhtml +21 -17
  165. data/lib/zen/package/users/lib/users.rb +18 -19
  166. data/lib/zen/package/users/lib/users/controller/user_groups.rb +23 -50
  167. data/lib/zen/package/users/lib/users/controller/users.rb +57 -89
  168. data/lib/zen/package/users/lib/users/helper/acl.rb +1 -0
  169. data/lib/zen/package/users/lib/users/language/en/user_groups.rb +1 -0
  170. data/lib/zen/package/users/lib/users/language/en/users.rb +2 -1
  171. data/lib/zen/package/users/lib/users/language/nl/user_groups.rb +1 -0
  172. data/lib/zen/package/users/lib/users/language/nl/users.rb +2 -1
  173. data/lib/zen/package/users/lib/users/model/permission.rb +13 -0
  174. data/lib/zen/package/users/lib/users/model/user.rb +57 -4
  175. data/lib/zen/package/users/lib/users/model/user_group.rb +37 -3
  176. data/lib/zen/package/users/lib/users/model/user_status.rb +4 -0
  177. data/lib/zen/package/users/lib/users/public/admin/{css/users/permissions.css → users/css/users.css} +0 -0
  178. data/lib/zen/package/users/lib/users/public/admin/{js/users/permissions.js → users/js/users.js} +4 -2
  179. data/lib/zen/package/users/lib/users/view/admin/user-groups/form.xhtml +51 -47
  180. data/lib/zen/package/users/lib/users/view/admin/user-groups/index.xhtml +62 -69
  181. data/lib/zen/package/users/lib/users/view/admin/users/form.xhtml +92 -82
  182. data/lib/zen/package/users/lib/users/view/admin/users/index.xhtml +68 -66
  183. data/lib/zen/package/users/lib/users/view/admin/users/login.xhtml +36 -28
  184. data/lib/zen/package/users/lib/users/view/admin/users/permissions.xhtml +5 -7
  185. data/lib/zen/package/users/lib/users/view/admin/users/register.xhtml +47 -41
  186. data/lib/zen/package/users/migrations/1320272365_status_ids.rb +1 -1
  187. data/lib/zen/public/admin/{js/vendor/mootools → mootools/js}/core.js +113 -108
  188. data/lib/zen/public/admin/{js/vendor/mootools → mootools/js}/more.js +99 -6
  189. data/lib/zen/public/admin/zen/css/buttons.css +106 -0
  190. data/lib/zen/public/admin/{css/zen → zen/css}/datepicker.css +45 -30
  191. data/lib/zen/public/admin/zen/css/editor.css +69 -0
  192. data/lib/zen/public/admin/{css/zen → zen/css}/forms.css +28 -30
  193. data/lib/zen/public/admin/zen/css/general.css +183 -0
  194. data/lib/zen/public/admin/zen/css/layout.css +224 -0
  195. data/lib/zen/public/admin/zen/css/messages.css +34 -0
  196. data/lib/zen/public/admin/{css/zen → zen/css}/reset.css +4 -9
  197. data/lib/zen/public/admin/zen/css/tables.css +57 -0
  198. data/lib/zen/public/admin/zen/css/tabs.css +84 -0
  199. data/lib/zen/public/admin/zen/css/window.css +74 -0
  200. data/lib/zen/public/admin/{images/zen → zen/images}/icons/asc.png +0 -0
  201. data/lib/zen/public/admin/{images/zen → zen/images}/icons/bold.png +0 -0
  202. data/lib/zen/public/admin/zen/images/icons/box.png +0 -0
  203. data/lib/zen/public/admin/zen/images/icons/categories.png +0 -0
  204. data/lib/zen/public/admin/{images/zen → zen/images}/icons/close.png +0 -0
  205. data/lib/zen/public/admin/zen/images/icons/comment.png +0 -0
  206. data/lib/zen/public/admin/{images/zen → zen/images}/icons/desc.png +0 -0
  207. data/lib/zen/public/admin/{images/zen → zen/images}/icons/edit.png +0 -0
  208. data/lib/zen/public/admin/{images/zen → zen/images}/icons/error.png +0 -0
  209. data/lib/zen/public/admin/zen/images/icons/external.png +0 -0
  210. data/lib/zen/public/admin/zen/images/icons/globe.png +0 -0
  211. data/lib/zen/public/admin/{images/zen → zen/images}/icons/italic.png +0 -0
  212. data/lib/zen/public/admin/{images/zen → zen/images}/icons/link.png +0 -0
  213. data/lib/zen/public/admin/zen/images/icons/lock.png +0 -0
  214. data/lib/zen/public/admin/{images/zen → zen/images}/icons/ol.png +0 -0
  215. data/lib/zen/public/admin/zen/images/icons/pages.png +0 -0
  216. data/lib/zen/public/admin/{images/zen → zen/images}/icons/preview.png +0 -0
  217. data/lib/zen/public/admin/zen/images/icons/relation.png +0 -0
  218. data/lib/zen/public/admin/zen/images/icons/settings.png +0 -0
  219. data/lib/zen/public/admin/zen/images/icons/template.png +0 -0
  220. data/lib/zen/public/admin/{images/zen → zen/images}/icons/ul.png +0 -0
  221. data/lib/zen/public/admin/{images/zen → zen/images}/icons/user.png +0 -0
  222. data/lib/zen/public/admin/zen/images/icons/user_group.png +0 -0
  223. data/lib/zen/public/admin/{js/zen → zen/js}/index.js +21 -9
  224. data/lib/zen/public/admin/zen/js/lib/autosave.js +185 -0
  225. data/lib/zen/public/admin/zen/js/lib/base.js +60 -0
  226. data/lib/zen/public/admin/{js/vendor → zen/js/lib}/datepicker.js +52 -28
  227. data/lib/zen/public/admin/{js/zen → zen/js}/lib/editor.js +23 -34
  228. data/lib/zen/public/admin/{js/zen → zen/js}/lib/editor/markdown.js +5 -1
  229. data/lib/zen/public/admin/{js/zen → zen/js}/lib/editor/textile.js +4 -0
  230. data/lib/zen/public/admin/zen/js/lib/hash.js +218 -0
  231. data/lib/zen/public/admin/{js/zen → zen/js}/lib/html_table.js +5 -0
  232. data/lib/zen/public/admin/zen/js/lib/tabs.js +194 -0
  233. data/lib/zen/public/admin/{js/zen → zen/js}/lib/window.js +54 -29
  234. data/lib/zen/security.rb +50 -0
  235. data/lib/zen/spec/helper.rb +5 -120
  236. data/lib/zen/spec/helper/capybara.rb +75 -0
  237. data/lib/zen/spec/helper/general.rb +75 -0
  238. data/lib/zen/spec/simplecov.rb +1 -0
  239. data/lib/zen/task/build.rake +2 -21
  240. data/lib/zen/task/clean.rake +1 -10
  241. data/lib/zen/task/db.rake +4 -10
  242. data/lib/zen/task/package.rake +2 -5
  243. data/lib/zen/task/setup.rake +1 -1
  244. data/lib/zen/task/test.rake +6 -6
  245. data/lib/zen/task/theme.rake +2 -5
  246. data/lib/zen/theme.rb +26 -22
  247. data/lib/zen/version.rb +1 -1
  248. data/lib/zen/view/bottom.xhtml +2 -3
  249. data/lib/zen/view/search.xhtml +3 -5
  250. data/proto/app/config/config.rb.erb +1 -1
  251. data/proto/app/theme/default/index.xhtml +116 -20
  252. data/proto/app/theme/partials/head.xhtml +9 -0
  253. data/proto/app/theme/partials/sidebar.xhtml +40 -0
  254. data/proto/app/theme/theme.rb +3 -0
  255. data/spec/Rakefile +1 -2
  256. data/spec/fixtures/zen/helper/stacked_aspect.rb +54 -0
  257. data/spec/fixtures/zen/package/dashboard/controller/widget.rb +15 -0
  258. data/spec/fixtures/zen/package/dashboard/widget.rb +5 -0
  259. data/spec/fixtures/zen/theme/theme.rb +2 -2
  260. data/spec/helper.rb +19 -10
  261. data/spec/zen/controller/admin_controller.rb +3 -3
  262. data/spec/zen/controller/main_controller.rb +7 -7
  263. data/spec/zen/controller/preview.rb +3 -3
  264. data/spec/zen/event.rb +4 -4
  265. data/spec/zen/helper/breadcrumb.rb +4 -8
  266. data/spec/zen/helper/controller.rb +47 -4
  267. data/spec/zen/helper/locale.rb +3 -3
  268. data/spec/zen/helper/message.rb +4 -4
  269. data/spec/zen/helper/stacked_aspect.rb +40 -0
  270. data/spec/zen/helper/theme.rb +9 -9
  271. data/spec/zen/language.rb +8 -8
  272. data/spec/zen/markup.rb +6 -6
  273. data/spec/zen/package.rb +11 -9
  274. data/spec/zen/package/categories/controller/categories.rb +56 -24
  275. data/spec/zen/package/categories/controller/category_groups.rb +55 -23
  276. data/spec/zen/package/categories/helper/category.rb +5 -5
  277. data/spec/zen/package/categories/helper/category_frontend.rb +5 -5
  278. data/spec/zen/package/comments/anti_spam.rb +4 -4
  279. data/spec/zen/package/comments/controller/comments.rb +95 -24
  280. data/spec/zen/package/comments/controller/comments_form.rb +31 -26
  281. data/spec/zen/package/comments/helper/comment.rb +3 -3
  282. data/spec/zen/package/comments/helper/comment_frontend.rb +6 -6
  283. data/spec/zen/package/custom_fields/blue_form_parameters.rb +8 -8
  284. data/spec/zen/package/custom_fields/controller/custom_field_groups.rb +58 -27
  285. data/spec/zen/package/custom_fields/controller/custom_field_types.rb +57 -27
  286. data/spec/zen/package/custom_fields/controller/custom_fields.rb +58 -27
  287. data/spec/zen/package/custom_fields/helper/custom_field.rb +7 -7
  288. data/spec/zen/package/dashboard/controller/dashboard.rb +147 -0
  289. data/spec/zen/package/dashboard/widget.rb +56 -0
  290. data/spec/zen/package/extensions/controller/extensions.rb +4 -4
  291. data/spec/zen/package/menus/controller/menu_items.rb +48 -39
  292. data/spec/zen/package/menus/controller/menus.rb +55 -24
  293. data/spec/zen/package/menus/helper/menu.rb +6 -14
  294. data/spec/zen/package/menus/helper/menu_frontend.rb +7 -7
  295. data/spec/zen/package/menus/model/menu.rb +121 -0
  296. data/spec/zen/package/menus/model/menu_item.rb +34 -0
  297. data/spec/zen/package/sections/controller/section_entries.rb +104 -39
  298. data/spec/zen/package/sections/controller/sections.rb +60 -27
  299. data/spec/zen/package/sections/helper/section.rb +5 -5
  300. data/spec/zen/package/sections/helper/section_frontend.rb +9 -9
  301. data/spec/zen/package/sections/widget.rb +44 -0
  302. data/spec/zen/package/settings/controller/settings.rb +18 -16
  303. data/spec/zen/package/settings/settings.rb +12 -12
  304. data/spec/zen/package/users/controller/user_groups.rb +61 -29
  305. data/spec/zen/package/users/controller/users.rb +118 -39
  306. data/spec/zen/package/users/helper/access.rb +3 -3
  307. data/spec/zen/package/users/helper/acl.rb +4 -4
  308. data/spec/zen/package/users/helper/users.rb +5 -5
  309. data/spec/zen/security.rb +25 -0
  310. data/spec/zen/theme.rb +20 -18
  311. data/spec/zen/validation.rb +5 -5
  312. data/spec/zen/vendor/sequel_sluggable.rb +12 -0
  313. data/zen.gemspec +27 -4
  314. metadata +182 -124
  315. data/AUTHORS +0 -4
  316. data/guide/_static/categories/categories.png +0 -0
  317. data/guide/_static/categories/category_groups.png +0 -0
  318. data/guide/_static/categories/new_category.png +0 -0
  319. data/guide/_static/categories/new_category_group.png +0 -0
  320. data/guide/_static/comments/comments.png +0 -0
  321. data/guide/_static/comments/edit_comment.png +0 -0
  322. data/guide/_static/custom_fields/custom_field_groups.png +0 -0
  323. data/guide/_static/custom_fields/custom_field_types.png +0 -0
  324. data/guide/_static/custom_fields/custom_fields.png +0 -0
  325. data/guide/_static/custom_fields/edit_custom_field_general.png +0 -0
  326. data/guide/_static/custom_fields/edit_custom_field_group.png +0 -0
  327. data/guide/_static/custom_fields/edit_custom_field_settings.png +0 -0
  328. data/guide/_static/custom_fields/edit_custom_field_type.png +0 -0
  329. data/guide/_static/menus/edit_menu.png +0 -0
  330. data/guide/_static/menus/edit_menu_item.png +0 -0
  331. data/guide/_static/menus/menu_items.png +0 -0
  332. data/guide/_static/menus/menus.png +0 -0
  333. data/guide/_static/sections/edit_entry.png +0 -0
  334. data/guide/_static/sections/edit_entry_categories.png +0 -0
  335. data/guide/_static/sections/edit_entry_general.png +0 -0
  336. data/guide/_static/sections/edit_entry_meta.png +0 -0
  337. data/guide/_static/sections/edit_section_comments.png +0 -0
  338. data/guide/_static/sections/edit_section_general.png +0 -0
  339. data/guide/_static/sections/edit_section_groups.png +0 -0
  340. data/guide/_static/sections/entries.png +0 -0
  341. data/guide/_static/sections/sections.png +0 -0
  342. data/guide/_static/settings/overview_general.png +0 -0
  343. data/guide/_static/settings/overview_security.png +0 -0
  344. data/guide/_static/settings/overview_user.png +0 -0
  345. data/guide/_static/users/edit_user.png +0 -0
  346. data/guide/_static/users/edit_user_group.png +0 -0
  347. data/guide/_static/users/edit_user_group_permissions.png +0 -0
  348. data/guide/_static/users/edit_user_permissions.png +0 -0
  349. data/guide/_static/users/overview.png +0 -0
  350. data/guide/_static/users/user_groups_overview.png +0 -0
  351. data/lib/zen/controller/translations.rb +0 -49
  352. data/lib/zen/package/sections/lib/sections/view/admin/form.xhtml +0 -113
  353. data/lib/zen/package/sections/lib/sections/view/admin/index.xhtml +0 -97
  354. data/lib/zen/public/admin/css/zen/buttons.css +0 -46
  355. data/lib/zen/public/admin/css/zen/editor.css +0 -88
  356. data/lib/zen/public/admin/css/zen/general.css +0 -109
  357. data/lib/zen/public/admin/css/zen/grid.css +0 -100
  358. data/lib/zen/public/admin/css/zen/layout.css +0 -184
  359. data/lib/zen/public/admin/css/zen/messages.css +0 -54
  360. data/lib/zen/public/admin/css/zen/tables.css +0 -97
  361. data/lib/zen/public/admin/css/zen/tabs.css +0 -47
  362. data/lib/zen/public/admin/css/zen/window.css +0 -73
  363. data/lib/zen/public/admin/images/zen/icons/accept.png +0 -0
  364. data/lib/zen/public/admin/images/zen/icons/add.png +0 -0
  365. data/lib/zen/public/admin/images/zen/icons/back.png +0 -0
  366. data/lib/zen/public/admin/images/zen/icons/delete.png +0 -0
  367. data/lib/zen/public/admin/images/zen/icons/help.png +0 -0
  368. data/lib/zen/public/admin/images/zen/icons/info.png +0 -0
  369. data/lib/zen/public/admin/images/zen/icons/logout.png +0 -0
  370. data/lib/zen/public/admin/images/zen/icons/pdf.png +0 -0
  371. data/lib/zen/public/admin/images/zen/icons/view.png +0 -0
  372. data/lib/zen/public/admin/js/zen/lib/tabs.js +0 -207
  373. data/lib/zen/view/main.xhtml +0 -19
@@ -1,8 +1,9 @@
1
1
  require File.expand_path('../../../../../helper', __FILE__)
2
2
  require File.join(Zen::FIXTURES, 'package/comments/controller/comments_form')
3
3
 
4
- describe("Comments::Controller::CommentsForm") do
4
+ describe "Comments::Controller::CommentsForm" do
5
5
  behaves_like :capybara
6
+ WebMock.enable!
6
7
 
7
8
  before do
8
9
  get_setting(:defensio_key).value = 'test'
@@ -38,19 +39,22 @@ describe("Comments::Controller::CommentsForm") do
38
39
  :section_id => section.id
39
40
  )
40
41
 
41
- it('Submit a comment without a CSRF token') do
42
- url = Comments::Controller::CommentsForm.r(:save).to_s
43
- response = page.driver.post(url)
42
+ it 'Try to submit a new comment with a missing CSRF token' do
43
+ visit(SpecCommentsForm.r(:index).to_s)
44
+
45
+ within '#spec_comments_form' do
46
+ find('input[name="csrf_token"]').set('')
47
+ click_on('Submit')
48
+ end
44
49
 
45
- response.body.should == lang('zen_general.errors.csrf')
46
- response.status.should == 403
50
+ page.has_content?(lang('zen_general.errors.csrf')).should == true
47
51
  end
48
52
 
49
- it('Submit a comment') do
53
+ it 'Submit a comment' do
50
54
  visit(SpecCommentsForm.r(:index).to_s)
51
55
 
52
56
  # Submit the form
53
- within('#spec_comments_form') do
57
+ within '#spec_comments_form' do
54
58
  fill_in('user_id' , :with => user_id)
55
59
  fill_in('section_entry', :with => section_entry.id)
56
60
  fill_in('name' , :with => 'Spec user')
@@ -68,7 +72,7 @@ describe("Comments::Controller::CommentsForm") do
68
72
  comment.section_entry_id == section_entry.id
69
73
  end
70
74
 
71
- it('Submit a comment with custom events') do
75
+ it 'Submit a comment with custom events' do
72
76
  event_comment = nil
73
77
 
74
78
  Zen::Event.listen(:before_new_comment) do |comment|
@@ -82,7 +86,7 @@ describe("Comments::Controller::CommentsForm") do
82
86
  visit(SpecCommentsForm.r(:index).to_s)
83
87
 
84
88
  # Submit the form
85
- within('#spec_comments_form') do
89
+ within '#spec_comments_form' do
86
90
  fill_in('section_entry', :with => section_entry.id)
87
91
  fill_in('name' , :with => 'Spec user')
88
92
  fill_in('website' , :with => 'http://zen-cms.com/')
@@ -102,12 +106,12 @@ describe("Comments::Controller::CommentsForm") do
102
106
  event_comment.should == 'Spec comment event'
103
107
  end
104
108
 
105
- it('Fail to submit a comment with an invalid entry') do
109
+ it 'Fail to submit a comment with an invalid entry' do
106
110
  url = SpecCommentsForm.r(:index).to_s
107
111
 
108
112
  visit(url)
109
113
 
110
- within('#spec_comments_form') do
114
+ within '#spec_comments_form' do
111
115
  fill_in('section_entry', :with => section_entry.id + 1)
112
116
  fill_in('name' , :with => 'Spec user')
113
117
  fill_in('website' , :with => 'http://zen-cms.com/')
@@ -123,7 +127,7 @@ describe("Comments::Controller::CommentsForm") do
123
127
  current_path.should == url
124
128
  end
125
129
 
126
- it('Should fail to submit a comment for an invalid section') do
130
+ it 'Should fail to submit a comment for an invalid section' do
127
131
  old_id = section_entry.section_id
128
132
  url = SpecCommentsForm.r(:index).to_s
129
133
 
@@ -131,7 +135,7 @@ describe("Comments::Controller::CommentsForm") do
131
135
 
132
136
  visit(url)
133
137
 
134
- within('#spec_comments_form') do
138
+ within '#spec_comments_form' do
135
139
  fill_in('section_entry', :with => section_entry.id)
136
140
  fill_in('name' , :with => 'Spec user')
137
141
  fill_in('website' , :with => 'http://zen-cms.com/')
@@ -149,13 +153,13 @@ describe("Comments::Controller::CommentsForm") do
149
153
  section_entry.update(:section_id => old_id)
150
154
  end
151
155
 
152
- it('Should fail to submit a comment when comments are not allowed') do
156
+ it 'Should fail to submit a comment when comments are not allowed' do
153
157
  url = SpecCommentsForm.r(:index).to_s
154
158
 
155
159
  section.update(:comment_allow => false)
156
160
  visit(url)
157
161
 
158
- within('#spec_comments_form') do
162
+ within '#spec_comments_form' do
159
163
  fill_in('section_entry', :with => section_entry.id)
160
164
  fill_in('name' , :with => 'S)ec user')
161
165
  fill_in('website' , :with => 'http://zen-cms.com/')
@@ -173,13 +177,13 @@ describe("Comments::Controller::CommentsForm") do
173
177
  section.update(:comment_allow => true)
174
178
  end
175
179
 
176
- it('Fail to submit a comment when not logged in') do
180
+ it 'Fail to submit a comment when not logged in' do
177
181
  url = SpecCommentsForm.r(:index).to_s
178
182
 
179
183
  visit(Users::Controller::Users.r(:logout).to_s)
180
184
  visit(url)
181
185
 
182
- within('#spec_comments_form') do
186
+ within '#spec_comments_form' do
183
187
  fill_in('section_entry', :with => section_entry.id)
184
188
  fill_in('name' , :with => 'Spec user')
185
189
  fill_in('website' , :with => 'http://zen-cms.com/')
@@ -198,7 +202,7 @@ describe("Comments::Controller::CommentsForm") do
198
202
  capybara_login
199
203
  end
200
204
 
201
- it('Submit a comment with moderation turned on') do
205
+ it 'Submit a comment with moderation turned on' do
202
206
  section.update(:comment_moderate => true)
203
207
 
204
208
  url = SpecCommentsForm.r(:index).to_s
@@ -206,7 +210,7 @@ describe("Comments::Controller::CommentsForm") do
206
210
 
207
211
  visit(url)
208
212
 
209
- within('#spec_comments_form') do
213
+ within '#spec_comments_form' do
210
214
  fill_in('section_entry', :with => section_entry.id)
211
215
  fill_in('name' , :with => 'Spec user')
212
216
  fill_in('website' , :with => 'http://zen-cms.com/')
@@ -225,7 +229,7 @@ describe("Comments::Controller::CommentsForm") do
225
229
  section.update(:comment_moderate => false)
226
230
  end
227
231
 
228
- it('Submit a comment and mark it as ham') do
232
+ it 'Submit a comment and mark it as ham' do
229
233
  yaml_response = <<-YAML.strip
230
234
  defensio-result:
231
235
  api-version: 2.0
@@ -250,7 +254,7 @@ describe("Comments::Controller::CommentsForm") do
250
254
 
251
255
  visit(url)
252
256
 
253
- within('#spec_comments_form') do
257
+ within '#spec_comments_form' do
254
258
  fill_in('section_entry', :with => section_entry.id)
255
259
  fill_in('name' , :with => 'Spec alternative')
256
260
  fill_in('website' , :with => 'http://zen-cms.com/')
@@ -270,7 +274,7 @@ describe("Comments::Controller::CommentsForm") do
270
274
  WebMock.reset!
271
275
  end
272
276
 
273
- it('Submit a comment and mark it as ham with moderation turned on') do
277
+ it 'Submit a comment and mark it as ham with moderation turned on' do
274
278
  yaml_response = <<-YAML.strip
275
279
  defensio-result:
276
280
  api-version: 2.0
@@ -297,7 +301,7 @@ describe("Comments::Controller::CommentsForm") do
297
301
 
298
302
  visit(url)
299
303
 
300
- within('#spec_comments_form') do
304
+ within '#spec_comments_form' do
301
305
  fill_in('section_entry', :with => section_entry.id)
302
306
  fill_in('name' , :with => 'Spec alternative')
303
307
  fill_in('website' , :with => 'http://zen-cms.com/')
@@ -319,7 +323,7 @@ describe("Comments::Controller::CommentsForm") do
319
323
  section.update(:comment_moderate => false)
320
324
  end
321
325
 
322
- it('Submit a comment and mark it as spam') do
326
+ it 'Submit a comment and mark it as spam' do
323
327
  yaml_response = <<-YAML.strip
324
328
  defensio-result:
325
329
  api-version: 2.0
@@ -344,7 +348,7 @@ describe("Comments::Controller::CommentsForm") do
344
348
 
345
349
  visit(url)
346
350
 
347
- within('#spec_comments_form') do
351
+ within '#spec_comments_form' do
348
352
  fill_in('section_entry', :with => section_entry.id)
349
353
  fill_in('name' , :with => 'Spec alternative')
350
354
  fill_in('website' , :with => 'http://zen-cms.com/')
@@ -364,6 +368,7 @@ describe("Comments::Controller::CommentsForm") do
364
368
  WebMock.reset!
365
369
  end
366
370
 
371
+ WebMock.disable!
367
372
  section_entry.destroy
368
373
  section.destroy
369
374
  end
@@ -1,6 +1,6 @@
1
1
  require File.expand_path('../../../../../helper', __FILE__)
2
2
 
3
- describe('Ramaze::Helper::Comment') do
3
+ describe 'Ramaze::Helper::Comment' do
4
4
  behaves_like :capybara
5
5
 
6
6
  user_id = Users::Model::User[:email => 'spec@domain.tld'].id
@@ -27,7 +27,7 @@ describe('Ramaze::Helper::Comment') do
27
27
  :section_entry_id => entry.id
28
28
  )
29
29
 
30
- it('Validate a valid comment') do
30
+ it 'Validate a valid comment' do
31
31
  url = Comments::Controller::Comments.r(:edit, comment.id).to_s
32
32
 
33
33
  visit(url)
@@ -35,7 +35,7 @@ describe('Ramaze::Helper::Comment') do
35
35
  current_path.should == url
36
36
  end
37
37
 
38
- it('Validate an invalid comment') do
38
+ it 'Validate an invalid comment' do
39
39
  visit(Comments::Controller::Comments.r(:edit, comment.id + 100).to_s)
40
40
 
41
41
  current_path.should == Comments::Controller::Comments.r(:index).to_s
@@ -1,7 +1,7 @@
1
1
  require File.expand_path('../../../../../helper', __FILE__)
2
2
  require File.join(Zen::FIXTURES, 'package/comments/helper/comment_frontend')
3
3
 
4
- describe('Ramaze::Helper::CommentFrontend') do
4
+ describe 'Ramaze::Helper::CommentFrontend' do
5
5
  behaves_like :capybara
6
6
 
7
7
  extend Ramaze::Helper::CommentFrontend
@@ -38,7 +38,7 @@ describe('Ramaze::Helper::CommentFrontend') do
38
38
  :email => user.email
39
39
  )
40
40
 
41
- it('Retrieve all comments for an ID') do
41
+ it 'Retrieve all comments for an ID' do
42
42
  comments = get_comments(entry.slug).all
43
43
 
44
44
  comments.count.should == 2
@@ -48,7 +48,7 @@ describe('Ramaze::Helper::CommentFrontend') do
48
48
  comments[1].user.name.should == 'Spec'
49
49
  end
50
50
 
51
- it('Retrieve all comments for a slug') do
51
+ it 'Retrieve all comments for a slug' do
52
52
  comments = get_comments(entry.id).all
53
53
 
54
54
  comments.count.should == 2
@@ -56,7 +56,7 @@ describe('Ramaze::Helper::CommentFrontend') do
56
56
  comments[1].comment.include?('Spec comment 1').should == true
57
57
  end
58
58
 
59
- it('Retrieve all comments and check the markup') do
59
+ it 'Retrieve all comments and check the markup' do
60
60
  comments = get_comments(entry.id).all
61
61
 
62
62
  comments.count.should == 2
@@ -64,14 +64,14 @@ describe('Ramaze::Helper::CommentFrontend') do
64
64
  comments[1].html.strip.should == '<p>Spec comment 1</p>'
65
65
  end
66
66
 
67
- it('Retrieve a single comment') do
67
+ it 'Retrieve a single comment' do
68
68
  comments = get_comments(entry.id, :limit => 1).all
69
69
 
70
70
  comments.count.should == 1
71
71
  comments[0].comment.include?('Spec comment').should == true
72
72
  end
73
73
 
74
- it('Paginate a set of comments') do
74
+ it 'Paginate a set of comments' do
75
75
  visit('/spec-comment-frontend')
76
76
 
77
77
  page.has_selector?('p').should == true
@@ -1,9 +1,9 @@
1
1
  require File.expand_path('../../../../helper', __FILE__)
2
2
 
3
- describe('CustomFields::BlueFormParameters') do
3
+ describe 'CustomFields::BlueFormParameters' do
4
4
  behaves_like :capybara
5
5
 
6
- it('Generate the parameters for input_text()') do
6
+ it 'Generate the parameters for input_text()' do
7
7
  stubbed = stub_custom_field('textbox')
8
8
  params = CustomFields::BlueFormParameters.input_text(
9
9
  stubbed[:custom_field],
@@ -21,7 +21,7 @@ describe('CustomFields::BlueFormParameters') do
21
21
  params[3].key?(:class).should == false
22
22
  end
23
23
 
24
- it('Generate the parameters for input_password()') do
24
+ it 'Generate the parameters for input_password()' do
25
25
  stubbed = stub_custom_field('password')
26
26
  params = CustomFields::BlueFormParameters.input_password(
27
27
  stubbed[:custom_field],
@@ -36,7 +36,7 @@ describe('CustomFields::BlueFormParameters') do
36
36
  params[3].key?(:'data-format').should == false
37
37
  end
38
38
 
39
- it('Generate the parameters for textarea()') do
39
+ it 'Generate the parameters for textarea()' do
40
40
  stubbed = stub_custom_field(
41
41
  'textarea',
42
42
  :text_editor => true,
@@ -66,7 +66,7 @@ describe('CustomFields::BlueFormParameters') do
66
66
  params[3][:class].empty?.should == true
67
67
  end
68
68
 
69
- it('Generate the parameters for input_radio()') do
69
+ it 'Generate the parameters for input_radio()' do
70
70
  stubbed = stub_custom_field(
71
71
  'radio',
72
72
  :possible_values => "ruby|Ruby\npython|Python"
@@ -101,7 +101,7 @@ describe('CustomFields::BlueFormParameters') do
101
101
  params[4][:values]['python'].should == 'python'
102
102
  end
103
103
 
104
- it('Generate the parameters for input_checkbox()') do
104
+ it 'Generate the parameters for input_checkbox()' do
105
105
  stubbed = stub_custom_field(
106
106
  'checkbox',
107
107
  :possible_values => "ruby|Ruby\npython|Python"
@@ -123,7 +123,7 @@ describe('CustomFields::BlueFormParameters') do
123
123
  params[3].include?('Python').should == true
124
124
  end
125
125
 
126
- it('Generate the parameters for select()') do
126
+ it 'Generate the parameters for select()' do
127
127
  stubbed = stub_custom_field(
128
128
  'select',
129
129
  :possible_values => "ruby|Ruby\npython|Python"
@@ -158,7 +158,7 @@ describe('CustomFields::BlueFormParameters') do
158
158
  params[3][:values]['python'].should == 'python'
159
159
  end
160
160
 
161
- it('Generate the parameters for select_multiple()') do
161
+ it 'Generate the parameters for select_multiple()' do
162
162
  stubbed = stub_custom_field(
163
163
  'select_multiple',
164
164
  :possible_values => "ruby|Ruby\npython|Python"
@@ -1,6 +1,6 @@
1
1
  require File.expand_path('../../../../../helper', __FILE__)
2
2
 
3
- describe('CustomFields::Controller::CustomFieldGroups') do
3
+ describe 'CustomFields::Controller::CustomFieldGroups' do
4
4
  behaves_like :capybara
5
5
 
6
6
  index_url = CustomFields::Controller::CustomFieldGroups.r(:index).to_s
@@ -10,16 +10,7 @@ describe('CustomFields::Controller::CustomFieldGroups') do
10
10
  delete_button = lang('custom_field_groups.buttons.delete')
11
11
  new_button = lang('custom_field_groups.buttons.new')
12
12
 
13
- it('Submit a form without a CSRF token') do
14
- response = page.driver.post(
15
- CustomFields::Controller::CustomFieldGroups.r(:save).to_s
16
- )
17
-
18
- response.body.include?(lang('zen_general.errors.csrf')).should == true
19
- response.status.should == 403
20
- end
21
-
22
- it('Find no existing field groups') do
13
+ it 'Find no existing field groups' do
23
14
  message = lang('custom_field_groups.messages.no_groups')
24
15
 
25
16
  visit(index_url)
@@ -31,13 +22,24 @@ describe('CustomFields::Controller::CustomFieldGroups') do
31
22
  page.has_content?(message).should == true
32
23
  end
33
24
 
34
- it('Create a new group') do
25
+ it 'Try to create a new custom field group with a missing CSRF token' do
26
+ visit(new_url)
27
+
28
+ within '#custom_field_group_form' do
29
+ find('input[name="csrf_token"]').set('')
30
+ click_on(save_button)
31
+ end
32
+
33
+ page.has_content?(lang('zen_general.errors.csrf')).should == true
34
+ end
35
+
36
+ it 'Create a new group' do
35
37
  visit(index_url)
36
38
  click_link(new_button)
37
39
 
38
40
  current_path.should == new_url
39
41
 
40
- within('#custom_field_group_form') do
42
+ within '#custom_field_group_form' do
41
43
  fill_in('name' , :with => 'Spec field group')
42
44
  fill_in('description', :with => 'Spec field group desc')
43
45
  click_on(save_button)
@@ -51,13 +53,13 @@ describe('CustomFields::Controller::CustomFieldGroups') do
51
53
  .value.should == 'Spec field group desc'
52
54
  end
53
55
 
54
- it('Search for a custom field group') do
56
+ it 'Search for a custom field group' do
55
57
  search_button = lang('zen_general.buttons.search')
56
58
  error = lang('zen_general.errors.invalid_search')
57
59
 
58
60
  visit(index_url)
59
61
 
60
- within('#search_form') do
62
+ within '#search_form' do
61
63
  fill_in('query', :with => 'Spec field group')
62
64
  click_on(search_button)
63
65
  end
@@ -65,7 +67,7 @@ describe('CustomFields::Controller::CustomFieldGroups') do
65
67
  page.has_content?(error).should == false
66
68
  page.has_content?('Spec field group').should == true
67
69
 
68
- within('#search_form') do
70
+ within '#search_form' do
69
71
  fill_in('query', :with => 'does not exist')
70
72
  click_on(search_button)
71
73
  end
@@ -74,14 +76,14 @@ describe('CustomFields::Controller::CustomFieldGroups') do
74
76
  page.has_content?('Spec field group').should == false
75
77
  end
76
78
 
77
- it("Edit an existing group") do
79
+ it "Edit an existing group" do
78
80
  visit(index_url)
79
81
  click_link('Spec field group')
80
82
 
81
83
  current_path.should =~ /#{edit_url}\/[0-9]+/
82
84
 
83
85
  # Update the details
84
- within('#custom_field_group_form') do
86
+ within '#custom_field_group_form' do
85
87
  fill_in('name', :with => 'Spec field group modified')
86
88
  click_on(save_button)
87
89
  end
@@ -89,14 +91,43 @@ describe('CustomFields::Controller::CustomFieldGroups') do
89
91
  page.find('input[name="name"]').value.should == 'Spec field group modified'
90
92
  end
91
93
 
92
- it("Fail to edit an existing group with invalid data") do
94
+ enable_javascript
95
+
96
+ it 'Automatically save a custom field group' do
97
+ visit(index_url)
98
+ click_link('Spec field group modified')
99
+
100
+ within '#custom_field_group_form' do
101
+ fill_in('name', :with => 'Spec field group autosave')
102
+ end
103
+
104
+ autosave_form('custom_field_group_form')
105
+
106
+ visit(index_url)
107
+
108
+ page.has_content?('Spec field group autosave').should == true
109
+
110
+ click_link('Spec field group autosave')
111
+
112
+ within '#custom_field_group_form' do
113
+ fill_in('name', :with => 'Spec field group modified')
114
+ click_on(save_button)
115
+ end
116
+
117
+ page.has_selector?('span.error').should == false
118
+ page.find('input[name="name"]').value.should == 'Spec field group modified'
119
+ end
120
+
121
+ disable_javascript
122
+
123
+ it "Fail to edit an existing group with invalid data" do
93
124
  visit(index_url)
94
125
  click_link('Spec field group')
95
126
 
96
127
  current_path.should =~ /#{edit_url}\/[0-9]+/
97
128
 
98
129
  # Update the details
99
- within('#custom_field_group_form') do
130
+ within '#custom_field_group_form' do
100
131
  fill_in('name', :with => '')
101
132
  click_on(save_button)
102
133
  end
@@ -104,7 +135,7 @@ describe('CustomFields::Controller::CustomFieldGroups') do
104
135
  page.has_selector?('span.error').should == true
105
136
  end
106
137
 
107
- it("Fail to delete a group without an ID") do
138
+ it "Fail to delete a group without an ID" do
108
139
  message = lang('custom_field_groups.messages.no_groups')
109
140
 
110
141
  visit(index_url)
@@ -113,7 +144,7 @@ describe('CustomFields::Controller::CustomFieldGroups') do
113
144
  page.has_selector?('input[name="custom_field_group_ids[]"]') .should == true
114
145
  end
115
146
 
116
- it("Delete an existing group") do
147
+ it "Delete an existing group" do
117
148
  message = lang('custom_field_groups.messages.no_groups')
118
149
 
119
150
  visit(index_url)
@@ -125,7 +156,7 @@ describe('CustomFields::Controller::CustomFieldGroups') do
125
156
  page.has_content?(message).should == true
126
157
  end
127
158
 
128
- it('Call the event new_custom_field_group (before and after)') do
159
+ it 'Call the event new_custom_field_group (before and after)' do
129
160
  event_name = nil
130
161
 
131
162
  Zen::Event.listen(:before_new_custom_field_group) do |group|
@@ -139,7 +170,7 @@ describe('CustomFields::Controller::CustomFieldGroups') do
139
170
  visit(index_url)
140
171
  click_on(new_button)
141
172
 
142
- within('#custom_field_group_form') do
173
+ within '#custom_field_group_form' do
143
174
  fill_in('name', :with => 'Field group')
144
175
  click_on(save_button)
145
176
  end
@@ -154,7 +185,7 @@ describe('CustomFields::Controller::CustomFieldGroups') do
154
185
  )
155
186
  end
156
187
 
157
- it('Call the event edit_custom_field_group (before and after)') do
188
+ it 'Call the event edit_custom_field_group (before and after)' do
158
189
  event_name = nil
159
190
 
160
191
  Zen::Event.listen(:before_edit_custom_field_group) do |group|
@@ -168,7 +199,7 @@ describe('CustomFields::Controller::CustomFieldGroups') do
168
199
  visit(index_url)
169
200
  click_on('Field group with event')
170
201
 
171
- within('#custom_field_group_form') do
202
+ within '#custom_field_group_form' do
172
203
  click_on(save_button)
173
204
  end
174
205
 
@@ -182,7 +213,7 @@ describe('CustomFields::Controller::CustomFieldGroups') do
182
213
  )
183
214
  end
184
215
 
185
- it('Call the event delete_custom_field_group (before and after)') do
216
+ it 'Call the event delete_custom_field_group (before and after)' do
186
217
  event_name = nil
187
218
  event_name2 = nil
188
219
  message = lang('custom_field_groups.messages.no_groups')