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')