diff --git a/app/helpers/dashboard_helper.rb b/app/helpers/dashboard_helper.rb new file mode 100644 index 0000000..d2cabbb --- /dev/null +++ b/app/helpers/dashboard_helper.rb @@ -0,0 +1,5 @@ +module DashboardHelper + def render_dashboard_box dashboard_box + render :partial => 'shared/render_dashboard_box', :locals => { :dashboard_box => dashboard_box } + end +end diff --git a/app/views/admin/dashboards/show.html.erb b/app/views/admin/dashboards/show.html.erb index e4e3f39..5526325 100644 --- a/app/views/admin/dashboards/show.html.erb +++ b/app/views/admin/dashboards/show.html.erb @@ -1,7 +1,12 @@ <%= title "Dashboard" %> -<% Ansuz::PluginManagerInstance.admin_dashboard_boxes.each do |dashboard_box| %> - <% render :layout => 'shared/dashboard_box', :locals => { :title => dashboard_box[0] } do %> - <%= render :partial => dashboard_box[1] %> +
+ <% Ansuz::PluginManagerInstance.admin_dashboard_boxes.in_groups(2).each_with_index do |half, i| %> +
+ <% half.compact.each do |dashboard_box| %> + <%= render_dashboard_box dashboard_box %> + <% end %> +
<% end %> -<% end %> +
+
diff --git a/app/views/shared/_render_dashboard_box.html.erb b/app/views/shared/_render_dashboard_box.html.erb new file mode 100644 index 0000000..9077fe7 --- /dev/null +++ b/app/views/shared/_render_dashboard_box.html.erb @@ -0,0 +1,3 @@ +<% render :layout => 'shared/dashboard_box', :locals => { :title => dashboard_box[0] } do %> + <%= render :partial => dashboard_box[1] %> +<% end %> diff --git a/lib/ansuz/plugin_manager.rb b/lib/ansuz/plugin_manager.rb index 6fc139c..8d76f08 100644 --- a/lib/ansuz/plugin_manager.rb +++ b/lib/ansuz/plugin_manager.rb @@ -2,7 +2,10 @@ module Ansuz class PluginManager include Ansuz::PluginSettings - attr_accessor :plugins, :plugin_nav, :admin_plugin_nav, :admin_menu, :admin_menu_top_level_entries, :page_types, :admin_dashboard_boxes, :at_a_glance_entries + attr_accessor :plugins, :plugin_nav, :admin_plugin_nav, + :admin_menu, :admin_menu_top_level_entries, + :page_types, :admin_dashboard_boxes, + :at_a_glance_entries ADMIN_MENU_TOP_LEVEL_ENTRIES = ["Create", "Manage", "Ansuz"] def initialize diff --git a/public/stylesheets/admin.css b/public/stylesheets/admin.css index dd9af66..514caec 100644 --- a/public/stylesheets/admin.css +++ b/public/stylesheets/admin.css @@ -476,6 +476,7 @@ table.tree tr.odd:hover td { background-color:#ebebeb !important; } +/* dashboard */ .dashboard_box{ margin-bottom: 10px; } @@ -484,3 +485,12 @@ table.tree tr.odd:hover td { color: white; padding: 6px; } + +/* twocol */ +.twocol .col{ + width: 47%; + float: left; +} +.twocol .left.col{ + margin-right:20px; +} diff --git a/vendor/plugins/ansuz_blog/app/controllers/admin/blog_posts_controller.rb b/vendor/plugins/ansuz_blog/app/controllers/admin/blog_posts_controller.rb index 9af2de0..fb3539a 100644 --- a/vendor/plugins/ansuz_blog/app/controllers/admin/blog_posts_controller.rb +++ b/vendor/plugins/ansuz_blog/app/controllers/admin/blog_posts_controller.rb @@ -23,10 +23,16 @@ def new end def create - @blog_post.settings = params[:settings] if @blog_post.save + @blog_post.settings = params[:settings] + @blog_post.save # has_settings doesn't work like you might want on new records yet, so we save twice. flash[:notice] = "Blog Post was created successfully." - redirect_to admin_blog_posts_path + # Weak, baked-in support for quick-post plugin. + if params[:quick_post] + redirect_to admin_dashboard_path + else + redirect_to admin_blog_posts_path + end else flash.now[:error] = "There was a problem creating the blog post." render :action => 'new' diff --git a/vendor/plugins/ansuz_blog/app/views/admin/blog_posts/_new.html.erb b/vendor/plugins/ansuz_blog/app/views/admin/blog_posts/_new.html.erb new file mode 100644 index 0000000..1a82235 --- /dev/null +++ b/vendor/plugins/ansuz_blog/app/views/admin/blog_posts/_new.html.erb @@ -0,0 +1,7 @@ +<% form_for :blog_post, :url => admin_blog_posts_path, :html => { :class => 'blog-post-form' } do |f| -%> + <%= render :partial => '/admin/blog_posts/form', :locals => { :f => f } -%> + <% if local_assigns.include?(:is_quickpost) && is_quickpost %> + <%= hidden_field_tag :quick_post, true %> + <% end %> + <%= submit_tag("Create Post") -%> or <%= link_to "Cancel", admin_blog_posts_path -%> +<% end -%> diff --git a/vendor/plugins/ansuz_blog/app/views/admin/blog_posts/new.html.erb b/vendor/plugins/ansuz_blog/app/views/admin/blog_posts/new.html.erb index a8327bc..1d83ea4 100644 --- a/vendor/plugins/ansuz_blog/app/views/admin/blog_posts/new.html.erb +++ b/vendor/plugins/ansuz_blog/app/views/admin/blog_posts/new.html.erb @@ -1,7 +1,9 @@ <%= title "New Blog Post" -%> + <% content_for :sidebar do -%> <%= link_to "All Blog Posts", admin_blog_posts_path, :class => 'button icon back' -%> <% end -%> + <% form_for :blog_post, :url => admin_blog_posts_path, :html => { :class => 'blog-post-form' } do |f| -%> <%= render :partial => 'form', :locals => { :f => f } -%> <%= submit_tag("Create Post") -%> or <%= link_to "Cancel", admin_blog_posts_path -%> diff --git a/vendor/plugins/ansuz_quick_post_dashboard_widget/app/views/admin/quick_posts/_quick_post.html.erb b/vendor/plugins/ansuz_quick_post_dashboard_widget/app/views/admin/quick_posts/_quick_post.html.erb new file mode 100644 index 0000000..f01e249 --- /dev/null +++ b/vendor/plugins/ansuz_quick_post_dashboard_widget/app/views/admin/quick_posts/_quick_post.html.erb @@ -0,0 +1,5 @@ +<% + # nasty, required because of fckeditor_textarea's failings or my lack of understanding + @blog_post = Ansuz::JAdams::BlogPost.new +%> +<%= render :partial => 'admin/blog_posts/new', :locals => { :is_quickpost => true } %> diff --git a/vendor/plugins/ansuz_quick_post_dashboard_widget/init.rb b/vendor/plugins/ansuz_quick_post_dashboard_widget/init.rb new file mode 100644 index 0000000..3a798f8 --- /dev/null +++ b/vendor/plugins/ansuz_quick_post_dashboard_widget/init.rb @@ -0,0 +1,2 @@ +# Add a box to the admin dashboard from which to quick-post +Ansuz::PluginManagerInstance.register_admin_dashboard_box("Quick Post", 'admin/quick_posts/quick_post')