This commit is contained in:
tianshujie98
2021-01-15 11:38:34 +08:00
8 changed files with 69 additions and 25 deletions

View File

@@ -154,11 +154,11 @@ $lang->dividerMenu = ',project,doc,';
$lang->program = new stdclass();
$lang->program->menu = new stdclass();
//$lang->program->menu->index = '主页|program|pgmindex|';
$lang->program->menu->browse = array('link' => '项目集|program|pgmbrowse|', 'alias' => 'pgmcreate,pgmedit,pgmgroup,pgmmanagepriv,pgmmanageview,pgmmanagemembers,prjcreate,prjedit,prjmanageproducts');
$lang->program->menu->browse = array('link' => '项目集|program|pgmbrowse|', 'alias' => 'pgmcreate,pgmedit,pgmgroup,pgmmanagepriv,pgmmanageview,pgmmanagemembers,prjcreate,prjedit,prjmanageproducts,prjwhitelist,prjaddwhitelist');
$lang->PRJ = new stdclass();
$lang->PRJ->menu = new stdclass();
$lang->PRJ->menu->browse = array('link' => '项目|program|prjbrowse|', 'alias' => 'prjcreate,prjedit,prjgroup,prjmanagepriv,prjmanageview,prjmanagemembers,prjmanageproducts');
$lang->PRJ->menu->browse = array('link' => '项目|program|prjbrowse|', 'alias' => 'prjcreate,prjedit,prjgroup,prjmanagepriv,prjmanageview,prjmanagemembers,prjmanageproducts,prjwhitelist,prjaddwhitelist');
$lang->program->viewMenu = new stdclass();
$lang->program->viewMenu->product = array('link' => '产品|program|pgmproduct|program=%s', 'alias' => 'view');

View File

@@ -91,10 +91,12 @@ class personnel extends control
* @param int $recTotal
* @param int $recPerPage
* @param int $pageID
* @param int $programID
* @param string $from PRJ|pgmbrowse|pgmproject
* @access public
* @return void
*/
public function whitelist($objectID = 0, $module = 'personnel', $objectType = 'program', $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1)
public function whitelist($objectID = 0, $module = 'personnel', $objectType = 'program', $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1, $programID = 0, $from = '')
{
if($module == 'personnel') $this->setProgramNavMenu($objectID);
@@ -113,11 +115,9 @@ class personnel extends control
$pager = pager::init($recTotal, $recPerPage, $pageID);
/* Set back link. */
if($module == 'program')
{
$goback = $this->session->PRJBrowse ? $this->session->PRJBrowse : $this->createLink('program', 'PRJBrowse');
$this->view->goback = $goback;
}
if($from == 'pgmbrowse') $goback = $this->createLink('program', 'PGMBrowse');
if($from == 'pgmproject') $goback = $this->createLink('program', 'PGMProject', "programID=$programID");
if($from == 'PRJ') $goback = $this->createLink('program', 'PRJBrowse');
$this->view->title = $this->lang->personnel->whitelist;
$this->view->position[] = $this->lang->personnel->whitelist;
@@ -127,6 +127,9 @@ class personnel extends control
$this->view->whitelist = $this->personnel->getWhitelist($objectID, $objectType, $orderBy, $pager);
$this->view->depts = $this->loadModel('dept')->getOptionMenu();
$this->view->module = $module;
$this->view->goback = isset($goback) ? $goback : '';
$this->view->programID = $programID;
$this->view->from = $from;
$this->display();
}
@@ -138,10 +141,12 @@ class personnel extends control
* @param int $deptID
* @param string $objectType program|project|product|sprint
* @param string $module
* @param int $programID
* @param string $from PRJ|pgmbrowse|pgmproject
* @access public
* @return void
*/
public function addWhitelist($objectID = 0, $deptID = 0, $objectType = 'program', $module = 'personnel')
public function addWhitelist($objectID = 0, $deptID = 0, $objectType = 'program', $module = 'personnel', $programID = 0, $from = '')
{
if($module == 'personnel') $this->setProgramNavMenu($objectID);
$this->app->loadLang('project');
@@ -151,8 +156,13 @@ class personnel extends control
$this->personnel->addWhitelist($objectType, $objectID);
if(dao::isError()) $this->send(array('result' => 'fail', 'message' => $this->getError()));
$moduleMethod = $module == 'program' ? 'PRJWhitelist' : 'whitelist';
$this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->createLink($module, $moduleMethod, "objectID=$objectID")));
$locateLink = $this->createLink($module, 'whitelist', "objectID=$objectID");
if($module == 'program')
{
$openModule = $from == 'PRJ' ? 'project' : 'program';
$locateLink = $this->createLink('program', 'PRJWhitelist', "objectID=$objectID&programID=$programID&module=$module&from=$from") . "#open=$openModule";
}
$this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $locateLink));
}
$this->loadModel('dept');
@@ -170,6 +180,8 @@ class personnel extends control
$this->view->depts = $this->dept->getOptionMenu();
$this->view->users = $this->loadModel('user')->getPairs('noclosed|nodeleted');
$this->view->dept = $this->dept->getByID($deptID);
$this->view->programID = $programID;
$this->view->from = $from;
$this->display();
}

