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
data/lib/zen/bin/create.rb
CHANGED
|
@@ -1,94 +1,305 @@
|
|
|
1
|
+
require 'readline'
|
|
2
|
+
require 'erb'
|
|
1
3
|
require 'fileutils'
|
|
2
4
|
|
|
3
|
-
#:nodoc:
|
|
4
5
|
module Zen
|
|
5
6
|
#:nodoc:
|
|
6
7
|
module Bin
|
|
7
8
|
##
|
|
8
|
-
# Command that can be used to create
|
|
9
|
+
# Command that can be used to create new Zen projects.
|
|
9
10
|
#
|
|
10
|
-
# @
|
|
11
|
-
# @since 0.2.8
|
|
11
|
+
# @since 0.3
|
|
12
12
|
#
|
|
13
|
-
class Create
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
class Create < Shebang::Command
|
|
14
|
+
command :create
|
|
15
|
+
banner 'Creates a new Zen project'
|
|
16
|
+
usage 'zen create [OPTIONS]'
|
|
16
17
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
Creates a new application prototype and saves it in the given path.
|
|
18
|
+
o :l, :lazy , 'Creates a new project with all default options'
|
|
19
|
+
o :f, :force, 'Overwrite existing directories when creating a project'
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
# Path to the prototype application to use for new projects.
|
|
22
|
+
PROTOTYPE = __DIR__('../../../proto/app')
|
|
23
23
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
# Hash containing various Rack servers and their default configuration
|
|
25
|
+
# files to use.
|
|
26
|
+
SERVER_CONFIGS = {
|
|
27
|
+
:unicorn => __DIR__('../../../proto/rack/unicorn.rb'),
|
|
28
|
+
:thin => __DIR__('../../../proto/rack/thin.yml')
|
|
29
|
+
}
|
|
27
30
|
|
|
28
|
-
# Hash containing options
|
|
29
|
-
|
|
30
|
-
:
|
|
31
|
+
# Hash containing the options to use for creating a new project.
|
|
32
|
+
PROJECT_SETTINGS = {
|
|
33
|
+
:name => 'zen_project',
|
|
34
|
+
:database => {
|
|
35
|
+
:adapter => 'sqlite',
|
|
36
|
+
:database => 'database.db',
|
|
37
|
+
:username => nil,
|
|
38
|
+
:password => nil
|
|
39
|
+
},
|
|
40
|
+
:server_config => nil
|
|
31
41
|
}
|
|
32
42
|
|
|
33
43
|
##
|
|
34
|
-
#
|
|
44
|
+
# Method that is called when this command is invoked without any
|
|
45
|
+
# additional parameters.
|
|
35
46
|
#
|
|
36
|
-
# @
|
|
37
|
-
# @since 0.2.8
|
|
47
|
+
# @since 0.3
|
|
38
48
|
#
|
|
39
|
-
def
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
49
|
+
def index
|
|
50
|
+
if option(:l)
|
|
51
|
+
create_project
|
|
52
|
+
return
|
|
53
|
+
end
|
|
44
54
|
|
|
45
|
-
|
|
55
|
+
intro
|
|
56
|
+
setup_name
|
|
57
|
+
database_settings
|
|
58
|
+
server_config
|
|
46
59
|
|
|
47
|
-
|
|
48
|
-
|
|
60
|
+
create_project
|
|
61
|
+
end
|
|
49
62
|
|
|
50
|
-
|
|
51
|
-
|
|
63
|
+
private
|
|
64
|
+
|
|
65
|
+
##
|
|
66
|
+
# Displays a short introduction to the installer.
|
|
67
|
+
#
|
|
68
|
+
# @since 0.3
|
|
69
|
+
#
|
|
70
|
+
def intro
|
|
71
|
+
puts wrap_string(
|
|
72
|
+
'Welcome to the interactive project creator of Zen. ' \
|
|
73
|
+
'This installer will guide you through the process of creating ' \
|
|
74
|
+
'a new project using Zen.'
|
|
75
|
+
)
|
|
76
|
+
|
|
77
|
+
puts
|
|
78
|
+
puts wrap_string(
|
|
79
|
+
'Keep in mind that all settings specified for each project can be ' \
|
|
80
|
+
'changed to anything you like. Zen tries to make as little ' \
|
|
81
|
+
'assumptions as possible.'
|
|
82
|
+
)
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
##
|
|
86
|
+
# Sets the name of the project.
|
|
87
|
+
#
|
|
88
|
+
# @since 0.3
|
|
89
|
+
#
|
|
90
|
+
def setup_name
|
|
91
|
+
heading('Project Name')
|
|
92
|
+
|
|
93
|
+
puts wrap_string(
|
|
94
|
+
'Each Zen project requires a name. This name is used for the ' \
|
|
95
|
+
'directory name as well as the session ID.'
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
name = readline('Name of your project', PROJECT_SETTINGS[:name])
|
|
99
|
+
name = name.downcase.gsub(/\s+/, '_')
|
|
100
|
+
|
|
101
|
+
PROJECT_SETTINGS[:name] = name unless name.empty?
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
##
|
|
105
|
+
# Asks the user for various database settings.
|
|
106
|
+
#
|
|
107
|
+
# @since 0.3
|
|
108
|
+
#
|
|
109
|
+
def database_settings
|
|
110
|
+
heading('Database Settings')
|
|
111
|
+
|
|
112
|
+
puts wrap_string(
|
|
113
|
+
'Zen stores it\'s data in a SQL database such as PostgreSQL or ' \
|
|
114
|
+
'MySQL. In order to connect to such a database you must specify ' \
|
|
115
|
+
'the connection details such as the username and database name.'
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
PROJECT_SETTINGS[:database][:adapter] = readline(
|
|
119
|
+
'Adapter',
|
|
120
|
+
PROJECT_SETTINGS[:database][:adapter]
|
|
121
|
+
)
|
|
122
|
+
|
|
123
|
+
PROJECT_SETTINGS[:database][:database] = readline(
|
|
124
|
+
'Database',
|
|
125
|
+
PROJECT_SETTINGS[:database][:database],
|
|
126
|
+
false
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
PROJECT_SETTINGS[:database][:username] = readline('Username', nil, false)
|
|
130
|
+
PROJECT_SETTINGS[:database][:password] = readline('Password', nil, false)
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
##
|
|
134
|
+
# Asks the user if he/she would like to use a default configuration file
|
|
135
|
+
# for Unicorn or Thin.
|
|
136
|
+
#
|
|
137
|
+
# @since 0.3
|
|
138
|
+
#
|
|
139
|
+
def server_config
|
|
140
|
+
heading('Server Configuration')
|
|
141
|
+
|
|
142
|
+
puts wrap_string(
|
|
143
|
+
'Zen comes with a few default configuration files that you can use ' \
|
|
144
|
+
'for your favorite Rack server. Zen comes with default ' \
|
|
145
|
+
'configuration files for the following Rack servers:'
|
|
146
|
+
)
|
|
147
|
+
|
|
148
|
+
puts
|
|
149
|
+
|
|
150
|
+
SERVER_CONFIGS.each do |name, path|
|
|
151
|
+
puts "* #{name}"
|
|
152
|
+
end
|
|
52
153
|
|
|
53
|
-
|
|
54
|
-
|
|
154
|
+
puts
|
|
155
|
+
puts wrap_string(
|
|
156
|
+
'If you are using a different server or simply don\'t want a ' \
|
|
157
|
+
'default configuration file you can choose "none".'
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
server = readline('Default server configuration file', 'none').downcase
|
|
161
|
+
|
|
162
|
+
if !server.empty? and server != 'none' \
|
|
163
|
+
and !SERVER_CONFIGS.keys.include?(server.to_sym)
|
|
164
|
+
error('The specified configuration file is invalid')
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
PROJECT_SETTINGS[:server_config] = server.to_sym unless server == 'none'
|
|
168
|
+
end
|
|
169
|
+
|
|
170
|
+
##
|
|
171
|
+
# Creates a new project based on the settings specified by the user.
|
|
172
|
+
#
|
|
173
|
+
# @since 0.3
|
|
174
|
+
#
|
|
175
|
+
def create_project
|
|
176
|
+
destination = File.join(Dir.pwd, PROJECT_SETTINGS[:name])
|
|
177
|
+
|
|
178
|
+
# Copy the application
|
|
179
|
+
if File.directory?(destination) and !option(:f)
|
|
180
|
+
error('There already is a directory using your project name')
|
|
181
|
+
else
|
|
182
|
+
puts 'Creating base files...'
|
|
183
|
+
|
|
184
|
+
FileUtils.rm_rf(destination)
|
|
185
|
+
FileUtils.cp_r(PROTOTYPE, destination)
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
# Copy the default Rack configuration file.
|
|
189
|
+
if !PROJECT_SETTINGS[:server_config].nil? \
|
|
190
|
+
and !PROJECT_SETTINGS[:server_config].empty?
|
|
191
|
+
puts 'Creating server configuration file...'
|
|
192
|
+
|
|
193
|
+
config = SERVER_CONFIGS[PROJECT_SETTINGS[:server_config]]
|
|
194
|
+
|
|
195
|
+
FileUtils.cp(
|
|
196
|
+
config,
|
|
197
|
+
File.join(destination, 'config', File.basename(config))
|
|
198
|
+
)
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
# Replace all the ERB tags
|
|
202
|
+
puts 'Setting variables...'
|
|
203
|
+
|
|
204
|
+
templates = Dir.glob(File.join(destination, '**', '*.erb'))
|
|
205
|
+
|
|
206
|
+
templates.each do |template|
|
|
207
|
+
processed = File.read(template, File.size(template))
|
|
208
|
+
processed = ERB.new(processed).result(binding)
|
|
209
|
+
|
|
210
|
+
File.open(template, 'w') do |handle|
|
|
211
|
+
handle.write(processed)
|
|
55
212
|
end
|
|
213
|
+
|
|
214
|
+
# Remove the .erb extension
|
|
215
|
+
FileUtils.mv(
|
|
216
|
+
template,
|
|
217
|
+
File.join(File.dirname(template), File.basename(template, '.erb'))
|
|
218
|
+
)
|
|
56
219
|
end
|
|
220
|
+
|
|
221
|
+
puts wrap_string(
|
|
222
|
+
"Your project has been created, you can find it in #{destination}"
|
|
223
|
+
)
|
|
57
224
|
end
|
|
58
225
|
|
|
59
226
|
##
|
|
60
|
-
#
|
|
227
|
+
# Wraps a string at 80 characters and returns it.
|
|
61
228
|
#
|
|
62
|
-
# @
|
|
63
|
-
# @
|
|
64
|
-
# @
|
|
65
|
-
# were specified in the command line.
|
|
229
|
+
# @since 0.3
|
|
230
|
+
# @param [String] input The string to wrap.
|
|
231
|
+
# @return [String]
|
|
66
232
|
#
|
|
67
|
-
def
|
|
68
|
-
|
|
233
|
+
def wrap_string(input)
|
|
234
|
+
input = input.split(/\s+/)
|
|
235
|
+
output = ''
|
|
236
|
+
chars = 0
|
|
69
237
|
|
|
70
|
-
|
|
238
|
+
input.each do |chunk|
|
|
239
|
+
length = chunk.length
|
|
71
240
|
|
|
72
|
-
|
|
73
|
-
|
|
241
|
+
if ( chars + length ) <= ( 80 - length )
|
|
242
|
+
output += "#{chunk} "
|
|
243
|
+
chars += length
|
|
244
|
+
else
|
|
245
|
+
output += "\n#{chunk} "
|
|
246
|
+
chars = 0
|
|
247
|
+
end
|
|
248
|
+
end
|
|
74
249
|
|
|
75
|
-
|
|
250
|
+
return output.strip
|
|
251
|
+
end
|
|
76
252
|
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
253
|
+
##
|
|
254
|
+
# Displays a heading in yellow.
|
|
255
|
+
#
|
|
256
|
+
# @since 0.3
|
|
257
|
+
# @param [String] heading The heading to display.
|
|
258
|
+
#
|
|
259
|
+
def heading(heading)
|
|
260
|
+
puts "\n" + heading.yellow + "\n\n"
|
|
261
|
+
end
|
|
262
|
+
|
|
263
|
+
##
|
|
264
|
+
# Shows a prompt using Readline.readline and returns the value entered by
|
|
265
|
+
# the user.
|
|
266
|
+
#
|
|
267
|
+
# @since 0.3
|
|
268
|
+
# @param [String] message The message to display in the prompt.
|
|
269
|
+
# @param [String] default The default value to use.
|
|
270
|
+
# @param [TrueClass|FalseClass] newline When set to true an empty line
|
|
271
|
+
# will be shown before the prompt.
|
|
272
|
+
# @return [String]
|
|
273
|
+
#
|
|
274
|
+
def readline(message, default = nil, newline = true)
|
|
275
|
+
puts if newline
|
|
276
|
+
|
|
277
|
+
prompt = "> #{message}"
|
|
278
|
+
|
|
279
|
+
if default
|
|
280
|
+
prompt += " (default: #{default})"
|
|
82
281
|
end
|
|
83
282
|
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
return $stderr.puts "Failed to generate the application: #{e.message}"
|
|
283
|
+
prompt += ': '
|
|
284
|
+
value = Readline.readline(prompt.blue).strip
|
|
285
|
+
|
|
286
|
+
if value.empty? and !default.nil?
|
|
287
|
+
value = default
|
|
90
288
|
end
|
|
289
|
+
|
|
290
|
+
return value
|
|
291
|
+
end
|
|
292
|
+
|
|
293
|
+
##
|
|
294
|
+
# Shows an error and exists the script.
|
|
295
|
+
#
|
|
296
|
+
# @since 0.3
|
|
297
|
+
# @param [String] message The error message to display.
|
|
298
|
+
#
|
|
299
|
+
def error(message)
|
|
300
|
+
puts message.red
|
|
301
|
+
exit(false)
|
|
91
302
|
end
|
|
92
|
-
end #
|
|
303
|
+
end # Create
|
|
93
304
|
end # Bin
|
|
94
305
|
end # Zen
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
module Zen
|
|
2
|
+
#:nodoc:
|
|
3
|
+
module Bin
|
|
4
|
+
##
|
|
5
|
+
# The default command that is executed.
|
|
6
|
+
#
|
|
7
|
+
# @since 0.3
|
|
8
|
+
#
|
|
9
|
+
class Default < Shebang::Command
|
|
10
|
+
command :default
|
|
11
|
+
banner 'Zen is a modular CMS written using Ramaze.'
|
|
12
|
+
usage 'zen [COMMAND] [OPTIONS]'
|
|
13
|
+
|
|
14
|
+
o :h, :help , 'Shows this help message' , :method => :help
|
|
15
|
+
o :v, :version, 'Shows the current version', :method => :version
|
|
16
|
+
|
|
17
|
+
##
|
|
18
|
+
# Creates a new instance of the command and creates a list of all the
|
|
19
|
+
# installed commands.
|
|
20
|
+
#
|
|
21
|
+
# @since 0.3
|
|
22
|
+
#
|
|
23
|
+
def initialize
|
|
24
|
+
list_commands
|
|
25
|
+
|
|
26
|
+
super
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
##
|
|
30
|
+
# Method that is invoked when this command is called.
|
|
31
|
+
#
|
|
32
|
+
# @since 0.3
|
|
33
|
+
#
|
|
34
|
+
def index
|
|
35
|
+
help
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
protected
|
|
39
|
+
|
|
40
|
+
##
|
|
41
|
+
# Shows the current version of Zen.
|
|
42
|
+
#
|
|
43
|
+
# @since 0.3
|
|
44
|
+
#
|
|
45
|
+
def version
|
|
46
|
+
puts Zen::VERSION
|
|
47
|
+
exit
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
##
|
|
51
|
+
# Generates an array of "rows" where each row contains the name and
|
|
52
|
+
# description of a command. The descriptions of all commands are aligned
|
|
53
|
+
# based on the length of the longest command name.
|
|
54
|
+
#
|
|
55
|
+
# This method has been ported from Ramaze.
|
|
56
|
+
#
|
|
57
|
+
# @since 0.3
|
|
58
|
+
# @return [Array]
|
|
59
|
+
#
|
|
60
|
+
def list_commands
|
|
61
|
+
cmds = Shebang::Commands.dup
|
|
62
|
+
cmds.delete(:default)
|
|
63
|
+
|
|
64
|
+
return if cmds.empty?
|
|
65
|
+
|
|
66
|
+
cmd_string = ''
|
|
67
|
+
longest = cmds.map { |name, klass| name.to_s }.sort[0].size
|
|
68
|
+
|
|
69
|
+
cmds.each do |name, klass|
|
|
70
|
+
name = name.to_s
|
|
71
|
+
desc = klass.instance_variable_get(:@__banner).to_s
|
|
72
|
+
|
|
73
|
+
while name.length <= longest
|
|
74
|
+
name += ' '
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
cmd_string += " #{name} #{desc}\n"
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
self.class.help('Commands', cmd_string)
|
|
81
|
+
end
|
|
82
|
+
end # Default
|
|
83
|
+
end # Bin
|
|
84
|
+
end # Zen
|
|
@@ -16,93 +16,12 @@ module Zen
|
|
|
16
16
|
# method for the Users controller, mapped to /admin/users/login. If a user
|
|
17
17
|
# isn't logged in he/she will be redirected to the login page.
|
|
18
18
|
#
|
|
19
|
-
# @author Yorick Peterse
|
|
20
19
|
# @since 0.1
|
|
21
20
|
#
|
|
22
21
|
class AdminController < Zen::Controller::BaseController
|
|
23
22
|
layout :admin
|
|
24
23
|
engine :etanni
|
|
25
|
-
helper :
|
|
26
|
-
|
|
27
|
-
# Configure the pagination
|
|
28
|
-
trait :paginate => {
|
|
29
|
-
:limit => 20,
|
|
30
|
-
:var => 'page'
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
##
|
|
34
|
-
# The initialize method is called upon class initalization and is used to
|
|
35
|
-
# process several items before loading the controller(s) for the current
|
|
36
|
-
# extension.
|
|
37
|
-
#
|
|
38
|
-
# @author Yorick Peterse
|
|
39
|
-
# @since 1.0
|
|
40
|
-
#
|
|
41
|
-
def initialize
|
|
42
|
-
super
|
|
43
|
-
|
|
44
|
-
# Only allow users to access admin/users/login when they aren't logged
|
|
45
|
-
# in
|
|
46
|
-
if request.env['SCRIPT_NAME'] != 'admin/users/' \
|
|
47
|
-
and request.env['PATH_INFO'] != '/login' \
|
|
48
|
-
and !logged_in?
|
|
49
|
-
message(:error, lang('zen_general.errors.require_login'))
|
|
50
|
-
redirect('/admin/users/login')
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
|
|
54
|
-
##
|
|
55
|
-
# Shortcut for Zen::Asset.stylesheet.
|
|
56
|
-
#
|
|
57
|
-
# @author Yorick Peterse
|
|
58
|
-
# @see Zen::Asset.stylesheet
|
|
59
|
-
# @since 0.2.5
|
|
60
|
-
#
|
|
61
|
-
def self.stylesheet(files, options = {})
|
|
62
|
-
options = {:controller => self}.merge(options)
|
|
63
|
-
|
|
64
|
-
::Zen::Asset.stylesheet(files, options)
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
##
|
|
68
|
-
# Shortcut for Zen::Asset.javascript.
|
|
69
|
-
#
|
|
70
|
-
# @author Yorick Peterse
|
|
71
|
-
# @see Zen::Asset.javascript
|
|
72
|
-
# @since 0.2.5
|
|
73
|
-
#
|
|
74
|
-
def self.javascript(files, options = {})
|
|
75
|
-
options = {:controller => self}.merge(options)
|
|
76
|
-
|
|
77
|
-
::Zen::Asset.javascript(files, options)
|
|
78
|
-
end
|
|
79
|
-
|
|
80
|
-
# Load all default stylesheets
|
|
81
|
-
stylesheet(
|
|
82
|
-
[
|
|
83
|
-
'zen/reset',
|
|
84
|
-
'zen/grid',
|
|
85
|
-
'zen/layout',
|
|
86
|
-
'zen/general',
|
|
87
|
-
'zen/forms',
|
|
88
|
-
'zen/tables',
|
|
89
|
-
'zen/buttons',
|
|
90
|
-
'zen/messages'
|
|
91
|
-
],
|
|
92
|
-
:global => true
|
|
93
|
-
)
|
|
94
|
-
|
|
95
|
-
# Load all default javascript files
|
|
96
|
-
javascript(
|
|
97
|
-
[
|
|
98
|
-
'vendor/mootools/core',
|
|
99
|
-
'vendor/mootools/more',
|
|
100
|
-
'zen/lib/asset',
|
|
101
|
-
'zen/lib/html_table',
|
|
102
|
-
'zen/index'
|
|
103
|
-
],
|
|
104
|
-
:global => true
|
|
105
|
-
)
|
|
24
|
+
helper :breadcrumb, :asset, :search
|
|
106
25
|
end # AdminController
|
|
107
26
|
end # Controller
|
|
108
27
|
end # Zen
|