Bildergallerie auf Kurs
Für alle mit löschrechten: 2 Buttons, einer zeigt auf originaldatei, einer löscht das bild.
This commit is contained in:
@@ -87,10 +87,11 @@ class FotosController < ApplicationController
|
||||
# DELETE /fotos/1.json
|
||||
def destroy
|
||||
@foto = Foto.find(params[:id])
|
||||
gallery = @foto.gallery_id
|
||||
@foto.destroy
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to galleries_url }
|
||||
format.html { redirect_to gallery_path(gallery) }
|
||||
format.json { head :no_content }
|
||||
end
|
||||
end
|
||||
|
||||
@@ -22,31 +22,38 @@ class GalleriesController < ApplicationController
|
||||
@pppage_array = [ 25 , 50 , 100, "all"] #defines number & size of picture chunks
|
||||
@pppage = 0 #starting index of pppage_array
|
||||
|
||||
if !params[:pppage].nil? && params[:pppage].to_i <= 2 && params[:pppage].to_i >= 0
|
||||
if !params[:pppage].nil? && params[:pppage].to_i <= 3 && 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]).limit(@pppage_array[@pppage]).offset(@pppage_array[@pppage]*(@page-1))
|
||||
@fotos = Foto.where(:gallery_id => params[:id])
|
||||
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
|
||||
if @fotos.nil? || @fotos.empty?
|
||||
@fotos_p = []
|
||||
@fotos_n = []
|
||||
@pages = 1
|
||||
|
||||
else
|
||||
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
|
||||
end
|
||||
|
||||
@showind=[]
|
||||
# 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()}
|
||||
@toolbar_elements << {:hicon => 'icon-remove-circle', :text => I18n.t('common.delete'), :path => gallery_path(@gallery),:confirm=>'Sure?', :method=>:delete} if can? :delete, Gallery
|
||||
|
||||
respond_to do |format|
|
||||
format.html # show.html.erb
|
||||
|
||||
@@ -38,55 +38,79 @@
|
||||
</div>
|
||||
<div style="clear:both"></div>
|
||||
|
||||
<!-- The Bootstrap Image Gallery lightbox, should be a child element of the document body -->
|
||||
<!-- The Bootstrap Image Gallery lightbox, should be a child element of the document body -->
|
||||
<div id="blueimp-gallery" class="blueimp-gallery blueimp-gallery-controls">
|
||||
<!-- The container for the modal slides -->
|
||||
<div class="slides"></div>
|
||||
<!-- Controls for the borderless lightbox -->
|
||||
<h3 class="title"></h3>
|
||||
<a class="prev">‹</a>
|
||||
<a class="next">›</a>
|
||||
<a class="close">×</a>
|
||||
<a class="play-pause"></a>
|
||||
<ol class="indicator"></ol>
|
||||
<!-- The modal dialog, which will be used to wrap the lightbox content -->
|
||||
<div class="modal fade">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" aria-hidden="true">×</button>
|
||||
<h4 class="modal-title"></h4>
|
||||
</div>
|
||||
<div class="modal-body next"></div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default pull-left prev">
|
||||
<i class="glyphicon glyphicon-chevron-left"></i>
|
||||
Previous
|
||||
</button>
|
||||
<button type="button" class="btn btn-primary next">
|
||||
Next
|
||||
<i class="glyphicon glyphicon-chevron-right"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<!-- The container for the modal slides -->
|
||||
<div class="slides"></div>
|
||||
<!-- Controls for the borderless lightbox -->
|
||||
<h3 class="title"></h3>
|
||||
<a class="prev">‹</a>
|
||||
<a class="next">›</a>
|
||||
<a class="close">×</a>
|
||||
<a class="play-pause"></a>
|
||||
<ol class="indicator"></ol>
|
||||
<!-- The modal dialog, which will be used to wrap the lightbox content -->
|
||||
<div class="modal fade">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" aria-hidden="true">×</button>
|
||||
<h4 class="modal-title"></h4>
|
||||
</div>
|
||||
<div class="modal-body next"></div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-default pull-left prev">
|
||||
<i class="glyphicon glyphicon-chevron-left"></i>
|
||||
Previous
|
||||
</button>
|
||||
<button type="button" class="btn btn-primary next">
|
||||
Next
|
||||
<i class="glyphicon glyphicon-chevron-right"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="links">
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<p></p>
|
||||
<div class="row-fluid">
|
||||
<div class="span12">
|
||||
<% @fotos_p.each do |f| %>
|
||||
<a href="<%= f.datei.resized.url%>" title="<%=f.title%>" data-gallery>
|
||||
<%=image_tag(f.datei.thumb.url,{:class=>"img-polaroid img-rounded"}) %></a>
|
||||
<div class="left">
|
||||
<div id="links">
|
||||
<a href="<%= f.datei.resized.url%>" title="<%=f.title%>" data-gallery>
|
||||
<%=image_tag(f.datei.thumb.url,{:class=>"img-polaroid img-rounded"}) %></a>
|
||||
</div>
|
||||
<%= link_to ff_icon('icon-circle-arrow-down').html_safe, f.datei.url,
|
||||
:class=>"btn-small",title: I18n.t('fotos.download')+': '+f.title, rel: 'tooltip' %>
|
||||
<%= link_to ff_icon('icon-remove-circle').html_safe, gallery_foto_path(@gallery, f),
|
||||
:method => :delete, :class=>"btn-small btn-danger",title: I18n.t('fotos.delete')+': '+f.title, rel: 'tooltip', confirm: I18n.t('fotos.delete')+': '+f.title+', Sicher?'%>
|
||||
<p></p>
|
||||
</div>
|
||||
<% end %>
|
||||
<% @fotos_n.each do |f| %>
|
||||
<a href="<%= f.datei.resized.url%>" title="<%=f.title%>" data-gallery></a>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
<div id="links">
|
||||
<a href="<%= f.datei.resized.url%>" title="<%=f.title%>" data-gallery></a>
|
||||
<% end %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<%= javascript_include_tag "blueimp-gallery-all" %>
|
||||
<div class="row-fluid">
|
||||
<% if can? :delete,@gallery %>
|
||||
<div class="span12">
|
||||
|
||||
<%= link_to ff_icon('icon-circle-arrow-down').html_safe, '',
|
||||
:class=>"btn-small"%>: <%= I18n.t('fotos.download_long')%><br>
|
||||
<%= link_to ff_icon('icon-remove-circle').html_safe, '',
|
||||
:class=>"btn-small btn-danger"%>: <%= I18n.t('fotos.delete')%>
|
||||
<p></p>
|
||||
|
||||
</div>
|
||||
<% end %>
|
||||
<%= render 'layouts/pretty_toolbar' %>
|
||||
</div>
|
||||
<%= @pppage_array[@pppage] %>
|
||||
<%= javascript_include_tag "blueimp-gallery-all" %>
|
||||
|
||||
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
de:
|
||||
fotos:
|
||||
delete: "Foto löschen"
|
||||
download: "Link zu Originaldatei"
|
||||
download_long: "Link zu Originaldatei. Für Download Rechtsklick->speichern unter."
|
||||
galleries: "Bildergalerien"
|
||||
new-gallery: "Neue Galerie"
|
||||
new-fotos: "Fotos hinzufügen"
|
||||
|
||||
Reference in New Issue
Block a user