zen 0.1a

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 (338) hide show
  1. data/LICENSE +19 -0
  2. data/MANIFEST +337 -0
  3. data/README.textile +42 -0
  4. data/Rakefile +6 -0
  5. data/bin/zen +9 -0
  6. data/doc/Categories.html +93 -0
  7. data/doc/Categories/Controllers.html +93 -0
  8. data/doc/Categories/Controllers/Categories.html +995 -0
  9. data/doc/Categories/Controllers/CategoryGroups.html +878 -0
  10. data/doc/Categories/Models.html +97 -0
  11. data/doc/Categories/Models/Category.html +269 -0
  12. data/doc/Categories/Models/CategoryGroup.html +231 -0
  13. data/doc/Comments.html +93 -0
  14. data/doc/Comments/Controllers.html +93 -0
  15. data/doc/Comments/Controllers/Comments.html +797 -0
  16. data/doc/Comments/Controllers/CommentsForm.html +487 -0
  17. data/doc/Comments/Liquid.html +93 -0
  18. data/doc/Comments/Liquid/CommentForm.html +522 -0
  19. data/doc/Comments/Liquid/Comments.html +543 -0
  20. data/doc/Comments/Models.html +95 -0
  21. data/doc/Comments/Models/Comment.html +260 -0
  22. data/doc/CustomFields.html +93 -0
  23. data/doc/CustomFields/Controllers.html +93 -0
  24. data/doc/CustomFields/Controllers/CustomFieldGroups.html +902 -0
  25. data/doc/CustomFields/Controllers/CustomFields.html +974 -0
  26. data/doc/CustomFields/Models.html +97 -0
  27. data/doc/CustomFields/Models/CustomField.html +272 -0
  28. data/doc/CustomFields/Models/CustomFieldGroup.html +259 -0
  29. data/doc/CustomFields/Models/CustomFieldValue.html +154 -0
  30. data/doc/Ramaze.html +93 -0
  31. data/doc/Ramaze/Helper.html +93 -0
  32. data/doc/Ramaze/Helper/ACL.html +531 -0
  33. data/doc/Ramaze/Helper/Asset.html +617 -0
  34. data/doc/Ramaze/Helper/Breadcrumb.html +411 -0
  35. data/doc/Ramaze/Helper/Common.html +738 -0
  36. data/doc/Sections.html +93 -0
  37. data/doc/Sections/Controllers.html +93 -0
  38. data/doc/Sections/Controllers/SectionEntries.html +1100 -0
  39. data/doc/Sections/Controllers/Sections.html +953 -0
  40. data/doc/Sections/Liquid.html +93 -0
  41. data/doc/Sections/Liquid/SectionEntries.html +674 -0
  42. data/doc/Sections/Liquid/Sections.html +494 -0
  43. data/doc/Sections/Models.html +97 -0
  44. data/doc/Sections/Models/Section.html +272 -0
  45. data/doc/Sections/Models/SectionEntry.html +264 -0
  46. data/doc/Sequel.html +91 -0
  47. data/doc/Sequel/Model.html +243 -0
  48. data/doc/Settings.html +93 -0
  49. data/doc/Settings/Controllers.html +91 -0
  50. data/doc/Settings/Controllers/Settings.html +565 -0
  51. data/doc/Settings/Liquid.html +91 -0
  52. data/doc/Settings/Liquid/Setting.html +426 -0
  53. data/doc/Settings/Models.html +95 -0
  54. data/doc/Settings/Models/Setting.html +293 -0
  55. data/doc/Users.html +93 -0
  56. data/doc/Users/Controllers.html +93 -0
  57. data/doc/Users/Controllers/AccessRules.html +904 -0
  58. data/doc/Users/Controllers/UserGroups.html +879 -0
  59. data/doc/Users/Controllers/Users.html +1124 -0
  60. data/doc/Users/Liquid.html +93 -0
  61. data/doc/Users/Liquid/User.html +480 -0
  62. data/doc/Users/Liquid/Users.html +495 -0
  63. data/doc/Users/Models.html +97 -0
  64. data/doc/Users/Models/AccessRule.html +257 -0
  65. data/doc/Users/Models/User.html +649 -0
  66. data/doc/Users/Models/UserGroup.html +267 -0
  67. data/doc/Zen.html +391 -0
  68. data/doc/Zen/Bin.html +113 -0
  69. data/doc/Zen/Bin/Base.html +727 -0
  70. data/doc/Zen/Controllers.html +115 -0
  71. data/doc/Zen/Controllers/AdminController.html +298 -0
  72. data/doc/Zen/Controllers/BaseController.html +272 -0
  73. data/doc/Zen/Controllers/FrontendController.html +164 -0
  74. data/doc/Zen/Controllers/MainController.html +421 -0
  75. data/doc/Zen/Database.html +498 -0
  76. data/doc/Zen/Language.html +660 -0
  77. data/doc/Zen/Liquid.html +117 -0
  78. data/doc/Zen/Liquid/ControllerBehavior.html +448 -0
  79. data/doc/Zen/Liquid/General.html +444 -0
  80. data/doc/Zen/Liquid/Redirect.html +435 -0
  81. data/doc/Zen/Liquid/Strip.html +447 -0
  82. data/doc/Zen/Logger.html +393 -0
  83. data/doc/Zen/Package.html +909 -0
  84. data/doc/_index.html +724 -0
  85. data/doc/class_list.html +36 -0
  86. data/doc/css/common.css +1 -0
  87. data/doc/css/full_list.css +53 -0
  88. data/doc/css/style.css +310 -0
  89. data/doc/file.README.html +86 -0
  90. data/doc/file_list.html +38 -0
  91. data/doc/frames.html +13 -0
  92. data/doc/index.html +86 -0
  93. data/doc/js/app.js +203 -0
  94. data/doc/js/full_list.js +149 -0
  95. data/doc/js/jquery.js +154 -0
  96. data/doc/method_list.html +1139 -0
  97. data/doc/top-level-namespace.html +88 -0
  98. data/lib/zen.rb +77 -0
  99. data/lib/zen/base/database.rb +105 -0
  100. data/lib/zen/base/language.rb +132 -0
  101. data/lib/zen/base/logger.rb +54 -0
  102. data/lib/zen/base/package.rb +233 -0
  103. data/lib/zen/base/version.rb +11 -0
  104. data/lib/zen/bin/zen_binary.rb +173 -0
  105. data/lib/zen/controller/admin_controller.rb +60 -0
  106. data/lib/zen/controller/base_controller.rb +39 -0
  107. data/lib/zen/controller/frontend_controller.rb +16 -0
  108. data/lib/zen/controller/main_controller.rb +93 -0
  109. data/lib/zen/helper/acl.rb +124 -0
  110. data/lib/zen/helper/asset.rb +104 -0
  111. data/lib/zen/helper/breadcrumb.rb +71 -0
  112. data/lib/zen/helper/common.rb +157 -0
  113. data/lib/zen/language/en/zen_general.rb +21 -0
  114. data/lib/zen/language/en/zen_models.rb +39 -0
  115. data/lib/zen/layout/admin.xhtml +72 -0
  116. data/lib/zen/layout/login.xhtml +44 -0
  117. data/lib/zen/liquid/controller_behavior.rb +55 -0
  118. data/lib/zen/liquid/general.rb +69 -0
  119. data/lib/zen/liquid/redirect.rb +47 -0
  120. data/lib/zen/liquid/strip.rb +58 -0
  121. data/lib/zen/model/methods.rb +26 -0
  122. data/lib/zen/model/settings.rb +27 -0
  123. data/lib/zen/packages/categories/LICENSE +19 -0
  124. data/lib/zen/packages/categories/README.textile +0 -0
  125. data/lib/zen/packages/categories/lib/categories.rb +24 -0
  126. data/lib/zen/packages/categories/lib/categories/controller/categories.rb +202 -0
  127. data/lib/zen/packages/categories/lib/categories/controller/category_groups.rb +173 -0
  128. data/lib/zen/packages/categories/lib/categories/language/en/categories.rb +38 -0
  129. data/lib/zen/packages/categories/lib/categories/language/en/category_groups.rb +37 -0
  130. data/lib/zen/packages/categories/lib/categories/model/category.rb +42 -0
  131. data/lib/zen/packages/categories/lib/categories/model/category_group.rb +29 -0
  132. data/lib/zen/packages/categories/lib/categories/view/admin/categories/edit.xhtml +7 -0
  133. data/lib/zen/packages/categories/lib/categories/view/admin/categories/form.xhtml +36 -0
  134. data/lib/zen/packages/categories/lib/categories/view/admin/categories/index.xhtml +70 -0
  135. data/lib/zen/packages/categories/lib/categories/view/admin/categories/new.xhtml +7 -0
  136. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/edit.xhtml +7 -0
  137. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/form.xhtml +18 -0
  138. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/index.xhtml +72 -0
  139. data/lib/zen/packages/categories/lib/categories/view/admin/category_groups/new.xhtml +7 -0
  140. data/lib/zen/packages/categories/migrations/.gitkeep +0 -0
  141. data/lib/zen/packages/categories/migrations/1295282303_create_schema.rb +40 -0
  142. data/lib/zen/packages/comments/LICENSE +19 -0
  143. data/lib/zen/packages/comments/README.textile +0 -0
  144. data/lib/zen/packages/comments/lib/comments.rb +26 -0
  145. data/lib/zen/packages/comments/lib/comments/controller/comments.rb +157 -0
  146. data/lib/zen/packages/comments/lib/comments/controller/comments_form.rb +135 -0
  147. data/lib/zen/packages/comments/lib/comments/language/en/comments.rb +52 -0
  148. data/lib/zen/packages/comments/lib/comments/liquid/comment_form.rb +97 -0
  149. data/lib/zen/packages/comments/lib/comments/liquid/comments.rb +115 -0
  150. data/lib/zen/packages/comments/lib/comments/model/comment.rb +34 -0
  151. data/lib/zen/packages/comments/lib/comments/view/admin/comments/edit.xhtml +7 -0
  152. data/lib/zen/packages/comments/lib/comments/view/admin/comments/form.xhtml +31 -0
  153. data/lib/zen/packages/comments/lib/comments/view/admin/comments/index.xhtml +74 -0
  154. data/lib/zen/packages/comments/migrations/.gitkeep +0 -0
  155. data/lib/zen/packages/comments/migrations/1295282202_create_schema.rb +24 -0
  156. data/lib/zen/packages/comments/migrations/1296949631_add_defensio_signature.rb +11 -0
  157. data/lib/zen/packages/custom_fields/LICENSE +19 -0
  158. data/lib/zen/packages/custom_fields/README.textile +0 -0
  159. data/lib/zen/packages/custom_fields/lib/custom_fields.rb +24 -0
  160. data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +179 -0
  161. data/lib/zen/packages/custom_fields/lib/custom_fields/controller/custom_fields.rb +194 -0
  162. data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_field_groups.rb +45 -0
  163. data/lib/zen/packages/custom_fields/lib/custom_fields/language/en/custom_fields.rb +64 -0
  164. data/lib/zen/packages/custom_fields/lib/custom_fields/model/custom_field.rb +41 -0
  165. data/lib/zen/packages/custom_fields/lib/custom_fields/model/custom_field_group.rb +32 -0
  166. data/lib/zen/packages/custom_fields/lib/custom_fields/model/custom_field_value.rb +20 -0
  167. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/edit.xhtml +7 -0
  168. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/form.xhtml +18 -0
  169. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/index.xhtml +88 -0
  170. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_field_groups/new.xhtml +7 -0
  171. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/edit.xhtml +7 -0
  172. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/form.xhtml +50 -0
  173. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/index.xhtml +75 -0
  174. data/lib/zen/packages/custom_fields/lib/custom_fields/view/admin/custom_fields/new.xhtml +7 -0
  175. data/lib/zen/packages/custom_fields/migrations/.gitkeep +0 -0
  176. data/lib/zen/packages/custom_fields/migrations/1295255665_create_schema.rb +53 -0
  177. data/lib/zen/packages/sections/LICENSE +19 -0
  178. data/lib/zen/packages/sections/README.textile +43 -0
  179. data/lib/zen/packages/sections/lib/sections.rb +33 -0
  180. data/lib/zen/packages/sections/lib/sections/controller/section_entries.rb +251 -0
  181. data/lib/zen/packages/sections/lib/sections/controller/sections.rb +205 -0
  182. data/lib/zen/packages/sections/lib/sections/language/en/section_entries.rb +58 -0
  183. data/lib/zen/packages/sections/lib/sections/language/en/sections.rb +63 -0
  184. data/lib/zen/packages/sections/lib/sections/liquid/section_entries.rb +209 -0
  185. data/lib/zen/packages/sections/lib/sections/liquid/sections.rb +76 -0
  186. data/lib/zen/packages/sections/lib/sections/model/section.rb +43 -0
  187. data/lib/zen/packages/sections/lib/sections/model/section_entry.rb +43 -0
  188. data/lib/zen/packages/sections/lib/sections/view/admin/edit.xhtml +7 -0
  189. data/lib/zen/packages/sections/lib/sections/view/admin/form.xhtml +54 -0
  190. data/lib/zen/packages/sections/lib/sections/view/admin/index.xhtml +77 -0
  191. data/lib/zen/packages/sections/lib/sections/view/admin/new.xhtml +7 -0
  192. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/edit.xhtml +7 -0
  193. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/form.xhtml +147 -0
  194. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/index.xhtml +74 -0
  195. data/lib/zen/packages/sections/lib/sections/view/admin/section_entries/new.xhtml +7 -0
  196. data/lib/zen/packages/sections/migrations/.gitkeep +0 -0
  197. data/lib/zen/packages/sections/migrations/1295251836_create_schema.rb +35 -0
  198. data/lib/zen/packages/sections/migrations/1296335671_userdata_section_entries.rb +18 -0
  199. data/lib/zen/packages/sections/migrations/1296936110_drop_comment_antispam.rb +11 -0
  200. data/lib/zen/packages/settings/LICENSE +0 -0
  201. data/lib/zen/packages/settings/README.textile +0 -0
  202. data/lib/zen/packages/settings/lib/settings.rb +22 -0
  203. data/lib/zen/packages/settings/lib/settings/controller/settings.rb +113 -0
  204. data/lib/zen/packages/settings/lib/settings/language/en/settings.rb +56 -0
  205. data/lib/zen/packages/settings/lib/settings/liquid/setting.rb +56 -0
  206. data/lib/zen/packages/settings/lib/settings/model/setting.rb +38 -0
  207. data/lib/zen/packages/settings/lib/settings/view/admin/settings/index.xhtml +79 -0
  208. data/lib/zen/packages/settings/migrations/.gitkeep +0 -0
  209. data/lib/zen/packages/settings/migrations/1295597111_create_schema.rb +31 -0
  210. data/lib/zen/packages/users/LICENSE +19 -0
  211. data/lib/zen/packages/users/README.textile +0 -0
  212. data/lib/zen/packages/users/lib/users.rb +35 -0
  213. data/lib/zen/packages/users/lib/users/controller/access_rules.rb +186 -0
  214. data/lib/zen/packages/users/lib/users/controller/user_groups.rb +171 -0
  215. data/lib/zen/packages/users/lib/users/controller/users.rb +240 -0
  216. data/lib/zen/packages/users/lib/users/language/en/access_rules.rb +49 -0
  217. data/lib/zen/packages/users/lib/users/language/en/user_groups.rb +42 -0
  218. data/lib/zen/packages/users/lib/users/language/en/users.rb +63 -0
  219. data/lib/zen/packages/users/lib/users/liquid/user.rb +75 -0
  220. data/lib/zen/packages/users/lib/users/liquid/users.rb +80 -0
  221. data/lib/zen/packages/users/lib/users/model/access_rule.rb +29 -0
  222. data/lib/zen/packages/users/lib/users/model/user.rb +96 -0
  223. data/lib/zen/packages/users/lib/users/model/user_group.rb +38 -0
  224. data/lib/zen/packages/users/lib/users/public/admin/js/users/access_rules.js +43 -0
  225. data/lib/zen/packages/users/lib/users/view/admin/access_rules/edit.xhtml +7 -0
  226. data/lib/zen/packages/users/lib/users/view/admin/access_rules/form.xhtml +68 -0
  227. data/lib/zen/packages/users/lib/users/view/admin/access_rules/index.xhtml +85 -0
  228. data/lib/zen/packages/users/lib/users/view/admin/access_rules/new.xhtml +7 -0
  229. data/lib/zen/packages/users/lib/users/view/admin/user_groups/edit.xhtml +7 -0
  230. data/lib/zen/packages/users/lib/users/view/admin/user_groups/form.xhtml +19 -0
  231. data/lib/zen/packages/users/lib/users/view/admin/user_groups/index.xhtml +69 -0
  232. data/lib/zen/packages/users/lib/users/view/admin/user_groups/new.xhtml +7 -0
  233. data/lib/zen/packages/users/lib/users/view/admin/users/edit.xhtml +7 -0
  234. data/lib/zen/packages/users/lib/users/view/admin/users/form.xhtml +25 -0
  235. data/lib/zen/packages/users/lib/users/view/admin/users/index.xhtml +73 -0
  236. data/lib/zen/packages/users/lib/users/view/admin/users/login.xhtml +22 -0
  237. data/lib/zen/packages/users/lib/users/view/admin/users/new.xhtml +7 -0
  238. data/lib/zen/packages/users/migrations/.gitkeep +0 -0
  239. data/lib/zen/packages/users/migrations/1295281013_create_schema.rb +54 -0
  240. data/lib/zen/public/admin/css/boilerplate.css +174 -0
  241. data/lib/zen/public/admin/css/general.css +485 -0
  242. data/lib/zen/public/admin/css/grid.css +119 -0
  243. data/lib/zen/public/admin/css/layout.css +111 -0
  244. data/lib/zen/public/admin/images/general/noise.jpg +0 -0
  245. data/lib/zen/public/admin/images/icons/accept.png +0 -0
  246. data/lib/zen/public/admin/images/icons/add.png +0 -0
  247. data/lib/zen/public/admin/images/icons/back.png +0 -0
  248. data/lib/zen/public/admin/images/icons/bold.png +0 -0
  249. data/lib/zen/public/admin/images/icons/close.png +0 -0
  250. data/lib/zen/public/admin/images/icons/delete.png +0 -0
  251. data/lib/zen/public/admin/images/icons/edit.png +0 -0
  252. data/lib/zen/public/admin/images/icons/error.png +0 -0
  253. data/lib/zen/public/admin/images/icons/help.png +0 -0
  254. data/lib/zen/public/admin/images/icons/info.png +0 -0
  255. data/lib/zen/public/admin/images/icons/italic.png +0 -0
  256. data/lib/zen/public/admin/images/icons/large/error.png +0 -0
  257. data/lib/zen/public/admin/images/icons/large/notice.png +0 -0
  258. data/lib/zen/public/admin/images/icons/large/success.png +0 -0
  259. data/lib/zen/public/admin/images/icons/link.png +0 -0
  260. data/lib/zen/public/admin/images/icons/logout.png +0 -0
  261. data/lib/zen/public/admin/images/icons/ol.png +0 -0
  262. data/lib/zen/public/admin/images/icons/pdf.png +0 -0
  263. data/lib/zen/public/admin/images/icons/ul.png +0 -0
  264. data/lib/zen/public/admin/images/icons/user.png +0 -0
  265. data/lib/zen/public/admin/images/icons/view.png +0 -0
  266. data/lib/zen/public/admin/js/mootools/core.js +436 -0
  267. data/lib/zen/public/admin/js/mootools/more.js +288 -0
  268. data/lib/zen/public/admin/js/zen/editor/base.js +265 -0
  269. data/lib/zen/public/admin/js/zen/editor/drivers/html.js +104 -0
  270. data/lib/zen/public/admin/js/zen/editor/drivers/markdown.js +102 -0
  271. data/lib/zen/public/admin/js/zen/editor/drivers/textile.js +102 -0
  272. data/lib/zen/public/admin/js/zen/init.js +57 -0
  273. data/lib/zen/public/admin/js/zen/modal.js +159 -0
  274. data/lib/zen/public/admin/js/zen/notification.js +213 -0
  275. data/lib/zen/public/admin/js/zen/tabs.js +263 -0
  276. data/lib/zen/tasks.rb +6 -0
  277. data/pkg/.gitkeep +0 -0
  278. data/proto/app/Rakefile +2 -0
  279. data/proto/app/app.rb +20 -0
  280. data/proto/app/config.ru +18 -0
  281. data/proto/app/config/config.rb +17 -0
  282. data/proto/app/config/database.rb +18 -0
  283. data/proto/app/config/middlewares.rb +23 -0
  284. data/proto/app/config/requires.rb +8 -0
  285. data/proto/app/logs/.gitkeep +0 -0
  286. data/proto/app/public/.gitkeep +0 -0
  287. data/proto/app/start.rb +22 -0
  288. data/proto/app/vendor/.gitkeep +0 -0
  289. data/proto/app/vendor/themes/.gitkeep +0 -0
  290. data/proto/migration.rb +11 -0
  291. data/proto/module/LICENSE +0 -0
  292. data/proto/module/README.textile +0 -0
  293. data/proto/module/lib/module.rb +15 -0
  294. data/proto/module/lib/module/controller/controllers.rb +86 -0
  295. data/proto/module/lib/module/language/en/languages.rb +3 -0
  296. data/proto/module/lib/module/model/model.rb +12 -0
  297. data/proto/module/lib/module/view/admin/edit.xhtml +0 -0
  298. data/proto/module/lib/module/view/admin/form.xhtml +0 -0
  299. data/proto/module/lib/module/view/admin/index.xhtml +0 -0
  300. data/proto/module/lib/module/view/admin/new.xhtml +0 -0
  301. data/proto/module/migrations/.gitkeep +0 -0
  302. data/spec/javascript/css/base.css +177 -0
  303. data/spec/javascript/css/style.css +204 -0
  304. data/spec/javascript/css/typography.css +70 -0
  305. data/spec/javascript/editor/index.html +65 -0
  306. data/spec/javascript/images/close.png +0 -0
  307. data/spec/javascript/images/info.png +0 -0
  308. data/spec/javascript/js/editor.js +16 -0
  309. data/spec/javascript/js/modal.js +12 -0
  310. data/spec/javascript/js/namespace.js +2 -0
  311. data/spec/javascript/js/notification.js +43 -0
  312. data/spec/javascript/js/tabs.js +8 -0
  313. data/spec/javascript/modal/index.html +45 -0
  314. data/spec/javascript/notification/index.html +48 -0
  315. data/spec/javascript/tabs/index.html +73 -0
  316. data/spec/javascript/tabs/tab_1.html +1 -0
  317. data/spec/javascript/tabs/tab_2.html +1 -0
  318. data/spec/zen/base/language.rb +31 -0
  319. data/spec/zen/base/logger.rb +34 -0
  320. data/spec/zen/base/package.rb +47 -0
  321. data/spec/zen/config/database.rb +8 -0
  322. data/spec/zen/helper/asset.rb +26 -0
  323. data/spec/zen/helper/breadcrumb.rb +24 -0
  324. data/spec/zen/language/en/general.rb +4 -0
  325. data/spec/zen/language/nl/general.rb +4 -0
  326. data/spec/zen/liquid/general.rb +42 -0
  327. data/spec/zen/logs/.gitkeep +0 -0
  328. data/spec/zen/spec.rb +9 -0
  329. data/spec/zen/spec_database.db +0 -0
  330. data/tasks/bacon.rake +99 -0
  331. data/tasks/build.rake +72 -0
  332. data/tasks/clean.rake +18 -0
  333. data/tasks/db.rake +81 -0
  334. data/tasks/doc.rake +5 -0
  335. data/tasks/extension.rake +65 -0
  336. data/tasks/proto.rake +37 -0
  337. data/tasks/theme.rake +63 -0
  338. metadata +512 -0
