##// END OF EJS Templates
Merged r4034 form trunk....
Eric Davis -
r3994:d090e539f6a4
parent child
Show More
@@ -22,11 +22,11 class IssuesController < ApplicationController
22 before_filter :find_issue, :only => [:show, :edit, :update]
22 before_filter :find_issue, :only => [:show, :edit, :update]
23 before_filter :find_issues, :only => [:bulk_edit, :move, :perform_move, :destroy]
23 before_filter :find_issues, :only => [:bulk_edit, :move, :perform_move, :destroy]
24 before_filter :find_project, :only => [:new, :create]
24 before_filter :find_project, :only => [:new, :create]
25 before_filter :authorize, :except => [:index, :changes]
25 before_filter :authorize, :except => [:index]
26 before_filter :find_optional_project, :only => [:index, :changes]
26 before_filter :find_optional_project, :only => [:index]
27 before_filter :check_for_default_issue_status, :only => [:new, :create]
27 before_filter :check_for_default_issue_status, :only => [:new, :create]
28 before_filter :build_new_issue_from_params, :only => [:new, :create]
28 before_filter :build_new_issue_from_params, :only => [:new, :create]
29 accept_key_auth :index, :show, :changes
29 accept_key_auth :index, :show
30
30
31 rescue_from Query::StatementInvalid, :with => :query_statement_invalid
31 rescue_from Query::StatementInvalid, :with => :query_statement_invalid
32
32
@@ -95,21 +95,6 class IssuesController < ApplicationController
95 render_404
95 render_404
96 end
96 end
97
97
98 def changes
99 retrieve_query
100 sort_init 'id', 'desc'
101 sort_update(@query.sortable_columns)
102
103 if @query.valid?
104 @journals = @query.journals(:order => "#{Journal.table_name}.created_on DESC",
105 :limit => 25)
106 end
107 @title = (@project ? @project.name : Setting.app_title) + ": " + (@query.new_record? ? l(:label_changes_details) : @query.name)
108 render :layout => false, :content_type => 'application/atom+xml'
109 rescue ActiveRecord::RecordNotFound
110 render_404
111 end
112
113 def show
98 def show
114 @journals = @issue.journals.find(:all, :include => [:user, :details], :order => "#{Journal.table_name}.created_on ASC")
99 @journals = @issue.journals.find(:all, :include => [:user, :details], :order => "#{Journal.table_name}.created_on ASC")
115 @journals.each_with_index {|j,i| j.indice = i+1}
100 @journals.each_with_index {|j,i| j.indice = i+1}
@@ -124,7 +109,7 class IssuesController < ApplicationController
124 format.html { render :template => 'issues/show.rhtml' }
109 format.html { render :template => 'issues/show.rhtml' }
125 format.xml { render :layout => false }
110 format.xml { render :layout => false }
126 format.json { render :text => @issue.to_json, :layout => false }
111 format.json { render :text => @issue.to_json, :layout => false }
127 format.atom { render :action => 'changes', :layout => false, :content_type => 'application/atom+xml' }
112 format.atom { render :template => 'journals/index', :layout => false, :content_type => 'application/atom+xml' }
128 format.pdf { send_data(issue_to_pdf(@issue), :type => 'application/pdf', :filename => "#{@project.identifier}-#{@issue.id}.pdf") }
113 format.pdf { send_data(issue_to_pdf(@issue), :type => 'application/pdf', :filename => "#{@project.identifier}-#{@issue.id}.pdf") }
129 end
114 end
130 end
115 end
@@ -18,6 +18,29
18 class JournalsController < ApplicationController
18 class JournalsController < ApplicationController
19 before_filter :find_journal, :only => [:edit]
19 before_filter :find_journal, :only => [:edit]
20 before_filter :find_issue, :only => [:new]
20 before_filter :find_issue, :only => [:new]
21 before_filter :find_optional_project, :only => [:index]
22 accept_key_auth :index
23
24 helper :issues
25 helper :queries
26 include QueriesHelper
27 helper :sort
28 include SortHelper
29
30 def index
31 retrieve_query
32 sort_init 'id', 'desc'
33 sort_update(@query.sortable_columns)
34
35 if @query.valid?
36 @journals = @query.journals(:order => "#{Journal.table_name}.created_on DESC",
37 :limit => 25)
38 end
39 @title = (@project ? @project.name : Setting.app_title) + ": " + (@query.new_record? ? l(:label_changes_details) : @query.name)
40 render :layout => false, :content_type => 'application/atom+xml'
41 rescue ActiveRecord::RecordNotFound
42 render_404
43 end
21
44
22 def new
45 def new
23 journal = Journal.find(params[:journal_id]) if params[:journal_id]
46 journal = Journal.find(params[:journal_id]) if params[:journal_id]
@@ -78,7 +78,7
78
78
79 <% content_for :header_tags do %>
79 <% content_for :header_tags do %>
80 <%= auto_discovery_link_tag(:atom, {:query_id => @query, :format => 'atom', :page => nil, :key => User.current.rss_key}, :title => l(:label_issue_plural)) %>
80 <%= auto_discovery_link_tag(:atom, {:query_id => @query, :format => 'atom', :page => nil, :key => User.current.rss_key}, :title => l(:label_issue_plural)) %>
81 <%= auto_discovery_link_tag(:atom, {:action => 'changes', :query_id => @query, :format => 'atom', :page => nil, :key => User.current.rss_key}, :title => l(:label_changes_details)) %>
81 <%= auto_discovery_link_tag(:atom, {:controller => 'journals', :action => 'index', :query_id => @query, :format => 'atom', :page => nil, :key => User.current.rss_key}, :title => l(:label_changes_details)) %>
82 <% end %>
82 <% end %>
83
83
84 <%= context_menu issues_context_menu_path %>
84 <%= context_menu issues_context_menu_path %>
1 NO CONTENT: file renamed from app/views/issues/changes.rxml to app/views/journals/index.rxml
NO CONTENT: file renamed from app/views/issues/changes.rxml to app/views/journals/index.rxml
@@ -108,6 +108,7 ActionController::Routing::Routes.draw do |map|
108 # TODO: would look nicer as /issues/:id/preview
108 # TODO: would look nicer as /issues/:id/preview
109 map.preview_issue '/issues/preview/:id', :controller => 'previews', :action => 'issue'
109 map.preview_issue '/issues/preview/:id', :controller => 'previews', :action => 'issue'
110 map.issues_context_menu '/issues/context_menu', :controller => 'context_menus', :action => 'issues'
110 map.issues_context_menu '/issues/context_menu', :controller => 'context_menus', :action => 'issues'
111 map.issue_changes '/issues/changes', :controller => 'journals', :action => 'index'
111
112
112 map.with_options :controller => 'issues' do |issues_routes|
113 map.with_options :controller => 'issues' do |issues_routes|
113 issues_routes.with_options :conditions => {:method => :get} do |issues_views|
114 issues_routes.with_options :conditions => {:method => :get} do |issues_views|
@@ -231,13 +231,6 class IssuesControllerTest < ActionController::TestCase
231 assert_equal columns, session[:query][:column_names].map(&:to_s)
231 assert_equal columns, session[:query][:column_names].map(&:to_s)
232 end
232 end
233
233
234 def test_changes
235 get :changes, :project_id => 1
236 assert_response :success
237 assert_not_nil assigns(:journals)
238 assert_equal 'application/atom+xml', @response.content_type
239 end
240
241 def test_show_by_anonymous
234 def test_show_by_anonymous
242 get :show, :id => 1
235 get :show, :id => 1
243 assert_response :success
236 assert_response :success
@@ -307,7 +300,7 class IssuesControllerTest < ActionController::TestCase
307 def test_show_atom
300 def test_show_atom
308 get :show, :id => 2, :format => 'atom'
301 get :show, :id => 2, :format => 'atom'
309 assert_response :success
302 assert_response :success
310 assert_template 'changes.rxml'
303 assert_template 'journals/index.rxml'
311 # Inline image
304 # Inline image
312 assert_select 'content', :text => Regexp.new(Regexp.quote('http://test.host/attachments/download/10'))
305 assert_select 'content', :text => Regexp.new(Regexp.quote('http://test.host/attachments/download/10'))
313 end
306 end
@@ -31,6 +31,13 class JournalsControllerTest < ActionController::TestCase
31 User.current = nil
31 User.current = nil
32 end
32 end
33
33
34 def test_index
35 get :index, :project_id => 1
36 assert_response :success
37 assert_not_nil assigns(:journals)
38 assert_equal 'application/atom+xml', @response.content_type
39 end
40
34 def test_reply_to_issue
41 def test_reply_to_issue
35 @request.session[:user_id] = 2
42 @request.session[:user_id] = 2
36 get :new, :id => 1
43 get :new, :id => 1
@@ -106,6 +106,8 class RoutingTest < ActionController::IntegrationTest
106 should_route :post, "/issues/preview/123", :controller => 'previews', :action => 'issue', :id => '123'
106 should_route :post, "/issues/preview/123", :controller => 'previews', :action => 'issue', :id => '123'
107 should_route :get, "/issues/context_menu", :controller => 'context_menus', :action => 'issues'
107 should_route :get, "/issues/context_menu", :controller => 'context_menus', :action => 'issues'
108 should_route :post, "/issues/context_menu", :controller => 'context_menus', :action => 'issues'
108 should_route :post, "/issues/context_menu", :controller => 'context_menus', :action => 'issues'
109
110 should_route :get, "/issues/changes", :controller => 'journals', :action => 'index'
109 end
111 end
110
112
111 context "issue categories" do
113 context "issue categories" do
General Comments 0
You need to be logged in to leave comments. Login now