Mercurial > hg > soundsoftware-site
comparison app/controllers/.svn/text-base/news_controller.rb.svn-base @ 511:107d36338b70 live
Merge from branch "cannam"
author | Chris Cannam |
---|---|
date | Thu, 14 Jul 2011 10:43:07 +0100 |
parents | 0c939c159af4 |
children |
comparison
equal
deleted
inserted
replaced
451:a9f6345cb43d | 511:107d36338b70 |
---|---|
1 # redMine - project management software | 1 # Redmine - project management software |
2 # Copyright (C) 2006 Jean-Philippe Lang | 2 # Copyright (C) 2006-2011 Jean-Philippe Lang |
3 # | 3 # |
4 # This program is free software; you can redistribute it and/or | 4 # This program is free software; you can redistribute it and/or |
5 # modify it under the terms of the GNU General Public License | 5 # modify it under the terms of the GNU General Public License |
6 # as published by the Free Software Foundation; either version 2 | 6 # as published by the Free Software Foundation; either version 2 |
7 # of the License, or (at your option) any later version. | 7 # of the License, or (at your option) any later version. |
21 before_filter :find_model_object, :except => [:new, :create, :index] | 21 before_filter :find_model_object, :except => [:new, :create, :index] |
22 before_filter :find_project_from_association, :except => [:new, :create, :index] | 22 before_filter :find_project_from_association, :except => [:new, :create, :index] |
23 before_filter :find_project, :only => [:new, :create] | 23 before_filter :find_project, :only => [:new, :create] |
24 before_filter :authorize, :except => [:index] | 24 before_filter :authorize, :except => [:index] |
25 before_filter :find_optional_project, :only => :index | 25 before_filter :find_optional_project, :only => :index |
26 accept_key_auth :index | 26 accept_rss_auth :index |
27 accept_api_auth :index | |
28 | |
29 helper :watchers | |
27 | 30 |
28 def index | 31 def index |
29 @news_pages, @newss = paginate :news, | 32 case params[:format] |
30 :per_page => 10, | 33 when 'xml', 'json' |
31 :conditions => Project.allowed_to_condition(User.current, :view_news, :project => @project), | 34 @offset, @limit = api_offset_and_limit |
32 :include => [:author, :project], | 35 else |
33 :order => "#{News.table_name}.created_on DESC" | 36 @limit = 10 |
37 end | |
38 | |
39 scope = @project ? @project.news.visible : News.visible | |
40 | |
41 @news_count = scope.count | |
42 @news_pages = Paginator.new self, @news_count, @limit, params['page'] | |
43 @offset ||= @news_pages.current.offset | |
44 @newss = scope.all(:include => [:author, :project], | |
45 :order => "#{News.table_name}.created_on DESC", | |
46 :offset => @offset, | |
47 :limit => @limit) | |
48 | |
34 respond_to do |format| | 49 respond_to do |format| |
35 format.html { render :layout => false if request.xhr? } | 50 format.html { render :layout => false if request.xhr? } |
36 format.xml { render :xml => @newss.to_xml } | 51 format.api |
37 format.json { render :json => @newss.to_json } | |
38 format.atom { render_feed(@newss, :title => (@project ? @project.name : Setting.app_title) + ": #{l(:label_news_plural)}") } | 52 format.atom { render_feed(@newss, :title => (@project ? @project.name : Setting.app_title) + ": #{l(:label_news_plural)}") } |
39 end | 53 end |
40 end | 54 end |
41 | 55 |
42 def show | 56 def show |