OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
openproject/lib/open_project/xls_export/disabled/xls_views.rb

61 lines
2.1 KiB

class XlsViews
include Redmine::I18n
include ActionView::Helpers::NumberHelper
include ApplicationHelper
include ReportingHelper
attr_accessor :spreadsheet, :query, :cost_type, :unit_id, :options
# Overwrite a few mappings.
def field_representation_map(key, value)
case key.to_sym
when :units then value.to_i
when :spent_on then value
when :activity_id then mapped value, Enumeration, l(:caption_material_costs)
when :project_id then (l(:label_none) if value.to_i == 0) or Project.find(value.to_i).name
when :user_id, :assigned_to_id then (l(:label_none) if value.to_i == 0) or User.find(value.to_i).name
when :issue_id
return l(:label_none) if value.to_i == 0
issue = Issue.find(value.to_i)
"#{issue.project.name + " - " if @project}#{issue.tracker} ##{issue.id}: #{issue.subject}"
else super(key, value)
end
end
def show_result(row, unit_id = @unit_id, as_text = false)
return super(row, unit_id) if as_text
case unit_id
when 0 then row.real_costs ? row.real_costs : '-'
else row.units
end
end
def cost_type_unit_label(cost_type_id, cost_type_inst = nil, plural = true)
case cost_type_id
when -1 then l_hours(2).split[1..-1].join(" ") # get the plural for hours
when 0 then Setting.plugin_redmine_costs['costs_currency']
else cost_type_label(cost_type_id, cost_type_inst, plural)
end
end
def serialize_query_without_hidden(query)
serialized_query = query.serialize
serialized_query[:filters] = serialized_query[:filters].reject do |name, options|
options[:display] == false
end
serialized_query
end
def self.generate(opts)
self.new.tap do |obj|
obj.query = opts[:query]
obj.cost_type = opts[:cost_type]
obj.unit_id = opts[:unit_id]
obj.options = opts
end.generate
end
end
# Load subclasses
require_dependency 'xls_report/xls_views/cost_entry_table.xls'
require_dependency 'xls_report/xls_views/simple_cost_report_table.xls'
require_dependency 'xls_report/xls_views/cost_report_table.xls'