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
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
module Ramaze
|
|
2
|
+
module Helper
|
|
3
|
+
##
|
|
4
|
+
# Helper for retrieving section entries in your templates.
|
|
5
|
+
#
|
|
6
|
+
# @since 0.3
|
|
7
|
+
#
|
|
8
|
+
module SectionFrontend
|
|
9
|
+
##
|
|
10
|
+
# Retrieves a number of entries for a given section ID or section slug.
|
|
11
|
+
#
|
|
12
|
+
# @example Retrieving all entries by a section's ID
|
|
13
|
+
# get_entries(2)
|
|
14
|
+
#
|
|
15
|
+
# @example Retrieving all entries by a section's slug
|
|
16
|
+
# get_entries('pages')
|
|
17
|
+
#
|
|
18
|
+
# @example Paginating the results
|
|
19
|
+
# entries = get_entries('pages', :paginate => true)
|
|
20
|
+
#
|
|
21
|
+
# entries.each do |entry|
|
|
22
|
+
# puts entry.title
|
|
23
|
+
# end
|
|
24
|
+
#
|
|
25
|
+
# entries.navigation
|
|
26
|
+
#
|
|
27
|
+
# @example Customizing the sort order
|
|
28
|
+
# get_entries('pages', :order_by => :created_at, :order => :asc)
|
|
29
|
+
#
|
|
30
|
+
# @since 0.3
|
|
31
|
+
# @param [String|Fixnum] section The ID or slug of an section for which
|
|
32
|
+
# to retrieve a number of entries.
|
|
33
|
+
# @param [Hash] options A hash containing various options to customize
|
|
34
|
+
# the return value.
|
|
35
|
+
# @option options [Fixnum] :limit The maximum amount of entries to
|
|
36
|
+
# retrieve.
|
|
37
|
+
# @option options [TrueClass|FalseClass] :comments Whether or not all
|
|
38
|
+
# comments should be eager loaded, set to ``false`` by default.
|
|
39
|
+
# @option options [TrueClass|FalseClass] :categories Whether or not all
|
|
40
|
+
# categories have to be eager loaded, set to ``false`` by default.
|
|
41
|
+
# @option options [Symbol] :order_by The column to order the results on.
|
|
42
|
+
# @option options [Symbol] :order The sort order to use, set to ``:desc``
|
|
43
|
+
# by default.
|
|
44
|
+
# @option options [TrueClass|FalseClass] :paginate Whether or not the
|
|
45
|
+
# results should be paginated.
|
|
46
|
+
# @option options [String] :var The name of the query string item that
|
|
47
|
+
# contains the current page number.
|
|
48
|
+
# @option options [TrueClass|FalseClass] :field_values Whether or not
|
|
49
|
+
# custom fields and their values should be eager loaded. When set to
|
|
50
|
+
# false the hash ``fields`` on each entry will **not** be filled.
|
|
51
|
+
# @option options [TrueClass|FalseClass] :user Whether or not the user
|
|
52
|
+
# objects should be eager loaded for all entries. Set to ``false`` by
|
|
53
|
+
# default.
|
|
54
|
+
# @return [Mixed]
|
|
55
|
+
#
|
|
56
|
+
def get_entries(section, options = {})
|
|
57
|
+
trait = Zen::Controller::FrontendController.ancestral_trait[:paginate]
|
|
58
|
+
options = {
|
|
59
|
+
:limit => trait[:limit],
|
|
60
|
+
:var => trait[:var],
|
|
61
|
+
:paginate => false,
|
|
62
|
+
:comments => false,
|
|
63
|
+
:categories => false,
|
|
64
|
+
:order_by => :id,
|
|
65
|
+
:order => :desc,
|
|
66
|
+
:custom_field_values => true,
|
|
67
|
+
:user => false
|
|
68
|
+
}.merge(options)
|
|
69
|
+
|
|
70
|
+
eager = [:section]
|
|
71
|
+
|
|
72
|
+
# Determine what relations to eager load.
|
|
73
|
+
[:custom_field_values, :user, :comments, :categories].each do |k|
|
|
74
|
+
if options[k] == true
|
|
75
|
+
eager << k
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# Build the query
|
|
80
|
+
query = Sections::Model::SectionEntry.select_all(:section_entries) \
|
|
81
|
+
.eager(*eager) \
|
|
82
|
+
.join(:sections, :section_entries__section_id => :sections__id)
|
|
83
|
+
|
|
84
|
+
if section.is_a?(String)
|
|
85
|
+
query = query.filter(:sections__slug => section)
|
|
86
|
+
else
|
|
87
|
+
query = query.filter(:sections__id => section)
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
query = query.order(options[:order_by].send(options[:order]))
|
|
91
|
+
|
|
92
|
+
# Paginate the results?
|
|
93
|
+
if options[:paginate] == true
|
|
94
|
+
query = paginate(
|
|
95
|
+
query,
|
|
96
|
+
:var => options[:var],
|
|
97
|
+
:limit => options[:limit]
|
|
98
|
+
)
|
|
99
|
+
else
|
|
100
|
+
query = query.limit(options[:limit]).all
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# Loop over the rows and create a hash containing the custom fields and
|
|
104
|
+
# values of each entry.
|
|
105
|
+
query.each do |row|
|
|
106
|
+
row.fields ||= {}
|
|
107
|
+
|
|
108
|
+
# Get the fields?
|
|
109
|
+
if options[:custom_field_values] == true
|
|
110
|
+
row.custom_field_values.each do |field_value|
|
|
111
|
+
name = field_value.custom_field.slug.to_sym
|
|
112
|
+
row.fields[name] = field_value.html
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
return query
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
##
|
|
121
|
+
# Retrieves the details of a single section entry.
|
|
122
|
+
#
|
|
123
|
+
# @example Get a single entry
|
|
124
|
+
# entry = get_entry('home')
|
|
125
|
+
#
|
|
126
|
+
# @since 0.3
|
|
127
|
+
# @param [String|Fixnum] entry The ID or slug of an entry to retrieve.
|
|
128
|
+
# @return [Mixed]
|
|
129
|
+
#
|
|
130
|
+
def get_entry(entry)
|
|
131
|
+
row = Sections::Model::SectionEntry.find_by_pk_or_slug(entry)
|
|
132
|
+
|
|
133
|
+
return row if row.nil?
|
|
134
|
+
|
|
135
|
+
row.fields ||= {}
|
|
136
|
+
|
|
137
|
+
row.custom_field_values.each do |field_value|
|
|
138
|
+
name = field_value.custom_field.slug.to_sym
|
|
139
|
+
row.fields[name] = field_value.html
|
|
140
|
+
end
|
|
141
|
+
|
|
142
|
+
return row
|
|
143
|
+
end
|
|
144
|
+
end # SectionFrontend
|
|
145
|
+
end # Helper
|
|
146
|
+
end # Ramaze
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
Zen::Language::Translation.add do |trans|
|
|
4
|
+
trans.language = 'en'
|
|
5
|
+
trans.name = 'section_entries'
|
|
6
|
+
|
|
7
|
+
trans.translate do |t|
|
|
8
|
+
t['titles.index'] = 'Section Entries'
|
|
9
|
+
t['titles.edit'] = 'Edit Entry'
|
|
10
|
+
t['titles.new'] = 'Add Entry'
|
|
11
|
+
|
|
12
|
+
t['labels.id'] = '#'
|
|
13
|
+
t['labels.title'] = 'Title'
|
|
14
|
+
t['labels.slug'] = 'Slug'
|
|
15
|
+
t['labels.status'] = 'Status'
|
|
16
|
+
t['labels.created_at'] = 'Created at'
|
|
17
|
+
t['labels.updated_at'] = 'Updated at'
|
|
18
|
+
t['labels.author'] = 'Author'
|
|
19
|
+
|
|
20
|
+
t['special.status_hash.draft'] = 'Draft'
|
|
21
|
+
t['special.status_hash.published'] = 'Published'
|
|
22
|
+
|
|
23
|
+
t['tabs.basic'] = 'Basic'
|
|
24
|
+
t['tabs.categories'] = 'Categories'
|
|
25
|
+
|
|
26
|
+
t['messages.no_entries'] = 'No section entries were found.'
|
|
27
|
+
t['messages.no_categories'] = 'No categories have been assigned to the '\
|
|
28
|
+
'current section.'
|
|
29
|
+
|
|
30
|
+
t['errors.new'] = 'Failed to create a new section entry.'
|
|
31
|
+
t['errors.save'] = 'Failed to save the section entry.'
|
|
32
|
+
t['errors.delete'] = 'Failed to delete the section entry with ID#%s'
|
|
33
|
+
t['errors.no_delete'] = 'You haven\'t specified any section '\
|
|
34
|
+
'entries to delete.'
|
|
35
|
+
t['errors.invalid_entry'] = 'The specified entry is invalid.'
|
|
36
|
+
|
|
37
|
+
t['success.new'] = 'The new section entry has been created.'
|
|
38
|
+
t['success.save'] = 'The section entry has been modified.'
|
|
39
|
+
t['success.delete'] = 'All selected entries have been deleted.'
|
|
40
|
+
|
|
41
|
+
t['buttons.new'] = 'Add section entry'
|
|
42
|
+
t['buttons.delete'] = 'Delete selected entries'
|
|
43
|
+
t['buttons.save'] = 'Save entry'
|
|
44
|
+
|
|
45
|
+
t['permissions.show'] = 'Show section entry'
|
|
46
|
+
t['permissions.edit'] = 'Edit section entry'
|
|
47
|
+
t['permissions.new'] = 'Add section entry'
|
|
48
|
+
t['permissions.delete'] = 'Delete section entry'
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
Zen::Language::Translation.add do |trans|
|
|
4
|
+
trans.language = 'en'
|
|
5
|
+
trans.name = 'sections'
|
|
6
|
+
|
|
7
|
+
trans.translate do |t|
|
|
8
|
+
t['titles.index'] = 'Sections'
|
|
9
|
+
t['titles.edit'] = 'Edit Section'
|
|
10
|
+
t['titles.new'] = 'Add Secton'
|
|
11
|
+
|
|
12
|
+
t['labels.id'] = '#'
|
|
13
|
+
t['labels.name'] = 'Name'
|
|
14
|
+
t['labels.slug'] = 'Slug'
|
|
15
|
+
t['labels.description'] = 'Description'
|
|
16
|
+
t['labels.comment_allow'] = 'Allow comments'
|
|
17
|
+
t['labels.comment_require_account'] = 'Comments require an account'
|
|
18
|
+
t['labels.comment_moderate'] = 'Moderate comments'
|
|
19
|
+
t['labels.comment_format'] = 'Comment format'
|
|
20
|
+
t['labels.custom_field_groups'] = 'Custom field groups'
|
|
21
|
+
t['labels.category_groups'] = 'Category groups'
|
|
22
|
+
t['labels.manage_entries'] = 'Manage entries'
|
|
23
|
+
|
|
24
|
+
t['special.boolean_hash.true'] = 'Yes'
|
|
25
|
+
t['special.boolean_hash.false'] = 'No'
|
|
26
|
+
|
|
27
|
+
t['tabs.general'] = 'General'
|
|
28
|
+
t['tabs.comment_settings'] = 'Comment Settings'
|
|
29
|
+
t['tabs.group_assignments'] = 'Group Assignments'
|
|
30
|
+
|
|
31
|
+
t['messages.no_sections'] = 'No sections have been created yet.'
|
|
32
|
+
|
|
33
|
+
t['errors.new'] = 'Failed to create a new section.'
|
|
34
|
+
t['errors.save'] = 'Failed to modify the section.'
|
|
35
|
+
t['errors.delete'] = 'Failed to delete the section with ID #%s.'
|
|
36
|
+
t['errors.no_delete'] = 'You need to specify at least one ' \
|
|
37
|
+
'section to delete.'
|
|
38
|
+
t['errors.invalid_section'] = 'The specified section is invalid.'
|
|
39
|
+
|
|
40
|
+
t['success.new'] = 'The new section has been created.'
|
|
41
|
+
t['success.save'] = 'The section has been modified.'
|
|
42
|
+
t['success.delete'] = 'The selected sections have been deleted.'
|
|
43
|
+
|
|
44
|
+
t['buttons.new'] = 'Add section'
|
|
45
|
+
t['buttons.delete'] = 'Delete selected sections'
|
|
46
|
+
t['buttons.save'] = 'Save section'
|
|
47
|
+
|
|
48
|
+
t['permissions.show'] = 'Show section'
|
|
49
|
+
t['permissions.edit'] = 'Edit section'
|
|
50
|
+
t['permissions.new'] = 'Add section'
|
|
51
|
+
t['permissions.delete'] = 'Delete section'
|
|
52
|
+
|
|
53
|
+
t['description'] = 'Manage sections and section entries.'
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
Zen::Language::Translation.add do |trans|
|
|
4
|
+
trans.language = 'nl'
|
|
5
|
+
trans.name = 'section_entries'
|
|
6
|
+
|
|
7
|
+
trans.translate do |t|
|
|
8
|
+
t['titles.index'] = 'Sectie items'
|
|
9
|
+
t['titles.edit'] = 'Sectie item aanpassen'
|
|
10
|
+
t['titles.new'] = 'Sectie item aanmaken'
|
|
11
|
+
|
|
12
|
+
t['labels.id'] = '#'
|
|
13
|
+
t['labels.title'] = 'Titel'
|
|
14
|
+
t['labels.slug'] = 'Slug'
|
|
15
|
+
t['labels.status'] = 'Status'
|
|
16
|
+
t['labels.created_at'] = 'Aanmaak datum'
|
|
17
|
+
t['labels.updated_at'] = 'Aanpas datum'
|
|
18
|
+
t['labels.author'] = 'Auteur'
|
|
19
|
+
|
|
20
|
+
t['special.status_hash.draft'] = 'Voorbeeld'
|
|
21
|
+
t['special.status_hash.published'] = 'Gepubliceerd'
|
|
22
|
+
|
|
23
|
+
t['tabs.basic'] = 'Algemeen'
|
|
24
|
+
t['tabs.categories'] = 'Categoriën'
|
|
25
|
+
|
|
26
|
+
t['messages.no_entries'] = 'Er konden geen items worden gevonden.'
|
|
27
|
+
t['messages.no_categories'] = 'De huidige sectie bevat geen categoriën.'
|
|
28
|
+
|
|
29
|
+
t['success.new'] = 'Het sectie item is aangemaakt.'
|
|
30
|
+
t['success.save'] = 'Het sectie item is aangepast.'
|
|
31
|
+
t['success.delete'] = 'Alle geselecteerde items zijn verwijderd.'
|
|
32
|
+
|
|
33
|
+
t['errors.new'] = 'Het sectie item kon niet worden aangemaakt.'
|
|
34
|
+
t['errors.save'] = 'Het sectie item kon niet worden aangepast.'
|
|
35
|
+
t['errors.delete'] = 'Het sectie item met ID #%s kon niet ' \
|
|
36
|
+
'worden verwijderd.'
|
|
37
|
+
t['errors.no_delete'] = 'U moet ten minste 1 item specificeren ' \
|
|
38
|
+
'om te verwijderen.'
|
|
39
|
+
t['errors.invalid_entry'] = 'Het opgegeven item is ongeldig.'
|
|
40
|
+
|
|
41
|
+
t['buttons.new'] = 'Sectie item toevoegen'
|
|
42
|
+
t['buttons.save'] = 'Sectie item opslaan'
|
|
43
|
+
t['buttons.delete'] = 'Geselecteerde items verwijderen'
|
|
44
|
+
|
|
45
|
+
t['permissions.show'] = 'Sectie item weergeven'
|
|
46
|
+
t['permissions.edit'] = 'Sectie item aanpassen'
|
|
47
|
+
t['permissions.new'] = 'Sectie item aanmaken'
|
|
48
|
+
t['permissions.delete'] = 'Sectie item verwijderen'
|
|
49
|
+
end
|
|
50
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
Zen::Language::Translation.add do |trans|
|
|
4
|
+
trans.language = 'nl'
|
|
5
|
+
trans.name = 'sections'
|
|
6
|
+
|
|
7
|
+
trans.translate do |t|
|
|
8
|
+
t['titles.index'] = 'Secties'
|
|
9
|
+
t['titles.edit'] = 'Sectie aanpassen'
|
|
10
|
+
t['titles.new'] = 'Sectie toevoegen'
|
|
11
|
+
|
|
12
|
+
t['labels.id'] = '#'
|
|
13
|
+
t['labels.name'] = 'Naam'
|
|
14
|
+
t['labels.slug'] = 'Slug'
|
|
15
|
+
t['labels.description'] = 'Beschrijving'
|
|
16
|
+
t['labels.comment_allow'] = 'Reacties toegestaan'
|
|
17
|
+
t['labels.comment_require_account'] = 'Reacties vereisen een account'
|
|
18
|
+
t['labels.comment_moderate'] = 'Beheer reacties'
|
|
19
|
+
t['labels.comment_format'] = 'Text opmaak'
|
|
20
|
+
t['labels.custom_field_groups'] = 'Veld groepen'
|
|
21
|
+
t['labels.category_groups'] = 'Categorie groepen'
|
|
22
|
+
t['labels.manage_entries'] = 'Beheer items'
|
|
23
|
+
|
|
24
|
+
t['special.boolean_hash.true'] = 'Ja'
|
|
25
|
+
t['special.boolean_hash.false'] = 'Nee'
|
|
26
|
+
|
|
27
|
+
t['tabs.general'] = 'Algemeen'
|
|
28
|
+
t['tabs.comment_settings'] = 'Reactie instellingen'
|
|
29
|
+
t['tabs.group_assignments'] = 'Groepen'
|
|
30
|
+
|
|
31
|
+
t['messages.no_sections'] = 'Er konden geen secties worden gevonden.'
|
|
32
|
+
|
|
33
|
+
t['success.new'] = 'De sectie is aangemaakt.'
|
|
34
|
+
t['success.save'] = 'De sectie is aangepast.'
|
|
35
|
+
t['success.delete'] = 'Alle geselecteerde secties zijn verwijderd.'
|
|
36
|
+
|
|
37
|
+
t['errors.new'] = 'De sectie kon niet worden aangemaakt.'
|
|
38
|
+
t['errors.save'] = 'De sectie kon niet worden aangepast.'
|
|
39
|
+
t['errors.delete'] = 'De sectie met ID #%s kon niet worden verwijderd.'
|
|
40
|
+
t['errors.no_delete'] = 'U moet ten minste 1 sectie specificeren ' \
|
|
41
|
+
'om te verwijderen.'
|
|
42
|
+
t['errors.invalid_section'] = 'De opgegeven sectie is ongeldig.'
|
|
43
|
+
|
|
44
|
+
t['buttons.new'] = 'Sectie toevoegen'
|
|
45
|
+
t['buttons.save'] = 'Sectie opslaan'
|
|
46
|
+
t['buttons.delete'] = 'Geselecteerde secties verwijderen'
|
|
47
|
+
|
|
48
|
+
t['permissions.show'] = 'Sectie weergeven'
|
|
49
|
+
t['permissions.edit'] = 'Sectie aanpassen'
|
|
50
|
+
t['permissions.new'] = 'Sectie aanmaken'
|
|
51
|
+
t['permissions.delete'] = 'Sectie verwijderen'
|
|
52
|
+
|
|
53
|
+
t['description'] = 'Beheer secties en sectie items.'
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -1,64 +1,64 @@
|
|
|
1
|
-
#:nodoc:
|
|
2
1
|
module Sections
|
|
3
2
|
#:nodoc:
|
|
4
3
|
module Model
|
|
5
4
|
##
|
|
6
|
-
# Model that represents a single section.
|
|
7
|
-
# relations:
|
|
5
|
+
# Model that represents a single section.
|
|
8
6
|
#
|
|
9
|
-
# * section entries (one to many), eager loads the custom field values
|
|
10
|
-
# * custom field group (many to many)
|
|
11
|
-
# * category groups (many to many)
|
|
12
|
-
#
|
|
13
|
-
# The following plugins are loaded by this model:
|
|
14
|
-
#
|
|
15
|
-
# * sluggable (source: "name")
|
|
16
|
-
#
|
|
17
|
-
# @author Yorick Peterse
|
|
18
7
|
# @since 0.1
|
|
19
8
|
#
|
|
20
9
|
class Section < Sequel::Model
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
10
|
+
include Zen::Model::Helper
|
|
11
|
+
|
|
12
|
+
one_to_many :section_entries,
|
|
13
|
+
:class => 'Sections::Model::SectionEntry',
|
|
24
14
|
:eager => [:custom_field_values, :section_entry_status]
|
|
25
|
-
)
|
|
26
|
-
|
|
27
|
-
many_to_many(
|
|
28
|
-
:custom_field_groups,
|
|
29
|
-
:class => "CustomFields::Model::CustomFieldGroup"
|
|
30
|
-
)
|
|
31
15
|
|
|
32
|
-
many_to_many
|
|
33
|
-
:
|
|
34
|
-
|
|
35
|
-
|
|
16
|
+
many_to_many :custom_field_groups,
|
|
17
|
+
:class => 'CustomFields::Model::CustomFieldGroup'
|
|
18
|
+
|
|
19
|
+
many_to_many :category_groups,
|
|
20
|
+
:class => 'Categories::Model::CategoryGroup'
|
|
21
|
+
|
|
22
|
+
plugin :sluggable, :source => :name, :freeze => false
|
|
23
|
+
|
|
24
|
+
##
|
|
25
|
+
# Searches for a number of sections of which the title or description
|
|
26
|
+
# matches the search query.
|
|
27
|
+
#
|
|
28
|
+
# @example
|
|
29
|
+
# Sections::Model::Section.search('pages')
|
|
30
|
+
#
|
|
31
|
+
# @since 16-10-2011
|
|
32
|
+
# @param [String] query The search query.
|
|
33
|
+
# @return [Mixed]
|
|
34
|
+
#
|
|
35
|
+
def self.search(query)
|
|
36
|
+
return filter(
|
|
37
|
+
search_column(:name, query) | search_column(:description, query)
|
|
38
|
+
)
|
|
39
|
+
end
|
|
36
40
|
|
|
37
|
-
plugin(:sluggable, :source => :name, :freeze => false)
|
|
38
|
-
|
|
39
41
|
##
|
|
40
42
|
# Specifies all validation rules for each section.
|
|
41
43
|
#
|
|
42
|
-
# @author Yorick Peterse
|
|
43
44
|
# @since 0.1
|
|
44
45
|
#
|
|
45
46
|
def validate
|
|
46
47
|
validates_presence([
|
|
47
|
-
:name,
|
|
48
|
-
:comment_allow,
|
|
49
|
-
:comment_require_account,
|
|
50
|
-
:comment_moderate,
|
|
48
|
+
:name,
|
|
49
|
+
:comment_allow,
|
|
50
|
+
:comment_require_account,
|
|
51
|
+
:comment_moderate,
|
|
51
52
|
:comment_format
|
|
52
53
|
])
|
|
53
54
|
|
|
54
|
-
validates_presence(:slug) unless new?
|
|
55
55
|
validates_max_length(255, [:name, :slug])
|
|
56
|
-
|
|
56
|
+
|
|
57
57
|
validates_type(
|
|
58
|
-
TrueClass,
|
|
58
|
+
TrueClass,
|
|
59
59
|
[:comment_allow, :comment_require_account, :comment_moderate]
|
|
60
60
|
)
|
|
61
|
-
|
|
61
|
+
|
|
62
62
|
validates_unique(:slug)
|
|
63
63
|
end
|
|
64
64
|
end # Section
|