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/app/helpers/my_projects_work_packages_h...

60 lines
1.9 KiB

#-- copyright
# OpenProject My Project Page Plugin
#
# Copyright (C) 2011-2015 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.
#
# See doc/COPYRIGHT.md for more details.
#++
module MyProjectsWorkPackagesHelper
include WorkPackagesFilterHelper
def types
@types ||= project.rolled_up_types
end
def subproject_condition
@subproject_condition ||= project.project_condition(Setting.display_subprojects_work_packages?)
end
def open_work_packages_by_type
@open_work_packages_by_tracker ||= work_packages_by_type
.where(statuses: { is_closed: false })
.count
end
def total_work_packages_by_type
@total_work_packages_by_tracker ||= work_packages_by_type.count
end
def work_packages_by_type
WorkPackage
.visible
.group(:type)
.includes([:project, :status, :type])
.where(subproject_condition)
end
def assigned_work_packages
@assigned_issues ||= WorkPackage
.visible
.open
.where(assigned_to: User.current.id)
.limit(10)
.includes([:status, :project, :type, :priority])
.order("#{IssuePriority.table_name}.position DESC,
#{WorkPackage.table_name}.updated_on DESC")
end
end