diff --git a/Gemfile b/Gemfile
index fd80595..6250ceb 100755
--- a/Gemfile
+++ b/Gemfile
@@ -102,4 +102,7 @@ gem 'themes_for_rails'
gem 'rubyzip'
-gem 'acts_as_votable'
\ No newline at end of file
+gem 'acts_as_votable'
+
+gem 'will_paginate'
+gem 'bootstrap-will_paginate'
diff --git a/app/assets/javascripts/pagination.js.coffee b/app/assets/javascripts/pagination.js.coffee
new file mode 100644
index 0000000..f9d1c14
--- /dev/null
+++ b/app/assets/javascripts/pagination.js.coffee
@@ -0,0 +1,10 @@
+jQuery ->
+ if $('#infinite-scrolling').size() > 0
+ $(window).on 'scroll', ->
+ more_posts_url = $('.pagination .next_page a').attr('href')
+ b=$(document).height() - $(window).height() - 60
+ if more_posts_url && $(window).scrollTop() > b
+ $('.pagination').html(' Loading... ')
+ $.getScript more_posts_url
+ return
+ return
\ No newline at end of file
diff --git a/app/controllers/home_controller.rb b/app/controllers/home_controller.rb
index df28c51..ea3b682 100755
--- a/app/controllers/home_controller.rb
+++ b/app/controllers/home_controller.rb
@@ -28,6 +28,7 @@ class HomeController < ApplicationController
def linksnotimplemented
render 'links_notimplemented'
end
+
def search
unless params['query'].nil? || params['query'].empty?
@@ -54,8 +55,8 @@ class HomeController < ApplicationController
end
end
def choose_contact_topics
-File.open("config/contact_topic.yml",'w'){|f| f.write(params[:themen].to_yaml)}
- redirect_to admin_home_index_path
+ File.open("config/contact_topic.yml",'w'){|f| f.write(params[:themen].to_yaml)}
+ redirect_to admin_home_index_path
end
end
diff --git a/app/controllers/neuigkeiten_controller.rb b/app/controllers/neuigkeiten_controller.rb
index 29a54b9..52701ff 100755
--- a/app/controllers/neuigkeiten_controller.rb
+++ b/app/controllers/neuigkeiten_controller.rb
@@ -86,6 +86,11 @@ class NeuigkeitenController < ApplicationController
end
end
+ def mail_preview
+ @neuigkeit = Neuigkeit.find(params[:id])
+ authorize! :publish, @neuigkeit
+ render template: "news_mailer/neuigkeit_mail", layout: false
+ end
def edit
@neuigkeit = Neuigkeit.find(params[:id])
@@ -109,8 +114,12 @@ class NeuigkeitenController < ApplicationController
@nlink_search.flatten!
-
- render action:"show"
+ respond_to do |format|
+ format.html { render action:"show" }
+ format.js
+ end
+
+
end
def create_link
@neuigkeit = Neuigkeit.find(params[:id])
@@ -118,7 +127,7 @@ class NeuigkeitenController < ApplicationController
Nlink.create(:link=>params[:link_type].constantize.find(params[:link_id]),:neuigkeit=>Neuigkeit.find(params[:id]))
@nlinks=@neuigkeit.nlinks
respond_to do |format|
- format.html { edirect_to action:"show" }
+ format.html { redirect_to action:"show" }
format.js
end
end
diff --git a/app/controllers/rubriken_controller.rb b/app/controllers/rubriken_controller.rb
index 42afaf2..5e629d7 100755
--- a/app/controllers/rubriken_controller.rb
+++ b/app/controllers/rubriken_controller.rb
@@ -4,13 +4,18 @@ class RubrikenController < ApplicationController
def index
if can?(:showintern, Rubrik)
@rubriken = Rubrik.all
- @neuigkeiten = Neuigkeit.recent
+ @neuigkeiten = Neuigkeit.paginate(page: params[:page], per_page:3)
else
@rubriken = Rubrik.where(:public=>true)
@neuigkeiten = Neuigkeit.public.recent
end
@calentries= @rubriken.collect(&:calentries).flatten
+ respond_to do |format|
+ format.html
+ format.js {render action: :show}
+ end
+
end
def intern
@@ -26,14 +31,17 @@ class RubrikenController < ApplicationController
@moderatoren=User.with_role(:newsmoderator,@rubrik)
@calentries= @rubrik.calentries
if can?(:showunpublished, Neuigkeit)
- @neuigkeiten = @rubrik.neuigkeiten
+ @neuigkeiten = @rubrik.neuigkeiten.paginate(page: params[:page], per_page:3)
else
- @neuigkeiten = @rubrik.neuigkeiten.published
+ @neuigkeiten = @rubrik.neuigkeiten.published.paginate(page: params[:page], per_page:3)
end
@toolbar_elements << {:text=>I18n.t('neuigkeit.new.title'), :path=> new_rubrik_neuigkeit_path(@rubrik),:hicon=>'icon-plus-sign'} if can? :verwalten, @rubrik
@toolbar_elements << {:text=>I18n.t('common.verwalten'), :path=>verwalten_rubrik_path(@rubrik),:icon=>:pencil} if can? :verwalten, @rubrik
-
+ respond_to do |format|
+ format.html
+ format.js
+ end
end
diff --git a/app/controllers/themengruppen_controller.rb b/app/controllers/themengruppen_controller.rb
index a648f77..c2d310e 100644
--- a/app/controllers/themengruppen_controller.rb
+++ b/app/controllers/themengruppen_controller.rb
@@ -7,7 +7,7 @@ class ThemengruppenController < ApplicationController
@toolbar_elements = []
@toolbar_elements << {:icon=>:plus, :hicon=>'icon-plus-sign', :text=>I18n.t('themengruppe.new'), :path=>new_themengruppe_path()} if can? :new, Themengruppe
@toolbar_elements << {:icon=>:plus, :hicon=>'icon-plus-sign', :text=>I18n.t('themengruppe.manage_all'), :path=>verwalten_all_themengruppen_path()} if can? :verwalten_all, Themengruppe
-
+
respond_to do |format|
format.html # index.html.erb
format.json { render json: @themengruppen }
diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb
index 22b340c..dafbaf5 100755
--- a/app/views/layouts/application.html.erb
+++ b/app/views/layouts/application.html.erb
@@ -1,23 +1,23 @@
-
+
-
-
- Fetsite
+
+
+ Fetsite
+
+ <%= stylesheet_link_tag "themes/"+theme_name+"/application", :media => "all" unless theme_name.empty? %>
+ <%= stylesheet_link_tag "application", :media=>"all" if theme_name.empty? %>
+ <% theme_stylesheet_link_tag "test", :media => "all" %>
+ <% theme_stylesheet_link_tag "mod", :media=>"all" %>
+ <%= javascript_include_tag "application" %>
+ <%= csrf_meta_tags %>
+ <%= yield :header %>
+
-
- <%= stylesheet_link_tag "themes/"+theme_name+"/application", :media => "all" unless theme_name.empty? %>
- <%= stylesheet_link_tag "application", :media=>"all" if theme_name.empty? %>
- <% theme_stylesheet_link_tag "test", :media => "all" %>
- <% theme_stylesheet_link_tag "mod", :media=>"all" %>
- <%= javascript_include_tag "application" %>
- <%= csrf_meta_tags %>
-
-
-
-
+
+
@@ -27,7 +27,6 @@
<%= link_to home_index_path do %>
<% end %>
-
-
+
-
+
diff --git a/app/views/neuigkeiten/_find_link.js.erb b/app/views/neuigkeiten/_find_link.js.erb
new file mode 100644
index 0000000..e69de29
diff --git a/app/views/neuigkeiten/_neuigkeit.html.erb b/app/views/neuigkeiten/_neuigkeit.html.erb
index 9e17f73..3f23ff2 100755
--- a/app/views/neuigkeiten/_neuigkeit.html.erb
+++ b/app/views/neuigkeiten/_neuigkeit.html.erb
@@ -1,5 +1,20 @@
+<% if defined?(wrap_in) && !wrap_in.blank? %>
+<%= content_tag wrap_in do %>
+www
<% c =[:linkbox] %>
<% c << "color-"+neuigkeit.rubrik.color.to_s+"-dark" unless neuigkeit.rubrik.color.nil? %>
<%= link_to [neuigkeit.rubrik,neuigkeit], {class: c} do %>
<%= render :partial=>"neuigkeiten/compact",:locals=> {:neuigkeit=> neuigkeit} %>
<% end %>
+
+<% end %>
+<% else %>
+
+<% c =[:linkbox] %>
+<% c << "color-"+neuigkeit.rubrik.color.to_s+"-dark" unless neuigkeit.rubrik.color.nil? %>
+<%= link_to [neuigkeit.rubrik,neuigkeit], {class: c} do %>
+<%= render :partial=>"neuigkeiten/compact",:locals=> {:neuigkeit=> neuigkeit} %>
+<% end %>
+
+
+<% end %>
diff --git a/app/views/neuigkeiten/_nlink_list.html.erb b/app/views/neuigkeiten/_nlink_list.html.erb
index d93927c..f6d9eb5 100644
--- a/app/views/neuigkeiten/_nlink_list.html.erb
+++ b/app/views/neuigkeiten/_nlink_list.html.erb
@@ -1,11 +1,11 @@
-
+
<%= link_to nlink_list.link do %>
-
+
<% p = nlink_list.link_type.downcase.pluralize+"/nlink" %>
<%= raw(strip_links(render :partial=>p, :object=>nlink_list.link )) %>
<% end %>
-
+
diff --git a/app/views/neuigkeiten/_nlink_list_search_whole.html.erb b/app/views/neuigkeiten/_nlink_list_search_whole.html.erb
new file mode 100644
index 0000000..f2aefa1
--- /dev/null
+++ b/app/views/neuigkeiten/_nlink_list_search_whole.html.erb
@@ -0,0 +1,5 @@
+
+
+ <%= render partial: "nlink_list_search", collection: nlink_list_search_whole %>
+
+
diff --git a/app/views/neuigkeiten/_nlink_list_whole.html.erb b/app/views/neuigkeiten/_nlink_list_whole.html.erb
new file mode 100644
index 0000000..6fecd01
--- /dev/null
+++ b/app/views/neuigkeiten/_nlink_list_whole.html.erb
@@ -0,0 +1,15 @@
+
+
+ <%= I18n.t("neuigkeit.sieheauch") %>
+
+ <% nlink_list_whole.each_slice(2) do |row| %>
+
+ <% row.each do |nl| %>
+
+ <%= render partial: "nlink_list", object: nl %>
+
+ <% end %>
+
+ <% end %>
+
+
diff --git a/app/views/neuigkeiten/create_link.js.erb b/app/views/neuigkeiten/create_link.js.erb
index d24f9fc..0c67c0b 100644
--- a/app/views/neuigkeiten/create_link.js.erb
+++ b/app/views/neuigkeiten/create_link.js.erb
@@ -1,2 +1,2 @@
$('#nlink_list_search').html("");
-$('#nlink_list').html("<%= escape_javascript( render partial:"nlink_list", collection: @nlinks )%>");
\ No newline at end of file
+$('#nlink_list').replaceWith("<%= escape_javascript( render partial:"nlink_list_whole", object: @nlinks )%>");
\ No newline at end of file
diff --git a/app/views/neuigkeiten/find_link.js.erb b/app/views/neuigkeiten/find_link.js.erb
new file mode 100644
index 0000000..20b228d
--- /dev/null
+++ b/app/views/neuigkeiten/find_link.js.erb
@@ -0,0 +1 @@
+$('#nlink_list_search').replaceWith("<%= escape_javascript( render partial:"nlink_list_search_whole", object: @nlink_search )%>");
\ No newline at end of file
diff --git a/app/views/neuigkeiten/show.html.erb b/app/views/neuigkeiten/show.html.erb
index 10e32ef..53f946f 100755
--- a/app/views/neuigkeiten/show.html.erb
+++ b/app/views/neuigkeiten/show.html.erb
@@ -27,18 +27,10 @@
<% end %>
<%= render 'layouts/pretty_toolbar', :object=> @toolbar_elements %>
-
-<%= I18n.t("neuigkeit.sieheauch") %>
-
-
- <%= render partial: "nlink_list", collection: @neuigkeit.nlinks %>
-
-
- <%= render partial: "nlink_list_search", collection: @nlink_search %>
-
-
+<%= render partial: 'nlink_list_whole', :object=>@neuigkeit.nlinks %>
+<%= render partial: 'nlink_list_search_whole', object: @nlink_search %>
<% if can? :find_link, @neuigkeit %>
-<%= semantic_form_for :find_link, :url=>find_link_rubrik_neuigkeit_path(@rubrik,@neuigkeit), :html=>{:id=>"search_form", :method=>'get'} do |f| %>
+<%= semantic_form_for :find_link, :url=>find_link_rubrik_neuigkeit_path(@rubrik,@neuigkeit), :html=>{:id=>"search_form", :method=>'get'} , :remote=> true do |f| %>
<%= f.input :query, :input_html => { :name => 'query' },:label=>false %>
<% end %>
<% end %>
diff --git a/app/views/news_mailer/neuigkeit_mail.html.erb b/app/views/news_mailer/neuigkeit_mail.html.erb
index 8706934..5149fd2 100644
--- a/app/views/news_mailer/neuigkeit_mail.html.erb
+++ b/app/views/news_mailer/neuigkeit_mail.html.erb
@@ -1,4 +1,6 @@
-
- <%= @neuigkeit.title%>
-
- <%= raw(@neuigkeit.text) %>
+
+ <%= @neuigkeit.title%>
+
+<%= image_tag @neuigkeit.picture.big_thumb.url %>
+<%= raw(@neuigkeit.text) %>
+ Eine Nachricht aus deiner Fachschaft! wenn du diese Neuigkeiten nicht mehr bekommen willst hast du leider Pech gehabt es gibt keine Möglichkeit aus der FET wieder auszutreten.
diff --git a/app/views/rubriken/index.html.erb b/app/views/rubriken/index.html.erb
index 1cd9149..0039867 100755
--- a/app/views/rubriken/index.html.erb
+++ b/app/views/rubriken/index.html.erb
@@ -12,12 +12,17 @@
+
<%= render 'calendars/calentries', :object=>@calentries %>
diff --git a/app/views/rubriken/show.html.erb b/app/views/rubriken/show.html.erb
index 85a4afa..0ef5b3e 100755
--- a/app/views/rubriken/show.html.erb
+++ b/app/views/rubriken/show.html.erb
@@ -19,16 +19,18 @@
-<% @neuigkeiten.each_slice(1) do |row| %>
-
- <% row.each do |neuigkeit| %>
+
+<% @neuigkeiten.each do |neuigkeit| %>
+
<%= render neuigkeit %>
- <% end %>
-
<% end %>
+
+
+<%= will_paginate @neuigkeiten %>
+
<%= render 'calendars/calentries', :object=>@calentries %>
diff --git a/app/views/rubriken/show.js.erb b/app/views/rubriken/show.js.erb
new file mode 100644
index 0000000..ab1cfde
--- /dev/null
+++ b/app/views/rubriken/show.js.erb
@@ -0,0 +1,7 @@
+$('#neuigkeiten').append('<%= j render @neuigkeiten, :locals => { :wrap_in => :li} %>');
+<% if @neuigkeiten.next_page %>
+ $('.pagination').replaceWith('<%= j will_paginate @neuigkeiten %>');
+<% else %>
+ $(window).off('scroll');
+ $('.pagination').remove();
+<% end %>
\ No newline at end of file
diff --git a/config/routes.rb b/config/routes.rb
index 085095d..2c76fb0 100755
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -127,6 +127,7 @@ Fetsite::Application.routes.draw do
get 'find_link'
get 'publish_to_facebook'
get 'mail_to_fet'
+ get 'mail_preview'
end
end
end