releaf 0.1.2 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE +19 -21
- data/lib/releaf.rb +1 -34
- data/lib/releaf/all.rb +3 -0
- data/lib/releaf/rspec.rb +4 -0
- data/lib/releaf/rspec/features_matchers.rb +76 -0
- data/lib/releaf/rspec/helpers.rb +227 -0
- data/lib/releaf/rspec/matchers.rb +16 -0
- data/lib/releaf/test.rb +5 -0
- data/spec/factories/author.rb +6 -0
- data/spec/factories/book.rb +5 -0
- data/spec/factories/chapter.rb +7 -0
- data/spec/factories/common.rb +5 -0
- data/spec/factories/home_page.rb +5 -0
- data/spec/factories/node.rb +43 -0
- data/spec/factories/node_route.rb +7 -0
- data/spec/factories/publisher.rb +5 -0
- data/spec/factories/role.rb +21 -0
- data/spec/factories/text_page.rb +5 -0
- data/spec/factories/user.rb +22 -0
- data/spec/rails_helper.rb +122 -0
- data/spec/spec_helper.rb +81 -24
- data/spec/support/controller_macros.rb +8 -0
- data/spec/support/excel_helpers.rb +63 -0
- data/spec/support/shared/service_includer.rb +9 -0
- data/spec/support/wait_steps.rb +23 -0
- metadata +141 -499
- data/README.md +0 -77
- data/Rakefile +0 -70
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_222222_256x240.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_2e83ff_256x240.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_454545_256x240.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_888888_256x240.png +0 -0
- data/app/assets/images/releaf/3rd_party/jquery-ui-1.9.2.custom/ui-icons_cd0a0a_256x240.png +0 -0
- data/app/assets/images/releaf/3rd_party/lightbox/close.png +0 -0
- data/app/assets/images/releaf/3rd_party/lightbox/loading.gif +0 -0
- data/app/assets/images/releaf/3rd_party/lightbox/next.png +0 -0
- data/app/assets/images/releaf/3rd_party/lightbox/prev.png +0 -0
- data/app/assets/images/releaf/add.png +0 -0
- data/app/assets/images/releaf/background.jpg +0 -0
- data/app/assets/images/releaf/button/button_bgr.gif +0 -0
- data/app/assets/images/releaf/button/button_hover_bgr.png +0 -0
- data/app/assets/images/releaf/controllers/content/close.gif +0 -0
- data/app/assets/images/releaf/controllers/content/close_active.gif +0 -0
- data/app/assets/images/releaf/controllers/content/close_hover.gif +0 -0
- data/app/assets/images/releaf/controllers/content/global_fields_bgr.png +0 -0
- data/app/assets/images/releaf/controllers/content/open.gif +0 -0
- data/app/assets/images/releaf/controllers/content/open_2.gif +0 -0
- data/app/assets/images/releaf/controllers/content/open_active.gif +0 -0
- data/app/assets/images/releaf/controllers/content/open_hover.gif +0 -0
- data/app/assets/images/releaf/controllers/sessions/background.jpg +0 -0
- data/app/assets/images/releaf/controllers/sessions/logo.jpg +0 -0
- data/app/assets/images/releaf/expand_tool/close.png +0 -0
- data/app/assets/images/releaf/expand_tool/close_hover.png +0 -0
- data/app/assets/images/releaf/expand_tool/close_hover_shim.png +0 -0
- data/app/assets/images/releaf/expand_tool/close_shim.png +0 -0
- data/app/assets/images/releaf/expand_tool/loader.gif +0 -0
- data/app/assets/images/releaf/expand_tool/open.png +0 -0
- data/app/assets/images/releaf/expand_tool/open_hover.png +0 -0
- data/app/assets/images/releaf/expand_tool/open_hover_shim.png +0 -0
- data/app/assets/images/releaf/expand_tool/open_shim.png +0 -0
- data/app/assets/images/releaf/favicon.ico +0 -0
- data/app/assets/images/releaf/globalFieldContainerBgr.png +0 -0
- data/app/assets/images/releaf/icons/129.png +0 -0
- data/app/assets/images/releaf/icons/130.png +0 -0
- data/app/assets/images/releaf/icons/accept.png +0 -0
- data/app/assets/images/releaf/icons/add.png +0 -0
- data/app/assets/images/releaf/icons/arrow_down.png +0 -0
- data/app/assets/images/releaf/icons/arrow_left.png +0 -0
- data/app/assets/images/releaf/icons/arrow_refresh.png +0 -0
- data/app/assets/images/releaf/icons/arrow_up.png +0 -0
- data/app/assets/images/releaf/icons/bin_empty.png +0 -0
- data/app/assets/images/releaf/icons/bullet_black.png +0 -0
- data/app/assets/images/releaf/icons/bullet_connect.png +0 -0
- data/app/assets/images/releaf/icons/bullet_start.png +0 -0
- data/app/assets/images/releaf/icons/bullet_tick.png +0 -0
- data/app/assets/images/releaf/icons/chrome.png +0 -0
- data/app/assets/images/releaf/icons/control_play.png +0 -0
- data/app/assets/images/releaf/icons/date.png +0 -0
- data/app/assets/images/releaf/icons/delete.png +0 -0
- data/app/assets/images/releaf/icons/disk.png +0 -0
- data/app/assets/images/releaf/icons/drag-handle.png +0 -0
- data/app/assets/images/releaf/icons/error.png +0 -0
- data/app/assets/images/releaf/icons/eye.png +0 -0
- data/app/assets/images/releaf/icons/firefox.png +0 -0
- data/app/assets/images/releaf/icons/google-not-available.gif +0 -0
- data/app/assets/images/releaf/icons/google.gif +0 -0
- data/app/assets/images/releaf/icons/keyboard.png +0 -0
- data/app/assets/images/releaf/icons/left_16.png +0 -0
- data/app/assets/images/releaf/icons/link.png +0 -0
- data/app/assets/images/releaf/icons/magnifier.png +0 -0
- data/app/assets/images/releaf/icons/notAllowed.png +0 -0
- data/app/assets/images/releaf/icons/page_white_add.png +0 -0
- data/app/assets/images/releaf/icons/page_white_edit.png +0 -0
- data/app/assets/images/releaf/icons/page_white_put.png +0 -0
- data/app/assets/images/releaf/icons/page_white_text.png +0 -0
- data/app/assets/images/releaf/icons/pencil.png +0 -0
- data/app/assets/images/releaf/icons/picture.png +0 -0
- data/app/assets/images/releaf/icons/right_16.png +0 -0
- data/app/assets/images/releaf/icons/tick.png +0 -0
- data/app/assets/images/releaf/icons/warning.png +0 -0
- data/app/assets/images/releaf/icons/world_go.png +0 -0
- data/app/assets/images/releaf/icons/world_link.png +0 -0
- data/app/assets/images/releaf/input/autocompleteExpandIcon.png +0 -0
- data/app/assets/images/releaf/input/input_bgr.gif +0 -0
- data/app/assets/images/releaf/language_root.png +0 -0
- data/app/assets/images/releaf/loader.gif +0 -0
- data/app/assets/images/releaf/logout.png +0 -0
- data/app/assets/images/releaf/main_menu/active_bgr.png +0 -0
- data/app/assets/images/releaf/main_menu/bgr.png +0 -0
- data/app/assets/images/releaf/main_menu/hover_bgr.png +0 -0
- data/app/assets/images/releaf/module.png +0 -0
- data/app/assets/images/releaf/panel_layout/active_bgr.png +0 -0
- data/app/assets/images/releaf/panel_layout/secondary_panel_horizontal_bgr.png +0 -0
- data/app/assets/images/releaf/panel_layout/secondary_panel_vertical_bgr.png +0 -0
- data/app/assets/images/releaf/releaf_table/selected_bgr.png +0 -0
- data/app/assets/images/releaf/releaf_table/th_bgr.gif +0 -0
- data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/README.md +0 -73
- data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/jquery.cookie.js +0 -47
- data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/server.js +0 -24
- data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/test.html +0 -19
- data/app/assets/javascripts/releaf/3rd_party/jquery-cookie/test.js +0 -80
- data/app/assets/javascripts/releaf/3rd_party/jquery-ui-timepicker-addon.js +0 -1882
- data/app/assets/javascripts/releaf/3rd_party/lightbox.js.erb +0 -379
- data/app/assets/javascripts/releaf/application.js +0 -14
- data/app/assets/javascripts/releaf/controllers/base.js +0 -130
- data/app/assets/javascripts/releaf/controllers/releaf/content.js +0 -90
- data/app/assets/javascripts/releaf/controllers/releaf/translations.js +0 -31
- data/app/assets/javascripts/releaf/include/continuous_scroll.js +0 -321
- data/app/assets/javascripts/releaf/include/field.type_autocomplete.js +0 -58
- data/app/assets/javascripts/releaf/include/field.type_date_or_datetime_or_time.js +0 -43
- data/app/assets/javascripts/releaf/include/field.type_richtext.js +0 -90
- data/app/assets/javascripts/releaf/include/localization.js +0 -12
- data/app/assets/javascripts/releaf/include/nested_fields.js +0 -64
- data/app/assets/javascripts/releaf/include/sortable.js +0 -29
- data/app/assets/javascripts/releaf/lib/request_url.js +0 -183
- data/app/assets/stylesheets/releaf/3rd_party/jquery-ui-1.9.2.custom.css.erb +0 -464
- data/app/assets/stylesheets/releaf/3rd_party/jquery-ui-timepicker-addon.css +0 -10
- data/app/assets/stylesheets/releaf/3rd_party/lightbox.css.erb +0 -157
- data/app/assets/stylesheets/releaf/application.css.erb +0 -122
- data/app/assets/stylesheets/releaf/controllers/base.css.erb +0 -205
- data/app/assets/stylesheets/releaf/controllers/releaf/content.css.erb +0 -422
- data/app/assets/stylesheets/releaf/controllers/releaf/sessions.css.scss.erb +0 -116
- data/app/assets/stylesheets/releaf/controllers/releaf/translations.css.erb +0 -205
- data/app/assets/stylesheets/releaf/include/button.css.erb +0 -176
- data/app/assets/stylesheets/releaf/include/field.css.erb +0 -281
- data/app/assets/stylesheets/releaf/include/input.css.erb +0 -40
- data/app/assets/stylesheets/releaf/include/main_menu.css.erb +0 -66
- data/app/assets/stylesheets/releaf/include/pagination.css.erb +0 -29
- data/app/assets/stylesheets/releaf/include/panel_layout.css.erb +0 -251
- data/app/assets/stylesheets/releaf/include/releaf_table.css.erb +0 -112
- data/app/assets/stylesheets/releaf/include/sortable.css.erb +0 -12
- data/app/controllers/releaf/admins_controller.rb +0 -55
- data/app/controllers/releaf/application_controller.rb +0 -11
- data/app/controllers/releaf/base_application_controller.rb +0 -18
- data/app/controllers/releaf/base_controller.rb +0 -571
- data/app/controllers/releaf/content_controller.rb +0 -183
- data/app/controllers/releaf/roles_controller.rb +0 -38
- data/app/controllers/releaf/sessions_controller.rb +0 -27
- data/app/controllers/releaf/tinymce_assets_controller.rb +0 -26
- data/app/controllers/releaf/translations_controller.rb +0 -117
- data/app/helpers/releaf/admin_helper.rb +0 -59
- data/app/helpers/releaf/application_helper.rb +0 -4
- data/app/helpers/releaf/pagination_renderer.rb +0 -44
- data/app/helpers/releaf/releaf_devise_helper.rb +0 -8
- data/app/models/releaf/admin.rb +0 -60
- data/app/models/releaf/blank_node_base.rb +0 -29
- data/app/models/releaf/node.rb +0 -222
- data/app/models/releaf/node_base.rb +0 -31
- data/app/models/releaf/role.rb +0 -126
- data/app/models/releaf/tinymce_asset.rb +0 -6
- data/app/views/layouts/releaf/admin.html.haml +0 -57
- data/app/views/layouts/releaf/devise.html.haml +0 -32
- data/app/views/releaf/aliases/_edit.body.html.haml +0 -50
- data/app/views/releaf/aliases/_edit.header.html.haml +0 -19
- data/app/views/releaf/aliases/_index.row.html.haml +0 -5
- data/app/views/releaf/aliases/_secondary_panel.html.haml +0 -13
- data/app/views/releaf/base/_edit.body.html.haml +0 -11
- data/app/views/releaf/base/_edit.field.html.haml +0 -23
- data/app/views/releaf/base/_edit.field_type_autocomplete.html.haml +0 -15
- data/app/views/releaf/base/_edit.field_type_boolean.html.haml +0 -5
- data/app/views/releaf/base/_edit.field_type_date.html.haml +0 -8
- data/app/views/releaf/base/_edit.field_type_datetime.html.haml +0 -8
- data/app/views/releaf/base/_edit.field_type_delete_nested.html.haml +0 -3
- data/app/views/releaf/base/_edit.field_type_file.html.haml +0 -10
- data/app/views/releaf/base/_edit.field_type_image.html.haml +0 -12
- data/app/views/releaf/base/_edit.field_type_item.html.haml +0 -31
- data/app/views/releaf/base/_edit.field_type_link.html.haml +0 -4
- data/app/views/releaf/base/_edit.field_type_link_i18n.html.haml +0 -26
- data/app/views/releaf/base/_edit.field_type_password.html.haml +0 -4
- data/app/views/releaf/base/_edit.field_type_richtext.html.haml +0 -4
- data/app/views/releaf/base/_edit.field_type_richtext_i18n.html.haml +0 -27
- data/app/views/releaf/base/_edit.field_type_text.html.haml +0 -4
- data/app/views/releaf/base/_edit.field_type_text_i18n.html.haml +0 -27
- data/app/views/releaf/base/_edit.field_type_textarea.html.haml +0 -4
- data/app/views/releaf/base/_edit.field_type_textarea_i18n.html.haml +0 -27
- data/app/views/releaf/base/_edit.field_type_time.html.haml +0 -8
- data/app/views/releaf/base/_edit.fields.association.html.haml +0 -48
- data/app/views/releaf/base/_edit.fields.has_many_template.html.haml +0 -15
- data/app/views/releaf/base/_edit.fields.html.haml +0 -20
- data/app/views/releaf/base/_edit.footer.html.haml +0 -14
- data/app/views/releaf/base/_edit.form.html.haml +0 -4
- data/app/views/releaf/base/_edit.header.html.haml +0 -3
- data/app/views/releaf/base/_index.body.html.haml +0 -6
- data/app/views/releaf/base/_index.cell.html.haml +0 -20
- data/app/views/releaf/base/_index.footer.html.haml +0 -28
- data/app/views/releaf/base/_index.header.html.haml +0 -4
- data/app/views/releaf/base/_index.row.html.haml +0 -6
- data/app/views/releaf/base/_index.search.html.haml +0 -5
- data/app/views/releaf/base/_index.table.html.haml +0 -24
- data/app/views/releaf/base/_secondary_panel.html.haml +0 -10
- data/app/views/releaf/base/_show.body.html.haml +0 -3
- data/app/views/releaf/base/_show.field.html.haml +0 -20
- data/app/views/releaf/base/_show.field_type_date.html.haml +0 -9
- data/app/views/releaf/base/_show.field_type_date_time.html.haml +0 -9
- data/app/views/releaf/base/_show.field_type_email.html.haml +0 -6
- data/app/views/releaf/base/_show.field_type_file.html.haml +0 -7
- data/app/views/releaf/base/_show.field_type_image.html.haml +0 -10
- data/app/views/releaf/base/_show.field_type_item.html.haml +0 -11
- data/app/views/releaf/base/_show.field_type_link.html.haml +0 -14
- data/app/views/releaf/base/_show.field_type_password.html.haml +0 -6
- data/app/views/releaf/base/_show.field_type_richtext.html.haml +0 -6
- data/app/views/releaf/base/_show.field_type_text.html.haml +0 -6
- data/app/views/releaf/base/_show.field_type_textarea.html.haml +0 -6
- data/app/views/releaf/base/_show.field_type_time.html.haml +0 -9
- data/app/views/releaf/base/_show.field_type_url.html.haml +0 -7
- data/app/views/releaf/base/_show.fields.association.html.haml +0 -36
- data/app/views/releaf/base/_show.fields.has_many_template.html.haml +0 -12
- data/app/views/releaf/base/_show.fields.html.haml +0 -17
- data/app/views/releaf/base/_show.footer.html.haml +0 -18
- data/app/views/releaf/base/_show.header.html.haml +0 -3
- data/app/views/releaf/base/confirm_destroy.html.haml +0 -17
- data/app/views/releaf/base/edit.html.haml +0 -1
- data/app/views/releaf/base/index.html.haml +0 -3
- data/app/views/releaf/base/new.html.haml +0 -1
- data/app/views/releaf/base/show.html.haml +0 -3
- data/app/views/releaf/content/_edit.body.html.haml +0 -46
- data/app/views/releaf/content/_edit.content_fields.html.haml +0 -11
- data/app/views/releaf/content/_edit.fields.html.haml +0 -17
- data/app/views/releaf/content/_edit.slug.html.haml +0 -12
- data/app/views/releaf/content/_get_content_form.html.haml +0 -7
- data/app/views/releaf/content/_secondary_panel.html.haml +0 -3
- data/app/views/releaf/content/_tree_level.html.haml +0 -16
- data/app/views/releaf/content/ajax.new.html.haml +0 -3
- data/app/views/releaf/content/index.html.haml +0 -0
- data/app/views/releaf/roles/_edit.field.permissions.html.haml +0 -5
- data/app/views/releaf/roles/_show.field.default.html.haml +0 -6
- data/app/views/releaf/roles/_show.field.permissions.html.haml +0 -11
- data/app/views/releaf/sessions/new.html.haml +0 -17
- data/app/views/releaf/translations/_edit.body.html.haml +0 -50
- data/app/views/releaf/translations/_edit.header.html.haml +0 -19
- data/app/views/releaf/translations/_index.row.html.haml +0 -5
- data/app/views/releaf/translations/_secondary_panel.html.haml +0 -13
- data/bin/releaf +0 -25
- data/lib/generators/releaf/install_generator.rb +0 -87
- data/lib/generators/releaf/templates/config/common_fields.yml.example +0 -17
- data/lib/generators/releaf/templates/controllers/home_controller.rb +0 -4
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_222222_256x240.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_2e83ff_256x240.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_454545_256x240.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_888888_256x240.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/jquery_ui/smoothness/ui-icons_cd0a0a_256x240.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/lightbox/close.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/lightbox/loading.gif +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/lightbox/next.png +0 -0
- data/lib/generators/releaf/templates/images/3rd_party/lightbox/prev.png +0 -0
- data/lib/generators/releaf/templates/initializers/releaf.rb +0 -20
- data/lib/generators/releaf/templates/initializers/releaf_i18n.rb +0 -25
- data/lib/generators/releaf/templates/initializers/releaf_store_current_template.rb +0 -25
- data/lib/generators/releaf/templates/javascripts/3rd_party/jquery.jcarousel.js +0 -1058
- data/lib/generators/releaf/templates/javascripts/3rd_party/jquery_ui.js +0 -14850
- data/lib/generators/releaf/templates/javascripts/3rd_party/lightbox.js.erb +0 -379
- data/lib/generators/releaf/templates/javascripts/application.js +0 -15
- data/lib/generators/releaf/templates/javascripts/lib/init_jcarousel.js +0 -40
- data/lib/generators/releaf/templates/javascripts/lib/js_check.js +0 -8
- data/lib/generators/releaf/templates/javascripts/lib/request_url.js +0 -169
- data/lib/generators/releaf/templates/javascripts/lib/sortable.js +0 -29
- data/lib/generators/releaf/templates/migrations/create_releaf_admins.rb +0 -53
- data/lib/generators/releaf/templates/migrations/create_releaf_nodes.rb +0 -25
- data/lib/generators/releaf/templates/migrations/create_releaf_roles.rb +0 -12
- data/lib/generators/releaf/templates/migrations/create_releaf_tinymce_assets.rb +0 -11
- data/lib/generators/releaf/templates/migrations/create_releaf_translations.rb +0 -31
- data/lib/generators/releaf/templates/models/admin_ability.rb +0 -51
- data/lib/generators/releaf/templates/seeds.rb +0 -64
- data/lib/generators/releaf/templates/stylesheets/3rd_party/jquery_ui/smoothness.css.erb +0 -1174
- data/lib/generators/releaf/templates/stylesheets/3rd_party/lightbox.css.erb +0 -157
- data/lib/generators/releaf/templates/stylesheets/3rd_party/reset.css +0 -48
- data/lib/generators/releaf/templates/stylesheets/application.scss +0 -15
- data/lib/generators/releaf/templates/stylesheets/style.scss +0 -45
- data/lib/generators/releaf/templates/views/home/index.html.haml +0 -1
- data/lib/generators/releaf/templates/views/layouts/application.html.haml +0 -26
- data/lib/i18n/backend/releaf.rb +0 -97
- data/lib/i18n/backend/releaf/translation.rb +0 -61
- data/lib/i18n/backend/releaf/translation_data.rb +0 -39
- data/lib/i18n/backend/releaf/translation_group.rb +0 -34
- data/lib/i18n/releaf.rb +0 -1
- data/lib/releaf/boolean_at.rb +0 -77
- data/lib/releaf/engine.rb +0 -4
- data/lib/releaf/globalize3/fallbacks.rb +0 -19
- data/lib/releaf/resources.rb +0 -101
- data/lib/releaf/slug.rb +0 -118
- data/lib/releaf/version.rb +0 -3
- data/lib/tasks/releaf_tasks.rake +0 -4
- data/spec/factories/factories.rb +0 -24
- data/spec/features/admin_spec.rb +0 -41
- data/templates/releaf/installer.rb +0 -207
@@ -1,183 +0,0 @@
|
|
1
|
-
module Releaf
|
2
|
-
class ContentController < BaseController
|
3
|
-
helper_method :content_fields_to_display
|
4
|
-
|
5
|
-
def content_fields_to_display obj_class
|
6
|
-
if obj_class.respond_to? :releaf_fields_to_display
|
7
|
-
obj_class.releaf_fields_to_display params[:action]
|
8
|
-
else
|
9
|
-
obj_class.column_names - %w[id created_at updated_at position]
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
def fields_to_display
|
14
|
-
return super unless params[:action] == 'show'
|
15
|
-
return %w[name parent_id visible protected content]
|
16
|
-
end
|
17
|
-
|
18
|
-
def build_secondary_panel_variables
|
19
|
-
@nodes = Node.roots
|
20
|
-
super
|
21
|
-
end
|
22
|
-
|
23
|
-
def index
|
24
|
-
authorize! :index, Node
|
25
|
-
respond_to do |format|
|
26
|
-
format.html
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
def create
|
31
|
-
content_type = _node_params[:content_type].constantize
|
32
|
-
authorize! :create, content_type
|
33
|
-
@resource = resource_class.new(_node_params)
|
34
|
-
|
35
|
-
respond_to do |format|
|
36
|
-
if @resource.save
|
37
|
-
format.html { redirect_to url_for(:action => "edit", :controller => 'content', :id => @resource.id)}
|
38
|
-
else
|
39
|
-
form_extras
|
40
|
-
@order_nodes = Node.where(:parent_id => (params[:parent_id] ? params[:parent_id] : nil))
|
41
|
-
format.html { render action: "new" }
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
def generate_url
|
47
|
-
tmp_resource = nil
|
48
|
-
|
49
|
-
if params[:id]
|
50
|
-
tmp_resource = Node.find(params[:id])
|
51
|
-
elsif params[:parent_id].blank? == false
|
52
|
-
parent = Node.find(params[:parent_id])
|
53
|
-
tmp_resource = parent.children.new
|
54
|
-
else
|
55
|
-
tmp_resource = Node.new
|
56
|
-
end
|
57
|
-
|
58
|
-
tmp_resource.name = params[:name]
|
59
|
-
tmp_resource.slug = nil
|
60
|
-
# FIXME calling private method
|
61
|
-
tmp_resource.send(:ensure_unique_url)
|
62
|
-
|
63
|
-
respond_to do |format|
|
64
|
-
format.js { render :text => tmp_resource.slug }
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
def update
|
69
|
-
@resource = resource_class.find(params[:id])
|
70
|
-
authorize! :edit, @resource
|
71
|
-
|
72
|
-
form_extras
|
73
|
-
@order_nodes = Node.where(:parent_id => (@resource.parent_id ? @resource.parent_id : nil)).where('id != :id', :id => params[:id])
|
74
|
-
|
75
|
-
@resource.assign_attributes(_node_params)
|
76
|
-
|
77
|
-
|
78
|
-
respond_to do |format|
|
79
|
-
if @resource.save
|
80
|
-
format.html { redirect_to url_for(:action => "edit") }
|
81
|
-
else
|
82
|
-
format.html { render action: "edit" }
|
83
|
-
end
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
def new
|
88
|
-
authorize! :create, resource_class
|
89
|
-
unless params[:ajax] == '1'
|
90
|
-
super
|
91
|
-
@order_nodes = Node.where(:parent_id => (params[:parent_id] ? params[:parent_id] : nil))
|
92
|
-
@position = 1
|
93
|
-
@resource.parent_id = params[:parent_id]
|
94
|
-
form_extras
|
95
|
-
else
|
96
|
-
Rails.application.eager_load!
|
97
|
-
get_base_models
|
98
|
-
render 'ajax.new', :layout => nil
|
99
|
-
end
|
100
|
-
end
|
101
|
-
|
102
|
-
def edit
|
103
|
-
super
|
104
|
-
@order_nodes = Node.where(:parent_id => (@resource.parent_id ? @resource.parent_id : nil)).where('id != :id', :id => params[:id])
|
105
|
-
|
106
|
-
if @resource.higher_item
|
107
|
-
@position = @resource.position
|
108
|
-
else
|
109
|
-
@position = 1
|
110
|
-
end
|
111
|
-
|
112
|
-
form_extras
|
113
|
-
end
|
114
|
-
|
115
|
-
def setup
|
116
|
-
super
|
117
|
-
@features[:show] = false
|
118
|
-
end
|
119
|
-
|
120
|
-
def get_content_form
|
121
|
-
Rails.application.eager_load!
|
122
|
-
raise ArgumentError unless content_type_class_names.include? params[:content_type]
|
123
|
-
@node = resource_class.find(params[:id])
|
124
|
-
authorize! :edit, @resource
|
125
|
-
|
126
|
-
@resource = params[:content_type].constantize.new
|
127
|
-
|
128
|
-
respond_to do |format|
|
129
|
-
format.html { render :partial => 'get_content_form', :layout => false }
|
130
|
-
end
|
131
|
-
|
132
|
-
end
|
133
|
-
|
134
|
-
def resource_class
|
135
|
-
Node
|
136
|
-
end
|
137
|
-
|
138
|
-
protected
|
139
|
-
|
140
|
-
def _node_params
|
141
|
-
params.require(:resource).permit!
|
142
|
-
end
|
143
|
-
|
144
|
-
private
|
145
|
-
|
146
|
-
def content_type_class_names
|
147
|
-
content_type_classes.map { |nc| nc.name }.sort
|
148
|
-
end
|
149
|
-
|
150
|
-
def content_type_classes
|
151
|
-
NodeBase.node_classes + BlankNodeBase.node_classes
|
152
|
-
end
|
153
|
-
|
154
|
-
def form_extras
|
155
|
-
Rails.application.eager_load!
|
156
|
-
get_base_models
|
157
|
-
|
158
|
-
new_content_if_needed
|
159
|
-
end
|
160
|
-
|
161
|
-
def resource_params
|
162
|
-
[]
|
163
|
-
end
|
164
|
-
|
165
|
-
def new_content_if_needed
|
166
|
-
return if @resource.content
|
167
|
-
if params[:content_type]
|
168
|
-
if get_base_models.map { |bm| bm.name }.include? params[:content_type]
|
169
|
-
@resource.content_type = params[:content_type]
|
170
|
-
content_class = @resource.content_type.constantize
|
171
|
-
if content_class.node_type == 'Releaf::NodeBase'
|
172
|
-
@resource.content = @resource.content_type.constantize.new
|
173
|
-
end
|
174
|
-
end
|
175
|
-
end
|
176
|
-
end
|
177
|
-
|
178
|
-
def get_base_models
|
179
|
-
@base_models ||= content_type_classes
|
180
|
-
end
|
181
|
-
|
182
|
-
end
|
183
|
-
end
|
@@ -1,38 +0,0 @@
|
|
1
|
-
module Releaf
|
2
|
-
class RolesController < BaseController
|
3
|
-
|
4
|
-
def resource_class
|
5
|
-
Releaf::Role
|
6
|
-
end
|
7
|
-
|
8
|
-
def fields_to_display
|
9
|
-
case params[:action].to_sym
|
10
|
-
when :index
|
11
|
-
%w[name default_controller default]
|
12
|
-
when :create, :edit, :new, :update, :show
|
13
|
-
%w[name default default_controller permissions]
|
14
|
-
else
|
15
|
-
[]
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
protected
|
20
|
-
|
21
|
-
def resource_params
|
22
|
-
return [] unless %w[update create].include? params[:action]
|
23
|
-
|
24
|
-
fields = ['name', 'default', 'default_controller']
|
25
|
-
AdminAbility::PERMISSIONS.each do |permission|
|
26
|
-
if permission.is_a? String
|
27
|
-
fields.push "#{permission}_permission"
|
28
|
-
elsif permission.is_a? Array
|
29
|
-
fields.push "#{permission[0]}_permissions"
|
30
|
-
else
|
31
|
-
raise RuntimeError, 'invalid permissions'
|
32
|
-
end
|
33
|
-
end
|
34
|
-
return fields
|
35
|
-
end
|
36
|
-
|
37
|
-
end
|
38
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
module Releaf
|
2
|
-
class SessionsController < Devise::SessionsController
|
3
|
-
layout "releaf/devise"
|
4
|
-
|
5
|
-
def after_sign_in_path_for(resource)
|
6
|
-
controller_name = resource.role.default_controller
|
7
|
-
|
8
|
-
if controller_name
|
9
|
-
if controller_name == 'content'
|
10
|
-
default_path = releaf_nodes_path
|
11
|
-
elsif controller_name == 'translations'
|
12
|
-
default_path = releaf_translation_groups_path
|
13
|
-
else
|
14
|
-
default_path = send("admin_#{controller_name}_path")
|
15
|
-
end
|
16
|
-
else
|
17
|
-
default_path = releaf_nodes_path
|
18
|
-
end
|
19
|
-
|
20
|
-
return default_path
|
21
|
-
end
|
22
|
-
|
23
|
-
def full_controller_name
|
24
|
-
self.class.name.sub(/Controller$/, '').underscore
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
module Releaf
|
2
|
-
class TinymceAssetsController < BaseController
|
3
|
-
skip_authorization_check :only => [:create]
|
4
|
-
|
5
|
-
def create
|
6
|
-
asset = TinymceAsset.new
|
7
|
-
asset.file_type = params[:file].content_type
|
8
|
-
asset.file = params[:file]
|
9
|
-
asset.save!
|
10
|
-
|
11
|
-
|
12
|
-
render json: {
|
13
|
-
image: {
|
14
|
-
# url: serve_tinymce_asset_path(asset)
|
15
|
-
url: asset.file.url
|
16
|
-
}
|
17
|
-
}, content_type: "text/html"
|
18
|
-
end
|
19
|
-
|
20
|
-
# def serve
|
21
|
-
# asset = TinymceAsset.find(params[:id])
|
22
|
-
# send_file asset.file.path, :type => asset.file_type
|
23
|
-
# end
|
24
|
-
|
25
|
-
end
|
26
|
-
end
|
@@ -1,117 +0,0 @@
|
|
1
|
-
module Releaf
|
2
|
-
class TranslationsController < BaseController
|
3
|
-
|
4
|
-
def resource_class
|
5
|
-
@object_class
|
6
|
-
end
|
7
|
-
|
8
|
-
def build_secondary_panel_variables
|
9
|
-
@groups = I18n::Backend::Releaf::TranslationGroup.order(:scope).all
|
10
|
-
super
|
11
|
-
end
|
12
|
-
|
13
|
-
def columns( view = nil )
|
14
|
-
return super + (Settings.i18n_locales || [])
|
15
|
-
end
|
16
|
-
|
17
|
-
def index
|
18
|
-
authorize! :manage, I18n::Backend::Releaf::Translation
|
19
|
-
@resources = @object_class = I18n::Backend::Releaf::Translation.includes(:translation_data).filter(:search => params[:search])
|
20
|
-
if !params[:ajax].blank?
|
21
|
-
render :layout => false
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
def edit
|
26
|
-
authorize! :manage, I18n::Backend::Releaf::Translation
|
27
|
-
@resource = resource_class.find(params[:id])
|
28
|
-
end
|
29
|
-
|
30
|
-
def create
|
31
|
-
authorize! :manage, I18n::Backend::Releaf::Translation
|
32
|
-
@resource = resource_class.new(resource_params)
|
33
|
-
|
34
|
-
respond_to do |format|
|
35
|
-
if @resource.save
|
36
|
-
update_translations
|
37
|
-
Settings.i18n_updated_at = Time.now
|
38
|
-
format.html { redirect_to url_for(:action => "edit", :id => @resource.id) }
|
39
|
-
else
|
40
|
-
format.html { render :action => "new" }
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
def update
|
46
|
-
authorize! :manage, I18n::Backend::Releaf::Translation
|
47
|
-
@resource = resource_class.find(params[:id])
|
48
|
-
|
49
|
-
unless params[:translations].blank?
|
50
|
-
ids_to_keep = update_translations
|
51
|
-
@resource.translations.where('id NOT IN (?)', ids_to_keep).destroy_all
|
52
|
-
else
|
53
|
-
@resource.translations.destroy_all
|
54
|
-
end
|
55
|
-
Settings.i18n_updated_at = Time.now
|
56
|
-
|
57
|
-
|
58
|
-
respond_to do |format|
|
59
|
-
format.html { redirect_to url_for(:action => "edit", :id => @resource.id) }
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
protected
|
64
|
-
|
65
|
-
def setup
|
66
|
-
super
|
67
|
-
@object_class = I18n::Backend::Releaf::TranslationGroup
|
68
|
-
@features[:show] = false
|
69
|
-
@continuous_scroll = true
|
70
|
-
end
|
71
|
-
|
72
|
-
private
|
73
|
-
|
74
|
-
def update_translations
|
75
|
-
return [] if params[:translations].blank?
|
76
|
-
|
77
|
-
ids_to_keep = [];
|
78
|
-
params[:translations].each_pair do |id,t|
|
79
|
-
next if t['key'].blank?
|
80
|
-
|
81
|
-
translation = nil
|
82
|
-
if id =~ /\A\d+\z/
|
83
|
-
translation = I18n::Backend::Releaf::Translation.find(id)
|
84
|
-
else
|
85
|
-
translation = @resource.translations.new
|
86
|
-
end
|
87
|
-
|
88
|
-
translation.key = params[:translation_group][:scope] + '.' + t['key']
|
89
|
-
translation.save
|
90
|
-
|
91
|
-
|
92
|
-
unless id =~ /\A\d+\z/
|
93
|
-
id = translation.id
|
94
|
-
end
|
95
|
-
|
96
|
-
ids_to_keep.push id
|
97
|
-
|
98
|
-
|
99
|
-
(Settings.i18n_locales || []).each do |locale|
|
100
|
-
translation_data = I18n::Backend::Releaf::TranslationData.find_or_initialize_by_translation_id_and_lang(id, locale)
|
101
|
-
unless t['localization'][locale].blank?
|
102
|
-
translation_data.localization = t['localization'][locale]
|
103
|
-
translation_data.save
|
104
|
-
else
|
105
|
-
translation_data.destroy
|
106
|
-
end
|
107
|
-
end
|
108
|
-
end
|
109
|
-
return ids_to_keep
|
110
|
-
end
|
111
|
-
|
112
|
-
def resource_params
|
113
|
-
params.require(:resource).permit(:scope)
|
114
|
-
end
|
115
|
-
|
116
|
-
end
|
117
|
-
end
|
@@ -1,59 +0,0 @@
|
|
1
|
-
module Releaf
|
2
|
-
module AdminHelper
|
3
|
-
|
4
|
-
def is_this_main_menu_item_active? releaf_main_menu_item
|
5
|
-
_check_if_this_is_valid_releaf_main_menu_item releaf_main_menu_item
|
6
|
-
|
7
|
-
unless releaf_main_menu_item.start_with?('*')
|
8
|
-
return params[:controller] == _menu_item_controller_name(releaf_main_menu_item)
|
9
|
-
else
|
10
|
-
return base_menu_items(releaf_main_menu_item).include? params[:controller]
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
def main_menu_item_url releaf_main_menu_item, options={}
|
15
|
-
# TODO implement options
|
16
|
-
_check_if_this_is_valid_releaf_main_menu_item releaf_main_menu_item
|
17
|
-
|
18
|
-
unless releaf_main_menu_item.start_with?('*')
|
19
|
-
return url_for(:controller => _menu_item_controller_name(releaf_main_menu_item), :action => _menu_item_action_name(releaf_main_menu_item))
|
20
|
-
else
|
21
|
-
submenu_items = Releaf.base_menu[releaf_main_menu_item]
|
22
|
-
|
23
|
-
# TODO find first item in submenu_items list, that current admin can access
|
24
|
-
first_accessible_item = submenu_items[0][1][0] # currently will find first
|
25
|
-
|
26
|
-
return url_for(:controller => _menu_item_controller_name(first_accessible_item), :action => _menu_item_action_name(first_accessible_item))
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
def base_menu_items base_menu_name
|
31
|
-
submenu_items = Releaf.base_menu[base_menu_name]
|
32
|
-
return [] if submenu_items.blank?
|
33
|
-
|
34
|
-
all_submenu_items = []
|
35
|
-
submenu_items.each do |group|
|
36
|
-
group[1].each { |item| all_submenu_items.push _menu_item_controller_name(item) }
|
37
|
-
end
|
38
|
-
|
39
|
-
return all_submenu_items
|
40
|
-
end
|
41
|
-
|
42
|
-
private
|
43
|
-
|
44
|
-
def _menu_item_controller_name releaf_menu_item
|
45
|
-
releaf_menu_item.split(/#/, 2).first
|
46
|
-
end
|
47
|
-
|
48
|
-
def _menu_item_action_name releaf_menu_item
|
49
|
-
releaf_menu_item.split(/#/, 2)[2] || 'index'
|
50
|
-
end
|
51
|
-
|
52
|
-
def _check_if_this_is_valid_releaf_main_menu_item item
|
53
|
-
raise ArgumentError, "not a string" unless item.is_a? String
|
54
|
-
raise ArgumentError, "no such Releaf main menu item" unless Releaf.main_menu.include? item
|
55
|
-
end
|
56
|
-
|
57
|
-
|
58
|
-
end
|
59
|
-
end
|