| Class | Admin::TagsController |
| In: |
app/controllers/admin/tags_controller.rb
|
| Parent: | Admin::BaseController |
Controlador para la traducción de Tags
Busca los tags duplicados
# File app/controllers/admin/tags_controller.rb, line 40
40: def find_duplicates
41: @duplicated_tags = Tag.duplicated_tags
42: end
Listado de tags
# 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
# 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
# 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
# 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