From 943cb2a8fa20e2ec1dc5d68c8716fc1dd4bd3d77 Mon Sep 17 00:00:00 2001
From: hufangzhou <746775970@qq.com>
Date: Tue, 25 Aug 2020 16:37:52 +0800
Subject: [PATCH] * Add scrum overview block.
---
module/block/control.php | 7 ++-
module/block/view/scrumoverallblock.html.php | 60 ++++++++++++++++++++
module/program/model.php | 21 ++++++-
3 files changed, 84 insertions(+), 4 deletions(-)
diff --git a/module/block/control.php b/module/block/control.php
index 16cd14f38d..342e16c469 100644
--- a/module/block/control.php
+++ b/module/block/control.php
@@ -1585,7 +1585,11 @@ class block extends control
*/
public function printScrumoverallBlock()
{
- $this->view->program = $this->loadModel('project')->getByID($this->session->program);
+ $programID = $this->session->program;
+ $totalData = $this->loadModel('program')->getUserPrograms('all','id_desc',15,$programID);
+
+ $this->view->totalData = $totalData;
+ $this->view->programID = $programID;
}
/**
@@ -1688,7 +1692,6 @@ ksort($products);
*/
public function printScrumdynamicBlock()
{
-
/* Load pager. */
$this->app->loadClass('pager', $static = true);
$pager = new pager(0, 30, 1);
diff --git a/module/block/view/scrumoverallblock.html.php b/module/block/view/scrumoverallblock.html.php
index e69de29bb2..8520ddf326 100644
--- a/module/block/view/scrumoverallblock.html.php
+++ b/module/block/view/scrumoverallblock.html.php
@@ -0,0 +1,60 @@
+
+ * @package block
+ * @version $Id$
+ * @link http://www.zentao.net
+ */
+?>
+
+
" . $lang->project->create, '', "class='btn btn-primary'")?>
+
+
+
+
+
+ |
+ block->totalStory;?> |
+ block->totalBug;?> |
+
+
+
+
+ |
+ |
+ |
+ allStories;?> |
+ allBugs;?> |
+
+
+ | teamCount;?> |
+ consumed;?> |
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+ estimate;?> |
+ |
+ '.$totalData[$programID]->doneStories.' '.$totalData[$programID]->leftStories;?> |
+ '.$totalData[$programID]->doneBugs.' '.$totalData[$programID]->leftBugs;?> |
+
+
+
+
+
diff --git a/module/program/model.php b/module/program/model.php
index 77b32ce669..3c9f3624a4 100644
--- a/module/program/model.php
+++ b/module/program/model.php
@@ -69,10 +69,11 @@ class programModel extends model
* @param varchar $status
* @param varchar $orderBy
* @param int $limit
+ * @param int $programID
* @access public
* @return void
*/
- public function getUserPrograms($status = 'all', $orderBy = 'id_desc', $limit = 15)
+ public function getUserPrograms($status = 'all', $orderBy = 'id_desc', $limit = 15, $programID = 0)
{
$programs = $this->dao->select('*')->from(TABLE_PROJECT)
->where('iscat')->eq(0)
@@ -81,6 +82,7 @@ class programModel extends model
->andWhere('deleted')->eq(0)
->beginIF(!$this->app->user->admin)->andWhere('id')->in($this->app->user->view->programs)->fi()
->beginIF($status != 'all')->andWhere('status')->eq($status)->fi()
+ ->beginIF($programID)->andWhere('id')->eq($programID)->fi()
->orderBy($orderBy)
->limit($limit)
->fetchAll('id');
@@ -136,8 +138,21 @@ class programModel extends model
->groupBy('program')
->fetchAll('program');
+ $allBugs = $this->dao->select('program, count(*) as allBugs')->from(TABLE_BUG)
+ ->where('program')->in($programIdList)
+ ->andWhere('deleted')->eq(0)
+ ->groupBy('program')
+ ->fetchAll('program');
+
+ $doneBugs = $this->dao->select('program, count(*) as doneBugs')->from(TABLE_BUG)
+ ->where('program')->in($programIdList)
+ ->andWhere('deleted')->eq(0)
+ ->andWhere('status')->eq('resolved')
+ ->groupBy('program')
+ ->fetchAll('program');
+
foreach($programs as $programID => $program)
- {
+ {
$program->teamCount = isset($teams[$programID]) ? $teams[$programID]->count : 0;
$program->consumed = isset($hours[$programID]) ? $hours[$programID]->consumed : 0;
$program->estimate = isset($hours[$programID]) ? $hours[$programID]->estimate : 0;
@@ -146,6 +161,8 @@ class programModel extends model
$program->doneStories = isset($doneStories[$programID]) ? $doneStories[$programID]->doneStories : 0;
$program->leftStories = isset($leftStories[$programID]) ? $leftStories[$programID]->leftStories : 0;
$program->leftBugs = isset($leftBugs[$programID]) ? $leftBugs[$programID]->leftBugs : 0;
+ $program->allBugs = isset($allBugs[$programID]) ? $allBugs[$programID]->allBugs : 0;
+ $program->doneBugs = isset($doneBugs[$programID]) ? $doneBugs[$programID]->doneBugs : 0;
}
return $programs;