diff --git a/Gemfile b/Gemfile
index 363e073..c7dd22e 100755
--- a/Gemfile
+++ b/Gemfile
@@ -103,6 +103,7 @@ gem 'themes_for_rails'
gem 'rubyzip'
gem 'acts_as_votable'
-
-gem 'will_paginate'
-gem 'bootstrap-will_paginate'
+gem 'kaminari'
+gem 'bootstrap-kaminari-views', :git=>'git://github.com/matenia/bootstrap-kaminari-views.git'
+#gem 'will_paginate', :git=>'git://github.com/mislav/will_paginate.git'
+#gem 'bootstrap-will_paginate'
diff --git a/app/assets/javascripts/pagination.js.coffee b/app/assets/javascripts/pagination.js.coffee
index 1ae1daa..59903ef 100644
--- a/app/assets/javascripts/pagination.js.coffee
+++ b/app/assets/javascripts/pagination.js.coffee
@@ -1,4 +1,5 @@
+
$ ->
if $('#infinite-scrolling').size() > 0
more_posts_url = $('.pagination .next_page a').attr('href')
diff --git a/app/controllers/beispiele_controller.rb b/app/controllers/beispiele_controller.rb
index 1917613..f82871c 100755
--- a/app/controllers/beispiele_controller.rb
+++ b/app/controllers/beispiele_controller.rb
@@ -18,7 +18,7 @@ class BeispieleController < ApplicationController
# @lva = params([:lva]) unless params([:lva]).nil?
@beispiel = Beispiel.find(params[:id])
respond_to do |format|
- format.html { redirect_to @beispiel.lva }
+ format.html { redirect_to lva_path(@beispiel.lva , show_comments: params[:show_comments])}
format.js
end
end
diff --git a/app/controllers/comments_controller.rb b/app/controllers/comments_controller.rb
index 7501c65..39e0490 100644
--- a/app/controllers/comments_controller.rb
+++ b/app/controllers/comments_controller.rb
@@ -1,10 +1,25 @@
class CommentsController < ApplicationController
- def index
- @comments=Comment.all
- end
+ def index
+ @commentable=params[:commentable_type].constantize.find(params[:commentable_id]) unless params[:commentable_type].nil? or params[:commentable_id].nil?
+ @comments=@commentable.comments.order(:created_at).roots.page(params[:page]).per(2).reverse_order
+ respond_to do |format|
+ format.html # new.html.erb
+ format.json { render json: @comment }
+ format.js
+ end
+
+ end
+ def hide
+ @commentable=params[:commentable_type].constantize.find(params[:commentable_id]) unless params[:commentable_type].nil? or params[:commentable_id].nil?
+ respond_to do |format|
+ format.js
+ end
+
+ end
def show
@comment = Comment.find(params[:id])
+
respond_to do |format|
format.html # show.html.erb
format.json { render json: @comment }
@@ -33,15 +48,9 @@ class CommentsController < ApplicationController
c = params[:comment][:commentable_type].constantize.find(params[:comment][:commentable_id]) unless params[:comment][:commentable_type].nil? or params[:comment][:commentable_id].nil?
@comment = Comment.build_for(c, current_user,"", params_new)
- #raise @comment.to_yaml.to_s
- # @comment.commentable= c
-
-
-
-
respond_to do |format|
if @comment
- format.html { redirect_to @comment.commentable, notice: 'Comment was successfully created.' }
+ format.html { redirect_to @comment.commentable, notice: 'Comment was successfully created.', show_comments: true }
format.json { render json: @comment, status: :created, location: @comment }
else
format.html { render action: "new" }
@@ -73,11 +82,13 @@ class CommentsController < ApplicationController
# DELETE /comments/1.json
def destroy
@comment = Comment.find(params[:id])
+ @commentable=@comment.commentable
@comment.destroy
respond_to do |format|
- format.html { redirect_to comments_url }
+ format.html { redirect_to @commentable, :action=>"show"}
format.json { head :no_content }
+
end
end
end
diff --git a/app/controllers/rubriken_controller.rb b/app/controllers/rubriken_controller.rb
index 7e94f1d..0ccc5fe 100755
--- a/app/controllers/rubriken_controller.rb
+++ b/app/controllers/rubriken_controller.rb
@@ -4,10 +4,10 @@ class RubrikenController < ApplicationController
def index
if can?(:showintern, Rubrik)
@rubriken = Rubrik.all
- @neuigkeiten = Neuigkeit.paginate(page: params[:page], per_page:3)
+ @neuigkeiten = Neuigkeit.page(params[:page]).per(3)
else
@rubriken = Rubrik.where(:public=>true)
- @neuigkeiten = Neuigkeit.public.published.paginate(page: params[:page], per_page:3)
+ @neuigkeiten = Neuigkeit.public.published.page(params[:page]).per(3)
end
@calentries= @rubriken.collect(&:calentries).flatten
@@ -31,9 +31,9 @@ class RubrikenController < ApplicationController
@moderatoren=User.with_role(:newsmoderator,@rubrik)
@calentries= @rubrik.calentries
if can?(:showunpublished, Neuigkeit)
- @neuigkeiten = @rubrik.neuigkeiten.paginate(page: params[:page], per_page:3)
+ @neuigkeiten = @rubrik.neuigkeiten.page(params[:page]).per(3)
else
- @neuigkeiten = @rubrik.neuigkeiten.published.paginate(page: params[:page], per_page:3)
+ @neuigkeiten = @rubrik.neuigkeiten.published..page(params[:page]).per(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
diff --git a/app/controllers/themen_controller.rb b/app/controllers/themen_controller.rb
index 5b4d39c..9b44767 100644
--- a/app/controllers/themen_controller.rb
+++ b/app/controllers/themen_controller.rb
@@ -18,6 +18,11 @@ class ThemenController < ApplicationController
format.js
end
end
+ def sanitize
+ @thema = Thema.find(params[:id])
+ @fragen=@thema.fragen
+
+ end
def verwalten
@thema = Thema.find(params[:id])
@attachment=Attachment.new
diff --git a/app/models/comment.rb b/app/models/comment.rb
index a074fd7..dd238b5 100644
--- a/app/models/comment.rb
+++ b/app/models/comment.rb
@@ -32,6 +32,13 @@ class Comment < ActiveRecord::Base
t_url= user.fetprofile.picture.thumb.url unless user.nil? or user.fetprofile.nil?
t_url
end
+ def self.wrapid_for(c)
+ "comments_" + c.class.to_s + "_" + c.id.to_s
+ end
+
+ def self.switchshowid_for(c)
+ "show_comments_" + c.class.to_s + "_" + c.id.to_s
+ end
def divid
"comment_" + id.to_s
end
diff --git a/app/views/beispiele/_beispiel.html.erb b/app/views/beispiele/_beispiel.html.erb
index d7b9290..0cc3a5f 100644
--- a/app/views/beispiele/_beispiel.html.erb
+++ b/app/views/beispiele/_beispiel.html.erb
@@ -1,41 +1,50 @@
-
-
+
+
- <%=link_to ffi1_icon("note20")+" " + beispiel.name, beispiel.beispieldatei.url, title: beispiel.desc %>
+ <%=link_to ffi1_icon("note20")+" " + beispiel.name, beispiel.beispieldatei.url, title: beispiel.desc %>
-<%= I18n.t("file.size") + ": " + (beispiel.beispieldatei.size/1024.0).round(2).to_s %>KiB
-<%=
-if can?(:like, beispiel)
-link_to ffi1_icon("like3")+" like" + "("+beispiel.get_likes.size.to_s+")", like_beispiel_path(beispiel),title: "liked by " + ((current_user.liked?(beispiel)) ? ("you and " + ((beispiel.get_likes.size - 1).to_s + " others")) : beispiel.get_likes.size.to_s), remote: true
-else
-"liked by " + beispiel.get_likes.size.to_s
-end
-%>
+ <%= I18n.t("file.size") + ": " + (beispiel.beispieldatei.size/1024.0).round(2).to_s %>KiB
+
+ <%=
+ if can?(:like, beispiel)
+ link_to ffi1_icon("like3")+" like" + "("+beispiel.get_likes.size.to_s+")", like_beispiel_path(beispiel),title: "liked by " + ((current_user.liked?(beispiel)) ? ("you and " + ((beispiel.get_likes.size - 1).to_s + " others")) : beispiel.get_likes.size.to_s), remote: true
+ else
+ "liked by " + beispiel.get_likes.size.to_s
+ end
+ %>
-<%=
-if can?(:dislike, beispiel)
-link_to ffi1_icon("dislike")+" dislike" + "("+beispiel.get_dislikes.size.to_s+")", dislike_beispiel_path(beispiel),title:"disliked by " + ((current_user.disliked?(beispiel)) ? ("you and " + ((beispiel.get_dislikes.size - 1).to_s + " others")) : beispiel.get_dislikes.size.to_s) , remote: true
-else
-"disliked by " + beispiel.get_dislikes.size.to_s
-end
+ <%=
+ if can?(:dislike, beispiel)
+ link_to ffi1_icon("dislike")+" dislike" + "("+beispiel.get_dislikes.size.to_s+")", dislike_beispiel_path(beispiel),title:"disliked by " + ((current_user.disliked?(beispiel)) ? ("you and " + ((beispiel.get_dislikes.size - 1).to_s + " others")) : beispiel.get_dislikes.size.to_s) , remote: true
+ else
+ "disliked by " + beispiel.get_dislikes.size.to_s
+ end
-%>
+ %>
-<%= link_to ff_icon("icon-pencil")+" edit", edit_beispiel_path(beispiel) if can? :edit, beispiel%>
-<%= link_to ff_icon("icon-remove")+" delete", beispiel_path(beispiel), :method=>:delete, :data=>{:confirm=>I18n.t('beispiel.sure')} if can? :delete, beispiel %>
-<%= link_to "Refresh", beispiel, remote: true %>
-
-
-
-<%= beispiel.desc %>
-
-
-<%= link_to "comment" , new_comment_path( commentable_type: "Beispiel", commentable_id: beispiel.id), remote:true if can? :comment, beispiel %>
+ <%= link_to ff_icon("icon-pencil")+" edit", edit_beispiel_path(beispiel) if can? :edit, beispiel%>
+ <%= link_to ff_icon("icon-remove")+" delete", beispiel_path(beispiel), :method=>:delete, :data=>{:confirm=>I18n.t('beispiel.sure')} if can? :delete, beispiel %>
+ <%= link_to "Refres1h", beispiel_path(beispiel,show_comments: true), remote: true %>
+
+
+
+ <%= beispiel.desc %>
+
+
+
+ <%= link_to "comment" , new_comment_path( commentable_type: "Beispiel", commentable_id: beispiel.id), remote:true if can? :comment, beispiel %>
+ <%= link_to "comments:.."+beispiel.comments.count().to_s, comments_path(commentable_type: "Beispiel", commentable_id: beispiel.id), remote:true, id: Comment.switchshowid_for(beispiel) %>
-<% unless beispiel.comments.roots.empty? %>
-
<%= render partial:"comments/comments", object: beispiel.comments.order(:created_at).roots.reverse_order %>
-<% end %>
+ <% unless beispiel.comments.roots.empty? %>
+
+ <% end %>
diff --git a/app/views/comments/_comment.html.erb b/app/views/comments/_comment.html.erb
index 810365e..2740c2f 100644
--- a/app/views/comments/_comment.html.erb
+++ b/app/views/comments/_comment.html.erb
@@ -1,17 +1,19 @@
diff --git a/app/views/comments/_comments.html.erb b/app/views/comments/_comments.html.erb
index 1d2f091..4cda60e 100644
--- a/app/views/comments/_comments.html.erb
+++ b/app/views/comments/_comments.html.erb
@@ -6,4 +6,7 @@
<% end %>
+<% if comments.first.root? %>
+<%= paginate comments, :remote=>true , :theme=>'twitter-bootstrap'%>
+<% end %>
<% end %>
diff --git a/app/views/comments/hide.js.erb b/app/views/comments/hide.js.erb
new file mode 100644
index 0000000..53ca8af
--- /dev/null
+++ b/app/views/comments/hide.js.erb
@@ -0,0 +1,3 @@
+$("#<%= Comment.wrapid_for(@commentable) %>").html("<%= escape_javascript "" %>")
+
+$("#<%= Comment.switchshowid_for(@commentable) %>").attr("href","<%= escape_javascript comments_path(commentable_type: @commentable.class.to_s, commentable_id: @commentable.id) %>")
diff --git a/app/views/comments/index.html.erb b/app/views/comments/index.html.erb
index bfa38fe..d97f147 100644
--- a/app/views/comments/index.html.erb
+++ b/app/views/comments/index.html.erb
@@ -1,4 +1,5 @@
Listing comments
+<%= render partial:"comments/comments", object: @comments %>
diff --git a/app/views/comments/index.js.erb b/app/views/comments/index.js.erb
new file mode 100644
index 0000000..13d7356
--- /dev/null
+++ b/app/views/comments/index.js.erb
@@ -0,0 +1,2 @@
+$("#<%= Comment.wrapid_for(@commentable) %>").html("<%= escape_javascript render partial:"comments/comments", object: @comments %>")
+$("#<%= Comment.switchshowid_for(@commentable) %>").attr("href","<%= escape_javascript hide_comments_path(commentable_type: @commentable.class.to_s, commentable_id: @commentable.id) %>")
diff --git a/app/views/rubriken/index.html.erb b/app/views/rubriken/index.html.erb
index 5b471dc..e07d4d7 100755
--- a/app/views/rubriken/index.html.erb
+++ b/app/views/rubriken/index.html.erb
@@ -21,7 +21,7 @@
<% end %>
-<%= will_paginate @neuigkeiten %>
+<%= paginate @neuigkeiten, theme:'twitter-bootstrap' %>
diff --git a/app/views/rubriken/show.html.erb b/app/views/rubriken/show.html.erb
index a16df8d..5a6e478 100755
--- a/app/views/rubriken/show.html.erb
+++ b/app/views/rubriken/show.html.erb
@@ -32,7 +32,9 @@
-<%= will_paginate @neuigkeiten %>
+<%= paginate @neuigkeiten, theme:'twitter-bootstrap' %>
+
+
diff --git a/app/views/rubriken/show.js.erb b/app/views/rubriken/show.js.erb
index 632afb1..bd61a44 100644
--- a/app/views/rubriken/show.js.erb
+++ b/app/views/rubriken/show.js.erb
@@ -1,6 +1,6 @@
$('#neuigkeiten').append('<%= j render @neuigkeiten, :wrap_in => :li %>');
<% if @neuigkeiten.next_page %>
- $('.pagination').replaceWith('<%= j will_paginate @neuigkeiten %>');
+ $('.pagination').replaceWith('<%= j paginate @neuigkeiten, theme: 'twitter-bootstrap' %>');
<% else %>
$(window).off('scroll');
$('.pagination').remove();
diff --git a/config/routes.rb b/config/routes.rb
index 54ea679..c29e992 100755
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -132,7 +132,11 @@ Fetsite::Application.routes.draw do
end
end
end
- resources :comments
+ resources :comments do
+ collection do
+ get 'hide'
+ end
+ end
resources :home, :only=>[:index] do
get :search, :on => :collection
collection do
@@ -160,6 +164,7 @@ Fetsite::Application.routes.draw do
get :attachments
get :fragen
get :verwalten
+ get :sanitize
end
resources :attachments
end