diff app/controllers/news_controller.rb @ 119:8661b858af72

* Update to Redmine trunk rev 4705
author Chris Cannam
date Thu, 13 Jan 2011 14:12:06 +0000
parents 94944d00e43c
children cbce1fd3b1b7
line wrap: on
line diff
--- a/app/controllers/news_controller.rb	Fri Nov 19 14:05:24 2010 +0000
+++ b/app/controllers/news_controller.rb	Thu Jan 13 14:12:06 2011 +0000
@@ -26,15 +26,26 @@
   accept_key_auth :index
   
   def index
-    @news_pages, @newss = paginate :news,
-                                   :per_page => 10,
-                                   :conditions => Project.allowed_to_condition(User.current, :view_news, :project => @project),
-                                   :include => [:author, :project],
-                                   :order => "#{News.table_name}.created_on DESC"    
+    case params[:format]
+    when 'xml', 'json'
+      @offset, @limit = api_offset_and_limit
+    else
+      @limit =  10
+    end
+    
+    scope = @project ? @project.news.visible : News.visible
+    
+    @news_count = scope.count
+    @news_pages = Paginator.new self, @news_count, @limit, params['page']
+    @offset ||= @news_pages.current.offset
+    @newss = scope.all(:include => [:author, :project],
+                                       :order => "#{News.table_name}.created_on DESC",
+                                       :offset => @offset,
+                                       :limit => @limit)
+    
     respond_to do |format|
       format.html { render :layout => false if request.xhr? }
-      format.xml { render :xml => @newss.to_xml }
-      format.json { render :json => @newss.to_json }
+      format.api
       format.atom { render_feed(@newss, :title => (@project ? @project.name : Setting.app_title) + ": #{l(:label_news_plural)}") }
     end
   end