zen 0.2.8 → 0.3b

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 (422) hide show
  1. data/.gems +20 -0
  2. data/.mailmap +3 -2
  3. data/.rvmrc +1 -1
  4. data/.travis.yml +13 -2
  5. data/.yardopts +13 -0
  6. data/AUTHORS +1 -1
  7. data/README.md +115 -77
  8. data/Rakefile +6 -7
  9. data/bin/zen +12 -5
  10. data/guide/_static/categories/categories.png +0 -0
  11. data/guide/_static/categories/category_groups.png +0 -0
  12. data/guide/_static/categories/new_category.png +0 -0
  13. data/guide/_static/categories/new_category_group.png +0 -0
  14. data/guide/_static/comments/comments.png +0 -0
  15. data/guide/_static/comments/edit_comment.png +0 -0
  16. data/guide/_static/custom_fields/custom_field_groups.png +0 -0
  17. data/guide/_static/custom_fields/custom_field_types.png +0 -0
  18. data/guide/_static/custom_fields/custom_fields.png +0 -0
  19. data/guide/_static/custom_fields/edit_custom_field_general.png +0 -0
  20. data/guide/_static/custom_fields/edit_custom_field_group.png +0 -0
  21. data/guide/_static/custom_fields/edit_custom_field_settings.png +0 -0
  22. data/guide/_static/custom_fields/edit_custom_field_type.png +0 -0
  23. data/guide/_static/menus/edit_menu.png +0 -0
  24. data/guide/_static/menus/edit_menu_item.png +0 -0
  25. data/guide/_static/menus/menu_items.png +0 -0
  26. data/guide/_static/menus/menus.png +0 -0
  27. data/guide/_static/sections/edit_entry.png +0 -0
  28. data/guide/_static/sections/edit_entry_categories.png +0 -0
  29. data/guide/_static/sections/edit_entry_general.png +0 -0
  30. data/guide/_static/sections/edit_entry_meta.png +0 -0
  31. data/guide/_static/sections/edit_section_comments.png +0 -0
  32. data/guide/_static/sections/edit_section_general.png +0 -0
  33. data/guide/_static/sections/edit_section_groups.png +0 -0
  34. data/guide/_static/sections/entries.png +0 -0
  35. data/guide/_static/sections/sections.png +0 -0
  36. data/guide/_static/settings/overview_general.png +0 -0
  37. data/guide/_static/settings/overview_security.png +0 -0
  38. data/guide/_static/settings/overview_user.png +0 -0
  39. data/guide/_static/users/edit_user.png +0 -0
  40. data/guide/_static/users/edit_user_group.png +0 -0
  41. data/guide/_static/users/edit_user_group_permissions.png +0 -0
  42. data/guide/_static/users/edit_user_permissions.png +0 -0
  43. data/guide/_static/users/overview.png +0 -0
  44. data/guide/_static/users/user_groups_overview.png +0 -0
  45. data/guide/asset_management.md +117 -0
  46. data/{CHANGELOG.md → guide/changelog.md} +42 -0
  47. data/guide/css/common.css +20 -0
  48. data/guide/getting_started.md +61 -0
  49. data/guide/hacking.md +52 -0
  50. data/guide/installation.md +44 -0
  51. data/guide/javascript.md +352 -0
  52. data/lib/vendor/sequel_sluggable.rb +137 -0
  53. data/lib/yard/tags.rb +13 -0
  54. data/lib/zen.rb +148 -78
  55. data/lib/zen/asset_groups.rb +85 -0
  56. data/lib/zen/bin/create.rb +267 -56
  57. data/lib/zen/bin/default.rb +84 -0
  58. data/lib/zen/controller/admin_controller.rb +1 -82
  59. data/lib/zen/controller/base_controller.rb +9 -5
  60. data/lib/zen/controller/frontend_controller.rb +0 -1
  61. data/lib/zen/controller/main_controller.rb +30 -42
  62. data/lib/zen/controller/preview.rb +9 -8
  63. data/lib/zen/controller/translations.rb +49 -0
  64. data/lib/zen/error.rb +17 -0
  65. data/lib/zen/event.rb +118 -0
  66. data/lib/zen/helper/asset.rb +63 -0
  67. data/lib/zen/helper/breadcrumb.rb +1 -4
  68. data/lib/zen/helper/controller.rb +73 -0
  69. data/lib/zen/helper/locale.rb +42 -0
  70. data/lib/zen/helper/message.rb +0 -3
  71. data/lib/zen/helper/search.rb +54 -0
  72. data/lib/zen/helper/stacked_aspect.rb +249 -0
  73. data/lib/zen/helper/theme.rb +3 -10
  74. data/lib/zen/language.rb +356 -181
  75. data/lib/zen/language/en/zen_general.rb +52 -0
  76. data/lib/zen/language/en/zen_models.rb +19 -0
  77. data/lib/zen/language/nl/zen_general.rb +57 -0
  78. data/lib/zen/language/nl/zen_models.rb +22 -0
  79. data/lib/zen/language/translation.rb +132 -0
  80. data/lib/zen/languages.rb +9 -0
  81. data/lib/zen/layout/admin.xhtml +3 -3
  82. data/lib/zen/layout/login.xhtml +1 -1
  83. data/lib/zen/markup.rb +189 -0
  84. data/lib/zen/model/helper.rb +65 -0
  85. data/lib/zen/model/init.rb +62 -0
  86. data/lib/zen/model/methods.rb +6 -7
  87. data/lib/zen/package.rb +312 -201
  88. data/lib/zen/package/all.rb +4 -3
  89. data/lib/zen/package/categories/lib/categories.rb +29 -41
  90. data/lib/zen/package/categories/lib/categories/controller/categories.rb +185 -130
  91. data/lib/zen/package/categories/lib/categories/controller/category_groups.rb +172 -102
  92. data/lib/zen/package/categories/lib/categories/helper/category.rb +4 -9
  93. data/lib/zen/package/categories/lib/categories/helper/category_frontend.rb +86 -0
  94. data/lib/zen/package/categories/lib/categories/language/en/categories.rb +40 -0
  95. data/lib/zen/package/categories/lib/categories/language/en/category_groups.rb +39 -0
  96. data/lib/zen/package/categories/lib/categories/language/nl/categories.rb +42 -0
  97. data/lib/zen/package/categories/lib/categories/language/nl/category_groups.rb +42 -0
  98. data/lib/zen/package/categories/lib/categories/model/category.rb +21 -25
  99. data/lib/zen/package/categories/lib/categories/model/category_group.rb +21 -15
  100. data/lib/zen/package/categories/lib/categories/view/admin/categories/form.xhtml +25 -26
  101. data/lib/zen/package/categories/lib/categories/view/admin/categories/index.xhtml +24 -24
  102. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/form.xhtml +18 -20
  103. data/lib/zen/package/categories/lib/categories/view/admin/category-groups/index.xhtml +21 -18
  104. data/lib/zen/package/comments/lib/comments.rb +30 -50
  105. data/lib/zen/package/comments/lib/comments/anti_spam.rb +138 -0
  106. data/lib/zen/package/comments/lib/comments/controller/comments.rb +159 -92
  107. data/lib/zen/package/comments/lib/comments/controller/comments_form.rb +122 -34
  108. data/lib/zen/package/comments/lib/comments/helper/comment.rb +0 -3
  109. data/lib/zen/package/comments/lib/comments/helper/comment_frontend.rb +90 -0
  110. data/lib/zen/package/comments/lib/comments/language/en/comments.rb +57 -0
  111. data/lib/zen/package/comments/lib/comments/language/nl/comments.rb +61 -0
  112. data/lib/zen/package/comments/lib/comments/model/comment.rb +147 -49
  113. data/lib/zen/package/comments/lib/comments/model/comment_status.rb +0 -2
  114. data/lib/zen/package/comments/lib/comments/view/admin/comments/form.xhtml +37 -40
  115. data/lib/zen/package/comments/lib/comments/view/admin/comments/index.xhtml +23 -42
  116. data/lib/zen/package/comments/migrations/1308774099_comment_status.rb +12 -4
  117. data/lib/zen/package/comments/migrations/1313851786_remove_defensio_signature.rb +11 -0
  118. data/lib/zen/package/custom_fields/lib/custom_fields.rb +40 -43
  119. data/lib/zen/package/custom_fields/lib/custom_fields/blue_form_parameters.rb +72 -17
  120. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +154 -118
  121. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_types.rb +147 -90
  122. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_fields.rb +161 -131
  123. data/lib/zen/package/custom_fields/lib/custom_fields/helper/custom_field.rb +4 -9
  124. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_groups.rb +42 -0
  125. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_types.rb +51 -0
  126. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.rb +60 -0
  127. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_groups.rb +41 -0
  128. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_types.rb +49 -0
  129. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_fields.rb +61 -0
  130. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field.rb +18 -23
  131. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_group.rb +20 -19
  132. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_method.rb +1 -3
  133. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_type.rb +19 -9
  134. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_value.rb +18 -15
  135. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/form.xhtml +18 -18
  136. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/index.xhtml +30 -24
  137. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-types/form.xhtml +15 -10
  138. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-types/index.xhtml +24 -19
  139. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/form.xhtml +18 -13
  140. data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/index.xhtml +30 -20
  141. data/lib/zen/package/extensions/lib/extensions.rb +20 -0
  142. data/lib/zen/package/extensions/lib/extensions/controller/extensions.rb +41 -0
  143. data/lib/zen/package/extensions/lib/extensions/language/en/extensions.rb +23 -0
  144. data/lib/zen/package/extensions/lib/extensions/language/nl/extensions.rb +25 -0
  145. data/lib/zen/package/extensions/lib/extensions/view/admin/extensions/index.xhtml +86 -0
  146. data/lib/zen/package/menu.rb +109 -0
  147. data/lib/zen/package/menus/lib/menus.rb +25 -34
  148. data/lib/zen/package/menus/lib/menus/controller/menu_items.rb +143 -107
  149. data/lib/zen/package/menus/lib/menus/controller/menus.rb +166 -115
  150. data/lib/zen/package/menus/lib/menus/helper/menu.rb +2 -8
  151. data/lib/zen/package/menus/lib/menus/helper/menu_frontend.rb +114 -0
  152. data/lib/zen/package/menus/lib/menus/language/en/menu_items.rb +48 -0
  153. data/lib/zen/package/menus/lib/menus/language/en/menus.rb +48 -0
  154. data/lib/zen/package/menus/lib/menus/language/nl/menu_items.rb +48 -0
  155. data/lib/zen/package/menus/lib/menus/language/nl/menus.rb +50 -0
  156. data/lib/zen/package/menus/lib/menus/model/menu.rb +24 -17
  157. data/lib/zen/package/menus/lib/menus/model/menu_item.rb +37 -13
  158. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/form.xhtml +32 -25
  159. data/lib/zen/package/menus/lib/menus/view/admin/menu-items/index.xhtml +23 -17
  160. data/lib/zen/package/menus/lib/menus/view/admin/menus/form.xhtml +31 -26
  161. data/lib/zen/package/menus/lib/menus/view/admin/menus/index.xhtml +20 -22
  162. data/lib/zen/package/sections/lib/sections.rb +25 -68
  163. data/lib/zen/package/sections/lib/sections/controller/section_entries.rb +178 -138
  164. data/lib/zen/package/sections/lib/sections/controller/sections.rb +173 -140
  165. data/lib/zen/package/sections/lib/sections/helper/section.rb +3 -6
  166. data/lib/zen/package/sections/lib/sections/helper/section_frontend.rb +146 -0
  167. data/lib/zen/package/sections/lib/sections/language/en/section_entries.rb +50 -0
  168. data/lib/zen/package/sections/lib/sections/language/en/sections.rb +55 -0
  169. data/lib/zen/package/sections/lib/sections/language/nl/section_entries.rb +50 -0
  170. data/lib/zen/package/sections/lib/sections/language/nl/sections.rb +55 -0
  171. data/lib/zen/package/sections/lib/sections/model/section.rb +36 -36
  172. data/lib/zen/package/sections/lib/sections/model/section_entry.rb +52 -59
  173. data/lib/zen/package/sections/lib/sections/model/section_entry_status.rb +2 -2
  174. data/lib/zen/package/sections/lib/sections/view/admin/form.xhtml +24 -21
  175. data/lib/zen/package/sections/lib/sections/view/admin/index.xhtml +24 -26
  176. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/form.xhtml +33 -31
  177. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/index.xhtml +24 -25
  178. data/lib/zen/package/sections/migrations/1308672298_use_id_for_default_section.rb +14 -10
  179. data/lib/zen/package/sections/migrations/1308813320_section_entry_statuses.rb +12 -6
  180. data/lib/zen/package/settings/lib/settings.rb +25 -120
  181. data/lib/zen/package/settings/lib/settings/blue_form_parameters.rb +157 -0
  182. data/lib/zen/package/settings/lib/settings/controller/settings.rb +94 -69
  183. data/lib/zen/package/settings/lib/settings/language/en/settings.rb +41 -0
  184. data/lib/zen/package/settings/lib/settings/language/nl/settings.rb +41 -0
  185. data/lib/zen/package/settings/lib/settings/model/setting.rb +0 -2
  186. data/lib/zen/package/settings/lib/settings/setting.rb +379 -0
  187. data/lib/zen/package/settings/lib/settings/setting_groups.rb +11 -0
  188. data/lib/zen/package/settings/lib/settings/settings.rb +83 -0
  189. data/lib/zen/package/settings/lib/settings/settings_group.rb +84 -0
  190. data/lib/zen/package/settings/lib/settings/singleton_methods.rb +35 -0
  191. data/lib/zen/package/settings/lib/settings/view/admin/settings/index.xhtml +15 -57
  192. data/lib/zen/package/settings/migrations/1321197919_remove_unused_columns.rb +17 -0
  193. data/lib/zen/package/users/lib/users.rb +51 -36
  194. data/lib/zen/package/users/lib/users/controller/user_groups.rb +133 -98
  195. data/lib/zen/package/users/lib/users/controller/users.rb +253 -136
  196. data/lib/zen/package/users/lib/users/helper/access.rb +102 -0
  197. data/lib/zen/package/users/lib/users/helper/acl.rb +113 -0
  198. data/lib/zen/package/users/lib/users/helper/users.rb +41 -24
  199. data/lib/zen/package/users/lib/users/language/en/permissions.rb +16 -0
  200. data/lib/zen/package/users/lib/users/language/en/user_groups.rb +39 -0
  201. data/lib/zen/package/users/lib/users/language/en/users.rb +73 -0
  202. data/lib/zen/package/users/lib/users/language/nl/permissions.rb +16 -0
  203. data/lib/zen/package/users/lib/users/language/nl/user_groups.rb +41 -0
  204. data/lib/zen/package/users/lib/users/language/nl/users.rb +74 -0
  205. data/lib/zen/package/users/lib/users/model/permission.rb +28 -0
  206. data/lib/zen/package/users/lib/users/model/user.rb +104 -65
  207. data/lib/zen/package/users/lib/users/model/user_group.rb +28 -24
  208. data/lib/zen/package/users/lib/users/model/user_status.rb +27 -0
  209. data/lib/zen/package/users/lib/users/public/admin/css/users/permissions.css +22 -0
  210. data/lib/zen/package/users/lib/users/public/admin/js/users/permissions.js +33 -0
  211. data/lib/zen/package/users/lib/users/settings.rb +19 -0
  212. data/lib/zen/package/users/lib/users/view/admin/user-groups/form.xhtml +58 -28
  213. data/lib/zen/package/users/lib/users/view/admin/user-groups/index.xhtml +19 -15
  214. data/lib/zen/package/users/lib/users/view/admin/users/form.xhtml +93 -62
  215. data/lib/zen/package/users/lib/users/view/admin/users/index.xhtml +23 -36
  216. data/lib/zen/package/users/lib/users/view/admin/users/login.xhtml +13 -6
  217. data/lib/zen/package/users/lib/users/view/admin/users/permissions.xhtml +33 -0
  218. data/lib/zen/package/users/lib/users/view/admin/users/register.xhtml +52 -0
  219. data/lib/zen/package/users/migrations/1313786058_update_default_date.rb +41 -0
  220. data/lib/zen/package/users/migrations/1316432327_permissions.rb +36 -0
  221. data/lib/zen/package/users/migrations/1320272365_status_ids.rb +67 -0
  222. data/lib/zen/public/admin/css/zen/buttons.css +3 -11
  223. data/lib/zen/public/admin/css/zen/datepicker.css +23 -13
  224. data/lib/zen/public/admin/css/zen/editor.css +6 -14
  225. data/lib/zen/public/admin/css/zen/forms.css +19 -12
  226. data/lib/zen/public/admin/css/zen/general.css +22 -18
  227. data/lib/zen/public/admin/css/zen/grid.css +1 -20
  228. data/lib/zen/public/admin/css/zen/layout.css +26 -11
  229. data/lib/zen/public/admin/css/zen/messages.css +3 -10
  230. data/lib/zen/public/admin/css/zen/reset.css +13 -15
  231. data/lib/zen/public/admin/css/zen/tables.css +8 -10
  232. data/lib/zen/public/admin/css/zen/tabs.css +2 -10
  233. data/lib/zen/public/admin/css/zen/window.css +2 -8
  234. data/lib/zen/public/admin/js/vendor/datepicker.js +540 -240
  235. data/lib/zen/public/admin/js/vendor/mootools/core.js +273 -283
  236. data/lib/zen/public/admin/js/vendor/mootools/more.js +131 -136
  237. data/lib/zen/public/admin/js/zen/index.js +8 -14
  238. data/lib/zen/public/admin/js/zen/lib/editor.js +36 -33
  239. data/lib/zen/public/admin/js/zen/lib/editor/markdown.js +0 -6
  240. data/lib/zen/public/admin/js/zen/lib/editor/textile.js +0 -6
  241. data/lib/zen/public/admin/js/zen/lib/html_table.js +0 -5
  242. data/lib/zen/public/admin/js/zen/lib/tabs.js +22 -79
  243. data/lib/zen/public/admin/js/zen/lib/window.js +12 -22
  244. data/lib/zen/spec/bacon/color_output.rb +1 -1
  245. data/lib/zen/spec/helper.rb +6 -11
  246. data/lib/zen/spec/simplecov.rb +3 -3
  247. data/lib/zen/task.rb +0 -1
  248. data/lib/zen/task/build.rake +46 -26
  249. data/lib/zen/task/clean.rake +14 -7
  250. data/lib/zen/task/db.rake +31 -29
  251. data/lib/zen/task/package.rake +19 -23
  252. data/lib/zen/task/proto.rake +3 -5
  253. data/lib/zen/task/setup.rake +4 -0
  254. data/lib/zen/task/test.rake +31 -6
  255. data/lib/zen/task/theme.rake +13 -19
  256. data/lib/zen/theme.rb +377 -52
  257. data/lib/zen/validation.rb +22 -30
  258. data/lib/zen/version.rb +1 -2
  259. data/lib/zen/view/bottom.xhtml +9 -1
  260. data/lib/zen/view/head.xhtml +1 -1
  261. data/lib/zen/view/main.xhtml +1 -1
  262. data/lib/zen/view/search.xhtml +9 -0
  263. data/proto/app/Rakefile +0 -1
  264. data/proto/app/app.rb +21 -16
  265. data/proto/app/config/config.rb.erb +41 -0
  266. data/proto/app/config/{database.rb → database.rb.erb} +17 -14
  267. data/proto/app/config/middlewares.rb +1 -1
  268. data/proto/app/theme/default/index.xhtml +25 -0
  269. data/proto/app/theme/theme.rb +19 -0
  270. data/proto/app/{log/database/dev → tmp}/.gitkeep +0 -0
  271. data/proto/migration.rb +3 -5
  272. data/proto/rack/thin.yml +41 -0
  273. data/proto/rack/unicorn.rb +38 -0
  274. data/spec/Rakefile +15 -11
  275. data/spec/fixtures/zen/helper/controller.rb +13 -0
  276. data/spec/fixtures/zen/helper/locale.rb +7 -0
  277. data/spec/fixtures/zen/helper/message.rb +0 -4
  278. data/spec/fixtures/zen/language.rb +31 -0
  279. data/spec/fixtures/zen/language/en/spec.rb +11 -0
  280. data/spec/fixtures/zen/language/nl/spec.rb +11 -0
  281. data/spec/fixtures/zen/package.rb +0 -10
  282. data/spec/fixtures/zen/package/categories/helper/category_frontend.rb +16 -0
  283. data/spec/fixtures/zen/package/comments/helper/comment_frontend.rb +16 -0
  284. data/spec/fixtures/zen/package/sections/helper/section_frontend.rb +16 -0
  285. data/spec/fixtures/zen/package/settings/controller/settings.rb +17 -0
  286. data/spec/fixtures/zen/package/users/helper/access.rb +18 -0
  287. data/spec/fixtures/zen/package/users/helper/acl.rb +23 -0
  288. data/spec/fixtures/zen/theme/{default-section → default}/index.xhtml +0 -0
  289. data/spec/helper.rb +12 -27
  290. data/{proto/app/log/database/live → spec/public}/.gitkeep +0 -0
  291. data/spec/zen/controller/admin_controller.rb +5 -6
  292. data/spec/zen/controller/main_controller.rb +29 -35
  293. data/spec/zen/controller/preview.rb +9 -10
  294. data/spec/zen/event.rb +44 -0
  295. data/spec/zen/helper/breadcrumb.rb +4 -5
  296. data/spec/zen/helper/controller.rb +21 -0
  297. data/spec/zen/helper/locale.rb +25 -0
  298. data/spec/zen/helper/message.rb +4 -11
  299. data/spec/zen/helper/theme.rb +11 -14
  300. data/spec/zen/language.rb +48 -22
  301. data/spec/zen/markup.rb +39 -0
  302. data/spec/zen/package.rb +48 -11
  303. data/spec/zen/package/categories/controller/categories.rb +99 -45
  304. data/spec/zen/package/categories/controller/category_groups.rb +109 -33
  305. data/spec/zen/package/categories/helper/category.rb +19 -32
  306. data/spec/zen/package/categories/helper/category_frontend.rb +61 -0
  307. data/spec/zen/package/comments/anti_spam.rb +50 -0
  308. data/spec/zen/package/comments/controller/comments.rb +121 -61
  309. data/spec/zen/package/comments/controller/comments_form.rb +120 -94
  310. data/spec/zen/package/comments/helper/comment.rb +13 -13
  311. data/spec/zen/package/comments/helper/comment_frontend.rb +92 -0
  312. data/spec/zen/package/custom_fields/blue_form_parameters.rb +50 -50
  313. data/spec/zen/package/custom_fields/controller/custom_field_groups.rb +135 -43
  314. data/spec/zen/package/custom_fields/controller/custom_field_types.rb +153 -48
  315. data/spec/zen/package/custom_fields/controller/custom_fields.rb +130 -51
  316. data/spec/zen/package/custom_fields/helper/custom_field.rb +8 -8
  317. data/spec/zen/package/extensions/controller/extensions.rb +38 -0
  318. data/spec/zen/package/menus/controller/menu_items.rb +121 -42
  319. data/spec/zen/package/menus/controller/menus.rb +125 -38
  320. data/spec/zen/package/menus/helper/menu.rb +26 -26
  321. data/spec/zen/package/menus/helper/menu_frontend.rb +104 -0
  322. data/spec/zen/package/sections/controller/section_entries.rb +145 -89
  323. data/spec/zen/package/sections/controller/sections.rb +130 -35
  324. data/spec/zen/package/sections/helper/section.rb +27 -38
  325. data/spec/zen/package/sections/helper/section_frontend.rb +160 -0
  326. data/spec/zen/package/settings/controller/settings.rb +73 -8
  327. data/spec/zen/package/settings/settings.rb +119 -0
  328. data/spec/zen/package/users/controller/user_groups.rb +134 -34
  329. data/spec/zen/package/users/controller/users.rb +189 -44
  330. data/spec/zen/package/users/helper/access.rb +29 -0
  331. data/spec/zen/package/users/helper/acl.rb +46 -0
  332. data/spec/zen/package/users/helper/users.rb +20 -64
  333. data/spec/zen/theme.rb +7 -9
  334. data/spec/zen/validation.rb +1 -2
  335. data/zen.gemspec +25 -22
  336. metadata +303 -222
  337. data/lib/zen/asset.rb +0 -292
  338. data/lib/zen/bin/runner.rb +0 -118
  339. data/lib/zen/error/language_error.rb +0 -10
  340. data/lib/zen/error/package_error.rb +0 -10
  341. data/lib/zen/error/plugin_error.rb +0 -10
  342. data/lib/zen/error/theme_error.rb +0 -10
  343. data/lib/zen/error/validation_error.rb +0 -10
  344. data/lib/zen/helper/acl.rb +0 -182
  345. data/lib/zen/helper/blue_form_vendor.rb +0 -689
  346. data/lib/zen/language/en/zen_general.yml +0 -25
  347. data/lib/zen/language/en/zen_models.yml +0 -13
  348. data/lib/zen/language/nl/zen_general.yml +0 -25
  349. data/lib/zen/language/nl/zen_models.yml +0 -13
  350. data/lib/zen/model/settings.rb +0 -78
  351. data/lib/zen/package/base.rb +0 -62
  352. data/lib/zen/package/categories/lib/categories/language/en/categories.yml +0 -36
  353. data/lib/zen/package/categories/lib/categories/language/en/category_groups.yml +0 -34
  354. data/lib/zen/package/categories/lib/categories/language/nl/categories.yml +0 -40
  355. data/lib/zen/package/categories/lib/categories/language/nl/category_groups.yml +0 -34
  356. data/lib/zen/package/categories/lib/categories/plugin/categories.rb +0 -141
  357. data/lib/zen/package/comments/lib/comments/language/en/comments.yml +0 -48
  358. data/lib/zen/package/comments/lib/comments/language/nl/comments.yml +0 -50
  359. data/lib/zen/package/comments/lib/comments/plugin/anti_spam.rb +0 -156
  360. data/lib/zen/package/comments/lib/comments/plugin/comments.rb +0 -115
  361. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_groups.yml +0 -33
  362. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_types.yml +0 -40
  363. data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.yml +0 -54
  364. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_groups.yml +0 -33
  365. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_types.yml +0 -40
  366. data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_fields.yml +0 -54
  367. data/lib/zen/package/menus/lib/menus/language/en/menu_items.yml +0 -41
  368. data/lib/zen/package/menus/lib/menus/language/en/menus.yml +0 -40
  369. data/lib/zen/package/menus/lib/menus/language/nl/menu_items.yml +0 -41
  370. data/lib/zen/package/menus/lib/menus/language/nl/menus.yml +0 -40
  371. data/lib/zen/package/menus/lib/menus/plugin/menus.rb +0 -152
  372. data/lib/zen/package/sections/lib/sections/language/en/section_entries.yml +0 -44
  373. data/lib/zen/package/sections/lib/sections/language/en/sections.yml +0 -48
  374. data/lib/zen/package/sections/lib/sections/language/nl/section_entries.yml +0 -44
  375. data/lib/zen/package/sections/lib/sections/language/nl/sections.yml +0 -48
  376. data/lib/zen/package/sections/lib/sections/plugin/section_entries.rb +0 -244
  377. data/lib/zen/package/sections/lib/sections/plugin/sections.rb +0 -87
  378. data/lib/zen/package/settings/lib/settings/language/en/settings.yml +0 -36
  379. data/lib/zen/package/settings/lib/settings/language/nl/settings.yml +0 -37
  380. data/lib/zen/package/settings/lib/settings/plugin/group_base.rb +0 -39
  381. data/lib/zen/package/settings/lib/settings/plugin/setting_base.rb +0 -133
  382. data/lib/zen/package/settings/lib/settings/plugin/settings.rb +0 -251
  383. data/lib/zen/package/users/lib/users/controller/access_rules.rb +0 -284
  384. data/lib/zen/package/users/lib/users/language/en/access_rules.yml +0 -38
  385. data/lib/zen/package/users/lib/users/language/en/user_groups.yml +0 -32
  386. data/lib/zen/package/users/lib/users/language/en/users.yml +0 -57
  387. data/lib/zen/package/users/lib/users/language/nl/access_rules.yml +0 -38
  388. data/lib/zen/package/users/lib/users/language/nl/user_groups.yml +0 -32
  389. data/lib/zen/package/users/lib/users/language/nl/users.yml +0 -57
  390. data/lib/zen/package/users/lib/users/model/access_rule.rb +0 -42
  391. data/lib/zen/package/users/lib/users/public/admin/js/users/access_rules.js +0 -65
  392. data/lib/zen/package/users/lib/users/public/admin/js/users/lib/access_rules.js +0 -49
  393. data/lib/zen/package/users/lib/users/view/admin/access-rules/form.xhtml +0 -120
  394. data/lib/zen/package/users/lib/users/view/admin/access-rules/index.xhtml +0 -102
  395. data/lib/zen/plugin.rb +0 -182
  396. data/lib/zen/plugin/base.rb +0 -46
  397. data/lib/zen/plugin/helper.rb +0 -47
  398. data/lib/zen/plugin/markup/lib/markup.rb +0 -14
  399. data/lib/zen/plugin/markup/lib/markup/language/en/markup.yml +0 -6
  400. data/lib/zen/plugin/markup/lib/markup/markup.rb +0 -165
  401. data/lib/zen/public/admin/js/zen/lib/asset.js +0 -111
  402. data/lib/zen/task/plugin.rake +0 -18
  403. data/lib/zen/theme/base.rb +0 -65
  404. data/proto/app/config/config.rb +0 -18
  405. data/spec/fixtures/zen/language/en/spec.yml +0 -10
  406. data/spec/fixtures/zen/language/nl/spec.yml +0 -7
  407. data/spec/fixtures/zen/package/settings/plugin/settings.rb +0 -20
  408. data/spec/zen/asset.rb +0 -97
  409. data/spec/zen/bin/create.rb +0 -89
  410. data/spec/zen/bin/runner.rb +0 -47
  411. data/spec/zen/helper/acl.rb +0 -149
  412. data/spec/zen/package/categories/plugin/categories.rb +0 -92
  413. data/spec/zen/package/comments/plugin/anti_spam.rb +0 -59
  414. data/spec/zen/package/comments/plugin/comments.rb +0 -107
  415. data/spec/zen/package/menus/plugin/menus.rb +0 -120
  416. data/spec/zen/package/sections/plugin/section_entries.rb +0 -161
  417. data/spec/zen/package/sections/plugin/sections.rb +0 -75
  418. data/spec/zen/package/settings/plugin/settings.rb +0 -33
  419. data/spec/zen/package/users/controller/access_rules.rb +0 -90
  420. data/spec/zen/plugin.rb +0 -64
  421. data/spec/zen/plugin/helper.rb +0 -11
  422. data/spec/zen/plugin/markup.rb +0 -44
