Merge branch 'master' of https://git.zcorp.cc/zentaopms
This commit is contained in:
@@ -38,7 +38,6 @@ html[lang='en'] #deadlineTd .input-group-addon{padding: 5px 18px}
|
||||
.title-group .chosen-container {width: 1%!important; min-width: 70px;}
|
||||
.title-group #severity + .chosen-container > .chosen-single {border-radius: 0!important;}
|
||||
.title-group #pri + .chosen-container > .chosen-single {border-top-left-radius: 0!important; border-bottom-left-radius: 0!important;}
|
||||
.title-group .has-icon-right{min-width:700px}
|
||||
#mainContent .center-block{padding-bottom:40px;}
|
||||
|
||||
#typeBox {width:180px;}
|
||||
|
||||
@@ -924,7 +924,7 @@ $lang->menu->scrum->ci = 'Code|repo|browse';
|
||||
$lang->menu->scrum->projectbuild = array('link' => 'Build|projectbuild|browse|project={PROJECT}');
|
||||
$lang->menu->scrum->projectrelease = array('link' => 'Release|projectrelease|browse');
|
||||
$lang->menu->scrum->other = array('link' => 'Other|project|other', 'class' => 'dropdown dropdown-hover waterfall-list', 'subModule' => 'issue,risk,stakeholder');
|
||||
$lang->menu->scrum->projectsetting = array('link' => 'Setting|project|setting', 'class' => 'dropdown dropdown-hover waterfall-list');
|
||||
$lang->menu->scrum->projectsetting = array('link' => 'Setting|program|prjview|project={PROJECT}');
|
||||
|
||||
$lang->scrum = new stdclass();
|
||||
$lang->scrum->subMenu = new stdclass();
|
||||
@@ -933,8 +933,8 @@ $lang->scrum->subMenu->other->issue = array('link' => 'Issue|issue|browse|
|
||||
$lang->scrum->subMenu->other->risk = array('link' => 'Risk|risk|browse|', 'subModule' => 'risk');
|
||||
$lang->scrum->subMenu->other->stakeholder = array('link' => 'Stakeholder|stakeholder|browse|', 'subModule' => 'stakeholder');
|
||||
|
||||
$lang->scrum->subMenu->projectsetting = new stdclass();
|
||||
$lang->scrum->subMenu->projectsetting->program = 'Project|program|PRJEdit|';
|
||||
$lang->scrum->setMenu = new stdclass();
|
||||
$lang->scrum->setMenu->view = array('link' => 'View|program|prjview|project={PROJECT}');
|
||||
|
||||
/* Waterfall menu. */
|
||||
$lang->menu->waterfall = new stdclass();
|
||||
@@ -959,9 +959,11 @@ $lang->waterfall->subMenu->other->issue = array('link' => 'Issue|issue|browse|',
|
||||
$lang->waterfall->subMenu->other->risk = array('link' => 'Risk|risk|browse|', 'subModule' => 'risk');
|
||||
$lang->waterfall->subMenu->other->stakeholder = array('link' => 'Stakeholder|stakeholder|browse|', 'subModule' => 'stakeholder');
|
||||
|
||||
$lang->waterfall->subMenu->projectsetting = new stdclass();
|
||||
$lang->waterfall->subMenu->projectsetting->workestimation = array('link' => 'Workestimation|workestimation|index|program=%s', 'subModule' => 'durationestimation,budget');
|
||||
$lang->waterfall->subMenu->projectsetting->program = 'Project|program|PRJEdit|';
|
||||
$lang->waterfall->setMenu = new stdclass();
|
||||
$lang->waterfall->setMenu->view = array('link' => 'View|program|prjview|project={PROJECT}');
|
||||
$lang->waterfall->setMenu->workestimation = 'Work Estimation|workestimation|index|project={PROJECT}';
|
||||
$lang->waterfall->setMenu->duration = array('link' => 'Duration|durationestimation|index|project={PROJECT}', 'subModule' => 'durationestimation');
|
||||
$lang->waterfall->setMenu->budget = array('link' => 'Budget|budget|summary|', 'subModule' => 'budget');
|
||||
|
||||
$lang->waterfallproduct = new stdclass();
|
||||
$lang->workestimation = new stdclass();
|
||||
|
||||
@@ -933,8 +933,8 @@ $lang->scrum->subMenu->other->issue = array('link' => 'Issue|issue|browse|
|
||||
$lang->scrum->subMenu->other->risk = array('link' => 'Risk|risk|browse|', 'subModule' => 'risk');
|
||||
$lang->scrum->subMenu->other->stakeholder = array('link' => 'Stakeholder|stakeholder|browse|', 'subModule' => 'stakeholder');
|
||||
|
||||
$lang->scrum->subMenu->projectsetting = new stdclass();
|
||||
$lang->scrum->subMenu->projectsetting->program = 'Project|program|PRJEdit|';
|
||||
$lang->scrum->setMenu = new stdclass();
|
||||
$lang->scrum->setMenu->view = array('link' => 'View|program|prjview|project={PROJECT}');
|
||||
|
||||
/* Waterfall menu. */
|
||||
$lang->menu->waterfall = new stdclass();
|
||||
@@ -959,9 +959,11 @@ $lang->waterfall->subMenu->other->issue = array('link' => 'Issue|issue|bro
|
||||
$lang->waterfall->subMenu->other->risk = array('link' => 'Risk|risk|browse|', 'subModule' => 'risk');
|
||||
$lang->waterfall->subMenu->other->stakeholder = array('link' => 'Stakeholder|stakeholder|browse|', 'subModule' => 'stakeholder');
|
||||
|
||||
$lang->waterfall->subMenu->projectsetting = new stdclass();
|
||||
$lang->waterfall->subMenu->projectsetting->workestimation = array('link' => 'Workestimation|workestimation|index|program=%s', 'subModule' => 'durationestimation,budget');
|
||||
$lang->waterfall->subMenu->projectsetting->program = 'Project|program|PRJEdit|';
|
||||
$lang->waterfall->setMenu = new stdclass();
|
||||
$lang->waterfall->setMenu->view = array('link' => 'View|program|prjview|project={PROJECT}');
|
||||
$lang->waterfall->setMenu->workestimation = 'Work Estimation|workestimation|index|project={PROJECT}';
|
||||
$lang->waterfall->setMenu->duration = array('link' => 'Duration|durationestimation|index|project={PROJECT}', 'subModule' => 'durationestimation');
|
||||
$lang->waterfall->setMenu->budget = array('link' => 'Budget|budget|summary|', 'subModule' => 'budget');
|
||||
|
||||
$lang->waterfallproduct = new stdclass();
|
||||
$lang->workestimation = new stdclass();
|
||||
|
||||
@@ -933,8 +933,8 @@ $lang->scrum->subMenu->other->issue = array('link' => 'Issue|issue|browse|
|
||||
$lang->scrum->subMenu->other->risk = array('link' => 'Risk|risk|browse|', 'subModule' => 'risk');
|
||||
$lang->scrum->subMenu->other->stakeholder = array('link' => 'Stakeholder|stakeholder|browse|', 'subModule' => 'stakeholder');
|
||||
|
||||
$lang->scrum->subMenu->projectsetting = new stdclass();
|
||||
$lang->scrum->subMenu->projectsetting->program = 'Project|program|PRJEdit|';
|
||||
$lang->scrum->setMenu = new stdclass();
|
||||
$lang->scrum->setMenu->view = array('link' => 'View|program|prjview|project={PROJECT}');
|
||||
|
||||
/* Waterfall menu. */
|
||||
$lang->menu->waterfall = new stdclass();
|
||||
@@ -959,9 +959,11 @@ $lang->waterfall->subMenu->other->issue = array('link' => 'Issue|issue|bro
|
||||
$lang->waterfall->subMenu->other->risk = array('link' => 'Risk|risk|browse|', 'subModule' => 'risk');
|
||||
$lang->waterfall->subMenu->other->stakeholder = array('link' => 'Stakeholder|stakeholder|browse|', 'subModule' => 'stakeholder');
|
||||
|
||||
$lang->waterfall->subMenu->projectsetting = new stdclass();
|
||||
$lang->waterfall->subMenu->projectsetting->workestimation = array('link' => 'Workestimation|workestimation|index|program=%s', 'subModule' => 'durationestimation,budget');
|
||||
$lang->waterfall->subMenu->projectsetting->program = 'Project|program|PRJEdit|';
|
||||
$lang->waterfall->setMenu = new stdclass();
|
||||
$lang->waterfall->setMenu->view = array('link' => 'View|program|prjview|project={PROJECT}');
|
||||
$lang->waterfall->setMenu->workestimation = 'Work Estimation|workestimation|index|project={PROJECT}';
|
||||
$lang->waterfall->setMenu->duration = array('link' => 'Duration|durationestimation|index|project={PROJECT}', 'subModule' => 'durationestimation');
|
||||
$lang->waterfall->setMenu->budget = array('link' => 'Budget|budget|summary|', 'subModule' => 'budget');
|
||||
|
||||
$lang->waterfallproduct = new stdclass();
|
||||
$lang->workestimation = new stdclass();
|
||||
|
||||
@@ -933,8 +933,8 @@ $lang->scrum->subMenu->other->issue = array('link' => 'Issue|issue|browse|
|
||||
$lang->scrum->subMenu->other->risk = array('link' => 'Risk|risk|browse|', 'subModule' => 'risk');
|
||||
$lang->scrum->subMenu->other->stakeholder = array('link' => 'Stakeholder|stakeholder|browse|', 'subModule' => 'stakeholder');
|
||||
|
||||
$lang->scrum->subMenu->projectsetting = new stdclass();
|
||||
$lang->scrum->subMenu->projectsetting->program = 'Project|program|PRJEdit|';
|
||||
$lang->scrum->setMenu = new stdclass();
|
||||
$lang->scrum->setMenu->view = array('link' => 'View|program|prjview|project={PROJECT}');
|
||||
|
||||
/* Waterfall menu. */
|
||||
$lang->menu->waterfall = new stdclass();
|
||||
@@ -959,9 +959,11 @@ $lang->waterfall->subMenu->other->issue = array('link' => 'Issue|issue|bro
|
||||
$lang->waterfall->subMenu->other->risk = array('link' => 'Risk|risk|browse|', 'subModule' => 'risk');
|
||||
$lang->waterfall->subMenu->other->stakeholder = array('link' => 'Stakeholder|stakeholder|browse|', 'subModule' => 'stakeholder');
|
||||
|
||||
$lang->waterfall->subMenu->projectsetting = new stdclass();
|
||||
$lang->waterfall->subMenu->projectsetting->workestimation = array('link' => 'Workestimation|workestimation|index|program=%s', 'subModule' => 'durationestimation,budget');
|
||||
$lang->waterfall->subMenu->projectsetting->program = 'Project|program|PRJEdit|';
|
||||
$lang->waterfall->setMenu = new stdclass();
|
||||
$lang->waterfall->setMenu->view = array('link' => 'View|program|prjview|project={PROJECT}');
|
||||
$lang->waterfall->setMenu->workestimation = 'Work Estimation|workestimation|index|project={PROJECT}';
|
||||
$lang->waterfall->setMenu->duration = array('link' => 'Duration|durationestimation|index|project={PROJECT}', 'subModule' => 'durationestimation');
|
||||
$lang->waterfall->setMenu->budget = array('link' => 'Budget|budget|summary|', 'subModule' => 'budget');
|
||||
|
||||
$lang->waterfallproduct = new stdclass();
|
||||
$lang->workestimation = new stdclass();
|
||||
|
||||
@@ -191,6 +191,7 @@ $lang->resource->program->PRJSuspend = 'PRJSuspend';
|
||||
$lang->resource->program->PRJClose = 'PRJClose';
|
||||
$lang->resource->program->PRJActivate = 'PRJActivate';
|
||||
$lang->resource->program->PRJDelete = 'PRJDelete';
|
||||
$lang->resource->program->PRJView = 'PRJView';
|
||||
$lang->resource->program->PRJWhitelist = 'PRJWhitelist';
|
||||
$lang->resource->program->PRJAddWhitelist = 'PRJAddWhitelist';
|
||||
$lang->resource->program->unbindWhielist = 'unbindWhielist';
|
||||
@@ -232,11 +233,12 @@ $lang->program->methodOrder[155] = 'PRJClose';
|
||||
$lang->program->methodOrder[160] = 'PRJActivate';
|
||||
$lang->program->methodOrder[165] = 'PRJUpdateOrder';
|
||||
$lang->program->methodOrder[170] = 'PRJDelete';
|
||||
$lang->program->methodOrder[175] = 'PRJWhitelist';
|
||||
$lang->program->methodOrder[180] = 'PRJAddWhitelist';
|
||||
$lang->program->methodOrder[185] = 'unbindWhielist';
|
||||
$lang->program->methodOrder[190] = 'PRJManageProducts';
|
||||
$lang->program->methodOrder[195] = 'view';
|
||||
$lang->program->methodOrder[175] = 'PRJView';
|
||||
$lang->program->methodOrder[180] = 'PRJWhitelist';
|
||||
$lang->program->methodOrder[185] = 'PRJAddWhitelist';
|
||||
$lang->program->methodOrder[190] = 'unbindWhielist';
|
||||
$lang->program->methodOrder[195] = 'PRJManageProducts';
|
||||
$lang->program->methodOrder[200] = 'view';
|
||||
|
||||
/* Personnel . */
|
||||
$lang->resource->personnel = new stdclass();
|
||||
|
||||
@@ -468,6 +468,7 @@ class my extends control
|
||||
|
||||
$this->app->session->set('programList', $this->app->getURI(true));
|
||||
$this->app->session->set('PRJBrowse', $this->app->getURI(true));
|
||||
$this->app->session->set('whitelist', $this->app->getURI(true));
|
||||
|
||||
/* Set the pager. */
|
||||
$this->app->loadClass('pager', $static = true);
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
<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=$project->id", $project, 'list', 'link', '', '', false, "data-group='project'");?>
|
||||
<?php common::printIcon('program', 'PRJWhitelist', "projectID=$project->id", $project, 'list', 'shield-check', '', '', false, "data-group='project'");?>
|
||||
<?php common::printIcon('program', 'PRJWhitelist', "projectID=$project->id&programID=$project->parent&module=program&from=my", $project, 'list', 'shield-check', '', '', false, "data-group='project'");?>
|
||||
<?php if(common::hasPriv('program','PRJDelete')) echo html::a($this->createLink("program", "PRJDelete", "projectID=$project->id"), "<i class='icon-trash'></i>", 'hiddenwin', "class='btn' title='{$this->lang->program->PRJDelete}'");?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -35,11 +35,11 @@
|
||||
<th class='w-id'> <?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?></th>
|
||||
<th> <?php common::printOrderLink('name', $orderBy, $vars, $lang->testtask->name);?></th>
|
||||
<th class='w-120px'><?php common::printOrderLink('project', $orderBy, $vars, $lang->testtask->project);?></th>
|
||||
<th class='w-100px'><?php common::printOrderLink('build', $orderBy, $vars, $lang->testtask->build);?></th>
|
||||
<th class='w-120px'><?php common::printOrderLink('build', $orderBy, $vars, $lang->testtask->build);?></th>
|
||||
<th class='w-90px'> <?php common::printOrderLink('begin', $orderBy, $vars, $lang->testtask->begin);?></th>
|
||||
<th class='w-90px'> <?php common::printOrderLink('end', $orderBy, $vars, $lang->testtask->end);?></th>
|
||||
<th class='w-80px'> <?php common::printOrderLink('status', $orderBy, $vars, $lang->statusAB);?></th>
|
||||
<th class='c-actions-5'><?php echo $lang->actions;?></th>
|
||||
<th class='c-actions-6'><?php echo $lang->actions;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -48,7 +48,7 @@
|
||||
<td class="c-id"><?php printf('%03d', $task->id);?></td>
|
||||
<td class='text-left nobr'><?php echo html::a($this->createLink('testtask', 'view', "taskID=$task->id", '', '', $task->PRJ), $task->name, '', "data-group='project'");?></td>
|
||||
<td class='nobr'><?php echo $task->projectName?></td>
|
||||
<td class='nobr'><?php $task->build == 'trunk' ? print($lang->trunk) : print(html::a($this->createLink('build', 'view', "buildID=$task->build", '', '', $task->PRJ), $task->buildName, '', "data-group='project'"));?></td>
|
||||
<td class='nobr' title='<?php echo $task->buildName;?>'><?php $task->build == 'trunk' ? print($lang->trunk) : print(html::a($this->createLink('build', 'view', "buildID=$task->build", '', '', $task->PRJ), $task->buildName, '', "data-group='project'"));?></td>
|
||||
<td><?php echo $task->begin?></td>
|
||||
<td><?php echo $task->end?></td>
|
||||
<td title='<?php echo $task->status?>'><span class="status-task status-<?php echo $task->status?>"><?php echo $this->processStatus('testtask', $task);?></span></td>
|
||||
|
||||
@@ -114,11 +114,6 @@ class personnel extends control
|
||||
$this->app->loadClass('pager', true);
|
||||
$pager = pager::init($recTotal, $recPerPage, $pageID);
|
||||
|
||||
/* Set back link. */
|
||||
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,7 +122,6 @@ 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;
|
||||
|
||||
@@ -156,13 +150,8 @@ class personnel extends control
|
||||
$this->personnel->addWhitelist($objectType, $objectID);
|
||||
if(dao::isError()) $this->send(array('result' => 'fail', 'message' => $this->getError()));
|
||||
|
||||
$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));
|
||||
$openModule = $module == 'program' ? ($from == 'PRJ' || $from == 'my' ? '#open=project' : '#open=program') : '';
|
||||
$this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'locate' => $this->session->whitelistBrowse . $openModule));
|
||||
}
|
||||
|
||||
$this->loadModel('dept');
|
||||
|
||||
@@ -84,7 +84,7 @@
|
||||
<td colspan='6' class='text-left form-actions'>
|
||||
<?php echo html::submitButton(); ?>
|
||||
<?php $gobackURL = $this->session->whitelistBrowse;?>
|
||||
<?php $dataGroup = $module == 'program' ? ($from == 'PRJ' ? "data-group='project'" : "data-group='program'") : '';?>
|
||||
<?php $dataGroup = $module == 'program' ? ($from == 'PRJ' || $from == 'my' ? "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>
|
||||
|
||||
@@ -12,17 +12,16 @@
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div id="mainMenu" class="clearfix">
|
||||
<?php $openModule = $module == 'program' ? ($from == 'PRJ' || $from == 'my' ? "data-group='project'" : "data-group='program'") : '';?>
|
||||
<div class="btn-toolbar pull-left">
|
||||
<?php if($module == 'program') echo html::a($this->session->whitelist, $lang->goback, '', 'class="btn btn-secondary"');?>
|
||||
<?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, $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 $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>
|
||||
|
||||
@@ -199,11 +199,6 @@ class product extends control
|
||||
{
|
||||
$products = $this->product->getProductsByProject($this->session->PRJ);
|
||||
$productPlans = $this->loadModel('project')->getPlans($products);
|
||||
$allPlans = array();
|
||||
foreach($productPlans as $productPlan)
|
||||
{
|
||||
foreach($productPlan as $id => $plan) $allPlans[$id] = $plan;
|
||||
}
|
||||
|
||||
if($projectStoryBrowseType == 'bybranch') $param = $branch;
|
||||
$stories = $this->story->getProjectStories($this->session->PRJ, $sort, $projectStoryBrowseType, $param, 'story', '', $pager, $productID, $branch);
|
||||
@@ -254,7 +249,7 @@ class product extends control
|
||||
$this->view->moduleID = $moduleID;
|
||||
$this->view->stories = $stories;
|
||||
$this->view->plans = $this->loadModel('productplan')->getPairs($productID, $branch, '', true);
|
||||
$this->view->allPlans = isset($allPlans) ? $allPlans : array();
|
||||
$this->view->productPlans = isset($productPlans) ? $productPlans : array();
|
||||
$this->view->summary = $this->product->summary($stories, $storyType);
|
||||
$this->view->moduleTree = $moduleTree;
|
||||
$this->view->parentModules = $this->tree->getParents($moduleID);
|
||||
|
||||
@@ -455,7 +455,7 @@ $lang->story->createCommon = $storyType == 'story' ? $lang->story->createStory :
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class='input-group'>
|
||||
<?php echo html::select('plan', $allPlans, '', "class='form-control chosen' id='plan'");?>
|
||||
<?php echo html::select('plan', $productPlans[$productID], '', "class='form-control chosen' id='plan'");?>
|
||||
<span class='input-group-btn'><?php echo html::commonButton($lang->project->linkStory, "id='toTaskButton'", 'btn btn-primary');?></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -66,6 +66,7 @@ class program extends control
|
||||
if(common::hasPriv('program', 'pgmcreate')) $this->lang->pageActions = html::a($this->createLink('program', 'pgmcreate'), "<i class='icon icon-sm icon-plus'></i> " . $this->lang->program->PGMCreate, '', "class='btn btn-secondary'");
|
||||
|
||||
$this->app->session->set('programList', $this->app->getURI(true));
|
||||
$this->app->session->set('whitelist', $this->app->getURI(true));
|
||||
|
||||
$programType = $this->cookie->programType ? $this->cookie->programType : 'bylist';
|
||||
|
||||
@@ -417,6 +418,8 @@ class program extends control
|
||||
if(!$programID) $this->locate($this->createLink('program', 'PGMbrowse'));
|
||||
setCookie("lastPGM", $programID, $this->config->cookieLife, $this->config->webRoot, '', false, true);
|
||||
|
||||
$this->app->session->set('whitelist', $this->app->getURI(true));
|
||||
|
||||
$this->lang->navGroup->program = 'program';
|
||||
$this->lang->program->switcherMenu = $this->program->getPGMSwitcher($programID, true);
|
||||
$this->lang->program->mainMenuAction = $this->program->getPGMMainAction();
|
||||
@@ -794,6 +797,7 @@ class program extends control
|
||||
{
|
||||
$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));
|
||||
$this->loadModel('datatable');
|
||||
|
||||
/* Load pager and get tasks. */
|
||||
|
||||
@@ -123,7 +123,7 @@
|
||||
<div class="detail">
|
||||
<div class="detail-title"><strong><?php echo $lang->project->acl;?></strong></div>
|
||||
<div class="detail-content">
|
||||
<p><?php echo $lang->project->aclList[$project->acl];?></p>
|
||||
<p><?php echo $lang->program->PGMPRJAclList[$project->acl];?></p>
|
||||
</div>
|
||||
</div>
|
||||
<?php $this->printExtendFields($project, 'div', "position=right&inForm=0&inCell=1");?>
|
||||
@@ -143,17 +143,18 @@
|
||||
if(!$project->deleted)
|
||||
{
|
||||
echo "<div class='divider'></div>";
|
||||
common::printIcon('project', 'start', "projectID=$project->id", $project, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('project', 'activate', "projectID=$project->id", $project, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('project', 'putoff', "projectID=$project->id", $project, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('project', 'suspend', "projectID=$project->id", $project, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('project', 'close', "projectID=$project->id", $project, 'button', '', '', 'iframe', true);
|
||||
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);
|
||||
|
||||
echo $this->buildOperateMenu($project, 'view');
|
||||
|
||||
echo "<div class='divider'></div>";
|
||||
common::printIcon('project', 'edit', $params, $project);
|
||||
common::printIcon('project', 'delete', $params, $project, 'button', 'trash', 'hiddenwin');
|
||||
common::printIcon('program', 'PRJEdit', $params, $project, 'button', 'edit');
|
||||
common::printIcon('program', 'PRJDelete', $params, $project, 'button', 'trash', 'hiddenwin');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
@@ -182,7 +182,7 @@ class programplanModel extends model
|
||||
$data = new stdclass();
|
||||
$data->id = $plan->id;
|
||||
$data->type = 'plan';
|
||||
$data->text = empty($plan->milestone) ? $plan->name : $isMilestone . $plan->name;
|
||||
$data->text = empty($plan->milestone) ? $plan->name : $plan->name . $isMilestone ;
|
||||
$data->percent = $plan->percent;
|
||||
$data->attribute = zget($this->lang->stage->typeList, $plan->attribute);
|
||||
$data->milestone = zget($this->lang->programplan->milestoneList, $plan->milestone);
|
||||
@@ -896,10 +896,11 @@ class programplanModel extends model
|
||||
/* Remove the currently edited stage. */
|
||||
if(isset($parentStage[$planID])) unset($parentStage[$planID]);
|
||||
|
||||
$plan = $this->getByID($planID);
|
||||
foreach($parentStage as $key => $stage)
|
||||
{
|
||||
$isCreate = $this->isCreateTask($key);
|
||||
if($isCreate === false) unset($parentStage[$key]);
|
||||
if($isCreate === false and $key != $plan->parent) unset($parentStage[$key]);
|
||||
}
|
||||
$parentStage[0] = $this->lang->programplan->emptyParent;
|
||||
ksort($parentStage);
|
||||
|
||||
@@ -265,7 +265,7 @@ $lang->project->byPeriod = '按时间段';
|
||||
$lang->project->byUser = '按用户';
|
||||
$lang->project->noProject = "暂时没有{$lang->executionCommon}。";
|
||||
$lang->project->noMembers = '暂时没有团队成员。';
|
||||
$lang->project->workloadTotal = "工作量占比累计不应当超过100%, 当前产品下的工作量之和为:%s";
|
||||
$lang->project->workloadTotal = "工作量占比累计不应当超过100, 当前产品下的工作量之和为%s";
|
||||
$lang->project->linkPRJStoryTip = "(关联{$lang->SRCommon}来源于项目下所关联的{$lang->SRCommon})";
|
||||
$lang->project->linkAllStoryTip = "(项目下还未关联{$lang->SRCommon},可直接关联该迭代/阶段/冲刺所关联产品的{$lang->SRCommon})";
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ include '../../common/view/header.lite.html.php';
|
||||
<?php
|
||||
$isOnlybody = helper::inOnlyBodyMode();
|
||||
unset($_GET['onlybody']);
|
||||
echo html::a($this->createLink('my', 'index'), $lang->my->common, ($isOnlybody ? '_parent' : ''), "class='btn'");
|
||||
echo html::a($this->createLink('my', 'index'), $lang->my->common, ($isOnlybody ? '_parent' : ''), "class='btn' data-group='my'");
|
||||
if($refererBeforeDeny) echo html::a(helper::safe64Decode($refererBeforeDeny), $lang->user->goback, ($isOnlybody ? '_parent' : ''), "class='btn'");
|
||||
echo html::a($this->createLink('user', 'logout', "referer=" . helper::safe64Encode($denyPage)), $lang->user->relogin, ($isOnlybody ? '_parent' : ''), "class='btn btn-primary'");
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user