From da92889479ab6b46c513662c1eb5a01d270f3ea4 Mon Sep 17 00:00:00 2001 From: AntonioTerceiro Date: Mon, 24 Sep 2007 19:46:26 +0000 Subject: [PATCH] ActionItem70: implemented categories --- app/controllers/environment_admin/categories_controller.rb | 37 +++++++++++++++++++++++++++++++++++++ app/views/categories/_category.rhtml | 25 ++++++++++++++++--------- app/views/categories/index.rhtml | 2 +- public/stylesheets/common.css | 12 ++++++++++++ 4 files changed, 66 insertions(+), 10 deletions(-) diff --git a/app/controllers/environment_admin/categories_controller.rb b/app/controllers/environment_admin/categories_controller.rb index bf6ad00..10aa268 100644 --- a/app/controllers/environment_admin/categories_controller.rb +++ b/app/controllers/environment_admin/categories_controller.rb @@ -2,4 +2,41 @@ class CategoriesController < EnvironmentAdminController def index @categories = environment.top_level_categories end + + # posts back + def new + @category = Category.new(params[:category]) + @category.environment = environment + if params[:parent_id] + @category.parent = environment.categories.find(params[:parent_id]) + end + if request.post? + begin + @category.save! + redirect_to :action => 'index' + rescue Exception => e + render :action => 'new' + end + end + end + + # posts back + def edit + begin + @category = environment.categories.find(params[:id]) + if request.post? + @category.update_attributes!(params[:category]) + redirect_to :action => 'index' + end + rescue Exception => e + render :action => 'edit' + end + end + + post_only :remove + def remove + environment.categories.find(params[:id]).destroy + redirect_to :action => 'index' + end + end diff --git a/app/views/categories/_category.rhtml b/app/views/categories/_category.rhtml index 3c2202d..d56b8d4 100644 --- a/app/views/categories/_category.rhtml +++ b/app/views/categories/_category.rhtml @@ -1,12 +1,19 @@
  • -<%= category.name %> -
    - <%= link_to _('Add subcategory'), :action => 'new', :parent => category %> - <%= 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) ) %> +
    + <%= category.name %> + +
    + <%= link_to _('Add subcategory'), :action => 'new', :parent_id => category %> + <%= link_to _('Edit'), :action => 'edit', :id => category %> + <%= 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) ) %> +
    -<% unless category.children.empty? %> -
      - <%= render :partial => 'category', :collection => category.children %> -
    -<% end %> + + <% unless category.children.empty? %> +
      + <%= render :partial => 'category', :collection => category.children %> +
    + <% end %> +
  • + diff --git a/app/views/categories/index.rhtml b/app/views/categories/index.rhtml index 309e970..dc31d1f 100644 --- a/app/views/categories/index.rhtml +++ b/app/views/categories/index.rhtml @@ -1,6 +1,6 @@

    <%= _('Categories') %>

    -