@@ -0,0 +1,93 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>Module: Sections</title>
7
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="_index.html">Index (S)</a> &raquo;
27
+
28
+
29
+ <span class="title">Sections</span>
30
+
31
+
32
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
33
+ </div>
34
+
35
+ <div id="search">
36
+ <a id="class_list_link" href="#">Class List</a>
37
+ <a id="method_list_link" href="#">Method List</a>
38
+ <a id ="file_list_link" href="#">File List</a>
39
+ </div>
40
+
41
+ <div class="clear"></div>
42
+ </div>
43
+
44
+ <iframe id="search_frame"></iframe>
45
+
46
+ <div id="content"><h1>Module: Sections
47
+
48
+
49
+
50
+ </h1>
51
+
52
+ <dl class="box">
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+ <dt class="r1 last">Defined in:</dt>
62
+ <dd class="r1 last">/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/packages/sections/lib/sections/model/section.rb<span class="defines">,<br />
63
+ /Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/packages/sections/lib/sections/liquid/sections.rb,<br /> /Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/packages/sections/lib/sections/controller/sections.rb,<br /> /Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/packages/sections/lib/sections/model/section_entry.rb,<br /> /Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/packages/sections/lib/sections/liquid/section_entries.rb,<br /> /Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/packages/sections/lib/sections/controller/section_entries.rb</span>
64
+ </dd>
65
+
66
+ </dl>
67
+ <div class="clear"></div>
68
+
69
+ <h2>Defined Under Namespace</h2>
70
+ <p class="children">
71
+
72
+
73
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="Sections/Controllers.html" title="Sections::Controllers (module)">Controllers</a></span>, <span class='object_link'><a href="Sections/Liquid.html" title="Sections::Liquid (module)">Liquid</a></span>, <span class='object_link'><a href="Sections/Models.html" title="Sections::Models (module)">Models</a></span>
74
+
75
+
76
+
77
+
78
+ </p>
79
+
80
+
81
+
82
+
83
+
84
+ </div>
85
+
86
+ <div id="footer">
87
+ Generated on Sun Feb 6 21:24:01 2011 by
88
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
89
+ 0.6.4 (ruby-1.9.2).
90
+ </div>
91
+
92
+ </body>
93
+ </html>
@@ -0,0 +1,93 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>Module: Sections::Controllers</title>
7
+ <link rel="stylesheet" href="../css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="../css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '..';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="../_index.html">Index (C)</a> &raquo;
27
+ <span class='title'><span class='object_link'><a href="../Sections.html" title="Sections (module)">Sections</a></span></span>
28
+ &raquo;
29
+ <span class="title">Controllers</span>
30
+
31
+
32
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
33
+ </div>
34
+
35
+ <div id="search">
36
+ <a id="class_list_link" href="#">Class List</a>
37
+ <a id="method_list_link" href="#">Method List</a>
38
+ <a id ="file_list_link" href="#">File List</a>
39
+ </div>
40
+
41
+ <div class="clear"></div>
42
+ </div>
43
+
44
+ <iframe id="search_frame"></iframe>
45
+
46
+ <div id="content"><h1>Module: Sections::Controllers
47
+
48
+
49
+
50
+ </h1>
51
+
52
+ <dl class="box">
53
+
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+ <dt class="r1 last">Defined in:</dt>
62
+ <dd class="r1 last">/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/packages/sections/lib/sections/controller/sections.rb<span class="defines">,<br />
63
+ /Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/packages/sections/lib/sections/controller/section_entries.rb</span>
64
+ </dd>
65
+
66
+ </dl>
67
+ <div class="clear"></div>
68
+
69
+ <h2>Defined Under Namespace</h2>
70
+ <p class="children">
71
+
72
+
73
+
74
+
75
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="Controllers/SectionEntries.html" title="Sections::Controllers::SectionEntries (class)">SectionEntries</a></span>, <span class='object_link'><a href="Controllers/Sections.html" title="Sections::Controllers::Sections (class)">Sections</a></span>
76
+
77
+
78
+ </p>
79
+
80
+
81
+
82
+
83
+
84
+ </div>
85
+
86
+ <div id="footer">
87
+ Generated on Sun Feb 6 21:24:02 2011 by
88
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
89
+ 0.6.4 (ruby-1.9.2).
90
+ </div>
91
+
92
+ </body>
93
+ </html>
@@ -0,0 +1,1100 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>Class: Sections::Controllers::SectionEntries</title>
7
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '../..';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="../../_index.html">Index (S)</a> &raquo;
27
+ <span class='title'><span class='object_link'><a href="../../Sections.html" title="Sections (module)">Sections</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Controllers.html" title="Sections::Controllers (module)">Controllers</a></span></span>
28
+ &raquo;
29
+ <span class="title">SectionEntries</span>
30
+
31
+
32
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
33
+ </div>
34
+
35
+ <div id="search">
36
+ <a id="class_list_link" href="#">Class List</a>
37
+ <a id="method_list_link" href="#">Method List</a>
38
+ <a id ="file_list_link" href="#">File List</a>
39
+ </div>
40
+
41
+ <div class="clear"></div>
42
+ </div>
43
+
44
+ <iframe id="search_frame"></iframe>
45
+
46
+ <div id="content"><h1>Class: Sections::Controllers::SectionEntries
47
+
48
+
49
+
50
+ </h1>
51
+
52
+ <dl class="box">
53
+
54
+ <dt class="r1">Inherits:</dt>
55
+ <dd class="r1">
56
+ <span class="inheritName"><span class='object_link'><a href="../../Zen/Controllers/AdminController.html" title="Zen::Controllers::AdminController (class)">Zen::Controllers::AdminController</a></span></span>
57
+
58
+ <ul class="fullTree">
59
+ <li>Object</li>
60
+
61
+ <li class="next">Ramaze::Controller</li>
62
+
63
+ <li class="next"><span class='object_link'><a href="../../Zen/Controllers/BaseController.html" title="Zen::Controllers::BaseController (class)">Zen::Controllers::BaseController</a></span></li>
64
+
65
+ <li class="next"><span class='object_link'><a href="../../Zen/Controllers/AdminController.html" title="Zen::Controllers::AdminController (class)">Zen::Controllers::AdminController</a></span></li>
66
+
67
+ <li class="next">Sections::Controllers::SectionEntries</li>
68
+
69
+ </ul>
70
+ <a href="#" class="inheritanceTree">show all</a>
71
+
72
+ </dd>
73
+
74
+
75
+
76
+
77
+
78
+
79
+ <dt class="r2">Includes:</dt>
80
+ <dd class="r2"><span class='object_link'><a href="../Models.html" title="Sections::Models (module)">Models</a></span></dd>
81
+
82
+
83
+
84
+
85
+
86
+ <dt class="r1 last">Defined in:</dt>
87
+ <dd class="r1 last">/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/packages/sections/lib/sections/controller/section_entries.rb</dd>
88
+
89
+ </dl>
90
+ <div class="clear"></div>
91
+
92
+ <h2>Overview</h2><div class="docstring">
93
+ <div class="discussion">
94
+ <p>Section entries can be seen as blog entries, products, all sorts of things.
95
+ Each section belongs to a section and can&#8217;t be created without one.</p>
96
+
97
+ </div>
98
+ </div>
99
+ <div class="tags">
100
+ <h3>Author:</h3>
101
+ <ul class="author">
102
+
103
+ <li>
104
+
105
+
106
+
107
+
108
+
109
+ <div class='inline'><p>Yorick Peterse</p></div>
110
+
111
+ </li>
112
+
113
+ </ul>
114
+ <h3>Since:</h3>
115
+ <ul class="since">
116
+
117
+ <li>
118
+
119
+
120
+
121
+
122
+
123
+ <div class='inline'><p>0.1</p></div>
124
+
125
+ </li>
126
+
127
+ </ul>
128
+
129
+ </div>
130
+
131
+
132
+
133
+
134
+
135
+
136
+
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+ <h2>
147
+ Instance Method Summary
148
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
149
+ </h2>
150
+
151
+ <ul class="summary">
152
+
153
+ <li class="public ">
154
+ <span class="summary_signature">
155
+
156
+ <a href="#delete-instance_method" title="#delete (instance method)">- (Object) <strong>delete</strong> </a>
157
+
158
+
159
+
160
+ </span>
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+ <span class="summary_desc"><div class='inline'><p>Delete a set of section entries based on the supplied <span class="caps">POST</span>
170
+ field &#8220;section_entry_ids&#8221;.</p></div></span>
171
+
172
+ </li>
173
+
174
+
175
+ <li class="public ">
176
+ <span class="summary_signature">
177
+
178
+ <a href="#edit-instance_method" title="#edit (instance method)">- (Object) <strong>edit</strong>(section_id, entry_id) </a>
179
+
180
+
181
+
182
+ </span>
183
+
184
+
185
+
186
+
187
+
188
+
189
+
190
+
191
+ <span class="summary_desc"><div class='inline'><p>Show a form that lets the user edit an existing section entry.</p></div></span>
192
+
193
+ </li>
194
+
195
+
196
+ <li class="public ">
197
+ <span class="summary_signature">
198
+
199
+ <a href="#index-instance_method" title="#index (instance method)">- (Object) <strong>index</strong>(section_id) </a>
200
+
201
+
202
+
203
+ </span>
204
+
205
+
206
+
207
+
208
+
209
+
210
+
211
+
212
+ <span class="summary_desc"><div class='inline'><p>Show an overview of all entries for the current section.</p></div></span>
213
+
214
+ </li>
215
+
216
+
217
+ <li class="public ">
218
+ <span class="summary_signature">
219
+
220
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (SectionEntries) <strong>initialize</strong> </a>
221
+
222
+
223
+
224
+ </span>
225
+
226
+ <span class="note title constructor">constructor</span>
227
+
228
+
229
+
230
+
231
+
232
+
233
+
234
+
235
+ <span class="summary_desc"><div class='inline'><p>Constructor method, called upon initialization.</p></div></span>
236
+
237
+ </li>
238
+
239
+
240
+ <li class="public ">
241
+ <span class="summary_signature">
242
+
243
+ <a href="#new-instance_method" title="#new (instance method)">- (Object) <strong>new</strong>(section_id) </a>
244
+
245
+
246
+
247
+ </span>
248
+
249
+
250
+
251
+
252
+
253
+
254
+
255
+
256
+ <span class="summary_desc"><div class='inline'><p>Show a form that lets the user create a new section entry.</p></div></span>
257
+
258
+ </li>
259
+
260
+
261
+ <li class="public ">
262
+ <span class="summary_signature">
263
+
264
+ <a href="#save-instance_method" title="#save (instance method)">- (Object) <strong>save</strong> </a>
265
+
266
+
267
+
268
+ </span>
269
+
270
+
271
+
272
+
273
+
274
+
275
+
276
+
277
+ <span class="summary_desc"><div class='inline'><p>Method used for processing the form data and redirecting the user back to
278
+ the proper <span class="caps">URL</span>.</p></div></span>
279
+
280
+ </li>
281
+
282
+
283
+ </ul>
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+
295
+
296
+
297
+
298
+
299
+
300
+
301
+
302
+ <div id="constructor_details" class="method_details_list">
303
+ <h2>Constructor Details</h2>
304
+
305
+ <div class="method_details first">
306
+ <p class="signature first" id="initialize-instance_method">
307
+
308
+ - (<tt><span class='object_link'><a href="" title="Sections::Controllers::SectionEntries (class)">SectionEntries</a></span></tt>) <strong>initialize</strong>
309
+
310
+
311
+
312
+ </p><div class="docstring">
313
+ <div class="discussion">
314
+ <p>Constructor method, called upon initialization. It&#8217;s used to set the
315
+ <span class="caps">URL</span> to which forms send their data and load the language pack.</p>
316
+
317
+ </div>
318
+ </div>
319
+ <div class="tags">
320
+ <h3>Author:</h3>
321
+ <ul class="author">
322
+
323
+ <li>
324
+
325
+
326
+
327
+
328
+
329
+ <div class='inline'><p>Yorick Peterse</p></div>
330
+
331
+ </li>
332
+
333
+ </ul>
334
+ <h3>Since:</h3>
335
+ <ul class="since">
336
+
337
+ <li>
338
+
339
+
340
+
341
+
342
+
343
+ <div class='inline'><p>0.1</p></div>
344
+
345
+ </li>
346
+
347
+ </ul>
348
+
349
+ </div><table class="source_code">
350
+ <tr>
351
+ <td>
352
+ <pre class="lines">
353
+
354
+
355
+ 30
356
+ 31
357
+ 32
358
+ 33
359
+ 34
360
+ 35
361
+ 36
362
+ 37
363
+ 38
364
+ 39
365
+ 40
366
+ 41
367
+ 42
368
+ 43
369
+ 44
370
+ 45
371
+ 46
372
+ 47</pre>
373
+ </td>
374
+ <td>
375
+ <pre class="code"><span class="info file"># File '/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/packages/sections/lib/sections/controller/section_entries.rb', line 30</span>
376
+
377
+ <span class='kw'>def</span> <span class='id initialize'>initialize</span>
378
+ <span class='kw'>super</span>
379
+
380
+ <span class='ivar'>@form_save_url</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/admin/section_entries/save</span><span class='tstring_end'>'</span></span>
381
+ <span class='ivar'>@form_delete_url</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>/admin/section_entries/delete</span><span class='tstring_end'>'</span></span>
382
+ <span class='ivar'>@entries_lang</span> <span class='op'>=</span> <span class='const'>Zen</span><span class='op'>::</span><span class='const'>Language</span><span class='period'>.</span><span class='id load'>load</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>section_entries</span><span class='tstring_end'>'</span></span>
383
+ <span class='ivar'>@sections_lang</span> <span class='op'>=</span> <span class='const'>Zen</span><span class='op'>::</span><span class='const'>Language</span><span class='period'>.</span><span class='id load'>load</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>sections</span><span class='tstring_end'>'</span></span>
384
+ <span class='ivar'>@models_lang</span> <span class='op'>=</span> <span class='const'>Zen</span><span class='op'>::</span><span class='const'>Language</span><span class='period'>.</span><span class='id load'>load</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>zen_models</span><span class='tstring_end'>'</span></span>
385
+
386
+ <span class='comment'># Set the page title
387
+ </span> <span class='kw'>if</span> <span class='op'>!</span><span class='id action'>action</span><span class='period'>.</span><span class='id method'>method</span><span class='period'>.</span><span class='id nil?'>nil?</span>
388
+ <span class='id method'>method</span> <span class='op'>=</span> <span class='id action'>action</span><span class='period'>.</span><span class='id method'>method</span><span class='period'>.</span><span class='id to_sym'>to_sym</span>
389
+
390
+ <span class='kw'>if</span> <span class='ivar'>@entries_lang</span><span class='period'>.</span><span class='id titles'>titles</span><span class='period'>.</span><span class='id key?'>key?</span> <span class='id method'>method</span>
391
+ <span class='ivar'>@page_title</span> <span class='op'>=</span> <span class='ivar'>@entries_lang</span><span class='period'>.</span><span class='id titles'>titles</span><span class='lbracket'>[</span><span class='id method'>method</span><span class='rbracket'>]</span>
392
+ <span class='kw'>end</span>
393
+ <span class='kw'>end</span>
394
+ <span class='kw'>end</span></pre>
395
+ </td>
396
+ </tr>
397
+ </table>
398
+ </div>
399
+
400
+ </div>
401
+
402
+
403
+ <div id="instance_method_details" class="method_details_list">
404
+ <h2>Instance Method Details</h2>
405
+
406
+
407
+ <div class="method_details first">
408
+ <p class="signature first" id="delete-instance_method">
409
+
410
+ - (<tt>Object</tt>) <strong>delete</strong>
411
+
412
+
413
+
414
+ </p><div class="docstring">
415
+ <div class="discussion">
416
+ <p>Delete a set of section entries based on the supplied <span class="caps">POST</span>
417
+ field &#8220;section_entry_ids&#8221;.</p>
418
+
419
+ </div>
420
+ </div>
421
+ <div class="tags">
422
+ <h3>Author:</h3>
423
+ <ul class="author">
424
+
425
+ <li>
426
+
427
+
428
+
429
+
430
+
431
+ <div class='inline'><p>Yorick Peterse</p></div>
432
+
433
+ </li>
434
+
435
+ </ul>
436
+ <h3>Since:</h3>
437
+ <ul class="since">
438
+
439
+ <li>
440
+
441
+
442
+
443
+
444
+
445
+ <div class='inline'><p>0.1</p></div>
446
+
447
+ </li>
448
+
449
+ </ul>
450
+
451
+ </div><table class="source_code">
452
+ <tr>
453
+ <td>
454
+ <pre class="lines">
455
+
456
+
457
+ 226
458
+ 227
459
+ 228
460
+ 229
461
+ 230
462
+ 231
463
+ 232
464
+ 233
465
+ 234
466
+ 235
467
+ 236
468
+ 237
469
+ 238
470
+ 239
471
+ 240
472
+ 241
473
+ 242
474
+ 243
475
+ 244
476
+ 245
477
+ 246
478
+ 247
479
+ 248</pre>
480
+ </td>
481
+ <td>
482
+ <pre class="code"><span class="info file"># File '/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/packages/sections/lib/sections/controller/section_entries.rb', line 226</span>
483
+
484
+ <span class='kw'>def</span> <span class='id delete'>delete</span>
485
+ <span class='kw'>if</span> <span class='op'>!</span><span class='id user_authorized?'>user_authorized?</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='symbol'>:delete</span><span class='rbracket'>]</span><span class='rparen'>)</span>
486
+ <span class='id respond'>respond</span><span class='lparen'>(</span><span class='ivar'>@zen_general_lang</span><span class='period'>.</span><span class='id errors'>errors</span><span class='lbracket'>[</span><span class='symbol'>:not_authorized</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='int'>403</span><span class='rparen'>)</span>
487
+ <span class='kw'>end</span>
488
+
489
+ <span class='kw'>if</span> <span class='op'>!</span><span class='id request'>request</span><span class='period'>.</span><span class='id params'>params</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>section_entry_ids</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='kw'>or</span> <span class='id request'>request</span><span class='period'>.</span><span class='id params'>params</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>section_entry_ids</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id empty?'>empty?</span>
490
+ <span class='id notification'>notification</span><span class='lparen'>(</span><span class='symbol'>:error</span><span class='comma'>,</span> <span class='ivar'>@entries_lang</span><span class='period'>.</span><span class='id titles'>titles</span><span class='lbracket'>[</span><span class='symbol'>:index</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='ivar'>@entries_lang</span><span class='period'>.</span><span class='id errors'>errors</span><span class='lbracket'>[</span><span class='symbol'>:no_delete</span><span class='rbracket'>]</span><span class='rparen'>)</span>
491
+ <span class='id redirect_referrer'>redirect_referrer</span>
492
+ <span class='kw'>end</span>
493
+
494
+ <span class='id request'>request</span><span class='period'>.</span><span class='id params'>params</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>section_entry_ids</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id id'>id</span><span class='op'>|</span>
495
+ <span class='ivar'>@entry</span> <span class='op'>=</span> <span class='const'>SectionEntry</span><span class='lbracket'>[</span><span class='id id'>id</span><span class='rbracket'>]</span>
496
+
497
+ <span class='kw'>begin</span>
498
+ <span class='ivar'>@entry</span><span class='period'>.</span><span class='id delete'>delete</span>
499
+ <span class='id notification'>notification</span><span class='lparen'>(</span><span class='symbol'>:success</span><span class='comma'>,</span> <span class='ivar'>@entries_lang</span><span class='period'>.</span><span class='id titles'>titles</span><span class='lbracket'>[</span><span class='symbol'>:index</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='ivar'>@entries_lang</span><span class='period'>.</span><span class='id success'>success</span><span class='lbracket'>[</span><span class='symbol'>:delete</span><span class='rbracket'>]</span> <span class='op'>%</span> <span class='id id'>id</span><span class='rparen'>)</span>
500
+ <span class='kw'>rescue</span>
501
+ <span class='id notification'>notification</span><span class='lparen'>(</span><span class='symbol'>:error</span><span class='comma'>,</span> <span class='ivar'>@entries_lang</span><span class='period'>.</span><span class='id titles'>titles</span><span class='lbracket'>[</span><span class='symbol'>:index</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='ivar'>@entries_lang</span><span class='period'>.</span><span class='id errors'>errors</span><span class='lbracket'>[</span><span class='symbol'>:delete</span><span class='rbracket'>]</span> <span class='op'>%</span> <span class='id id'>id</span><span class='rparen'>)</span>
502
+ <span class='kw'>end</span>
503
+ <span class='kw'>end</span>
504
+
505
+ <span class='id redirect_referrer'>redirect_referrer</span>
506
+ <span class='kw'>end</span></pre>
507
+ </td>
508
+ </tr>
509
+ </table>
510
+ </div>
511
+
512
+ <div class="method_details ">
513
+ <p class="signature " id="edit-instance_method">
514
+
515
+ - (<tt>Object</tt>) <strong>edit</strong>(section_id, entry_id)
516
+
517
+
518
+
519
+ </p><div class="docstring">
520
+ <div class="discussion">
521
+ <p>Show a form that lets the user edit an existing section entry.</p>
522
+
523
+ </div>
524
+ </div>
525
+ <div class="tags">
526
+ <h3>Parameters:</h3>
527
+ <ul class="param">
528
+
529
+ <li>
530
+
531
+ <span class='type'>(<tt>Integer</tt>)</span>
532
+
533
+
534
+ <span class='name'>section_id</span>
535
+
536
+
537
+
538
+ &mdash;
539
+ <div class='inline'><p>The ID of the current section.</p></div>
540
+
541
+ </li>
542
+
543
+ <li>
544
+
545
+ <span class='type'>(<tt>Integer</tt>)</span>
546
+
547
+
548
+ <span class='name'>entry_id</span>
549
+
550
+
551
+
552
+ &mdash;
553
+ <div class='inline'><p>The ID of the current section entry.</p></div>
554
+
555
+ </li>
556
+
557
+ </ul>
558
+ <h3>Author:</h3>
559
+ <ul class="author">
560
+
561
+ <li>
562
+
563
+
564
+
565
+
566
+
567
+ <div class='inline'><p>Yorick Peterse</p></div>
568
+
569
+ </li>
570
+
571
+ </ul>
572
+ <h3>Since:</h3>
573
+ <ul class="since">
574
+
575
+ <li>
576
+
577
+
578
+
579
+
580
+
581
+ <div class='inline'><p>0.1</p></div>
582
+
583
+ </li>
584
+
585
+ </ul>
586
+
587
+ </div><table class="source_code">
588
+ <tr>
589
+ <td>
590
+ <pre class="lines">
591
+
592
+
593
+ 77
594
+ 78
595
+ 79
596
+ 80
597
+ 81
598
+ 82
599
+ 83
600
+ 84
601
+ 85
602
+ 86
603
+ 87
604
+ 88
605
+ 89
606
+ 90
607
+ 91
608
+ 92
609
+ 93</pre>
610
+ </td>
611
+ <td>
612
+ <pre class="code"><span class="info file"># File '/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/packages/sections/lib/sections/controller/section_entries.rb', line 77</span>
613
+
614
+ <span class='kw'>def</span> <span class='id edit'>edit</span> <span class='id section_id'>section_id</span><span class='comma'>,</span> <span class='id entry_id'>entry_id</span>
615
+ <span class='kw'>if</span> <span class='op'>!</span><span class='id user_authorized?'>user_authorized?</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='symbol'>:read</span><span class='comma'>,</span> <span class='symbol'>:update</span><span class='rbracket'>]</span><span class='rparen'>)</span>
616
+ <span class='id respond'>respond</span><span class='lparen'>(</span><span class='ivar'>@zen_general_lang</span><span class='period'>.</span><span class='id errors'>errors</span><span class='lbracket'>[</span><span class='symbol'>:not_authorized</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='int'>403</span><span class='rparen'>)</span>
617
+ <span class='kw'>end</span>
618
+
619
+ <span class='id set_breadcrumbs'>set_breadcrumbs</span> <span class='id anchor_to'>anchor_to</span><span class='lparen'>(</span><span class='ivar'>@sections_lang</span><span class='period'>.</span><span class='id titles'>titles</span><span class='lbracket'>[</span><span class='symbol'>:index</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>admin</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='comma'>,</span>
620
+ <span class='id anchor_to'>anchor_to</span><span class='lparen'>(</span><span class='ivar'>@entries_lang</span><span class='period'>.</span><span class='id titles'>titles</span><span class='lbracket'>[</span><span class='symbol'>:index</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>admin/section_entries/index/</span><span class='embexpr_beg'>#{</span><span class='id section_id'>section_id</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='comma'>,</span>
621
+ <span class='ivar'>@entries_lang</span><span class='period'>.</span><span class='id titles'>titles</span><span class='lbracket'>[</span><span class='symbol'>:edit</span><span class='rbracket'>]</span>
622
+
623
+ <span class='ivar'>@section_id</span> <span class='op'>=</span> <span class='id section_id'>section_id</span>
624
+ <span class='ivar'>@entry</span> <span class='op'>=</span> <span class='const'>SectionEntry</span><span class='lbracket'>[</span><span class='id entry_id'>entry_id</span><span class='rbracket'>]</span>
625
+ <span class='ivar'>@users_hash</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
626
+
627
+ <span class='const'>Users</span><span class='op'>::</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>User</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id u'>u</span><span class='op'>|</span>
628
+ <span class='ivar'>@users_hash</span><span class='lbracket'>[</span><span class='id u'>u</span><span class='period'>.</span><span class='id id'>id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id u'>u</span><span class='period'>.</span><span class='id name'>name</span>
629
+ <span class='kw'>end</span>
630
+ <span class='kw'>end</span></pre>
631
+ </td>
632
+ </tr>
633
+ </table>
634
+ </div>
635
+
636
+ <div class="method_details ">
637
+ <p class="signature " id="index-instance_method">
638
+
639
+ - (<tt>Object</tt>) <strong>index</strong>(section_id)
640
+
641
+
642
+
643
+ </p><div class="docstring">
644
+ <div class="discussion">
645
+ <p>Show an overview of all entries for the current section</p>
646
+
647
+ </div>
648
+ </div>
649
+ <div class="tags">
650
+ <h3>Parameters:</h3>
651
+ <ul class="param">
652
+
653
+ <li>
654
+
655
+ <span class='type'>(<tt>Integer</tt>)</span>
656
+
657
+
658
+ <span class='name'>section_id</span>
659
+
660
+
661
+
662
+ &mdash;
663
+ <div class='inline'><p>The ID of the current section.</p></div>
664
+
665
+ </li>
666
+
667
+ </ul>
668
+ <h3>Author:</h3>
669
+ <ul class="author">
670
+
671
+ <li>
672
+
673
+
674
+
675
+
676
+
677
+ <div class='inline'><p>Yorick Peterse</p></div>
678
+
679
+ </li>
680
+
681
+ </ul>
682
+ <h3>Since:</h3>
683
+ <ul class="since">
684
+
685
+ <li>
686
+
687
+
688
+
689
+
690
+
691
+ <div class='inline'><p>0.1</p></div>
692
+
693
+ </li>
694
+
695
+ </ul>
696
+
697
+ </div><table class="source_code">
698
+ <tr>
699
+ <td>
700
+ <pre class="lines">
701
+
702
+
703
+ 56
704
+ 57
705
+ 58
706
+ 59
707
+ 60
708
+ 61
709
+ 62
710
+ 63
711
+ 64
712
+ 65
713
+ 66
714
+ 67</pre>
715
+ </td>
716
+ <td>
717
+ <pre class="code"><span class="info file"># File '/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/packages/sections/lib/sections/controller/section_entries.rb', line 56</span>
718
+
719
+ <span class='kw'>def</span> <span class='id index'>index</span> <span class='id section_id'>section_id</span>
720
+ <span class='kw'>if</span> <span class='op'>!</span><span class='id user_authorized?'>user_authorized?</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='symbol'>:read</span><span class='rbracket'>]</span><span class='rparen'>)</span>
721
+ <span class='id respond'>respond</span><span class='lparen'>(</span><span class='ivar'>@zen_general_lang</span><span class='period'>.</span><span class='id errors'>errors</span><span class='lbracket'>[</span><span class='symbol'>:not_authorized</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='int'>403</span><span class='rparen'>)</span>
722
+ <span class='kw'>end</span>
723
+
724
+ <span class='id set_breadcrumbs'>set_breadcrumbs</span> <span class='id anchor_to'>anchor_to</span><span class='lparen'>(</span><span class='ivar'>@sections_lang</span><span class='period'>.</span><span class='id titles'>titles</span><span class='lbracket'>[</span><span class='symbol'>:index</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>admin</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='comma'>,</span>
725
+ <span class='ivar'>@entries_lang</span><span class='period'>.</span><span class='id titles'>titles</span><span class='lbracket'>[</span><span class='symbol'>:index</span><span class='rbracket'>]</span>
726
+
727
+ <span class='id section'>section</span> <span class='op'>=</span> <span class='const'>Section</span><span class='lbracket'>[</span><span class='id section_id'>section_id</span><span class='rbracket'>]</span>
728
+ <span class='ivar'>@section_id</span> <span class='op'>=</span> <span class='id section_id'>section_id</span>
729
+ <span class='ivar'>@entries</span> <span class='op'>=</span> <span class='id section'>section</span><span class='period'>.</span><span class='id section_entries'>section_entries</span>
730
+ <span class='kw'>end</span></pre>
731
+ </td>
732
+ </tr>
733
+ </table>
734
+ </div>
735
+
736
+ <div class="method_details ">
737
+ <p class="signature " id="new-instance_method">
738
+
739
+ - (<tt>Object</tt>) <strong>new</strong>(section_id)
740
+
741
+
742
+
743
+ </p><div class="docstring">
744
+ <div class="discussion">
745
+ <p>Show a form that lets the user create a new section entry.</p>
746
+
747
+ </div>
748
+ </div>
749
+ <div class="tags">
750
+ <h3>Parameters:</h3>
751
+ <ul class="param">
752
+
753
+ <li>
754
+
755
+ <span class='type'>(<tt>Integer</tt>)</span>
756
+
757
+
758
+ <span class='name'>section_id</span>
759
+
760
+
761
+
762
+ &mdash;
763
+ <div class='inline'><p>The ID of the current section.</p></div>
764
+
765
+ </li>
766
+
767
+ </ul>
768
+ <h3>Author:</h3>
769
+ <ul class="author">
770
+
771
+ <li>
772
+
773
+
774
+
775
+
776
+
777
+ <div class='inline'><p>Yorick Peterse</p></div>
778
+
779
+ </li>
780
+
781
+ </ul>
782
+ <h3>Since:</h3>
783
+ <ul class="since">
784
+
785
+ <li>
786
+
787
+
788
+
789
+
790
+
791
+ <div class='inline'><p>0.1</p></div>
792
+
793
+ </li>
794
+
795
+ </ul>
796
+
797
+ </div><table class="source_code">
798
+ <tr>
799
+ <td>
800
+ <pre class="lines">
801
+
802
+
803
+ 102
804
+ 103
805
+ 104
806
+ 105
807
+ 106
808
+ 107
809
+ 108
810
+ 109
811
+ 110
812
+ 111
813
+ 112
814
+ 113
815
+ 114
816
+ 115
817
+ 116
818
+ 117
819
+ 118</pre>
820
+ </td>
821
+ <td>
822
+ <pre class="code"><span class="info file"># File '/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/packages/sections/lib/sections/controller/section_entries.rb', line 102</span>
823
+
824
+ <span class='kw'>def</span> <span class='id new'>new</span> <span class='id section_id'>section_id</span>
825
+ <span class='kw'>if</span> <span class='op'>!</span><span class='id user_authorized?'>user_authorized?</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='symbol'>:read</span><span class='comma'>,</span> <span class='symbol'>:create</span><span class='rbracket'>]</span><span class='rparen'>)</span>
826
+ <span class='id respond'>respond</span><span class='lparen'>(</span><span class='ivar'>@zen_general_lang</span><span class='period'>.</span><span class='id errors'>errors</span><span class='lbracket'>[</span><span class='symbol'>:not_authorized</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='int'>403</span><span class='rparen'>)</span>
827
+ <span class='kw'>end</span>
828
+
829
+ <span class='id set_breadcrumbs'>set_breadcrumbs</span> <span class='id anchor_to'>anchor_to</span><span class='lparen'>(</span><span class='ivar'>@sections_lang</span><span class='period'>.</span><span class='id titles'>titles</span><span class='lbracket'>[</span><span class='symbol'>:index</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>admin</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='comma'>,</span>
830
+ <span class='id anchor_to'>anchor_to</span><span class='lparen'>(</span><span class='ivar'>@entries_lang</span><span class='period'>.</span><span class='id titles'>titles</span><span class='lbracket'>[</span><span class='symbol'>:index</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>admin/section_entries/index/</span><span class='embexpr_beg'>#{</span><span class='id section_id'>section_id</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span><span class='comma'>,</span>
831
+ <span class='ivar'>@entries_lang</span><span class='period'>.</span><span class='id titles'>titles</span><span class='lbracket'>[</span><span class='symbol'>:new</span><span class='rbracket'>]</span>
832
+
833
+ <span class='ivar'>@section_id</span> <span class='op'>=</span> <span class='id section_id'>section_id</span>
834
+ <span class='ivar'>@entry</span> <span class='op'>=</span> <span class='const'>SectionEntry</span><span class='period'>.</span><span class='id new'>new</span> <span class='symbol'>:section_id</span> <span class='op'>=&gt;</span> <span class='ivar'>@section_id</span>
835
+ <span class='ivar'>@users_hash</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
836
+
837
+ <span class='const'>Users</span><span class='op'>::</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>User</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id u'>u</span><span class='op'>|</span>
838
+ <span class='ivar'>@users_hash</span><span class='lbracket'>[</span><span class='id u'>u</span><span class='period'>.</span><span class='id id'>id</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='id u'>u</span><span class='period'>.</span><span class='id name'>name</span>
839
+ <span class='kw'>end</span>
840
+ <span class='kw'>end</span></pre>
841
+ </td>
842
+ </tr>
843
+ </table>
844
+ </div>
845
+
846
+ <div class="method_details ">
847
+ <p class="signature " id="save-instance_method">
848
+
849
+ - (<tt>Object</tt>) <strong>save</strong>
850
+
851
+
852
+
853
+ </p><div class="docstring">
854
+ <div class="discussion">
855
+
856
+ <div class="note todo">
857
+ <strong>TODO:</strong>
858
+ <div class='inline'><p>The way this method handles the creation of field values might require some</p></div>
859
+ </div>
860
+
861
+ <p>Method used for processing the form data and redirecting the user back to
862
+ the proper <span class="caps">URL</span>. Based on the value of a hidden field named &#8220;id&#8221; we&#8217;ll determine
863
+ if the data will be used to create a new section or to update an existing one.</p>
864
+ <p>patches as it executes quite a few queries. I&#8217;ll keep it as it is for now.</p>
865
+
866
+ </div>
867
+ </div>
868
+ <div class="tags">
869
+ <h3>Author:</h3>
870
+ <ul class="author">
871
+
872
+ <li>
873
+
874
+
875
+
876
+
877
+
878
+ <div class='inline'><p>Yorick Peterse</p></div>
879
+
880
+ </li>
881
+
882
+ </ul>
883
+ <h3>Since:</h3>
884
+ <ul class="since">
885
+
886
+ <li>
887
+
888
+
889
+
890
+
891
+
892
+ <div class='inline'><p>0.1</p></div>
893
+
894
+ </li>
895
+
896
+ </ul>
897
+
898
+ </div><table class="source_code">
899
+ <tr>
900
+ <td>
901
+ <pre class="lines">
902
+
903
+
904
+ 130
905
+ 131
906
+ 132
907
+ 133
908
+ 134
909
+ 135
910
+ 136
911
+ 137
912
+ 138
913
+ 139
914
+ 140
915
+ 141
916
+ 142
917
+ 143
918
+ 144
919
+ 145
920
+ 146
921
+ 147
922
+ 148
923
+ 149
924
+ 150
925
+ 151
926
+ 152
927
+ 153
928
+ 154
929
+ 155
930
+ 156
931
+ 157
932
+ 158
933
+ 159
934
+ 160
935
+ 161
936
+ 162
937
+ 163
938
+ 164
939
+ 165
940
+ 166
941
+ 167
942
+ 168
943
+ 169
944
+ 170
945
+ 171
946
+ 172
947
+ 173
948
+ 174
949
+ 175
950
+ 176
951
+ 177
952
+ 178
953
+ 179
954
+ 180
955
+ 181
956
+ 182
957
+ 183
958
+ 184
959
+ 185
960
+ 186
961
+ 187
962
+ 188
963
+ 189
964
+ 190
965
+ 191
966
+ 192
967
+ 193
968
+ 194
969
+ 195
970
+ 196
971
+ 197
972
+ 198
973
+ 199
974
+ 200
975
+ 201
976
+ 202
977
+ 203
978
+ 204
979
+ 205
980
+ 206
981
+ 207
982
+ 208
983
+ 209
984
+ 210
985
+ 211
986
+ 212
987
+ 213
988
+ 214
989
+ 215
990
+ 216
991
+ 217</pre>
992
+ </td>
993
+ <td>
994
+ <pre class="code"><span class="info file"># File '/Applications/MAMP/htdocs/ruby/zen/zen/lib/zen/packages/sections/lib/sections/controller/section_entries.rb', line 130</span>
995
+
996
+ <span class='kw'>def</span> <span class='id save'>save</span>
997
+ <span class='kw'>if</span> <span class='op'>!</span><span class='id user_authorized?'>user_authorized?</span><span class='lparen'>(</span><span class='lbracket'>[</span><span class='symbol'>:create</span><span class='comma'>,</span> <span class='symbol'>:save</span><span class='rbracket'>]</span><span class='rparen'>)</span>
998
+ <span class='id respond'>respond</span><span class='lparen'>(</span><span class='ivar'>@zen_general_lang</span><span class='period'>.</span><span class='id errors'>errors</span><span class='lbracket'>[</span><span class='symbol'>:not_authorized</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='int'>403</span><span class='rparen'>)</span>
999
+ <span class='kw'>end</span>
1000
+
1001
+ <span class='id post'>post</span> <span class='op'>=</span> <span class='id request'>request</span><span class='period'>.</span><span class='id params'>params</span><span class='period'>.</span><span class='id dup'>dup</span>
1002
+ <span class='id section_id'>section_id</span> <span class='op'>=</span> <span class='id post'>post</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>section_id</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
1003
+ <span class='id field_values'>field_values</span> <span class='op'>=</span> <span class='id post'>post</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>custom_field_values</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
1004
+ <span class='id custom_field_errors'>custom_field_errors</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1005
+
1006
+ <span class='id post'>post</span><span class='period'>.</span><span class='id delete'>delete</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>custom_field_values</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
1007
+
1008
+ <span class='id post'>post</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id key'>key</span><span class='comma'>,</span> <span class='id value'>value</span><span class='op'>|</span>
1009
+ <span class='id post'>post</span><span class='period'>.</span><span class='id delete'>delete</span><span class='lparen'>(</span><span class='id key'>key</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id value'>value</span><span class='period'>.</span><span class='id empty?'>empty?</span>
1010
+ <span class='kw'>end</span>
1011
+
1012
+ <span class='kw'>if</span> <span class='op'>!</span><span class='id post'>post</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>category_pks</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id nil?'>nil?</span>
1013
+ <span class='id post'>post</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>category_pks</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id map!'>map!</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id value'>value</span><span class='op'>|</span> <span class='id value'>value</span><span class='period'>.</span><span class='id to_i'>to_i</span> <span class='rbrace'>}</span>
1014
+ <span class='kw'>else</span>
1015
+ <span class='id post'>post</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>category_pks</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
1016
+ <span class='kw'>end</span>
1017
+
1018
+ <span class='kw'>if</span> <span class='id post'>post</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>id</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='kw'>and</span> <span class='op'>!</span><span class='id post'>post</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>id</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id empty?'>empty?</span>
1019
+ <span class='ivar'>@entry</span> <span class='op'>=</span> <span class='const'>SectionEntry</span><span class='lbracket'>[</span><span class='id post'>post</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>id</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span><span class='rbracket'>]</span>
1020
+ <span class='id save_action'>save_action</span> <span class='op'>=</span> <span class='symbol'>:save</span>
1021
+
1022
+ <span class='comment'># Section entries aren't considered to be updated whenever a custom field value
1023
+ </span> <span class='comment'># is modified, this solves that problem
1024
+ </span> <span class='id post'>post</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>updated_at</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>Time</span><span class='period'>.</span><span class='id new'>new</span>
1025
+ <span class='kw'>else</span>
1026
+ <span class='ivar'>@entry</span> <span class='op'>=</span> <span class='const'>SectionEntry</span><span class='period'>.</span><span class='id new'>new</span>
1027
+ <span class='id save_action'>save_action</span> <span class='op'>=</span> <span class='symbol'>:new</span>
1028
+ <span class='kw'>end</span>
1029
+
1030
+ <span class='id flash_success'>flash_success</span> <span class='op'>=</span> <span class='ivar'>@entries_lang</span><span class='period'>.</span><span class='id success'>success</span><span class='lbracket'>[</span><span class='id save_action'>save_action</span><span class='rbracket'>]</span>
1031
+ <span class='id flash_error'>flash_error</span> <span class='op'>=</span> <span class='ivar'>@entries_lang</span><span class='period'>.</span><span class='id errors'>errors</span><span class='lbracket'>[</span><span class='id save_action'>save_action</span><span class='rbracket'>]</span>
1032
+
1033
+ <span class='comment'># Transactions ahoy!
1034
+ </span> <span class='kw'>begin</span>
1035
+ <span class='const'>Zen</span><span class='op'>::</span><span class='const'>Database</span><span class='period'>.</span><span class='id handle'>handle</span><span class='period'>.</span><span class='id transaction'>transaction</span> <span class='kw'>do</span>
1036
+ <span class='comment'># Update the entry itself
1037
+ </span> <span class='ivar'>@entry</span><span class='period'>.</span><span class='id update'>update</span><span class='lparen'>(</span><span class='id post'>post</span><span class='rparen'>)</span>
1038
+ <span class='id notification'>notification</span><span class='lparen'>(</span><span class='symbol'>:success</span><span class='comma'>,</span> <span class='ivar'>@entries_lang</span><span class='period'>.</span><span class='id titles'>titles</span><span class='lbracket'>[</span><span class='symbol'>:index</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id flash_success'>flash_success</span><span class='rparen'>)</span>
1039
+
1040
+ <span class='comment'># Update the field values
1041
+ </span> <span class='id field_values'>field_values</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id field_id'>field_id</span><span class='comma'>,</span> <span class='id value'>value</span><span class='op'>|</span>
1042
+ <span class='id field_value'>field_value</span> <span class='op'>=</span> <span class='const'>CustomFields</span><span class='op'>::</span><span class='const'>Models</span><span class='op'>::</span><span class='const'>CustomFieldValue</span><span class='lbracket'>[</span><span class='symbol'>:custom_field_id</span> <span class='op'>=&gt;</span> <span class='id field_id'>field_id</span><span class='comma'>,</span> <span class='symbol'>:section_entry_id</span> <span class='op'>=&gt;</span> <span class='ivar'>@entry</span><span class='period'>.</span><span class='id id'>id</span><span class='rbracket'>]</span>
1043
+
1044
+ <span class='kw'>if</span> <span class='id field_value'>field_value</span><span class='period'>.</span><span class='id nil?'>nil?</span>
1045
+ <span class='id field_value'>field_value</span> <span class='op'>=</span> <span class='ivar'>@entry</span><span class='period'>.</span><span class='id add_custom_field_value'>add_custom_field_value</span><span class='lparen'>(</span><span class='symbol'>:section_entry_id</span> <span class='op'>=&gt;</span> <span class='ivar'>@entry</span><span class='period'>.</span><span class='id id'>id</span><span class='comma'>,</span> <span class='symbol'>:custom_field_id</span> <span class='op'>=&gt;</span> <span class='id field_id'>field_id</span><span class='rparen'>)</span>
1046
+ <span class='kw'>end</span>
1047
+
1048
+ <span class='comment'># Get the custom field for the current value
1049
+ </span> <span class='id custom_field'>custom_field</span> <span class='op'>=</span> <span class='id field_value'>field_value</span><span class='period'>.</span><span class='id custom_field'>custom_field</span>
1050
+
1051
+ <span class='kw'>if</span> <span class='id custom_field'>custom_field</span><span class='period'>.</span><span class='id required'>required</span> <span class='kw'>and</span> <span class='id value'>value</span><span class='period'>.</span><span class='id empty?'>empty?</span>
1052
+ <span class='id custom_field_errors'>custom_field_errors</span><span class='lbracket'>[</span><span class='symbol'>:custom_field_values[</span><span class='embexpr_beg'>#{</span><span class='id field_id'>field_id</span><span class='rbrace'>}</span><span class='tstring_content'>]</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='ivar'>@models_lang</span><span class='period'>.</span><span class='id presence'>presence</span>
1053
+ <span class='kw'>end</span>
1054
+
1055
+ <span class='comment'># Validate the entry
1056
+ </span> <span class='kw'>if</span> <span class='op'>!</span><span class='id custom_field_errors'>custom_field_errors</span><span class='period'>.</span><span class='id empty?'>empty?</span>
1057
+ <span class='comment'># No need for a particular exception as Sequel will undo the changes anyway
1058
+ </span> <span class='id raise'>raise</span>
1059
+ <span class='kw'>end</span>
1060
+
1061
+ <span class='id field_value'>field_value</span><span class='period'>.</span><span class='id value'>value</span> <span class='op'>=</span> <span class='id value'>value</span>
1062
+ <span class='id field_value'>field_value</span><span class='period'>.</span><span class='id save'>save</span>
1063
+ <span class='kw'>end</span>
1064
+ <span class='kw'>end</span>
1065
+
1066
+ <span class='comment'># The rescue statement is called whenever the following happens:
1067
+ </span> <span class='comment'>#
1068
+ </span> <span class='comment'># 1. The fields for the section entry (title, slug, etc) are invalid
1069
+ </span> <span class='comment'># 2. Any custom field marked as required didn't have a value
1070
+ </span> <span class='comment'># 3. Something else went wrong, god knows what.
1071
+ </span> <span class='kw'>rescue</span>
1072
+ <span class='id notification'>notification</span><span class='lparen'>(</span><span class='symbol'>:error</span><span class='comma'>,</span> <span class='ivar'>@entries_lang</span><span class='period'>.</span><span class='id titles'>titles</span><span class='lbracket'>[</span><span class='symbol'>:index</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id flash_error'>flash_error</span><span class='rparen'>)</span>
1073
+
1074
+ <span class='id flash'>flash</span><span class='lbracket'>[</span><span class='symbol'>:form_errors</span><span class='rbracket'>]</span> <span class='op'>=</span> <span class='ivar'>@entry</span><span class='period'>.</span><span class='id errors'>errors</span><span class='period'>.</span><span class='id merge'>merge</span><span class='lparen'>(</span><span class='id custom_field_errors'>custom_field_errors</span><span class='rparen'>)</span>
1075
+ <span class='id redirect_referrer'>redirect_referrer</span>
1076
+ <span class='kw'>end</span>
1077
+
1078
+ <span class='kw'>if</span> <span class='ivar'>@entry</span><span class='period'>.</span><span class='id id'>id</span>
1079
+ <span class='id redirect'>redirect</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/admin/section_entries/edit/</span><span class='embexpr_beg'>#{</span><span class='id section_id'>section_id</span><span class='rbrace'>}</span><span class='tstring_content'>/</span><span class='embexpr_beg'>#{</span><span class='ivar'>@entry</span><span class='period'>.</span><span class='id id'>id</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
1080
+ <span class='kw'>else</span>
1081
+ <span class='id redirect_referrer'>redirect_referrer</span>
1082
+ <span class='kw'>end</span>
1083
+ <span class='kw'>end</span></pre>
1084
+ </td>
1085
+ </tr>
1086
+ </table>
1087
+ </div>
1088
+
1089
+ </div>
1090
+
1091
+ </div>
1092
+
1093
+ <div id="footer">
1094
+ Generated on Sun Feb 6 21:24:02 2011 by
1095
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1096
+ 0.6.4 (ruby-1.9.2).
1097
+ </div>
1098
+
1099
+ </body>
1100
+ </html>