zen 0.2.8 → 0.3b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/.gems +20 -0
- data/.mailmap +3 -2
- data/.rvmrc +1 -1
- data/.travis.yml +13 -2
- data/.yardopts +13 -0
- data/AUTHORS +1 -1
- data/README.md +115 -77
- data/Rakefile +6 -7
- data/bin/zen +12 -5
- data/guide/_static/categories/categories.png +0 -0
- data/guide/_static/categories/category_groups.png +0 -0
- data/guide/_static/categories/new_category.png +0 -0
- data/guide/_static/categories/new_category_group.png +0 -0
- data/guide/_static/comments/comments.png +0 -0
- data/guide/_static/comments/edit_comment.png +0 -0
- data/guide/_static/custom_fields/custom_field_groups.png +0 -0
- data/guide/_static/custom_fields/custom_field_types.png +0 -0
- data/guide/_static/custom_fields/custom_fields.png +0 -0
- data/guide/_static/custom_fields/edit_custom_field_general.png +0 -0
- data/guide/_static/custom_fields/edit_custom_field_group.png +0 -0
- data/guide/_static/custom_fields/edit_custom_field_settings.png +0 -0
- data/guide/_static/custom_fields/edit_custom_field_type.png +0 -0
- data/guide/_static/menus/edit_menu.png +0 -0
- data/guide/_static/menus/edit_menu_item.png +0 -0
- data/guide/_static/menus/menu_items.png +0 -0
- data/guide/_static/menus/menus.png +0 -0
- data/guide/_static/sections/edit_entry.png +0 -0
- data/guide/_static/sections/edit_entry_categories.png +0 -0
- data/guide/_static/sections/edit_entry_general.png +0 -0
- data/guide/_static/sections/edit_entry_meta.png +0 -0
- data/guide/_static/sections/edit_section_comments.png +0 -0
- data/guide/_static/sections/edit_section_general.png +0 -0
- data/guide/_static/sections/edit_section_groups.png +0 -0
- data/guide/_static/sections/entries.png +0 -0
- data/guide/_static/sections/sections.png +0 -0
- data/guide/_static/settings/overview_general.png +0 -0
- data/guide/_static/settings/overview_security.png +0 -0
- data/guide/_static/settings/overview_user.png +0 -0
- data/guide/_static/users/edit_user.png +0 -0
- data/guide/_static/users/edit_user_group.png +0 -0
- data/guide/_static/users/edit_user_group_permissions.png +0 -0
- data/guide/_static/users/edit_user_permissions.png +0 -0
- data/guide/_static/users/overview.png +0 -0
- data/guide/_static/users/user_groups_overview.png +0 -0
- data/guide/asset_management.md +117 -0
- data/{CHANGELOG.md → guide/changelog.md} +42 -0
- data/guide/css/common.css +20 -0
- data/guide/getting_started.md +61 -0
- data/guide/hacking.md +52 -0
- data/guide/installation.md +44 -0
- data/guide/javascript.md +352 -0
- data/lib/vendor/sequel_sluggable.rb +137 -0
- data/lib/yard/tags.rb +13 -0
- data/lib/zen.rb +148 -78
- data/lib/zen/asset_groups.rb +85 -0
- data/lib/zen/bin/create.rb +267 -56
- data/lib/zen/bin/default.rb +84 -0
- data/lib/zen/controller/admin_controller.rb +1 -82
- data/lib/zen/controller/base_controller.rb +9 -5
- data/lib/zen/controller/frontend_controller.rb +0 -1
- data/lib/zen/controller/main_controller.rb +30 -42
- data/lib/zen/controller/preview.rb +9 -8
- data/lib/zen/controller/translations.rb +49 -0
- data/lib/zen/error.rb +17 -0
- data/lib/zen/event.rb +118 -0
- data/lib/zen/helper/asset.rb +63 -0
- data/lib/zen/helper/breadcrumb.rb +1 -4
- data/lib/zen/helper/controller.rb +73 -0
- data/lib/zen/helper/locale.rb +42 -0
- data/lib/zen/helper/message.rb +0 -3
- data/lib/zen/helper/search.rb +54 -0
- data/lib/zen/helper/stacked_aspect.rb +249 -0
- data/lib/zen/helper/theme.rb +3 -10
- data/lib/zen/language.rb +356 -181
- data/lib/zen/language/en/zen_general.rb +52 -0
- data/lib/zen/language/en/zen_models.rb +19 -0
- data/lib/zen/language/nl/zen_general.rb +57 -0
- data/lib/zen/language/nl/zen_models.rb +22 -0
- data/lib/zen/language/translation.rb +132 -0
- data/lib/zen/languages.rb +9 -0
- data/lib/zen/layout/admin.xhtml +3 -3
- data/lib/zen/layout/login.xhtml +1 -1
- data/lib/zen/markup.rb +189 -0
- data/lib/zen/model/helper.rb +65 -0
- data/lib/zen/model/init.rb +62 -0
- data/lib/zen/model/methods.rb +6 -7
- data/lib/zen/package.rb +312 -201
- data/lib/zen/package/all.rb +4 -3
- data/lib/zen/package/categories/lib/categories.rb +29 -41
- data/lib/zen/package/categories/lib/categories/controller/categories.rb +185 -130
- data/lib/zen/package/categories/lib/categories/controller/category_groups.rb +172 -102
- data/lib/zen/package/categories/lib/categories/helper/category.rb +4 -9
- data/lib/zen/package/categories/lib/categories/helper/category_frontend.rb +86 -0
- data/lib/zen/package/categories/lib/categories/language/en/categories.rb +40 -0
- data/lib/zen/package/categories/lib/categories/language/en/category_groups.rb +39 -0
- data/lib/zen/package/categories/lib/categories/language/nl/categories.rb +42 -0
- data/lib/zen/package/categories/lib/categories/language/nl/category_groups.rb +42 -0
- data/lib/zen/package/categories/lib/categories/model/category.rb +21 -25
- data/lib/zen/package/categories/lib/categories/model/category_group.rb +21 -15
- data/lib/zen/package/categories/lib/categories/view/admin/categories/form.xhtml +25 -26
- data/lib/zen/package/categories/lib/categories/view/admin/categories/index.xhtml +24 -24
- data/lib/zen/package/categories/lib/categories/view/admin/category-groups/form.xhtml +18 -20
- data/lib/zen/package/categories/lib/categories/view/admin/category-groups/index.xhtml +21 -18
- data/lib/zen/package/comments/lib/comments.rb +30 -50
- data/lib/zen/package/comments/lib/comments/anti_spam.rb +138 -0
- data/lib/zen/package/comments/lib/comments/controller/comments.rb +159 -92
- data/lib/zen/package/comments/lib/comments/controller/comments_form.rb +122 -34
- data/lib/zen/package/comments/lib/comments/helper/comment.rb +0 -3
- data/lib/zen/package/comments/lib/comments/helper/comment_frontend.rb +90 -0
- data/lib/zen/package/comments/lib/comments/language/en/comments.rb +57 -0
- data/lib/zen/package/comments/lib/comments/language/nl/comments.rb +61 -0
- data/lib/zen/package/comments/lib/comments/model/comment.rb +147 -49
- data/lib/zen/package/comments/lib/comments/model/comment_status.rb +0 -2
- data/lib/zen/package/comments/lib/comments/view/admin/comments/form.xhtml +37 -40
- data/lib/zen/package/comments/lib/comments/view/admin/comments/index.xhtml +23 -42
- data/lib/zen/package/comments/migrations/1308774099_comment_status.rb +12 -4
- data/lib/zen/package/comments/migrations/1313851786_remove_defensio_signature.rb +11 -0
- data/lib/zen/package/custom_fields/lib/custom_fields.rb +40 -43
- data/lib/zen/package/custom_fields/lib/custom_fields/blue_form_parameters.rb +72 -17
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +154 -118
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_types.rb +147 -90
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_fields.rb +161 -131
- data/lib/zen/package/custom_fields/lib/custom_fields/helper/custom_field.rb +4 -9
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_groups.rb +42 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_types.rb +51 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.rb +60 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_groups.rb +41 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_types.rb +49 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_fields.rb +61 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field.rb +18 -23
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_group.rb +20 -19
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_method.rb +1 -3
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_type.rb +19 -9
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_value.rb +18 -15
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/form.xhtml +18 -18
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/index.xhtml +30 -24
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-types/form.xhtml +15 -10
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-types/index.xhtml +24 -19
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/form.xhtml +18 -13
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/index.xhtml +30 -20
- data/lib/zen/package/extensions/lib/extensions.rb +20 -0
- data/lib/zen/package/extensions/lib/extensions/controller/extensions.rb +41 -0
- data/lib/zen/package/extensions/lib/extensions/language/en/extensions.rb +23 -0
- data/lib/zen/package/extensions/lib/extensions/language/nl/extensions.rb +25 -0
- data/lib/zen/package/extensions/lib/extensions/view/admin/extensions/index.xhtml +86 -0
- data/lib/zen/package/menu.rb +109 -0
- data/lib/zen/package/menus/lib/menus.rb +25 -34
- data/lib/zen/package/menus/lib/menus/controller/menu_items.rb +143 -107
- data/lib/zen/package/menus/lib/menus/controller/menus.rb +166 -115
- data/lib/zen/package/menus/lib/menus/helper/menu.rb +2 -8
- data/lib/zen/package/menus/lib/menus/helper/menu_frontend.rb +114 -0
- data/lib/zen/package/menus/lib/menus/language/en/menu_items.rb +48 -0
- data/lib/zen/package/menus/lib/menus/language/en/menus.rb +48 -0
- data/lib/zen/package/menus/lib/menus/language/nl/menu_items.rb +48 -0
- data/lib/zen/package/menus/lib/menus/language/nl/menus.rb +50 -0
- data/lib/zen/package/menus/lib/menus/model/menu.rb +24 -17
- data/lib/zen/package/menus/lib/menus/model/menu_item.rb +37 -13
- data/lib/zen/package/menus/lib/menus/view/admin/menu-items/form.xhtml +32 -25
- data/lib/zen/package/menus/lib/menus/view/admin/menu-items/index.xhtml +23 -17
- data/lib/zen/package/menus/lib/menus/view/admin/menus/form.xhtml +31 -26
- data/lib/zen/package/menus/lib/menus/view/admin/menus/index.xhtml +20 -22
- data/lib/zen/package/sections/lib/sections.rb +25 -68
- data/lib/zen/package/sections/lib/sections/controller/section_entries.rb +178 -138
- data/lib/zen/package/sections/lib/sections/controller/sections.rb +173 -140
- data/lib/zen/package/sections/lib/sections/helper/section.rb +3 -6
- data/lib/zen/package/sections/lib/sections/helper/section_frontend.rb +146 -0
- data/lib/zen/package/sections/lib/sections/language/en/section_entries.rb +50 -0
- data/lib/zen/package/sections/lib/sections/language/en/sections.rb +55 -0
- data/lib/zen/package/sections/lib/sections/language/nl/section_entries.rb +50 -0
- data/lib/zen/package/sections/lib/sections/language/nl/sections.rb +55 -0
- data/lib/zen/package/sections/lib/sections/model/section.rb +36 -36
- data/lib/zen/package/sections/lib/sections/model/section_entry.rb +52 -59
- data/lib/zen/package/sections/lib/sections/model/section_entry_status.rb +2 -2
- data/lib/zen/package/sections/lib/sections/view/admin/form.xhtml +24 -21
- data/lib/zen/package/sections/lib/sections/view/admin/index.xhtml +24 -26
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/form.xhtml +33 -31
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/index.xhtml +24 -25
- data/lib/zen/package/sections/migrations/1308672298_use_id_for_default_section.rb +14 -10
- data/lib/zen/package/sections/migrations/1308813320_section_entry_statuses.rb +12 -6
- data/lib/zen/package/settings/lib/settings.rb +25 -120
- data/lib/zen/package/settings/lib/settings/blue_form_parameters.rb +157 -0
- data/lib/zen/package/settings/lib/settings/controller/settings.rb +94 -69
- data/lib/zen/package/settings/lib/settings/language/en/settings.rb +41 -0
- data/lib/zen/package/settings/lib/settings/language/nl/settings.rb +41 -0
- data/lib/zen/package/settings/lib/settings/model/setting.rb +0 -2
- data/lib/zen/package/settings/lib/settings/setting.rb +379 -0
- data/lib/zen/package/settings/lib/settings/setting_groups.rb +11 -0
- data/lib/zen/package/settings/lib/settings/settings.rb +83 -0
- data/lib/zen/package/settings/lib/settings/settings_group.rb +84 -0
- data/lib/zen/package/settings/lib/settings/singleton_methods.rb +35 -0
- data/lib/zen/package/settings/lib/settings/view/admin/settings/index.xhtml +15 -57
- data/lib/zen/package/settings/migrations/1321197919_remove_unused_columns.rb +17 -0
- data/lib/zen/package/users/lib/users.rb +51 -36
- data/lib/zen/package/users/lib/users/controller/user_groups.rb +133 -98
- data/lib/zen/package/users/lib/users/controller/users.rb +253 -136
- data/lib/zen/package/users/lib/users/helper/access.rb +102 -0
- data/lib/zen/package/users/lib/users/helper/acl.rb +113 -0
- data/lib/zen/package/users/lib/users/helper/users.rb +41 -24
- data/lib/zen/package/users/lib/users/language/en/permissions.rb +16 -0
- data/lib/zen/package/users/lib/users/language/en/user_groups.rb +39 -0
- data/lib/zen/package/users/lib/users/language/en/users.rb +73 -0
- data/lib/zen/package/users/lib/users/language/nl/permissions.rb +16 -0
- data/lib/zen/package/users/lib/users/language/nl/user_groups.rb +41 -0
- data/lib/zen/package/users/lib/users/language/nl/users.rb +74 -0
- data/lib/zen/package/users/lib/users/model/permission.rb +28 -0
- data/lib/zen/package/users/lib/users/model/user.rb +104 -65
- data/lib/zen/package/users/lib/users/model/user_group.rb +28 -24
- data/lib/zen/package/users/lib/users/model/user_status.rb +27 -0
- data/lib/zen/package/users/lib/users/public/admin/css/users/permissions.css +22 -0
- data/lib/zen/package/users/lib/users/public/admin/js/users/permissions.js +33 -0
- data/lib/zen/package/users/lib/users/settings.rb +19 -0
- data/lib/zen/package/users/lib/users/view/admin/user-groups/form.xhtml +58 -28
- data/lib/zen/package/users/lib/users/view/admin/user-groups/index.xhtml +19 -15
- data/lib/zen/package/users/lib/users/view/admin/users/form.xhtml +93 -62
- data/lib/zen/package/users/lib/users/view/admin/users/index.xhtml +23 -36
- data/lib/zen/package/users/lib/users/view/admin/users/login.xhtml +13 -6
- data/lib/zen/package/users/lib/users/view/admin/users/permissions.xhtml +33 -0
- data/lib/zen/package/users/lib/users/view/admin/users/register.xhtml +52 -0
- data/lib/zen/package/users/migrations/1313786058_update_default_date.rb +41 -0
- data/lib/zen/package/users/migrations/1316432327_permissions.rb +36 -0
- data/lib/zen/package/users/migrations/1320272365_status_ids.rb +67 -0
- data/lib/zen/public/admin/css/zen/buttons.css +3 -11
- data/lib/zen/public/admin/css/zen/datepicker.css +23 -13
- data/lib/zen/public/admin/css/zen/editor.css +6 -14
- data/lib/zen/public/admin/css/zen/forms.css +19 -12
- data/lib/zen/public/admin/css/zen/general.css +22 -18
- data/lib/zen/public/admin/css/zen/grid.css +1 -20
- data/lib/zen/public/admin/css/zen/layout.css +26 -11
- data/lib/zen/public/admin/css/zen/messages.css +3 -10
- data/lib/zen/public/admin/css/zen/reset.css +13 -15
- data/lib/zen/public/admin/css/zen/tables.css +8 -10
- data/lib/zen/public/admin/css/zen/tabs.css +2 -10
- data/lib/zen/public/admin/css/zen/window.css +2 -8
- data/lib/zen/public/admin/js/vendor/datepicker.js +540 -240
- data/lib/zen/public/admin/js/vendor/mootools/core.js +273 -283
- data/lib/zen/public/admin/js/vendor/mootools/more.js +131 -136
- data/lib/zen/public/admin/js/zen/index.js +8 -14
- data/lib/zen/public/admin/js/zen/lib/editor.js +36 -33
- data/lib/zen/public/admin/js/zen/lib/editor/markdown.js +0 -6
- data/lib/zen/public/admin/js/zen/lib/editor/textile.js +0 -6
- data/lib/zen/public/admin/js/zen/lib/html_table.js +0 -5
- data/lib/zen/public/admin/js/zen/lib/tabs.js +22 -79
- data/lib/zen/public/admin/js/zen/lib/window.js +12 -22
- data/lib/zen/spec/bacon/color_output.rb +1 -1
- data/lib/zen/spec/helper.rb +6 -11
- data/lib/zen/spec/simplecov.rb +3 -3
- data/lib/zen/task.rb +0 -1
- data/lib/zen/task/build.rake +46 -26
- data/lib/zen/task/clean.rake +14 -7
- data/lib/zen/task/db.rake +31 -29
- data/lib/zen/task/package.rake +19 -23
- data/lib/zen/task/proto.rake +3 -5
- data/lib/zen/task/setup.rake +4 -0
- data/lib/zen/task/test.rake +31 -6
- data/lib/zen/task/theme.rake +13 -19
- data/lib/zen/theme.rb +377 -52
- data/lib/zen/validation.rb +22 -30
- data/lib/zen/version.rb +1 -2
- data/lib/zen/view/bottom.xhtml +9 -1
- data/lib/zen/view/head.xhtml +1 -1
- data/lib/zen/view/main.xhtml +1 -1
- data/lib/zen/view/search.xhtml +9 -0
- data/proto/app/Rakefile +0 -1
- data/proto/app/app.rb +21 -16
- data/proto/app/config/config.rb.erb +41 -0
- data/proto/app/config/{database.rb → database.rb.erb} +17 -14
- data/proto/app/config/middlewares.rb +1 -1
- data/proto/app/theme/default/index.xhtml +25 -0
- data/proto/app/theme/theme.rb +19 -0
- data/proto/app/{log/database/dev → tmp}/.gitkeep +0 -0
- data/proto/migration.rb +3 -5
- data/proto/rack/thin.yml +41 -0
- data/proto/rack/unicorn.rb +38 -0
- data/spec/Rakefile +15 -11
- data/spec/fixtures/zen/helper/controller.rb +13 -0
- data/spec/fixtures/zen/helper/locale.rb +7 -0
- data/spec/fixtures/zen/helper/message.rb +0 -4
- data/spec/fixtures/zen/language.rb +31 -0
- data/spec/fixtures/zen/language/en/spec.rb +11 -0
- data/spec/fixtures/zen/language/nl/spec.rb +11 -0
- data/spec/fixtures/zen/package.rb +0 -10
- data/spec/fixtures/zen/package/categories/helper/category_frontend.rb +16 -0
- data/spec/fixtures/zen/package/comments/helper/comment_frontend.rb +16 -0
- data/spec/fixtures/zen/package/sections/helper/section_frontend.rb +16 -0
- data/spec/fixtures/zen/package/settings/controller/settings.rb +17 -0
- data/spec/fixtures/zen/package/users/helper/access.rb +18 -0
- data/spec/fixtures/zen/package/users/helper/acl.rb +23 -0
- data/spec/fixtures/zen/theme/{default-section → default}/index.xhtml +0 -0
- data/spec/helper.rb +12 -27
- data/{proto/app/log/database/live → spec/public}/.gitkeep +0 -0
- data/spec/zen/controller/admin_controller.rb +5 -6
- data/spec/zen/controller/main_controller.rb +29 -35
- data/spec/zen/controller/preview.rb +9 -10
- data/spec/zen/event.rb +44 -0
- data/spec/zen/helper/breadcrumb.rb +4 -5
- data/spec/zen/helper/controller.rb +21 -0
- data/spec/zen/helper/locale.rb +25 -0
- data/spec/zen/helper/message.rb +4 -11
- data/spec/zen/helper/theme.rb +11 -14
- data/spec/zen/language.rb +48 -22
- data/spec/zen/markup.rb +39 -0
- data/spec/zen/package.rb +48 -11
- data/spec/zen/package/categories/controller/categories.rb +99 -45
- data/spec/zen/package/categories/controller/category_groups.rb +109 -33
- data/spec/zen/package/categories/helper/category.rb +19 -32
- data/spec/zen/package/categories/helper/category_frontend.rb +61 -0
- data/spec/zen/package/comments/anti_spam.rb +50 -0
- data/spec/zen/package/comments/controller/comments.rb +121 -61
- data/spec/zen/package/comments/controller/comments_form.rb +120 -94
- data/spec/zen/package/comments/helper/comment.rb +13 -13
- data/spec/zen/package/comments/helper/comment_frontend.rb +92 -0
- data/spec/zen/package/custom_fields/blue_form_parameters.rb +50 -50
- data/spec/zen/package/custom_fields/controller/custom_field_groups.rb +135 -43
- data/spec/zen/package/custom_fields/controller/custom_field_types.rb +153 -48
- data/spec/zen/package/custom_fields/controller/custom_fields.rb +130 -51
- data/spec/zen/package/custom_fields/helper/custom_field.rb +8 -8
- data/spec/zen/package/extensions/controller/extensions.rb +38 -0
- data/spec/zen/package/menus/controller/menu_items.rb +121 -42
- data/spec/zen/package/menus/controller/menus.rb +125 -38
- data/spec/zen/package/menus/helper/menu.rb +26 -26
- data/spec/zen/package/menus/helper/menu_frontend.rb +104 -0
- data/spec/zen/package/sections/controller/section_entries.rb +145 -89
- data/spec/zen/package/sections/controller/sections.rb +130 -35
- data/spec/zen/package/sections/helper/section.rb +27 -38
- data/spec/zen/package/sections/helper/section_frontend.rb +160 -0
- data/spec/zen/package/settings/controller/settings.rb +73 -8
- data/spec/zen/package/settings/settings.rb +119 -0
- data/spec/zen/package/users/controller/user_groups.rb +134 -34
- data/spec/zen/package/users/controller/users.rb +189 -44
- data/spec/zen/package/users/helper/access.rb +29 -0
- data/spec/zen/package/users/helper/acl.rb +46 -0
- data/spec/zen/package/users/helper/users.rb +20 -64
- data/spec/zen/theme.rb +7 -9
- data/spec/zen/validation.rb +1 -2
- data/zen.gemspec +25 -22
- metadata +303 -222
- data/lib/zen/asset.rb +0 -292
- data/lib/zen/bin/runner.rb +0 -118
- data/lib/zen/error/language_error.rb +0 -10
- data/lib/zen/error/package_error.rb +0 -10
- data/lib/zen/error/plugin_error.rb +0 -10
- data/lib/zen/error/theme_error.rb +0 -10
- data/lib/zen/error/validation_error.rb +0 -10
- data/lib/zen/helper/acl.rb +0 -182
- data/lib/zen/helper/blue_form_vendor.rb +0 -689
- data/lib/zen/language/en/zen_general.yml +0 -25
- data/lib/zen/language/en/zen_models.yml +0 -13
- data/lib/zen/language/nl/zen_general.yml +0 -25
- data/lib/zen/language/nl/zen_models.yml +0 -13
- data/lib/zen/model/settings.rb +0 -78
- data/lib/zen/package/base.rb +0 -62
- data/lib/zen/package/categories/lib/categories/language/en/categories.yml +0 -36
- data/lib/zen/package/categories/lib/categories/language/en/category_groups.yml +0 -34
- data/lib/zen/package/categories/lib/categories/language/nl/categories.yml +0 -40
- data/lib/zen/package/categories/lib/categories/language/nl/category_groups.yml +0 -34
- data/lib/zen/package/categories/lib/categories/plugin/categories.rb +0 -141
- data/lib/zen/package/comments/lib/comments/language/en/comments.yml +0 -48
- data/lib/zen/package/comments/lib/comments/language/nl/comments.yml +0 -50
- data/lib/zen/package/comments/lib/comments/plugin/anti_spam.rb +0 -156
- data/lib/zen/package/comments/lib/comments/plugin/comments.rb +0 -115
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_groups.yml +0 -33
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_field_types.yml +0 -40
- data/lib/zen/package/custom_fields/lib/custom_fields/language/en/custom_fields.yml +0 -54
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_groups.yml +0 -33
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_field_types.yml +0 -40
- data/lib/zen/package/custom_fields/lib/custom_fields/language/nl/custom_fields.yml +0 -54
- data/lib/zen/package/menus/lib/menus/language/en/menu_items.yml +0 -41
- data/lib/zen/package/menus/lib/menus/language/en/menus.yml +0 -40
- data/lib/zen/package/menus/lib/menus/language/nl/menu_items.yml +0 -41
- data/lib/zen/package/menus/lib/menus/language/nl/menus.yml +0 -40
- data/lib/zen/package/menus/lib/menus/plugin/menus.rb +0 -152
- data/lib/zen/package/sections/lib/sections/language/en/section_entries.yml +0 -44
- data/lib/zen/package/sections/lib/sections/language/en/sections.yml +0 -48
- data/lib/zen/package/sections/lib/sections/language/nl/section_entries.yml +0 -44
- data/lib/zen/package/sections/lib/sections/language/nl/sections.yml +0 -48
- data/lib/zen/package/sections/lib/sections/plugin/section_entries.rb +0 -244
- data/lib/zen/package/sections/lib/sections/plugin/sections.rb +0 -87
- data/lib/zen/package/settings/lib/settings/language/en/settings.yml +0 -36
- data/lib/zen/package/settings/lib/settings/language/nl/settings.yml +0 -37
- data/lib/zen/package/settings/lib/settings/plugin/group_base.rb +0 -39
- data/lib/zen/package/settings/lib/settings/plugin/setting_base.rb +0 -133
- data/lib/zen/package/settings/lib/settings/plugin/settings.rb +0 -251
- data/lib/zen/package/users/lib/users/controller/access_rules.rb +0 -284
- data/lib/zen/package/users/lib/users/language/en/access_rules.yml +0 -38
- data/lib/zen/package/users/lib/users/language/en/user_groups.yml +0 -32
- data/lib/zen/package/users/lib/users/language/en/users.yml +0 -57
- data/lib/zen/package/users/lib/users/language/nl/access_rules.yml +0 -38
- data/lib/zen/package/users/lib/users/language/nl/user_groups.yml +0 -32
- data/lib/zen/package/users/lib/users/language/nl/users.yml +0 -57
- data/lib/zen/package/users/lib/users/model/access_rule.rb +0 -42
- data/lib/zen/package/users/lib/users/public/admin/js/users/access_rules.js +0 -65
- data/lib/zen/package/users/lib/users/public/admin/js/users/lib/access_rules.js +0 -49
- data/lib/zen/package/users/lib/users/view/admin/access-rules/form.xhtml +0 -120
- data/lib/zen/package/users/lib/users/view/admin/access-rules/index.xhtml +0 -102
- data/lib/zen/plugin.rb +0 -182
- data/lib/zen/plugin/base.rb +0 -46
- data/lib/zen/plugin/helper.rb +0 -47
- data/lib/zen/plugin/markup/lib/markup.rb +0 -14
- data/lib/zen/plugin/markup/lib/markup/language/en/markup.yml +0 -6
- data/lib/zen/plugin/markup/lib/markup/markup.rb +0 -165
- data/lib/zen/public/admin/js/zen/lib/asset.js +0 -111
- data/lib/zen/task/plugin.rake +0 -18
- data/lib/zen/theme/base.rb +0 -65
- data/proto/app/config/config.rb +0 -18
- data/spec/fixtures/zen/language/en/spec.yml +0 -10
- data/spec/fixtures/zen/language/nl/spec.yml +0 -7
- data/spec/fixtures/zen/package/settings/plugin/settings.rb +0 -20
- data/spec/zen/asset.rb +0 -97
- data/spec/zen/bin/create.rb +0 -89
- data/spec/zen/bin/runner.rb +0 -47
- data/spec/zen/helper/acl.rb +0 -149
- data/spec/zen/package/categories/plugin/categories.rb +0 -92
- data/spec/zen/package/comments/plugin/anti_spam.rb +0 -59
- data/spec/zen/package/comments/plugin/comments.rb +0 -107
- data/spec/zen/package/menus/plugin/menus.rb +0 -120
- data/spec/zen/package/sections/plugin/section_entries.rb +0 -161
- data/spec/zen/package/sections/plugin/sections.rb +0 -75
- data/spec/zen/package/settings/plugin/settings.rb +0 -33
- data/spec/zen/package/users/controller/access_rules.rb +0 -90
- data/spec/zen/plugin.rb +0 -64
- data/spec/zen/plugin/helper.rb +0 -11
- data/spec/zen/plugin/markup.rb +0 -44
|
@@ -1,80 +1,92 @@
|
|
|
1
|
-
#:nodoc:
|
|
2
1
|
module Sections
|
|
3
2
|
#:nodoc:
|
|
4
3
|
module Controller
|
|
5
4
|
##
|
|
6
|
-
# Section entries
|
|
7
|
-
#
|
|
5
|
+
# Section entries are collections of custom field values as well as some
|
|
6
|
+
# meta data related to a section. In a typical application a blog can be
|
|
7
|
+
# seen as a section and blog articles would be section entries.
|
|
8
|
+
#
|
|
9
|
+
# Section entries can be managed by going to a section and clicking the link
|
|
10
|
+
# "Manage entries". This will bring you to an overview of all existing
|
|
11
|
+
# entries that looks like the one in the image below.
|
|
12
|
+
#
|
|
13
|
+
# 
|
|
14
|
+
#
|
|
15
|
+
# Editing an entry can be done by clicking on it's name, creating a new one
|
|
16
|
+
# can be done by clicking on the "Add section entry" button. In both cases
|
|
17
|
+
# you'll see a form that looks similar to the one displayed in the images
|
|
18
|
+
# below.
|
|
19
|
+
#
|
|
20
|
+
# 
|
|
21
|
+
# 
|
|
22
|
+
# 
|
|
23
|
+
# 
|
|
24
|
+
#
|
|
25
|
+
# In the images above there are four tabs displayed. "Basic", "Categories",
|
|
26
|
+
# "General" and "Meta". The first two are always available, the last two
|
|
27
|
+
# tabs are tabs specific to the custom field groups assigned to a section
|
|
28
|
+
# the entry belongs to. This means that you might have other tabs depending
|
|
29
|
+
# on the names of your field groups.
|
|
30
|
+
#
|
|
31
|
+
# Regardless of what field groups and categories you have assigned you can
|
|
32
|
+
# always specify the following fields:
|
|
33
|
+
#
|
|
34
|
+
# * **Title** (required): the title of your entry.
|
|
35
|
+
# * **Slug**: a URL friendly version of the title. If no slug is specified
|
|
36
|
+
# one will be generated manually.
|
|
37
|
+
# * **Created at**: The date on which the entry was created. This field is
|
|
38
|
+
# filled in automatically when an entry is created.
|
|
39
|
+
# * **Author** (required): the name of the person who wrote the entry.
|
|
40
|
+
# * **Status** (required): the status of an entry. If an entry has a status
|
|
41
|
+
# other than "Published" it will not be displayed when using the
|
|
42
|
+
# sectio_entries plugin.
|
|
43
|
+
#
|
|
44
|
+
# Depending on whether or not you have category and field groups assigned
|
|
45
|
+
# you can also use these fields. In the images above there's a "Body" field
|
|
46
|
+
# which is required and converts the text to HTML using Markdown.
|
|
47
|
+
#
|
|
48
|
+
# ## Permissions
|
|
49
|
+
#
|
|
50
|
+
# This controller uses the following permissions:
|
|
51
|
+
#
|
|
52
|
+
# * show_section_entry
|
|
53
|
+
# * new_section_entry
|
|
54
|
+
# * edit_section_entry
|
|
55
|
+
# * delete_section_entry
|
|
56
|
+
#
|
|
57
|
+
# ## Events
|
|
58
|
+
#
|
|
59
|
+
# All events in this controller receive an instance of
|
|
60
|
+
# {Sections::Model::SectionEntry}. The event ``after_delete_section_entry``
|
|
61
|
+
# receives an instance of this model that has already been destroyed using
|
|
62
|
+
# ``#destroy()``.
|
|
8
63
|
#
|
|
9
|
-
# @author Yorick Peterse
|
|
10
64
|
# @since 0.1
|
|
65
|
+
# @map /admin/section-entries
|
|
66
|
+
# @event before_new_section_entry
|
|
67
|
+
# @event after_new_section_entry
|
|
68
|
+
# @event before_edit_section_entry
|
|
69
|
+
# @event after_edit_section_entry
|
|
70
|
+
# @event before_delete_section_entry
|
|
71
|
+
# @event after_delete_section_entry
|
|
11
72
|
#
|
|
12
73
|
class SectionEntries < Zen::Controller::AdminController
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
map '/admin/section-entries'
|
|
74
|
+
map '/admin/section-entries'
|
|
16
75
|
helper :section
|
|
76
|
+
title 'section_entries.titles.%s'
|
|
17
77
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
[
|
|
21
|
-
'zen/lib/tabs',
|
|
22
|
-
'zen/lib/editor',
|
|
23
|
-
'zen/lib/editor/markdown',
|
|
24
|
-
'zen/lib/editor/textile',
|
|
25
|
-
'vendor/datepicker'
|
|
26
|
-
],
|
|
27
|
-
:method => [:edit, :new]
|
|
28
|
-
)
|
|
29
|
-
|
|
30
|
-
# Load all required CSS files
|
|
31
|
-
stylesheet(['zen/datepicker'], :method => [:edit, :new])
|
|
32
|
-
|
|
33
|
-
before_all do
|
|
34
|
-
csrf_protection(:save, :delete) do
|
|
35
|
-
respond(lang('zen_general.errors.csrf'), 403)
|
|
36
|
-
end
|
|
37
|
-
end
|
|
78
|
+
load_asset_group [:tabs, :editor, :datepicker], [:edit, :new]
|
|
79
|
+
csrf_protection :save, :delete
|
|
38
80
|
|
|
39
81
|
##
|
|
40
|
-
# Constructor method, called upon initialization. It's used to set the
|
|
41
|
-
# URL to which forms send their data and load the language pack.
|
|
42
|
-
#
|
|
43
|
-
# This method loads the following language files:
|
|
44
|
-
#
|
|
45
|
-
# * sections
|
|
46
|
-
# * section_entries
|
|
47
|
-
# * zen_models
|
|
48
|
-
#
|
|
49
|
-
# @author Yorick Peterse
|
|
50
|
-
# @since 0.1
|
|
51
|
-
#
|
|
52
|
-
def initialize
|
|
53
|
-
super
|
|
54
|
-
|
|
55
|
-
Zen::Language.load('section_entries')
|
|
56
|
-
Zen::Language.load('sections')
|
|
57
|
-
|
|
58
|
-
# Set the page title
|
|
59
|
-
if !action.method.nil?
|
|
60
|
-
method = action.method.to_sym
|
|
61
|
-
@page_title = lang("section_entries.titles.#{method}") rescue nil
|
|
62
|
-
end
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
##]
|
|
66
82
|
# Show an overview of all entries for the current section.
|
|
67
83
|
#
|
|
68
|
-
#
|
|
69
|
-
#
|
|
70
|
-
#
|
|
71
|
-
#
|
|
72
|
-
# @author Yorick Peterse
|
|
73
|
-
# @param [Fixnum] section_id The ID of the current section.
|
|
74
|
-
# @since 0.1
|
|
84
|
+
# @param [Fixnum] section_id The ID of the current section.
|
|
85
|
+
# @since 0.1
|
|
86
|
+
# @permission show_section_entry
|
|
75
87
|
#
|
|
76
88
|
def index(section_id)
|
|
77
|
-
|
|
89
|
+
authorize_user!(:show_section_entry)
|
|
78
90
|
|
|
79
91
|
set_breadcrumbs(
|
|
80
92
|
Sections.a(lang('sections.titles.index'), :index),
|
|
@@ -83,25 +95,28 @@ module Sections
|
|
|
83
95
|
|
|
84
96
|
section = validate_section(section_id)
|
|
85
97
|
@section_id = section_id
|
|
86
|
-
@entries =
|
|
87
|
-
|
|
98
|
+
@entries = search do |query|
|
|
99
|
+
::Sections::Model::SectionEntry.search(query) \
|
|
100
|
+
.filter(:section_id => section_id) \
|
|
101
|
+
.order(:id.asc)
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
@entries ||= ::Sections::Model::SectionEntry \
|
|
105
|
+
.filter(:section_id => section_id) \
|
|
106
|
+
.order(:id.asc)
|
|
107
|
+
|
|
108
|
+
@entries = paginate(@entries)
|
|
88
109
|
end
|
|
89
110
|
|
|
90
111
|
##
|
|
91
|
-
# Show a form that lets the user
|
|
92
|
-
#
|
|
93
|
-
# This method requires the following permissions:
|
|
94
|
-
#
|
|
95
|
-
# * read
|
|
96
|
-
# * update
|
|
112
|
+
# Show a form that lets the user create a new section entry.
|
|
97
113
|
#
|
|
98
|
-
# @
|
|
99
|
-
# @
|
|
100
|
-
# @
|
|
101
|
-
# @since 0.1
|
|
114
|
+
# @param [Fixnum] section_id The ID of the current section.
|
|
115
|
+
# @since 0.1
|
|
116
|
+
# @permission new_section_entry
|
|
102
117
|
#
|
|
103
|
-
def
|
|
104
|
-
|
|
118
|
+
def new(section_id)
|
|
119
|
+
authorize_user!(:new_section_entry)
|
|
105
120
|
|
|
106
121
|
set_breadcrumbs(
|
|
107
122
|
Sections.a(
|
|
@@ -110,18 +125,21 @@ module Sections
|
|
|
110
125
|
SectionEntries.a(
|
|
111
126
|
lang('section_entries.titles.index'), :index, section_id
|
|
112
127
|
),
|
|
113
|
-
lang('section_entries.titles.
|
|
128
|
+
lang('section_entries.titles.new')
|
|
114
129
|
)
|
|
115
130
|
|
|
116
131
|
validate_section(section_id)
|
|
117
132
|
|
|
133
|
+
@section_id = section_id
|
|
134
|
+
|
|
118
135
|
if flash[:form_data]
|
|
119
136
|
@entry = flash[:form_data]
|
|
120
137
|
else
|
|
121
|
-
@entry =
|
|
138
|
+
@entry = ::Sections::Model::SectionEntry.new(
|
|
139
|
+
:section_id => section_id
|
|
140
|
+
)
|
|
122
141
|
end
|
|
123
142
|
|
|
124
|
-
@section_id = section_id
|
|
125
143
|
@possible_categories = @entry.possible_categories
|
|
126
144
|
@custom_fields_hash = @entry.custom_fields_hash
|
|
127
145
|
|
|
@@ -129,19 +147,15 @@ module Sections
|
|
|
129
147
|
end
|
|
130
148
|
|
|
131
149
|
##
|
|
132
|
-
# Show a form that lets the user
|
|
133
|
-
#
|
|
134
|
-
# This method requires the following permissions:
|
|
135
|
-
#
|
|
136
|
-
# * read
|
|
137
|
-
# * create
|
|
150
|
+
# Show a form that lets the user edit an existing section entry.
|
|
138
151
|
#
|
|
139
|
-
# @
|
|
140
|
-
# @param
|
|
141
|
-
# @since
|
|
152
|
+
# @param [Fixnum] section_id The ID of the current section.
|
|
153
|
+
# @param [Fixnum] entry_id The ID of the current section entry.
|
|
154
|
+
# @since 0.1
|
|
155
|
+
# @permission edit_section_entry
|
|
142
156
|
#
|
|
143
|
-
def
|
|
144
|
-
|
|
157
|
+
def edit(section_id, entry_id)
|
|
158
|
+
authorize_user!(:edit_section_entry)
|
|
145
159
|
|
|
146
160
|
set_breadcrumbs(
|
|
147
161
|
Sections.a(
|
|
@@ -150,13 +164,18 @@ module Sections
|
|
|
150
164
|
SectionEntries.a(
|
|
151
165
|
lang('section_entries.titles.index'), :index, section_id
|
|
152
166
|
),
|
|
153
|
-
lang('section_entries.titles.
|
|
167
|
+
lang('section_entries.titles.edit')
|
|
154
168
|
)
|
|
155
169
|
|
|
156
170
|
validate_section(section_id)
|
|
157
171
|
|
|
172
|
+
if flash[:form_data]
|
|
173
|
+
@entry = flash[:form_data]
|
|
174
|
+
else
|
|
175
|
+
@entry = validate_section_entry(entry_id, section_id)
|
|
176
|
+
end
|
|
177
|
+
|
|
158
178
|
@section_id = section_id
|
|
159
|
-
@entry = SectionEntry.new(:section_id => section_id)
|
|
160
179
|
@possible_categories = @entry.possible_categories
|
|
161
180
|
@custom_fields_hash = @entry.custom_fields_hash
|
|
162
181
|
|
|
@@ -164,21 +183,16 @@ module Sections
|
|
|
164
183
|
end
|
|
165
184
|
|
|
166
185
|
##
|
|
167
|
-
#
|
|
168
|
-
#
|
|
169
|
-
# determine if the data will be used to create a new section or to update
|
|
170
|
-
# an existing one.
|
|
171
|
-
#
|
|
172
|
-
# This method requires the following permissions:
|
|
186
|
+
# Saves any changes made to an existing entry and all the field values or
|
|
187
|
+
# creates a new entry.
|
|
173
188
|
#
|
|
174
|
-
#
|
|
175
|
-
#
|
|
176
|
-
#
|
|
177
|
-
# @
|
|
178
|
-
# @
|
|
179
|
-
# @
|
|
180
|
-
#
|
|
181
|
-
# as it is for now.
|
|
189
|
+
# @since 0.1
|
|
190
|
+
# @event before_new_section_entry
|
|
191
|
+
# @event after_new_section_entry
|
|
192
|
+
# @event before_edit_section_entry
|
|
193
|
+
# @event after_edit_section_entry
|
|
194
|
+
# @permission edit_section_entry (when editing an entry)
|
|
195
|
+
# @permission new_section_entry (when creating a new entry)
|
|
182
196
|
#
|
|
183
197
|
def save
|
|
184
198
|
section_id = request.params['section_id']
|
|
@@ -186,48 +200,70 @@ module Sections
|
|
|
186
200
|
validate_section(section_id)
|
|
187
201
|
|
|
188
202
|
if request.params['id'] and !request.params['id'].empty?
|
|
189
|
-
|
|
203
|
+
authorize_user!(:edit_section_entry)
|
|
190
204
|
|
|
191
|
-
|
|
192
|
-
save_action
|
|
205
|
+
entry = ::Sections::Model::SectionEntry[request.params['id']]
|
|
206
|
+
save_action = :save
|
|
207
|
+
before_event = :before_edit_section_entry
|
|
208
|
+
after_event = :after_edit_section_entry
|
|
193
209
|
|
|
194
210
|
# Section entries aren't considered to be updated whenever a custom
|
|
195
211
|
# field value is modified, this solves that problem
|
|
196
212
|
request.params['updated_at'] = Time.new
|
|
197
213
|
else
|
|
198
|
-
|
|
214
|
+
authorize_user!(:new_section_entry)
|
|
199
215
|
|
|
200
|
-
|
|
201
|
-
|
|
216
|
+
entry = ::Sections::Model::SectionEntry.new(:section_id => section_id)
|
|
217
|
+
before_event = :before_new_section_entry
|
|
218
|
+
after_event = :after_new_section_entry
|
|
219
|
+
save_action = :new
|
|
202
220
|
end
|
|
203
221
|
|
|
204
|
-
request.params.delete('slug') if request.params['slug'].empty?
|
|
205
222
|
request.params.delete('id')
|
|
206
223
|
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
custom_fields =
|
|
224
|
+
success = lang("section_entries.success.#{save_action}")
|
|
225
|
+
error = lang("section_entries.errors.#{save_action}")
|
|
226
|
+
custom_fields = entry.custom_fields
|
|
210
227
|
field_errors = {}
|
|
211
228
|
field_values = {}
|
|
212
229
|
|
|
213
|
-
|
|
230
|
+
entry.custom_field_values.each do |value|
|
|
214
231
|
field_values[value.custom_field_id] = value
|
|
215
232
|
end
|
|
216
233
|
|
|
217
234
|
begin
|
|
218
235
|
Zen.database.transaction do
|
|
219
236
|
# Update the entry itself
|
|
220
|
-
|
|
237
|
+
post_data = request.subset(
|
|
221
238
|
:title,
|
|
222
239
|
:created_at,
|
|
223
240
|
:updated_at,
|
|
224
241
|
:section_id,
|
|
225
242
|
:user_id,
|
|
226
243
|
:slug,
|
|
227
|
-
:section_entry_status_id
|
|
228
|
-
|
|
244
|
+
:section_entry_status_id,
|
|
245
|
+
:category_pks
|
|
246
|
+
)
|
|
247
|
+
|
|
248
|
+
# Transform the dates properly
|
|
249
|
+
if post_data[:created_at]
|
|
250
|
+
post_data[:created_at] = Time.strptime(
|
|
251
|
+
post_data[:created_at],
|
|
252
|
+
date_format
|
|
253
|
+
)
|
|
254
|
+
end
|
|
229
255
|
|
|
230
|
-
|
|
256
|
+
if post_data[:updated_at]
|
|
257
|
+
post_data[:updated_at] = Time.strptime(
|
|
258
|
+
post_data[:updated_at],
|
|
259
|
+
date_format
|
|
260
|
+
)
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
post_data.each { |k, v| entry.send("#{k}=", v) }
|
|
264
|
+
Zen::Event.call(before_event, entry)
|
|
265
|
+
|
|
266
|
+
entry.save
|
|
231
267
|
|
|
232
268
|
# Update/add all the custom field values
|
|
233
269
|
custom_fields.each do |field|
|
|
@@ -249,7 +285,7 @@ module Sections
|
|
|
249
285
|
field_values[field.id].update(:value => request.params[key])
|
|
250
286
|
# Add it
|
|
251
287
|
else
|
|
252
|
-
|
|
288
|
+
entry.add_custom_field_value(
|
|
253
289
|
:custom_field_id => field.id,
|
|
254
290
|
:value => request.params[key]
|
|
255
291
|
)
|
|
@@ -264,34 +300,31 @@ module Sections
|
|
|
264
300
|
# 3. Something else went wrong, god knows what.
|
|
265
301
|
rescue => e
|
|
266
302
|
Ramaze::Log.error(e.inspect)
|
|
267
|
-
message(:error,
|
|
303
|
+
message(:error, error)
|
|
268
304
|
|
|
269
|
-
flash[:form_errors] =
|
|
270
|
-
flash[:form_data] =
|
|
305
|
+
flash[:form_errors] = entry.errors.merge(field_errors)
|
|
306
|
+
flash[:form_data] = entry
|
|
271
307
|
|
|
272
308
|
redirect_referrer
|
|
273
309
|
end
|
|
274
310
|
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
end
|
|
311
|
+
Zen::Event.call(after_event, entry)
|
|
312
|
+
|
|
313
|
+
message(:success, success)
|
|
314
|
+
redirect(SectionEntries.r(:edit, section_id, entry.id))
|
|
280
315
|
end
|
|
281
316
|
|
|
282
317
|
##
|
|
283
318
|
# Delete a set of section entries based on the supplied POST
|
|
284
319
|
# field "section_entry_ids".
|
|
285
320
|
#
|
|
286
|
-
#
|
|
287
|
-
#
|
|
288
|
-
#
|
|
289
|
-
#
|
|
290
|
-
# @author Yorick Peterse
|
|
291
|
-
# @since 0.1
|
|
321
|
+
# @since 0.1
|
|
322
|
+
# @permission delete_section_entry
|
|
323
|
+
# @event before_delete_section_entry
|
|
324
|
+
# @event after_delete_section_entry
|
|
292
325
|
#
|
|
293
326
|
def delete
|
|
294
|
-
|
|
327
|
+
authorize_user!(:delete_section_entry)
|
|
295
328
|
|
|
296
329
|
if !request.params['section_entry_ids'] \
|
|
297
330
|
or request.params['section_entry_ids'].empty?
|
|
@@ -300,17 +333,24 @@ module Sections
|
|
|
300
333
|
end
|
|
301
334
|
|
|
302
335
|
request.params['section_entry_ids'].each do |id|
|
|
336
|
+
entry = ::Sections::Model::SectionEntry[id]
|
|
337
|
+
|
|
338
|
+
next if entry.nil?
|
|
339
|
+
Zen::Event.call(:before_delete_section_entry, entry)
|
|
340
|
+
|
|
303
341
|
begin
|
|
304
|
-
|
|
305
|
-
message(:success, lang('section_entries.success.delete'))
|
|
342
|
+
entry.destroy
|
|
306
343
|
rescue => e
|
|
307
344
|
Ramaze::Log.error(e.inspect)
|
|
308
345
|
message(:error,lang('section_entries.errors.delete') % id)
|
|
309
346
|
|
|
310
347
|
redirect_referrer
|
|
311
348
|
end
|
|
349
|
+
|
|
350
|
+
Zen::Event.call(:after_delete_section_entry, entry)
|
|
312
351
|
end
|
|
313
352
|
|
|
353
|
+
message(:success, lang('section_entries.success.delete'))
|
|
314
354
|
redirect_referrer
|
|
315
355
|
end
|
|
316
356
|
end # SectionEntries
|