diff --git a/module/action/model.php b/module/action/model.php
index b5d66c8a55..abf3a1fd64 100755
--- a/module/action/model.php
+++ b/module/action/model.php
@@ -396,6 +396,7 @@ class actionModel extends model
}
elseif(($actionName == 'opened' or $actionName == 'managed' or $actionName == 'edited') and ($objectType == 'execution' || $objectType == 'project'))
{
+ $this->app->loadLang('executon');
$linkedProducts = $this->dao->select('id,name')->from(TABLE_PRODUCT)->where('id')->in($action->extra)->fetchPairs('id', 'name');
$action->extra = '';
if($linkedProducts)
diff --git a/module/block/control.php b/module/block/control.php
index ca5f15c683..86e867339e 100644
--- a/module/block/control.php
+++ b/module/block/control.php
@@ -213,17 +213,17 @@ class block extends control
$blocks = $this->block->getBlockList($module, $type);
$commonField = 'common';
- if($module == 'program')
+ if($module == 'project')
{
- $program = $this->loadModel('project')->getByID($this->session->project);
- $commonField = $program->model . 'common';
+ $project = $this->loadModel('project')->getByID($this->session->project);
+ $commonField = $project->model . 'common';
}
/* Replace the block Title saved in the database. */
- if($module == 'project')
+ if($module == 'execution')
{
$projectBlock = array();
- foreach($this->lang->block->default['project'] as $block) $projectBlock[$block['block']] = $block['title'];
+ foreach($this->lang->block->default['execution'] as $block) $projectBlock[$block['block']] = $block['title'];
foreach($blocks as $block) $block->title = $projectBlock[$block->block];
}
@@ -245,7 +245,7 @@ class block extends control
continue;
}
- $block->params = json_decode($block->params);
+ $block->params = json_decode($block->params);
if(isset($block->params->num) and !isset($block->params->count)) $block->params->count = $block->params->num;
$blockID = $block->block;
@@ -436,17 +436,17 @@ class block extends control
$dashboard = $this->get->dashboard;
/* Create a project block. */
- if($dashboard == 'program')
+ if($dashboard == 'project')
{
$project = $this->loadModel('project')->getByID($this->session->project);
$model = $project->model;
}
/* Edit a project block. */
- if($id and $block->module == 'program')
+ if($id and $block->module == 'project')
{
$model = $block->type;
- $dashboard = 'program';
+ $dashboard = 'project';
}
$blocks = $this->block->getAvailableBlocks($module, $dashboard, $model);
@@ -757,7 +757,8 @@ class block extends control
{
$this->session->set('buildList', $this->app->getURI(true));
$this->app->loadLang('build');
- $this->view->builds = $this->dao->select('t1.*, t2.name as productName')->from(TABLE_BUILD)->alias('t1')
+
+ $builds = $this->dao->select('t1.*, t2.name as productName')->from(TABLE_BUILD)->alias('t1')
->leftJoin(TABLE_PRODUCT)->alias('t2')->on('t1.product=t2.id')
->where('t1.deleted')->eq('0')
->beginIF(!$this->app->user->admin)->andWhere('t1.project')->in($this->app->user->view->projects)->fi()
@@ -765,6 +766,7 @@ class block extends control
->orderBy('t1.id desc')
->beginIF($this->viewType != 'json')->limit((int)$this->params->count)->fi()
->fetchAll();
+ $this->view->builds = $builds;
}
/**
@@ -773,9 +775,9 @@ class block extends control
* @access public
* @return void
*/
- public function printProgramBlock()
+ public function printProjectBlock()
{
- $this->app->loadLang('project');
+ $this->app->loadLang('execution');
$this->app->loadLang('task');
$count = isset($this->params->count) ? $this->params->count : 15;
$type = isset($this->params->type) ? $this->params->type : 'all';
@@ -833,7 +835,7 @@ class block extends control
* @access public
* @return void
*/
- public function printProgramStatisticBlock()
+ public function printProjectStatisticBlock()
{
if(!empty($this->params->type) and preg_match('/[^a-zA-Z0-9_]/', $this->params->type)) die();
@@ -872,7 +874,7 @@ class block extends control
if($project->model == 'scrum')
{
$project->progress = $project->allStories == 0 ? 0 : round($project->doneStories / $project->allStories, 3) * 100;
- $project->executions = $this->loadModel('execution')->getStats($projectID, 'all', 0, 0, 30, 'id_asc');
+ $project->executions = $this->project->getStats($projectID, 'all', 0, 0, 30, 'id_asc');
}
elseif($project->model == 'waterfall' and isset($this->config->maxVersion))
{
@@ -1034,7 +1036,7 @@ class block extends control
* @access public
* @return void
*/
- public function printProjectStatisticBlock()
+ public function printExecutionStatisticBlock()
{
if(!empty($this->params->type) and preg_match('/[^a-zA-Z0-9_]/', $this->params->type)) die();
@@ -1305,6 +1307,7 @@ class block extends control
public function printScrumOverviewBlock()
{
$projectID = $this->session->project;
+ $this->app->loadLang('execution');
$totalData = $this->loadModel('project')->getOverviewList('byId', $projectID, 'id_desc', 1);
$this->view->totalData = $totalData;
@@ -1319,12 +1322,14 @@ class block extends control
*/
public function printScrumListBlock()
{
- $this->app->loadClass('pager', $static = true);
if(!empty($this->params->type) and preg_match('/[^a-zA-Z0-9_]/', $this->params->type)) die();
$count = isset($this->params->count) ? (int)$this->params->count : 15;
$type = isset($this->params->type) ? $this->params->type : 'all';
+
+ $this->app->loadClass('pager', $static = true);
$pager = pager::init(0, $count, 1);
- $this->view->executionStats = $this->loadModel('execution')->getStats($this->session->project, $type, 0, 0, 30, 'id_desc', $pager);
+ $this->app->loadLang('execution');
+ $this->view->executionStats = $this->loadModel('project')->getStats($this->session->project, $type, 0, 0, 30, 'id_desc', $pager);
}
/**
@@ -1394,15 +1399,15 @@ class block extends control
{
$projectID = $this->session->project;
- $executions = $this->loadModel('project')->getExecutionPairs($projectID);
+ $executions = $this->loadModel('execution')->getPairs($projectID);
$products = $this->loadModel('product')->getProductPairsByProject($projectID);
$count = isset($this->params->count) ? (int)$this->params->count : 10;
$actions = array();
$actions = $this->dao->select('*')->from(TABLE_ACTION)
- ->where('project')->eq($projectID)
- ->beginIF(!empty($executions))->markLeft()->orWhere('project')->in(array_keys($executions))->fi()->markRight()
- ->beginIF(!empty($products))->markLeft()->orWhere('product')->in(array_keys($products))->fi()->markRight()
+ ->where('objectType')->eq('project')
+ ->andWhere('objectID')->eq($projectID)
+ ->beginIF(!empty($executions))->markLeft()->orWhere('execution')->in(array_keys($executions))->fi()->markRight()
->orderBy('date_desc')
->limit($count)
->fetchAll();
@@ -1585,7 +1590,7 @@ class block extends control
* @access public
* @return void
*/
- public function printProjectOverviewBlock()
+ public function printExecutionOverviewBlock()
{
$projectID = $this->view->block->module == 'my' ? 0 : (int)$this->session->project;
$executions = $this->loadModel('execution')->getList($projectID);
@@ -1649,7 +1654,7 @@ class block extends control
* @access public
* @return void
*/
- public function printProjectBlock()
+ public function printExecutionBlock()
{
$this->app->loadClass('pager', $static = true);
if(!empty($this->params->type) and preg_match('/[^a-zA-Z0-9_]/', $this->params->type)) die();
@@ -1685,7 +1690,7 @@ class block extends control
$this->app->loadClass('date');
$this->app->loadLang('todo');
$stmt = $this->dao->select('*')->from(TABLE_TODO)
- ->where("(assignedTo = '{$this->app->user->account}' or (assignedTo = '' and account='{$this->app->user->account}'))")
+ ->where("(assignedTo = '{$this->app->user->account}' or (account='{$this->app->user->account}'))")
->andWhere('cycle')->eq(0)
->orderBy('`date`');
if(isset($params->todoNum)) $stmt->limit($params->todoNum);
@@ -1708,6 +1713,7 @@ class block extends control
if(isset($hasViewPriv['task']))
{
$this->app->loadLang('task');
+ $this->app->loadLang('execution');
$stmt = $this->dao->select('*')->from(TABLE_TASK)
->where('assignedTo')->eq($this->app->user->account)
->andWhere('deleted')->eq('0')
@@ -1803,7 +1809,7 @@ class block extends control
* @access public
* @return void
*/
- public function printProgramTeamBlock()
+ public function printProjectTeamBlock()
{
$count = isset($this->params->count) ? $this->params->count : 15;
$status = isset($this->params->type) ? $this->params->type : 'all';
diff --git a/module/block/lang/zh-cn.php b/module/block/lang/zh-cn.php
index 15350a6230..5730ff08fc 100644
--- a/module/block/lang/zh-cn.php
+++ b/module/block/lang/zh-cn.php
@@ -42,7 +42,7 @@ $lang->block->leftToday = '今天剩余工作总计';
$lang->block->myTask = '我的任务';
$lang->block->myStory = "我的{$lang->SRCommon}";
$lang->block->myBug = '我的BUG';
-$lang->block->myProject = '未关闭的' . $lang->executionCommon;
+$lang->block->myExecution = '未关闭的' . $lang->executionCommon;
$lang->block->myProduct = '未关闭的' . $lang->productCommon;
$lang->block->delayed = '已延期';
$lang->block->noData = '当前统计类型下暂无数据';
@@ -59,9 +59,9 @@ $lang->block->resolvedRisks = '解决的风险数';
$lang->block->createdIssues = '创建的问题数';
$lang->block->resolvedIssues = '解决的问题数';
$lang->block->createdDocs = '创建的文档数';
-$lang->block->allProject = '所有' . $lang->executionCommon;
-$lang->block->doingProject = '进行中的' . $lang->executionCommon;
-$lang->block->finishProject = '累积' . $lang->executionCommon;
+$lang->block->allExecution = '所有' . $lang->executionCommon;
+$lang->block->doingExecution = '进行中的' . $lang->executionCommon;
+$lang->block->finishExecution = '累积' . $lang->executionCommon;
$lang->block->estimatedHours = '预计';
$lang->block->consumedHours = '已消耗';
$lang->block->time = '第';
@@ -98,71 +98,71 @@ $lang->block->spent = '已花费';
$lang->block->budget = '预算';
$lang->block->left = '剩余';
-$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']['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']['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']['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']['3']['title'] = "项目计划";
-$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']['3']['title'] = "项目计划";
+$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']['4']['title'] = '到目前为止项目进展趋势图';
-$lang->block->default['waterfall']['program']['4']['block'] = 'waterfallprogress';
-$lang->block->default['waterfall']['program']['4']['grid'] = 4;
+$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']['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']['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']['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']['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']['6']['title'] = '最新动态';
-$lang->block->default['waterfall']['program']['6']['block'] = 'projectdynamic';
-$lang->block->default['waterfall']['program']['6']['grid'] = 4;
-$lang->block->default['waterfall']['program']['6']['source'] = 'program';
+$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']['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']['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']['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['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['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']['1']['title'] = '项目整体情况';
+$lang->block->default['scrum']['project']['1']['block'] = 'scrumoverview';
+$lang->block->default['scrum']['project']['1']['grid'] = 8;
-$lang->block->default['scrum']['program']['2']['title'] = $lang->executionCommon . '列表';
-$lang->block->default['scrum']['program']['2']['block'] = 'scrumlist';
-$lang->block->default['scrum']['program']['2']['grid'] = 8;
+$lang->block->default['scrum']['project']['2']['title'] = $lang->executionCommon . '列表';
+$lang->block->default['scrum']['project']['2']['block'] = 'scrumlist';
+$lang->block->default['scrum']['project']['2']['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']['title'] = '待测版本';
+$lang->block->default['scrum']['project']['3']['block'] = 'scrumtest';
+$lang->block->default['scrum']['project']['3']['grid'] = 8;
-$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']['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']['4']['title'] = $lang->executionCommon . '总览';
-$lang->block->default['scrum']['program']['4']['block'] = 'sprint';
-$lang->block->default['scrum']['program']['4']['grid'] = 4;
+$lang->block->default['scrum']['project']['4']['title'] = $lang->executionCommon . '总览';
+$lang->block->default['scrum']['project']['4']['block'] = 'sprint';
+$lang->block->default['scrum']['project']['4']['grid'] = 4;
-$lang->block->default['scrum']['program']['5']['title'] = '最新动态';
-$lang->block->default['scrum']['program']['5']['block'] = 'projectdynamic';
-$lang->block->default['scrum']['program']['5']['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['product']['1']['title'] = $lang->productCommon . '统计';
$lang->block->default['product']['1']['block'] = 'statistic';
@@ -190,39 +190,39 @@ $lang->block->default['product']['4']['params']['count'] = 15;
$lang->block->default['product']['4']['params']['orderBy'] = 'id_desc';
$lang->block->default['product']['4']['params']['type'] = 'assignedTo';
-$lang->block->default['project']['1']['title'] = $lang->executionCommon . '统计';
-$lang->block->default['project']['1']['block'] = 'statistic';
-$lang->block->default['project']['1']['grid'] = 8;
+$lang->block->default['execution']['1']['title'] = $lang->executionCommon . '统计';
+$lang->block->default['execution']['1']['block'] = 'statistic';
+$lang->block->default['execution']['1']['grid'] = 8;
-$lang->block->default['project']['1']['params']['type'] = 'all';
-$lang->block->default['project']['1']['params']['count'] = '20';
+$lang->block->default['execution']['1']['params']['type'] = 'all';
+$lang->block->default['execution']['1']['params']['count'] = '20';
-$lang->block->default['project']['2']['title'] = $lang->executionCommon . '总览';
-$lang->block->default['project']['2']['block'] = 'overview';
-$lang->block->default['project']['2']['grid'] = 4;
+$lang->block->default['execution']['2']['title'] = $lang->executionCommon . '总览';
+$lang->block->default['execution']['2']['block'] = 'overview';
+$lang->block->default['execution']['2']['grid'] = 4;
-$lang->block->default['project']['3']['title'] = '未关闭的' . $lang->executionCommon;
-$lang->block->default['project']['3']['block'] = 'list';
-$lang->block->default['project']['3']['grid'] = 8;
+$lang->block->default['execution']['3']['title'] = '未关闭的' . $lang->executionCommon;
+$lang->block->default['execution']['3']['block'] = 'list';
+$lang->block->default['execution']['3']['grid'] = 8;
-$lang->block->default['project']['3']['params']['count'] = 15;
-$lang->block->default['project']['3']['params']['orderBy'] = 'id_desc';
-$lang->block->default['project']['3']['params']['type'] = 'undone';
+$lang->block->default['execution']['3']['params']['count'] = 15;
+$lang->block->default['execution']['3']['params']['orderBy'] = 'id_desc';
+$lang->block->default['execution']['3']['params']['type'] = 'undone';
-$lang->block->default['project']['4']['title'] = '指派给我的任务';
-$lang->block->default['project']['4']['block'] = 'task';
-$lang->block->default['project']['4']['grid'] = 4;
+$lang->block->default['execution']['4']['title'] = '指派给我的任务';
+$lang->block->default['execution']['4']['block'] = 'task';
+$lang->block->default['execution']['4']['grid'] = 4;
-$lang->block->default['project']['4']['params']['count'] = 15;
-$lang->block->default['project']['4']['params']['orderBy'] = 'id_desc';
-$lang->block->default['project']['4']['params']['type'] = 'assignedTo';
+$lang->block->default['execution']['4']['params']['count'] = 15;
+$lang->block->default['execution']['4']['params']['orderBy'] = 'id_desc';
+$lang->block->default['execution']['4']['params']['type'] = 'assignedTo';
-$lang->block->default['project']['5']['title'] = '版本列表';
-$lang->block->default['project']['5']['block'] = 'build';
-$lang->block->default['project']['5']['grid'] = 8;
+$lang->block->default['execution']['5']['title'] = '版本列表';
+$lang->block->default['execution']['5']['block'] = 'build';
+$lang->block->default['execution']['5']['grid'] = 8;
-$lang->block->default['project']['5']['params']['count'] = 15;
-$lang->block->default['project']['5']['params']['orderBy'] = 'id_desc';
+$lang->block->default['execution']['5']['params']['count'] = 15;
+$lang->block->default['execution']['5']['params']['orderBy'] = 'id_desc';
$lang->block->default['qa']['1']['title'] = '测试统计';
$lang->block->default['qa']['1']['block'] = 'statistic';
@@ -277,7 +277,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'] = 'program';
+$lang->block->default['full']['my']['4']['source'] = 'project';
$lang->block->default['full']['my']['4']['grid'] = 8;
$lang->block->default['full']['my']['5']['title'] = '我的贡献';
@@ -287,7 +287,7 @@ $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'] = 'program';
+$lang->block->default['full']['my']['6']['source'] = 'project';
$lang->block->default['full']['my']['6']['grid'] = 8;
$lang->block->default['full']['my']['7']['title'] = '指派给我';
@@ -303,13 +303,13 @@ $lang->block->default['full']['my']['7']['params']['issueNum'] = '20';
$lang->block->default['full']['my']['7']['params']['storyNum'] = '20';
$lang->block->default['full']['my']['8']['title'] = '项目人力投入';
-$lang->block->default['full']['my']['8']['block'] = 'programteam';
-$lang->block->default['full']['my']['8']['source'] = 'program';
+$lang->block->default['full']['my']['8']['block'] = 'projectteam';
+$lang->block->default['full']['my']['8']['source'] = 'project';
$lang->block->default['full']['my']['8']['grid'] = 8;
$lang->block->default['full']['my']['9']['title'] = '项目列表';
-$lang->block->default['full']['my']['9']['block'] = 'program';
-$lang->block->default['full']['my']['9']['source'] = 'program';
+$lang->block->default['full']['my']['9']['block'] = 'project';
+$lang->block->default['full']['my']['9']['source'] = 'project';
$lang->block->default['full']['my']['9']['grid'] = 8;
$lang->block->default['full']['my']['9']['params']['orderBy'] = 'id_desc';
@@ -320,33 +320,32 @@ $lang->block->type = '类型';
$lang->block->orderBy = '排序';
$lang->block->availableBlocks = new stdclass();
+$lang->block->availableBlocks->todo = '我的待办';
+$lang->block->availableBlocks->task = '我的任务';
+$lang->block->availableBlocks->bug = '我的Bug';
+$lang->block->availableBlocks->case = '我的用例';
+$lang->block->availableBlocks->story = "我的{$lang->SRCommon}";
+$lang->block->availableBlocks->product = $lang->productCommon . '列表';
+$lang->block->availableBlocks->execution = $lang->executionCommon . '列表';
+$lang->block->availableBlocks->plan = "计划列表";
+$lang->block->availableBlocks->release = '发布列表';
+$lang->block->availableBlocks->build = '版本列表';
+$lang->block->availableBlocks->testtask = '测试版本列表';
+$lang->block->availableBlocks->risk = '我的风险';
+$lang->block->availableBlocks->issue = '我的问题';
-$lang->block->availableBlocks->todo = '我的待办';
-$lang->block->availableBlocks->task = '我的任务';
-$lang->block->availableBlocks->bug = '我的Bug';
-$lang->block->availableBlocks->case = '我的用例';
-$lang->block->availableBlocks->story = "我的{$lang->SRCommon}";
-$lang->block->availableBlocks->product = $lang->productCommon . '列表';
-$lang->block->availableBlocks->project = $lang->executionCommon . '列表';
-$lang->block->availableBlocks->plan = "计划列表";
-$lang->block->availableBlocks->release = '发布列表';
-$lang->block->availableBlocks->build = '版本列表';
-$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->executionCommon;
+$lang->block->moduleList['qa'] = '测试';
+$lang->block->moduleList['todo'] = '待办';
-$lang->block->moduleList['program'] = '项目';
-$lang->block->moduleList['product'] = $lang->productCommon;
-$lang->block->moduleList['project'] = $lang->executionCommon;
-$lang->block->moduleList['qa'] = '测试';
-$lang->block->moduleList['todo'] = '待办';
-
-$lang->block->modules['program'] = new stdclass();
-$lang->block->modules['program']->availableBlocks = new stdclass();
-$lang->block->modules['program']->availableBlocks->program = '项目列表';
-$lang->block->modules['program']->availableBlocks->recentproject = '近期项目';
-$lang->block->modules['program']->availableBlocks->statistic = '项目统计';
-$lang->block->modules['program']->availableBlocks->programteam = '项目人力投入';
+$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['scrum']['index'] = new stdclass();
$lang->block->modules['scrum']['index']->availableBlocks = new stdclass();
@@ -375,13 +374,13 @@ $lang->block->modules['product']->availableBlocks->story = "{$lang->SRCommon
$lang->block->modules['product']->availableBlocks->plan = "计划列表";
$lang->block->modules['product']->availableBlocks->release = '发布列表';
-$lang->block->modules['project'] = new stdclass();
-$lang->block->modules['project']->availableBlocks = new stdclass();
-$lang->block->modules['project']->availableBlocks->statistic = $lang->executionCommon . '统计';
-$lang->block->modules['project']->availableBlocks->overview = $lang->executionCommon . '总览';
-$lang->block->modules['project']->availableBlocks->list = $lang->executionCommon . '列表';
-$lang->block->modules['project']->availableBlocks->task = '任务列表';
-$lang->block->modules['project']->availableBlocks->build = '版本列表';
+$lang->block->modules['execution'] = new stdclass();
+$lang->block->modules['execution']->availableBlocks = new stdclass();
+$lang->block->modules['execution']->availableBlocks->statistic = $lang->executionCommon . '统计';
+$lang->block->modules['execution']->availableBlocks->overview = $lang->executionCommon . '总览';
+$lang->block->modules['execution']->availableBlocks->list = $lang->executionCommon . '列表';
+$lang->block->modules['execution']->availableBlocks->task = '任务列表';
+$lang->block->modules['execution']->availableBlocks->build = '版本列表';
$lang->block->modules['qa'] = new stdclass();
$lang->block->modules['qa']->availableBlocks = new stdclass();
@@ -403,11 +402,11 @@ $lang->block->orderByList->product['id_desc'] = 'ID 递减';
$lang->block->orderByList->product['status_asc'] = '状态正序';
$lang->block->orderByList->product['status_desc'] = '状态倒序';
-$lang->block->orderByList->project = array();
-$lang->block->orderByList->project['id_asc'] = 'ID 递增';
-$lang->block->orderByList->project['id_desc'] = 'ID 递减';
-$lang->block->orderByList->project['status_asc'] = '状态正序';
-$lang->block->orderByList->project['status_desc'] = '状态倒序';
+$lang->block->orderByList->execution = array();
+$lang->block->orderByList->execution['id_asc'] = 'ID 递增';
+$lang->block->orderByList->execution['id_desc'] = 'ID 递减';
+$lang->block->orderByList->execution['status_asc'] = '状态正序';
+$lang->block->orderByList->execution['status_desc'] = '状态倒序';
$lang->block->orderByList->task = array();
$lang->block->orderByList->task['id_asc'] = 'ID 递增';
@@ -478,15 +477,15 @@ $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->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'] = '进行中';
@@ -499,27 +498,27 @@ $lang->block->typeList->testtask['blocked'] = '阻塞版本';
$lang->block->typeList->testtask['done'] = '已测版本';
$lang->block->typeList->testtask['all'] = '全部';
-$lang->block->modules['program']->moreLinkList = new stdclass();
-$lang->block->modules['program']->moreLinkList->recentproject = 'program|prjbrowse|';
-$lang->block->modules['program']->moreLinkList->statistic = 'program|prjbrowse|';
-$lang->block->modules['program']->moreLinkList->project = '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 = '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['project']->moreLinkList = new stdclass();
+$lang->block->modules['project']->moreLinkList->recentproject = 'project|browse|';
+$lang->block->modules['project']->moreLinkList->statistic = 'project|browse|';
+$lang->block->modules['project']->moreLinkList->project = 'project|browse|';
+$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['product']->moreLinkList = new stdclass();
$lang->block->modules['product']->moreLinkList->list = 'product|all|';
$lang->block->modules['product']->moreLinkList->story = 'my|story|type=%s';
-$lang->block->modules['project']->moreLinkList = new stdclass();
-$lang->block->modules['project']->moreLinkList->list = 'project|all|status=%s&project=';
-$lang->block->modules['project']->moreLinkList->task = 'my|task|type=%s';
+$lang->block->modules['execution']->moreLinkList = new stdclass();
+$lang->block->modules['execution']->moreLinkList->list = 'execution|all|status=%s&executionID=';
+$lang->block->modules['execution']->moreLinkList->task = 'my|task|type=%s';
$lang->block->modules['qa']->moreLinkList = new stdclass();
$lang->block->modules['qa']->moreLinkList->bug = 'my|bug|type=%s';
@@ -541,9 +540,9 @@ $lang->block->welcomeList['19:00'] = '%s,晚上好!';
$lang->block->gridOptions[8] = '左侧';
$lang->block->gridOptions[4] = '右侧';
-$lang->block->flowchart = array();
-$lang->block->flowchart['admin'] = array('管理员', '维护公司', '添加用户', '维护权限');
-$lang->block->flowchart['product'] = array($lang->productCommon . '经理', '创建' . $lang->productCommon, '维护模块', "维护计划", "维护{$lang->SRCommon}", '创建发布');
-$lang->block->flowchart['project'] = array($lang->executionCommon . '经理', '创建' . $lang->executionCommon, '维护团队', '关联' . $lang->productCommon, "关联{$lang->SRCommon}", '分解任务');
-$lang->block->flowchart['dev'] = array('研发人员', '领取任务和Bug', '更新状态', '完成任务和Bug');
-$lang->block->flowchart['tester'] = array('测试人员', '撰写用例', '执行用例', '提交Bug', '验证Bug', '关闭Bug');
+$lang->block->flowchart = array();
+$lang->block->flowchart['admin'] = array('管理员', '维护公司', '添加用户', '维护权限');
+$lang->block->flowchart['product'] = array($lang->productCommon . '经理', '创建' . $lang->productCommon, '维护模块', "维护计划", "维护{$lang->SRCommon}", '创建发布');
+$lang->block->flowchart['execution'] = array($lang->executionCommon . '经理', '创建' . $lang->executionCommon, '维护团队', '关联' . $lang->productCommon, "关联{$lang->SRCommon}", '分解任务');
+$lang->block->flowchart['dev'] = array('研发人员', '领取任务和Bug', '更新状态', '完成任务和Bug');
+$lang->block->flowchart['tester'] = array('测试人员', '撰写用例', '执行用例', '提交Bug', '验证Bug', '关闭Bug');
diff --git a/module/block/model.php b/module/block/model.php
index 0a74b0391c..a40e6f3bc5 100644
--- a/module/block/model.php
+++ b/module/block/model.php
@@ -220,16 +220,14 @@ class blockModel extends model
{
$flow = isset($this->config->global->flow) ? $this->config->global->flow : 'full';
$account = $this->app->user->account;
- if($module == 'program')
+ if($module == 'project')
{
- $blocks = $this->lang->block->default[$type]['program'];
- $projectID = $this->session->PRJ;
- $project = $this->loadModel('program')->getPRJByID($projectID);
+ $blocks = $this->lang->block->default[$type]['project'];
/* Mark project block has init. */
- $this->loadModel('setting')->setItem("$account.$module.{$project->model}common.blockInited", true);
+ $this->loadModel('setting')->setItem("$account.$module.{$type}common.blockInited", true);
}
- else
+ else
{
$blocks = $module == 'my' ? $this->lang->block->default[$flow][$module] : $this->lang->block->default[$module];
diff --git a/module/block/view/bugblock.html.php b/module/block/view/bugblock.html.php
index e924d32762..4756d776a9 100644
--- a/module/block/view/bugblock.html.php
+++ b/module/block/view/bugblock.html.php
@@ -53,7 +53,7 @@
?>
| id);?> |
- createLink('bug', 'view', "bugID=$bug->id", '', '', $bug->PRJ), $bug->title)?> |
+ createLink('bug', 'view', "bugID=$bug->id", '', '', $bug->project), $bug->title)?> |
diff --git a/module/block/view/executionblock.html.php b/module/block/view/executionblock.html.php
new file mode 100644
index 0000000000..a86a0de19d
--- /dev/null
+++ b/module/block/view/executionblock.html.php
@@ -0,0 +1,73 @@
+
+ * @package block
+ * @version $Id$
+ * @link http://www.zentao.net
+ */
+?>
+
+ " . $lang->project->create, '', "class='btn btn-primary'")?>
+
+
+
+
+
+ | execution->name;?> |
+ execution->end;?> |
+
+
+ statusAB;?> |
+ execution->totalEstimate;?> |
+ execution->totalConsumed;?> |
+ execution->totalLeft;?> |
+
+ execution->progress;?> |
+
+ execution->burn;?> |
+
+
+
+
+
+
+ get->entry}'" : "class='text-center'";
+ $viewLink = $this->createLink('execution', 'task', 'executionID=' . $execution->id);
+ ?>
+ >
+ | name, '', "title='$execution->name'");?> |
+ end;?> |
+
+
+ delay)):?>
+ execution->delayed;?>
+
+ processStatus('project', $execution);?>
+
+
+ |
+ hours->totalEstimate . ' ' . $lang->execution->workHourUnit;?> |
+ hours->totalConsumed . ' ' . $lang->execution->workHourUnit;?> |
+ hours->totalLeft . ' ' . $lang->execution->workHourUnit;?> |
+
+
+
+
+ hours->progress;?>%
+
+
+ |
+
+ burns);?>'> |
+
+
+
+
+
+
+
diff --git a/module/block/view/projectoverviewblock.html.php b/module/block/view/executionoverviewblock.html.php
similarity index 86%
rename from module/block/view/projectoverviewblock.html.php
rename to module/block/view/executionoverviewblock.html.php
index 1db462e865..c8c65340ee 100644
--- a/module/block/view/projectoverviewblock.html.php
+++ b/module/block/view/executionoverviewblock.html.php
@@ -16,9 +16,9 @@
diff --git a/module/block/view/programstatisticblock.html.php b/module/block/view/executionstatisticblock.html.php
similarity index 52%
rename from module/block/view/programstatisticblock.html.php
rename to module/block/view/executionstatisticblock.html.php
index f3ff2ebd49..4eb5a0dad9 100644
--- a/module/block/view/programstatisticblock.html.php
+++ b/module/block/view/executionstatisticblock.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->project->doneStories;?>
- doneStories;?>
+ task->statusList['done'];?>
+ progress;?>percent;?>
- project->allStories;?>
- allStories;?>
+ execution->totalEstimate;?>
+ totalEstimate;?> task->hour;?>
- project->doneStories;?>
- doneStories;?>
+ execution->totalConsumed;?>
+ totalConsumed;?> task->hour;?>
- project->leftStories;?>
- leftStories;?>
+ execution->totalLeft;?>
+ totalLeft;?> task->hour;?>
-
- project->allInput;?>
-
- project->membersUnit, $project->teamCount);?>
- project->hoursUnit, $project->estimate);?>
- budget . ' ' . zget($lang->project->unitList, $project->budgetUnit);?>
-
-
-
-
- project->lastIteration;?>
- executions as $execution):?>
-
- 3) break;?>
- name;?>
-
-
-
- hours->progress . '%';?>
-
+
+ task->yesterdayFinished;?> yesterdayFinished;?>
+
-
-
-
-
-
-
- project->weekly;?>
- current;?>
-
-
-
- project->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);?> |
+
+
+
-
-
- project->pv;?>
- pv;?>
+
+ story->released;?> releasedStories;?>
+
-
- project->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);?> |
+
+
+
-
- project->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);?> |
+
+
+
-
-
-
- project->allInput;?>
-
-
-
-
-
-
- project->PRJPM;?>
- PM ? zget($users, $project->PM) : $lang->project->emptyPM;?>
-
-
- project->teamCount;?>
- teamCount;?>
-
-
- project->PRJBudget;?>
- budget;?>
-
-
-
-
-
- project->ac;?>
- ac;?>
-
-
- project->cv;?>
- cv;?>
-
-
-
-
-
-
diff --git a/module/block/view/programteamblock.html.php b/module/block/view/executionteamblock.html.php
similarity index 80%
rename from module/block/view/programteamblock.html.php
rename to module/block/view/executionteamblock.html.php
index 7e4fff2426..20cea8dba9 100644
--- a/module/block/view/programteamblock.html.php
+++ b/module/block/view/executionteamblock.html.php
@@ -8,13 +8,12 @@ $maxConsumed = 0;
- project->name;?>
teamCount);
$maxConsumed = max($maxConsumed, $project->consumed);
?>
- name;?>
+ name;?>
@@ -37,7 +36,7 @@ $maxConsumed = 0;
- consumed . $lang->execution->workHourUnit;?>
+ consumed;?>
@@ -48,7 +47,7 @@ $maxConsumed = 0;
-
- '>
-
-
- | project->name;?> |
- program->PM;?> |
- program->status;?> |
-
- program->teamCount;?> |
- task->consumed;?> |
- program->budget;?> |
- project->leftStories;?> |
- project->leftTasks;?> |
- project->leftBugs;?> |
-
-
-
-
-
- createLink('program', 'index', "programID={$project->id}");
- ?>
-
- | name);?> |
- PM, $project->PM)?> |
-
- project->statusList, $project->status);?>
- |
-
- teamCount;?> |
- consumed . ' ' . $lang->execution->workHourUnit;?> |
- app->getClientLang(), ['zh-cn','zh-tw']) && $project->budget >= 10000 ? number_format($project->budget / 10000, 1) . $this->lang->program->tenThousand : number_format((float)$project->budget, 1);?>
- budget != 0 ? zget($lang->project->currencySymbol, $project->budgetUnit) . ' ' . $programBudget : $lang->project->future;?> |
- leftStories;?> |
- leftTasks;?> |
- leftBugs;?> |
-
-
-
-
-
-
-
diff --git a/module/block/view/projectblock.html.php b/module/block/view/projectblock.html.php
index 6ab7f38894..5af4c1331f 100644
--- a/module/block/view/projectblock.html.php
+++ b/module/block/view/projectblock.html.php
@@ -1,72 +1,49 @@
-
- * @package block
- * @version $Id$
- * @link http://www.zentao.net
- */
-?>
-
- " . $lang->project->create, '', "class='btn btn-primary'")?>
+
+ block->emptyTip;?>
-
-
+
+
+ '>
-
- | project->name;?> |
- project->end;?> |
+
+ | project->name;?> |
+ program->PM;?> |
+ program->status;?> |
-
- statusAB;?> |
- execution->totalEstimate;?> |
- execution->totalConsumed;?> |
- execution->totalLeft;?> |
-
- project->progress;?> |
-
- execution->burn;?> |
+ program->teamCount;?> |
+ task->consumed;?> |
+ program->budget;?> |
+ project->leftStories;?> |
+ project->leftTasks;?> |
+ project->leftBugs;?> |
-
-
-
+
+
get->entry}'" : "class='text-center'";
- $viewLink = $this->createLink('execution', 'task', 'execution=' . $execution->id);
+ $viewLink = $this->createLink('program', 'index', "programID={$project->id}");
?>
- >
- | createLink('execution', 'task', 'execution=' . $execution->id), $execution->name, '', "title='$execution->name'");?> |
- end;?> |
-
-
- delay)):?>
- execution->delayed;?>
-
- processStatus('project', $execution);?>
-
-
- |
- hours->totalEstimate . ' ' . $lang->execution->workHourUnit;?> |
- hours->totalConsumed . ' ' . $lang->execution->workHourUnit;?> |
- hours->totalLeft . ' ' . $lang->execution->workHourUnit;?> |
-
-
-
-
- hours->progress;?>%
-
-
+ |
+ | name);?> |
+ PM, $project->PM)?> |
+
+ project->statusList, $project->status);?>
|
- burns);?>'> |
+ teamCount;?> |
+ consumed . ' ' . $lang->execution->workHourUnit;?> |
+ app->getClientLang(), ['zh-cn','zh-tw']) && $project->budget >= 10000 ? number_format($project->budget / 10000, 1) . $this->lang->program->tenThousand : number_format((float)$project->budget, 1);?>
+ budget != 0 ? zget($lang->project->currencySymbol, $project->budgetUnit) . ' ' . $programBudget : $lang->project->future;?> |
+ leftStories;?> |
+ leftTasks;?> |
+ leftBugs;?> |
-
-
+
+
diff --git a/module/block/view/projectstatisticblock.html.php b/module/block/view/projectstatisticblock.html.php
index d6da2a5acc..4fe90823c0 100644
--- a/module/block/view/projectstatisticblock.html.php
+++ b/module/block/view/projectstatisticblock.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->project->doneStories;?>
+ doneStories;?>
- project->totalEstimate;?>
- totalEstimate;?> task->hour;?>
+ project->allStories;?>
+ allStories;?>
- project->totalConsumed;?>
- totalConsumed;?> task->hour;?>
+ project->doneStories;?>
+ doneStories;?>
- project->totalLeft;?>
- totalLeft;?> task->hour;?>
+ project->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);?> |
-
-
-
+
+ project->allInput;?>
+
+ project->membersUnit, $project->teamCount);?>
+ project->hoursUnit, $project->estimate);?>
+ budget . ' ' . zget($lang->project->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);?> |
-
-
+
+
+ project->lastIteration;?>
+ executions as $execution):?>
+
+ 3) break;?>
+ name;?>
+
+
+
+ hours->progress . '%';?>
+
+
+
+
+
+
+
+ project->weekly;?>
+ current;?>
+
+
+
+ project->progress;?>
+ 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);?> |
-
-
-
+
+ project->ev;?>
+ ev;?>
+
+
+
+
+
+ project->allInput;?>
+
+
+
+
+
+
+ project->PM;?>
+ PM ? zget($users, $project->PM) : $lang->project->emptyPM;?>
+
+
+ project->teamCount;?>
+ teamCount;?>
+
+
+ project->budget;?>
+ budget;?>
+
+
+
+
+
+ project->ac;?>
+ ac;?>
+
+
+ project->cv;?>
+ cv;?>
+
+
+
+
+
+
diff --git a/module/block/view/projectteamblock.html.php b/module/block/view/projectteamblock.html.php
index 20cea8dba9..7e4fff2426 100644
--- a/module/block/view/projectteamblock.html.php
+++ b/module/block/view/projectteamblock.html.php
@@ -8,12 +8,13 @@ $maxConsumed = 0;
+ project->name;?>
teamCount);
$maxConsumed = max($maxConsumed, $project->consumed);
?>
- name;?>
+ name;?>
@@ -36,7 +37,7 @@ $maxConsumed = 0;
- consumed;?>
+ consumed . $lang->execution->workHourUnit;?>
@@ -47,7 +48,7 @@ $maxConsumed = 0;
|