parent
c44d159a42
commit
e6d1a69956
@ -1,59 +0,0 @@ |
||||
#-- copyright |
||||
# OpenProject Backlogs Plugin |
||||
# |
||||
# Copyright (C)2013-2014 the OpenProject Foundation (OPF) |
||||
# Copyright (C)2011 Stephan Eckardt, Tim Felgentreff, Marnen Laibow-Koser, Sandro Munda |
||||
# Copyright (C)2010-2011 friflaj |
||||
# Copyright (C)2010 Maxime Guilbot, Andrew Vit, Joakim Kolsjö, ibussieres, Daniel Passos, Jason Vasquez, jpic, Emiliano Heyns |
||||
# Copyright (C)2009-2010 Mark Maglana |
||||
# Copyright (C)2009 Joe Heck, Nate Lowrie |
||||
# |
||||
# This program is free software; you can redistribute it and/or modify it under |
||||
# the terms of the GNU General Public License version 3. |
||||
# |
||||
# OpenProject Backlogs is a derivative work based on ChiliProject Backlogs. |
||||
# The copyright follows: |
||||
# Copyright (C) 2010-2011 - Emiliano Heyns, Mark Maglana, friflaj |
||||
# Copyright (C) 2011 - Jens Ulferts, Gregor Schmidt - Finn GmbH - Berlin, Germany |
||||
# |
||||
# This program is free software; you can redistribute it and/or |
||||
# modify it under the terms of the GNU General Public License |
||||
# as published by the Free Software Foundation; either version 2 |
||||
# of the License, or (at your option) any later version. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program; if not, write to the Free Software |
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
# |
||||
# See doc/COPYRIGHT.rdoc for more details. |
||||
#++ |
||||
|
||||
require_dependency 'query' |
||||
|
||||
module OpenProject::Backlogs::Patches::QueryPatch |
||||
def self.included(base) |
||||
base.class_eval do |
||||
add_available_column(QueryColumn.new(:story_points, |
||||
sortable: "#{WorkPackage.table_name}.story_points", |
||||
summable: true)) |
||||
add_available_column(QueryColumn.new(:remaining_hours, |
||||
sortable: "#{WorkPackage.table_name}.remaining_hours", |
||||
summable: true)) |
||||
add_available_column( |
||||
QueryColumn.new( |
||||
:position, |
||||
default_order: 'asc', |
||||
# Sort by position only, always show work_packages without a position at the end |
||||
sortable: "CASE WHEN #{WorkPackage.table_name}.position IS NULL THEN 1 ELSE 0 END ASC, #{WorkPackage.table_name}.position" |
||||
) |
||||
) |
||||
end |
||||
end |
||||
end |
||||
|
||||
Query.send(:include, OpenProject::Backlogs::Patches::QueryPatch) |
@ -0,0 +1,48 @@ |
||||
#-- copyright |
||||
# OpenProject Costs Plugin |
||||
# |
||||
# Copyright (C) 2009 - 2014 the OpenProject Foundation (OPF) |
||||
# |
||||
# This program is free software; you can redistribute it and/or |
||||
# modify it under the terms of the GNU General Public License |
||||
# version 3. |
||||
# |
||||
# This program is distributed in the hope that it will be useful, |
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
# GNU General Public License for more details. |
||||
# |
||||
# You should have received a copy of the GNU General Public License |
||||
# along with this program; if not, write to the Free Software |
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
||||
#++ |
||||
|
||||
module OpenProject::Backlogs |
||||
class QueryBacklogsColumn < Queries::WorkPackages::Columns::WorkPackageColumn |
||||
class_attribute :backlogs_columns |
||||
|
||||
self.backlogs_columns = { |
||||
story_points: { |
||||
sortable: "#{WorkPackage.table_name}.story_points", |
||||
summable: true |
||||
}, |
||||
remaining_hours: { |
||||
sortable: "#{WorkPackage.table_name}.remaining_hours", |
||||
summable: true |
||||
}, |
||||
position: { |
||||
default_order: 'asc', |
||||
# Sort by position only, always show work_packages without a position at the end |
||||
sortable: "CASE WHEN #{WorkPackage.table_name}.position IS NULL THEN 1 ELSE 0 END ASC, #{WorkPackage.table_name}.position" |
||||
} |
||||
} |
||||
|
||||
def self.instances(context = nil) |
||||
return [] if context && !context.backlogs_enabled? |
||||
|
||||
backlogs_columns.map do |name, options| |
||||
new(name, options) |
||||
end |
||||
end |
||||
end |
||||
end |
Loading…
Reference in new issue