Commit c2a63906deef02eee63f1befccf9dc68a5afce86

Authored by MoisesMachado
1 parent 288990c5

ActionItem4: Added edit and destroy tags


git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@45 3f533792-8f58-4932-b0fe-aaf55b0a4547
app/controllers/manage_tags_controller.rb
... ... @@ -9,7 +9,7 @@ class ManageTagsController < ApplicationController
9 9 end
10 10  
11 11 def new
12   - @tags = Tag.find_all
  12 + @parent_tags = Tag.find_all
13 13 @tag = Tag.new
14 14 end
15 15  
... ... @@ -24,4 +24,27 @@ class ManageTagsController < ApplicationController
24 24 render :action => 'new'
25 25 end
26 26 end
  27 +
  28 + def edit
  29 + @parent_tags = Tag.find_all
  30 + @tag = Tag.find(params[:id])
  31 + end
  32 +
  33 + def update
  34 + @tag = Tag.find(params[:id])
  35 + @tag.name = params[:tag][:name]
  36 + @tag.parent = params[:parent_id] != "0" ? Tag.find(params[:parent_id].to_i) : nil
  37 + if @tag.save
  38 + flash[:notice] = _('Tag was successfully updated.')
  39 + redirect_to :action => 'list'
  40 + else
  41 + render :action => 'edit'
  42 + end
  43 + end
  44 +
  45 + def destroy
  46 + @tag = Tag.find(params[:id])
  47 + @tag.destroy
  48 + redirect_to :action => 'list'
  49 + end
27 50 end
... ...
app/views/manage_tags/_form.rhtml
1   -
2 1 Name: <%= text_field 'tag', 'name' %> <br>
3   -Parent tag: <%= select_tag 'parent_id', ['<option value="0"></option>'] + @tags.map {|n|"<option value=\"#{n.id}\">" + n.name + '</option>'} %> <br>
  2 +Parent tag: <%= select_tag 'parent_id', ['<option value="0"></option>'] + @parent_tags.select{|pt| !pt.ancestors.include?(@tag) and pt != @tag}.map {|n|"<option value=\"#{n.id}\" #{'selected="selected"' if @tag.parent == n} >" + n.name + '</option>'} %> <br>
... ...
app/views/manage_tags/list.rhtml
1 1 <h2> <%= _("Listing tags") %> </h2>
2 2  
3 3 <ul>
4   - <% @tags.select{|t| !t.parent }.each do |a_tag| %>
5   - <%= render :partial => 'list', :locals => {:a_tag => a_tag} %>
6   - <% end %>
  4 + <%= render :partial => 'a_tag', :collection => @tags.select{|t|!t.parent} %>
7 5 </ul>
8 6  
9 7 <%= link_to _('New tag'), {:action => 'new'} %>
... ...
app/views/manage_tags/new.rhtml
... ... @@ -2,5 +2,6 @@
2 2  
3 3 <%= start_form_tag :action =>'create' %>
4 4 <%= render :partial => 'form' %>
5   - <%= submit_tag 'Create' %>
  5 + <%= submit_tag _('Create') %>
  6 + <%= link_to _('Cancel'), {:action => 'list'} %>
6 7 <%= end_form_tag %>
... ...