@@ -1,21 +1,18 @@
1
- #:nodoc:
2
1
  module Ramaze
3
2
  #:nodocL
4
3
  module Helper
5
4
  ##
6
5
  # Helper for the custom fields package.
7
6
  #
8
- # @author Yorick Peterse
9
7
  # @since 0.2.8
10
8
  #
11
9
  module CustomField
12
10
  ##
13
11
  # Validates a custom field group and returns the object if it's valid.
14
12
  #
15
- # @author Yorick Peterse
16
13
  # @since 0.2.8
17
14
  # @param [Fixnum] custom_field_group_id An ID of a custom field group
18
- # that has to be validated.
15
+ # that has to be validated.
19
16
  # @return [CustomFields::Model::CustomFieldGroup]
20
17
  #
21
18
  def validate_custom_field_group(custom_field_group_id)
@@ -33,11 +30,10 @@ module Ramaze
33
30
  # Similar to validate_custom_field_group() this method validates a single
34
31
  # custom field and returns it if it's valid.
35
32
  #
36
- # @author Yorick Peterse
37
33
  # @since 0.2.8
38
34
  # @param [Fixnum] custom_field_id The ID of the custom field to validate.
39
35
  # @param [Fixnum] custom_field_group_id The ID of the field group the
40
- # field is supposed to belong to.
36
+ # field is supposed to belong to.
41
37
  # @return [CustomFields::Model::CustomField]
