diff --git a/module/block/control.php b/module/block/control.php
index 658fdb9f39..e778970060 100644
--- a/module/block/control.php
+++ b/module/block/control.php
@@ -204,7 +204,7 @@ class block extends control
* @access public
* @return void
*/
- public function dashboard($module)
+ public function dashboard($module, $type = '')
{
if($this->loadModel('user')->isLogon()) $this->session->set('blockModule', $module);
$blocks = $this->block->getBlockList($module);
@@ -213,7 +213,7 @@ class block extends control
/* Init block when vist index first. */
if(empty($blocks) and !$inited and !defined('TUTORIAL'))
{
- if($this->block->initBlock($module)) die(js::reload());
+ if($this->block->initBlock($module, $type)) die(js::reload());
}
$acls = $this->app->user->rights['acls'];
@@ -983,40 +983,69 @@ class block extends control
}
/**
- * Print program statistic block.
+ * Print cmmi report block.
*
* @access public
* @return void
*/
- public function printProgramStatisticBlock()
+ public function printCmmiReportBlock()
{
- $this->loadModel('program');
- /* Get projects. */
- $projects = $this->loadModel('project')->getList('all', 0, 0, 0, 'program');
- $sprints = $this->project->getList();
- $total = count($sprints);
- foreach($projects as $project)
- {
- $project->sprints = 0;
- foreach($this->lang->project->statusList as $key => $status)
- {
- $project->$key = new stdclass();
- $project->$key->count = 0;
- }
+ $this->view->program = $this->loadModel('project')->getByID($this->session->program);
+ }
- foreach($sprints as $sprint)
- {
- if($sprint->program == $project->id)
- {
- $project->sprints ++;
- $project->{$sprint->status}->count ++;
- }
- }
+ /**
+ * Print cmmi gantt block.
+ *
+ * @access public
+ * @return void
+ */
+ public function printCmmiGanttBlock()
+ {
+ $this->view->program = $this->loadModel('project')->getByID($this->session->program);
+ }
- foreach($this->lang->project->statusList as $key => $status) $project->$key->percent = $total ? round($project->$key->count / $total, 2) * 100 . '%' : '0%';
- }
+ /**
+ * Print cmmi gantt block.
+ *
+ * @access public
+ * @return void
+ */
+ public function printCmmiIssueBlock()
+ {
+ $this->view->program = $this->loadModel('project')->getByID($this->session->program);
+ }
- $this->view->projects = $projects;
+ /**
+ * Print cmmi risk block.
+ *
+ * @access public
+ * @return void
+ */
+ public function printCmmiRiskBlock()
+ {
+ $this->view->program = $this->loadModel('project')->getByID($this->session->program);
+ }
+
+ /**
+ * Print cmmi estimate block.
+ *
+ * @access public
+ * @return void
+ */
+ public function printCmmiEstimateBlock()
+ {
+ $this->view->program = $this->loadModel('project')->getByID($this->session->program);
+ }
+
+ /**
+ * Print cmmi progress block.
+ *
+ * @access public
+ * @return void
+ */
+ public function printCmmiprogressBlock()
+ {
+ $this->view->program = $this->loadModel('project')->getByID($this->session->program);
}
/**
diff --git a/module/block/lang/zh-cn.php b/module/block/lang/zh-cn.php
index eada6929c1..73eb0241cf 100644
--- a/module/block/lang/zh-cn.php
+++ b/module/block/lang/zh-cn.php
@@ -64,6 +64,35 @@ $lang->block->nbsp = '';
$lang->block->hidden = '隐藏';
$lang->block->dynamicInfo = "%s %s %s %s %s";
+$lang->block->default['cmmi']['program']['1']['title'] = '项目周报';
+$lang->block->default['cmmi']['program']['1']['block'] = 'cmmireport';
+$lang->block->default['cmmi']['program']['1']['grid'] = 8;
+
+$lang->block->default['cmmi']['program']['2']['title'] = '估算';
+$lang->block->default['cmmi']['program']['2']['block'] = 'cmmiestimate';
+$lang->block->default['cmmi']['program']['2']['grid'] = 4;
+
+$lang->block->default['cmmi']['program']['3']['title'] = '计划甘特图';
+$lang->block->default['cmmi']['program']['3']['block'] = 'cmmigantt';
+$lang->block->default['cmmi']['program']['3']['grid'] = 8;
+
+$lang->block->default['cmmi']['program']['4']['title'] = '到目前为止项目进展趋势图';
+$lang->block->default['cmmi']['program']['4']['block'] = 'cmmiprogress';
+$lang->block->default['cmmi']['program']['4']['grid'] = 4;
+
+$lang->block->default['cmmi']['program']['5']['title'] = '项目问题';
+$lang->block->default['cmmi']['program']['5']['block'] = 'cmmiissue';
+$lang->block->default['cmmi']['program']['5']['grid'] = 8;
+
+$lang->block->default['cmmi']['program']['6']['title'] = '最新动态';
+$lang->block->default['cmmi']['program']['6']['block'] = 'dynamic';
+$lang->block->default['cmmi']['program']['6']['grid'] = 4;
+$lang->block->default['cmmi']['program']['6']['source'] = '';
+
+$lang->block->default['cmmi']['program']['7']['title'] = '项目风险';
+$lang->block->default['cmmi']['program']['7']['block'] = 'cmmirisk';
+$lang->block->default['cmmi']['program']['7']['grid'] = 8;
+
$lang->block->default['product']['1']['title'] = $lang->productCommon . '统计';
$lang->block->default['product']['1']['block'] = 'statistic';
$lang->block->default['product']['1']['grid'] = 8;
diff --git a/module/block/model.php b/module/block/model.php
index f35d493da6..9c8a109623 100644
--- a/module/block/model.php
+++ b/module/block/model.php
@@ -218,11 +218,12 @@ class blockModel extends model
* @access public
* @return bool
*/
- public function initBlock($module)
+ public function initBlock($module, $type = '')
{
$flow = isset($this->config->global->flow) ? $this->config->global->flow : 'full';
- $blocks = $module == 'my' ? $this->lang->block->default[$flow][$module] : $this->lang->block->default[$module];
$account = $this->app->user->account;
+ if($module == 'program') $blocks = $this->lang->block->default[$type]['program'];
+ else $blocks = $module == 'my' ? $this->lang->block->default[$flow][$module] : $this->lang->block->default[$module];
/* Mark this app has init. */
$this->loadModel('setting')->setItem("$account.$module.common.blockInited", true);
diff --git a/module/block/view/cmmiestimateblock.html.php b/module/block/view/cmmiestimateblock.html.php
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/module/block/view/cmmiganttblock.html.php b/module/block/view/cmmiganttblock.html.php
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/module/block/view/cmmiissueblock.html.php b/module/block/view/cmmiissueblock.html.php
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/module/block/view/cmmiprogressblock.html.php b/module/block/view/cmmiprogressblock.html.php
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/module/block/view/cmmireportblock.html.php b/module/block/view/cmmireportblock.html.php
new file mode 100644
index 0000000000..26004dbdec
--- /dev/null
+++ b/module/block/view/cmmireportblock.html.php
@@ -0,0 +1,24 @@
+
+
+
| id;?> |
code;?> |
- createLink('program', 'index', "programID=$program->id"), $program->name, '', "class='transfer' data-id={$program->id}");?> |
+ createLink('program', 'index', "programID=$program->id"), $program->name);?> |
begin;?> |
end;?> |
diff --git a/module/program/control.php b/module/program/control.php
index dd123847c9..de0afec313 100644
--- a/module/program/control.php
+++ b/module/program/control.php
@@ -18,10 +18,9 @@ class program extends control
*/
public function index($programID = 0)
{
+ $this->lang->navGroup->program = 'program';
if(!$programID) $programID = $this->session->program;
$this->session->set('program', $programID);
- $this->lang->navGroup->program = 'program';
-
$this->view->title = $this->lang->program->common . $this->lang->colon . $this->lang->program->index;
$this->view->position[] = $this->lang->program->index;
@@ -684,6 +683,7 @@ class program extends control
$this->view->module = $module;
$this->view->method = $method;
$this->view->extra = $extra;
+
$programs = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->in(array_keys($this->programs))->orderBy('order desc')->fetchAll();
$programPairs = array();
foreach($programs as $program) $programPairs[$program->id] = $program->name;
diff --git a/module/program/js/browse.js b/module/program/js/browse.js
index c9b74f4201..fa840f3578 100644
--- a/module/program/js/browse.js
+++ b/module/program/js/browse.js
@@ -38,14 +38,4 @@ $(function()
for(i = 0; i < data.list.length; i++) list += $(data.list[i].item).attr('data-id') + ',';
$.post(createLink('project', 'updateOrder'), {'projects' : list, 'orderBy' : orderBy});
});
-
- $('.pgm-title .transfer').click(function()
- {
- var programID = $(this).attr('data-id');
- var link = createLink('program', 'ajaxGetEnterLink', "programID=" + programID);
- $.post(link, function(pgmLink)
- {
- location.href = pgmLink;
- })
- })
})
diff --git a/module/program/lang/zh-cn.php b/module/program/lang/zh-cn.php
index 5a732e57ea..4104d58604 100644
--- a/module/program/lang/zh-cn.php
+++ b/module/program/lang/zh-cn.php
@@ -1,51 +1,51 @@
program->index = '仪表盘';
-$lang->program->browse = '项目列表';
-$lang->program->common = '项目';
-$lang->program->stage = '阶段';
-$lang->program->name = '项目名称';
-$lang->program->template = '项目模板';
-$lang->program->category = '项目类型';
-$lang->program->desc = '项目描述';
-$lang->program->code = '项目代号';
-$lang->program->copy = '复制项目';
-$lang->program->begin = '计划开始日期';
-$lang->program->end = '计划完成日期';
-$lang->program->status = '项目状态';
-$lang->program->PM = '项目负责人';
-$lang->program->create = '添加项目';
-$lang->program->edit = '编辑项目';
-$lang->program->all = '所有项目';
-$lang->program->start = '启动项目';
-$lang->program->finish = '完成项目';
-$lang->program->suspend = '挂起项目';
-$lang->program->delete = '删除项目';
-$lang->program->close = '关闭项目';
-$lang->program->activate = '激活项目';
-$lang->program->budget = '项目预算';
-$lang->program->dateRange = '起止时间';
-$lang->program->to = '至';
-$lang->program->realFinished = '实际完成日期';
-$lang->program->realStarted = '实际开始日期';
-$lang->program->bygrid = '看板';
-$lang->program->bylist = '列表';
-$lang->program->mine = '我参与的';
-$lang->program->group = '权限分组';
-$lang->program->createGroup = '创建分组';
-$lang->program->editGroup = '编辑分组';
-$lang->program->copyGroup = '复制分组';
-$lang->program->manageView = '维护视图';
-$lang->program->managePriv = '维护权限';
-$lang->program->manageMembers = '项目团队';
-$lang->program->transfer = '进入项目';
-$lang->program->setPlanduration = '设置工期';
-$lang->program->export = '导出';
-$lang->program->privway = '权限控制';
-
+/* Actions. */
+$lang->program->index = '仪表盘';
+$lang->program->create = '添加项目';
+$lang->program->createGuide = '选择项目模板';
+$lang->program->edit = '编辑项目';
+$lang->program->browse = '项目列表';
+$lang->program->all = '所有项目';
+$lang->program->start = '启动项目';
+$lang->program->finish = '完成项目';
+$lang->program->suspend = '挂起项目';
+$lang->program->delete = '删除项目';
+$lang->program->close = '关闭项目';
+$lang->program->activate = '激活项目';
+$lang->program->group = '权限分组';
+$lang->program->createGroup = '创建分组';
+$lang->program->editGroup = '编辑分组';
+$lang->program->copyGroup = '复制分组';
+$lang->program->manageView = '维护视图';
+$lang->program->managePriv = '维护权限';
+$lang->program->manageMembers = '项目团队';
+$lang->program->export = '导出';
$lang->program->manageGroupMember = '维护分组用户';
+
+/* Fields. */
+$lang->program->common = '项目';
+$lang->program->stage = '阶段';
+$lang->program->name = '项目名称';
+$lang->program->template = '项目模板';
+$lang->program->category = '项目类型';
+$lang->program->desc = '项目描述';
+$lang->program->code = '项目代号';
+$lang->program->copy = '复制项目';
+$lang->program->begin = '计划开始日期';
+$lang->program->end = '计划完成日期';
+$lang->program->status = '项目状态';
+$lang->program->PM = '项目负责人';
+$lang->program->budget = '项目预算';
+$lang->program->dateRange = '起止时间';
+$lang->program->to = '至';
+$lang->program->realFinished = '实际完成日期';
+$lang->program->realStarted = '实际开始日期';
+$lang->program->bygrid = '看板';
+$lang->program->bylist = '列表';
+$lang->program->mine = '我参与的';
+$lang->program->setPlanduration = '设置工期';
+$lang->program->privway = '权限控制';
$lang->program->durationEstimation = '工作量估算';
-$lang->program->noProgram = '暂时没有项目';
-$lang->program->accessDenied = '您无权访问该项目!';
$lang->program->unitList[''] = '';
$lang->program->unitList['yuan'] = '元';
@@ -70,15 +70,17 @@ $lang->program->aclList['custom'] = "自定义白名单(团队成员和白名
$lang->program->privwayList['extend'] = '继承(取项目权限与组织权限的并集)';
$lang->program->privwayList['reset'] = '重新定义(只取项目权限)';
-$lang->program->chooseProgramType = '选择项目管理方式';
-$lang->program->nextStep = '下一步';
-$lang->program->hoursUnit = '%s工时';
-$lang->program->membersUnit = '%s人';
-$lang->program->lastIteration = '近期迭代';
-$lang->program->ongoingStage = '进行中的阶段';
-$lang->program->scrum = 'Scrum';
-$lang->program->scrumTitle = '敏捷开发全流程项目管理';
-$lang->program->scrumDesc = '简介:小步迭代,快速发布 包含功能点:项目概览、迭代、计划、需求等';
-$lang->program->cmmi = '瀑布';
-$lang->program->cmmiTitle = '瀑布式项目管理';
-$lang->program->cmmiDesc = '简介:按阶段规范化管理 包含功能点:估算、计划、阶段、报告';
+$lang->program->noProgram = '暂时没有项目';
+$lang->program->accessDenied = '您无权访问该项目!';
+$lang->program->chooseProgramType = '选择项目管理方式';
+$lang->program->nextStep = '下一步';
+$lang->program->hoursUnit = '%s工时';
+$lang->program->membersUnit = '%s人';
+$lang->program->lastIteration = '近期迭代';
+$lang->program->ongoingStage = '进行中的阶段';
+$lang->program->scrum = 'Scrum';
+$lang->program->scrumTitle = '敏捷开发全流程项目管理';
+$lang->program->scrumDesc = '简介:小步迭代,快速发布 包含功能点:项目概览、迭代、计划、需求等';
+$lang->program->cmmi = '瀑布';
+$lang->program->cmmiTitle = '瀑布式项目管理';
+$lang->program->cmmiDesc = '简介:按阶段规范化管理 包含功能点:估算、计划、阶段、报告';
diff --git a/module/program/view/ajaxgetdropmenu.html.php b/module/program/view/ajaxgetdropmenu.html.php
index 79763aeb00..9d45f158a9 100644
--- a/module/program/view/ajaxgetdropmenu.html.php
+++ b/module/program/view/ajaxgetdropmenu.html.php
@@ -23,13 +23,13 @@ foreach($programs as $program)
{
if($program->status != 'done' and $program->status != 'closed' and $program->PM == $this->app->user->account)
{
- $myProgramsHtml .= html::a($link, " " . $program->name, '', "class='text-important transfer' title='{$program->name}' data-id={$program->id} data-key='" . zget($programsPinYin, $program->name, '') . "'");
+ $myProgramsHtml .= html::a($link, " " . $program->name, '', "class='text-important' title='{$program->name}' data-id={$program->id} data-key='" . zget($programsPinYin, $program->name, '') . "'");
}
else if($program->status != 'done' and $program->status != 'closed' and !($program->PM == $this->app->user->account))
{
- $normalProgramsHtml .= html::a($link, " " . $program->name, '', "class='transfer' title='{$program->name}' data-id={$program->id} data-key='" . zget($programsPinYin, $program->name, '') . "'");
+ $normalProgramsHtml .= html::a($link, " " . $program->name, '', "title='{$program->name}' data-id={$program->id} data-key='" . zget($programsPinYin, $program->name, '') . "'");
}
- else if($program->status == 'done' or $program->status == 'closed') $closedProgramsHtml .= html::a($link, " " . $program->name, '', "title='{$program->name}' class='transfer' data-id={$program->id} data-key='" . zget($programsPinYin, $program->name, '') . "'");
+ else if($program->status == 'done' or $program->status == 'closed') $closedProgramsHtml .= html::a($link, " " . $program->name, '', "title='{$program->name}' data-id={$program->id} data-key='" . zget($programsPinYin, $program->name, '') . "'");
}
?>
@@ -65,18 +65,3 @@ foreach($programs as $program)
-
diff --git a/module/program/view/index.html.php b/module/program/view/index.html.php
index 679560fa37..3c4a8b38e1 100644
--- a/module/program/view/index.html.php
+++ b/module/program/view/index.html.php
@@ -1,2 +1,14 @@
+
+ * @package ZenTaoPMS
+ * @version $Id: index.html.php 5094 2013-07-10 08:46:15Z chencongzhi520@gmail.com $
+ */
+?>
+fetch('block', 'dashboard', "module=program&type={$program->template}");?>
diff --git a/module/project/view/index.html.php b/module/project/view/index.html.php
index a3bd91d012..bcb50e3a90 100644
--- a/module/project/view/index.html.php
+++ b/module/project/view/index.html.php
@@ -12,7 +12,7 @@
- project->noProject;?> " . $lang->project->create, '', "class='btn btn-info' data-toggle='modal' data-type='ajax'");?>
+ project->noProject;?> " . $lang->project->create, '', "class='btn btn-info'");?>
fetch('block', 'dashboard', 'module=project');?>
|