aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/models/blog_post.rb8
-rw-r--r--app/views/admin/blog/categories/_category.html.erb9
-rw-r--r--app/views/admin/blog/posts/_form.html.erb12
3 files changed, 18 insertions, 11 deletions
diff --git a/app/models/blog_post.rb b/app/models/blog_post.rb
index bd12f22..025cc31 100644
--- a/app/models/blog_post.rb
+++ b/app/models/blog_post.rb
@@ -14,4 +14,12 @@ class BlogPost < ActiveRecord::Base
named_scope :live, :conditions => {:draft => false}
+ def category_ids=(ids)
+ self.categories.clear
+
+ self.categories += ids.reject{|id| id.blank?}.collect {|c_id|
+ category = Category.find(category_id.to_i) rescue nil
+ }.compact
+ end
+
end
diff --git a/app/views/admin/blog/categories/_category.html.erb b/app/views/admin/blog/categories/_category.html.erb
index 109f4e6..20c5c35 100644
--- a/app/views/admin/blog/categories/_category.html.erb
+++ b/app/views/admin/blog/categories/_category.html.erb
@@ -4,10 +4,11 @@
<span class="preview">&nbsp;</span>
</span>
<span class='actions'>
- <%= link_to refinery_icon_tag("application_edit.png"), edit_admin_blog_category_path(category),
- :title => t('.edit') %>
+ <%= link_to refinery_icon_tag("application_edit.png"),
+ edit_admin_blog_category_path(category, :dialog => true, :height => 325),
+ :title => t('.edit') %>
<%= link_to refinery_icon_tag("delete.png"), admin_blog_category_path(category),
- :class => "cancel confirm-delete",
- :title => t('.delete') %>
+ :class => "cancel confirm-delete",
+ :title => t('.delete') %>
</span>
</li>
diff --git a/app/views/admin/blog/posts/_form.html.erb b/app/views/admin/blog/posts/_form.html.erb
index da3f132..22f7385 100644
--- a/app/views/admin/blog/posts/_form.html.erb
+++ b/app/views/admin/blog/posts/_form.html.erb
@@ -25,13 +25,11 @@
<div class="hemisquare">
<h3><%= t('admin.blog.submenu.categories.title') %></h3>
<ul class='blog_categories'>
- <% f.fields_for :categories do |c| %>
- <% @blog_categories.each do |category| %>
- <li>
- <%= c.check_box :id, :value => category.id %>
- <%= c.label :id, category.title, :class => 'stripped' %>
- </li>
- <% end %>
+ <% @blog_categories.each do |category| %>
+ <li>
+ <%= check_box_tag 'blog_post[category_ids][]', category.id, {}, :id => (id="blog_post_category_ids_#{category.id}") %>
+ <%= label_tag 'blog_post[category_ids][]', category.title, {:class => 'stripped', :for => id} %>
+ </li>
<% end %>
</ul>
</div>