* Code for project menu link.

This commit is contained in:
Yagami
2021-01-20 15:40:42 +08:00
parent 92ecab9071
commit 36067c51cc
9 changed files with 92 additions and 52 deletions
+61 -10
View File
@@ -155,7 +155,6 @@ class program extends control
public function PGMCreate($parentProgramID = 0)
{
$this->lang->navGroup->program = 'program';
$parentProgram = $this->program->getPGMByID($parentProgramID);
if($_POST)
@@ -795,6 +794,7 @@ class program extends control
*/
public function PRJBrowse($programID = 0, $browseType = 'doing', $param = 0, $orderBy = 'order_desc', $recTotal = 0, $recPerPage = 15, $pageID = 1)
{
$this->lang->program->menu = $this->lang->PRJ->menu;
$this->lang->program->mainMenuAction = html::a('javascript:history.go(-1);', '<i class="icon icon-back"></i> ' . $this->lang->goback, '', "class='btn btn-link'");
$this->app->session->set('PRJBrowse', $this->app->getURI(true));
$this->app->session->set('whitelist', $this->app->getURI(true));
@@ -859,7 +859,7 @@ class program extends control
*/
public function PRJCreate($model = 'waterfall', $programID = 0, $from = 'PRJ', $copyProjectID = '')
{
if($from == 'PGM') $this->lang->PRJ->menu = $this->lang->program->menu;
if($from == 'PRJ') $this->lang->program->menu = $this->lang->PRJ->menu;
if($_POST)
{
@@ -962,7 +962,17 @@ class program extends control
$this->loadModel('productplan');
/* Navigation stay in program when enter from program list. */
if($from == 'pgmbrowse') $this->lang->PRJ->menu = $this->lang->program->menu;
if($from == 'PRJ')
{
$this->lang->program->menu = $this->lang->waterfall->setMenu;
$moduleIndex = array_search('program', $this->lang->noMenuModule);
if($moduleIndex !== false) unset($this->lang->noMenuModule[$moduleIndex]);
$this->lang->navGroup->program = 'project';
}
if($from == 'pgmbrowse')
{
$this->lang->navGroup->program = 'program';
}
if($from == 'pgmproject')
{
$this->app->rawMethod = 'pgmproject';
@@ -1036,8 +1046,11 @@ class program extends control
*/
public function PRJView($projectID = 0)
{
$this->lang->navGroup->program = 'project';
$this->app->loadLang('bug');
$this->lang->navGroup->program = 'project';
$this->lang->program->menu = $this->lang->waterfall->setMenu;
$moduleIndex = array_search('program', $this->lang->noMenuModule);
if($moduleIndex !== false) unset($this->lang->noMenuModule[$moduleIndex]);
$products = $this->loadModel('product')->getProductsByProject($projectID);;
$linkedBranches = array();
@@ -1071,6 +1084,11 @@ class program extends control
*/
public function PRJGroup($projectID = 0, $programID = 0)
{
$this->lang->navGroup->program = 'project';
$this->lang->program->menu = $this->lang->waterfall->setMenu;
$moduleIndex = array_search('program', $this->lang->noMenuModule);
if($moduleIndex !== false) unset($this->lang->noMenuModule[$moduleIndex]);
$title = $this->lang->company->orgView . $this->lang->colon . $this->lang->group->browse;
$position[] = $this->lang->group->browse;
@@ -1123,6 +1141,11 @@ class program extends control
*/
public function PRJManageView($groupID, $projectID, $programID)
{
$this->lang->navGroup->program = 'project';
$this->lang->program->menu = $this->lang->waterfall->setMenu;
$moduleIndex = array_search('program', $this->lang->noMenuModule);
if($moduleIndex !== false) unset($this->lang->noMenuModule[$moduleIndex]);
if($_POST)
{
$this->group->updateView($groupID);
@@ -1156,6 +1179,11 @@ class program extends control
*/
public function PRJManagePriv($type = 'byGroup', $param = 0, $menu = '', $version = '')
{
$this->lang->navGroup->program = 'project';
$this->lang->program->menu = $this->lang->waterfall->setMenu;
$moduleIndex = array_search('program', $this->lang->noMenuModule);
if($moduleIndex !== false) unset($this->lang->noMenuModule[$moduleIndex]);
if($type == 'byGroup')
{
$groupID = $param;
@@ -1221,6 +1249,11 @@ class program extends control
*/
public function PRJManageMembers($projectID, $dept = '')
{
$this->lang->navGroup->program = 'project';
$this->lang->program->menu = $this->lang->waterfall->setMenu;
$moduleIndex = array_search('program', $this->lang->noMenuModule);
if($moduleIndex !== false) unset($this->lang->noMenuModule[$moduleIndex]);
if(!empty($_POST))
{
$this->project->manageMembers($projectID);
@@ -1565,13 +1598,19 @@ class program extends control
* @access public
* @return void
*/
public function PRJWhitelist($projectID = 0, $programID = 0, $module='program', $from = '', $objectType = 'project', $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1)
public function PRJWhitelist($projectID = 0, $programID = 0, $module = 'program', $from = 'PRJ', $objectType = 'project', $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1)
{
if($from == 'pgmbrowse') $this->lang->PRJ->menu = $this->lang->program->menu;
if($from == 'PRJ')
{
$this->lang->navGroup->program = 'project';
$this->lang->program->menu = $this->lang->waterfall->setMenu;
$moduleIndex = array_search('program', $this->lang->noMenuModule);
if($moduleIndex !== false) unset($this->lang->noMenuModule[$moduleIndex]);
}
if($from == 'pgmproject')
{
$this->app->rawMethod = 'pgmproject';
$this->lang->navGroup->program = 'program';
$this->lang->navGroup->program = 'program';
$this->lang->program->switcherMenu = $this->program->getPGMSwitcher($programID, true);
$this->program->setPGMViewMenu($programID);
}
@@ -1589,10 +1628,16 @@ class program extends control
* @access public
* @return void
*/
public function PRJAddWhitelist($projectID = 0, $deptID = 0, $programID = 0, $from = '')
public function PRJAddWhitelist($projectID = 0, $deptID = 0, $programID = 0, $from = 'PRJ')
{
/* Navigation stay in program when enter from program list. */
if($from == 'pgmbrowse') $this->lang->PRJ->menu = $this->lang->program->menu;
if($from == 'PRJ')
{
$this->lang->navGroup->program = 'project';
$this->lang->program->menu = $this->lang->waterfall->setMenu;
$moduleIndex = array_search('program', $this->lang->noMenuModule);
if($moduleIndex !== false) unset($this->lang->noMenuModule[$moduleIndex]);
}
if($from == 'pgmproject')
{
$this->app->rawMethod = 'pgmproject';
@@ -1628,7 +1673,13 @@ class program extends control
public function PRJManageProducts($projectID, $programID = 0, $from = 'PRJ')
{
/* Navigation stay in program when enter from program list. */
if($from == 'pgmbrowse') $this->lang->PRJ->menu = $this->lang->program->menu;
if($from == 'PRJ')
{
$this->lang->navGroup->program = 'project';
$this->lang->program->menu = $this->lang->waterfall->setMenu;
$moduleIndex = array_search('program', $this->lang->noMenuModule);
if($moduleIndex !== false) unset($this->lang->noMenuModule[$moduleIndex]);
}
if($from == 'pgmproject')
{
$this->app->rawMethod = 'pgmproject';
+5 -8
View File
@@ -810,8 +810,6 @@ class programModel extends model
*/
public function getPRJSwitcher($projectID, $currentModule, $currentMethod)
{
if($currentModule == 'program' && ($currentMethod != 'index' && $currentMethod != 'prjview')) return;
$this->loadModel('project');
$currentProjectName = $this->lang->program->common;
if($projectID)
@@ -838,7 +836,6 @@ class programModel extends model
*/
public function getPRJMainAction($module, $method)
{
if($module == 'program' and ($method != 'index' and $method != 'prjview')) return '';
return common::hasPriv('program', 'prjbrowse') ? html::a(helper::createLink('program', 'prjbrowse'), $this->lang->moreLink, '', "class='btn btn-link'") : '';
}
@@ -1799,15 +1796,15 @@ class programModel extends model
$from = $project->from == 'PRJ' ? 'PRJ' : 'pgmproject';
$openModule = $project->from == 'PRJ' ? 'project' : 'program';
common::printIcon('program', 'PRJEdit', "projectID=$project->id&programID=$project->parent&from=$from", $project, 'list', 'edit', '', '', '', "data-group=$openModule");
common::printIcon('program', 'PRJManageMembers', "projectID=$project->id", $project, 'list', 'group');
common::printIcon('program', 'PRJGroup', "projectID=$project->id&programID=$programID", $project, 'list', 'lock');
common::printIcon('program', 'PRJEdit', "projectID=$project->id&programID=$project->parent&from=$from", $project, 'list', 'edit', '', '', '', "data-group=$openModule", '', $project->id);
common::printIcon('program', 'PRJManageMembers', "projectID=$project->id", $project, 'list', 'group', '', '', '', '', '', $project->id);
common::printIcon('program', 'PRJGroup', "projectID=$project->id&programID=$programID", $project, 'list', 'lock', '', '', '', '', '', $project->id);
echo "<div class='btn-group'>";
echo "<button type='button' class='btn dropdown-toggle' data-toggle='context-dropdown' title='{$this->lang->more}'><i class='icon-more-alt'></i></button>";
echo "<ul class='dropdown-menu pull-right text-center' role='menu'>";
common::printIcon('program', 'PRJManageProducts', "projectID=$project->id&programID=$programID&from=$from", $project, 'list', 'link', '', 'btn-action', '', "data-group=$openModule");
common::printIcon('program', 'PRJWhitelist', "projectID=$project->id&programID=$programID&module=program&from=$from", $project, 'list', 'shield-check', '', 'btn-action', '', "data-group=$openModule");
common::printIcon('program', 'PRJManageProducts', "projectID=$project->id&programID=$programID&from=$from", $project, 'list', 'link', '', 'btn-action', '', "data-group=$openModule", '', $project->id);
common::printIcon('program', 'PRJWhitelist', "projectID=$project->id&programID=$programID&module=program&from=$from", $project, 'list', 'shield-check', '', 'btn-action', '', "data-group=$openModule", '', $project->id);
if(common::hasPriv('program','PRJDelete')) echo html::a(inLink("PRJDelete", "projectID=$project->id"), "<i class='icon-trash'></i>", 'hiddenwin', "class='btn btn-action' title='{$this->lang->program->PRJDelete}'");
echo "</ul>";
echo "</div>";
+5 -5
View File
@@ -89,14 +89,14 @@
<?php if($program->status != 'closed') common::printIcon('program', 'PRJActivate', "projectID=$program->id", $program, 'list', 'magic', '', 'iframe', true);?>
</ul>
</div>
<?php common::printIcon('program', 'PRJEdit', "projectID=$program->id&programID=$program->parent&from=pgmbrowse", $program, 'list', 'edit', '', '', '', "data-group='program'");?>
<?php common::printIcon('program', 'PRJManageMembers', "projectID=$program->id", $program, 'list', 'group', '', '', '', 'data-group="program"');?>
<?php common::printIcon('program', 'PRJGroup', "projectID=$program->id", $program, 'list', 'lock', '', '', '', 'data-group="program"');?>
<?php common::printIcon('program', 'PRJEdit', "projectID=$program->id&programID=$program->parent&from=pgmbrowse", $program, 'list', 'edit', '', '', '', "data-group='program'", '', $program->id);?>
<?php common::printIcon('program', 'PRJManageMembers', "projectID=$program->id", $program, 'list', 'group', '', '', '', 'data-group="program"', '', $program->id);?>
<?php common::printIcon('program', 'PRJGroup', "projectID=$program->id", $program, 'list', 'lock', '', '', '', 'data-group="program"', '', $program->id);?>
<div class='btn-group'>
<button type='button' class='btn dropdown-toggle' data-toggle='dropdown' title="<?php echo $this->lang->more;?>"><i class='icon-more-alt'></i></button>
<ul class='dropdown-menu pull-right text-center' role='menu'>
<?php common::printIcon('program', 'PRJManageProducts', "projectID=$program->id&programID=0&from=pgmbrowse", $program, 'list', 'link', '', '', '', "data-group='program'");?>
<?php common::printIcon('program', 'PRJWhitelist', "projectID=$program->id&programID=0&module=program&from=pgmbrowse", $program, 'list', 'shield-check', '', '', '', "data-group='program'");?>
<?php common::printIcon('program', 'PRJManageProducts', "projectID=$program->id&programID=0&from=pgmbrowse", $program, 'list', 'link', '', '', '', "data-group='program'", '', $program->id);?>
<?php common::printIcon('program', 'PRJWhitelist', "projectID=$program->id&programID=0&module=program&from=pgmbrowse", $program, 'list', 'shield-check', '', '', '', "data-group='program'", '', $program->id);?>
<?php if(common::hasPriv('program','PRJDelete')) echo html::a($this->createLink("program", "PRJDelete", "projectID=$program->id"), "<i class='icon-trash'></i>", 'hiddenwin', "class='btn' title='{$this->lang->program->PRJDelete}'");?>
</ul>
</div>
-2
View File
@@ -144,8 +144,6 @@
{
echo "<div class='divider'></div>";
common::printIcon('program', 'PRJStart', "projectID=$project->id", $project, 'button', 'play', '', 'iframe', true);
common::printIcon('program', 'PRJManageMembers', "projectID=$project->id", $project, 'button', 'group', '', 'iframe', true);
common::printIcon('program', 'PRJGroup', "projectID=$project->id", $project, 'button', 'lock');
common::printIcon('program', 'PRJActivate', "projectID=$project->id", $project, 'button', 'magic', '', 'iframe', true);
common::printIcon('program', 'PRJSuspend', "projectID=$project->id", $project, 'button', 'pause', '', 'iframe', true);
common::printIcon('program', 'PRJClose', "projectID=$project->id", $project, 'button', 'off', '', 'iframe', true);