File: app/controllers/gantts_controller.rb

Overview
Module Structure
Class Hierarchy
Code

Overview

Module Structure

  module: <Toplevel Module>
  class: GanttsController#18
includes
  QueriesHelper   
  SortHelper   
  PDF ( Redmine::Export )
inherits from
  ApplicationController   
has properties
method: show #33

Class Hierarchy

Code

   1  # Redmine - project management software
   2  # Copyright (C) 2006-2011  Jean-Philippe Lang
   3  #
   4  # This program is free software; you can redistribute it and/or
   5  # modify it under the terms of the GNU General Public License
   6  # as published by the Free Software Foundation; either version 2
   7  # of the License, or (at your option) any later version.
   8  #
   9  # This program is distributed in the hope that it will be useful,
  10  # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12  # GNU General Public License for more details.
  13  #
  14  # You should have received a copy of the GNU General Public License
  15  # along with this program; if not, write to the Free Software
  16  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  17 
  18  class GanttsController < ApplicationController
  19    menu_item :gantt
  20    before_filter :find_optional_project
  21 
  22    rescue_from Query::StatementInvalid, :with => :query_statement_invalid
  23 
  24    helper :gantt
  25    helper :issues
  26    helper :projects
  27    helper :queries
  28    include QueriesHelper
  29    helper :sort
  30    include SortHelper
  31    include Redmine::Export::PDF
  32 
  33    def show
  34      @gantt = Redmine::Helpers::Gantt.new(params)
  35      @gantt.project = @project
  36      retrieve_query
  37      @query.group_by = nil
  38      @gantt.query = @query if @query.valid?
  39 
  40      basename = (@project ? "#{@project.identifier}-" : '') + 'gantt'
  41 
  42      respond_to do |format|
  43        format.html { render :action => "show", :layout => !request.xhr? }
  44        format.png  { send_data(@gantt.to_image, :disposition => 'inline', :type => 'image/png', :filename => "#{basename}.png") } if @gantt.respond_to?('to_image')
  45        format.pdf  { send_data(@gantt.to_pdf, :type => 'application/pdf', :filename => "#{basename}.pdf") }
  46      end
  47    end
  48  end