diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb
index 1a2f96d..d435fc7 100644
--- a/app/controllers/issues_controller.rb
+++ b/app/controllers/issues_controller.rb
@@ -120,7 +120,8 @@ class IssuesController < ApplicationController
format.html { render :template => 'issues/show.rhtml' }
format.xml { render :layout => false }
format.atom { render :action => 'changes', :layout => false, :content_type => 'application/atom+xml' }
- format.pdf { send_data(issue_to_pdf(@issue), :type => 'application/pdf', :filename => "#{@project.identifier}-#{@issue.id}.pdf") }
+ format.pdf { send_data(issue_to_pdf(@issue), :type => 'application/pdf', :filename => "#{@project.identifier}-#{@issue.id}.pdf",
+ :disposition => 'inline') }
end
end
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index b6ffba5..fd9193c 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -41,11 +41,13 @@ class ProjectsController < ApplicationController
include CustomFieldsHelper
helper :issues
helper IssuesHelper
+ include IssuesHelper
helper :queries
include QueriesHelper
helper :repositories
include RepositoriesHelper
include ProjectsHelper
+ include Redmine::Export::PDF
# Lists visible projects
def index
@@ -310,6 +312,14 @@ class ProjectsController < ApplicationController
end
end
@versions.reject! {|version| !project_ids.include?(version.project_id) && @issues_by_version[version].blank?}
+
+ respond_to do |format|
+ format.html { render :template => 'projects/roadmap.rhtml' }
+ format.pdf { send_data(versions_to_pdf(@versions, @issues_by_version),
+ :type => 'application/pdf',
+ :filename => "#{@project.identifier}-roadmap.pdf",
+ :disposition => 'inline') }
+ end
end
def activity
diff --git a/app/controllers/versions_controller.rb b/app/controllers/versions_controller.rb
index 05c9743..2b2e867 100644
--- a/app/controllers/versions_controller.rb
+++ b/app/controllers/versions_controller.rb
@@ -25,8 +25,16 @@ class VersionsController < ApplicationController
helper :custom_fields
helper :projects
+ helper :issues
+ include IssuesHelper
+ include Redmine::Export::PDF
def show
+ respond_to do |format|
+ format.html { render :template => 'versions/show.rhtml' }
+ format.pdf { send_data(version_to_pdf(@version), :type => 'application/pdf', :filename => "#{@project.identifier}-#{@version.id}.pdf",
+ :disposition => 'inline') }
+ end
end
def new
diff --git a/app/helpers/versions_helper.rb b/app/helpers/versions_helper.rb
index 0fcc640..ab98f38 100644
--- a/app/helpers/versions_helper.rb
+++ b/app/helpers/versions_helper.rb
@@ -16,6 +16,7 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
module VersionsHelper
+ include IssuesHelper
STATUS_BY_CRITERIAS = %w(category tracker priority author assigned_to)
diff --git a/app/models/issue.rb b/app/models/issue.rb
index 263cae1..4b5bd87 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -66,6 +66,8 @@ class Issue < ActiveRecord::Base
named_scope :with_limit, lambda { |limit| { :limit => limit} }
named_scope :on_active_project, :include => [:status, :project, :tracker],
:conditions => ["#{Project.table_name}.status=#{Project::STATUS_ACTIVE}"]
+ named_scope :for_roadmap, :include => [:status, :project, :tracker],
+ :order => "#{Tracker.table_name}.position, #{Issue.table_name}.id"
before_create :default_assign
before_save :reschedule_following_issues, :close_duplicates, :update_done_ratio_from_issue_status
diff --git a/app/views/projects/roadmap.rhtml b/app/views/projects/roadmap.rhtml
index 100282a..55d8623 100644
--- a/app/views/projects/roadmap.rhtml
+++ b/app/views/projects/roadmap.rhtml
@@ -25,6 +25,11 @@
<%= call_hook :view_projects_roadmap_version_bottom, :version => version %>
<% end %>
+
+<% other_formats_links do |f| %>
+ <%= f.link_to 'PDF' %>
+<% end %>
+
<% end %>
<% content_for :sidebar do %>
diff --git a/app/views/versions/show.rhtml b/app/views/versions/show.rhtml
index 18bc6bc..fbfa27f 100644
--- a/app/views/versions/show.rhtml
+++ b/app/views/versions/show.rhtml
@@ -32,9 +32,7 @@
<%= render :partial => 'versions/overview', :locals => {:version => @version} %>
<%= render(:partial => "wiki/content", :locals => {:content => @version.wiki_page.content}) if @version.wiki_page %>
-<% issues = @version.fixed_issues.find(:all,
- :include => [:status, :tracker, :priority],
- :order => "#{Tracker.table_name}.position, #{Issue.table_name}.id") %>
+<% issues = @version.fixed_issues.for_roadmap %>
<% if issues.size > 0 %>