View File

@@ -8,6 +8,9 @@ function setDeptUsers(dept)
{
var deptID = $(dept).val();
var link = createLink(module, moduleMethod, 'objectID=' + objectID + '&deptID=' + deptID + '&objectType=' + objectType + '&module=' + module);
if(module == 'program') link = createLink(module, moduleMethod, 'objectID=' + objectID + '&deptID=' + deptID + '&programID=' + programID + '&from=' + from);
location.href = link;
}

View File

@@ -84,7 +84,8 @@
<td colspan='6' class='text-left form-actions'>
<?php echo html::submitButton(); ?>
<?php $gobackURL = $this->session->whitelistBrowse;?>
<?php echo empty($gobackURL) ? html::backButton() : html::a($gobackURL, $lang->goback, '', 'class="btn btn-back btn-wide"');?>
<?php $dataGroup = $module == 'program' ? ($from == 'PRJ' ? "data-group='project'" : "data-group='program'") : '';?>
<?php echo empty($gobackURL) ? html::backButton() : html::a($gobackURL, $lang->goback, '', "class='btn btn-back btn-wide' $dataGroup");?>
</td>
</tr>
</tfoot>
@@ -105,4 +106,6 @@
<?php js::set('index', $i);?>
<?php js::set('module', $module);?>
<?php js::set('moduleMethod', $moduleMethod);?>
<?php js::set('programID', $programID);?>
<?php js::set('from', $from);?>
<?php include '../../common/view/footer.html.php';?>

View File

@@ -13,12 +13,17 @@
<?php include '../../common/view/header.html.php';?>
<div id="mainMenu" class="clearfix">
<div class="btn-toolbar pull-left">
<?php $moduleMethod = $module == 'program' ? 'PRJWhitelist' : 'whitelist';?>
<?php $vars = $module == 'program' ? "objectID=$objectID&programID=$programID&module=$module&from=$from" : "objectID=$objectID";?>
<?php $openModule = $module == 'program' ? ($from == 'PRJ' ? "data-group='project'" : "data-group='program'") : '';?>
<?php if($module == 'program') echo html::a($goback, $lang->goback, '', 'class="btn btn-secondary"');?>
<?php echo html::a($this->createLink($module, 'whitelist', "objectID=$objectID"), '<span class="text">' . $lang->personnel->whitelist . '</span>', '', 'class="btn btn-link btn-active-text"');?>
<?php echo html::a($this->createLink($module, $moduleMethod, $vars), '<span class="text">' . $lang->personnel->whitelist . '</span>', '', "class='btn btn-link btn-active-text' $openModule");?>
</div>
<div class="btn-toolbar pull-right">
<?php $moduleMethod = $module == 'program' ? 'PRJAddWhitelist' : 'addWhitelist';?>
<?php common::printLink($module, $moduleMethod, "objectID=$objectID", "<i class='icon icon-plus'></i>" . $lang->personnel->addWhitelist, '', "class='btn btn-primary'");?>
<?php $vars = $module == 'program' ? "objectID=$objectID&deptID=0&programID=$programID&from=$from" : "objectID=$objectID";?>
<?php $openModule = $module == 'program' ? ($from == 'PRJ' ? "data-group='project'" : "data-group='program'") : '';?>
<?php common::printLink($module, $moduleMethod, $vars, "<i class='icon icon-plus'></i>" . $lang->personnel->addWhitelist, '', "class='btn btn-primary' $openModule");?>
</div>
</div>
<div id='mainContent' class='main-row fade'>

