Commit c2a63906deef02eee63f1befccf9dc68a5afce86
1 parent
288990c5
Exists in
master
and in
29 other branches
ActionItem4: Added edit and destroy tags
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@45 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
4 changed files
with
28 additions
and
7 deletions
Show diff stats
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