noodall-ui 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.document +5 -0
- data/.gitignore +29 -0
- data/Gemfile +29 -0
- data/Gemfile.lock +205 -0
- data/LICENSE +20 -0
- data/README.rdoc +17 -0
- data/Rakefile +17 -0
- data/app/controllers/noodall/admin/assets_controller.rb +241 -0
- data/app/controllers/noodall/admin/base_controller.rb +8 -0
- data/app/controllers/noodall/admin/components_controller.rb +22 -0
- data/app/controllers/noodall/admin/groups_controller.rb +11 -0
- data/app/controllers/noodall/admin/nodes_controller.rb +159 -0
- data/app/controllers/noodall/nodes_controller.rb +41 -0
- data/app/helpers/noodall/admin/assets_helper.rb +15 -0
- data/app/helpers/noodall/admin/base_helper.rb +14 -0
- data/app/helpers/noodall/admin/nodes_helper.rb +37 -0
- data/app/helpers/noodall/components_helper.rb +38 -0
- data/app/helpers/noodall/layout_helper.rb +25 -0
- data/app/helpers/noodall/nodes_helper.rb +72 -0
- data/app/models/asset.rb +103 -0
- data/app/views/layouts/noodall_admin.html.erb +66 -0
- data/app/views/noodall/admin/assets/_browser.html.erb +28 -0
- data/app/views/noodall/admin/assets/_form.html.erb +54 -0
- data/app/views/noodall/admin/assets/_menu.html.erb +8 -0
- data/app/views/noodall/admin/assets/_show.html.erb +48 -0
- data/app/views/noodall/admin/assets/_tags.html.erb +13 -0
- data/app/views/noodall/admin/assets/add.html.erb +10 -0
- data/app/views/noodall/admin/assets/form.html.erb +12 -0
- data/app/views/noodall/admin/assets/form.js.erb +2 -0
- data/app/views/noodall/admin/assets/index.html.erb +65 -0
- data/app/views/noodall/admin/assets/index.js.erb +1 -0
- data/app/views/noodall/admin/assets/show.html.erb +3 -0
- data/app/views/noodall/admin/assets/show.js.erb +1 -0
- data/app/views/noodall/admin/assets/tags.html.erb +3 -0
- data/app/views/noodall/admin/assets/tags.js.erb +1 -0
- data/app/views/noodall/admin/components/_component.erb +0 -0
- data/app/views/noodall/admin/nodes/_body.html.erb +5 -0
- data/app/views/noodall/admin/nodes/_branch.html.erb +10 -0
- data/app/views/noodall/admin/nodes/_home.html.erb +27 -0
- data/app/views/noodall/admin/nodes/_slot_form.html.erb +16 -0
- data/app/views/noodall/admin/nodes/change_template.html.erb +38 -0
- data/app/views/noodall/admin/nodes/index.html.erb +69 -0
- data/app/views/noodall/admin/nodes/new.html.erb +30 -0
- data/app/views/noodall/admin/nodes/show.html.erb +144 -0
- data/app/views/noodall/admin/nodes/tree.html.erb +3 -0
- data/app/views/noodall/admin/nodes/tree.js.erb +2 -0
- data/app/views/noodall/components/_component.erb +0 -0
- data/app/views/noodall/nodes/search.html.erb +14 -0
- data/app/views/noodall/nodes/sitemap.html.erb +3 -0
- data/app/views/noodall/nodes/sitemap.xml.rxml +22 -0
- data/config/application.rb +29 -0
- data/config/boot.rb +13 -0
- data/config/cucumber.yml +8 -0
- data/config/database.yml +14 -0
- data/config/environment.rb +5 -0
- data/config/environments/development.rb +30 -0
- data/config/environments/production.rb +50 -0
- data/config/environments/test.rb +35 -0
- data/config/locales/en.yml +5 -0
- data/config.ru +4 -0
- data/demo/controllers/application_controller.rb +22 -0
- data/demo/initializers/dragonfly.rb +1 -0
- data/demo/initializers/mongo_mapper.rb +13 -0
- data/demo/initializers/noodall.rb +2 -0
- data/demo/initializers/secret_token.rb +7 -0
- data/demo/initializers/session_store.rb +8 -0
- data/demo/models/gallery.rb +17 -0
- data/demo/models/page_a.rb +9 -0
- data/demo/models/page_b.rb +4 -0
- data/demo/models/page_c.rb +7 -0
- data/demo/models/promo.rb +22 -0
- data/demo/models/user.rb +12 -0
- data/demo/routes.rb +3 -0
- data/demo/seeds.rb +8 -0
- data/demo/views/admin/components/_gallery.html.erb +49 -0
- data/demo/views/admin/components/_promo.html.erb +34 -0
- data/demo/views/admin/nodes/_page_a.html.erb +47 -0
- data/demo/views/admin/nodes/_page_b.html.erb +35 -0
- data/demo/views/admin/nodes/_page_c.html.erb +35 -0
- data/demo/views/components/_gallery.html.erb +23 -0
- data/demo/views/components/_promo.html.erb +5 -0
- data/demo/views/layouts/application.html.erb +121 -0
- data/demo/views/nodes/page_a.html.erb +14 -0
- data/demo/views/nodes/page_b.html.erb +9 -0
- data/demo/views/nodes/page_c.html.erb +12 -0
- data/features/change_templates.feature +25 -0
- data/features/content_templates.feature +18 -0
- data/features/gallery_component.feature +22 -0
- data/features/manage_assets.feature +28 -0
- data/features/manage_content_tree.feature +42 -0
- data/features/preview.feature +8 -0
- data/features/promo_component.feature +18 -0
- data/features/publish_content.feature +28 -0
- data/features/search.feature +12 -0
- data/features/sitemap.feature +9 -0
- data/features/step_definitions/asset_steps.rb +66 -0
- data/features/step_definitions/cms_node_steps.rb +126 -0
- data/features/step_definitions/component_steps.rb +137 -0
- data/features/step_definitions/content_steps.rb +187 -0
- data/features/step_definitions/date_select_steps.rb +39 -0
- data/features/step_definitions/groups_access_steps.rb +92 -0
- data/features/step_definitions/node_steps.rb +25 -0
- data/features/step_definitions/preview_steps.rb +7 -0
- data/features/step_definitions/pubish_content_steps.rb +45 -0
- data/features/step_definitions/search_steps.rb +21 -0
- data/features/step_definitions/sign_in_steps.rb +3 -0
- data/features/step_definitions/web_steps.rb +219 -0
- data/features/support/env.rb +52 -0
- data/features/support/logo.png +0 -0
- data/features/support/paths.rb +56 -0
- data/generators/component/USAGE +8 -0
- data/generators/component/component_generator.rb +35 -0
- data/generators/component/lib/insert_commands.rb +61 -0
- data/generators/component/templates/admin_template.html.erb +50 -0
- data/generators/component/templates/factory.rb +5 -0
- data/generators/component/templates/model.rb +8 -0
- data/generators/component/templates/template.html.erb +41 -0
- data/generators/node/USAGE +8 -0
- data/generators/node/lib/insert_commands.rb +47 -0
- data/generators/node/node_generator.rb +35 -0
- data/generators/node/templates/admin_template.html.erb +49 -0
- data/generators/node/templates/factory.rb +5 -0
- data/generators/node/templates/model.rb +11 -0
- data/generators/node/templates/template.html.erb +41 -0
- data/generators/node_features/USAGE +8 -0
- data/generators/node_features/node_features_generator.rb +16 -0
- data/lib/generators/noodall/node/USAGE +8 -0
- data/lib/generators/noodall/node/node_generator.rb +21 -0
- data/lib/generators/noodall/node/templates/admin_template.html.erb +52 -0
- data/lib/generators/noodall/node/templates/factory.rb +8 -0
- data/lib/generators/noodall/node/templates/model.rb +13 -0
- data/lib/generators/noodall/node/templates/template.html.erb +12 -0
- data/lib/noodall/canable.rb +1 -0
- data/lib/noodall/dragonfly.rb +23 -0
- data/lib/noodall/engine.rb +13 -0
- data/lib/noodall/permalinks.rb +12 -0
- data/lib/noodall/routes.rb +45 -0
- data/lib/noodall/ui/version.rb +5 -0
- data/lib/noodall/ui.rb +17 -0
- data/lib/noodall/video_thumbnail_encoder.rb +31 -0
- data/lib/noodall-ui.rb +6 -0
- data/lib/tasks/cucumber.rake +53 -0
- data/log/.gitignore +0 -0
- data/noodall-ui.gemspec +28 -0
- data/public/favicon.ico +0 -0
- data/public/images/admin/add-small.png +0 -0
- data/public/images/admin/add.png +0 -0
- data/public/images/admin/add_file.gif +0 -0
- data/public/images/admin/advanced.gif +0 -0
- data/public/images/admin/back.png +0 -0
- data/public/images/admin/cancel-small.gif +0 -0
- data/public/images/admin/cancel.gif +0 -0
- data/public/images/admin/change-bg.gif +0 -0
- data/public/images/admin/change.gif +0 -0
- data/public/images/admin/check.png +0 -0
- data/public/images/admin/clear.gif +0 -0
- data/public/images/admin/close.png +0 -0
- data/public/images/admin/create.gif +0 -0
- data/public/images/admin/delete.gif +0 -0
- data/public/images/admin/delete.png +0 -0
- data/public/images/admin/doc-icon.png +0 -0
- data/public/images/admin/document.png +0 -0
- data/public/images/admin/down.png +0 -0
- data/public/images/admin/download.png +0 -0
- data/public/images/admin/draft.gif +0 -0
- data/public/images/admin/draft.png +0 -0
- data/public/images/admin/edit.gif +0 -0
- data/public/images/admin/edit.png +0 -0
- data/public/images/admin/image.png +0 -0
- data/public/images/admin/image_small.png +0 -0
- data/public/images/admin/info-white.png +0 -0
- data/public/images/admin/info.png +0 -0
- data/public/images/admin/media.gif +0 -0
- data/public/images/admin/nav-2.gif +0 -0
- data/public/images/admin/nav.gif +0 -0
- data/public/images/admin/next.png +0 -0
- data/public/images/admin/no-type-icon.png +0 -0
- data/public/images/admin/pagination.gif +0 -0
- data/public/images/admin/pdf-icon.png +0 -0
- data/public/images/admin/prev.png +0 -0
- data/public/images/admin/preview.gif +0 -0
- data/public/images/admin/publish.gif +0 -0
- data/public/images/admin/remove.gif +0 -0
- data/public/images/admin/reset.gif +0 -0
- data/public/images/admin/select_image.gif +0 -0
- data/public/images/admin/select_images.gif +0 -0
- data/public/images/admin/set.gif +0 -0
- data/public/images/admin/sort.png +0 -0
- data/public/images/admin/tag.png +0 -0
- data/public/images/admin/templates/article-page.gif +0 -0
- data/public/images/admin/templates/articles-list.gif +0 -0
- data/public/images/admin/templates/course-page.gif +0 -0
- data/public/images/admin/templates/event-page.gif +0 -0
- data/public/images/admin/templates/events-list.gif +0 -0
- data/public/images/admin/templates/home.gif +0 -0
- data/public/images/admin/templates/landing-page.gif +0 -0
- data/public/images/admin/templates/page-a.gif +0 -0
- data/public/images/admin/templates/page-b.gif +0 -0
- data/public/images/admin/templates/school-landing-page.gif +0 -0
- data/public/images/admin/templates/study-landing-page.gif +0 -0
- data/public/images/admin/top-level.png +0 -0
- data/public/images/admin/top-level_small.png +0 -0
- data/public/images/admin/txt-icon.png +0 -0
- data/public/images/admin/uncheck.png +0 -0
- data/public/images/admin/up.png +0 -0
- data/public/images/admin/update.gif +0 -0
- data/public/images/admin/upload.png +0 -0
- data/public/images/admin/video.png +0 -0
- data/public/images/admin/view.png +0 -0
- data/public/images/admin/xls-icon.png +0 -0
- data/public/images/fancybox/blank.gif +0 -0
- data/public/images/fancybox/fancy_close.png +0 -0
- data/public/images/fancybox/fancy_loading.png +0 -0
- data/public/images/fancybox/fancy_nav_left.png +0 -0
- data/public/images/fancybox/fancy_nav_right.png +0 -0
- data/public/images/fancybox/fancy_shadow_e.png +0 -0
- data/public/images/fancybox/fancy_shadow_n.png +0 -0
- data/public/images/fancybox/fancy_shadow_ne.png +0 -0
- data/public/images/fancybox/fancy_shadow_nw.png +0 -0
- data/public/images/fancybox/fancy_shadow_s.png +0 -0
- data/public/images/fancybox/fancy_shadow_se.png +0 -0
- data/public/images/fancybox/fancy_shadow_sw.png +0 -0
- data/public/images/fancybox/fancy_shadow_w.png +0 -0
- data/public/images/fancybox/fancy_title_left.png +0 -0
- data/public/images/fancybox/fancy_title_main.png +0 -0
- data/public/images/fancybox/fancy_title_over.png +0 -0
- data/public/images/fancybox/fancy_title_right.png +0 -0
- data/public/images/fancybox/fancybox-x.png +0 -0
- data/public/images/fancybox/fancybox-y.png +0 -0
- data/public/images/fancybox/fancybox.png +0 -0
- data/public/images/plupload/backgrounds.gif +0 -0
- data/public/images/plupload/buttons-disabled.png +0 -0
- data/public/images/plupload/buttons.png +0 -0
- data/public/images/plupload/delete.gif +0 -0
- data/public/images/plupload/done.gif +0 -0
- data/public/images/plupload/error.gif +0 -0
- data/public/images/plupload/throbber.gif +0 -0
- data/public/images/plupload/transp50.png +0 -0
- data/public/javascripts/admin/application.js +586 -0
- data/public/javascripts/admin/asset_edit.js +30 -0
- data/public/javascripts/admin/assets.js +98 -0
- data/public/javascripts/admin/gotham.font.js +20 -0
- data/public/javascripts/admin/jquery.jqtransform.js +366 -0
- data/public/javascripts/admin/nodes.js +30 -0
- data/public/javascripts/admin/tiny_mce_config.js +118 -0
- data/public/javascripts/ajaxify.js +20 -0
- data/public/javascripts/application.js +37 -0
- data/public/javascripts/carousel.lite.js +1 -0
- data/public/javascripts/cufon-yui.js +8 -0
- data/public/javascripts/fancybox.js +1078 -0
- data/public/javascripts/plupload/gears_init.js +86 -0
- data/public/javascripts/plupload/jquery.plupload.queue.min.js +1 -0
- data/public/javascripts/plupload/plupload.flash.swf +0 -0
- data/public/javascripts/plupload/plupload.full.min.js +1 -0
- data/public/javascripts/plupload/plupload.silverlight.xap +0 -0
- data/public/javascripts/rails.js +132 -0
- data/public/javascripts/tiny_mce/jquery.tinymce.js +1 -0
- data/public/javascripts/tiny_mce/langs/en.js +169 -0
- data/public/javascripts/tiny_mce/license.txt +504 -0
- data/public/javascripts/tiny_mce/plugins/advhr/css/advhr.css +5 -0
- data/public/javascripts/tiny_mce/plugins/advhr/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/advhr/editor_plugin_src.js +57 -0
- data/public/javascripts/tiny_mce/plugins/advhr/js/rule.js +43 -0
- data/public/javascripts/tiny_mce/plugins/advhr/langs/en_dlg.js +5 -0
- data/public/javascripts/tiny_mce/plugins/advhr/rule.htm +57 -0
- data/public/javascripts/tiny_mce/plugins/advimage/css/advimage.css +13 -0
- data/public/javascripts/tiny_mce/plugins/advimage/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/advimage/editor_plugin_src.js +50 -0
- data/public/javascripts/tiny_mce/plugins/advimage/image.htm +232 -0
- data/public/javascripts/tiny_mce/plugins/advimage/img/sample.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/advimage/js/image.js +443 -0
- data/public/javascripts/tiny_mce/plugins/advimage/langs/en_dlg.js +43 -0
- data/public/javascripts/tiny_mce/plugins/advlink/css/advlink.css +8 -0
- data/public/javascripts/tiny_mce/plugins/advlink/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/advlink/editor_plugin_src.js +61 -0
- data/public/javascripts/tiny_mce/plugins/advlink/js/advlink.js +528 -0
- data/public/javascripts/tiny_mce/plugins/advlink/langs/en_dlg.js +52 -0
- data/public/javascripts/tiny_mce/plugins/advlink/link.htm +333 -0
- data/public/javascripts/tiny_mce/plugins/advlist/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/advlist/editor_plugin_src.js +154 -0
- data/public/javascripts/tiny_mce/plugins/autoresize/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/autoresize/editor_plugin_src.js +117 -0
- data/public/javascripts/tiny_mce/plugins/autosave/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/autosave/editor_plugin_src.js +422 -0
- data/public/javascripts/tiny_mce/plugins/autosave/langs/en.js +4 -0
- data/public/javascripts/tiny_mce/plugins/bbcode/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +120 -0
- data/public/javascripts/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +127 -0
- data/public/javascripts/tiny_mce/plugins/directionality/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/directionality/editor_plugin_src.js +82 -0
- data/public/javascripts/tiny_mce/plugins/emotions/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/emotions/editor_plugin_src.js +43 -0
- data/public/javascripts/tiny_mce/plugins/emotions/emotions.htm +40 -0
- data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-cool.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-cry.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-frown.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-smile.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-wink.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/emotions/img/smiley-yell.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/emotions/js/emotions.js +22 -0
- data/public/javascripts/tiny_mce/plugins/emotions/langs/en_dlg.js +20 -0
- data/public/javascripts/tiny_mce/plugins/example/dialog.htm +22 -0
- data/public/javascripts/tiny_mce/plugins/example/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/example/editor_plugin_src.js +84 -0
- data/public/javascripts/tiny_mce/plugins/example/img/example.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/example/js/dialog.js +19 -0
- data/public/javascripts/tiny_mce/plugins/example/langs/en.js +3 -0
- data/public/javascripts/tiny_mce/plugins/example/langs/en_dlg.js +3 -0
- data/public/javascripts/tiny_mce/plugins/fullpage/css/fullpage.css +182 -0
- data/public/javascripts/tiny_mce/plugins/fullpage/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +149 -0
- data/public/javascripts/tiny_mce/plugins/fullpage/fullpage.htm +571 -0
- data/public/javascripts/tiny_mce/plugins/fullpage/js/fullpage.js +471 -0
- data/public/javascripts/tiny_mce/plugins/fullpage/langs/en_dlg.js +85 -0
- data/public/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +148 -0
- data/public/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm +109 -0
- data/public/javascripts/tiny_mce/plugins/iespell/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/iespell/editor_plugin_src.js +54 -0
- data/public/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +635 -0
- data/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +90 -0
- data/public/javascripts/tiny_mce/plugins/inlinepopups/template.htm +387 -0
- data/public/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +83 -0
- data/public/javascripts/tiny_mce/plugins/layer/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/layer/editor_plugin_src.js +212 -0
- data/public/javascripts/tiny_mce/plugins/legacyoutput/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/legacyoutput/editor_plugin_src.js +136 -0
- data/public/javascripts/tiny_mce/plugins/media/css/content.css +6 -0
- data/public/javascripts/tiny_mce/plugins/media/css/media.css +16 -0
- data/public/javascripts/tiny_mce/plugins/media/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/media/editor_plugin_src.js +414 -0
- data/public/javascripts/tiny_mce/plugins/media/img/flash.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/media/img/flv_player.swf +0 -0
- data/public/javascripts/tiny_mce/plugins/media/img/quicktime.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/media/img/realmedia.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/media/img/shockwave.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/media/img/trans.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/media/img/windowsmedia.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/media/js/embed.js +73 -0
- data/public/javascripts/tiny_mce/plugins/media/js/media.js +630 -0
- data/public/javascripts/tiny_mce/plugins/media/langs/en_dlg.js +103 -0
- data/public/javascripts/tiny_mce/plugins/media/media.htm +817 -0
- data/public/javascripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +53 -0
- data/public/javascripts/tiny_mce/plugins/noneditable/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +90 -0
- data/public/javascripts/tiny_mce/plugins/pagebreak/css/content.css +1 -0
- data/public/javascripts/tiny_mce/plugins/pagebreak/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +77 -0
- data/public/javascripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/pagebreak/img/trans.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/paste/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/paste/editor_plugin_src.js +929 -0
- data/public/javascripts/tiny_mce/plugins/paste/js/pastetext.js +36 -0
- data/public/javascripts/tiny_mce/plugins/paste/js/pasteword.js +51 -0
- data/public/javascripts/tiny_mce/plugins/paste/langs/en_dlg.js +5 -0
- data/public/javascripts/tiny_mce/plugins/paste/pastetext.htm +27 -0
- data/public/javascripts/tiny_mce/plugins/paste/pasteword.htm +21 -0
- data/public/javascripts/tiny_mce/plugins/preview/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/preview/editor_plugin_src.js +53 -0
- data/public/javascripts/tiny_mce/plugins/preview/example.html +28 -0
- data/public/javascripts/tiny_mce/plugins/preview/jscripts/embed.js +73 -0
- data/public/javascripts/tiny_mce/plugins/preview/preview.html +17 -0
- data/public/javascripts/tiny_mce/plugins/print/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/print/editor_plugin_src.js +34 -0
- data/public/javascripts/tiny_mce/plugins/save/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/save/editor_plugin_src.js +101 -0
- data/public/javascripts/tiny_mce/plugins/searchreplace/css/searchreplace.css +6 -0
- data/public/javascripts/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +57 -0
- data/public/javascripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +130 -0
- data/public/javascripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js +16 -0
- data/public/javascripts/tiny_mce/plugins/searchreplace/searchreplace.htm +99 -0
- data/public/javascripts/tiny_mce/plugins/spellchecker/css/content.css +1 -0
- data/public/javascripts/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +341 -0
- data/public/javascripts/tiny_mce/plugins/spellchecker/img/wline.gif +0 -0
- data/public/javascripts/tiny_mce/plugins/style/css/props.css +13 -0
- data/public/javascripts/tiny_mce/plugins/style/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/style/editor_plugin_src.js +55 -0
- data/public/javascripts/tiny_mce/plugins/style/js/props.js +641 -0
- data/public/javascripts/tiny_mce/plugins/style/langs/en_dlg.js +63 -0
- data/public/javascripts/tiny_mce/plugins/style/props.htm +726 -0
- data/public/javascripts/tiny_mce/plugins/tabfocus/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js +112 -0
- data/public/javascripts/tiny_mce/plugins/table/cell.htm +178 -0
- data/public/javascripts/tiny_mce/plugins/table/css/cell.css +17 -0
- data/public/javascripts/tiny_mce/plugins/table/css/row.css +25 -0
- data/public/javascripts/tiny_mce/plugins/table/css/table.css +13 -0
- data/public/javascripts/tiny_mce/plugins/table/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/table/editor_plugin_src.js +1118 -0
- data/public/javascripts/tiny_mce/plugins/table/js/cell.js +286 -0
- data/public/javascripts/tiny_mce/plugins/table/js/merge_cells.js +27 -0
- data/public/javascripts/tiny_mce/plugins/table/js/row.js +237 -0
- data/public/javascripts/tiny_mce/plugins/table/js/table.js +449 -0
- data/public/javascripts/tiny_mce/plugins/table/langs/en_dlg.js +74 -0
- data/public/javascripts/tiny_mce/plugins/table/merge_cells.htm +32 -0
- data/public/javascripts/tiny_mce/plugins/table/row.htm +155 -0
- data/public/javascripts/tiny_mce/plugins/table/table.htm +187 -0
- data/public/javascripts/tiny_mce/plugins/template/blank.htm +12 -0
- data/public/javascripts/tiny_mce/plugins/template/css/template.css +23 -0
- data/public/javascripts/tiny_mce/plugins/template/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/template/editor_plugin_src.js +159 -0
- data/public/javascripts/tiny_mce/plugins/template/js/template.js +106 -0
- data/public/javascripts/tiny_mce/plugins/template/langs/en_dlg.js +15 -0
- data/public/javascripts/tiny_mce/plugins/template/template.htm +32 -0
- data/public/javascripts/tiny_mce/plugins/visualchars/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/visualchars/editor_plugin_src.js +76 -0
- data/public/javascripts/tiny_mce/plugins/wordcount/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/wordcount/editor_plugin_src.js +98 -0
- data/public/javascripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +141 -0
- data/public/javascripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +141 -0
- data/public/javascripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +148 -0
- data/public/javascripts/tiny_mce/plugins/xhtmlxtras/cite.htm +141 -0
- data/public/javascripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css +11 -0
- data/public/javascripts/tiny_mce/plugins/xhtmlxtras/css/popup.css +9 -0
- data/public/javascripts/tiny_mce/plugins/xhtmlxtras/del.htm +161 -0
- data/public/javascripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -0
- data/public/javascripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +144 -0
- data/public/javascripts/tiny_mce/plugins/xhtmlxtras/ins.htm +161 -0
- data/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js +28 -0
- data/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js +28 -0
- data/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +126 -0
- data/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/cite.js +28 -0
- data/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/del.js +63 -0
- data/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +231 -0
- data/public/javascripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +62 -0
- data/public/javascripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js +32 -0
- data/public/javascripts/tiny_mce/themes/advanced/about.htm +54 -0
- data/public/javascripts/tiny_mce/themes/advanced/anchor.htm +26 -0
- data/public/javascripts/tiny_mce/themes/advanced/charmap.htm +53 -0
- data/public/javascripts/tiny_mce/themes/advanced/color_picker.htm +73 -0
- data/public/javascripts/tiny_mce/themes/advanced/editor_template.js +1 -0
- data/public/javascripts/tiny_mce/themes/advanced/editor_template_src.js +1167 -0
- data/public/javascripts/tiny_mce/themes/advanced/image.htm +80 -0
- data/public/javascripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
- data/public/javascripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
- data/public/javascripts/tiny_mce/themes/advanced/js/about.js +72 -0
- data/public/javascripts/tiny_mce/themes/advanced/js/anchor.js +37 -0
- data/public/javascripts/tiny_mce/themes/advanced/js/charmap.js +335 -0
- data/public/javascripts/tiny_mce/themes/advanced/js/color_picker.js +253 -0
- data/public/javascripts/tiny_mce/themes/advanced/js/image.js +245 -0
- data/public/javascripts/tiny_mce/themes/advanced/js/link.js +156 -0
- data/public/javascripts/tiny_mce/themes/advanced/js/source_editor.js +62 -0
- data/public/javascripts/tiny_mce/themes/advanced/langs/en.js +62 -0
- data/public/javascripts/tiny_mce/themes/advanced/langs/en_dlg.js +51 -0
- data/public/javascripts/tiny_mce/themes/advanced/link.htm +58 -0
- data/public/javascripts/tiny_mce/themes/advanced/skins/default/content.css +35 -0
- data/public/javascripts/tiny_mce/themes/advanced/skins/default/dialog.css +117 -0
- data/public/javascripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
- data/public/javascripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
- data/public/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
- data/public/javascripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
- data/public/javascripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
- data/public/javascripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
- data/public/javascripts/tiny_mce/themes/advanced/skins/default/ui.css +213 -0
- data/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/content.css +35 -0
- data/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +116 -0
- data/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
- data/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
- data/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
- data/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +215 -0
- data/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +8 -0
- data/public/javascripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
- data/public/javascripts/tiny_mce/themes/advanced/source_editor.htm +26 -0
- data/public/javascripts/tiny_mce/themes/simple/editor_template.js +1 -0
- data/public/javascripts/tiny_mce/themes/simple/editor_template_src.js +85 -0
- data/public/javascripts/tiny_mce/themes/simple/img/icons.gif +0 -0
- data/public/javascripts/tiny_mce/themes/simple/langs/en.js +11 -0
- data/public/javascripts/tiny_mce/themes/simple/skins/default/content.css +25 -0
- data/public/javascripts/tiny_mce/themes/simple/skins/default/ui.css +32 -0
- data/public/javascripts/tiny_mce/themes/simple/skins/o2k7/content.css +17 -0
- data/public/javascripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
- data/public/javascripts/tiny_mce/themes/simple/skins/o2k7/ui.css +35 -0
- data/public/javascripts/tiny_mce/tiny_mce.js +1 -0
- data/public/javascripts/tiny_mce/tiny_mce_popup.js +5 -0
- data/public/javascripts/tiny_mce/tiny_mce_src.js +13134 -0
- data/public/javascripts/tiny_mce/utils/editable_selects.js +70 -0
- data/public/javascripts/tiny_mce/utils/form_utils.js +200 -0
- data/public/javascripts/tiny_mce/utils/mctabs.js +77 -0
- data/public/javascripts/tiny_mce/utils/validate.js +220 -0
- data/public/stylesheets/admin/fancybox.css +341 -0
- data/public/stylesheets/admin/forms.css +520 -0
- data/public/stylesheets/admin/handheld.css +6 -0
- data/public/stylesheets/admin/ie.css +118 -0
- data/public/stylesheets/admin/ie6.css +23 -0
- data/public/stylesheets/admin/ie8.css +16 -0
- data/public/stylesheets/admin/layout.css +723 -0
- data/public/stylesheets/admin/print.css +27 -0
- data/public/stylesheets/admin/reset.css +81 -0
- data/public/stylesheets/admin/skin.css +698 -0
- data/public/stylesheets/admin/tinymce.css +2 -0
- data/public/stylesheets/admin/typography.css +207 -0
- data/public/stylesheets/ellipsis.xml +15 -0
- data/public/stylesheets/fancybox.css +313 -0
- data/public/stylesheets/forms.css +7 -0
- data/public/stylesheets/ie.css +12 -0
- data/public/stylesheets/ie8.css +8 -0
- data/public/stylesheets/layout.css +31 -0
- data/public/stylesheets/plupload.queue.css +181 -0
- data/public/stylesheets/reset.css +84 -0
- data/public/stylesheets/sass/forms.scss +7 -0
- data/public/stylesheets/sass/ie.scss +12 -0
- data/public/stylesheets/sass/ie8.scss +8 -0
- data/public/stylesheets/sass/layout.scss +45 -0
- data/public/stylesheets/sass/skin.scss +35 -0
- data/public/stylesheets/sass/typography.scss +162 -0
- data/public/stylesheets/skin.css +22 -0
- data/public/stylesheets/typography.css +162 -0
- data/script/cucumber +10 -0
- data/script/rails +6 -0
- data/spec/factories/asset.rb +16 -0
- data/spec/factories/component.rb +9 -0
- data/spec/factories/node.rb +15 -0
- data/spec/factories/user.rb +5 -0
- data/spec/files/beef.png +0 -0
- data/spec/files/get_video.flv +0 -0
- data/spec/files/test.pdf +0 -0
- data/spec/noodall-ui_spec.rb +9 -0
- data/spec/spec_helper.rb +4 -0
- data/tmp/.gitignore +0 -0
- metadata +685 -0
data/.document
ADDED
data/.gitignore
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
# Rails app stuff
|
2
|
+
log/*.log
|
3
|
+
tmp/**/*
|
4
|
+
doc/api
|
5
|
+
doc/app
|
6
|
+
rerun.txt
|
7
|
+
.sass-cache
|
8
|
+
|
9
|
+
## MAC OS
|
10
|
+
.DS_Store
|
11
|
+
|
12
|
+
## TEXTMATE
|
13
|
+
*.tmproj
|
14
|
+
tmtags
|
15
|
+
|
16
|
+
## EMACS
|
17
|
+
*~
|
18
|
+
\#*
|
19
|
+
.\#*
|
20
|
+
|
21
|
+
## VIM
|
22
|
+
*.swp
|
23
|
+
|
24
|
+
## PROJECT::GENERAL
|
25
|
+
coverage
|
26
|
+
rdoc
|
27
|
+
pkg
|
28
|
+
|
29
|
+
## PROJECT::SPECIFIC
|
data/Gemfile
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
source 'http://rubygems.org'
|
2
|
+
source 'http://gems.github.com'
|
3
|
+
|
4
|
+
gemspec
|
5
|
+
|
6
|
+
# Required for running as demo rails app
|
7
|
+
gem 'rails', '3.0.1'
|
8
|
+
gem 'bson_ext', '~> 1.1.0'
|
9
|
+
gem 'rmagick', :require => 'RMagick'
|
10
|
+
gem 'dragonfly', '~> 0.7.6'
|
11
|
+
gem 'newbamboo-rvideo', '~> 0.9.6'
|
12
|
+
gem 'open4', '~> 0.9.5'
|
13
|
+
|
14
|
+
# Bundle gems for the local environment. Make sure to
|
15
|
+
# put test-only gems in this group so their generators
|
16
|
+
# and rake tasks are available in development mode:
|
17
|
+
group :development, :test do
|
18
|
+
gem 'capybara'
|
19
|
+
gem 'database_cleaner'
|
20
|
+
gem 'cucumber-rails'
|
21
|
+
gem 'cucumber'
|
22
|
+
gem 'rspec-rails', "~> 2.0.0.beta.22"
|
23
|
+
gem 'spork'
|
24
|
+
gem 'launchy' # So you can do Then show me the page
|
25
|
+
gem 'jeweler', '~> 1.4.0'
|
26
|
+
gem 'factory_girl_rails'
|
27
|
+
gem "faker", "~> 0.3.1"
|
28
|
+
gem "haml"
|
29
|
+
end
|
data/Gemfile.lock
ADDED
@@ -0,0 +1,205 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
noodall-ui (0.0.2)
|
5
|
+
dynamic_form
|
6
|
+
noodall-core
|
7
|
+
thoughtbot-sortable_table (= 0.0.6)
|
8
|
+
will_paginate (~> 3.0.pre2)
|
9
|
+
|
10
|
+
GEM
|
11
|
+
remote: http://rubygems.org/
|
12
|
+
remote: http://gems.github.com/
|
13
|
+
specs:
|
14
|
+
abstract (1.0.0)
|
15
|
+
actionmailer (3.0.1)
|
16
|
+
actionpack (= 3.0.1)
|
17
|
+
mail (~> 2.2.5)
|
18
|
+
actionpack (3.0.1)
|
19
|
+
activemodel (= 3.0.1)
|
20
|
+
activesupport (= 3.0.1)
|
21
|
+
builder (~> 2.1.2)
|
22
|
+
erubis (~> 2.6.6)
|
23
|
+
i18n (~> 0.4.1)
|
24
|
+
rack (~> 1.2.1)
|
25
|
+
rack-mount (~> 0.6.12)
|
26
|
+
rack-test (~> 0.5.4)
|
27
|
+
tzinfo (~> 0.3.23)
|
28
|
+
activemodel (3.0.1)
|
29
|
+
activesupport (= 3.0.1)
|
30
|
+
builder (~> 2.1.2)
|
31
|
+
i18n (~> 0.4.1)
|
32
|
+
activerecord (3.0.1)
|
33
|
+
activemodel (= 3.0.1)
|
34
|
+
activesupport (= 3.0.1)
|
35
|
+
arel (~> 1.0.0)
|
36
|
+
tzinfo (~> 0.3.23)
|
37
|
+
activeresource (3.0.1)
|
38
|
+
activemodel (= 3.0.1)
|
39
|
+
activesupport (= 3.0.1)
|
40
|
+
activesupport (3.0.1)
|
41
|
+
arel (1.0.1)
|
42
|
+
activesupport (~> 3.0.0)
|
43
|
+
bson (1.1.1)
|
44
|
+
bson_ext (1.1.1)
|
45
|
+
builder (2.1.2)
|
46
|
+
canable (0.1.1)
|
47
|
+
capybara (0.4.0)
|
48
|
+
celerity (>= 0.7.9)
|
49
|
+
culerity (>= 0.2.4)
|
50
|
+
mime-types (>= 1.16)
|
51
|
+
nokogiri (>= 1.3.3)
|
52
|
+
rack (>= 1.0.0)
|
53
|
+
rack-test (>= 0.5.4)
|
54
|
+
selenium-webdriver (>= 0.0.27)
|
55
|
+
xpath (~> 0.1.2)
|
56
|
+
celerity (0.8.2)
|
57
|
+
childprocess (0.1.3)
|
58
|
+
ffi (~> 0.6.3)
|
59
|
+
configuration (1.1.0)
|
60
|
+
cucumber (0.9.3)
|
61
|
+
builder (~> 2.1.2)
|
62
|
+
diff-lcs (~> 1.1.2)
|
63
|
+
gherkin (~> 2.2.9)
|
64
|
+
json (~> 1.4.6)
|
65
|
+
term-ansicolor (~> 1.0.5)
|
66
|
+
cucumber-rails (0.3.2)
|
67
|
+
cucumber (>= 0.8.0)
|
68
|
+
culerity (0.2.12)
|
69
|
+
database_cleaner (0.6.0)
|
70
|
+
diff-lcs (1.1.2)
|
71
|
+
dragonfly (0.7.6)
|
72
|
+
rack
|
73
|
+
dynamic_form (1.1.3)
|
74
|
+
erubis (2.6.6)
|
75
|
+
abstract (>= 1.0.0)
|
76
|
+
factory_girl (1.3.2)
|
77
|
+
factory_girl_rails (1.0)
|
78
|
+
factory_girl (~> 1.3)
|
79
|
+
rails (>= 3.0.0.beta4)
|
80
|
+
faker (0.3.1)
|
81
|
+
ffi (0.6.3)
|
82
|
+
rake (>= 0.8.7)
|
83
|
+
gemcutter (0.6.1)
|
84
|
+
gherkin (2.2.9)
|
85
|
+
json (~> 1.4.6)
|
86
|
+
term-ansicolor (~> 1.0.5)
|
87
|
+
git (1.2.5)
|
88
|
+
haml (3.0.22)
|
89
|
+
i18n (0.4.2)
|
90
|
+
jeweler (1.4.0)
|
91
|
+
gemcutter (>= 0.1.0)
|
92
|
+
git (>= 1.2.5)
|
93
|
+
rubyforge (>= 2.0.0)
|
94
|
+
jnunemaker-validatable (1.8.4)
|
95
|
+
activesupport (>= 2.3.4)
|
96
|
+
json (1.4.6)
|
97
|
+
json_pure (1.4.6)
|
98
|
+
launchy (0.3.7)
|
99
|
+
configuration (>= 0.0.5)
|
100
|
+
rake (>= 0.8.1)
|
101
|
+
mail (2.2.9)
|
102
|
+
activesupport (>= 2.3.6)
|
103
|
+
i18n (~> 0.4.1)
|
104
|
+
mime-types (~> 1.16)
|
105
|
+
treetop (~> 1.4.8)
|
106
|
+
mime-types (1.16)
|
107
|
+
mongo (1.1.1)
|
108
|
+
bson (>= 1.1.1)
|
109
|
+
mongo_mapper (0.8.4)
|
110
|
+
activesupport (>= 2.3.4)
|
111
|
+
jnunemaker-validatable (~> 1.8.4)
|
112
|
+
plucky (~> 0.3.5)
|
113
|
+
newbamboo-rvideo (0.9.6)
|
114
|
+
activesupport
|
115
|
+
nokogiri (1.4.3.1)
|
116
|
+
noodall-core (0.1.0)
|
117
|
+
canable (= 0.1.1)
|
118
|
+
mongo_mapper (= 0.8.4)
|
119
|
+
ramdiv-mongo_mapper_acts_as_tree (= 0.1.1)
|
120
|
+
ruby-stemmer
|
121
|
+
open4 (0.9.6)
|
122
|
+
plucky (0.3.6)
|
123
|
+
mongo (~> 1.1)
|
124
|
+
polyglot (0.3.1)
|
125
|
+
rack (1.2.1)
|
126
|
+
rack-mount (0.6.13)
|
127
|
+
rack (>= 1.0.0)
|
128
|
+
rack-test (0.5.6)
|
129
|
+
rack (>= 1.0)
|
130
|
+
rails (3.0.1)
|
131
|
+
actionmailer (= 3.0.1)
|
132
|
+
actionpack (= 3.0.1)
|
133
|
+
activerecord (= 3.0.1)
|
134
|
+
activeresource (= 3.0.1)
|
135
|
+
activesupport (= 3.0.1)
|
136
|
+
bundler (~> 1.0.0)
|
137
|
+
railties (= 3.0.1)
|
138
|
+
railties (3.0.1)
|
139
|
+
actionpack (= 3.0.1)
|
140
|
+
activesupport (= 3.0.1)
|
141
|
+
rake (>= 0.8.4)
|
142
|
+
thor (~> 0.14.0)
|
143
|
+
rake (0.8.7)
|
144
|
+
ramdiv-mongo_mapper_acts_as_tree (0.1.1)
|
145
|
+
mongo_mapper (>= 0.6.8)
|
146
|
+
rmagick (2.13.1)
|
147
|
+
rspec (2.0.1)
|
148
|
+
rspec-core (~> 2.0.1)
|
149
|
+
rspec-expectations (~> 2.0.1)
|
150
|
+
rspec-mocks (~> 2.0.1)
|
151
|
+
rspec-core (2.0.1)
|
152
|
+
rspec-expectations (2.0.1)
|
153
|
+
diff-lcs (>= 1.1.2)
|
154
|
+
rspec-mocks (2.0.1)
|
155
|
+
rspec-core (~> 2.0.1)
|
156
|
+
rspec-expectations (~> 2.0.1)
|
157
|
+
rspec-rails (2.0.1)
|
158
|
+
rspec (~> 2.0.0)
|
159
|
+
ruby-stemmer (0.8.2)
|
160
|
+
rubyforge (2.0.4)
|
161
|
+
json_pure (>= 1.1.7)
|
162
|
+
rubyzip (0.9.4)
|
163
|
+
selenium-webdriver (0.0.29)
|
164
|
+
childprocess (>= 0.0.7)
|
165
|
+
ffi (~> 0.6.3)
|
166
|
+
json_pure
|
167
|
+
rubyzip
|
168
|
+
spork (0.8.4)
|
169
|
+
term-ansicolor (1.0.5)
|
170
|
+
thor (0.14.3)
|
171
|
+
thoughtbot-sortable_table (0.0.6)
|
172
|
+
treetop (1.4.8)
|
173
|
+
polyglot (>= 0.3.1)
|
174
|
+
tzinfo (0.3.23)
|
175
|
+
will_paginate (3.0.pre2)
|
176
|
+
xpath (0.1.2)
|
177
|
+
nokogiri (~> 1.3)
|
178
|
+
|
179
|
+
PLATFORMS
|
180
|
+
ruby
|
181
|
+
|
182
|
+
DEPENDENCIES
|
183
|
+
bson_ext (~> 1.1.0)
|
184
|
+
bundler (>= 1.0.0)
|
185
|
+
capybara
|
186
|
+
cucumber
|
187
|
+
cucumber-rails
|
188
|
+
database_cleaner
|
189
|
+
dragonfly (~> 0.7.6)
|
190
|
+
dynamic_form
|
191
|
+
factory_girl_rails
|
192
|
+
faker (~> 0.3.1)
|
193
|
+
haml
|
194
|
+
jeweler (~> 1.4.0)
|
195
|
+
launchy
|
196
|
+
newbamboo-rvideo (~> 0.9.6)
|
197
|
+
noodall-core
|
198
|
+
noodall-ui!
|
199
|
+
open4 (~> 0.9.5)
|
200
|
+
rails (= 3.0.1)
|
201
|
+
rmagick
|
202
|
+
rspec-rails (~> 2.0.0.beta.22)
|
203
|
+
spork
|
204
|
+
thoughtbot-sortable_table (= 0.0.6)
|
205
|
+
will_paginate (~> 3.0.pre2)
|
data/LICENSE
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
Copyright (c) 2009 Steve England
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
a copy of this software and associated documentation files (the
|
5
|
+
"Software"), to deal in the Software without restriction, including
|
6
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be
|
12
|
+
included in all copies or substantial portions of the Software.
|
13
|
+
|
14
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
= noodall-ui
|
2
|
+
|
3
|
+
Description goes here.
|
4
|
+
|
5
|
+
== Note on Patches/Pull Requests
|
6
|
+
|
7
|
+
* Fork the project.
|
8
|
+
* Make your feature addition or bug fix.
|
9
|
+
* Add tests for it. This is important so I don't break it in a
|
10
|
+
future version unintentionally.
|
11
|
+
* Commit, do not mess with rakefile, version, or history.
|
12
|
+
(if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
|
13
|
+
* Send me a pull request. Bonus points for topic branches.
|
14
|
+
|
15
|
+
== Copyright
|
16
|
+
|
17
|
+
Copyright (c) 2010 Steve England. See LICENSE for details.
|
data/Rakefile
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'bundler'
|
2
|
+
Bundler.setup(:default, :development)
|
3
|
+
Bundler::GemHelper.install_tasks
|
4
|
+
require "rspec/core/rake_task"
|
5
|
+
require "noodall-core"
|
6
|
+
|
7
|
+
RSpec::Core::RakeTask.new(:spec)
|
8
|
+
|
9
|
+
RSpec::Core::RakeTask.new(:rcov) do |spec|
|
10
|
+
spec.rcov = true
|
11
|
+
end
|
12
|
+
|
13
|
+
task :default => :spec
|
14
|
+
|
15
|
+
require File.expand_path('../config/application', __FILE__)
|
16
|
+
|
17
|
+
Noodall::Application.load_tasks
|
@@ -0,0 +1,241 @@
|
|
1
|
+
module Noodall
|
2
|
+
module Admin
|
3
|
+
class AssetsController < BaseController
|
4
|
+
include SortableTable::App::Controllers::ApplicationController
|
5
|
+
sortable_attributes :created_at, :title, :updated_at
|
6
|
+
protect_from_forgery :except => :plupload
|
7
|
+
before_filter :readonly
|
8
|
+
|
9
|
+
def index
|
10
|
+
options = asset_options(action_name)
|
11
|
+
|
12
|
+
@tags = Asset.tag_cloud options.merge(:limit => 10)
|
13
|
+
# By default it gets the top 10 ordered by count lets order these alphbetically
|
14
|
+
@tags.sort!{|a,b| a.name <=> b.name }
|
15
|
+
|
16
|
+
@assets = Asset.paginate options.merge( :per_page => (params[:limit] || 15), :page => params[:page], :order => sort_order )
|
17
|
+
|
18
|
+
@readonly = (params[:readonly] || false)
|
19
|
+
|
20
|
+
respond_to do |format|
|
21
|
+
format.html { render :index }
|
22
|
+
format.js { render :index }
|
23
|
+
format.xml { render :xml => @assets }
|
24
|
+
end
|
25
|
+
end
|
26
|
+
alias images index
|
27
|
+
alias videos index
|
28
|
+
alias documents index
|
29
|
+
|
30
|
+
def show
|
31
|
+
@asset = Asset.find(params[:id])
|
32
|
+
@readonly = (params[:readonly] || false)
|
33
|
+
|
34
|
+
respond_to do |format|
|
35
|
+
format.html
|
36
|
+
format.js
|
37
|
+
format.xml { render :xml => @asset }
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def tags
|
42
|
+
options = { :order => '_id' } # Order by name which is _id in the map/reduce
|
43
|
+
if params[:asset_type]
|
44
|
+
options.merge!(asset_options(params[:asset_type]))
|
45
|
+
@page_title << " Tags"
|
46
|
+
else
|
47
|
+
@page_title = "Tags"
|
48
|
+
end
|
49
|
+
tags = Asset.tag_cloud( options )
|
50
|
+
@tag_groups = tags.group_by { |t| t.name.first }
|
51
|
+
|
52
|
+
respond_to do |format|
|
53
|
+
format.html
|
54
|
+
format.js
|
55
|
+
format.json { render :json => tags.map{ |t| t.name } }
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
# renders fragment for TinyMCE insert
|
60
|
+
def add
|
61
|
+
@asset = Asset.find(params[:id])
|
62
|
+
# log the asset being used
|
63
|
+
if params[:node_id]
|
64
|
+
@asset.log_usage(params[:node_id], "Body Copy")
|
65
|
+
end
|
66
|
+
render :layout => false
|
67
|
+
end
|
68
|
+
|
69
|
+
def pending
|
70
|
+
@asset = Asset.first(:tags => nil, :offset => params[:offset], :order => "created_at DESC")
|
71
|
+
|
72
|
+
respond_to do |format|
|
73
|
+
format.html { render :form }
|
74
|
+
format.js { render :form }
|
75
|
+
format.xml { render :xml => @asset }
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
def edit
|
80
|
+
@asset = Asset.find(params[:id])
|
81
|
+
|
82
|
+
respond_to do |format|
|
83
|
+
format.html { render :form }
|
84
|
+
format.js { render :form }
|
85
|
+
format.xml { render :xml => @asset }
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
def new
|
90
|
+
@asset = Asset.new
|
91
|
+
|
92
|
+
respond_to do |format|
|
93
|
+
format.html { render :form }
|
94
|
+
format.js { render :form }
|
95
|
+
format.xml { render :xml => @asset }
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
99
|
+
def create
|
100
|
+
logger.debug request.inspect
|
101
|
+
@asset = Asset.new(params[:asset])
|
102
|
+
|
103
|
+
respond_to do |format|
|
104
|
+
if @asset.save
|
105
|
+
flash[:notice] = 'Asset was successfully created.'
|
106
|
+
format.html { redirect_to(admin_assets_type_url(@asset)) }
|
107
|
+
format.xml { render :xml => @asset, :status => :created, :location => @asset }
|
108
|
+
else
|
109
|
+
format.html { render :action => "form" }
|
110
|
+
format.xml { render :xml => @asset.errors, :status => :unprocessable_entity }
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
115
|
+
def plupload
|
116
|
+
# Get parameters
|
117
|
+
chunk = params[:chunk].to_i
|
118
|
+
chunks = params[:chunks].to_i
|
119
|
+
file_name = params[:name].gsub(/[^\w\._]+/, '') # Clean the fileName for security reasons
|
120
|
+
|
121
|
+
file_path = File.join(Rails.root,'tmp','plupload',file_name)
|
122
|
+
|
123
|
+
storage_dir = File.dirname(file_path)
|
124
|
+
|
125
|
+
# Create tmp dir
|
126
|
+
FileUtils.mkdir_p(storage_dir) unless File.exist?(storage_dir)
|
127
|
+
|
128
|
+
if params[:file] #Multipart Upload
|
129
|
+
file = File.open(file_path, (chunk == 0 ? "wb" : "ab")) do |f|
|
130
|
+
f.write(params[:file].read)
|
131
|
+
end
|
132
|
+
else
|
133
|
+
file = File.open(file_path, (chunk == 0 ? "wb" : "ab")) do |f|
|
134
|
+
f.write(request.body.read)
|
135
|
+
end
|
136
|
+
end
|
137
|
+
# If this is the last or only chunk create asset and cleanup temp file
|
138
|
+
if chunks == 0 or chunk + 1 == chunks
|
139
|
+
asset = Asset.new(:file => File.new(file_path), :description => file_name).save(:validate => false) # Saving without validation as we don't have a description or tags
|
140
|
+
File.delete(file_path)
|
141
|
+
render :json => {:jsonrpc => "2.0", :result => nil, :id => "id"}
|
142
|
+
else
|
143
|
+
# Return JSON-RPC response
|
144
|
+
render :json => {:jsonrpc => "2.0", :result => nil, :id => "id"}
|
145
|
+
end
|
146
|
+
end
|
147
|
+
|
148
|
+
def update
|
149
|
+
@asset = Asset.find(params[:id])
|
150
|
+
|
151
|
+
respond_to do |format|
|
152
|
+
if @asset.update_attributes(params[:asset])
|
153
|
+
format.html do
|
154
|
+
flash[:notice] = 'Asset was successfully updated.'
|
155
|
+
if params[:pending] and pending_count > 0
|
156
|
+
flash[:notice] << " #{pending_count} assets remaining"
|
157
|
+
# Go to the next pending asset
|
158
|
+
redirect_to(pending_noodall_admin_assets_url)
|
159
|
+
elsif params[:pending]
|
160
|
+
flash[:notice] = 'All assets were successfully updated.'
|
161
|
+
redirect_to(admin_assets_type_url(@asset))
|
162
|
+
else
|
163
|
+
redirect_to(noodall_admin_asset_url(@asset))
|
164
|
+
end
|
165
|
+
end
|
166
|
+
format.js { index }
|
167
|
+
format.xml { head :ok }
|
168
|
+
else
|
169
|
+
format.html { render :action => "form" }
|
170
|
+
format.js { render :form }
|
171
|
+
format.xml { render :xml => @asset.errors, :status => :unprocessable_entity }
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
175
|
+
|
176
|
+
def destroy
|
177
|
+
@asset = Asset.find(params[:id])
|
178
|
+
@asset.destroy
|
179
|
+
|
180
|
+
respond_to do |format|
|
181
|
+
format.html do
|
182
|
+
flash[:notice] = 'Asset was successfully deleted.'
|
183
|
+
if params[:pending] and pending_count > 0
|
184
|
+
flash[:notice] << " #{pending_count} assets remaining"
|
185
|
+
# Go to the next pending asset
|
186
|
+
redirect_to(pending_noodall_admin_assets_url)
|
187
|
+
else
|
188
|
+
flash[:notice] = 'All assets were successfully updated.' if params[:pending]
|
189
|
+
redirect_to(admin_assets_type_url(@asset))
|
190
|
+
end
|
191
|
+
end
|
192
|
+
format.xml { head :ok }
|
193
|
+
end
|
194
|
+
end
|
195
|
+
|
196
|
+
protected
|
197
|
+
def asset_options(asset_type)
|
198
|
+
options = {}
|
199
|
+
|
200
|
+
case asset_type
|
201
|
+
when 'videos'
|
202
|
+
@page_title = "Videos"
|
203
|
+
options[:file_ext] = 'flv'
|
204
|
+
when 'documents'
|
205
|
+
@page_title = "Documents"
|
206
|
+
options[:file_ext.ne] = 'flv'
|
207
|
+
options[:file_mime_type] = { :$not => Asset.image_reg_ex}
|
208
|
+
else
|
209
|
+
@page_title = "Images"
|
210
|
+
options[:file_mime_type] = Asset.image_reg_ex
|
211
|
+
end
|
212
|
+
if params[:tag]
|
213
|
+
options[:tags] = params[:tag]
|
214
|
+
@page_title << " tagged '#{params[:tag]}'"
|
215
|
+
end
|
216
|
+
options
|
217
|
+
end
|
218
|
+
|
219
|
+
def admin_assets_type_url(asset)
|
220
|
+
if asset.nil? or asset.image?
|
221
|
+
noodall_admin_assets_url
|
222
|
+
elsif asset.video?
|
223
|
+
videos_noodall_admin_assets_path
|
224
|
+
else
|
225
|
+
documents_noodall_admin_assets_path
|
226
|
+
end
|
227
|
+
end
|
228
|
+
helper_method :admin_assets_type_url
|
229
|
+
|
230
|
+
def pending_count
|
231
|
+
@pending_count ||= Asset.count(:tags => nil)
|
232
|
+
end
|
233
|
+
helper_method :pending_count
|
234
|
+
|
235
|
+
def readonly
|
236
|
+
@readonly ||= params[:readonly] == 'true'
|
237
|
+
end
|
238
|
+
helper_method :readonly
|
239
|
+
end
|
240
|
+
end
|
241
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Noodall
|
2
|
+
module Admin
|
3
|
+
class ComponentsController < BaseController
|
4
|
+
|
5
|
+
def form
|
6
|
+
render :status => 404 if params[:type].blank?
|
7
|
+
|
8
|
+
# TODO: check for an incorrect object class name passed in
|
9
|
+
component_class = params[:type].classify.constantize
|
10
|
+
component = component_class.new
|
11
|
+
if component.respond_to?(:contents)
|
12
|
+
component.contents.reject!{|c| c.asset_id.blank? }
|
13
|
+
component.contents << Content.new
|
14
|
+
end
|
15
|
+
|
16
|
+
@template_names = @parent.nil? ? Noodall::Node.template_names : @parent.class.template_names
|
17
|
+
|
18
|
+
render :partial => "admin/components/#{component_class.name.underscore.downcase}", :layout => false, :locals => {:component => component, :slot_name => params[:slot]}
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|