42
38
  #
43
39
  def validate_custom_field(custom_field_id, custom_field_group_id)
@@ -54,14 +50,13 @@ module Ramaze
54
50
  return field
55
51
  end
56
52
  end
57
-
53
+
58
54
  ##
59
55
  # Validates a custom field type and returns it if it's valid.
60
56
  #
61
- # @author Yorick Peterse
62
57
  # @since 0.2.8
63
58
  # @param [Fixnum] custom_field_type_id The ID of the field type to
64
- # validate.
59
+ # validate.
65
60
  # @return [CustomFields::Model::CustomFieldType]
66
61
  #
67
62
  def validate_custom_field_type(custom_field_type_id)
@@ -0,0 +1,42 @@
1
+ # encoding: utf-8
2
+
3
+ Zen::Language::Translation.add do |trans|
4
+ trans.language = 'en'
5
+ trans.name = 'custom_field_groups'
6
+
7
+ trans.translate do |t|
8
+ t['titles.index'] = 'Custom Field Groups'
9
+ t['titles.edit'] = 'Edit Custom Field Group'
10
+ t['titles.new'] = 'Add Custom Field Group'
11
+
12
+ t['labels.id'] = '#'
13
+ t['labels.name'] = 'Name'
14
+ t['labels.description'] = 'Description'
15
+ t['labels.sections'] = 'Sections'
16
+ t['labels.manage_fields'] = 'Manage custom fields'
17
+ t['labels.none'] = 'None'
18
+
19
+ t['messages.no_groups'] = 'No custom field groups were found.'
20
+
21
+ t['errors.new'] = 'Failed to create a new custom field group.'
22
+ t['errors.save'] = 'Failed to modify the custom field group.'
23
+ t['errors.delete'] = 'Failed to delete the custom field group ' \
24
+ 'with ID #%s'
25
+ t['errors.no_delete'] = 'You haven\'t specified any custom field ' \
26
+ 'groups to delete'
27
+ t['errors.invalid_group'] = 'The specified custom field group is invalid.'
28
+
29
+ t['success.new'] = 'The custom field group has been created.'
30
+ t['success.save'] = 'The custom field group has been modified.'
31
+ t['success.delete'] = 'The selected custom field groups have been deleted.'
32
+
33
+ t['buttons.new'] = 'Add group'
34
+ t['buttons.delete'] = 'Delete selected groups'
35
+ t['buttons.save'] = 'Save group'
36
+
37
+ t['permissions.show'] = 'Show field group'
38
+ t['permissions.edit'] = 'Edit field group'
39
+ t['permissions.new'] = 'Add field group'
40
+ t['permissions.delete'] = 'Delete field group'
41
+ end
42
+ end
@@ -0,0 +1,51 @@
1
+ # encoding: utf-8
2
+
3
+ Zen::Language::Translation.add do |trans|
4
+ trans.language = 'en'
5
+ trans.name = 'custom_field_types'
6
+
7
+ trans.translate do |t|
8
+ t['titles.index'] = 'Custom Field Types'
9
+ t['titles.edit'] = 'Edit Custom Field Type'
10
+ t['titles.new'] = 'Add Custom Field Type'
11
+
12
+ t['labels.id'] = '#'
13
+ t['labels.name'] = 'Name'
14
+ t['labels.language_string'] = 'Language string'
15
+ t['labels.html_class'] = 'HTML class'
16
+ t['labels.serialize'] = 'Serialize'
17
+ t['labels.allow_markup'] = 'Allow markup'
18
+ t['labels.custom_field_method_id'] = 'Custom field method'
19
+
20
+ t['descriptions.language_string'] = 'The full language string to use.'
21
+ t['descriptions.html_class'] = 'A set of HTML classes to apply to ' \
22
+ 'all fields.'
23
+ t['descriptions.serialize'] = 'Whether or not the value of a field ' \
24
+ 'has to be serialized.'
25
+ t['descriptions.allow_markup'] = 'Whether or not markup, such as ' \
26
+ 'Markdown, can be used. '
27
+
28
+ t['messages.no_field_types'] = 'No custom field types were found.'
29
+
30
+ t['errors.new'] = 'The custom field type could not be added.'
31
+ t['errors.save'] = 'The custom field type could not be modified.'
32
+ t['errors.delete'] = 'The custom field type with ID #%s could not ' \
33
+ 'be removed.'
34
+ t['errors.no_delete'] = 'You need to specify at least one custom ' \
35
+ 'field type to remove.'
36
+ t['errors.invalid_type'] = 'The specified custom field type is invalid.'
37
+
38
+ t['success.new'] = 'The custom field type has been added.'
39
+ t['success.save'] = 'The custom field type has been modified.'
40
+ t['success.delete'] = 'All selected custom field types have been removed.'
41
+
42
+ t['buttons.new'] = 'Add field type'
43
+ t['buttons.delete'] = 'Delete selected field types'
44
+ t['buttons.save'] = 'Save field type'
45
+
46
+ t['permissions.show'] = 'Show field type'
47
+ t['permissions.edit'] = 'Edit field type'
48
+ t['permissions.new'] = 'Add field type'
49
+ t['permissions.delete'] = 'Delete field type'
50
+ end
51
+ end
@@ -0,0 +1,60 @@
1
+ # encoding: utf-8
2
+
3
+ Zen::Language::Translation.add do |trans|
4
+ trans.language = 'en'
5
+ trans.name = 'custom_fields'
6
+
7
+ trans.translate do |t|
8
+ t['titles.index'] = 'Custom Fields'
9
+ t['titles.edit'] = 'Edit Custom Field'
10
+ t['titles.new'] = 'Add Custom Field'
11
+
12
+ t['labels.id'] = '#'
13
+ t['labels.name'] = 'Name'
14
+ t['labels.slug'] = 'Slug'
15
+ t['labels.format'] = 'Format'
16
+ t['labels.description'] = 'Description'
17
+ t['labels.possible_values'] = 'Possible values (one value per line)'
18
+ t['labels.required'] = 'Requires a value'
19
+ t['labels.text_editor'] = 'Enable a text editor'
20
+ t['labels.textarea_rows'] = 'Textarea rows'
21
+ t['labels.text_limit'] = 'Character limit'
22
+ t['labels.sort_order'] = 'Sort order'
23
+ t['labels.custom_field_type_id'] = 'Field type'
24
+
25
+ t['tabs.general'] = 'General'
26
+ t['tabs.settings'] = 'Settings'
27
+
28
+ t['messages.no_fields'] = 'No custom fields were found.'
29
+
30
+ t['errors.new'] = 'Failed to create the new custom field.'
31
+ t['errors.save'] = 'Failed to modify the custom field.'
32
+ t['errors.delete'] = 'Failed to delete the custom field with ID #%s.'
33
+ t['errors.no_delete'] = 'You haven\'t specified any custom fields to delete.'
34
+ t['errors.invalid_field'] = 'The specified custom field is invalid.'
35
+
36
+ t['success.new'] = 'The new custom field has been created.'
37
+ t['success.save'] = 'The custom field has been modified.'
38
+ t['success.delete'] = 'The selected custom fields have been deleted.'
39
+ t['special.type_hash.textbox'] = 'Textbox'
40
+
41
+ t['special.type_hash.textarea'] = 'Textarea'
42
+ t['special.type_hash.radio'] = 'Radio button'
43
+ t['special.type_hash.checkbox'] = 'Checkbox'
44
+ t['special.type_hash.date'] = 'Date'
45
+ t['special.type_hash.select'] = 'Select dropdown'
46
+ t['special.type_hash.select_multiple'] = 'Multi select'
47
+ t['special.type_hash.password'] = 'Password'
48
+
49
+ t['buttons.new'] = 'Add custom field'
50
+ t['buttons.delete'] = 'Delete selected fields'
51
+ t['buttons.save'] = 'Save custom field'
52
+
53
+ t['permissions.show'] = 'Show custom field'
54
+ t['permissions.edit'] = 'Edit custom field'
55
+ t['permissions.new'] = 'Add custom field'
56
+ t['permissions.delete'] = 'Delete custom field'
57
+
58
+ t['description'] = 'Manage custom fields, field groups and field types.'
59
+ end
60
+ end
@@ -0,0 +1,41 @@
1
+ # encoding: utf-8
2
+
3
+ Zen::Language::Translation.add do |trans|
4
+ trans.language = 'nl'
5
+ trans.name = 'custom_field_groups'
6
+
7
+ trans.translate do |t|
8
+ t['titles.index'] = 'Veld groepen'
9
+ t['titles.edit'] = 'Veld groep aanpassen'
10
+ t['titles.new'] = 'Veld groep aanmaken'
11
+
12
+ t['labels.id'] = '#'
13
+ t['labels.name'] = 'Naam'
14
+ t['labels.description'] = 'Beschrijving'
15
+ t['labels.sections'] = 'Secties'
16
+ t['labels.manage_fields'] = 'Beheer velden'
17
+ t['labels.none'] = 'Geen'
18
+
19
+ t['messages.no_groups'] = 'Er konden geen veld groepen worden aangemaakt.'
20
+
21
+ t['success.new'] = 'De veld groep is aangemaakt.'
22
+ t['success.save'] = 'De veld groep is aangepast.'
23
+ t['success.delete'] = 'De veld groep is verwijderd.'
24
+
25
+ t['errors.new'] = 'De veld groep kon niet worden aangemaakt.'
26
+ t['errors.save'] = 'De veld groep kon niet worden aangepast.'
27
+ t['errors.delete'] = 'De veld groep met ID #%s kon niet worden verwijderd.'
28
+ t['errors.no_delete'] = 'U moet ten minste 1 groep specificeren om ' \
29
+ 'te verwijderen.'
30
+ t['errors.invalid_group'] = 'De opgegeven veld groep is ongeldig.'
31
+
32
+ t['buttons.new'] = 'Groep aanmaken'
33
+ t['buttons.save'] = 'Groep opslaan'
34
+ t['buttons.delete'] = 'Geselecteerde groepen verwijderen'
35
+
36
+ t['permissions.show'] = 'Veld groep weergeven'
37
+ t['permissions.edit'] = 'Veld groep aanpassen'
38
+ t['permissions.new'] = 'Veld groep aanmaken'
39
+ t['permissions.delete'] = 'Veld groep verwijderen'
40
+ end
41
+ end
@@ -0,0 +1,49 @@
1
+ # encoding: utf-8
2
+
3
+ Zen::Language::Translation.add do |trans|
4
+ trans.language = 'nl'
5
+ trans.name = 'custom_field_types'
6
+
7
+ trans.translate do |t|
8
+ t['titles.index'] = 'Veld types'
9
+ t['titles.edit'] = 'Veld type aanpassen'
10
+ t['titles.new'] = 'Veld type toevoegen'
11
+
12
+ t['labels.id'] = '#'
13
+ t['labels.name'] = 'Naam'
14
+ t['labels.language_string'] = 'Vertaal naam'
15
+ t['labels.html_class'] = 'CSS klasse'
16
+ t['labels.serialize'] = 'Serialiseren'
17
+ t['labels.allow_markup'] = 'Opmaak toegestaan'
18
+ t['labels.custom_field_method_id'] = 'Veld methode'
19
+
20
+ t['descriptions.language_string'] = 'De volledige naam van de vertaling ' \
21
+ 'voor dit veld.'
22
+ t['descriptions.html_class'] = 'Een set aan HTML klasses voor alle ' \
23
+ 'velden van dit type.'
24
+ t['descriptions.serialize'] = 'De waarde wel of niet serialiseren.'
25
+ t['descriptions.allow_markup'] = 'Opmaak toegestaan of niet.'
26
+
27
+ t['messages.no_field_types'] = 'Er konden geen veld types worden gevonden.'
28
+
29
+ t['errors.new'] = 'Het veld type kon niet worden aangemaakt.'
30
+ t['errors.save'] = 'Het veld type kon niet worden aangepast.'
31
+ t['errors.delete'] = 'Het veld type met ID #%s kon niet worden verwijderd.'
32
+ t['errors.no_delete'] = 'U moet ten minste 1 veld type specificeren ' \
33
+ 'om te verwijderen.'
34
+ t['errors.invalid_type'] = 'Het opgegeven veld type is ongeldig.'
35
+
36
+ t['success.new'] = 'Het veld type is aangemaakt.'
37
+ t['success.save'] = 'Het veld type is aangepast.'
38
+ t['success.delete'] = 'Alle geselecteerde veld types zijn verwijderd.'
39
+
40
+ t['buttons.new'] = 'Veld type toevoegen'
41
+ t['buttons.delete'] = 'Geselecteerde types verwijderen'
42
+ t['buttons.save'] = 'Veld type opslaan'
43
+
44
+ t['permissions.show'] = 'Veld type weergeven'
45
+ t['permissions.edit'] = 'Veld type aanpassen'
46
+ t['permissions.new'] = 'Veld type aanmaken'
47
+ t['permissions.delete'] = 'Veld type verwijderen'
48
+ end
49
+ end
@@ -0,0 +1,61 @@
1
+ # encoding: utf-8
2
+
3
+ Zen::Language::Translation.add do |trans|
4
+ trans.language = 'nl'
5
+ trans.name = 'custom_fields'
6
+
7
+ trans.translate do |t|
8
+ t['titles.index'] = 'Velden'
9
+ t['titles.edit'] = 'Veld aanpassen'
10
+ t['titles.new'] = 'Veld aanmaken'
11
+
12
+ t['labels.id'] = '#'
13
+ t['labels.name'] = 'Naam'
14
+ t['labels.slug'] = 'Slug'
15
+ t['labels.format'] = 'Formaat'
16
+ t['labels.description'] = 'Beschrijving'
17
+ t['labels.possible_values'] = 'Mogelijke waardes (een per regel)'
18
+ t['labels.required'] = 'Vereist een waarde'
19
+ t['labels.text_editor'] = 'Text verwerker'
20
+ t['labels.textarea_rows'] = 'Text veld rijen'
21
+ t['labels.text_limit'] = 'Karakter limiet'
22
+ t['labels.sort_order'] = 'Sorteer volgorde'
23
+ t['labels.custom_field_type_id'] = 'Veld type'
24
+
25
+ t['tabs.general'] = 'Algemeen'
26
+ t['tabs.settings'] = 'Instellingen'
27
+
28
+ t['messages.no_fields'] = 'Er konden geen velden worden gevonden.'
29
+
30
+ t['success.new'] = 'Het veld is aangemaakt.'
31
+ t['success.save'] = 'Het veld is aangepast.'
32
+ t['success.delete'] = 'Alle geselecteerde velden zijn verwijderd.'
33
+
34
+ t['errors.new'] = 'Het veld kon niet worden aangemaakt.'
35
+ t['errors.save'] = 'Het veld kon niet worden aangepast.'
36
+ t['errors.delete'] = 'Het veld met ID #%s kon niet worden verwijderd.'
37
+ t['errors.invalid_field'] = 'Het opgegeven veld is ongeldig.'
38
+ t['errors.no_delete'] = 'U moet ten minste 1 veld specificeren om ' \
39
+ 'te verwijderen.'
40
+
41
+ t['special.type_hash.textbox'] = 'Text veld'
42
+ t['special.type_hash.textarea'] = 'Text gebied'
43
+ t['special.type_hash.radio'] = 'Keuze knop (enkele waarde)'
44
+ t['special.type_hash.checkbox'] = 'Keuze knop (meerdere waardes)'
45
+ t['special.type_hash.date'] = 'Datum'
46
+ t['special.type_hash.select'] = 'Lijst (enkele waarde)'
47
+ t['special.type_hash.select_multiple'] = 'Lijst (meerdere waardes)'
48
+ t['special.type_hash.password'] = 'Wachtwoord'
49
+
50
+ t['buttons.new'] = 'Veld toevoegen'
51
+ t['buttons.delete'] = 'Geselecteerde velden verwijderen'
52
+ t['buttons.save'] = 'Veld opslaan'
53
+
54
+ t['permissions.show'] = 'Veld weergeven'
55
+ t['permissions.edit'] = 'Veld aanpassen'
56
+ t['permissions.new'] = 'Veld aanmaken'
57
+ t['permissions.delete'] = 'Veld verwijderen'
58
+
59
+ t['description'] = 'Beheer veld groepen, velden en veld types.'
60
+ end
61
+ end
@@ -1,41 +1,37 @@
1
- #:nodoc:
2
1
  module CustomFields
