-
Notifications
You must be signed in to change notification settings - Fork 1
/
playlists_controller.rb
58 lines (50 loc) · 1.43 KB
/
playlists_controller.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
class PlaylistsController < InheritedResources::Base
nested_belongs_to :user, :finder => :find_by_username
respond_to :js, :html
rescue_from ActiveRecord::RecordNotFound do
redirect_to "/", notice: 'Playlist was not found'
end
def show
show! do |format|
@link_invite_everyone = @playlist.link_invite
@link_invite_plisters = @playlist.link_invite('plisters')
format.html {
unless @playlist.published
if !user_signed_in? || !has_access_to(current_user, @playlist)
flash[:error] = 'This is private playlist'
redirect_to root_path
end
end
}
end
end
def published
@playlist = Playlist.find(params[:id])
pub = params[:playlist_published] ? true : false
@playlist.update_attribute(:published, pub)
respond_to do |format|
format.html {render :text => 'ok'}
format.js
end
end
def destroy
super do |format|
flash[:notice] = "Playlist deleted"
format.html { redirect_to root_url }
format.js
end
end
def create
super do |format|
flash[:notice] = "Playlist created"
format.html { redirect_to [current_user,@playlist] }
format.js
end
end
def shared
@user = User.find_by_username(params[:user_id])
@shared_with_me = Playlist.shared_with(@user.id)
@shared_by_me = Playlist.shared_by(@user.id)
@invited_me = PlaylistInvite.for_user(@user.id)
end
end