moduleName, $this->methodName) as $menuItem):?>
@@ -62,7 +63,7 @@
productplan->stories;?>
productplan->bugs;?>
productplan->hour;?>
- productplan->project;?>
+ productplan->execution;?>
productplan->desc;?>
productplan->getFlowExtendFields();
@@ -127,7 +128,7 @@
" . $this->loadModel('flow')->getFieldValue($extendField, $plan) . "";?>
id"), '', '', "class='btn' title='{$lang->project->create}'");
+ if(common::hasPriv('project', 'create', $plan)) echo html::a('#projects', '', '', "data-toggle='modal' data-id='$plan->id' onclick='getPlanID(this)' class='btn' title='{$lang->project->create}'");
if(common::hasPriv('productplan', 'linkStory', $plan) and $plan->parent >= 0) echo html::a(inlink('view', "planID=$plan->id&type=story&orderBy=id_desc&link=true"), '', '', "class='btn' title='{$lang->productplan->linkStory}'");
if(common::hasPriv('productplan', 'linkBug', $plan)) echo html::a(inlink('view', "planID=$plan->id&type=bug&orderBy=id_desc&link=true"), '', '', "class='btn' title='{$lang->productplan->linkBug}'");
common::printIcon('productplan', 'edit', "planID=$plan->id", $plan, 'list');
@@ -166,4 +167,28 @@
+";
break;
case 'actions':
- if($project->status == 'wait')
- {
- $method = 'PRJStart';
- $icon = 'start';
- }
- if($project->status == 'doing')
- {
- $method = 'PRJClose';
- $icon = 'off';
- }
- if($project->status == 'suspended')
- {
- $method = 'PRJStart';
- $icon = 'start';
- }
- if($project->status == 'closed')
- {
- $method = 'PRJActivate';
- $icon = 'magic';
- }
- common::printIcon('program', $method, "programID=$project->id", $project, 'list', $icon, '', 'iframe', true);
+ if($project->status == 'wait' || $project->status == 'suspended') common::printIcon('program', 'PRJStart', "projectID=$project->id", $project, 'list', 'play', '', 'iframe', true);
+ if($project->status == 'doing') common::printIcon('program', 'PRJClose', "projectID=$project->id", $project, 'list', 'off', '', 'iframe', true);
+ if($project->status == 'closed') common::printIcon('program', 'PRJActivate', "projectID=$project->id", $project, 'list', 'magic', '', 'iframe', true);
echo " ';
+ echo '';
}
}
}
diff --git a/module/program/view/pgmbrowsebylist.html.php b/module/program/view/pgmbrowsebylist.html.php
index dc892c008e..67402a77df 100644
--- a/module/program/view/pgmbrowsebylist.html.php
+++ b/module/program/view/pgmbrowsebylist.html.php
@@ -8,11 +8,11 @@
program->PGMName;?>
- program->PGMPM);?>
+ program->PGMPM);?>
program->PGMBudget);?>
- program->PGMStatus);?>
- program->begin);?>
- program->end);?>
+ program->PGMStatus);?>
+ program->begin);?>
+ program->end);?>
actions;?>
+
diff --git a/module/program/control.php b/module/program/control.php
index 4745630e33..a77182ce0e 100644
--- a/module/program/control.php
+++ b/module/program/control.php
@@ -219,11 +219,11 @@ class program extends control
*/
public function PGMClose($programID)
{
- $program = $this->program->getPGMByID($programID);
+ $this->lang->navGroup->program = 'program';
+ $this->loadModel('action');
if(!empty($_POST))
{
- $this->loadModel('action');
$changes = $this->project->close($programID);
if(dao::isError()) die(js::error(dao::getError()));
@@ -237,14 +237,47 @@ class program extends control
$this->view->title = $this->lang->program->PGMClose;
$this->view->position[] = $this->lang->program->PGMClose;
-
- $this->view->project = $program;
+ $this->view->project = $this->program->getPGMByID($programID);
$this->view->users = $this->loadModel('user')->getPairs('noletter');
- $this->view->actions = $this->loadModel('action')->getList('program', $programID);
+ $this->view->actions = $this->action->getList('program', $programID);
$this->display('project', 'close');
}
+ /**
+ * Start program.
+ *
+ * @param int $programID
+ * @access public
+ * @return void
+ */
+ public function PGMStart($programID)
+ {
+ $this->lang->navGroup->program = 'program';
+ $this->loadModel('action');
+
+ if(!empty($_POST))
+ {
+ $changes = $this->project->start($programID);
+ if(dao::isError()) die(js::error(dao::getError()));
+
+ if($this->post->comment != '' or !empty($changes))
+ {
+ $actionID = $this->action->create('program', $programID, 'Started', $this->post->comment);
+ $this->action->logHistory($actionID, $changes);
+ }
+ $this->executeHooks($programID);
+ die(js::reload('parent.parent'));
+ }
+
+ $this->view->title = $this->lang->project->start;
+ $this->view->position[] = $this->lang->project->start;
+ $this->view->program = $this->program->getPGMByID($programID);
+ $this->view->users = $this->loadModel('user')->getPairs('noletter');
+ $this->view->actions = $this->action->getList('program', $programID);
+ $this->display();
+ }
+
/**
* Activate a program.
*
@@ -254,11 +287,12 @@ class program extends control
*/
public function PGMActivate($programID = 0)
{
+ $this->lang->navGroup->program = 'program';
+ $this->loadModel('action');
$program = $this->program->getPGMByID($programID);
if(!empty($_POST))
{
- $this->loadModel('action');
$changes = $this->project->activate($programID);
if(dao::isError()) die(js::error(dao::getError()));
@@ -276,10 +310,9 @@ class program extends control
$this->view->title = $this->lang->program->PGMActivate;
$this->view->position[] = $this->lang->program->PGMActivate;
-
$this->view->program = $program;
$this->view->users = $this->loadModel('user')->getPairs('noletter');
- $this->view->actions = $this->loadModel('action')->getList('program', $programID);
+ $this->view->actions = $this->action->getList('program', $programID);
$this->view->newBegin = $newBegin;
$this->view->newEnd = $newEnd;
$this->display();
@@ -295,11 +328,10 @@ class program extends control
public function PGMSuspend($programID)
{
$this->lang->navGroup->program = 'program';
- $program = $this->program->getPGMByID($programID);
+ $this->loadModel('action');
if(!empty($_POST))
{
- $this->loadModel('action');
$changes = $this->project->suspend($programID);
if(dao::isError()) die(js::error(dao::getError()));
@@ -315,8 +347,8 @@ class program extends control
$this->view->title = $this->lang->project->suspend;
$this->view->position[] = $this->lang->project->suspend;
$this->view->users = $this->loadModel('user')->getPairs('noletter');
- $this->view->actions = $this->loadModel('action')->getList('project', $programID);
- $this->view->project = $program;
+ $this->view->actions = $this->action->getList('program', $programID);
+ $this->view->project = $this->program->getPGMByID($programID);
$this->display('project', 'suspend');
}
@@ -1192,19 +1224,16 @@ class program extends control
public function PRJStart($projectID)
{
$this->lang->navGroup->program = 'project';
- $project = $this->program->getPGMByID($projectID);
- $projectID = $project->id;
+ $this->loadModel('action');
if(!empty($_POST))
{
- $this->loadModel('action');
$changes = $this->project->start($projectID);
if(dao::isError()) die(js::error(dao::getError()));
if($this->post->comment != '' or !empty($changes))
{
- $objectType = $project->type == 'program' ? 'program' : 'project';
- $actionID = $this->action->create($objectType, $projectID, 'Started', $this->post->comment);
+ $actionID = $this->action->create('project', $projectID, 'Started', $this->post->comment);
$this->action->logHistory($actionID, $changes);
}
$this->executeHooks($projectID);
@@ -1213,9 +1242,9 @@ class program extends control
$this->view->title = $this->lang->project->start;
$this->view->position[] = $this->lang->project->start;
- $this->view->project = $project;
+ $this->view->project = $this->program->getPRJByID($projectID);
$this->view->users = $this->loadModel('user')->getPairs('noletter');
- $this->view->actions = $this->loadModel('action')->getList('project', $projectID);
+ $this->view->actions = $this->action->getList('project', $projectID);
$this->display();
}
@@ -1229,18 +1258,16 @@ class program extends control
public function PRJSuspend($projectID)
{
$this->lang->navGroup->program = 'project';
- $project = $this->program->getPGMByID($projectID);
+ $this->loadModel('action');
if(!empty($_POST))
{
- $this->loadModel('action');
$changes = $this->project->suspend($projectID);
if(dao::isError()) die(js::error(dao::getError()));
if($this->post->comment != '' or !empty($changes))
{
- $objectType = $project->type == 'program' ? 'program' : 'project';
- $actionID = $this->action->create($objectType, $projectID, 'Suspended', $this->post->comment);
+ $actionID = $this->action->create('project', $projectID, 'Suspended', $this->post->comment);
$this->action->logHistory($actionID, $changes);
}
$this->executeHooks($projectID);
@@ -1250,8 +1277,8 @@ class program extends control
$this->view->title = $this->lang->project->suspend;
$this->view->position[] = $this->lang->project->suspend;
$this->view->users = $this->loadModel('user')->getPairs('noletter');
- $this->view->actions = $this->loadModel('action')->getList('project', $projectID);
- $this->view->project = $project;
+ $this->view->actions = $this->action->getList('project', $projectID);
+ $this->view->project = $this->program->getPGMByID($projectID);
$this->display('project', 'suspend');
}
@@ -1266,11 +1293,10 @@ class program extends control
public function PRJClose($projectID)
{
$this->lang->navGroup->program = 'project';
- $project = $this->program->getPGMByID($projectID);
+ $this->loadModel('action');
if(!empty($_POST))
{
- $this->loadModel('action');
$changes = $this->project->close($projectID);
if(dao::isError()) die(js::error(dao::getError()));
@@ -1285,9 +1311,9 @@ class program extends control
$this->view->title = $this->lang->project->close;
$this->view->position[] = $this->lang->project->close;
- $this->view->project = $project;
+ $this->view->project = $this->program->getPGMByID($projectID);
$this->view->users = $this->loadModel('user')->getPairs('noletter');
- $this->view->actions = $this->loadModel('action')->getList('project', $projectID);
+ $this->view->actions = $this->action->getList('project', $projectID);
$this->display('project', 'close');
}
@@ -1302,11 +1328,11 @@ class program extends control
public function PRJActivate($projectID)
{
$this->lang->navGroup->program = 'project';
+ $this->loadModel('action');
$project = $this->program->getPRJByID($projectID);
if(!empty($_POST))
{
- $this->loadModel('action');
$changes = $this->project->activate($projectID);
if(dao::isError()) die(js::error(dao::getError()));
@@ -1325,10 +1351,8 @@ class program extends control
$this->view->title = $this->lang->project->activate;
$this->view->position[] = $this->lang->project->activate;
-
- $this->view->project = $project;
$this->view->users = $this->loadModel('user')->getPairs('noletter');
- $this->view->actions = $this->loadModel('action')->getList('project', $projectID);
+ $this->view->actions = $this->action->getList('project', $projectID);
$this->view->newBegin = $newBegin;
$this->view->newEnd = $newEnd;
$this->view->project = $project;
diff --git a/module/program/lang/de.php b/module/program/lang/de.php
index e2907fdff0..6765f9404a 100644
--- a/module/program/lang/de.php
+++ b/module/program/lang/de.php
@@ -195,6 +195,8 @@ $lang->program->PGMExport = 'Export';
$lang->program->PGMStakeholder = 'Stakeholder';
$lang->program->createStakeholder = 'Create Stakeholder';
$lang->program->unlinkStakeholder = 'Unlink Stakeholder';
+$lang->program->stakeholderType = 'Stakeholder type';
+$lang->program->isStakeholderKey = 'Key stakeholder';
$lang->program->importStakeholder = 'Import program';
$lang->program->PGMManageMembers = 'Program Team';
$lang->program->PGMParentBudget = "Parent program budget:%s";
@@ -204,6 +206,9 @@ $lang->program->PGMEndGreaterParent = "Parent end date: %s, end date should be
$lang->program->PGMBeginGreateChild = "Child earliest begin: %s, parent begin date <= child earliest begin date.";
$lang->program->PGMEndLetterChild = "Child latest end: %s, parent end date >= child latest end date.";
+$lang->program->stakeholderTypeList['inside'] = 'Inside';
+$lang->program->stakeholderTypeList['outside'] = 'Outside';
+
/* Fields. */
$lang->program->PGMName = 'Name';
$lang->program->PGMTemplate = 'Template';
@@ -211,7 +216,7 @@ $lang->program->PGMCategory = 'Type';
$lang->program->PGMDesc = 'Description';
$lang->program->PGMCopy = 'Copy Program';
$lang->program->PGMStatus = 'Status';
-$lang->program->PGMPM = 'Program manager';
+$lang->program->PGMPM = 'Manager';
$lang->program->PGMBudget = 'Budget';
$lang->program->PGMProgress = 'Progress';
$lang->program->PGMChildren = 'Child';
diff --git a/module/program/lang/en.php b/module/program/lang/en.php
index 73f8bfaf4f..91e02f76fd 100644
--- a/module/program/lang/en.php
+++ b/module/program/lang/en.php
@@ -195,6 +195,8 @@ $lang->program->PGMExport = 'Export';
$lang->program->PGMStakeholder = 'Stakeholder';
$lang->program->createStakeholder = 'Create Stakeholder';
$lang->program->unlinkStakeholder = 'Unlink Stakeholder';
+$lang->program->stakeholderType = 'Stakeholder type';
+$lang->program->isStakeholderKey = 'Key stakeholder';
$lang->program->importStakeholder = 'Import program';
$lang->program->PGMManageMembers = 'Program Team';
$lang->program->PGMParentBudget = "Parent program budget:%s";
@@ -204,6 +206,9 @@ $lang->program->PGMEndGreaterParent = "Parent end date: %s, end date should be
$lang->program->PGMBeginGreateChild = "Child earliest begin: %s, parent begin date <= child earliest begin date.";
$lang->program->PGMEndLetterChild = "Child latest end: %s, parent end date >= child latest end date.";
+$lang->program->stakeholderTypeList['inside'] = 'Inside';
+$lang->program->stakeholderTypeList['outside'] = 'Outside';
+
/* Fields. */
$lang->program->PGMName = 'Name';
$lang->program->PGMTemplate = 'Template';
@@ -211,7 +216,7 @@ $lang->program->PGMCategory = 'Type';
$lang->program->PGMDesc = 'Description';
$lang->program->PGMCopy = 'Copy Program';
$lang->program->PGMStatus = 'Status';
-$lang->program->PGMPM = 'Program manager';
+$lang->program->PGMPM = 'Manager';
$lang->program->PGMBudget = 'Budget';
$lang->program->PGMProgress = 'Progress';
$lang->program->PGMChildren = 'Child';
diff --git a/module/program/lang/fr.php b/module/program/lang/fr.php
index e2907fdff0..6765f9404a 100644
--- a/module/program/lang/fr.php
+++ b/module/program/lang/fr.php
@@ -195,6 +195,8 @@ $lang->program->PGMExport = 'Export';
$lang->program->PGMStakeholder = 'Stakeholder';
$lang->program->createStakeholder = 'Create Stakeholder';
$lang->program->unlinkStakeholder = 'Unlink Stakeholder';
+$lang->program->stakeholderType = 'Stakeholder type';
+$lang->program->isStakeholderKey = 'Key stakeholder';
$lang->program->importStakeholder = 'Import program';
$lang->program->PGMManageMembers = 'Program Team';
$lang->program->PGMParentBudget = "Parent program budget:%s";
@@ -204,6 +206,9 @@ $lang->program->PGMEndGreaterParent = "Parent end date: %s, end date should be
$lang->program->PGMBeginGreateChild = "Child earliest begin: %s, parent begin date <= child earliest begin date.";
$lang->program->PGMEndLetterChild = "Child latest end: %s, parent end date >= child latest end date.";
+$lang->program->stakeholderTypeList['inside'] = 'Inside';
+$lang->program->stakeholderTypeList['outside'] = 'Outside';
+
/* Fields. */
$lang->program->PGMName = 'Name';
$lang->program->PGMTemplate = 'Template';
@@ -211,7 +216,7 @@ $lang->program->PGMCategory = 'Type';
$lang->program->PGMDesc = 'Description';
$lang->program->PGMCopy = 'Copy Program';
$lang->program->PGMStatus = 'Status';
-$lang->program->PGMPM = 'Program manager';
+$lang->program->PGMPM = 'Manager';
$lang->program->PGMBudget = 'Budget';
$lang->program->PGMProgress = 'Progress';
$lang->program->PGMChildren = 'Child';
diff --git a/module/program/lang/vi.php b/module/program/lang/vi.php
index e2907fdff0..6765f9404a 100644
--- a/module/program/lang/vi.php
+++ b/module/program/lang/vi.php
@@ -195,6 +195,8 @@ $lang->program->PGMExport = 'Export';
$lang->program->PGMStakeholder = 'Stakeholder';
$lang->program->createStakeholder = 'Create Stakeholder';
$lang->program->unlinkStakeholder = 'Unlink Stakeholder';
+$lang->program->stakeholderType = 'Stakeholder type';
+$lang->program->isStakeholderKey = 'Key stakeholder';
$lang->program->importStakeholder = 'Import program';
$lang->program->PGMManageMembers = 'Program Team';
$lang->program->PGMParentBudget = "Parent program budget:%s";
@@ -204,6 +206,9 @@ $lang->program->PGMEndGreaterParent = "Parent end date: %s, end date should be
$lang->program->PGMBeginGreateChild = "Child earliest begin: %s, parent begin date <= child earliest begin date.";
$lang->program->PGMEndLetterChild = "Child latest end: %s, parent end date >= child latest end date.";
+$lang->program->stakeholderTypeList['inside'] = 'Inside';
+$lang->program->stakeholderTypeList['outside'] = 'Outside';
+
/* Fields. */
$lang->program->PGMName = 'Name';
$lang->program->PGMTemplate = 'Template';
@@ -211,7 +216,7 @@ $lang->program->PGMCategory = 'Type';
$lang->program->PGMDesc = 'Description';
$lang->program->PGMCopy = 'Copy Program';
$lang->program->PGMStatus = 'Status';
-$lang->program->PGMPM = 'Program manager';
+$lang->program->PGMPM = 'Manager';
$lang->program->PGMBudget = 'Budget';
$lang->program->PGMProgress = 'Progress';
$lang->program->PGMChildren = 'Child';
diff --git a/module/program/lang/zh-cn.php b/module/program/lang/zh-cn.php
index 48683485bc..5a738881db 100644
--- a/module/program/lang/zh-cn.php
+++ b/module/program/lang/zh-cn.php
@@ -195,6 +195,8 @@ $lang->program->PGMExport = '导出';
$lang->program->PGMStakeholder = '干系人列表';
$lang->program->createStakeholder = '添加干系人';
$lang->program->unlinkStakeholder = '移除干系人';
+$lang->program->stakeholderType = '干系人类型';
+$lang->program->isStakeholderKey = '关键干系人';
$lang->program->importStakeholder = '从父项目集导入';
$lang->program->PGMManageMembers = '项目集团队';
$lang->program->PGMParentBudget = "父项目集预算:%s";
@@ -204,6 +206,9 @@ $lang->program->PGMEndGreaterParent = "父项目集的完成日期:%s,完
$lang->program->PGMBeginGreateChild = "子项目集的最小开始日期:%s,父项目集的开始日期不能大于子项目集的最小开始日期";
$lang->program->PGMEndLetterChild = "子项目的最大完成日期:%s,父项目的完成日期不能小于子项目的最大完成日期";
+$lang->program->stakeholderTypeList['inside'] = '内部';
+$lang->program->stakeholderTypeList['outside'] = '外部';
+
/* Fields. */
$lang->program->PGMName = '项目集名称';
$lang->program->PGMTemplate = '项目集模板';
@@ -211,7 +216,7 @@ $lang->program->PGMCategory = '项目集类型';
$lang->program->PGMDesc = '项目集描述';
$lang->program->PGMCopy = '复制项目集';
$lang->program->PGMStatus = '状态';
-$lang->program->PGMPM = '项目集负责人';
+$lang->program->PGMPM = '负责人';
$lang->program->PGMBudget = '预算';
$lang->program->PGMProgress = '项目进度';
$lang->program->PGMChildren = '子项目集';
diff --git a/module/program/lang/zh-tw.php b/module/program/lang/zh-tw.php
index 1aea79d568..803e351658 100644
--- a/module/program/lang/zh-tw.php
+++ b/module/program/lang/zh-tw.php
@@ -198,6 +198,8 @@ $lang->program->PGMExport = '導出';
$lang->program->PGMStakeholder = '干係人列表';
$lang->program->createStakeholder = '添加干係人';
$lang->program->unlinkStakeholder = '移除干係人';
+$lang->program->stakeholderType = '干係人類型';
+$lang->program->isStakeholderKey = '關鍵干係人';
$lang->program->importStakeholder = '從父項目集導入';
$lang->program->PGMManageMembers = '項目集團隊';
$lang->program->PGMParentBudget = "父項目集預算:%s";
@@ -207,6 +209,9 @@ $lang->program->PGMEndGreaterParent = "父項目集的完成日期:%s,完
$lang->program->PGMBeginGreateChild = "子項目集的最小開始日期:%s,父項目集的開始日期不能大於子項目集的最小開始日期";
$lang->program->PGMEndLetterChild = "子項目的最大完成日期:%s,父項目的完成日期不能小於子項目的最大完成日期";
+$lang->program->stakeholderTypeList['inside'] = '内部';
+$lang->program->stakeholderTypeList['outside'] = '外部';
+
/* Fields. */
$lang->program->PGMName = '項目集名稱';
$lang->program->PGMTemplate = '項目集模板';
@@ -214,7 +219,7 @@ $lang->program->PGMCategory = '項目集類型';
$lang->program->PGMDesc = '項目集描述';
$lang->program->PGMCopy = '複製項目集';
$lang->program->PGMStatus = '狀態';
-$lang->program->PGMPM = '項目集負責人';
+$lang->program->PGMPM = '負責人';
$lang->program->PGMBudget = '預算';
$lang->program->PGMProgress = '項目進度';
$lang->program->PGMChildren = '子項目集';
diff --git a/module/program/model.php b/module/program/model.php
index b497481465..43be0af9cd 100644
--- a/module/program/model.php
+++ b/module/program/model.php
@@ -449,7 +449,7 @@ class programModel extends model
*/
public function getStakeholders($programID = 0, $orderBy, $pager = null)
{
- return $this->dao->select('t2.account,t2.realname,t2.role,t2.qq,t2.mobile,t2.phone,t2.weixin,t2.email,t1.id')->from(TABLE_STAKEHOLDER)->alias('t1')
+ return $this->dao->select('t2.account,t2.realname,t2.role,t2.qq,t2.mobile,t2.phone,t2.weixin,t2.email,t1.id,t1.type,t1.key')->from(TABLE_STAKEHOLDER)->alias('t1')
->leftJoin(TABLE_USER)->alias('t2')->on('t1.user=t2.account')
->where('t1.objectID')->eq($programID)
->andWhere('t1.objectType')->eq('program')
@@ -556,6 +556,7 @@ class programModel extends model
if($action == 'pgmclose') return $program->status != 'closed';
if($action == 'pgmactivate') return $program->status == 'done' or $program->status == 'closed';
+ if($action == 'pgmsuspend') return $program->status == 'wait' or $program->status == 'doing';
if($action == 'prjstart') return $program->status == 'wait' or $program->status == 'suspended';
if($action == 'prjfinish') return $program->status == 'wait' or $program->status == 'doing';
@@ -1545,56 +1546,37 @@ class programModel extends model
echo $project->hours->totalLeft;
break;
case 'PRJProgress':
- echo " {$project->hours->progress}%";
+ echo "
+
+
+
+
+
+ productplan->selectProjects;?>
+
+
+
+
+ | productplan->project?> | ++ |
|---|---|
| + + productplan->nextStep, "id='createExecutionButton'", 'btn btn-primary btn-wide');?> + cancel, "data-dismiss='modal'", 'btn btn-default btn-wide');?> + | +|
{$project->hours->progress}%
";
- echo "";
- echo "
";
- if(common::hasPriv('program', 'PRJEdit')) echo html::a(helper::createLink("program", "PRJEdit", "programID=$project->id"), "", '', "class='btn' title='{$this->lang->edit}'");
- common::printIcon('program', 'PRJManageMembers', "programID=$project->id", $project, 'list', 'persons');
+ common::printIcon('program', 'PRJEdit', "projectID=$project->id", $project, 'list', 'edit');
+ common::printIcon('program', 'PRJManageMembers', "projectID=$project->id", $project, 'list', 'persons');
common::printIcon('program', 'PRJGroup', "projectID=$project->id&programID=$programID", $project, 'list', 'lock');
echo "- ";
- common::printIcon('program', 'PRJStart', "projectID=$project->id", $project, 'list', 'start', '', $project->status == 'wait' || $project->status == 'suspended' ? 'hidden' : 'iframe btn-action', true);
- common::printIcon('program', 'PRJActivate', "programID=$project->id", $project, 'list', 'magic', '', $project->status == 'closed' ? 'hidden' : 'iframe btn-action', true);
- common::printIcon('program', 'PRJSuspend', "programID=$project->id", $project, 'list', 'pause', '', 'iframe btn-action', true);
- common::printIcon('program', 'PRJClose', "programID=$project->id", $project, 'list', 'off', '', $project->status == 'doing' ? 'hidden' : 'iframe btn-action', true);
+ echo "";
+ echo "
- ";
+ common::printIcon('program', 'PRJSuspend', "projectID=$project->id", $project, 'list', 'pause', '', 'iframe btn-action', true);
+ if($project->status != 'doing') common::printIcon('program', 'PRJClose', "projectID=$project->id", $project, 'list', 'off', '', 'iframe btn-action', true);
+ if($project->status != 'closed') common::printIcon('program', 'PRJActivate', "projectID=$project->id", $project, 'list', 'magic', '', 'iframe btn-action', true);
echo "
";
- echo "";
- echo "
";
break;
}
- echo '- ";
- common::printIcon('program', 'PRJManageProducts', "projectID=$project->id&programID=$programID", $project, 'list', 'icon icon-menu-project', '', 'btn-action', true);
- common::printIcon('program', 'PRJWhitelist', "projectID=$project->id&programID=$programID", $project, 'list', 'group', '', 'btn-action', true);
- if(common::hasPriv('program','PRJDelete')) common::printIcon('program', 'PRJDelete', "projectID=$project->id", $project, 'list', 'trash', 'hiddenwin', 'btn-action', true);
+ echo "";
+ echo "
- ";
+ common::printIcon('program', 'PRJManageProducts', "projectID=$project->id", $project, 'list', 'icon icon-menu-project', '', 'btn-action');
+ common::printIcon('program', 'PRJWhitelist', "projectID=$project->id", $project, 'list', 'group', '', 'btn-action');
+ if(common::hasPriv('program','PRJDelete')) echo html::a(inLink("prjdelete", "projectID=$project->id"), "", 'hiddenwin', "class='btn btn-action' title='{$this->lang->program->PRJDelete}'");
echo "