3
2
  #:nodoc:
4
3
  module Model
5
4
  ##
6
- # Model that represents a single custom field. This model has the following
7
- # relations:
5
+ # Model for managing retrieving custom fields.
8
6
  #
9
- # * custom field values (one to many)
10
- #
11
- # The following plugins are loaded:
12
- #
13
- # * sluggable (source: "name")
14
- #
15
- # When creating or saving a new custom field several validation rules are used.
16
- # For more information on these rules see the validate() method of this model.
17
- #
18
- # @author Yorick Peterse
19
7
  # @since 0.1
20
8
  #
21
9
  class CustomField < Sequel::Model
22
- one_to_many(
23
- :custom_field_values,
10
+ include Zen::Model::Helper
11
+
12
+ one_to_many :custom_field_values,
24
13
  :class => "CustomFields::Model::CustomFieldValue"
25
- )
26
14
 
27
- many_to_one(
28
- :custom_field_type,
15
+ many_to_one :custom_field_type,
29
16
  :class => 'CustomFields::Model::CustomFieldType',
30
- :eager => :custom_field_method
31
- )
17
+ :eager => [:custom_field_method]
32
18
 
33
19
  plugin :sluggable, :source => :name, :freeze => false
34
20
 
21
+ ##
22
+ # Searches for a set of custom fields.
23
+ #
24
+ # @since 16-10-2011
25
+ # @param [String] query The search query.
26
+ # @return [Mixed]
27
+ #
28
+ def self.search(query)
29
+ return filter(search_column(:name, query))
30
+ end
31
+
35
32
  ##
