Commit da92889479ab6b46c513662c1eb5a01d270f3ea4

Authored by AntonioTerceiro
1 parent 4004a064

ActionItem70: implemented categories



git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@527 3f533792-8f58-4932-b0fe-aaf55b0a4547
app/controllers/environment_admin/categories_controller.rb
@@ -2,4 +2,41 @@ class CategoriesController < EnvironmentAdminController @@ -2,4 +2,41 @@ class CategoriesController < EnvironmentAdminController
2 def index 2 def index
3 @categories = environment.top_level_categories 3 @categories = environment.top_level_categories
4 end 4 end
  5 +
  6 + # posts back
  7 + def new
  8 + @category = Category.new(params[:category])
  9 + @category.environment = environment
  10 + if params[:parent_id]
  11 + @category.parent = environment.categories.find(params[:parent_id])
  12 + end
  13 + if request.post?
  14 + begin
  15 + @category.save!
  16 + redirect_to :action => 'index'
  17 + rescue Exception => e
  18 + render :action => 'new'
  19 + end
  20 + end
  21 + end
  22 +
  23 + # posts back
  24 + def edit
  25 + begin
  26 + @category = environment.categories.find(params[:id])
  27 + if request.post?
  28 + @category.update_attributes!(params[:category])
  29 + redirect_to :action => 'index'
  30 + end
  31 + rescue Exception => e
  32 + render :action => 'edit'
  33 + end
  34 + end
  35 +
  36 + post_only :remove
  37 + def remove
  38 + environment.categories.find(params[:id]).destroy
  39 + redirect_to :action => 'index'
  40 + end
  41 +
5 end 42 end
app/views/categories/_category.rhtml
1 <li> 1 <li>
2 -<%= category.name %>  
3 -<div>  
4 - <%= link_to _('Add subcategory'), :action => 'new', :parent => category %>  
5 - <%= link_to _('Remove'), { :action => 'remove', :id => category, }, :post => true, :confirm => (category.children.empty? ? (_('Are you sure you want to remove "%s"?') % category.name) : (_('Are you sure you want to remove "%s" and all its subcategories?') % category.name) ) %> 2 +<div class='treeitem'>
  3 + <%= category.name %>
  4 +
  5 + <div>
  6 + <%= link_to _('Add subcategory'), :action => 'new', :parent_id => category %>
  7 + <%= link_to _('Edit'), :action => 'edit', :id => category %>
  8 + <%= link_to _('Remove'), { :action => 'remove', :id => category, }, :post => true, :confirm => (category.children.empty? ? (_('Are you sure you want to remove "%s"?') % category.name) : (_('Are you sure you want to remove "%s" and all its subcategories?') % category.name) ) %>
  9 + </div>
6 </div> 10 </div>
7 -<% unless category.children.empty? %>  
8 - <ul>  
9 - <%= render :partial => 'category', :collection => category.children %>  
10 - </ul>  
11 -<% end %> 11 +
  12 + <% unless category.children.empty? %>
  13 + <ul class='tree'>
  14 + <%= render :partial => 'category', :collection => category.children %>
  15 + </ul>
  16 + <% end %>
  17 +
12 </li> 18 </li>
  19 +
app/views/categories/index.rhtml
1 <h1><%= _('Categories') %></h1> 1 <h1><%= _('Categories') %></h1>
2 2
3 -<ul> 3 +<ul class='tree'>
4 <%= render :partial => 'category', :collection => @categories %> 4 <%= render :partial => 'category', :collection => @categories %>
5 </ul> 5 </ul>
6 6
public/stylesheets/common.css
@@ -73,3 +73,15 @@ text-decoration: none !important ; @@ -73,3 +73,15 @@ text-decoration: none !important ;
73 text-decoration: underline !important ; 73 text-decoration: underline !important ;
74 } 74 }
75 75
  76 +ul.tree {
  77 + margin: 2px;
  78 + padding-left: 20px;
  79 +}
  80 +
  81 +ul.tree li {
  82 + list-style: none;
  83 +}
  84 +
  85 +ul.tree li div.treeitem:hover {
  86 + background: #f0f0f0;
  87 +}