forked from bofh/fetsite
Gallery show enhancements
a) Worked on better pagination, knows now 25, 50, 100 and "all" b) Viewer always shows ALL pictures, sorted to fit the order of the pagination
This commit is contained in:
@@ -19,19 +19,31 @@ class GalleriesController < ApplicationController
|
||||
def show
|
||||
@gallery = Gallery.find(params[:id])
|
||||
|
||||
@pppage_array = [ 25 , 50 , 100 ] #defines number & size of picture chunks
|
||||
@pppage_array = [ 25 , 50 , 100, "all"] #defines number & size of picture chunks
|
||||
@pppage = 0 #starting index of pppage_array
|
||||
|
||||
if params[:pppage].to_i <= 2 && params[:pppage].to_i >= 0
|
||||
|
||||
if !params[:pppage].nil? && params[:pppage].to_i <= 2 && params[:pppage].to_i >= 0
|
||||
@pppage = params[:pppage].to_i
|
||||
end
|
||||
|
||||
@page = params[:page].nil? ? 1 : params[:page].to_i
|
||||
# @fotos = Foto.where(:gallery_id => params[:id]).limit(@pppage_array[@pppage]).offset(@pppage_array[@pppage]*(@page-1))
|
||||
@fotos = Foto.where(:gallery_id => params[:id])
|
||||
@pages = (Foto.where(:gallery_id => params[:id]).count/(@pppage_array[@pppage])+1)
|
||||
if @pppage_array[@pppage] != "all"
|
||||
@fotos_p = @fotos.page(@page).per(@pppage_array[@pppage])
|
||||
|
||||
@fotos_n = @fotos- @fotos_p
|
||||
@foto_ind = @fotos.find_index(@fotos_p.first)
|
||||
@fotos_n = @fotos_n.rotate(@foto_ind)
|
||||
@pages = (Foto.where(:gallery_id => params[:id]).count/(@pppage_array[@pppage])+1)
|
||||
else
|
||||
@fotos_p = @fotos
|
||||
@fotos_n = []
|
||||
@pages = 1
|
||||
end
|
||||
|
||||
@showind=[]
|
||||
@showind.fill(0,@pppage_array[@pppage]){ |i| i+ @pppage_array[@pppage]*(@page-1)} # Hier ausrechnen welche angezeigt werden sollen
|
||||
# Hier ausrechnen welche angezeigt werden sollen
|
||||
@toolbar_elements << {:hicon=>'icon-plus', :text=> I18n.t('fotos.new-fotos'), :path=>new_gallery_foto_path(@gallery)}
|
||||
@toolbar_elements << {:hicon=>'icon-pencil', :text => I18n.t('common.edit'), :path=>edit_gallery_path(@gallery)}
|
||||
@toolbar_elements << {:hicon=>'icon-arrow-left', :text=>I18n.t('common.back'), :path=>galleries_path()}
|
||||
|
||||
Reference in New Issue
Block a user