zen 0.3 → 0.4
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 +3 -2
- data/.rvmrc +1 -1
- data/.travis.yml +5 -0
- data/.yardopts +2 -1
- data/LICENSE +1 -1
- data/README.md +28 -24
- data/Rakefile +5 -2
- data/guide/asset_management.md +6 -6
- data/guide/autosaving_forms.md +42 -0
- data/guide/changelog.md +41 -0
- data/guide/faq.md +49 -0
- data/guide/getting_started.md +24 -13
- data/guide/hacking.md +40 -9
- data/guide/images/categories/categories.png +0 -0
- data/guide/images/categories/category_groups.png +0 -0
- data/guide/images/categories/new_category.png +0 -0
- data/guide/images/categories/new_category_group.png +0 -0
- data/guide/images/comments/comments.png +0 -0
- data/guide/images/comments/edit_comment.png +0 -0
- data/guide/images/custom_fields/custom_field_groups.png +0 -0
- data/guide/images/custom_fields/custom_field_types.png +0 -0
- data/guide/images/custom_fields/custom_fields.png +0 -0
- data/guide/images/custom_fields/edit_custom_field_general.png +0 -0
- data/guide/images/custom_fields/edit_custom_field_group.png +0 -0
- data/guide/images/custom_fields/edit_custom_field_settings.png +0 -0
- data/guide/images/custom_fields/edit_custom_field_type.png +0 -0
- data/guide/images/dashboard/added.png +0 -0
- data/guide/images/dashboard/columns.png +0 -0
- data/guide/images/dashboard/dashboard.png +0 -0
- data/guide/images/dashboard/options.png +0 -0
- data/guide/images/menus/edit_menu.png +0 -0
- data/guide/images/menus/edit_menu_item.png +0 -0
- data/guide/images/menus/menu_item_hierarchy.png +0 -0
- data/guide/images/menus/menu_items.png +0 -0
- data/guide/images/menus/menus.png +0 -0
- data/guide/images/sections/edit_entry.png +0 -0
- data/guide/images/sections/edit_entry_categories.png +0 -0
- data/guide/images/sections/edit_entry_general.png +0 -0
- data/guide/images/sections/edit_entry_meta.png +0 -0
- data/guide/images/sections/edit_section_comments.png +0 -0
- data/guide/images/sections/edit_section_general.png +0 -0
- data/guide/images/sections/edit_section_groups.png +0 -0
- data/guide/images/sections/entries.png +0 -0
- data/guide/images/sections/sections.png +0 -0
- data/guide/images/settings/overview_general.png +0 -0
- data/guide/images/settings/overview_security.png +0 -0
- data/guide/images/settings/overview_user.png +0 -0
- data/guide/images/users/edit_user.png +0 -0
- data/guide/images/users/edit_user_group.png +0 -0
- data/guide/images/users/edit_user_group_permissions.png +0 -0
- data/guide/images/users/edit_user_permissions.png +0 -0
- data/guide/images/users/overview.png +0 -0
- data/guide/images/users/user_groups_overview.png +0 -0
- data/guide/installation.md +7 -1
- data/guide/javascript.md +36 -273
- data/guide/javascript/zen_autosave.md +26 -0
- data/guide/javascript/zen_editor.md +83 -0
- data/guide/javascript/zen_hash.md +34 -0
- data/guide/javascript/zen_htmltable.md +78 -0
- data/guide/javascript/zen_tabs.md +44 -0
- data/guide/javascript/zen_window.md +49 -0
- data/guide/zen_compared.md +201 -0
- data/lib/vendor/sequel_sluggable.rb +1 -1
- data/lib/zen.rb +64 -44
- data/lib/zen/asset_groups.rb +10 -10
- data/lib/zen/bin/create.rb +8 -1
- data/lib/zen/helper/breadcrumb.rb +4 -12
- data/lib/zen/helper/controller.rb +209 -6
- data/lib/zen/helper/locale.rb +19 -0
- data/lib/zen/helper/search.rb +1 -1
- data/lib/zen/helper/stacked_aspect.rb +7 -43
- data/lib/zen/helper/theme.rb +3 -3
- data/lib/zen/language.rb +5 -10
- data/lib/zen/language/translation.rb +1 -1
- data/lib/zen/layout/admin.xhtml +41 -25
- data/lib/zen/layout/login.xhtml +8 -3
- data/lib/zen/migrator.rb +54 -0
- data/lib/zen/model/helper.rb +20 -1
- data/lib/zen/model/init.rb +2 -0
- data/lib/zen/model/plugin/events.rb +158 -0
- data/lib/zen/package.rb +32 -6
- data/lib/zen/package/all.rb +1 -0
- data/lib/zen/package/categories/lib/categories.rb +6 -6
- data/lib/zen/package/categories/lib/categories/controller/categories.rb +20 -83
- data/lib/zen/package/categories/lib/categories/controller/category_groups.rb +23 -74
- data/lib/zen/package/categories/lib/categories/model/category.rb +58 -1
- data/lib/zen/package/categories/lib/categories/model/category_group.rb +62 -2
- data/lib/zen/package/categories/lib/categories/view/admin/categories/form.xhtml +46 -40
- data/lib/zen/package/categories/lib/categories/view/admin/categories/index.xhtml +74 -75
- data/lib/zen/package/categories/lib/categories/view/admin/category-groups/form.xhtml +27 -24
- data/lib/zen/package/categories/lib/categories/view/admin/category-groups/index.xhtml +83 -86
- data/lib/zen/package/comments/lib/comments.rb +5 -5
- data/lib/zen/package/comments/lib/comments/controller/comments.rb +12 -64
- data/lib/zen/package/comments/lib/comments/controller/comments_form.rb +4 -22
- data/lib/zen/package/comments/lib/comments/model/comment.rb +65 -16
- data/lib/zen/package/comments/lib/comments/view/admin/comments/form.xhtml +52 -49
- data/lib/zen/package/comments/lib/comments/view/admin/comments/index.xhtml +52 -60
- data/lib/zen/package/comments/migrations/1308774099_comment_status.rb +1 -1
- data/lib/zen/package/custom_fields/lib/custom_fields.rb +11 -13
- data/lib/zen/package/custom_fields/lib/custom_fields/blue_form_parameters.rb +29 -13
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +21 -50
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_types.rb +27 -71
- data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_fields.rb +25 -78
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field.rb +48 -1
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_group.rb +35 -1
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_method.rb +3 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_type.rb +40 -1
- data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_value.rb +1 -0
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/form.xhtml +29 -26
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-groups/index.xhtml +96 -100
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-types/form.xhtml +56 -53
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-field-types/index.xhtml +82 -82
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/form.xhtml +88 -85
- data/lib/zen/package/custom_fields/lib/custom_fields/view/admin/custom-fields/index.xhtml +83 -80
- data/lib/zen/package/dashboard/lib/dashboard.rb +28 -0
- data/lib/zen/package/dashboard/lib/dashboard/controller/dashboard.rb +154 -0
- data/lib/zen/package/dashboard/lib/dashboard/language/en/dashboard.rb +35 -0
- data/lib/zen/package/dashboard/lib/dashboard/language/nl/dashboard.rb +36 -0
- data/lib/zen/package/dashboard/lib/dashboard/model/widget.rb +45 -0
- data/lib/zen/package/dashboard/lib/dashboard/public/admin/dashboard/css/dashboard.css +74 -0
- data/lib/zen/package/dashboard/lib/dashboard/public/admin/dashboard/js/dashboard.js +102 -0
- data/lib/zen/package/dashboard/lib/dashboard/view/admin/index.xhtml +29 -0
- data/lib/zen/package/dashboard/lib/dashboard/view/admin/widget/welcome.xhtml +28 -0
- data/lib/zen/package/dashboard/lib/dashboard/widget.rb +292 -0
- data/lib/zen/package/dashboard/lib/dashboard/widget/welcome.rb +9 -0
- data/lib/zen/package/dashboard/migrations/1326411254_create_schema.rb +28 -0
- data/lib/zen/package/extensions/lib/extensions.rb +5 -5
- data/lib/zen/package/extensions/lib/extensions/view/admin/extensions/index.xhtml +72 -67
- data/lib/zen/package/menu.rb +6 -1
- data/lib/zen/package/menus/lib/menus.rb +6 -4
- data/lib/zen/package/menus/lib/menus/controller/menu_items.rb +69 -104
- data/lib/zen/package/menus/lib/menus/controller/menus.rb +19 -76
- data/lib/zen/package/menus/lib/menus/helper/menu.rb +54 -38
- data/lib/zen/package/menus/lib/menus/helper/menu_frontend.rb +7 -13
- data/lib/zen/package/menus/lib/menus/model/menu.rb +158 -2
- data/lib/zen/package/menus/lib/menus/model/menu_item.rb +73 -10
- data/lib/zen/package/menus/lib/menus/public/admin/menus/css/menus.css +47 -0
- data/lib/zen/package/menus/lib/menus/public/admin/menus/js/lib/nested_sortables.js +549 -0
- data/lib/zen/package/menus/lib/menus/public/admin/menus/js/menu_items.js +38 -0
- data/lib/zen/package/menus/lib/menus/view/admin/menu-items/form.xhtml +51 -61
- data/lib/zen/package/menus/lib/menus/view/admin/menu-items/index.xhtml +18 -81
- data/lib/zen/package/menus/lib/menus/view/admin/menus/form.xhtml +49 -44
- data/lib/zen/package/menus/lib/menus/view/admin/menus/index.xhtml +81 -83
- data/lib/zen/package/sections/lib/sections.rb +9 -4
- data/lib/zen/package/sections/lib/sections/controller/section_entries.rb +80 -132
- data/lib/zen/package/sections/lib/sections/controller/sections.rb +27 -73
- data/lib/zen/package/sections/lib/sections/helper/section.rb +44 -1
- data/lib/zen/package/sections/lib/sections/language/en/section_entries.rb +2 -0
- data/lib/zen/package/sections/lib/sections/language/nl/section_entries.rb +2 -0
- data/lib/zen/package/sections/lib/sections/model/section.rb +48 -1
- data/lib/zen/package/sections/lib/sections/model/section_entry.rb +55 -5
- data/lib/zen/package/sections/lib/sections/model/section_entry_status.rb +2 -0
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/form.xhtml +76 -67
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/index.xhtml +74 -79
- data/lib/zen/package/sections/lib/sections/view/admin/section-entries/recent_entries.xhtml +45 -0
- data/lib/zen/package/sections/lib/sections/view/admin/sections/form.xhtml +119 -0
- data/lib/zen/package/sections/lib/sections/view/admin/sections/index.xhtml +96 -0
- data/lib/zen/package/sections/lib/sections/widget/recent_entries.rb +14 -0
- data/lib/zen/package/sections/migrations/1308813320_section_entry_statuses.rb +1 -1
- data/lib/zen/package/settings/lib/settings.rb +14 -5
- data/lib/zen/package/settings/lib/settings/controller/settings.rb +4 -4
- data/lib/zen/package/settings/lib/settings/language/nl/settings.rb +1 -1
- data/lib/zen/package/settings/lib/settings/setting.rb +1 -1
- data/lib/zen/package/settings/lib/settings/view/admin/settings/index.xhtml +21 -17
- data/lib/zen/package/users/lib/users.rb +18 -19
- data/lib/zen/package/users/lib/users/controller/user_groups.rb +23 -50
- data/lib/zen/package/users/lib/users/controller/users.rb +57 -89
- data/lib/zen/package/users/lib/users/helper/acl.rb +1 -0
- data/lib/zen/package/users/lib/users/language/en/user_groups.rb +1 -0
- data/lib/zen/package/users/lib/users/language/en/users.rb +2 -1
- data/lib/zen/package/users/lib/users/language/nl/user_groups.rb +1 -0
- data/lib/zen/package/users/lib/users/language/nl/users.rb +2 -1
- data/lib/zen/package/users/lib/users/model/permission.rb +13 -0
- data/lib/zen/package/users/lib/users/model/user.rb +57 -4
- data/lib/zen/package/users/lib/users/model/user_group.rb +37 -3
- data/lib/zen/package/users/lib/users/model/user_status.rb +4 -0
- data/lib/zen/package/users/lib/users/public/admin/{css/users/permissions.css → users/css/users.css} +0 -0
- data/lib/zen/package/users/lib/users/public/admin/{js/users/permissions.js → users/js/users.js} +4 -2
- data/lib/zen/package/users/lib/users/view/admin/user-groups/form.xhtml +51 -47
- data/lib/zen/package/users/lib/users/view/admin/user-groups/index.xhtml +62 -69
- data/lib/zen/package/users/lib/users/view/admin/users/form.xhtml +92 -82
- data/lib/zen/package/users/lib/users/view/admin/users/index.xhtml +68 -66
- data/lib/zen/package/users/lib/users/view/admin/users/login.xhtml +36 -28
- data/lib/zen/package/users/lib/users/view/admin/users/permissions.xhtml +5 -7
- data/lib/zen/package/users/lib/users/view/admin/users/register.xhtml +47 -41
- data/lib/zen/package/users/migrations/1320272365_status_ids.rb +1 -1
- data/lib/zen/public/admin/{js/vendor/mootools → mootools/js}/core.js +113 -108
- data/lib/zen/public/admin/{js/vendor/mootools → mootools/js}/more.js +99 -6
- data/lib/zen/public/admin/zen/css/buttons.css +106 -0
- data/lib/zen/public/admin/{css/zen → zen/css}/datepicker.css +45 -30
- data/lib/zen/public/admin/zen/css/editor.css +69 -0
- data/lib/zen/public/admin/{css/zen → zen/css}/forms.css +28 -30
- data/lib/zen/public/admin/zen/css/general.css +183 -0
- data/lib/zen/public/admin/zen/css/layout.css +224 -0
- data/lib/zen/public/admin/zen/css/messages.css +34 -0
- data/lib/zen/public/admin/{css/zen → zen/css}/reset.css +4 -9
- data/lib/zen/public/admin/zen/css/tables.css +57 -0
- data/lib/zen/public/admin/zen/css/tabs.css +84 -0
- data/lib/zen/public/admin/zen/css/window.css +74 -0
- data/lib/zen/public/admin/{images/zen → zen/images}/icons/asc.png +0 -0
- data/lib/zen/public/admin/{images/zen → zen/images}/icons/bold.png +0 -0
- data/lib/zen/public/admin/zen/images/icons/box.png +0 -0
- data/lib/zen/public/admin/zen/images/icons/categories.png +0 -0
- data/lib/zen/public/admin/{images/zen → zen/images}/icons/close.png +0 -0
- data/lib/zen/public/admin/zen/images/icons/comment.png +0 -0
- data/lib/zen/public/admin/{images/zen → zen/images}/icons/desc.png +0 -0
- data/lib/zen/public/admin/{images/zen → zen/images}/icons/edit.png +0 -0
- data/lib/zen/public/admin/{images/zen → zen/images}/icons/error.png +0 -0
- data/lib/zen/public/admin/zen/images/icons/external.png +0 -0
- data/lib/zen/public/admin/zen/images/icons/globe.png +0 -0
- data/lib/zen/public/admin/{images/zen → zen/images}/icons/italic.png +0 -0
- data/lib/zen/public/admin/{images/zen → zen/images}/icons/link.png +0 -0
- data/lib/zen/public/admin/zen/images/icons/lock.png +0 -0
- data/lib/zen/public/admin/{images/zen → zen/images}/icons/ol.png +0 -0
- data/lib/zen/public/admin/zen/images/icons/pages.png +0 -0
- data/lib/zen/public/admin/{images/zen → zen/images}/icons/preview.png +0 -0
- data/lib/zen/public/admin/zen/images/icons/relation.png +0 -0
- data/lib/zen/public/admin/zen/images/icons/settings.png +0 -0
- data/lib/zen/public/admin/zen/images/icons/template.png +0 -0
- data/lib/zen/public/admin/{images/zen → zen/images}/icons/ul.png +0 -0
- data/lib/zen/public/admin/{images/zen → zen/images}/icons/user.png +0 -0
- data/lib/zen/public/admin/zen/images/icons/user_group.png +0 -0
- data/lib/zen/public/admin/{js/zen → zen/js}/index.js +21 -9
- data/lib/zen/public/admin/zen/js/lib/autosave.js +185 -0
- data/lib/zen/public/admin/zen/js/lib/base.js +60 -0
- data/lib/zen/public/admin/{js/vendor → zen/js/lib}/datepicker.js +52 -28
- data/lib/zen/public/admin/{js/zen → zen/js}/lib/editor.js +23 -34
- data/lib/zen/public/admin/{js/zen → zen/js}/lib/editor/markdown.js +5 -1
- data/lib/zen/public/admin/{js/zen → zen/js}/lib/editor/textile.js +4 -0
- data/lib/zen/public/admin/zen/js/lib/hash.js +218 -0
- data/lib/zen/public/admin/{js/zen → zen/js}/lib/html_table.js +5 -0
- data/lib/zen/public/admin/zen/js/lib/tabs.js +194 -0
- data/lib/zen/public/admin/{js/zen → zen/js}/lib/window.js +54 -29
- data/lib/zen/security.rb +50 -0
- data/lib/zen/spec/helper.rb +5 -120
- data/lib/zen/spec/helper/capybara.rb +75 -0
- data/lib/zen/spec/helper/general.rb +75 -0
- data/lib/zen/spec/simplecov.rb +1 -0
- data/lib/zen/task/build.rake +2 -21
- data/lib/zen/task/clean.rake +1 -10
- data/lib/zen/task/db.rake +4 -10
- data/lib/zen/task/package.rake +2 -5
- data/lib/zen/task/setup.rake +1 -1
- data/lib/zen/task/test.rake +6 -6
- data/lib/zen/task/theme.rake +2 -5
- data/lib/zen/theme.rb +26 -22
- data/lib/zen/version.rb +1 -1
- data/lib/zen/view/bottom.xhtml +2 -3
- data/lib/zen/view/search.xhtml +3 -5
- data/proto/app/config/config.rb.erb +1 -1
- data/proto/app/theme/default/index.xhtml +116 -20
- data/proto/app/theme/partials/head.xhtml +9 -0
- data/proto/app/theme/partials/sidebar.xhtml +40 -0
- data/proto/app/theme/theme.rb +3 -0
- data/spec/Rakefile +1 -2
- data/spec/fixtures/zen/helper/stacked_aspect.rb +54 -0
- data/spec/fixtures/zen/package/dashboard/controller/widget.rb +15 -0
- data/spec/fixtures/zen/package/dashboard/widget.rb +5 -0
- data/spec/fixtures/zen/theme/theme.rb +2 -2
- data/spec/helper.rb +19 -10
- data/spec/zen/controller/admin_controller.rb +3 -3
- data/spec/zen/controller/main_controller.rb +7 -7
- data/spec/zen/controller/preview.rb +3 -3
- data/spec/zen/event.rb +4 -4
- data/spec/zen/helper/breadcrumb.rb +4 -8
- data/spec/zen/helper/controller.rb +47 -4
- data/spec/zen/helper/locale.rb +3 -3
- data/spec/zen/helper/message.rb +4 -4
- data/spec/zen/helper/stacked_aspect.rb +40 -0
- data/spec/zen/helper/theme.rb +9 -9
- data/spec/zen/language.rb +8 -8
- data/spec/zen/markup.rb +6 -6
- data/spec/zen/package.rb +11 -9
- data/spec/zen/package/categories/controller/categories.rb +56 -24
- data/spec/zen/package/categories/controller/category_groups.rb +55 -23
- data/spec/zen/package/categories/helper/category.rb +5 -5
- data/spec/zen/package/categories/helper/category_frontend.rb +5 -5
- data/spec/zen/package/comments/anti_spam.rb +4 -4
- data/spec/zen/package/comments/controller/comments.rb +95 -24
- data/spec/zen/package/comments/controller/comments_form.rb +31 -26
- data/spec/zen/package/comments/helper/comment.rb +3 -3
- data/spec/zen/package/comments/helper/comment_frontend.rb +6 -6
- data/spec/zen/package/custom_fields/blue_form_parameters.rb +8 -8
- data/spec/zen/package/custom_fields/controller/custom_field_groups.rb +58 -27
- data/spec/zen/package/custom_fields/controller/custom_field_types.rb +57 -27
- data/spec/zen/package/custom_fields/controller/custom_fields.rb +58 -27
- data/spec/zen/package/custom_fields/helper/custom_field.rb +7 -7
- data/spec/zen/package/dashboard/controller/dashboard.rb +147 -0
- data/spec/zen/package/dashboard/widget.rb +56 -0
- data/spec/zen/package/extensions/controller/extensions.rb +4 -4
- data/spec/zen/package/menus/controller/menu_items.rb +48 -39
- data/spec/zen/package/menus/controller/menus.rb +55 -24
- data/spec/zen/package/menus/helper/menu.rb +6 -14
- data/spec/zen/package/menus/helper/menu_frontend.rb +7 -7
- data/spec/zen/package/menus/model/menu.rb +121 -0
- data/spec/zen/package/menus/model/menu_item.rb +34 -0
- data/spec/zen/package/sections/controller/section_entries.rb +104 -39
- data/spec/zen/package/sections/controller/sections.rb +60 -27
- data/spec/zen/package/sections/helper/section.rb +5 -5
- data/spec/zen/package/sections/helper/section_frontend.rb +9 -9
- data/spec/zen/package/sections/widget.rb +44 -0
- data/spec/zen/package/settings/controller/settings.rb +18 -16
- data/spec/zen/package/settings/settings.rb +12 -12
- data/spec/zen/package/users/controller/user_groups.rb +61 -29
- data/spec/zen/package/users/controller/users.rb +118 -39
- data/spec/zen/package/users/helper/access.rb +3 -3
- data/spec/zen/package/users/helper/acl.rb +4 -4
- data/spec/zen/package/users/helper/users.rb +5 -5
- data/spec/zen/security.rb +25 -0
- data/spec/zen/theme.rb +20 -18
- data/spec/zen/validation.rb +5 -5
- data/spec/zen/vendor/sequel_sluggable.rb +12 -0
- data/zen.gemspec +27 -4
- metadata +182 -124
- data/AUTHORS +0 -4
- 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/lib/zen/controller/translations.rb +0 -49
- data/lib/zen/package/sections/lib/sections/view/admin/form.xhtml +0 -113
- data/lib/zen/package/sections/lib/sections/view/admin/index.xhtml +0 -97
- data/lib/zen/public/admin/css/zen/buttons.css +0 -46
- data/lib/zen/public/admin/css/zen/editor.css +0 -88
- data/lib/zen/public/admin/css/zen/general.css +0 -109
- data/lib/zen/public/admin/css/zen/grid.css +0 -100
- data/lib/zen/public/admin/css/zen/layout.css +0 -184
- data/lib/zen/public/admin/css/zen/messages.css +0 -54
- data/lib/zen/public/admin/css/zen/tables.css +0 -97
- data/lib/zen/public/admin/css/zen/tabs.css +0 -47
- data/lib/zen/public/admin/css/zen/window.css +0 -73
- data/lib/zen/public/admin/images/zen/icons/accept.png +0 -0
- data/lib/zen/public/admin/images/zen/icons/add.png +0 -0
- data/lib/zen/public/admin/images/zen/icons/back.png +0 -0
- data/lib/zen/public/admin/images/zen/icons/delete.png +0 -0
- data/lib/zen/public/admin/images/zen/icons/help.png +0 -0
- data/lib/zen/public/admin/images/zen/icons/info.png +0 -0
- data/lib/zen/public/admin/images/zen/icons/logout.png +0 -0
- data/lib/zen/public/admin/images/zen/icons/pdf.png +0 -0
- data/lib/zen/public/admin/images/zen/icons/view.png +0 -0
- data/lib/zen/public/admin/js/zen/lib/tabs.js +0 -207
- data/lib/zen/view/main.xhtml +0 -19
data/lib/zen/package/menu.rb
CHANGED
|
@@ -81,8 +81,13 @@ module Zen
|
|
|
81
81
|
|
|
82
82
|
g = Ramaze::Gestalt.new
|
|
83
83
|
children = []
|
|
84
|
+
attrs = {}
|
|
84
85
|
|
|
85
|
-
|
|
86
|
+
if respond_to?(:request) and url == request.env['SCRIPT_NAME']
|
|
87
|
+
attrs[:class] = 'current'
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
g.li(attrs) do
|
|
86
91
|
g.a(title, :href => url, :title => title)
|
|
87
92
|
|
|
88
93
|
unless @children.empty?
|
|
@@ -7,7 +7,7 @@ Zen::Package.add do |p|
|
|
|
7
7
|
p.root = __DIR__('menus')
|
|
8
8
|
p.migrations = __DIR__('../migrations')
|
|
9
9
|
|
|
10
|
-
p.menu
|
|
10
|
+
p.menu 'menus.titles.index', '/admin/menus', :permission => :show_menu
|
|
11
11
|
|
|
12
12
|
p.permission :show_menu , 'menus.permissions.show'
|
|
13
13
|
p.permission :edit_menu , 'menus.permissions.edit'
|
|
@@ -20,12 +20,14 @@ Zen::Package.add do |p|
|
|
|
20
20
|
p.permission :delete_menu_item, 'menu_items.permissions.delete'
|
|
21
21
|
end
|
|
22
22
|
|
|
23
|
-
Zen::Language.load('menus')
|
|
24
|
-
Zen::Language.load('menu_items')
|
|
25
|
-
|
|
26
23
|
require __DIR__('menus/model/menu')
|
|
27
24
|
require __DIR__('menus/model/menu_item')
|
|
28
25
|
require __DIR__('menus/controller/menus')
|
|
29
26
|
require __DIR__('menus/controller/menu_items')
|
|
30
27
|
|
|
31
28
|
Zen::Controller::FrontendController.helper(:menu_frontend)
|
|
29
|
+
|
|
30
|
+
Zen::Event.listen :post_start do
|
|
31
|
+
Zen::Language.load('menus')
|
|
32
|
+
Zen::Language.load('menu_items')
|
|
33
|
+
end
|
|
@@ -2,28 +2,36 @@ module Menus
|
|
|
2
2
|
#:nodoc:
|
|
3
3
|
module Controller
|
|
4
4
|
##
|
|
5
|
-
#
|
|
6
|
-
#
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
5
|
+
# Managing menu items is divided into two separate parts: specifying the
|
|
6
|
+
# order and hierarchy and editing individual menu items such as their names
|
|
7
|
+
# and URLs. In order to manage a set of menu items you must navigate to the
|
|
8
|
+
# menu to which the items belong and then click on "Manage menu items". Once
|
|
9
|
+
# you've clicked this link you'll be presented with a page that looks
|
|
10
|
+
# somewhat like the one shown in the image below.
|
|
10
11
|
#
|
|
11
|
-
# 
|
|
12
13
|
#
|
|
13
|
-
#
|
|
14
|
-
#
|
|
15
|
-
# you'll end up with a form looking like the one in the following image:
|
|
14
|
+
# This overview allows you to sort and specify the hierarchy of menu items,
|
|
15
|
+
# editing individual items can be done by clicking on the name.
|
|
16
16
|
#
|
|
17
|
-
#
|
|
17
|
+
# Both sorting and creating the hierarchy is done by dragging the menu
|
|
18
|
+
# items. By dragging them up or down you can change the order, by dragging
|
|
19
|
+
# them to the left or right you can specify the parent element of a set of
|
|
20
|
+
# menu items. For example, in the image below the "User Guide" item has been
|
|
21
|
+
# set to be a child item of the "Home" item.
|
|
22
|
+
#
|
|
23
|
+
# 
|
|
24
|
+
#
|
|
25
|
+
# If you want to edit an individual menu item you can do so by clicking on
|
|
26
|
+
# the name of the item, once done you'll be presented with the following
|
|
27
|
+
# form:
|
|
28
|
+
#
|
|
29
|
+
# 
|
|
18
30
|
#
|
|
19
31
|
# In this form you can specify the following fields:
|
|
20
32
|
#
|
|
21
33
|
# * **Name**: the name of the menu item.
|
|
22
34
|
# * **URL**: the URL of the menu item.
|
|
23
|
-
# * **Order**: a number that indicates the sort order when the menu is
|
|
24
|
-
# built.
|
|
25
|
-
# * **Parent**: a parent menu item. This allows you to easily create sub
|
|
26
|
-
# menus.
|
|
27
35
|
# * **HTML class**: a space separated list of classes to apply to the HTML
|
|
28
36
|
# element.
|
|
29
37
|
# * **HTML ID**: a single ID to apply to the HTML element.
|
|
@@ -38,36 +46,27 @@ module Menus
|
|
|
38
46
|
# * edit_menu_item
|
|
39
47
|
# * delete_menu_item
|
|
40
48
|
#
|
|
41
|
-
# ## Events
|
|
42
|
-
#
|
|
43
|
-
# All events in this controller receive an instance of
|
|
44
|
-
# {Menus::Model::MenuItem}. Just like other packages the event
|
|
45
|
-
# ``delete_menu_item`` receives an instance that has already been destroyed.
|
|
46
|
-
#
|
|
47
|
-
# @example Automatically prefix URLs with http
|
|
48
|
-
# Zen::Event.listen(:new_menu_item) do |item|
|
|
49
|
-
# unless item.url =~ /^http/
|
|
50
|
-
# item.url = 'http://' + item.url
|
|
51
|
-
# item.save
|
|
52
|
-
# end
|
|
53
|
-
# end
|
|
54
|
-
#
|
|
55
49
|
# @since 0.2a
|
|
56
50
|
# @map /admin/menu-items
|
|
57
|
-
# @event before_new_menu_item
|
|
58
|
-
# @event after_new_menu_item
|
|
59
|
-
# @event before_edit_menu_item
|
|
60
|
-
# @event after_edit_menu_item
|
|
61
|
-
# @event before_delete_menu_item
|
|
62
|
-
# @event after_delete_menu_item
|
|
63
51
|
#
|
|
64
52
|
class MenuItems < Zen::Controller::AdminController
|
|
65
53
|
map '/admin/menu-items'
|
|
66
54
|
helper :menu
|
|
67
55
|
title 'menu_items.titles.%s'
|
|
68
56
|
|
|
57
|
+
autosave Model::MenuItem, Model::MenuItem::COLUMNS, :edit_menu_item
|
|
58
|
+
|
|
69
59
|
csrf_protection :save, :delete
|
|
70
60
|
|
|
61
|
+
serve :css, ['/admin/menus/css/menus'],
|
|
62
|
+
:name => 'menus',
|
|
63
|
+
:methods => [:index]
|
|
64
|
+
|
|
65
|
+
serve :javascript,
|
|
66
|
+
['/admin/menus/js/lib/nested_sortables', '/admin/menus/js/menu_items'],
|
|
67
|
+
:name => 'menus',
|
|
68
|
+
:methods => [:index]
|
|
69
|
+
|
|
71
70
|
##
|
|
72
71
|
# Shows an overview of all the menu items for a menu group.
|
|
73
72
|
#
|
|
@@ -86,17 +85,7 @@ module Menus
|
|
|
86
85
|
)
|
|
87
86
|
|
|
88
87
|
@menu_id = menu_id
|
|
89
|
-
@menu_items =
|
|
90
|
-
::Menus::Model::MenuItem.search(query) \
|
|
91
|
-
.filter(:menu_id => menu_id) \
|
|
92
|
-
.order(:id.asc)
|
|
93
|
-
end
|
|
94
|
-
|
|
95
|
-
@menu_items ||= ::Menus::Model::MenuItem \
|
|
96
|
-
.filter(:menu_id => menu_id) \
|
|
97
|
-
.order(:id.asc)
|
|
98
|
-
|
|
99
|
-
@menu_items = paginate(@menu_items)
|
|
88
|
+
@menu_items = Model::Menu[menu_id].menu_items_tree
|
|
100
89
|
end
|
|
101
90
|
|
|
102
91
|
##
|
|
@@ -117,13 +106,10 @@ module Menus
|
|
|
117
106
|
lang('menu_items.titles.new')
|
|
118
107
|
)
|
|
119
108
|
|
|
120
|
-
@menu_id
|
|
109
|
+
@menu_id = menu_id
|
|
110
|
+
@menu_item = Model::MenuItem.new
|
|
121
111
|
|
|
122
|
-
if flash[:form_data]
|
|
123
|
-
@menu_item = flash[:form_data]
|
|
124
|
-
else
|
|
125
|
-
@menu_item = ::Menus::Model::MenuItem.new
|
|
126
|
-
end
|
|
112
|
+
@menu_item.set(flash[:form_data]) if flash[:form_data]
|
|
127
113
|
|
|
128
114
|
render_view(:form)
|
|
129
115
|
end
|
|
@@ -147,13 +133,10 @@ module Menus
|
|
|
147
133
|
lang('menu_items.titles.edit')
|
|
148
134
|
)
|
|
149
135
|
|
|
150
|
-
@menu_id
|
|
136
|
+
@menu_id = menu_id
|
|
137
|
+
@menu_item = validate_menu_item(id, menu_id)
|
|
151
138
|
|
|
152
|
-
if flash[:form_data]
|
|
153
|
-
@menu_item = flash[:form_data]
|
|
154
|
-
else
|
|
155
|
-
@menu_item = validate_menu_item(id, menu_id)
|
|
156
|
-
end
|
|
139
|
+
@menu_item.set(flash[:form_data]) if flash[:form_data]
|
|
157
140
|
|
|
158
141
|
render_view(:form)
|
|
159
142
|
end
|
|
@@ -165,86 +148,71 @@ module Menus
|
|
|
165
148
|
# @since 0.2a
|
|
166
149
|
# @permission edit_menu_item (when editing an item)
|
|
167
150
|
# @permission new_menu_item (when creating an item)
|
|
168
|
-
# @event before_edit_menu_item
|
|
169
|
-
# @event after_edit_menu_item
|
|
170
|
-
# @event before_new_menu_item
|
|
171
|
-
# @event after_new_menu_item
|
|
172
151
|
#
|
|
173
152
|
def save
|
|
174
|
-
post =
|
|
175
|
-
|
|
176
|
-
:parent_id,
|
|
177
|
-
:name,
|
|
178
|
-
:url,
|
|
179
|
-
:sort_order,
|
|
180
|
-
:html_class,
|
|
181
|
-
:html_id,
|
|
182
|
-
:menu_id
|
|
183
|
-
)
|
|
184
|
-
|
|
185
|
-
if post['parent_id'].empty? or post['parent_id'] == post['id']
|
|
186
|
-
post['parent_id'] = nil
|
|
187
|
-
end
|
|
153
|
+
post = post_fields(*Model::MenuItem::COLUMNS)
|
|
154
|
+
id = request.params['id']
|
|
188
155
|
|
|
189
|
-
|
|
190
|
-
# if we're going to create a new one.
|
|
191
|
-
if post.key?('id') and !post['id'].empty?
|
|
156
|
+
if id and !id.empty?
|
|
192
157
|
authorize_user!(:edit_menu_item)
|
|
193
158
|
|
|
194
|
-
menu_item
|
|
195
|
-
save_action
|
|
196
|
-
before_event = :before_edit_menu_item
|
|
197
|
-
after_event = :after_edit_menu_item
|
|
159
|
+
menu_item = validate_menu_item(id, post['menu_id'])
|
|
160
|
+
save_action = :save
|
|
198
161
|
else
|
|
199
162
|
authorize_user!(:new_menu_item)
|
|
200
163
|
|
|
201
|
-
menu_item
|
|
202
|
-
save_action
|
|
203
|
-
before_event = :before_new_menu_item
|
|
204
|
-
after_event = :after_new_menu_item
|
|
164
|
+
menu_item = ::Menus::Model::MenuItem.new
|
|
165
|
+
save_action = :new
|
|
205
166
|
end
|
|
206
167
|
|
|
207
|
-
post.delete('id')
|
|
208
|
-
|
|
209
|
-
# Set our notifications
|
|
210
168
|
success = lang("menu_items.success.#{save_action}")
|
|
211
169
|
error = lang("menu_items.errors.#{save_action}")
|
|
212
170
|
|
|
213
|
-
# Time to save the data
|
|
214
171
|
begin
|
|
215
|
-
|
|
216
|
-
Zen::Event.call(before_event, menu_item)
|
|
217
|
-
|
|
172
|
+
menu_item.set(post)
|
|
218
173
|
menu_item.save
|
|
219
174
|
rescue => e
|
|
220
|
-
Ramaze::Log.error(e
|
|
175
|
+
Ramaze::Log.error(e)
|
|
221
176
|
message(:error, error)
|
|
222
177
|
|
|
223
|
-
flash[:form_data] =
|
|
178
|
+
flash[:form_data] = post
|
|
224
179
|
flash[:form_errors] = menu_item.errors
|
|
225
180
|
|
|
226
181
|
redirect_referrer
|
|
227
182
|
end
|
|
228
183
|
|
|
229
|
-
Zen::Event.call(after_event, menu_item)
|
|
230
|
-
|
|
231
184
|
message(:success, success)
|
|
232
185
|
redirect(MenuItems.r(:edit, menu_item.menu_id, menu_item.id))
|
|
233
186
|
end
|
|
234
187
|
|
|
188
|
+
##
|
|
189
|
+
# Updates the sort order and parent IDs for the given menu items.
|
|
190
|
+
#
|
|
191
|
+
# @since 11-02-2012
|
|
192
|
+
# @permission edit_menu_item
|
|
193
|
+
#
|
|
194
|
+
def tree
|
|
195
|
+
authorize_user!(:edit_menu_item)
|
|
196
|
+
|
|
197
|
+
request.POST['menu_items'].each do |item|
|
|
198
|
+
Model::MenuItem[item[1]['id']].update(
|
|
199
|
+
:sort_order => item[0],
|
|
200
|
+
:parent_id => item[1]['parent_id']
|
|
201
|
+
)
|
|
202
|
+
end
|
|
203
|
+
end
|
|
204
|
+
|
|
235
205
|
##
|
|
236
206
|
# Delete all specified menu items based on the values in the POST array
|
|
237
207
|
# "menu_item_ids".
|
|
238
208
|
#
|
|
239
209
|
# @since 0.2a
|
|
240
210
|
# @permission delete_menu_item
|
|
241
|
-
# @event before_delete_menu_item
|
|
242
|
-
# @event after_delete_menu_item
|
|
243
211
|
#
|
|
244
212
|
def delete
|
|
245
213
|
authorize_user!(:delete_menu_item)
|
|
246
214
|
|
|
247
|
-
post =
|
|
215
|
+
post = post_fields(:menu_item_ids)
|
|
248
216
|
|
|
249
217
|
if !post['menu_item_ids'] or post['menu_item_ids'].empty?
|
|
250
218
|
message(:error, lang('menu_items.errors.no_delete'))
|
|
@@ -255,18 +223,15 @@ module Menus
|
|
|
255
223
|
menu = ::Menus::Model::MenuItem[id]
|
|
256
224
|
|
|
257
225
|
next if menu.nil?
|
|
258
|
-
Zen::Event.call(:before_delete_menu_item, menu)
|
|
259
226
|
|
|
260
227
|
begin
|
|
261
228
|
menu.destroy
|
|
262
229
|
rescue => e
|
|
263
|
-
Ramaze::Log.error(e
|
|
230
|
+
Ramaze::Log.error(e)
|
|
264
231
|
message(:error, lang('menu_items.errors.delete') % id)
|
|
265
232
|
|
|
266
233
|
redirect_referrer
|
|
267
234
|
end
|
|
268
|
-
|
|
269
|
-
Zen::Event.call(:after_delete_menu_item, menu)
|
|
270
235
|
end
|
|
271
236
|
|
|
272
237
|
message(:success, lang('menu_items.success.delete'))
|
|
@@ -29,7 +29,7 @@ module Menus
|
|
|
29
29
|
# this is the case). An example of such an overview can be seen in the image
|
|
30
30
|
# below.
|
|
31
31
|
#
|
|
32
|
-
# 
|
|
33
33
|
#
|
|
34
34
|
# This overview allows you to edit, create or remove menu groups as well as
|
|
35
35
|
# managing the menu items of a group. Editing a group can be done by
|
|
@@ -37,7 +37,7 @@ module Menus
|
|
|
37
37
|
# the button "Add menu". In both cases you'll end up with the form shown in
|
|
38
38
|
# the image below.
|
|
39
39
|
#
|
|
40
|
-
# 
|
|
41
41
|
#
|
|
42
42
|
# In this form you can use the following fields:
|
|
43
43
|
#
|
|
@@ -61,44 +61,16 @@ module Menus
|
|
|
61
61
|
# * edit_menu
|
|
62
62
|
# * delete_menu
|
|
63
63
|
#
|
|
64
|
-
# ## Events
|
|
65
|
-
#
|
|
66
|
-
# All events in this controller receive an instance of {Menus::Model::Menu}.
|
|
67
|
-
# Just like other packages the event ``delete_menu`` receives an instance
|
|
68
|
-
# that has already been destroyed.
|
|
69
|
-
#
|
|
70
|
-
# @example Automatically add a menu item
|
|
71
|
-
# Zen::Event.listen(:new_menu) do |menu|
|
|
72
|
-
# menu.add_menu_item(:name => 'Home', :url => '/', :html_id => 'home')
|
|
73
|
-
# end
|
|
74
|
-
#
|
|
75
|
-
# @example Remove duplicate menu items when editing a menu
|
|
76
|
-
# Zen::Event.listen(:edit_menu) do |menu|
|
|
77
|
-
# urls = []
|
|
78
|
-
#
|
|
79
|
-
# menu.items.each do |item|
|
|
80
|
-
# if urls.include?(item.url)
|
|
81
|
-
# item.destroy
|
|
82
|
-
# else
|
|
83
|
-
# urls << item.url
|
|
84
|
-
# end
|
|
85
|
-
# end
|
|
86
|
-
# end
|
|
87
|
-
#
|
|
88
64
|
# @since 0.2a
|
|
89
65
|
# @map /admin/menus
|
|
90
|
-
# @event before_new_menu
|
|
91
|
-
# @event after_new_menu
|
|
92
|
-
# @event before_edit_menu
|
|
93
|
-
# @event after_edit_menu
|
|
94
|
-
# @event before_delete_menu
|
|
95
|
-
# @event after_delete_menu
|
|
96
66
|
#
|
|
97
67
|
class Menus < Zen::Controller::AdminController
|
|
98
68
|
map '/admin/menus'
|
|
99
69
|
helper :menu
|
|
100
70
|
title 'menus.titles.%s'
|
|
101
71
|
|
|
72
|
+
autosave Model::Menu, Model::Menu::COLUMNS, :edit_menu
|
|
73
|
+
|
|
102
74
|
csrf_protection :save, :delete
|
|
103
75
|
|
|
104
76
|
##
|
|
@@ -137,7 +109,8 @@ module Menus
|
|
|
137
109
|
@page_title
|
|
138
110
|
)
|
|
139
111
|
|
|
140
|
-
@menu =
|
|
112
|
+
@menu = Model::Menu.new
|
|
113
|
+
@menu.set(flash[:form_data]) if flash[:form_data]
|
|
141
114
|
|
|
142
115
|
render_view(:form)
|
|
143
116
|
end
|
|
@@ -159,11 +132,8 @@ module Menus
|
|
|
159
132
|
@page_title
|
|
160
133
|
)
|
|
161
134
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
else
|
|
165
|
-
@menu = validate_menu(id)
|
|
166
|
-
end
|
|
135
|
+
@menu = validate_menu(id)
|
|
136
|
+
@menu.set(flash[:form_data]) if flash[:form_data]
|
|
167
137
|
|
|
168
138
|
render_view(:form)
|
|
169
139
|
end
|
|
@@ -172,63 +142,41 @@ module Menus
|
|
|
172
142
|
# Saves any changes made to an existing menu or creates a new menu.
|
|
173
143
|
#
|
|
174
144
|
# @since 0.2a
|
|
175
|
-
# @event before_edit_menu
|
|
176
|
-
# @event after_edit_menu
|
|
177
|
-
# @event before_new_menu
|
|
178
|
-
# @event after_new_menu
|
|
179
145
|
# @permission edit_menu (when editing an existing menu)
|
|
180
146
|
# @permission new_menu (when creating a new menu)
|
|
181
147
|
#
|
|
182
148
|
def save
|
|
183
|
-
post =
|
|
184
|
-
|
|
185
|
-
:slug,
|
|
186
|
-
:description,
|
|
187
|
-
:html_class,
|
|
188
|
-
:html_id,
|
|
189
|
-
:id
|
|
190
|
-
)
|
|
149
|
+
post = post_fields(*Model::Menu::COLUMNS)
|
|
150
|
+
id = request.params['id']
|
|
191
151
|
|
|
192
|
-
|
|
193
|
-
if post.key?('id') and !post['id'].empty?
|
|
152
|
+
if id and !id.empty?
|
|
194
153
|
authorize_user!(:edit_menu)
|
|
195
154
|
|
|
196
|
-
menu
|
|
197
|
-
save_action
|
|
198
|
-
before_event = :before_edit_menu
|
|
199
|
-
after_event = :after_edit_menu
|
|
155
|
+
menu = validate_menu(id)
|
|
156
|
+
save_action = :save
|
|
200
157
|
else
|
|
201
158
|
authorize_user!(:new_menu)
|
|
202
159
|
|
|
203
|
-
menu
|
|
204
|
-
save_action
|
|
205
|
-
before_event = :before_new_menu
|
|
206
|
-
after_event = :after_new_menu
|
|
160
|
+
menu = ::Menus::Model::Menu.new
|
|
161
|
+
save_action = :new
|
|
207
162
|
end
|
|
208
163
|
|
|
209
|
-
post.delete('id')
|
|
210
|
-
|
|
211
164
|
success = lang("menus.success.#{save_action}")
|
|
212
165
|
error = lang("menus.errors.#{save_action}")
|
|
213
166
|
|
|
214
|
-
# Let's see if we can insert/update the data
|
|
215
167
|
begin
|
|
216
|
-
|
|
217
|
-
Zen::Event.call(before_event, menu)
|
|
218
|
-
|
|
168
|
+
menu.set(post)
|
|
219
169
|
menu.save
|
|
220
170
|
rescue => e
|
|
221
|
-
Ramaze::Log.error(e
|
|
171
|
+
Ramaze::Log.error(e)
|
|
222
172
|
message(:error, error)
|
|
223
173
|
|
|
224
|
-
flash[:form_data] =
|
|
174
|
+
flash[:form_data] = post
|
|
225
175
|
flash[:form_errors] = menu.errors
|
|
226
176
|
|
|
227
177
|
redirect_referrer
|
|
228
178
|
end
|
|
229
179
|
|
|
230
|
-
Zen::Event.call(after_event, menu)
|
|
231
|
-
|
|
232
180
|
message(:success, success)
|
|
233
181
|
redirect(Menus.r(:edit, menu.id))
|
|
234
182
|
end
|
|
@@ -239,8 +187,6 @@ module Menus
|
|
|
239
187
|
# "menu_ids".
|
|
240
188
|
#
|
|
241
189
|
# @since 0.2a
|
|
242
|
-
# @event before_delete_menu
|
|
243
|
-
# @event after_delete_menu
|
|
244
190
|
# @permission delete_menu
|
|
245
191
|
#
|
|
246
192
|
def delete
|
|
@@ -258,18 +204,15 @@ module Menus
|
|
|
258
204
|
menu = ::Menus::Model::Menu[id]
|
|
259
205
|
|
|
260
206
|
next if menu.nil?
|
|
261
|
-
Zen::Event.call(:before_delete_menu, menu)
|
|
262
207
|
|
|
263
208
|
begin
|
|
264
209
|
menu.destroy
|
|
265
210
|
rescue => e
|
|
266
|
-
Ramaze::Log.error(e
|
|
211
|
+
Ramaze::Log.error(e)
|
|
267
212
|
message(:error, lang('menus.errors.delete') % id)
|
|
268
213
|
|
|
269
214
|
redirect_referrer
|
|
270
215
|
end
|
|
271
|
-
|
|
272
|
-
Zen::Event.call(:after_delete_menu, menu)
|
|
273
216
|
end
|
|
274
217
|
|
|
275
218
|
message(:success, lang('menus.success.delete'))
|