View File

@@ -1480,6 +1480,7 @@ class program extends control
* @param int $projectID
* @param int $programID
* @param string $module
* @param string $from PRJ|pgmbrowse|pgmproject
* @param string $objectType
* @param string $orderby
* @param int $recTotal
@@ -1488,9 +1489,18 @@ class program extends control
* @access public
* @return void
*/
public function PRJWhitelist($projectID = 0, $programID = 0, $module='program', $objectType = 'project', $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1)
public function PRJWhitelist($projectID = 0, $programID = 0, $module='program', $from = '', $objectType = 'project', $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1)
{
echo $this->fetch('personnel', 'whitelist', "objectID=$projectID&module=$module&browseType=$objectType&orderBy=$orderBy&recTotal=$recTotal&recPerPage=$recPerPage&pageID=$pageID");
if($from == 'pgmbrowse') $this->lang->PRJ->menu = $this->lang->program->menu;
if($from == 'pgmproject')
{
$this->app->rawMethod = 'pgmproject';
$this->lang->navGroup->program = 'program';
$this->lang->program->switcherMenu = $this->program->getPGMSwitcher($programID, true);
$this->program->setPGMViewMenu($programID);
}
echo $this->fetch('personnel', 'whitelist', "objectID=$projectID&module=$module&browseType=$objectType&orderBy=$orderBy&recTotal=$recTotal&recPerPage=$recPerPage&pageID=$pageID&programID=$programID&from=$from");
}
/**
@@ -1498,12 +1508,23 @@ class program extends control
*
* @param int $projectID
* @param int $deptID
* @param int $programID
* @param int $from
* @access public
* @return void
*/
public function PRJAddWhitelist($projectID = 0, $deptID = 0)
public function PRJAddWhitelist($projectID = 0, $deptID = 0, $programID = 0, $from = '')
{
echo $this->fetch('personnel', 'addWhitelist', "objectID=$projectID&dept=$deptID&objectType=project&module=program");
/* Navigation stay in program when enter from program list. */
if($from == 'pgmbrowse') $this->lang->PRJ->menu = $this->lang->program->menu;
if($from == 'pgmproject')
{
$this->app->rawMethod = 'pgmproject';
$this->lang->program->switcherMenu = $this->program->getPGMSwitcher($programID, true);
$this->program->setPGMViewMenu($programID);
}
echo $this->fetch('personnel', 'addWhitelist', "objectID=$projectID&dept=$deptID&objectType=project&module=program&programID=$programID&from=$from");
}
/*

View File

@@ -1710,17 +1710,17 @@ class programModel extends model
echo "</ul>";
echo "</div>";
$from = $project->from == 'PRJ' ? 'PRJ' : 'pgmproject';
$dataGroup = $project->from == 'PRJ' ? 'project' : 'program';
common::printIcon('program', 'PRJEdit', "projectID=$project->id&programID=$project->parent&from=$from", $project, 'list', 'edit', '', '', '', "data-group=$dataGroup");
$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');
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=$dataGroup");
common::printIcon('program', 'PRJWhitelist', "projectID=$project->id", $project, 'list', 'shield-check', '', 'btn-action');
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");
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>";

View File

@@ -86,14 +86,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', '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');?>
<?php common::printIcon('program', 'PRJGroup', "projectID=$program->id", $program, 'list', 'lock');?>
<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", $program, 'list', 'shield-check');?>
<?php common::printIcon('program', 'PRJWhitelist', "projectID=$program->id&programID=0&module=program&from=pgmbrowse", $program, 'list', 'shield-check', '', '', '', "data-group='program'");?>
<?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>