Class Admin::TagsController
In: app/controllers/admin/tags_controller.rb
Parent: Admin::BaseController

Controlador para la traducción de Tags

Methods

Public Instance methods

Busca los tags duplicados

[Source]

    # File app/controllers/admin/tags_controller.rb, line 40
40:   def find_duplicates
41:     @duplicated_tags = Tag.duplicated_tags
42:   end

Listado de tags

[Source]

    # File app/controllers/admin/tags_controller.rb, line 9
 9:   def index
10:     if params[:q]
11:       conditions = ["sanitized_name_es || ' ' || sanitized_name_eu || ' ' || sanitized_name_en LIKE ?", "%#{params[:q].tildes.downcase}%"]
12:       @title = "Tags: #{params[:q]}"
13:     else
14:       @l = params[:l] ? params[:l] : "A"
15:       conditions = ["sanitized_name_es LIKE ?", "#{@l.downcase}%"]
16:       @title = "Tags: #{@l}"
17:     end
18:     
19:     @tags = Tag.public.find(:all, :conditions => conditions, :order => "tildes(lower(name_es))")
20:   end

Busca los tags duplicados y los reagrupa en un sólo tag

[Source]

    # File app/controllers/admin/tags_controller.rb, line 45
45:   def merge
46:     if params[:cancel]
47:       flash[:notice] = "Los tags se han dejado como estaban"
48:       
49:     else
50:       @duplicated_tags = Tag.duplicated_tags
51:       
52:       @duplicated_tags.group_by(&:name_es).each do |group_name, tags|
53:         reference_tag = tags.first
54:         duplicated_tags = tags - [tags.first]
55:         duplicated_tags.each do |tag|
56:           Tagging.update_all("tag_id=#{reference_tag.id}", "tag_id=#{tag.id}")
57:           Tag.find(tag.id).destroy
58:         end
59:       end
60:       flash[:notice] = "Los tags se han agrupado"
61:     end
62:     redirect_to admin_tags_path
63:   end

[Source]

    # File app/controllers/admin/tags_controller.rb, line 76
76:   def set_tag_name
77:     @tag = Tag.find(params[:id])
78:     if @tag.update_attribute("name_#{params[:locale]}", params[:value])
79:       render :update do |page|
80:         page.replace "tag_row_#{@tag.id}", :partial => "tag_row", :locals => {:tag => @tag}
81:       end
82:     else
83:     end
84:   end

[Source]

    # File app/controllers/admin/tags_controller.rb, line 65
65:   def update
66:     @tag = Tag.find(params[:id])
67:     render :update do |page|    
68:       if @tag.update_attributes(params[:tag])
69:         page.replace "tag_row_#{@tag.id}", :partial => "tag_row", :locals => {:tag => @tag}
70:       else
71:         page.alert("El estado del tag no se ha actualizado")
72:       end
73:     end
74:   end

[Validate]