| Class | Admin::AlbumsController |
| In: |
app/controllers/admin/albums_controller.rb
|
| Parent: | Sadmin::BaseController |
Controlador para la gestión de álbums en la WebTV
Auto complete para los tags
# File app/controllers/admin/albums_controller.rb, line 80
80: def auto_complete_for_album_tag_list_es
81: auto_complete_for_tag_list(params[:album][:tag_list_es])
82: if @tags.length > 0
83: render :inline => "<%= content_tag(:ul, @tags.map {|t| content_tag(:li, t.nombre)}) %>"
84: else
85: render :nothing => true
86: end
87: end
Marca la foto elegida como portada para este álbum
# File app/controllers/admin/albums_controller.rb, line 65
65: def choose_cover
66: @album = Album.find(params[:id])
67: aphoto = @album.album_photos.find_by_photo_id(params[:photo_id])
68: previous_cover = @album.album_photos.find_by_cover_photo(true)
69: render :update do |page|
70: if aphoto.update_attributes(:cover_photo => true)
71: page.replace "photo_cover_#{aphoto.id}", :partial => "aphoto_cover", :locals => {:aphoto => aphoto}
72: if previous_cover && previous_cover.update_attributes(:cover_photo => false)
73: page.replace "photo_cover_#{previous_cover.id}", :partial => "aphoto_cover", :locals => {:aphoto => previous_cover}
74: end
75: end
76: end
77: end
Creación de un álbum
# File app/controllers/admin/albums_controller.rb, line 27
27: def create
28: @album = Album.new(params[:album])
29: if @album.save
30: flash[:notice] = "El album se ha creado correctamente"
31: redirect_to admin_album_path(@album)
32: else
33: render :action => "new"
34: end
35: end
Eliminación de un álbum
# File app/controllers/admin/albums_controller.rb, line 53
53: def destroy
54: @album = Album.find(params[:id])
55: if @album.destroy
56: flash[:notice] = "El album ha sido eliminado"
57: redirect_to admin_albums_path
58: else
59: flash[:error] = "El album no ha sido eliminado"
60: redirect_to admin_album_path(@album)
61: end
62: end
Modificación de un álbum
# File app/controllers/admin/albums_controller.rb, line 38
38: def edit
39: @album = Album.find(params[:id])
40: end
Listado de álbums
# File app/controllers/admin/albums_controller.rb, line 7
7: def index
8: @albums = Album.paginate :page => params[:page], :order => "title_es"
9:
10: @orphane_photos_counter = Photo.count(:conditions => "NOT EXISTS (SELECT 1 FROM album_photos WHERE album_photos.photo_id=photos.id)")
11: @first_orphane_photo = Photo.find(:first,
12: :conditions => "NOT EXISTS (SELECT 1 FROM album_photos WHERE album_photos.photo_id=photos.id)",
13: :order => "created_at DESC")
14: end
Formulario de creación de álbum
# File app/controllers/admin/albums_controller.rb, line 22
22: def new
23: @album = Album.new
24: end