Class: IshManager::GalleriesController
Instance Method Summary
collapse
#basic_auth, #home, #tinymce
Instance Method Details
#create ⇒ Object
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'app/controllers/ish_manager/galleries_controller.rb', line 8
def create
params[:gallery][:shared_profiles] ||= []
params[:gallery][:shared_profiles].delete('')
params[:gallery][:shared_profiles] = Ish::UserProfile.find params[:gallery][:shared_profiles]
@gallery = Gallery.new params[:gallery].permit!
@gallery.user_profile = @current_profile
authorize! :create, @gallery
if @gallery.save
::IshManager::ApplicationMailer.shared_galleries( params[:gallery][:shared_profiles], @gallery ).deliver
flash[:notice] = 'Success'
redirect_to edit_gallery_path(@gallery)
else
puts! @gallery.errors.messages
flash[:alert] = "Cannot create the gallery: #{@gallery.errors.full_messages.join(', ')}"
render :action => 'new'
end
end
|
#destroy ⇒ Object
27
28
29
30
31
32
33
|
# File 'app/controllers/ish_manager/galleries_controller.rb', line 27
def destroy
authorize! :destroy, @gallery
@gallery.is_trash = true
@gallery.save
flash[:notice] = 'Logically deleted gallery.'
redirect_to galleries_path
end
|
#edit ⇒ Object
35
36
37
|
# File 'app/controllers/ish_manager/galleries_controller.rb', line 35
def edit
authorize! :edit, @gallery
end
|
#index ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
# File 'app/controllers/ish_manager/galleries_controller.rb', line 39
def index
authorize! :index, Gallery
@page_title = 'Galleries'
@galleries = Gallery.unscoped.where( :is_trash.in => [false, nil],
).order_by( :created_at => :desc )
if params[:q]
q = URI.decode(params[:q])
@galleries = @galleries.where({ :name => /#{q}/i })
end
@galleries = @galleries.page( params[:galleries_page] ).per( 10 )
render params[:render_type]
end
|
#j_show ⇒ Object
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'app/controllers/ish_manager/galleries_controller.rb', line 57
def j_show
authorize! :show, @gallery
respond_to do |format|
format.json do
jjj = {}
jjj[:photos] = @gallery.photos.map do |ph|
{ :thumbnail_url => ph.photo.url( :thumb ),
:delete_type => 'DELETE',
:delete_url => photo_path(ph) }
end
render :json => jjj
end
end
end
|
#new ⇒ Object
72
73
74
75
76
|
# File 'app/controllers/ish_manager/galleries_controller.rb', line 72
def new
@gallery = Gallery.new
@page_title = 'New Gallery'
authorize! :new, @gallery
end
|
#shared_with_me ⇒ Object
78
79
80
81
82
83
84
85
|
# File 'app/controllers/ish_manager/galleries_controller.rb', line 78
def shared_with_me
authorize! :index, Gallery
@page_title = 'Galleries Shared With Me'
@galleries = @current_profile.shared_galleries.unscoped.where( :is_trash => false
).order_by( :created_at => :desc
).page( params[:shared_galleries_page] ).per( 10 )
render params[:render_type]
end
|
#show ⇒ Object
87
88
89
90
91
|
# File 'app/controllers/ish_manager/galleries_controller.rb', line 87
def show
authorize! :show, @gallery
@photos = @gallery.photos.unscoped.where({ :is_trash => false }).order_by( ordering: :asc )
@deleted_photos = @gallery.photos.unscoped.where({ :is_trash => true }).order_by( ordering: :asc )
end
|
#update ⇒ Object
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
# File 'app/controllers/ish_manager/galleries_controller.rb', line 103
def update
authorize! :update, @gallery
old_shared_profile_ids = @gallery.shared_profiles.map(&:id)
if params[:gallery][:shared_profiles].present?
params[:gallery][:shared_profiles].delete('')
end
params[:gallery][:shared_profile_ids] = params[:gallery][:shared_profiles]
params[:gallery].delete :shared_profiles
flag = @gallery.update_attributes( params[:gallery].permit! )
if flag
if params[:gallery][:shared_profile_ids].present?
new_shared_profiles = Ish::UserProfile.find( params[:gallery][:shared_profile_ids]
).select { |p| !old_shared_profile_ids.include?( p.id ) }
::IshManager::ApplicationMailer.shared_galleries( new_shared_profiles, @gallery ).deliver
end
flash[:notice] = 'Success.'
redirect_to edit_gallery_path(@gallery)
else
puts! @gallery.errors.messages, 'cannot save gallery'
flash[:alert] = 'No Luck. ' + @gallery.errors.messages.to_s
render :action => :edit
end
end
|
#update_ordering ⇒ Object
93
94
95
96
97
98
99
100
101
|
# File 'app/controllers/ish_manager/galleries_controller.rb', line 93
def update_ordering
authorize! :update, @gallery
out = []
params[:gallery][:sorted_photo_ids].each_with_index do |id, idx|
out.push Photo.find( id ).update_attribute( :ordering, idx )
end
flash[:notice] = "Outcomes: #{out}."
redirect_to action: 'show', id: @gallery.id
end
|