From c8817eda62a12a6171708f3a738580d5eb75ce77 Mon Sep 17 00:00:00 2001
From: Yagami <976204163@qq.com>
Date: Tue, 1 Dec 2020 10:59:30 +0800
Subject: [PATCH] * Merge code.
---
module/block/control.php | 28 ++-
module/block/lang/en.php | 174 ++++++++--------
module/block/lang/zh-cn.php | 186 ++++++++---------
module/block/model.php | 15 +-
module/block/view/executionblock.html.php | 73 -------
module/block/view/programblock.html.php | 49 +++++
....html.php => programdynamicblock.html.php} | 0
...tml.php => programstatisticblock.html.php} | 193 +++++++++++-------
module/block/view/projectblock.html.php | 92 ++++++---
...html.php => projectoverviewblock.html.php} | 0
.../block/view/projectstatisticblock.html.php | 193 +++++++-----------
...k.html.php => recentprogramblock.html.php} | 2 +-
12 files changed, 501 insertions(+), 504 deletions(-)
delete mode 100644 module/block/view/executionblock.html.php
create mode 100644 module/block/view/programblock.html.php
rename module/block/view/{projectdynamicblock.html.php => programdynamicblock.html.php} (100%)
rename module/block/view/{executionstatisticblock.html.php => programstatisticblock.html.php} (52%)
rename module/block/view/{executionoverviewblock.html.php => projectoverviewblock.html.php} (100%)
rename module/block/view/{recentprojectblock.html.php => recentprogramblock.html.php} (99%)
diff --git a/module/block/control.php b/module/block/control.php
index f1b5fccdd9..511c627e09 100644
--- a/module/block/control.php
+++ b/module/block/control.php
@@ -39,7 +39,6 @@ class block extends control
$title = $id == 0 ? $this->lang->block->createBlock : $this->lang->block->editBlock;
- $module = zget($this->config->block->moduleIndex, $module, $module);
if($module == 'my')
{
$modules = $this->lang->block->moduleList;
@@ -66,7 +65,7 @@ class block extends control
elseif(isset($this->lang->block->moduleList[$module]))
{
$this->get->set('mode', 'getblocklist');
- if($module == 'project') $this->get->set('dashboard', 'project');
+ if($module == 'program') $this->get->set('dashboard', 'program');
$this->view->blocks = $this->fetch('block', 'main', "module=$module&id=$id");
$this->view->module = $module;
}
@@ -215,8 +214,8 @@ class block extends control
$commonField = 'common';
if($module == 'program')
{
- $project = $this->loadModel('program')->getPRJByID($this->session->PRJ);
- $commonField = $project->model . 'common';
+ $program = $this->loadModel('project')->getByID($this->session->PRJ);
+ $commonField = $program->model . 'common';
}
/* Replace the block Title saved in the database. */
@@ -430,17 +429,17 @@ class block extends control
$dashboard = $this->get->dashboard;
/* Create a project block. */
- if($dashboard == 'project')
+ if($dashboard == 'program')
{
$project = $this->loadModel('program')->getPRJByID($this->session->PRJ);
$model = $project->model;
}
/* Edit a project block. */
- if($id and $block->module == 'project')
+ if($id and $block->module == 'program')
{
$model = $block->type;
- $dashboard = 'project';
+ $dashboard = 'program';
}
$blocks = $this->block->getAvailableBlocks($module, $dashboard, $model);
@@ -758,7 +757,7 @@ class block extends control
* @access public
* @return void
*/
- public function printProjectBlock()
+ public function printProgramBlock()
{
$this->app->loadLang('project');
$this->app->loadLang('task');
@@ -817,7 +816,7 @@ class block extends control
* @access public
* @return void
*/
- public function printProjectStatisticBlock()
+ public function printProgramStatisticBlock()
{
if(!empty($this->params->type) and preg_match('/[^a-zA-Z0-9_]/', $this->params->type)) die();
@@ -1017,7 +1016,7 @@ class block extends control
* @access public
* @return void
*/
- public function printExecutionStatisticBlock()
+ public function printProjectStatisticBlock()
{
if(!empty($this->params->type) and preg_match('/[^a-zA-Z0-9_]/', $this->params->type)) die();
@@ -1373,7 +1372,7 @@ class block extends control
* @access public
* @return void
*/
- public function printProjectDynamicBlock()
+ public function printProgramDynamicBlock()
{
$projectID = $this->session->PRJ;
@@ -1529,7 +1528,6 @@ class block extends control
*/
public function printOverviewBlock($module = 'product')
{
- if($module == 'project') $module = 'execution';
$func = 'print' . ucfirst($module) . 'OverviewBlock';
$this->view->module = $module;
$this->$func();
@@ -1569,7 +1567,7 @@ class block extends control
* @access public
* @return void
*/
- public function printExecutionOverviewBlock()
+ public function printProjectOverviewBlock()
{
$projectID = $this->view->block->module == 'my' ? 0 : (int)$this->session->PRJ;
$executions = $this->loadModel('project')->getExecutionList($projectID);
@@ -1633,7 +1631,7 @@ class block extends control
* @access public
* @return void
*/
- public function printExecutionBlock()
+ public function printProjectBlock()
{
$this->app->loadClass('pager', $static = true);
if(!empty($this->params->type) and preg_match('/[^a-zA-Z0-9_]/', $this->params->type)) die();
@@ -1773,7 +1771,7 @@ class block extends control
* @access public
* @return void
*/
- public function printRecentProjectBlock()
+ public function printRecentProgramBlock()
{
/* load pager. */
$this->app->loadClass('pager', $static = true);
diff --git a/module/block/lang/en.php b/module/block/lang/en.php
index a4cb4482c6..1e1f7d8d2e 100644
--- a/module/block/lang/en.php
+++ b/module/block/lang/en.php
@@ -98,71 +98,71 @@ $lang->block->spent = 'Has Been Spent';
$lang->block->budget = 'Budget';
$lang->block->left = 'Residuals';
-$lang->block->default['waterfall']['project']['1']['title'] = 'Project Weekly';
-$lang->block->default['waterfall']['project']['1']['block'] = 'waterfallreport';
-$lang->block->default['waterfall']['project']['1']['source'] = 'project';
-$lang->block->default['waterfall']['project']['1']['grid'] = 8;
+$lang->block->default['waterfall']['program']['1']['title'] = 'Project Weekly';
+$lang->block->default['waterfall']['program']['1']['block'] = 'waterfallreport';
+$lang->block->default['waterfall']['program']['1']['source'] = 'program';
+$lang->block->default['waterfall']['program']['1']['grid'] = 8;
-$lang->block->default['waterfall']['project']['2']['title'] = 'Estimate';
-$lang->block->default['waterfall']['project']['2']['block'] = 'waterfallestimate';
-$lang->block->default['waterfall']['project']['2']['source'] = 'project';
-$lang->block->default['waterfall']['project']['2']['grid'] = 4;
+$lang->block->default['waterfall']['program']['2']['title'] = 'Estimate';
+$lang->block->default['waterfall']['program']['2']['block'] = 'waterfallestimate';
+$lang->block->default['waterfall']['program']['2']['source'] = 'program';
+$lang->block->default['waterfall']['program']['2']['grid'] = 4;
-$lang->block->default['waterfall']['project']['3']['title'] = 'Plan Gantt Chart';
-$lang->block->default['waterfall']['project']['3']['block'] = 'waterfallgantt';
-$lang->block->default['waterfall']['project']['3']['source'] = 'project';
-$lang->block->default['waterfall']['project']['3']['grid'] = 8;
+$lang->block->default['waterfall']['program']['3']['title'] = 'Plan Gantt Chart';
+$lang->block->default['waterfall']['program']['3']['block'] = 'waterfallgantt';
+$lang->block->default['waterfall']['program']['3']['source'] = 'program';
+$lang->block->default['waterfall']['program']['3']['grid'] = 8;
-$lang->block->default['waterfall']['project']['4']['title'] = 'Progress Chart';
-$lang->block->default['waterfall']['project']['4']['block'] = 'waterfallprogress';
-$lang->block->default['waterfall']['project']['4']['grid'] = 4;
+$lang->block->default['waterfall']['program']['4']['title'] = 'Progress Chart';
+$lang->block->default['waterfall']['program']['4']['block'] = 'waterfallprogress';
+$lang->block->default['waterfall']['program']['4']['grid'] = 4;
-$lang->block->default['waterfall']['project']['5']['title'] = 'Program Issue';
-$lang->block->default['waterfall']['project']['5']['block'] = 'waterfallissue';
-$lang->block->default['waterfall']['project']['5']['source'] = 'project';
-$lang->block->default['waterfall']['project']['5']['grid'] = 8;
+$lang->block->default['waterfall']['program']['5']['title'] = 'Program Issue';
+$lang->block->default['waterfall']['program']['5']['block'] = 'waterfallissue';
+$lang->block->default['waterfall']['program']['5']['source'] = 'program';
+$lang->block->default['waterfall']['program']['5']['grid'] = 8;
-$lang->block->default['waterfall']['project']['5']['params']['type'] = 'all';
-$lang->block->default['waterfall']['project']['5']['params']['count'] = '15';
-$lang->block->default['waterfall']['project']['5']['params']['orderBy'] = 'id_desc';
+$lang->block->default['waterfall']['program']['5']['params']['type'] = 'all';
+$lang->block->default['waterfall']['program']['5']['params']['count'] = '15';
+$lang->block->default['waterfall']['program']['5']['params']['orderBy'] = 'id_desc';
-$lang->block->default['waterfall']['project']['6']['title'] = 'Dynamic';
-$lang->block->default['waterfall']['project']['6']['block'] = 'projectdynamic';
-$lang->block->default['waterfall']['project']['6']['grid'] = 4;
-$lang->block->default['waterfall']['project']['6']['source'] = 'project';
+$lang->block->default['waterfall']['program']['6']['title'] = 'Dynamic';
+$lang->block->default['waterfall']['program']['6']['block'] = 'programdynamic';
+$lang->block->default['waterfall']['program']['6']['grid'] = 4;
+$lang->block->default['waterfall']['program']['6']['source'] = 'program';
-$lang->block->default['waterfall']['project']['7']['title'] = 'Project Risk';
-$lang->block->default['waterfall']['project']['7']['block'] = 'waterfallrisk';
-$lang->block->default['waterfall']['project']['7']['source'] = 'project';
-$lang->block->default['waterfall']['project']['7']['grid'] = 8;
+$lang->block->default['waterfall']['program']['7']['title'] = 'Project Risk';
+$lang->block->default['waterfall']['program']['7']['block'] = 'waterfallrisk';
+$lang->block->default['waterfall']['program']['7']['source'] = 'program';
+$lang->block->default['waterfall']['program']['7']['grid'] = 8;
-$lang->block->default['waterfall']['project']['7']['params']['type'] = 'all';
-$lang->block->default['waterfall']['project']['7']['params']['count'] = '15';
-$lang->block->default['waterfall']['project']['7']['params']['orderBy'] = 'id_desc';
+$lang->block->default['waterfall']['program']['7']['params']['type'] = 'all';
+$lang->block->default['waterfall']['program']['7']['params']['count'] = '15';
+$lang->block->default['waterfall']['program']['7']['params']['orderBy'] = 'id_desc';
-$lang->block->default['scrum']['project']['1']['title'] = 'Project Overview';
-$lang->block->default['scrum']['project']['1']['block'] = 'scrumoverview';
-$lang->block->default['scrum']['project']['1']['grid'] = 8;
+$lang->block->default['scrum']['program']['1']['title'] = 'Project Overview';
+$lang->block->default['scrum']['program']['1']['block'] = 'scrumoverview';
+$lang->block->default['scrum']['program']['1']['grid'] = 8;
-$lang->block->default['scrum']['project']['2']['title'] = $lang->projectCommon . ' List';
-$lang->block->default['scrum']['project']['2']['block'] = 'scrumlist';
-$lang->block->default['scrum']['project']['2']['grid'] = 8;
+$lang->block->default['scrum']['program']['2']['title'] = $lang->projectCommon . ' List';
+$lang->block->default['scrum']['program']['2']['block'] = 'scrumlist';
+$lang->block->default['scrum']['program']['2']['grid'] = 8;
-$lang->block->default['scrum']['project']['3']['title'] = 'Test Version';
-$lang->block->default['scrum']['project']['3']['block'] = 'scrumtest';
-$lang->block->default['scrum']['project']['3']['grid'] = 8;
+$lang->block->default['scrum']['program']['3']['title'] = 'Test Version';
+$lang->block->default['scrum']['program']['3']['block'] = 'scrumtest';
+$lang->block->default['scrum']['program']['3']['grid'] = 8;
-$lang->block->default['scrum']['project']['3']['params']['type'] = 'wait';
-$lang->block->default['scrum']['project']['3']['params']['count'] = '15';
-$lang->block->default['scrum']['project']['3']['params']['orderBy'] = 'id_desc';
+$lang->block->default['scrum']['program']['3']['params']['type'] = 'wait';
+$lang->block->default['scrum']['program']['3']['params']['count'] = '15';
+$lang->block->default['scrum']['program']['3']['params']['orderBy'] = 'id_desc';
-$lang->block->default['scrum']['project']['4']['title'] = $lang->projectCommon . ' Overview';
-$lang->block->default['scrum']['project']['4']['block'] = 'sprint';
-$lang->block->default['scrum']['project']['4']['grid'] = 4;
+$lang->block->default['scrum']['program']['4']['title'] = $lang->projectCommon . ' Overview';
+$lang->block->default['scrum']['program']['4']['block'] = 'sprint';
+$lang->block->default['scrum']['program']['4']['grid'] = 4;
-$lang->block->default['scrum']['project']['5']['title'] = 'Dynamic';
-$lang->block->default['scrum']['project']['5']['block'] = 'projectdynamic';
-$lang->block->default['scrum']['project']['5']['grid'] = 4;
+$lang->block->default['scrum']['program']['5']['title'] = 'Dynamic';
+$lang->block->default['scrum']['program']['5']['block'] = 'programdynamic';
+$lang->block->default['scrum']['program']['5']['grid'] = 4;
$lang->block->default['product']['1']['title'] = $lang->productCommon . ' Report';
$lang->block->default['product']['1']['block'] = 'statistic';
@@ -268,9 +268,9 @@ $lang->block->default['full']['my']['3']['grid'] = 4;
$lang->block->default['full']['my']['3']['source'] = 'todo';
$lang->block->default['full']['my']['3']['params']['count'] = '20';
-$lang->block->default['full']['my']['4']['title'] = $lang->projectCommon . ' Statistic';
+$lang->block->default['full']['my']['4']['title'] = 'Project Statistic';
$lang->block->default['full']['my']['4']['block'] = 'statistic';
-$lang->block->default['full']['my']['4']['source'] = 'project';
+$lang->block->default['full']['my']['4']['source'] = 'program';
$lang->block->default['full']['my']['4']['grid'] = 8;
$lang->block->default['full']['my']['5']['title'] = 'Personal Contribution';
@@ -278,9 +278,9 @@ $lang->block->default['full']['my']['5']['block'] = 'contribute';
$lang->block->default['full']['my']['5']['source'] = '';
$lang->block->default['full']['my']['5']['grid'] = 4;
-$lang->block->default['full']['my']['6']['title'] = 'Recent ' . $lang->projectCommon;
-$lang->block->default['full']['my']['6']['block'] = 'recentproject';
-$lang->block->default['full']['my']['6']['source'] = 'project';
+$lang->block->default['full']['my']['6']['title'] = 'Recent Projects';
+$lang->block->default['full']['my']['6']['block'] = 'recentprogram';
+$lang->block->default['full']['my']['6']['source'] = 'program';
$lang->block->default['full']['my']['6']['grid'] = 8;
$lang->block->default['full']['my']['7']['title'] = 'My Tasks';
@@ -293,12 +293,12 @@ $lang->block->default['full']['my']['7']['params']['count'] = '15';
$lang->block->default['full']['my']['7']['params']['type'] = 'assignedTo';
$lang->block->default['full']['my']['8']['title'] = 'Human Input';
-$lang->block->default['full']['my']['8']['block'] = 'projectteam';
+$lang->block->default['full']['my']['8']['block'] = 'programteam';
$lang->block->default['full']['my']['8']['grid'] = 8;
$lang->block->default['full']['my']['9']['title'] = $lang->projectCommon . ' List';
-$lang->block->default['full']['my']['9']['block'] = 'project';
-$lang->block->default['full']['my']['9']['source'] = 'project';
+$lang->block->default['full']['my']['9']['block'] = 'program';
+$lang->block->default['full']['my']['9']['source'] = 'program';
$lang->block->default['full']['my']['9']['grid'] = 8;
$lang->block->default['full']['my']['9']['params']['orderBy'] = 'id_desc';
@@ -324,18 +324,18 @@ $lang->block->availableBlocks->testtask = 'Requests';
$lang->block->availableBlocks->risk = 'My Risks';
$lang->block->availableBlocks->issue = 'My Issues';
-$lang->block->moduleList['project'] = 'Project';
-$lang->block->moduleList['product'] = $lang->productCommon;
-$lang->block->moduleList['execution'] = 'Execution';
-$lang->block->moduleList['qa'] = 'Test';
-$lang->block->moduleList['todo'] = 'Todo';
+$lang->block->moduleList['program'] = 'Project';
+$lang->block->moduleList['product'] = $lang->productCommon;
+$lang->block->moduleList['project'] = 'Execution';
+$lang->block->moduleList['qa'] = 'Test';
+$lang->block->moduleList['todo'] = 'Todo';
-$lang->block->modules['project'] = new stdclass();
-$lang->block->modules['project']->availableBlocks = new stdclass();
-$lang->block->modules['project']->availableBlocks->project = 'Project List';
-$lang->block->modules['project']->availableBlocks->recentproject = 'Recent Project';
-$lang->block->modules['project']->availableBlocks->statistic = 'Project Statistic';
-$lang->block->modules['project']->availableBlocks->projectteam = 'Project Human Input';
+$lang->block->modules['program'] = new stdclass();
+$lang->block->modules['program']->availableBlocks = new stdclass();
+$lang->block->modules['program']->availableBlocks->project = 'Project List';
+$lang->block->modules['program']->availableBlocks->recentproject = 'Recent Project';
+$lang->block->modules['program']->availableBlocks->statistic = 'Project Statistic';
+$lang->block->modules['program']->availableBlocks->projectteam = 'Project Human Input';
$lang->block->modules['scrum']['index'] = new stdclass();
$lang->block->modules['scrum']['index']->availableBlocks = new stdclass();
@@ -472,10 +472,10 @@ $lang->block->typeList->project['doing'] = 'Ongoing';
$lang->block->typeList->project['all'] = 'All';
$lang->block->typeList->project['involved'] = 'Involved';
-$lang->block->typeList->execution['undone'] = 'Unfinished';
-$lang->block->typeList->execution['doing'] = 'Ongoing';
-$lang->block->typeList->execution['all'] = 'All';
-$lang->block->typeList->execution['involved'] = 'Involved';
+$lang->block->typeList->program['undone'] = 'Unfinished';
+$lang->block->typeList->program['doing'] = 'Ongoing';
+$lang->block->typeList->program['all'] = 'All';
+$lang->block->typeList->program['involved'] = 'Involved';
$lang->block->typeList->scrum['undone'] = 'Unfinished';
$lang->block->typeList->scrum['doing'] = 'Ongoing中';
@@ -488,19 +488,19 @@ $lang->block->typeList->testtask['blocked'] = 'Blocked';
$lang->block->typeList->testtask['done'] = 'Done';
$lang->block->typeList->testtask['all'] = 'All';
-$lang->block->modules['project']->moreLinkList = new stdclass();
-$lang->block->modules['project']->moreLinkList->recentproject = 'project|prjbrowse|';
-$lang->block->modules['project']->moreLinkList->statistic = 'project|prjbrowse|';
-$lang->block->modules['project']->moreLinkList->project = 'project|prjbrowse|';
-$lang->block->modules['project']->moreLinkList->cmmireport = 'weekly|index|';
-$lang->block->modules['project']->moreLinkList->cmmiestimate = 'workestimation|index|';
-$lang->block->modules['project']->moreLinkList->cmmiissue = 'issue|browse|';
-$lang->block->modules['project']->moreLinkList->cmmirisk = 'risk|browse|';
-$lang->block->modules['project']->moreLinkList->scrumlist = 'project|all|';
-$lang->block->modules['project']->moreLinkList->scrumtest = 'testtask|browse|';
-$lang->block->modules['project']->moreLinkList->scrumproduct = 'product|all|';
-$lang->block->modules['project']->moreLinkList->sprint = 'project|all|';
-$lang->block->modules['project']->moreLinkList->projectdynamic = 'company|dynamic|';
+$lang->block->modules['program']->moreLinkList = new stdclass();
+$lang->block->modules['program']->moreLinkList->recentprogram = 'program|prjbrowse|';
+$lang->block->modules['program']->moreLinkList->statistic = 'program|prjbrowse|';
+$lang->block->modules['program']->moreLinkList->program = 'program|prjbrowse|';
+$lang->block->modules['program']->moreLinkList->cmmireport = 'weekly|index|';
+$lang->block->modules['program']->moreLinkList->cmmiestimate = 'workestimation|index|';
+$lang->block->modules['program']->moreLinkList->cmmiissue = 'issue|browse|';
+$lang->block->modules['program']->moreLinkList->cmmirisk = 'risk|browse|';
+$lang->block->modules['program']->moreLinkList->scrumlist = 'program|all|';
+$lang->block->modules['program']->moreLinkList->scrumtest = 'testtask|browse|';
+$lang->block->modules['program']->moreLinkList->scrumproduct = 'product|all|';
+$lang->block->modules['program']->moreLinkList->sprint = 'program|all|';
+$lang->block->modules['program']->moreLinkList->projectdynamic = 'company|dynamic|';
$lang->block->modules['product']->moreLinkList = new stdclass();
$lang->block->modules['product']->moreLinkList->list = 'product|all|';
diff --git a/module/block/lang/zh-cn.php b/module/block/lang/zh-cn.php
index dd4e4bfa0e..22d5006027 100644
--- a/module/block/lang/zh-cn.php
+++ b/module/block/lang/zh-cn.php
@@ -98,71 +98,71 @@ $lang->block->spent = '已花费';
$lang->block->budget = '预算';
$lang->block->left = '剩余';
-$lang->block->default['waterfall']['project']['1']['title'] = '项目周报';
-$lang->block->default['waterfall']['project']['1']['block'] = 'waterfallreport';
-$lang->block->default['waterfall']['project']['1']['source'] = 'project';
-$lang->block->default['waterfall']['project']['1']['grid'] = 8;
+$lang->block->default['waterfall']['program']['1']['title'] = '项目周报';
+$lang->block->default['waterfall']['program']['1']['block'] = 'waterfallreport';
+$lang->block->default['waterfall']['program']['1']['source'] = 'program';
+$lang->block->default['waterfall']['program']['1']['grid'] = 8;
-$lang->block->default['waterfall']['project']['2']['title'] = '估算';
-$lang->block->default['waterfall']['project']['2']['block'] = 'waterfallestimate';
-$lang->block->default['waterfall']['project']['2']['source'] = 'project';
-$lang->block->default['waterfall']['project']['2']['grid'] = 4;
+$lang->block->default['waterfall']['program']['2']['title'] = '估算';
+$lang->block->default['waterfall']['program']['2']['block'] = 'waterfallestimate';
+$lang->block->default['waterfall']['program']['2']['source'] = 'program';
+$lang->block->default['waterfall']['program']['2']['grid'] = 4;
-$lang->block->default['waterfall']['project']['3']['title'] = "项目{$lang->planCommon}";
-$lang->block->default['waterfall']['project']['3']['block'] = 'waterfallgantt';
-$lang->block->default['waterfall']['project']['3']['source'] = 'project';
-$lang->block->default['waterfall']['project']['3']['grid'] = 8;
+$lang->block->default['waterfall']['program']['3']['title'] = "项目{$lang->planCommon}";
+$lang->block->default['waterfall']['program']['3']['block'] = 'waterfallgantt';
+$lang->block->default['waterfall']['program']['3']['source'] = 'program';
+$lang->block->default['waterfall']['program']['3']['grid'] = 8;
-$lang->block->default['waterfall']['project']['4']['title'] = '到目前为止项目进展趋势图';
-$lang->block->default['waterfall']['project']['4']['block'] = 'waterfallprogress';
-$lang->block->default['waterfall']['project']['4']['grid'] = 4;
+$lang->block->default['waterfall']['program']['4']['title'] = '到目前为止项目进展趋势图';
+$lang->block->default['waterfall']['program']['4']['block'] = 'waterfallprogress';
+$lang->block->default['waterfall']['program']['4']['grid'] = 4;
-$lang->block->default['waterfall']['project']['5']['title'] = '项目问题';
-$lang->block->default['waterfall']['project']['5']['block'] = 'waterfallissue';
-$lang->block->default['waterfall']['project']['5']['source'] = 'project';
-$lang->block->default['waterfall']['project']['5']['grid'] = 8;
+$lang->block->default['waterfall']['program']['5']['title'] = '项目问题';
+$lang->block->default['waterfall']['program']['5']['block'] = 'waterfallissue';
+$lang->block->default['waterfall']['program']['5']['source'] = 'program';
+$lang->block->default['waterfall']['program']['5']['grid'] = 8;
-$lang->block->default['waterfall']['project']['5']['params']['type'] = 'all';
-$lang->block->default['waterfall']['project']['5']['params']['count'] = '15';
-$lang->block->default['waterfall']['project']['5']['params']['orderBy'] = 'id_desc';
+$lang->block->default['waterfall']['program']['5']['params']['type'] = 'all';
+$lang->block->default['waterfall']['program']['5']['params']['count'] = '15';
+$lang->block->default['waterfall']['program']['5']['params']['orderBy'] = 'id_desc';
-$lang->block->default['waterfall']['project']['6']['title'] = '最新动态';
-$lang->block->default['waterfall']['project']['6']['block'] = 'projectdynamic';
-$lang->block->default['waterfall']['project']['6']['grid'] = 4;
-$lang->block->default['waterfall']['project']['6']['source'] = 'project';
+$lang->block->default['waterfall']['program']['6']['title'] = '最新动态';
+$lang->block->default['waterfall']['program']['6']['block'] = 'programdynamic';
+$lang->block->default['waterfall']['program']['6']['grid'] = 4;
+$lang->block->default['waterfall']['program']['6']['source'] = 'program';
-$lang->block->default['waterfall']['project']['7']['title'] = '项目风险';
-$lang->block->default['waterfall']['project']['7']['block'] = 'waterfallrisk';
-$lang->block->default['waterfall']['project']['7']['source'] = 'project';
-$lang->block->default['waterfall']['project']['7']['grid'] = 8;
+$lang->block->default['waterfall']['program']['7']['title'] = '项目风险';
+$lang->block->default['waterfall']['program']['7']['block'] = 'waterfallrisk';
+$lang->block->default['waterfall']['program']['7']['source'] = 'program';
+$lang->block->default['waterfall']['program']['7']['grid'] = 8;
-$lang->block->default['waterfall']['project']['7']['params']['type'] = 'all';
-$lang->block->default['waterfall']['project']['7']['params']['count'] = '15';
-$lang->block->default['waterfall']['project']['7']['params']['orderBy'] = 'id_desc';
+$lang->block->default['waterfall']['program']['7']['params']['type'] = 'all';
+$lang->block->default['waterfall']['program']['7']['params']['count'] = '15';
+$lang->block->default['waterfall']['program']['7']['params']['orderBy'] = 'id_desc';
-$lang->block->default['scrum']['project']['1']['title'] = '项目整体情况';
-$lang->block->default['scrum']['project']['1']['block'] = 'scrumoverview';
-$lang->block->default['scrum']['project']['1']['grid'] = 8;
+$lang->block->default['scrum']['program']['1']['title'] = '项目整体情况';
+$lang->block->default['scrum']['program']['1']['block'] = 'scrumoverview';
+$lang->block->default['scrum']['program']['1']['grid'] = 8;
-$lang->block->default['scrum']['project']['2']['title'] = $lang->projectCommon . '列表';
-$lang->block->default['scrum']['project']['2']['block'] = 'scrumlist';
-$lang->block->default['scrum']['project']['2']['grid'] = 8;
+$lang->block->default['scrum']['program']['2']['title'] = $lang->projectCommon . '列表';
+$lang->block->default['scrum']['program']['2']['block'] = 'scrumlist';
+$lang->block->default['scrum']['program']['2']['grid'] = 8;
-$lang->block->default['scrum']['project']['3']['title'] = '待测版本';
-$lang->block->default['scrum']['project']['3']['block'] = 'scrumtest';
-$lang->block->default['scrum']['project']['3']['grid'] = 8;
+$lang->block->default['scrum']['program']['3']['title'] = '待测版本';
+$lang->block->default['scrum']['program']['3']['block'] = 'scrumtest';
+$lang->block->default['scrum']['program']['3']['grid'] = 8;
-$lang->block->default['scrum']['project']['3']['params']['type'] = 'wait';
-$lang->block->default['scrum']['project']['3']['params']['count'] = '15';
-$lang->block->default['scrum']['project']['3']['params']['orderBy'] = 'id_desc';
+$lang->block->default['scrum']['program']['3']['params']['type'] = 'wait';
+$lang->block->default['scrum']['program']['3']['params']['count'] = '15';
+$lang->block->default['scrum']['program']['3']['params']['orderBy'] = 'id_desc';
-$lang->block->default['scrum']['project']['4']['title'] = $lang->projectCommon . '总览';
-$lang->block->default['scrum']['project']['4']['block'] = 'sprint';
-$lang->block->default['scrum']['project']['4']['grid'] = 4;
+$lang->block->default['scrum']['program']['4']['title'] = $lang->projectCommon . '总览';
+$lang->block->default['scrum']['program']['4']['block'] = 'sprint';
+$lang->block->default['scrum']['program']['4']['grid'] = 4;
-$lang->block->default['scrum']['project']['5']['title'] = '最新动态';
-$lang->block->default['scrum']['project']['5']['block'] = 'projectdynamic';
-$lang->block->default['scrum']['project']['5']['grid'] = 4;
+$lang->block->default['scrum']['program']['5']['title'] = '最新动态';
+$lang->block->default['scrum']['program']['5']['block'] = 'programdynamic';
+$lang->block->default['scrum']['program']['5']['grid'] = 4;
$lang->block->default['product']['1']['title'] = $lang->productCommon . '统计';
$lang->block->default['product']['1']['block'] = 'statistic';
@@ -270,7 +270,7 @@ $lang->block->default['full']['my']['3']['params']['count'] = '20';
$lang->block->default['full']['my']['4']['title'] = '项目统计';
$lang->block->default['full']['my']['4']['block'] = 'statistic';
-$lang->block->default['full']['my']['4']['source'] = 'project';
+$lang->block->default['full']['my']['4']['source'] = 'program';
$lang->block->default['full']['my']['4']['grid'] = 8;
$lang->block->default['full']['my']['5']['title'] = '我的贡献';
@@ -279,13 +279,13 @@ $lang->block->default['full']['my']['5']['source'] = '';
$lang->block->default['full']['my']['5']['grid'] = 4;
$lang->block->default['full']['my']['6']['title'] = '我近期参与的项目';
-$lang->block->default['full']['my']['6']['block'] = 'recentproject';
-$lang->block->default['full']['my']['6']['source'] = 'project';
+$lang->block->default['full']['my']['6']['block'] = 'recentprogram';
+$lang->block->default['full']['my']['6']['source'] = 'program';
$lang->block->default['full']['my']['6']['grid'] = 8;
$lang->block->default['full']['my']['7']['title'] = '指派给我的任务';
$lang->block->default['full']['my']['7']['block'] = 'task';
-$lang->block->default['full']['my']['7']['source'] = 'execution';
+$lang->block->default['full']['my']['7']['source'] = 'project';
$lang->block->default['full']['my']['7']['grid'] = 8;
$lang->block->default['full']['my']['7']['params']['orderBy'] = 'id_desc';
@@ -297,8 +297,8 @@ $lang->block->default['full']['my']['8']['block'] = 'projectteam';
$lang->block->default['full']['my']['8']['grid'] = 8;
$lang->block->default['full']['my']['9']['title'] = '项目列表';
-$lang->block->default['full']['my']['9']['block'] = 'project';
-$lang->block->default['full']['my']['9']['source'] = 'project';
+$lang->block->default['full']['my']['9']['block'] = 'program';
+$lang->block->default['full']['my']['9']['source'] = 'program';
$lang->block->default['full']['my']['9']['grid'] = 8;
$lang->block->default['full']['my']['9']['params']['orderBy'] = 'id_desc';
@@ -324,18 +324,18 @@ $lang->block->availableBlocks->testtask = '测试版本列表';
$lang->block->availableBlocks->risk = '我的风险';
$lang->block->availableBlocks->issue = '我的问题';
-$lang->block->moduleList['project'] = '项目';
-$lang->block->moduleList['product'] = $lang->productCommon;
-$lang->block->moduleList['execution'] = '执行';
-$lang->block->moduleList['qa'] = '测试';
-$lang->block->moduleList['todo'] = '待办';
+$lang->block->moduleList['program'] = '项目';
+$lang->block->moduleList['product'] = $lang->productCommon;
+$lang->block->moduleList['project'] = '执行';
+$lang->block->moduleList['qa'] = '测试';
+$lang->block->moduleList['todo'] = '待办';
-$lang->block->modules['project'] = new stdclass();
-$lang->block->modules['project']->availableBlocks = new stdclass();
-$lang->block->modules['project']->availableBlocks->project = '项目列表';
-$lang->block->modules['project']->availableBlocks->recentproject = '近期项目';
-$lang->block->modules['project']->availableBlocks->statistic = '项目统计';
-$lang->block->modules['project']->availableBlocks->projectteam = '项目人力投入';
+$lang->block->modules['program'] = new stdclass();
+$lang->block->modules['program']->availableBlocks = new stdclass();
+$lang->block->modules['program']->availableBlocks->program = '项目列表';
+$lang->block->modules['program']->availableBlocks->recentprogram = '近期项目';
+$lang->block->modules['program']->availableBlocks->statistic = '项目统计';
+$lang->block->modules['program']->availableBlocks->programteam = '项目人力投入';
$lang->block->modules['scrum']['index'] = new stdclass();
$lang->block->modules['scrum']['index']->availableBlocks = new stdclass();
@@ -364,13 +364,13 @@ $lang->block->modules['product']->availableBlocks->story = "{$lang->SRCommon
$lang->block->modules['product']->availableBlocks->plan = "{$lang->planCommon}列表";
$lang->block->modules['product']->availableBlocks->release = '发布列表';
-$lang->block->modules['execution'] = new stdclass();
-$lang->block->modules['execution']->availableBlocks = new stdclass();
-$lang->block->modules['execution']->availableBlocks->statistic = $lang->projectCommon . '统计';
-$lang->block->modules['execution']->availableBlocks->overview = $lang->projectCommon . '总览';
-$lang->block->modules['execution']->availableBlocks->list = $lang->projectCommon . '列表';
-$lang->block->modules['execution']->availableBlocks->task = '任务列表';
-$lang->block->modules['execution']->availableBlocks->build = '版本列表';
+$lang->block->modules['project'] = new stdclass();
+$lang->block->modules['project']->availableBlocks = new stdclass();
+$lang->block->modules['project']->availableBlocks->statistic = $lang->projectCommon . '统计';
+$lang->block->modules['project']->availableBlocks->overview = $lang->projectCommon . '总览';
+$lang->block->modules['project']->availableBlocks->list = $lang->projectCommon . '列表';
+$lang->block->modules['project']->availableBlocks->task = '任务列表';
+$lang->block->modules['project']->availableBlocks->build = '版本列表';
$lang->block->modules['qa'] = new stdclass();
$lang->block->modules['qa']->availableBlocks = new stdclass();
@@ -467,16 +467,16 @@ $lang->block->typeList->product['closed'] = '已关闭';
$lang->block->typeList->product['all'] = '全部';
$lang->block->typeList->product['involved'] = '我参与';
+$lang->block->typeList->program['undone'] = '未完成';
+$lang->block->typeList->program['doing'] = '进行中';
+$lang->block->typeList->program['all'] = '全部';
+$lang->block->typeList->program['involved'] = '我参与的';
+
$lang->block->typeList->project['undone'] = '未完成';
$lang->block->typeList->project['doing'] = '进行中';
$lang->block->typeList->project['all'] = '全部';
$lang->block->typeList->project['involved'] = '我参与';
-$lang->block->typeList->execution['undone'] = '未完成';
-$lang->block->typeList->execution['doing'] = '进行中';
-$lang->block->typeList->execution['all'] = '全部';
-$lang->block->typeList->execution['involved'] = '我参与';
-
$lang->block->typeList->scrum['undone'] = '未完成';
$lang->block->typeList->scrum['doing'] = '进行中';
$lang->block->typeList->scrum['all'] = '全部';
@@ -488,19 +488,19 @@ $lang->block->typeList->testtask['blocked'] = '阻塞版本';
$lang->block->typeList->testtask['done'] = '已测版本';
$lang->block->typeList->testtask['all'] = '全部';
-$lang->block->modules['project']->moreLinkList = new stdclass();
-$lang->block->modules['project']->moreLinkList->recentproject = 'project|prjbrowse|';
-$lang->block->modules['project']->moreLinkList->statistic = 'project|prjbrowse|';
-$lang->block->modules['project']->moreLinkList->project = 'project|prjbrowse|';
-$lang->block->modules['project']->moreLinkList->cmmireport = 'weekly|index|';
-$lang->block->modules['project']->moreLinkList->cmmiestimate = 'workestimation|index|';
-$lang->block->modules['project']->moreLinkList->cmmiissue = 'issue|browse|';
-$lang->block->modules['project']->moreLinkList->cmmirisk = 'risk|browse|';
-$lang->block->modules['project']->moreLinkList->scrumlist = 'project|all|';
-$lang->block->modules['project']->moreLinkList->scrumtest = 'testtask|browse|';
-$lang->block->modules['project']->moreLinkList->scrumproduct = 'product|all|';
-$lang->block->modules['project']->moreLinkList->sprint = 'project|all|';
-$lang->block->modules['project']->moreLinkList->projectdynamic = 'company|dynamic|';
+$lang->block->modules['program']->moreLinkList = new stdclass();
+$lang->block->modules['program']->moreLinkList->recentproject = 'project|prjbrowse|';
+$lang->block->modules['program']->moreLinkList->statistic = 'project|prjbrowse|';
+$lang->block->modules['program']->moreLinkList->project = 'project|prjbrowse|';
+$lang->block->modules['program']->moreLinkList->cmmireport = 'weekly|index|';
+$lang->block->modules['program']->moreLinkList->cmmiestimate = 'workestimation|index|';
+$lang->block->modules['program']->moreLinkList->cmmiissue = 'issue|browse|';
+$lang->block->modules['program']->moreLinkList->cmmirisk = 'risk|browse|';
+$lang->block->modules['program']->moreLinkList->scrumlist = 'project|all|';
+$lang->block->modules['program']->moreLinkList->scrumtest = 'testtask|browse|';
+$lang->block->modules['program']->moreLinkList->scrumproduct = 'product|all|';
+$lang->block->modules['program']->moreLinkList->sprint = 'project|all|';
+$lang->block->modules['program']->moreLinkList->projectdynamic = 'company|dynamic|';
$lang->block->modules['product']->moreLinkList = new stdclass();
$lang->block->modules['product']->moreLinkList->list = 'product|all|';
diff --git a/module/block/model.php b/module/block/model.php
index 821b8e0c02..e0e523c1d7 100644
--- a/module/block/model.php
+++ b/module/block/model.php
@@ -223,7 +223,7 @@ class blockModel extends model
$account = $this->app->user->account;
if($module == 'program')
{
- $blocks = $this->lang->block->default[$type]['project'];
+ $blocks = $this->lang->block->default[$type]['program'];
$projectID = $this->session->PRJ;
$project = $this->loadModel('program')->getPRJByID($projectID);
@@ -267,7 +267,7 @@ class blockModel extends model
public function getAvailableBlocks($module = '', $dashboard = '', $model = '')
{
$blocks = $this->lang->block->availableBlocks;
- if($dashboard == 'project')
+ if($dashboard == 'program')
{
$blocks = $this->lang->block->modules[$model]['index']->availableBlocks;
}
@@ -445,7 +445,7 @@ class blockModel extends model
* @access public
* @return json
*/
- public function getProjectParams()
+ public function getProgramParams()
{
$this->app->loadLang('program');
$params->type['name'] = $this->lang->block->type;
@@ -465,7 +465,7 @@ class blockModel extends model
* @access public
* @return json
*/
- public function getProjectTeamParams()
+ public function getProgramTeamParams()
{
$this->app->loadLang('program');
$params->type['name'] = $this->lang->block->type;
@@ -516,7 +516,6 @@ class blockModel extends model
if($module == 'product') return $this->getProductStatisticParams($module);
if($module == 'project') return $this->getProjectStatisticParams($module);
if($module == 'qa') return $this->getQaStatisticParams($module);
- if($module == 'execution') return $this->getExecutionStatisticParams($module);
$params = new stdclass();
$params = $this->appendCountParams($params);
@@ -593,7 +592,7 @@ class blockModel extends model
* @access public
* @return string
*/
- public function getRecentProjectParams()
+ public function getRecentProgramParams()
{
return false;
}
@@ -704,7 +703,7 @@ class blockModel extends model
* @access public
* @return json
*/
- public function getExecutionParams()
+ public function getProjectParams()
{
$params->type['name'] = $this->lang->block->type;
$params->type['options'] = $this->lang->block->typeList->project;
@@ -922,7 +921,7 @@ class blockModel extends model
* @access public
* @return string
*/
- public function getProjectDynamicParams($module = '')
+ public function getProgramDynamicParams($module = '')
{
$params = $this->appendCountParams();
diff --git a/module/block/view/executionblock.html.php b/module/block/view/executionblock.html.php
deleted file mode 100644
index df642f9424..0000000000
--- a/module/block/view/executionblock.html.php
+++ /dev/null
@@ -1,73 +0,0 @@
-
- * @package block
- * @version $Id$
- * @link http://www.zentao.net
- */
-?>
-
-
" . $lang->project->create, '', "class='btn btn-primary'")?>
-
-
-
-
-
- | project->name;?> |
- project->end;?> |
-
-
- statusAB;?> |
- project->totalEstimate;?> |
- project->totalConsumed;?> |
- project->totalLeft;?> |
-
- project->progress;?> |
-
- project->burn;?> |
-
-
-
-
-
-
- get->entry}'" : "class='text-center'";
- $viewLink = $this->createLink('project', 'task', 'project=' . $execution->id);
- ?>
- >
- | createLink('project', 'task', 'project=' . $execution->id), $execution->name, '', "title='$execution->name'");?> |
- end;?> |
-
-
- delay)):?>
- project->delayed;?>
-
- processStatus('project', $execution);?>
-
-
- |
- hours->totalEstimate;?> |
- hours->totalConsumed;?> |
- hours->totalLeft;?> |
-
-
-
-
- hours->progress;?>%
-
-
- |
-
- burns);?>'> |
-
-
-
-
-
-
-
diff --git a/module/block/view/programblock.html.php b/module/block/view/programblock.html.php
new file mode 100644
index 0000000000..efd59247a7
--- /dev/null
+++ b/module/block/view/programblock.html.php
@@ -0,0 +1,49 @@
+
+block->emptyTip;?>
+
+
+
+
'>
+
+
+ | program->PGMName;?> |
+ program->PGMPM;?> |
+ program->PGMStatus;?> |
+
+ program->teamCount;?> |
+ task->consumed;?> |
+ program->PGMBudget;?> |
+ program->leftStories;?> |
+ program->leftTasks;?> |
+ program->leftBugs;?> |
+
+
+
+
+
+ createLink('program', 'index', "programID={$program->id}");
+ ?>
+
+ | name);?> |
+ PM, $program->PM)?> |
+
+ project->statusList, $program->status);?>
+ |
+
+ teamCount;?> |
+ consumed;?> |
+ budget . ' ' . zget($lang->program->unitList, $program->budgetUnit);?> |
+ leftStories;?> |
+ leftTasks;?> |
+ leftBugs;?> |
+
+
+
+
+
+
+
diff --git a/module/block/view/projectdynamicblock.html.php b/module/block/view/programdynamicblock.html.php
similarity index 100%
rename from module/block/view/projectdynamicblock.html.php
rename to module/block/view/programdynamicblock.html.php
diff --git a/module/block/view/executionstatisticblock.html.php b/module/block/view/programstatisticblock.html.php
similarity index 52%
rename from module/block/view/executionstatisticblock.html.php
rename to module/block/view/programstatisticblock.html.php
index 6e0a5b4174..ab6fc2877f 100644
--- a/module/block/view/executionstatisticblock.html.php
+++ b/module/block/view/programstatisticblock.html.php
@@ -55,9 +55,21 @@ html[lang="en"] .product-info .type-info {color: #A6AAB8; text-align: center; po
.block-statistic.block-sm .nav-secondary > li.active > a.btn-view {width: auto; left: 0; right: 0;}
.block-statistic.block-sm .nav-secondary > li.active > a.btn-view > i {display: none;}
.block-statistic.block-sm .nav-secondary > li.active > a.btn-view:hover {cursor: pointer; background: rgba(0,0,0,.1)}
+.block-statistic .program-info .info span+span{margin-left: 15px}
+.block-statistic .project-info{margin-top: 25px}
+.block-statistic .project-info .col-xs-5, .block-statistic .project-info .col-xs-7{margin-top: 8px}
+.block-statistic .project-info .col-xs-5{padding-left: 0px;}
.status-count{margin:auto}
.status-count tr:first-child td:last-child{color:#000;font-weight:bold}
+
+.block-statistic .progress-group{margin-top: 20px; margin-bottom: 10px; height: 65px;}
+.block-statistic .weekly-title{font-weight: bold; font-size:14px; color: #3C4253;}
+.block-statistic .weekly-small{font-size:12px; color: #838A9D;}
+.block-statistic .weekly-progress {font-weight: bold; font-size:24px;}
+.block-statistic .weekly-name{font-size:14px; color: #838A9D;}
+.block-statistic .weekly-value{font-size:14px;}
+.block-statistic .col-6 .stage{margin-left: 10px}
-
+
@@ -92,110 +104,139 @@ $(function()
-
-
+
+
+ model == 'scrum'):?>
-
+
- task->statusList['done'];?>
- progress;?>percent;?>
+ story->common . $lang->program->doneStories;?>
+ doneStories;?>
-
project->totalEstimate;?>
-
totalEstimate;?> task->hour;?>
+
program->allStories;?>
+
allStories;?>
-
project->totalConsumed;?>
-
totalConsumed;?> task->hour;?>
+
program->doneStories;?>
+
doneStories;?>
-
project->totalLeft;?>
-
totalLeft;?> task->hour;?>
+
program->leftStories;?>
+
leftStories;?>
-
-
task->yesterdayFinished;?> yesterdayFinished;?>
-
-
-
-
-
- | task->allTasks;?> : |
- totalTasks) ? 0 : html::a($this->createLink('project', 'task', "executionID={$execution->id}&status=all"), $execution->totalTasks);?> |
-
-
- | task->noFinished;?> : |
- undoneTasks) ? 0 : html::a($this->createLink('project', 'task', "executionID={$execution->id}&status=undone"), $execution->undoneTasks);?> |
-
-
-
+
+
program->allInput;?>
+
+ program->membersUnit, $project->teamCount);?>
+ program->hoursUnit, $project->estimate);?>
+ budget . ' ' . zget($lang->program->unitList, $project->budgetUnit);?>
-
-
story->released;?> releasedStories;?>
-
-
-
-
-
- | story->total;?> : |
- totalStories) ? 0 : html::a($this->createLink('project', 'story', "executionID={$execution->id}&orderBy=order_desc&type=all"), $execution->totalStories);?> |
-
-
- | story->unclosed;?> : |
- unclosedStories) ? 0 : html::a($this->createLink('project', 'story', "executionID={$execution->id}&orderBy=order_desc&type=unclosed"), $execution->unclosedStories);?> |
-
-
+
+
+
program->lastIteration;?>
+ executions as $execution):?>
+
+ 3) break;?>
+
name;?>
+
+
+
+ hours->progress . '%';?>
+
+
+
+
+
+
+
+ program->weekly;?>
+ current;?>
+
+
+
+
program->PRJProgress;?>
+
progress . '%';?>
+
+
-
-
bug->yesterdayResolved;?> yesterdayResolved;?>
-
-
-
+
+
-
-
-
-
- | bug->allBugs;?> : |
- totalBugs) ? 0 : html::a($this->createLink('project', 'bug', "executionID={$execution->id}&orderBy=status,id_desc&build=0&type=all"), $execution->totalBugs);?> |
-
-
- | bug->unResolved;?> : |
- activeBugs) ? 0 : html::a($this->createLink('project', 'bug', "executionID={$execution->id}&orderBy=status,id_desc&build=0&type=unresolved"), $execution->activeBugs);?> |
-
-
-
+
+
program->ev;?>
+
ev;?>
+
+
+
+
+
+ program->allInput;?>
+
+
+
+
+
+
+
program->PRJPM;?>
+
PM ? zget($users, $project->PM) : $lang->program->emptyPM;?>
+
+
+
program->teamCount;?>
+
teamCount;?>
+
+
+
program->PRJBudget;?>
+
budget;?>
+
+
+
+
+
+
program->ac;?>
+
ac;?>
+
+
+
program->cv;?>
+
cv;?>
+
+
+
+
+
+
diff --git a/module/block/view/projectblock.html.php b/module/block/view/projectblock.html.php
index efd59247a7..df642f9424 100644
--- a/module/block/view/projectblock.html.php
+++ b/module/block/view/projectblock.html.php
@@ -1,48 +1,72 @@
-
-
block->emptyTip;?>
+
+ * @package block
+ * @version $Id$
+ * @link http://www.zentao.net
+ */
+?>
+
+
" . $lang->project->create, '', "class='btn btn-primary'")?>
-
-
-
'>
+
+
-
- | program->PGMName;?> |
- program->PGMPM;?> |
- program->PGMStatus;?> |
+
+ | project->name;?> |
+ project->end;?> |
- program->teamCount;?> |
- task->consumed;?> |
- program->PGMBudget;?> |
- program->leftStories;?> |
- program->leftTasks;?> |
- program->leftBugs;?> |
+
+ statusAB;?> |
+ project->totalEstimate;?> |
+ project->totalConsumed;?> |
+ project->totalLeft;?> |
+
+ project->progress;?> |
+
+ project->burn;?> |
-
-
+
+
+
createLink('program', 'index', "programID={$program->id}");
+ $appid = isset($_GET['entry']) ? "class='app-btn text-center' data-id='{$this->get->entry}'" : "class='text-center'";
+ $viewLink = $this->createLink('project', 'task', 'project=' . $execution->id);
?>
-
- | name);?> |
- PM, $program->PM)?> |
-
- project->statusList, $program->status);?>
+ |
>
+ | createLink('project', 'task', 'project=' . $execution->id), $execution->name, '', "title='$execution->name'");?> |
+ end;?> |
+
+
+ delay)):?>
+ project->delayed;?>
+
+ processStatus('project', $execution);?>
+
+
+ |
+ hours->totalEstimate;?> |
+ hours->totalConsumed;?> |
+ hours->totalLeft;?> |
+
+
+
+
+ hours->progress;?>%
+
+
|
- teamCount;?> |
- consumed;?> |
- budget . ' ' . zget($lang->program->unitList, $program->budgetUnit);?> |
- leftStories;?> |
- leftTasks;?> |
- leftBugs;?> |
+ burns);?>'> |
-
-
+
+
diff --git a/module/block/view/executionoverviewblock.html.php b/module/block/view/projectoverviewblock.html.php
similarity index 100%
rename from module/block/view/executionoverviewblock.html.php
rename to module/block/view/projectoverviewblock.html.php
diff --git a/module/block/view/projectstatisticblock.html.php b/module/block/view/projectstatisticblock.html.php
index ab6fc2877f..6e0a5b4174 100644
--- a/module/block/view/projectstatisticblock.html.php
+++ b/module/block/view/projectstatisticblock.html.php
@@ -55,21 +55,9 @@ html[lang="en"] .product-info .type-info {color: #A6AAB8; text-align: center; po
.block-statistic.block-sm .nav-secondary > li.active > a.btn-view {width: auto; left: 0; right: 0;}
.block-statistic.block-sm .nav-secondary > li.active > a.btn-view > i {display: none;}
.block-statistic.block-sm .nav-secondary > li.active > a.btn-view:hover {cursor: pointer; background: rgba(0,0,0,.1)}
-.block-statistic .program-info .info span+span{margin-left: 15px}
-.block-statistic .project-info{margin-top: 25px}
-.block-statistic .project-info .col-xs-5, .block-statistic .project-info .col-xs-7{margin-top: 8px}
-.block-statistic .project-info .col-xs-5{padding-left: 0px;}
.status-count{margin:auto}
.status-count tr:first-child td:last-child{color:#000;font-weight:bold}
-
-.block-statistic .progress-group{margin-top: 20px; margin-bottom: 10px; height: 65px;}
-.block-statistic .weekly-title{font-weight: bold; font-size:14px; color: #3C4253;}
-.block-statistic .weekly-small{font-size:12px; color: #838A9D;}
-.block-statistic .weekly-progress {font-weight: bold; font-size:24px;}
-.block-statistic .weekly-name{font-size:14px; color: #838A9D;}
-.block-statistic .weekly-value{font-size:14px;}
-.block-statistic .col-6 .stage{margin-left: 10px}
-
+
@@ -104,139 +92,110 @@ $(function()
-
-
+
+
- model == 'scrum'):?>
-
+
- story->common . $lang->program->doneStories;?>
- doneStories;?>
+ task->statusList['done'];?>
+ progress;?>percent;?>
-
program->allStories;?>
-
allStories;?>
+
project->totalEstimate;?>
+
totalEstimate;?> task->hour;?>
-
program->doneStories;?>
-
doneStories;?>
+
project->totalConsumed;?>
+
totalConsumed;?> task->hour;?>
-
program->leftStories;?>
-
leftStories;?>
+
project->totalLeft;?>
+
totalLeft;?> task->hour;?>
-
-
program->allInput;?>
-
- program->membersUnit, $project->teamCount);?>
- program->hoursUnit, $project->estimate);?>
- budget . ' ' . zget($lang->program->unitList, $project->budgetUnit);?>
-
-
-
-
-
program->lastIteration;?>
- executions as $execution):?>
-
- 3) break;?>
-
name;?>
-
-
-
- hours->progress . '%';?>
-
+
+
task->yesterdayFinished;?> yesterdayFinished;?>
+
-
-
-
-
-
-
- program->weekly;?>
- current;?>
-
-
-
-
program->PRJProgress;?>
-
progress . '%';?>
-
-
-
+
+
+
+
+ | task->allTasks;?> : |
+ totalTasks) ? 0 : html::a($this->createLink('project', 'task', "executionID={$execution->id}&status=all"), $execution->totalTasks);?> |
+
+
+ | task->noFinished;?> : |
+ undoneTasks) ? 0 : html::a($this->createLink('project', 'task', "executionID={$execution->id}&status=undone"), $execution->undoneTasks);?> |
+
+
+
-
-
-
program->pv;?>
-
pv;?>
+
+
story->released;?> releasedStories;?>
+
-
-
program->ev;?>
-
ev;?>
+
+
+
+
+ | story->total;?> : |
+ totalStories) ? 0 : html::a($this->createLink('project', 'story', "executionID={$execution->id}&orderBy=order_desc&type=all"), $execution->totalStories);?> |
+
+
+ | story->unclosed;?> : |
+ unclosedStories) ? 0 : html::a($this->createLink('project', 'story', "executionID={$execution->id}&orderBy=order_desc&type=unclosed"), $execution->unclosedStories);?> |
+
+
+
-
-
program->sv;?>
-
sv;?>
+
+
+
bug->yesterdayResolved;?> yesterdayResolved;?>
+
+
+
+
+
+ | bug->allBugs;?> : |
+ totalBugs) ? 0 : html::a($this->createLink('project', 'bug', "executionID={$execution->id}&orderBy=status,id_desc&build=0&type=all"), $execution->totalBugs);?> |
+
+
+ | bug->unResolved;?> : |
+ activeBugs) ? 0 : html::a($this->createLink('project', 'bug', "executionID={$execution->id}&orderBy=status,id_desc&build=0&type=unresolved"), $execution->activeBugs);?> |
+
+
+
-
-
-
- program->allInput;?>
-
-
-
-
-
-
-
program->PRJPM;?>
-
PM ? zget($users, $project->PM) : $lang->program->emptyPM;?>
-
-
-
program->teamCount;?>
-
teamCount;?>
-
-
-
program->PRJBudget;?>
-
budget;?>
-
-
-
-
-
-
program->ac;?>
-
ac;?>
-
-
-
program->cv;?>
-
cv;?>
-
-
-
-
-
-
diff --git a/module/block/view/recentprojectblock.html.php b/module/block/view/recentprogramblock.html.php
similarity index 99%
rename from module/block/view/recentprojectblock.html.php
rename to module/block/view/recentprogramblock.html.php
index 649a5e0833..159a003b7a 100644
--- a/module/block/view/recentprojectblock.html.php
+++ b/module/block/view/recentprogramblock.html.php
@@ -116,7 +116,7 @@