zen 0.1a

Sign up to get free protection for your applications and to get access to all the features.
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>