36
33
  # Validates rules used whenever the model is created or saved.
37
34
  #
38
- # @author Yorick Peterse
39
35
  # @since 0.1
40
36
  #
41
37
  def validate
@@ -46,8 +42,7 @@ module CustomFields
46
42
  :custom_field_type_id
47
43
  ])
48
44
 
49
- validates_max_length(255, [:name])
50
-
45
+ validates_max_length(255, [:name, :slug])
51
46
  validates_type(TrueClass, [:required, :text_editor])
52
47
 
53
48
  validates_integer([
@@ -1,38 +1,39 @@
1
- #:nodoc:
2
1
  module CustomFields
3
2
  #:nodoc:
4
3
  module Model
5
4
  ##
6
- # Model that represents a single custom field group. This model has
7
- # the following relations:
5
+ # Model that represents a single custom field group.
8
6
  #
9
- # * custom fields (one to many, ordered by "sort_order")
10
- # * sections (many to many)
11
- #
12
- # When creating or saving a group you are required to specify a "name" field.
13
- # This field may also be no longer than 255 characters.
14
- #
15
- # @author Yorick Peterse
16
7
  # @since 0.1
17
8
  #
18
9
  class CustomFieldGroup < Sequel::Model
19
- one_to_many(
20
- :custom_fields,
21
- :class => "CustomFields::Model::CustomField",
10
+ include Zen::Model::Helper
11
+
12
+ one_to_many :custom_fields,
13
+ :class => 'CustomFields::Model::CustomField',
22
14
  :order => :sort_order
23
- )
24
15
 
25
- many_to_many(:sections, :class => "Sections::Model::Section")
26
-
16
+ many_to_many :sections, :class => 'Sections::Model::Section'
17
+
18
+ ##
19
+ # Searches for a set of custom field groups.
20
+ #
21
+ # @since 16-10-2011
22
+ # @param [String] query The search query.
23
+ # @return [Mixed]
24
+ #
25
+ def self.search(query)
26
+ return filter(search_column(:name, query))
27
+ end
28
+
27
29
  ##
28
30
  # Validates rules used whenever the model is created or saved.
29
31
  #
30
- # @author Yorick Peterse
31
32
  # @since 0.1
32
33
  #
33
34
  def validate
34
- validates_presence :name
35
- validates_max_length 255, :name
35
+ validates_presence(:name)
36
+ validates_max_length(255, :name)
36
37
  end
37
38
  end # CustomFieldGroup
38
39
  end # Model