* Fix code for execution.
This commit is contained in:
@@ -66,8 +66,8 @@ class execution extends control
|
||||
|
||||
if(common::hasPriv('execution', 'create')) $this->lang->TRActions = html::a($this->createLink('execution', 'create'), "<i class='icon icon-sm icon-plus'></i> " . $this->lang->execution->create, '', "class='btn btn-primary'");
|
||||
|
||||
$this->view->title = $this->lang->execution->index;
|
||||
$this->view->position[] = $this->lang->execution->index;
|
||||
$this->view->title = $this->lang->execution->index;
|
||||
$this->view->position[] = $this->lang->execution->index;
|
||||
|
||||
$this->display();
|
||||
}
|
||||
@@ -132,14 +132,6 @@ class execution extends control
|
||||
*/
|
||||
public function task($executionID = 0, $status = 'unclosed', $param = 0, $orderBy = '', $recTotal = 0, $recPerPage = 100, $pageID = 1)
|
||||
{
|
||||
/* Save last PRJ. */
|
||||
if($this->config->systemMode == 'new')
|
||||
{
|
||||
$executionID = $this->project->saveState($this->session->project, $this->project->getPairs());
|
||||
if(!$executionID) $this->locate($this->createLink('program', 'PRJbrowse'));
|
||||
setCookie("lastPRJ", $executionID, $this->config->cookieLife, $this->config->webRoot, '', false, true);
|
||||
}
|
||||
|
||||
$this->loadModel('tree');
|
||||
$this->loadModel('search');
|
||||
$this->loadModel('task');
|
||||
@@ -1211,51 +1203,42 @@ class execution extends control
|
||||
}
|
||||
}
|
||||
|
||||
$this->view->isSprint = false;
|
||||
$execution = $this->execution->getById($this->session->project);
|
||||
|
||||
$isSprint = true;
|
||||
if($this->config->systemMode == 'new')
|
||||
{
|
||||
if($execution->model == 'scrum' && isset($this->config->custom->sprintConcept) and $this->config->custom->sprintConcept == 1)
|
||||
$project = $this->project->getById($this->session->project);
|
||||
if($project->model == 'scrum')
|
||||
{
|
||||
$this->view->isSprint = true;
|
||||
|
||||
unset($this->lang->execution->endList[62]);
|
||||
unset($this->lang->execution->endList[93]);
|
||||
unset($this->lang->execution->endList[186]);
|
||||
unset($this->lang->execution->endList[365]);
|
||||
}
|
||||
|
||||
$this->view->isStage = $execution->model == 'waterfall' ? true : false;
|
||||
$this->view->iconObject = $execution->model == 'waterfall' ? 'stage' : 'sprint';
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->view->isStage = false;
|
||||
}
|
||||
|
||||
$executionID = key($this->executions);
|
||||
$this->execution->setMenu($this->executions, $executionID);
|
||||
|
||||
$this->view->title = $this->lang->execution->create;
|
||||
$this->view->position[] = $this->view->title;
|
||||
$this->view->title = $this->lang->execution->create;
|
||||
$this->view->position[] = $this->view->title;
|
||||
$this->view->executions = array('' => '') + $this->executions;
|
||||
$this->view->groups = $this->loadModel('group')->getPairs();
|
||||
$this->view->allProducts = array(0 => '') + $this->loadModel('product')->getProductPairsByProject($this->session->project);
|
||||
$this->view->acl = $acl;
|
||||
$this->view->plan = $plan;
|
||||
$this->view->name = $name;
|
||||
$this->view->code = $code;
|
||||
$this->view->team = $team;
|
||||
$this->view->groups = $this->loadModel('group')->getPairs();
|
||||
$this->view->allProducts = array(0 => '') + $this->loadModel('product')->getProductPairsByProject($this->session->project);
|
||||
$this->view->acl = $acl;
|
||||
$this->view->plan = $plan;
|
||||
$this->view->name = $name;
|
||||
$this->view->code = $code;
|
||||
$this->view->team = $team;
|
||||
$this->view->executionID = $executionID;
|
||||
$this->view->productID = $productID;
|
||||
$this->view->products = $products;
|
||||
$this->view->productPlan = array(0 => '') + $productPlan;
|
||||
$this->view->productPlans = array(0 => '') + $productPlans;
|
||||
$this->view->whitelist = $whitelist;
|
||||
$this->view->productID = $productID;
|
||||
$this->view->products = $products;
|
||||
$this->view->productPlan = array(0 => '') + $productPlan;
|
||||
$this->view->productPlans = array(0 => '') + $productPlans;
|
||||
$this->view->whitelist = $whitelist;
|
||||
$this->view->copyExecutionID = $copyExecutionID;
|
||||
$this->view->branchGroups = $this->loadModel('branch')->getByProducts(array_keys($products));
|
||||
$this->view->users = $this->loadModel('user')->getPairs('nodeleted|noclosed');
|
||||
$this->view->branchGroups = $this->loadModel('branch')->getByProducts(array_keys($products));
|
||||
$this->view->users = $this->loadModel('user')->getPairs('nodeleted|noclosed');
|
||||
$this->view->isSprint = $isSprint;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
@@ -1350,25 +1333,21 @@ class execution extends control
|
||||
$productPlans[$product->id] = $this->productplan->getPairs($product->id);
|
||||
}
|
||||
|
||||
$this->view->isSprint = false;
|
||||
$isSprint = true;
|
||||
if($this->config->systemMode == 'new')
|
||||
{
|
||||
$PRJData = $this->execution->getById($this->session->project);
|
||||
if($PRJData->model == 'scrum' && isset($this->config->custom->sprintConcept) && $this->config->custom->sprintConcept == 1)
|
||||
$project = $this->project->getById($this->session->project);
|
||||
if($project->model == 'scrum')
|
||||
{
|
||||
$this->view->isSprint = true;
|
||||
|
||||
unset($this->lang->execution->endList[62]);
|
||||
unset($this->lang->execution->endList[93]);
|
||||
unset($this->lang->execution->endList[186]);
|
||||
unset($this->lang->execution->endList[365]);
|
||||
}
|
||||
|
||||
$this->view->isStage = $PRJData->model == 'waterfall' ? true : false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->view->isStage = false;
|
||||
else
|
||||
{
|
||||
$isSprint = false;
|
||||
}
|
||||
}
|
||||
|
||||
$this->loadModel('user');
|
||||
@@ -1399,6 +1378,7 @@ class execution extends control
|
||||
$this->view->unmodifiableProducts = $unmodifiableProducts;
|
||||
$this->view->productPlans = $productPlans;
|
||||
$this->view->branchGroups = $this->loadModel('branch')->getByProducts(array_keys($linkedProducts), '', $linkedBranches);
|
||||
$this->view->isSprint = $isSprint;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
@@ -1461,17 +1441,17 @@ class execution extends control
|
||||
$rdUsers = $this->user->getPairs('noclosed|nodeleted|devfirst', $appendRdUsers, $this->config->maxCount);
|
||||
if(!empty($this->config->user->moreLink)) $this->config->moreLinks["RD"] = $this->config->user->moreLink;
|
||||
|
||||
$PRJData = $this->execution->getById($this->session->project);
|
||||
$project = $this->project->getById($this->session->project);
|
||||
|
||||
$this->view->title = $this->lang->execution->batchEdit;
|
||||
$this->view->position[] = $this->lang->execution->batchEdit;
|
||||
$this->view->title = $this->lang->execution->batchEdit;
|
||||
$this->view->position[] = $this->lang->execution->batchEdit;
|
||||
$this->view->executionIDList = $executionIDList;
|
||||
$this->view->executions = $executions;
|
||||
$this->view->pmUsers = $pmUsers;
|
||||
$this->view->poUsers = $poUsers;
|
||||
$this->view->qdUsers = $qdUsers;
|
||||
$this->view->rdUsers = $rdUsers;
|
||||
$this->view->isStage = $PRJData->model == 'waterfall' ? true : false;
|
||||
$this->view->pmUsers = $pmUsers;
|
||||
$this->view->poUsers = $poUsers;
|
||||
$this->view->qdUsers = $qdUsers;
|
||||
$this->view->rdUsers = $rdUsers;
|
||||
$this->view->isStage = $project->model == 'waterfall' ? true : false;
|
||||
$this->display();
|
||||
}
|
||||
|
||||
@@ -1670,7 +1650,7 @@ class execution extends control
|
||||
if(empty($execution) || strpos('stage,sprint', $execution->type) === false) die(js::error($this->lang->notFound) . js::locate('back'));
|
||||
|
||||
$this->app->loadLang('program');
|
||||
$this->session->project = $execution->execution;
|
||||
$this->session->project = $execution->project;
|
||||
|
||||
/* Execution not found to prevent searching for .*/
|
||||
if(!isset($this->executions[$execution->id])) $this->executions = $this->execution->getPairs($execution->execution, 'all', 'nocode');
|
||||
@@ -2884,7 +2864,7 @@ class execution extends control
|
||||
$this->view->cases = $cases;
|
||||
$this->view->story = $story;
|
||||
$this->view->users = $users;
|
||||
$this->view->executions = $this->loadModel('execution')->getPairs($this->session->project, 'all', 'nocode');
|
||||
$this->view->executions = $this->loadModel('execution')->getPairs($this->session->project, 'all', 'nocode');
|
||||
$this->view->actions = $this->loadModel('action')->getList('story', $storyID);
|
||||
$this->view->modulePath = $modulePath;
|
||||
$this->view->version = $version == 0 ? $story->version : $version;
|
||||
|
||||
@@ -38,7 +38,7 @@ $(function()
|
||||
|
||||
var adjustMainCol = function()
|
||||
{
|
||||
if(!isStage) $('.main-form .col-main').css('width', Math.max(250, Math.floor(($('#productsBox').outerWidth() - 50)/3) + 10));
|
||||
if(isSprint) $('.main-form .col-main').css('width', Math.max(250, Math.floor(($('#productsBox').outerWidth() - 50)/3) + 10));
|
||||
};
|
||||
adjustMainCol();
|
||||
$(window).on('resize', adjustMainCol);
|
||||
|
||||
@@ -62,12 +62,12 @@ class executionModel extends model
|
||||
*/
|
||||
public function setMenu($executions, $executionID, $buildID = 0, $extra = '')
|
||||
{
|
||||
$execution = $this->getByID($this->session->project);
|
||||
$project = $this->getByID($this->session->project);
|
||||
if(empty($executions))
|
||||
{
|
||||
if($execution->model == 'waterfall')
|
||||
if($project->model == 'waterfall')
|
||||
{
|
||||
if(($this->app->moduleName == 'programplan' && $this->app->methodName != 'create') || $this->app->moduleName == 'execution') die(js::locate(helper::createLink('programplan', 'create', "executionID=$execution->id")));
|
||||
if(($this->app->moduleName == 'programplan' && $this->app->methodName != 'create') || $this->app->moduleName == 'execution') die(js::locate(helper::createLink('programplan', 'create', "projectID=$project->id")));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -75,21 +75,8 @@ class executionModel extends model
|
||||
}
|
||||
}
|
||||
|
||||
if(!$executionID and $this->session->project) $executionID = $this->session->project;
|
||||
|
||||
$execution = $this->getById($executionID);
|
||||
$isProgram = false;
|
||||
if(!empty($execution))
|
||||
{
|
||||
$isProgram = $execution->model;
|
||||
$execution = $isProgram ? $execution : $this->getByID($execution->parent);
|
||||
}
|
||||
|
||||
if($isProgram)
|
||||
{
|
||||
$executionID = $this->session->project;
|
||||
if(!$executionID or !in_array($executionID, array_keys($executions))) $executionID = key($executions);
|
||||
}
|
||||
if(!$executionID and $this->session->execution) $executionID = $this->session->execution;
|
||||
if(!$executionID or !in_array($executionID, array_keys($executions))) $executionID = key($executions);
|
||||
|
||||
$this->session->set('execution', $executionID);
|
||||
|
||||
@@ -176,9 +163,7 @@ class executionModel extends model
|
||||
*/
|
||||
public function select($executions, $executionID, $buildID, $currentModule, $currentMethod, $extra = '')
|
||||
{
|
||||
if(!$executions) return false;
|
||||
|
||||
if(!$executionID) return;
|
||||
if(!$executions or !$executionID) return false;
|
||||
|
||||
$isMobile = $this->app->viewType == 'mhtml';
|
||||
|
||||
@@ -189,11 +174,11 @@ class executionModel extends model
|
||||
{
|
||||
if(isset($currentExecution->type) and $currentExecution->type == 'program') return;
|
||||
|
||||
if(isset($currentExecution->execution)) $execution = $this->loadModel('execution')->getByID($currentExecution->execution);
|
||||
if($currentExecution->project) $project = $this->loadModel('project')->getByID($currentExecution->project);
|
||||
|
||||
if(isset($execution) and $execution->model == 'waterfall')
|
||||
if(isset($project) and $project->model == 'waterfall')
|
||||
{
|
||||
$productID = $this->loadModel('product')->getProductIDByExecution($currentExecution->id);
|
||||
$productID = $this->loadModel('product')->getProductIDByProject($project->id);
|
||||
$productName = $this->dao->findByID($productID)->from(TABLE_PRODUCT)->fetch('name');
|
||||
$currentExecution->name = $productName . '/' . $currentExecution->name;
|
||||
}
|
||||
@@ -290,10 +275,10 @@ class executionModel extends model
|
||||
public function saveState($executionID, $executions)
|
||||
{
|
||||
/* When the cookie and session do not exist, get it from the database. */
|
||||
if(empty($executionID) && isset($this->config->execution->lastExecution) && isset($executions[$this->config->execution->lastExecution]))
|
||||
if(empty($executionID) and isset($this->config->execution->lastExecution) and isset($executions[$this->config->execution->lastExecution]))
|
||||
{
|
||||
$this->session->set('execution', $this->config->execution->lastExecution);
|
||||
return $this->session->project;
|
||||
return $this->session->execution;
|
||||
}
|
||||
|
||||
if($executionID > 0) $this->session->set('execution', (int)$executionID);
|
||||
@@ -304,13 +289,13 @@ class executionModel extends model
|
||||
$executionID = in_array($executionID, array_keys($executions)) ? $executionID : key($executions);
|
||||
$this->session->set('execution', $executionID);
|
||||
}
|
||||
if($executionID == 0 and $this->session->project == '') $this->session->set('execution', key($executions));
|
||||
if(!isset($executions[$this->session->project]))
|
||||
if($executionID == 0 and $this->session->execution == '') $this->session->set('execution', key($executions));
|
||||
if(!isset($executions[$this->session->execution]))
|
||||
{
|
||||
$this->session->set('execution', key($executions));
|
||||
if($executionID && strpos(",{$this->app->user->view->sprints},", ",{$this->session->project},") === false) $this->accessDenied();
|
||||
if($executionID && strpos(",{$this->app->user->view->sprints},", ",{$this->session->execution},") === false) $this->accessDenied();
|
||||
}
|
||||
return $this->session->project;
|
||||
return $this->session->execution;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -326,7 +311,7 @@ class executionModel extends model
|
||||
$this->lang->execution->team = $this->lang->execution->teamname;
|
||||
|
||||
/* Determine whether to add a sprint or a stage according to the model of the execution. */
|
||||
$execution = $this->getByID($this->session->project);
|
||||
$execution = $this->getByID($this->session->project);
|
||||
$sprintType = $this->config->systemMode == 'new' ? zget($this->config->execution->modelList, $execution->model, '') : 'sprint';
|
||||
|
||||
/* If the execution model is a stage, determine whether the product is linked. */
|
||||
@@ -377,7 +362,7 @@ class executionModel extends model
|
||||
/* Add the creater to the team. */
|
||||
if(!dao::isError())
|
||||
{
|
||||
$executionID = $this->dao->lastInsertId();
|
||||
$executionID = $this->dao->lastInsertId();
|
||||
$today = helper::today();
|
||||
$creatorExists = false;
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* The suspend file of project module of ZenTaoPMS.
|
||||
* The suspend file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang<wwccss@gmail.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: suspend.html.php 935 2013-01-16 07:49:24Z wwccss@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
@@ -17,19 +17,19 @@
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='main-header'>
|
||||
<h2>
|
||||
<span class='prefix label-id'><strong><?php echo $project->id;?></strong></span>
|
||||
<?php echo isonlybody() ? ("<span title='$project->name'>" . $project->name . '</span>') : html::a($this->createLink('project', 'view', 'project=' . $project->id), $project->name, '_blank');?>
|
||||
<span class='prefix label-id'><strong><?php echo $execution->id;?></strong></span>
|
||||
<?php echo isonlybody() ? ("<span title='$execution->name'>" . $execution->name . '</span>') : html::a($this->createLink('execution', 'view', 'execution=' . $execution->id), $execution->name, '_blank');?>
|
||||
<?php if(!isonlybody()):?>
|
||||
<small><?php echo $lang->arrow . $lang->project->activate;?></small>
|
||||
<small><?php echo $lang->arrow . $lang->execution->activate;?></small>
|
||||
<?php endif;?>
|
||||
</h2>
|
||||
</div>
|
||||
<form class='load-indicator main-form' method='post' target='hiddenwin'>
|
||||
<table class='table table-form'>
|
||||
<tr style='height:50px;'>
|
||||
<th class='w-70px'><?php echo $lang->project->beginAndEnd;?></th>
|
||||
<th class='w-70px'><?php echo $lang->execution->beginAndEnd;?></th>
|
||||
<td class='muted' colspan='2'>
|
||||
<div id='sourceTimeBox'><?php echo $project->begin . ' ~ ' . $project->end;?></div>
|
||||
<div id='sourceTimeBox'><?php echo $execution->begin . ' ~ ' . $execution->end;?></div>
|
||||
<div id='readjustTimeBox' class='hide'>
|
||||
<div class='input-group'>
|
||||
<?php echo html::input('begin', $newBegin, "class='form-control form-date'")?>
|
||||
@@ -41,19 +41,19 @@
|
||||
<td colspan='3'>
|
||||
<div class='clearfix row'>
|
||||
<div class='col-md-6 pull-left'>
|
||||
<div class="checkbox-primary"><input name="readjustTime" value="1" id="readjustTime" type="checkbox"><label for="readjustTime" class="no-margin"><?php echo $lang->project->readjustTime;?></label></div>
|
||||
<div class="checkbox-primary"><input name="readjustTime" value="1" id="readjustTime" type="checkbox"><label for="readjustTime" class="no-margin"><?php echo $lang->execution->readjustTime;?></label></div>
|
||||
</div>
|
||||
<div class='col-md-6 pull-left'>
|
||||
<div id='readjustTaskBox' class='checkbox-primary hidden'><input name="readjustTask" value="1" id="readjustTask" type="checkbox"> <label for='readjustTask' class='no-margin'><?php echo $lang->project->readjustTask?></label></div>
|
||||
<div id='readjustTaskBox' class='checkbox-primary hidden'><input name="readjustTask" value="1" id="readjustTask" type="checkbox"> <label for='readjustTask' class='no-margin'><?php echo $lang->execution->readjustTask?></label></div>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class='hide'>
|
||||
<th><?php echo $lang->project->status;?></th>
|
||||
<th><?php echo $lang->execution->status;?></th>
|
||||
<td><?php echo html::hidden('status', 'doing');?></td>
|
||||
</tr>
|
||||
<?php $this->printExtendFields($project, 'table', 'columns=5');?>
|
||||
<?php $this->printExtendFields($execution, 'table', 'columns=5');?>
|
||||
<tr>
|
||||
<th><?php echo $lang->comment;?></th>
|
||||
<td colspan='5'><?php echo html::textarea('comment', '', "rows='6' class='form-control kindeditor' hidefocus='true'");?></td>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
<?php js::set('projectID', $projectID);?>
|
||||
<?php js::set('executionID', $executionID);?>
|
||||
<?php js::set('module', $module);?>
|
||||
<?php js::set('method', $method);?>
|
||||
<?php js::set('extra', $extra);?>
|
||||
@@ -6,30 +6,30 @@
|
||||
$iCharges = 0;
|
||||
$others = 0;
|
||||
$dones = 0;
|
||||
$projectNames = array();
|
||||
$executionNames = array();
|
||||
$myProjectsHtml = '';
|
||||
$normalProjectsHtml = '';
|
||||
$closedProjectsHtml = '';
|
||||
foreach($projects as $project)
|
||||
foreach($executions as $execution)
|
||||
{
|
||||
if($project->status != 'done' and $project->status != 'closed' and $project->PM == $this->app->user->account) $iCharges++;
|
||||
if($project->status != 'done' and $project->status != 'closed' and !($project->PM == $this->app->user->account)) $others++;
|
||||
if($project->status == 'done' or $project->status == 'closed') $dones++;
|
||||
$projectNames[] = $project->name;
|
||||
if($execution->status != 'done' and $execution->status != 'closed' and $execution->PM == $this->app->user->account) $iCharges++;
|
||||
if($execution->status != 'done' and $execution->status != 'closed' and !($execution->PM == $this->app->user->account)) $others++;
|
||||
if($execution->status == 'done' or $execution->status == 'closed') $dones++;
|
||||
$executionNames[] = $execution->name;
|
||||
}
|
||||
$projectsPinYin = common::convert2Pinyin($projectNames);
|
||||
$executionsPinYin = common::convert2Pinyin($executionNames);
|
||||
|
||||
foreach($projects as $project)
|
||||
foreach($executions as $execution)
|
||||
{
|
||||
if($project->status != 'done' and $project->status != 'closed' and $project->PM == $this->app->user->account)
|
||||
if($execution->status != 'done' and $execution->status != 'closed' and $execution->PM == $this->app->user->account)
|
||||
{
|
||||
$myProjectsHtml .= html::a(sprintf($link, $project->id), "<i class='icon icon-{$lang->icons[$project->type]}'></i> " . $project->name, '', "class='text-important' title='{$project->name}' data-key='" . zget($projectsPinYin, $project->name, '') . "'");
|
||||
$myProjectsHtml .= html::a(sprintf($link, $execution->id), "<i class='icon icon-{$lang->icons[$execution->type]}'></i> " . $execution->name, '', "class='text-important' title='{$execution->name}' data-key='" . zget($executionsPinYin, $execution->name, '') . "'");
|
||||
}
|
||||
else if($project->status != 'done' and $project->status != 'closed' and !($project->PM == $this->app->user->account))
|
||||
else if($execution->status != 'done' and $execution->status != 'closed' and !($execution->PM == $this->app->user->account))
|
||||
{
|
||||
$normalProjectsHtml .= html::a(sprintf($link, $project->id), "<i class='icon icon-{$lang->icons[$project->type]}'></i> " . $project->name, '', "title='{$project->name}' data-key='" . zget($projectsPinYin, $project->name, '') . "'");
|
||||
$normalProjectsHtml .= html::a(sprintf($link, $execution->id), "<i class='icon icon-{$lang->icons[$execution->type]}'></i> " . $execution->name, '', "title='{$execution->name}' data-key='" . zget($executionsPinYin, $execution->name, '') . "'");
|
||||
}
|
||||
else if($project->status == 'done' or $project->status == 'closed') $closedProjectsHtml .= html::a(sprintf($link, $project->id), "<i class='icon icon-{$lang->icons[$project->type]}'></i> " . $project->name, '', "title='{$project->name}' data-key='" . zget($projectsPinYin, $project->name, '') . "'");
|
||||
else if($execution->status == 'done' or $execution->status == 'closed') $closedProjectsHtml .= html::a(sprintf($link, $execution->id), "<i class='icon icon-{$lang->icons[$execution->type]}'></i> " . $execution->name, '', "title='{$execution->name}' data-key='" . zget($executionsPinYin, $execution->name, '') . "'");
|
||||
}
|
||||
?>
|
||||
<div class="table-row">
|
||||
@@ -38,19 +38,19 @@ foreach($projects as $project)
|
||||
<?php
|
||||
if(!empty($myProjectsHtml))
|
||||
{
|
||||
echo "<div class='heading'>{$lang->project->mine}</div>";
|
||||
echo "<div class='heading'>{$lang->execution->mine}</div>";
|
||||
echo $myProjectsHtml;
|
||||
if(!empty($myProjectsHtml))
|
||||
{
|
||||
echo "<div class='heading'>{$lang->project->other}</div>";
|
||||
echo "<div class='heading'>{$lang->execution->other}</div>";
|
||||
}
|
||||
}
|
||||
echo $normalProjectsHtml;
|
||||
?>
|
||||
</div>
|
||||
<div class="col-footer">
|
||||
<?php echo html::a(helper::createLink('program', 'prjbrowse'), '<i class="icon icon-cards-view muted"></i> ' . $lang->project->all, '', 'class="not-list-item"'); ?>
|
||||
<a class='pull-right toggle-right-col not-list-item'><?php echo $lang->project->doneProjects?><i class='icon icon-angle-right'></i></a>
|
||||
<?php echo html::a(helper::createLink('program', 'prjbrowse'), '<i class="icon icon-cards-view muted"></i> ' . $lang->execution->all, '', 'class="not-list-item"'); ?>
|
||||
<a class='pull-right toggle-right-col not-list-item'><?php echo $lang->execution->doneProjects?><i class='icon icon-angle-right'></i></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-col col-right">
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* The kanban setting view file of project module of ZenTaoPMS.
|
||||
* The kanban setting view file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Yidong Wang <yidong@cnezsoft.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
@@ -21,19 +21,19 @@ form {padding: 30px 0 40px;}
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='center-block'>
|
||||
<div class='main-header'>
|
||||
<h2><?php echo $lang->project->kanbanSetting;?></h2>
|
||||
<h2><?php echo $lang->execution->kanbanSetting;?></h2>
|
||||
</div>
|
||||
<form target='hiddenwin' method='post'>
|
||||
<table class='table table-form'>
|
||||
<?php if(common::hasPriv('project', 'kanbanHideCols')):?>
|
||||
<?php if(common::hasPriv('execution', 'kanbanHideCols')):?>
|
||||
<tr class='statusTR'>
|
||||
<th class='text-right w-200px'><?php echo $lang->project->kanbanHideCols?></th>
|
||||
<th class='text-right w-200px'><?php echo $lang->execution->kanbanHideCols?></th>
|
||||
<td><?php echo html::radio('allCols', $lang->kanbanSetting->optionList, $setting->allCols)?></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<?php if(common::hasPriv('project', 'kanbanColsColor')):?>
|
||||
<?php if(common::hasPriv('execution', 'kanbanColsColor')):?>
|
||||
<tr class='statusTR'>
|
||||
<th class='text-right'><?php echo $lang->project->kanbanColsColor?></th>
|
||||
<th class='text-right'><?php echo $lang->execution->kanbanColsColor?></th>
|
||||
<td>
|
||||
<div class='row'>
|
||||
<?php foreach($setting->colorList as $status => $color):?>
|
||||
@@ -52,7 +52,7 @@ form {padding: 30px 0 40px;}
|
||||
<td colspan='2' class='form-actions text-center'>
|
||||
<?php
|
||||
echo html::submitButton();
|
||||
echo ' ' . html::a(inlink('ajaxResetKanban', "projectID=$projectID"), $lang->project->resetKanban, 'hiddenwin', "class='btn btn-wide'");
|
||||
echo ' ' . html::a(inlink('ajaxResetKanban', "executionID=$executionID"), $lang->execution->resetKanban, 'hiddenwin', "class='btn btn-wide'");
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* The html template file of all method of project module of ZenTaoPMS.
|
||||
* The html template file of all method of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Yidong Wang <yidong@cnezsoft.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: index.html.php 5094 2013-07-10 08:46:15Z chencongzhi520@gmail.com $
|
||||
*/
|
||||
?>
|
||||
@@ -26,24 +26,24 @@
|
||||
</style>
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
<div class='btn-toolbar pull-left'>
|
||||
<?php foreach($lang->project->featureBar['all'] as $key => $label):?>
|
||||
<?php echo html::a(inlink("all", "status=$key&projectID=$project->id&orderBy=$orderBy&productID=$productID"), "<span class='text'>{$label}</span>", '', "class='btn btn-link' id='{$key}Tab'");?>
|
||||
<?php foreach($lang->execution->featureBar['all'] as $key => $label):?>
|
||||
<?php echo html::a(inlink("all", "status=$key&executionID=$execution->id&orderBy=$orderBy&productID=$productID"), "<span class='text'>{$label}</span>", '', "class='btn btn-link' id='{$key}Tab'");?>
|
||||
<?php endforeach;?>
|
||||
<div class='input-control space w-180px'>
|
||||
<?php echo html::select('product', $products, $productID, "class='chosen form-control' onchange='byProduct(this.value, $projectID, \"$status\")'");?>
|
||||
<?php echo html::select('product', $products, $productID, "class='chosen form-control' onchange='byProduct(this.value, $executionID, \"$status\")'");?>
|
||||
</div>
|
||||
</div>
|
||||
<div class='btn-toolbar pull-right'>
|
||||
<?php common::printLink('project', 'export', "status=$status&productID=$productID&orderBy=$orderBy", "<i class='icon-export muted'> </i>" . $lang->export, '', "class='btn btn-link export'")?>
|
||||
<?php if(common::hasPriv('project', 'create')) echo html::a($this->createLink('project', 'create'), "<i class='icon icon-sm icon-plus'></i> " . $this->lang->project->create, '', "class='btn btn-primary'");?>
|
||||
<?php common::printLink('execution', 'export', "status=$status&productID=$productID&orderBy=$orderBy", "<i class='icon-export muted'> </i>" . $lang->export, '', "class='btn btn-link export'")?>
|
||||
<?php if(common::hasPriv('execution', 'create')) echo html::a($this->createLink('execution', 'create'), "<i class='icon icon-sm icon-plus'></i> " . $this->lang->execution->create, '', "class='btn btn-primary'");?>
|
||||
</div>
|
||||
</div>
|
||||
<div id='mainContent'>
|
||||
<?php $canOrder = (common::hasPriv('project', 'updateOrder') and strpos($orderBy, 'order') !== false)?>
|
||||
<?php $canBatchEdit = common::hasPriv('project', 'batchEdit'); ?>
|
||||
<form class='main-table' id='projectsForm' method='post' action='<?php echo inLink('batchEdit', "projectID=$projectID");?>' data-ride='table'>
|
||||
<table class='table has-sort-head table-fixed' id='projectList'>
|
||||
<?php $vars = "status=$status&projectID=$projectID&orderBy=%s&productID=$productID&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}";?>
|
||||
<?php $canOrder = (common::hasPriv('execution', 'updateOrder') and strpos($orderBy, 'order') !== false)?>
|
||||
<?php $canBatchEdit = common::hasPriv('execution', 'batchEdit'); ?>
|
||||
<form class='main-table' id='executionsForm' method='post' action='<?php echo inLink('batchEdit', "executionID=$executionID");?>' data-ride='table'>
|
||||
<table class='table has-sort-head table-fixed' id='executionList'>
|
||||
<?php $vars = "status=$status&executionID=$executionID&orderBy=%s&productID=$productID&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}";?>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='c-id'>
|
||||
@@ -54,28 +54,28 @@
|
||||
<?php endif;?>
|
||||
<?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?>
|
||||
</th>
|
||||
<th><?php common::printOrderLink('name', $orderBy, $vars, $lang->project->name);?></th>
|
||||
<th class='w-150px'><?php common::printOrderLink('code', $orderBy, $vars, $lang->project->code);?></th>
|
||||
<th class='thWidth'><?php common::printOrderLink('PM', $orderBy, $vars, $lang->project->PM);?></th>
|
||||
<th class='w-90px'><?php common::printOrderLink('end', $orderBy, $vars, $lang->project->end);?></th>
|
||||
<th class='w-90px'><?php common::printOrderLink('status', $orderBy, $vars, $lang->project->status);?></th>
|
||||
<th class='w-70px'><?php echo $lang->project->totalEstimate;?></th>
|
||||
<th class='w-70px'><?php echo $lang->project->totalConsumed;?></th>
|
||||
<th class='w-70px'><?php echo $lang->project->totalLeft;?></th>
|
||||
<th class='w-150px'><?php echo $lang->project->progress;?></th>
|
||||
<th class='w-100px'><?php echo $lang->project->burn;?></th>
|
||||
<th><?php common::printOrderLink('name', $orderBy, $vars, $lang->execution->name);?></th>
|
||||
<th class='w-150px'><?php common::printOrderLink('code', $orderBy, $vars, $lang->execution->code);?></th>
|
||||
<th class='thWidth'><?php common::printOrderLink('PM', $orderBy, $vars, $lang->execution->PM);?></th>
|
||||
<th class='w-90px'><?php common::printOrderLink('end', $orderBy, $vars, $lang->execution->end);?></th>
|
||||
<th class='w-90px'><?php common::printOrderLink('status', $orderBy, $vars, $lang->execution->status);?></th>
|
||||
<th class='w-70px'><?php echo $lang->execution->totalEstimate;?></th>
|
||||
<th class='w-70px'><?php echo $lang->execution->totalConsumed;?></th>
|
||||
<th class='w-70px'><?php echo $lang->execution->totalLeft;?></th>
|
||||
<th class='w-150px'><?php echo $lang->execution->progress;?></th>
|
||||
<th class='w-100px'><?php echo $lang->execution->burn;?></th>
|
||||
<?php if($canOrder):?>
|
||||
<th class='w-60px sort-default'><?php common::printOrderLink('order', $orderBy, $vars, $lang->project->orderAB);?></th>
|
||||
<th class='w-60px sort-default'><?php common::printOrderLink('order', $orderBy, $vars, $lang->execution->orderAB);?></th>
|
||||
<?php endif;?>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody class='sortable' id='projectTableList'>
|
||||
<tbody class='sortable' id='executionTableList'>
|
||||
<?php foreach($executionStats as $execution):?>
|
||||
<tr data-id='<?php echo $execution->id ?>' data-order='<?php echo $execution->order ?>'>
|
||||
<td class='c-id'>
|
||||
<?php if($canBatchEdit):?>
|
||||
<div class="checkbox-primary">
|
||||
<input type='checkbox' name='projectIDList[<?php echo $execution->id;?>]' value='<?php echo $execution->id;?>' />
|
||||
<input type='checkbox' name='executionIDList[<?php echo $execution->id;?>]' value='<?php echo $execution->id;?>' />
|
||||
<label></label>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
@@ -83,8 +83,8 @@
|
||||
</td>
|
||||
<td class='text-left <?php if(!empty($execution->children)) echo 'has-child';?>' title='<?php echo $execution->name?>'>
|
||||
<?php
|
||||
if(isset($execution->delay)) echo "<span class='label label-danger label-badge'>{$lang->project->delayed}</span> ";
|
||||
echo !empty($execution->children) ? $execution->name : html::a($this->createLink('project', 'view', 'project=' . $execution->id), $execution->name);
|
||||
if(isset($execution->delay)) echo "<span class='label label-danger label-badge'>{$lang->execution->delayed}</span> ";
|
||||
echo !empty($execution->children) ? $execution->name : html::a($this->createLink('execution', 'view', 'execution=' . $execution->id), $execution->name);
|
||||
?>
|
||||
<?php if(!empty($execution->children)):?>
|
||||
<a class="plan-toggle" data-id="<?php echo $execution->id;?>"><i class="icon icon-angle-double-right"></i></a>
|
||||
@@ -93,9 +93,9 @@
|
||||
<td class='text-left' title="<?php echo $execution->code;?>"><?php echo $execution->code;?></td>
|
||||
<td><?php echo zget($users, $execution->PM);?></td>
|
||||
<td><?php echo $execution->end;?></td>
|
||||
<?php $projectStatus = $this->processStatus('project', $execution);?>
|
||||
<td class='c-status' title='<?php echo $projectStatus;?>'>
|
||||
<span class="status-project status-<?php echo $execution->status?>"><?php echo $projectStatus;?></span>
|
||||
<?php $executionStatus = $this->processStatus('execution', $execution);?>
|
||||
<td class='c-status' title='<?php echo $executionStatus;?>'>
|
||||
<span class="status-execution status-<?php echo $execution->status?>"><?php echo $executionStatus;?></span>
|
||||
</td>
|
||||
<td><?php echo $execution->hours->totalEstimate . ' ' . $config->hourUnit;?></td>
|
||||
<td><?php echo $execution->hours->totalConsumed . ' ' . $config->hourUnit;?></td>
|
||||
@@ -121,7 +121,7 @@
|
||||
<td class='c-id'>
|
||||
<?php if($canBatchEdit):?>
|
||||
<div class="checkbox-primary">
|
||||
<input type='checkbox' name='projectIDList[<?php echo $child->id;?>]' value='<?php echo $child->id;?>' />
|
||||
<input type='checkbox' name='executionIDList[<?php echo $child->id;?>]' value='<?php echo $child->id;?>' />
|
||||
<label></label>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
@@ -129,17 +129,17 @@
|
||||
</td>
|
||||
<td class='text-left' title='<?php echo $child->name?>'>
|
||||
<?php
|
||||
if(isset($child->delay)) echo "<span class='label label-danger label-badge'>{$lang->project->delayed}</span> ";
|
||||
if(isset($child->delay)) echo "<span class='label label-danger label-badge'>{$lang->execution->delayed}</span> ";
|
||||
echo "<span class='label label-badge label-light' title='{$lang->programplan->children}'>{$lang->programplan->childrenAB}</span>";
|
||||
echo html::a($this->createLink('project', 'view', 'project=' . $child->id), $child->name);
|
||||
echo html::a($this->createLink('execution', 'view', 'execution=' . $child->id), $child->name);
|
||||
?>
|
||||
</td>
|
||||
<td class='text-left' title="<?php echo $child->code;?>"><?php echo $child->code;?></td>
|
||||
<td><?php echo zget($users, $child->PM);?></td>
|
||||
<td><?php echo $child->end;?></td>
|
||||
<?php $projectStatus = $this->processStatus('project', $child);?>
|
||||
<td class='c-status' title='<?php echo $projectStatus;?>'>
|
||||
<span class="status-project status-<?php echo $child->status?>"><?php echo $projectStatus;?></span>
|
||||
<?php $executionStatus = $this->processStatus('execution', $child);?>
|
||||
<td class='c-status' title='<?php echo $executionStatus;?>'>
|
||||
<span class="status-execution status-<?php echo $child->status?>"><?php echo $executionStatus;?></span>
|
||||
</td>
|
||||
<td><?php echo $child->hours->totalEstimate;?></td>
|
||||
<td><?php echo $child->hours->totalConsumed;?></td>
|
||||
@@ -166,9 +166,9 @@
|
||||
<div class='table-footer'>
|
||||
<?php if($canBatchEdit):?>
|
||||
<div class="checkbox-primary check-all"><label><?php echo $lang->selectAll?></label></div>
|
||||
<div class="table-actions btn-toolbar"><?php echo html::submitButton($lang->project->batchEdit, '', 'btn');?></div>
|
||||
<div class="table-actions btn-toolbar"><?php echo html::submitButton($lang->execution->batchEdit, '', 'btn');?></div>
|
||||
<?php endif;?>
|
||||
<?php if(!$canOrder and common::hasPriv('project', 'updateOrder')) echo html::a(inlink('all', "status=$status&projectID=$projectID&order=order_desc&productID=$productID&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}"), $lang->project->updateOrder, '', "class='btn'");?>
|
||||
<?php if(!$canOrder and common::hasPriv('execution', 'updateOrder')) echo html::a(inlink('all', "status=$status&executionID=$executionID&order=order_desc&productID=$productID&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}"), $lang->execution->updateOrder, '', "class='btn'");?>
|
||||
<?php $pager->show('right', 'pagerjs');?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
|
||||
@@ -13,9 +13,9 @@
|
||||
<?php include '../../common/view/datepicker.html.php';?>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='main-header'>
|
||||
<h2><?php echo $lang->project->batchEdit;?></h2>
|
||||
<h2><?php echo $lang->execution->batchEdit;?></h2>
|
||||
<div class='btn-toolbar pull-right'>
|
||||
<?php $customLink = $this->createLink('custom', 'ajaxSaveCustomFields', 'module=project§ion=custom&key=batchEditFields')?>
|
||||
<?php $customLink = $this->createLink('custom', 'ajaxSaveCustomFields', 'module=execution§ion=custom&key=batchEditFields')?>
|
||||
<?php include '../../common/view/customfield.html.php';?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -26,12 +26,12 @@
|
||||
{
|
||||
if($field)$visibleFields[$field] = '';
|
||||
}
|
||||
foreach(explode(',', $config->project->edit->requiredFields) as $field)
|
||||
foreach(explode(',', $config->execution->edit->requiredFields) as $field)
|
||||
{
|
||||
if($field)
|
||||
{
|
||||
$requiredFields[$field] = '';
|
||||
if(strpos(",{$config->project->customBatchEditFields},", ",{$field},") !== false) $visibleFields[$field] = '';
|
||||
if(strpos(",{$config->execution->customBatchEditFields},", ",{$field},") !== false) $visibleFields[$field] = '';
|
||||
}
|
||||
}
|
||||
$minWidth = (count($visibleFields) > 5) ? 'w-150px' : '';
|
||||
@@ -42,68 +42,68 @@
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='w-50px'><?php echo $lang->idAB;?></th>
|
||||
<th class='required <?php echo $minWidth?>'><?php echo $lang->project->name;?></th>
|
||||
<th class='w-150px required'><?php echo $lang->project->code;?></th>
|
||||
<th class='w-150px<?php echo zget($visibleFields, 'PM', ' hidden') . zget($requiredFields, 'PM', '', ' required');?>'><?php echo $lang->project->PM;?></th>
|
||||
<th class='w-150px<?php echo zget($visibleFields, 'PO', ' hidden') . zget($requiredFields, 'PO', '', ' required');?>'><?php echo $lang->project->PO;?></th>
|
||||
<th class='w-150px<?php echo zget($visibleFields, 'QD', ' hidden') . zget($requiredFields, 'QD', '', ' required');?>'><?php echo $lang->project->QD;?></th>
|
||||
<th class='w-150px<?php echo zget($visibleFields, 'RD', ' hidden') . zget($requiredFields, 'RD', '', ' required');?>'><?php echo $lang->project->RD;?></th>
|
||||
<th class='w-100px<?php echo zget($visibleFields, 'type', ' hidden') . zget($requiredFields, 'type', '', ' required');?>'><?php echo $lang->project->type;?></th>
|
||||
<th class='w-100px<?php echo zget($visibleFields, 'status', ' hidden') . zget($requiredFields, 'status', '', ' required');?>'><?php echo $lang->project->status;?></th>
|
||||
<th class='w-110px required'><?php echo $lang->project->begin;?></th>
|
||||
<th class='w-110px required'><?php echo $lang->project->end;?></th>
|
||||
<th class='w-150px<?php echo zget($visibleFields, 'desc', ' hidden') . zget($requiredFields, 'desc', '', ' required');?>'> <?php echo $lang->project->desc;?></th>
|
||||
<th class='w-150px<?php echo zget($visibleFields, 'teamname', ' hidden') . zget($requiredFields, 'teamname', '', ' required');?>'><?php echo $lang->project->teamname;?></th>
|
||||
<th class='w-150px<?php echo zget($visibleFields, 'days', ' hidden') . zget($requiredFields, 'days', '', ' required');?>'><?php echo $lang->project->days;?></th>
|
||||
<th class='w-80px'><?php echo $lang->project->order;?></th>
|
||||
<th class='required <?php echo $minWidth?>'><?php echo $lang->execution->name;?></th>
|
||||
<th class='w-150px required'><?php echo $lang->execution->code;?></th>
|
||||
<th class='w-150px<?php echo zget($visibleFields, 'PM', ' hidden') . zget($requiredFields, 'PM', '', ' required');?>'><?php echo $lang->execution->PM;?></th>
|
||||
<th class='w-150px<?php echo zget($visibleFields, 'PO', ' hidden') . zget($requiredFields, 'PO', '', ' required');?>'><?php echo $lang->execution->PO;?></th>
|
||||
<th class='w-150px<?php echo zget($visibleFields, 'QD', ' hidden') . zget($requiredFields, 'QD', '', ' required');?>'><?php echo $lang->execution->QD;?></th>
|
||||
<th class='w-150px<?php echo zget($visibleFields, 'RD', ' hidden') . zget($requiredFields, 'RD', '', ' required');?>'><?php echo $lang->execution->RD;?></th>
|
||||
<th class='w-100px<?php echo zget($visibleFields, 'type', ' hidden') . zget($requiredFields, 'type', '', ' required');?>'><?php echo $lang->execution->type;?></th>
|
||||
<th class='w-100px<?php echo zget($visibleFields, 'status', ' hidden') . zget($requiredFields, 'status', '', ' required');?>'><?php echo $lang->execution->status;?></th>
|
||||
<th class='w-110px required'><?php echo $lang->execution->begin;?></th>
|
||||
<th class='w-110px required'><?php echo $lang->execution->end;?></th>
|
||||
<th class='w-150px<?php echo zget($visibleFields, 'desc', ' hidden') . zget($requiredFields, 'desc', '', ' required');?>'> <?php echo $lang->execution->desc;?></th>
|
||||
<th class='w-150px<?php echo zget($visibleFields, 'teamname', ' hidden') . zget($requiredFields, 'teamname', '', ' required');?>'><?php echo $lang->execution->teamname;?></th>
|
||||
<th class='w-150px<?php echo zget($visibleFields, 'days', ' hidden') . zget($requiredFields, 'days', '', ' required');?>'><?php echo $lang->execution->days;?></th>
|
||||
<th class='w-80px'><?php echo $lang->execution->order;?></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach($projectIDList as $projectID):?>
|
||||
<?php foreach($executionIDList as $executionID):?>
|
||||
<?php
|
||||
if(!empty($this->config->moreLinks["PM"])) $this->config->moreLinks["PMs[$projectID]"] = $this->config->moreLinks["PM"];
|
||||
if(!empty($this->config->moreLinks["PO"])) $this->config->moreLinks["POs[$projectID]"] = $this->config->moreLinks["PO"];
|
||||
if(!empty($this->config->moreLinks["QD"])) $this->config->moreLinks["QDs[$projectID]"] = $this->config->moreLinks["QD"];
|
||||
if(!empty($this->config->moreLinks["RD"])) $this->config->moreLinks["RDs[$projectID]"] = $this->config->moreLinks["RD"];
|
||||
if(!empty($this->config->moreLinks["PM"])) $this->config->moreLinks["PMs[$executionID]"] = $this->config->moreLinks["PM"];
|
||||
if(!empty($this->config->moreLinks["PO"])) $this->config->moreLinks["POs[$executionID]"] = $this->config->moreLinks["PO"];
|
||||
if(!empty($this->config->moreLinks["QD"])) $this->config->moreLinks["QDs[$executionID]"] = $this->config->moreLinks["QD"];
|
||||
if(!empty($this->config->moreLinks["RD"])) $this->config->moreLinks["RDs[$executionID]"] = $this->config->moreLinks["RD"];
|
||||
?>
|
||||
<tr>
|
||||
<td><?php echo sprintf('%03d', $projectID) . html::hidden("projectIDList[$projectID]", $projectID);?></td>
|
||||
<td title='<?php echo $projects[$projectID]->name?>'><?php echo html::input("names[$projectID]", $projects[$projectID]->name, "class='form-control'");?></td>
|
||||
<td><?php echo html::input("codes[$projectID]", $projects[$projectID]->code, "class='form-control'");?></td>
|
||||
<td class='text-left<?php echo zget($visibleFields, 'PM', ' hidden')?>' style='overflow:visible'><?php echo html::select("PMs[$projectID]", $pmUsers, $projects[$projectID]->PM, "class='form-control chosen'");?></td>
|
||||
<td class='text-left<?php echo zget($visibleFields, 'PO', ' hidden')?>' style='overflow:visible'><?php echo html::select("POs[$projectID]", $poUsers, $projects[$projectID]->PO, "class='form-control chosen'");?></td>
|
||||
<td class='text-left<?php echo zget($visibleFields, 'QD', ' hidden')?>' style='overflow:visible'><?php echo html::select("QDs[$projectID]", $qdUsers, $projects[$projectID]->QD, "class='form-control chosen'");?></td>
|
||||
<td class='text-left<?php echo zget($visibleFields, 'RD', ' hidden')?>' style='overflow:visible'><?php echo html::select("RDs[$projectID]", $rdUsers, $projects[$projectID]->RD, "class='form-control chosen'");?></td>
|
||||
<td><?php echo sprintf('%03d', $executionID) . html::hidden("executionIDList[$executionID]", $executionID);?></td>
|
||||
<td title='<?php echo $executions[$executionID]->name?>'><?php echo html::input("names[$executionID]", $executions[$executionID]->name, "class='form-control'");?></td>
|
||||
<td><?php echo html::input("codes[$executionID]", $executions[$executionID]->code, "class='form-control'");?></td>
|
||||
<td class='text-left<?php echo zget($visibleFields, 'PM', ' hidden')?>' style='overflow:visible'><?php echo html::select("PMs[$executionID]", $pmUsers, $executions[$executionID]->PM, "class='form-control chosen'");?></td>
|
||||
<td class='text-left<?php echo zget($visibleFields, 'PO', ' hidden')?>' style='overflow:visible'><?php echo html::select("POs[$executionID]", $poUsers, $executions[$executionID]->PO, "class='form-control chosen'");?></td>
|
||||
<td class='text-left<?php echo zget($visibleFields, 'QD', ' hidden')?>' style='overflow:visible'><?php echo html::select("QDs[$executionID]", $qdUsers, $executions[$executionID]->QD, "class='form-control chosen'");?></td>
|
||||
<td class='text-left<?php echo zget($visibleFields, 'RD', ' hidden')?>' style='overflow:visible'><?php echo html::select("RDs[$executionID]", $rdUsers, $executions[$executionID]->RD, "class='form-control chosen'");?></td>
|
||||
<td class='<?php echo zget($visibleFields, 'type', 'hidden')?>'>
|
||||
<?php
|
||||
if($isStage)
|
||||
{
|
||||
echo html::select("attributes[$projectID]", $lang->stage->typeList, $projects[$projectID]->attribute, 'class=form-control');
|
||||
echo html::select("attributes[$executionID]", $lang->stage->typeList, $executions[$executionID]->attribute, 'class=form-control');
|
||||
}
|
||||
else
|
||||
{
|
||||
echo html::select("lifetimes[$projectID]", $lang->program->PRJLifeTimeList, $projects[$projectID]->lifetime, 'class=form-control');
|
||||
echo html::select("lifetimes[$executionID]", $lang->program->PRJLifeTimeList, $executions[$executionID]->lifetime, 'class=form-control');
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
<td class='<?php echo zget($visibleFields, 'status', 'hidden')?>'><?php echo html::select("statuses[$projectID]", $lang->project->statusList, $projects[$projectID]->status, 'class=form-control');?></td>
|
||||
<td><?php echo html::input("begins[$projectID]", $projects[$projectID]->begin, "class='form-control form-date' onchange='computeWorkDays(this.id)'");?></td>
|
||||
<td><?php echo html::input("ends[$projectID]", $projects[$projectID]->end, "class='form-control form-date' onchange='computeWorkDays(this.id)'");?></td>
|
||||
<td class='<?php echo zget($visibleFields, 'desc', 'hidden')?>'> <?php echo html::textarea("descs[$projectID]", $projects[$projectID]->desc, "rows='1' class='form-control autosize'");?></td>
|
||||
<td class='<?php echo zget($visibleFields, 'teamname', 'hidden')?>'><?php echo html::input("teams[$projectID]", $projects[$projectID]->team, "class='form-control'");?></td>
|
||||
<td class='<?php echo zget($visibleFields, 'status', 'hidden')?>'><?php echo html::select("statuses[$executionID]", $lang->execution->statusList, $executions[$executionID]->status, 'class=form-control');?></td>
|
||||
<td><?php echo html::input("begins[$executionID]", $executions[$executionID]->begin, "class='form-control form-date' onchange='computeWorkDays(this.id)'");?></td>
|
||||
<td><?php echo html::input("ends[$executionID]", $executions[$executionID]->end, "class='form-control form-date' onchange='computeWorkDays(this.id)'");?></td>
|
||||
<td class='<?php echo zget($visibleFields, 'desc', 'hidden')?>'> <?php echo html::textarea("descs[$executionID]", $executions[$executionID]->desc, "rows='1' class='form-control autosize'");?></td>
|
||||
<td class='<?php echo zget($visibleFields, 'teamname', 'hidden')?>'><?php echo html::input("teams[$executionID]", $executions[$executionID]->team, "class='form-control'");?></td>
|
||||
<td class='<?php echo zget($visibleFields, 'days', 'hidden')?>'>
|
||||
<div class='input-group'>
|
||||
<?php echo html::input("dayses[$projectID]", $projects[$projectID]->days, "class='form-control'");?>
|
||||
<span class='input-group-addon'><?php echo $lang->project->day;?></span>
|
||||
<?php echo html::input("dayses[$executionID]", $executions[$executionID]->days, "class='form-control'");?>
|
||||
<span class='input-group-addon'><?php echo $lang->execution->day;?></span>
|
||||
</div>
|
||||
</td>
|
||||
<td><?php echo html::input("orders[$projectID]", $projects[$projectID]->order, "class='form-control'")?></td>
|
||||
<td><?php echo html::input("orders[$executionID]", $executions[$executionID]->order, "class='form-control'")?></td>
|
||||
</tr>
|
||||
<?php
|
||||
if(isset($this->config->moreLinks["PMs[$projectID]"])) unset($this->config->moreLinks["PMs[$projectID]"]);
|
||||
if(isset($this->config->moreLinks["POs[$projectID]"])) unset($this->config->moreLinks["POs[$projectID]"]);
|
||||
if(isset($this->config->moreLinks["QDs[$projectID]"])) unset($this->config->moreLinks["QDs[$projectID]"]);
|
||||
if(isset($this->config->moreLinks["RDs[$projectID]"])) unset($this->config->moreLinks["RDs[$projectID]"]);
|
||||
if(isset($this->config->moreLinks["PMs[$executionID]"])) unset($this->config->moreLinks["PMs[$executionID]"]);
|
||||
if(isset($this->config->moreLinks["POs[$executionID]"])) unset($this->config->moreLinks["POs[$executionID]"]);
|
||||
if(isset($this->config->moreLinks["QDs[$executionID]"])) unset($this->config->moreLinks["QDs[$executionID]"]);
|
||||
if(isset($this->config->moreLinks["RDs[$executionID]"])) unset($this->config->moreLinks["RDs[$executionID]"]);
|
||||
?>
|
||||
<?php endforeach;?>
|
||||
</tbody>
|
||||
@@ -114,5 +114,5 @@
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<?php js::set('weekend', $config->project->weekend);?>
|
||||
<?php js::set('weekend', $config->execution->weekend);?>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* The bug view file of project module of ZenTaoPMS.
|
||||
* The bug view file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: bug.html.php 4894 2013-06-25 01:28:39Z wyd621@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
@@ -15,32 +15,32 @@
|
||||
<div class="btn-toolbar pull-left">
|
||||
<?php
|
||||
$buildName = $build ? " <span class='label label-danger'>Build:{$build->name}</span>" : '';
|
||||
echo html::a($this->inlink('bug', "projectID={$project->id}&orderBy=status,id_desc&build=$buildID&type=all"), "<span class='text'>{$lang->bug->allBugs}</span>" . ($type == 'all' ? " <span class='label label-light label-badge'>{$pager->recTotal}</span>$buildName" : ''), '', "id='allTab' class='btn btn-link" . ('all' == $type ? ' btn-active-text' : '') . "'");
|
||||
echo html::a($this->inlink('bug', "projectID={$project->id}&orderBy=status,id_desc&build=$buildID&type=unresolved"), "<span class='text'>{$lang->bug->unResolved}</span>" . ($type == 'unresolved' ? " <span class='label label-light label-badge'>{$pager->recTotal}</span>$buildName" : ''), '', "id='unresolvedTab' class='btn btn-link" . ('unresolved' == $type ? ' btn-active-text' : '') . "'");
|
||||
echo html::a($this->inlink('bug', "executionID={$execution->id}&orderBy=status,id_desc&build=$buildID&type=all"), "<span class='text'>{$lang->bug->allBugs}</span>" . ($type == 'all' ? " <span class='label label-light label-badge'>{$pager->recTotal}</span>$buildName" : ''), '', "id='allTab' class='btn btn-link" . ('all' == $type ? ' btn-active-text' : '') . "'");
|
||||
echo html::a($this->inlink('bug', "executionID={$execution->id}&orderBy=status,id_desc&build=$buildID&type=unresolved"), "<span class='text'>{$lang->bug->unResolved}</span>" . ($type == 'unresolved' ? " <span class='label label-light label-badge'>{$pager->recTotal}</span>$buildName" : ''), '', "id='unresolvedTab' class='btn btn-link" . ('unresolved' == $type ? ' btn-active-text' : '') . "'");
|
||||
?>
|
||||
<a class="btn btn-link querybox-toggle" id="bysearchTab"><i class="icon icon-search muted"></i> <?php echo $lang->bug->search;?></a>
|
||||
</div>
|
||||
<div class="btn-toolbar pull-right">
|
||||
<?php common::printLink('bug', 'export', "productID=$productID&orderBy=$orderBy&browseType=&projectID=$project->id", "<i class='icon icon-export muted'> </i>" . $lang->bug->export, '', "class='btn btn-link export'");?>
|
||||
<?php if(common::canModify('project', $project)) common::printLink('bug', 'create', "productID=$productID&branch=$branchID&extra=projectID=$project->id", "<i class='icon icon-plus'></i> " . $lang->bug->create, '', "class='btn btn-primary'");?>
|
||||
<?php common::printLink('bug', 'export', "productID=$productID&orderBy=$orderBy&browseType=&executionID=$execution->id", "<i class='icon icon-export muted'> </i>" . $lang->bug->export, '', "class='btn btn-link export'");?>
|
||||
<?php if(common::canModify('execution', $execution)) common::printLink('bug', 'create', "productID=$productID&branch=$branchID&extra=executionID=$execution->id", "<i class='icon icon-plus'></i> " . $lang->bug->create, '', "class='btn btn-primary'");?>
|
||||
</div>
|
||||
</div>
|
||||
<div id="mainContent">
|
||||
<div class="cell <?php if($type == 'bysearch') echo 'show';?>" id="queryBox" data-module='projectBug'></div>
|
||||
<div class="cell <?php if($type == 'bysearch') echo 'show';?>" id="queryBox" data-module='executionBug'></div>
|
||||
<?php if(empty($bugs)):?>
|
||||
<div class="table-empty-tip">
|
||||
<p>
|
||||
<span class="text-muted"><?php echo $lang->bug->noBug;?></span>
|
||||
<?php if(common::canModify('project', $project) and common::hasPriv('bug', 'create')):?>
|
||||
<?php echo html::a($this->createLink('bug', 'create', "productID=$productID&branch=$branchID&extra=projectID=$project->id"), "<i class='icon icon-plus'></i> " . $lang->bug->create, '', "class='btn btn-info'");?>
|
||||
<?php if(common::canModify('execution', $execution) and common::hasPriv('bug', 'create')):?>
|
||||
<?php echo html::a($this->createLink('bug', 'create', "productID=$productID&branch=$branchID&extra=executionID=$execution->id"), "<i class='icon icon-plus'></i> " . $lang->bug->create, '', "class='btn btn-info'");?>
|
||||
<?php endif;?>
|
||||
</p>
|
||||
</div>
|
||||
<?php else:?>
|
||||
<form class='main-table' method='post' id='projectBugForm' data-ride="table">
|
||||
<form class='main-table' method='post' id='executionBugForm' data-ride="table">
|
||||
<table class='table has-sort-head' id='bugList'>
|
||||
<?php $canBatchAssignTo = common::hasPriv('bug', 'batchAssignTo');?>
|
||||
<?php $vars = "projectID={$project->id}&orderBy=%s&build=$buildID&type=$type¶m=$param&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}"; ?>
|
||||
<?php $vars = "executionID={$execution->id}&orderBy=%s&build=$buildID&type=$type¶m=$param&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}"; ?>
|
||||
<thead>
|
||||
<tr>
|
||||
<th class='c-id'>
|
||||
@@ -124,7 +124,7 @@
|
||||
<button data-toggle="dropdown" type="button" class="btn"><?php echo $lang->bug->assignedTo?> <span class="caret"></span></button>
|
||||
<?php
|
||||
$withSearch = count($memberPairs) > 10;
|
||||
$actionLink = $this->createLink('bug', 'batchAssignTo', "projectID={$project->id}&type=project");
|
||||
$actionLink = $this->createLink('bug', 'batchAssignTo', "executionID={$execution->id}&type=execution");
|
||||
echo html::select('assignedTo', $memberPairs, '', 'class="hidden"');
|
||||
|
||||
if($withSearch)
|
||||
|
||||
@@ -1,45 +1,45 @@
|
||||
<?php
|
||||
/**
|
||||
* The build view file of project module of ZenTaoPMS.
|
||||
* The build view file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: build.html.php 4262 2013-01-24 08:48:56Z chencongzhi520@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php js::set('confirmDelete', $lang->build->confirmDelete)?>
|
||||
<?php js::set('projectID', $projectID)?>
|
||||
<?php js::set('executionID', $executionID)?>
|
||||
<div id="mainMenu" class="clearfix table-row">
|
||||
<div class="btn-toolbar pull-left">
|
||||
<?php
|
||||
$label = "<span class='text'>{$lang->project->build}</span>";
|
||||
$label = "<span class='text'>{$lang->execution->build}</span>";
|
||||
$active = '';
|
||||
if($type == 'all')
|
||||
{
|
||||
$active = 'btn-active-text';
|
||||
$label .= " <span class='label label-light label-badge'>{$buildsTotal}</span>";
|
||||
}
|
||||
echo html::a(inlink('build', "projectID={$projectID}&type=all"), $label, '', "class='btn btn-link $active' id='all'")
|
||||
echo html::a(inlink('build', "executionID={$executionID}&type=all"), $label, '', "class='btn btn-link $active' id='all'")
|
||||
?>
|
||||
<div class="input-control space w-150px"><?php echo html::select('product', $products, $product, "onchange='changeProduct(this.value)' class='form-control chosen' data-placeholder='{$lang->productCommon}'");?></div>
|
||||
</div>
|
||||
<a class="btn btn-link querybox-toggle" id="bysearchTab"><i class="icon icon-search muted"></i> <?php echo $lang->project->byQuery;?></a>
|
||||
<a class="btn btn-link querybox-toggle" id="bysearchTab"><i class="icon icon-search muted"></i> <?php echo $lang->execution->byQuery;?></a>
|
||||
<div class="btn-toolbar pull-right">
|
||||
<?php if(common::canModify('project', $project)) common::printLink('build', 'create', "project=$project->id", "<i class='icon icon-plus'></i> " . $lang->build->create, '', "class='btn btn-primary'");?>
|
||||
<?php if(common::canModify('execution', $execution)) common::printLink('build', 'create', "execution=$execution->id", "<i class='icon icon-plus'></i> " . $lang->build->create, '', "class='btn btn-primary'");?>
|
||||
</div>
|
||||
</div>
|
||||
<div id="mainContent">
|
||||
<div class="cell <?php if($type == 'bysearch') echo 'show';?>" id="queryBox" data-module='executionBuild'></div>
|
||||
<?php if(empty($projectBuilds)):?>
|
||||
<?php if(empty($executionBuilds)):?>
|
||||
<div class="table-empty-tip">
|
||||
<p>
|
||||
<span class="text-muted"><?php echo $lang->build->noBuild;?></span>
|
||||
<?php if(common::canModify('project', $project) and common::hasPriv('build', 'create')):?>
|
||||
<?php echo html::a($this->createLink('build', 'create', "project=$project->id"), "<i class='icon icon-plus'></i> " . $lang->build->create, '', "class='btn btn-info'");?>
|
||||
<?php if(common::canModify('execution', $execution) and common::hasPriv('build', 'create')):?>
|
||||
<?php echo html::a($this->createLink('build', 'create', "execution=$execution->id"), "<i class='icon icon-plus'></i> " . $lang->build->create, '', "class='btn btn-info'");?>
|
||||
<?php endif;?>
|
||||
</p>
|
||||
</div>
|
||||
@@ -59,7 +59,7 @@
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach($projectBuilds as $productID => $builds):?>
|
||||
<?php foreach($executionBuilds as $productID => $builds):?>
|
||||
<?php foreach($builds as $index => $build):?>
|
||||
<tr data-id="<?php echo $productID;?>">
|
||||
<td class="c-id-sm text-muted"><?php echo html::a(helper::createLink('build', 'view', "buildID=$build->id"), sprintf('%03d', $build->id));?></td>
|
||||
@@ -78,9 +78,9 @@
|
||||
{
|
||||
echo html::a($this->createLink('build', 'view', "buildID=$build->id&type=story&link=true"), "<i class='icon icon-link'></i>", '', "class='btn' title='{$lang->build->linkStory}'");
|
||||
}
|
||||
common::printIcon('testtask', 'create', "product=$build->product&project=$project->id&build=$build->id", $build, 'list', 'bullhorn');
|
||||
$lang->project->bug = $lang->project->viewBug;
|
||||
common::printIcon('project', 'bug', "project=$project->id&orderBy=status&build=$build->id", $build, 'list');
|
||||
common::printIcon('testtask', 'create', "product=$build->product&execution=$execution->id&build=$build->id", $build, 'list', 'bullhorn');
|
||||
$lang->execution->bug = $lang->execution->viewBug;
|
||||
common::printIcon('execution', 'bug', "execution=$execution->id&orderBy=status&build=$build->id", $build, 'list');
|
||||
common::printIcon('build', 'edit', "buildID=$build->id", $build, 'list');
|
||||
if(common::hasPriv('build', 'delete', $build))
|
||||
{
|
||||
|
||||
@@ -1,35 +1,35 @@
|
||||
<?php
|
||||
/**
|
||||
* The burn view file of project module of ZenTaoPMS.
|
||||
* The burn view file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: burn.html.php 4164 2013-01-20 08:27:55Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php include '../../common/view/chart.html.php';?>
|
||||
<?php js::set('projectID', $projectID);?>
|
||||
<?php js::set('projectName', $project->name);?>
|
||||
<?php js::set('watermark', $lang->project->watermark);?>
|
||||
<?php js::set('burnXUnit', $lang->project->burnXUnit);?>
|
||||
<?php js::set('burnYUnit', $lang->project->burnYUnit);?>
|
||||
<?php js::set('executionID', $executionID);?>
|
||||
<?php js::set('executionName', $execution->name);?>
|
||||
<?php js::set('watermark', $lang->execution->watermark);?>
|
||||
<?php js::set('burnXUnit', $lang->execution->burnXUnit);?>
|
||||
<?php js::set('burnYUnit', $lang->execution->burnYUnit);?>
|
||||
<?php js::set('type', $type);?>
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
<div class='btn-toolbar pull-left'>
|
||||
<?php
|
||||
$weekend = ($type == 'noweekend') ? 'withweekend' : "noweekend";
|
||||
common::printLink('project', 'computeBurn', 'reload=yes', '<i class="icon icon-refresh"></i> ' . $lang->project->computeBurn, 'hiddenwin', "title='{$lang->project->computeBurn}{$lang->project->burn}' class='btn btn-primary' id='computeBurn'");
|
||||
common::printLink('execution', 'computeBurn', 'reload=yes', '<i class="icon icon-refresh"></i> ' . $lang->execution->computeBurn, 'hiddenwin', "title='{$lang->execution->computeBurn}{$lang->execution->burn}' class='btn btn-primary' id='computeBurn'");
|
||||
echo '<div class="space"></div>';
|
||||
echo html::a($this->createLink('project', 'burn', "projectID=$projectID&type=$weekend&interval=$interval"), $lang->project->$weekend, '', "class='btn btn-link'");
|
||||
if(common::canModify('project', $project)) common::printLink('project', 'fixFirst', "project=$project->id", $lang->project->fixFirst, '', "class='btn btn-link iframe' data-width='700'");
|
||||
echo $lang->project->howToUpdateBurn;
|
||||
echo html::a($this->createLink('execution', 'burn', "executionID=$executionID&type=$weekend&interval=$interval"), $lang->execution->$weekend, '', "class='btn btn-link'");
|
||||
if(common::canModify('execution', $execution)) common::printLink('execution', 'fixFirst', "execution=$execution->id", $lang->execution->fixFirst, '', "class='btn btn-link iframe' data-width='700'");
|
||||
echo $lang->execution->howToUpdateBurn;
|
||||
?>
|
||||
<div class='input-control w-150px'>
|
||||
<?php echo html::select('burnBy', $lang->project->burnByList, $burnBy, "class='form-control chosen'");?>
|
||||
<?php echo html::select('burnBy', $lang->execution->burnByList, $burnBy, "class='form-control chosen'");?>
|
||||
</div>
|
||||
<?php if($interval):?>
|
||||
<div class='input-control thWidth'>
|
||||
@@ -42,16 +42,16 @@
|
||||
</div>
|
||||
</div>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<h2 class='text-center'><?php echo $projectName . ' ' . $this->lang->project->burn . '(' . zget($lang->project->burnByList, $burnBy) . ')';?></h2>
|
||||
<h2 class='text-center'><?php echo $executionName . ' ' . $this->lang->execution->burn . '(' . zget($lang->execution->burnByList, $burnBy) . ')';?></h2>
|
||||
<div id="burnWrapper">
|
||||
<div id="burnChart">
|
||||
<canvas id="burnCanvas"></canvas>
|
||||
</div>
|
||||
<div id="burnYUnit"><?php echo $burnBy == 'storyPoint' ? "({$lang->project->storyPoint})" : "({$lang->project->workHour})";?></div>
|
||||
<div id="burnXUnit"><?php echo $lang->project->burnXUnit;?></div>
|
||||
<div id="burnYUnit"><?php echo $burnBy == 'storyPoint' ? "({$lang->execution->storyPoint})" : "({$lang->execution->workHour})";?></div>
|
||||
<div id="burnXUnit"><?php echo $lang->execution->burnXUnit;?></div>
|
||||
<div id="burnLegend">
|
||||
<div class="line-ref"><div class='barline'></div><?php echo $lang->project->charts->burn->graph->reference;?></div>
|
||||
<div class="line-real"><div class='barline bg-primary'></div><?php echo $lang->project->charts->burn->graph->actuality;?></div>
|
||||
<div class="line-ref"><div class='barline'></div><?php echo $lang->execution->charts->burn->graph->reference;?></div>
|
||||
<div class="line-real"><div class='barline bg-primary'></div><?php echo $lang->execution->charts->burn->graph->actuality;?></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -60,7 +60,7 @@ $('#burnBy').change(function()
|
||||
{
|
||||
$.cookie('burnBy', $(this).val(), {expires:config.cookieLife, path:config.webRoot});
|
||||
var interval = typeof($('#interval').val()) == 'undefined' ? 0 : $('#interval').val() ;
|
||||
location.href = createLink('project', 'burn', 'projectID=' + projectID + '&type=' + type + '&interval=' + interval + '&burnBy=' + $(this).val());
|
||||
location.href = createLink('execution', 'burn', 'executionID=' + executionID + '&type=' + type + '&interval=' + interval + '&burnBy=' + $(this).val());
|
||||
});
|
||||
|
||||
function initBurnChar()
|
||||
@@ -71,7 +71,7 @@ function initBurnChar()
|
||||
labels: <?php echo json_encode($chartData['labels'])?>,
|
||||
datasets: [
|
||||
{
|
||||
label: "<?php echo $lang->project->charts->burn->graph->reference;?>",
|
||||
label: "<?php echo $lang->execution->charts->burn->graph->reference;?>",
|
||||
color: "#F1F1F1",
|
||||
pointColor: '#D8D8D8',
|
||||
pointStrokeColor: '#D8D8D8',
|
||||
@@ -81,7 +81,7 @@ function initBurnChar()
|
||||
data: <?php echo $chartData['baseLine']?>
|
||||
},
|
||||
{
|
||||
label: "<?php echo $lang->project->charts->burn->graph->actuality;?>",
|
||||
label: "<?php echo $lang->execution->charts->burn->graph->actuality;?>",
|
||||
color: themePrimaryColor,
|
||||
pointStrokeColor: themePrimaryColor,
|
||||
pointHighlightStroke: themePrimaryColor,
|
||||
@@ -105,7 +105,7 @@ function initBurnChar()
|
||||
scaleFontColor: '#838A9D',
|
||||
tooltipXPadding: 10,
|
||||
tooltipYPadding: 10,
|
||||
multiTooltipTitleTemplate: '<%= label %> <?php echo $lang->project->workHour;?> /h',
|
||||
multiTooltipTitleTemplate: '<%= label %> <?php echo $lang->execution->workHour;?> /h',
|
||||
multiTooltipTemplate: "<%if (datasetLabel){%><%=datasetLabel%>: <%}%><%= value %>",
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* The suspend file of project module of ZenTaoPMS.
|
||||
* The suspend file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang<wwccss@gmail.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: suspend.html.php 935 2013-01-16 07:49:24Z wwccss@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
@@ -15,10 +15,10 @@
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='main-header'>
|
||||
<h2>
|
||||
<span class='prefix label-id'><strong><?php echo $project->id;?></strong></span>
|
||||
<?php echo isonlybody() ? ("<span title='$project->name'>" . $project->name . '</span>') : html::a($this->createLink('project', 'view', 'project=' . $project->id), $project->name, '_blank');?>
|
||||
<span class='prefix label-id'><strong><?php echo $execution->id;?></strong></span>
|
||||
<?php echo isonlybody() ? ("<span title='$execution->name'>" . $execution->name . '</span>') : html::a($this->createLink('execution', 'view', 'execution=' . $execution->id), $execution->name, '_blank');?>
|
||||
<?php if(!isonlybody()):?>
|
||||
<small> <?php echo $lang->arrow . $lang->project->close;?></small>
|
||||
<small> <?php echo $lang->arrow . $lang->execution->close;?></small>
|
||||
<?php endif;?>
|
||||
</h2>
|
||||
</div>
|
||||
@@ -26,10 +26,10 @@
|
||||
<table class='table table-form'>
|
||||
<tbody>
|
||||
<tr class='hide'>
|
||||
<th class='w-50px'><?php echo $lang->project->status;?></th>
|
||||
<th class='w-50px'><?php echo $lang->execution->status;?></th>
|
||||
<td><?php echo html::hidden('status', 'closed');?></td>
|
||||
</tr>
|
||||
<?php $this->printExtendFields($project, 'table');?>
|
||||
<?php $this->printExtendFields($execution, 'table');?>
|
||||
<tr>
|
||||
<th class='w-50px'><?php echo $lang->comment;?></th>
|
||||
<td><?php echo html::textarea('comment', '', "rows='6' class='form-control kindeditor' hidefocus='true'");?></td>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* The computeburn view file of project module of ZenTaoPMS.
|
||||
* The computeburn view file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Fu Jia <fujia@cnezsoft.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: computeburn.html.php 4129 2013-01-18 01:58:14Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
@@ -13,6 +13,6 @@
|
||||
<?php
|
||||
foreach($burns as $burn)
|
||||
{
|
||||
echo $burn->project . "\t" . $burn->projectName . "\t" . $burn->date . "\t" . $burn->left . "\n";
|
||||
echo $burn->execution . "\t" . $burn->executionName . "\t" . $burn->date . "\t" . $burn->left . "\n";
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
<?php js::set('holders', $lang->execution->placeholder);?>
|
||||
<?php js::set('errorSameProducts', $lang->execution->errorSameProducts);?>
|
||||
<?php js::set('productID', empty($productID) ? 0 : $productID);?>
|
||||
<?php js::set('isStage', $isStage);?>
|
||||
<?php js::set('isSprint', $isSprint);?>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='center-block'>
|
||||
<div class='main-header'>
|
||||
@@ -79,25 +79,23 @@
|
||||
<th><?php echo $lang->execution->teamname;?></th>
|
||||
<td><?php echo html::input('team', $team, "class='form-control'");?></td><td></td><td></td>
|
||||
</tr>
|
||||
<?php if(!$isSprint):?>
|
||||
<tr>
|
||||
<th><?php echo $lang->execution->type;?></th>
|
||||
<td>
|
||||
<?php
|
||||
if($isStage)
|
||||
if($isSprint)
|
||||
{
|
||||
echo html::select('attribute', $lang->stage->typeList, '', "class='form-control'");
|
||||
echo html::select('lifetime', $lang->execution->lifeTimeList, '', "class='form-control' onchange='showLifeTimeTips()'");
|
||||
}
|
||||
else
|
||||
{
|
||||
echo html::select('lifetime', $lang->execution->lifeTimeList, '', "class='form-control' onchange='showLifeTimeTips()'");
|
||||
echo html::select('attribute', $lang->stage->typeList, '', "class='form-control'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
<td class='muted' colspan='2'><div id='lifeTimeTips'><?php echo $lang->execution->typeDesc;?></div></td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<?php if($isStage):?>
|
||||
<?php if(!$isSprint):?>
|
||||
<tr>
|
||||
<th><?php echo $lang->programplan->percent;?></th>
|
||||
<td>
|
||||
@@ -117,7 +115,7 @@
|
||||
<?php $this->printExtendFields('', 'table', 'columns=3');?>
|
||||
<tr>
|
||||
<th><?php echo $lang->execution->manageProducts;?></th>
|
||||
<td class='text-left' id="<?php echo $isStage ? '' : 'productsBox';?>" colspan="3">
|
||||
<td class='text-left' id='productsBox' colspan="3">
|
||||
<div class='row'>
|
||||
<?php $i = 0;?>
|
||||
<?php foreach($products as $product):?>
|
||||
@@ -132,7 +130,7 @@
|
||||
<?php $i++;?>
|
||||
<?php endforeach;?>
|
||||
<div class='col-sm-4'>
|
||||
<div class="input-group <?php echo $isStage ? 'required' : '';?>">
|
||||
<div class="input-group">
|
||||
<?php echo html::select("products[$i]", $allProducts, '', "class='form-control chosen' onchange='loadBranches(this)'");?>
|
||||
<span class='input-group-addon fix-border'></span>
|
||||
</div>
|
||||
|
||||
@@ -16,10 +16,10 @@
|
||||
<div>
|
||||
<div id='titlebar'>
|
||||
<div class='heading'>
|
||||
<?php echo html::icon($lang->icons['doc']);?> <?php echo $lang->project->doc;?>
|
||||
<?php echo html::icon($lang->icons['doc']);?> <?php echo $lang->execution->doc;?>
|
||||
</div>
|
||||
<div class='actions'>
|
||||
<?php common::printIcon('doc', 'create', "libID=" . key($libs) . "&moduleID=0&productID=0&projectID=$project->id&from=project");?>
|
||||
<?php common::printIcon('doc', 'create', "libID=" . key($libs) . "&moduleID=0&productID=0&executionID=$execution->id&from=execution");?>
|
||||
</div>
|
||||
</div>
|
||||
<table class='table table-fixed tablesorter' align='center' id='docList'>
|
||||
|
||||
@@ -22,14 +22,14 @@
|
||||
$active = 'btn-active-text';
|
||||
$label .= " <span class='label label-light label-badge'>{$pager->recTotal}</span>";
|
||||
}
|
||||
echo html::a(inlink('dynamic', "projectID=$projectID&type=$period"), $label, '', "class='btn btn-link $active' id='{$period}'")
|
||||
echo html::a(inlink('dynamic', "executionID=$executionID&type=$period"), $label, '', "class='btn btn-link $active' id='{$period}'")
|
||||
?>
|
||||
<?php endforeach;?>
|
||||
<div class="btn-group">
|
||||
<?php
|
||||
$withSearch = count($accountPairs) > 8;
|
||||
$active = $param ? 'btn-active-text' : '';
|
||||
$current = $param ? zget($accountPairs, $account, $account) : $lang->project->viewByUser;
|
||||
$current = $param ? zget($accountPairs, $account, $account) : $lang->execution->viewByUser;
|
||||
$current = "<span class='text'>" . $current . '</span>' . ' <span class="caret"></span>';
|
||||
?>
|
||||
<?php echo html::a('###', $current, '', "class='btn btn-link $active' data-toggle='dropdown'");?>
|
||||
@@ -48,7 +48,7 @@
|
||||
{
|
||||
if(!$userID) continue;
|
||||
$searchKey = $withSearch ? ('data-key="' . zget($usersPinYin, $userID, '') . '"') : '';
|
||||
echo html::a($this->createLink('project', 'dynamic', "productID=$projectID&type=account¶m=$userID"), $name);
|
||||
echo html::a($this->createLink('execution', 'dynamic', "productID=$executionID&type=account¶m=$userID"), $name);
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
@@ -104,8 +104,8 @@ $firstDate = date('Y-m-d', strtotime($firstAction->originalDate) + 24 * 3600);
|
||||
$lastDate = substr($action->originalDate, 0, 10);
|
||||
$hasPre = $this->action->hasPreOrNext($firstDate, 'pre');
|
||||
$hasNext = $this->action->hasPreOrNext($lastDate, 'next');
|
||||
$preLink = $hasPre ? inlink('dynamic', "projectID=$projectID&type=$type¶m=$param&recTotal={$pager->recTotal}&date=" . strtotime($firstDate) . '&direction=pre') : 'javascript:;';
|
||||
$nextLink = $hasNext ? inlink('dynamic', "projectID=$projectID&type=$type¶m=$param&recTotal={$pager->recTotal}&date=" . strtotime($lastDate) . '&direction=next') : 'javascript:;';
|
||||
$preLink = $hasPre ? inlink('dynamic', "executionID=$executionID&type=$type¶m=$param&recTotal={$pager->recTotal}&date=" . strtotime($firstDate) . '&direction=pre') : 'javascript:;';
|
||||
$nextLink = $hasNext ? inlink('dynamic', "executionID=$executionID&type=$type¶m=$param&recTotal={$pager->recTotal}&date=" . strtotime($lastDate) . '&direction=next') : 'javascript:;';
|
||||
?>
|
||||
<?php if($hasPre or $hasNext):?>
|
||||
<div id="mainActions" class='main-actions'>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* The edit view of project module of ZenTaoPMS.
|
||||
* The edit view of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: edit.html.php 4728 2013-05-03 06:14:34Z chencongzhi520@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
@@ -18,32 +18,32 @@
|
||||
<div class='center-block'>
|
||||
<div class='main-header'>
|
||||
<h2>
|
||||
<span class='prefix label-id'><strong><?php echo $project->id;?></strong></span>
|
||||
<?php echo html::a($this->createLink('project', 'view', 'project=' . $project->id), $project->name, '_blank');?>
|
||||
<small><?php echo $lang->arrow . ' ' . $lang->project->edit;?></small>
|
||||
<span class='prefix label-id'><strong><?php echo $execution->id;?></strong></span>
|
||||
<?php echo html::a($this->createLink('execution', 'view', 'execution=' . $execution->id), $execution->name, '_blank');?>
|
||||
<small><?php echo $lang->arrow . ' ' . $lang->execution->edit;?></small>
|
||||
</h2>
|
||||
</div>
|
||||
<form class='load-indicator main-form form-ajax' method='post' target='hiddenwin' id='dataform'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class='w-120px'><?php echo $lang->project->name;?></th>
|
||||
<td><?php echo html::input('name', $project->name, "class='form-control' required");?></td><td></td>
|
||||
<th class='w-120px'><?php echo $lang->execution->name;?></th>
|
||||
<td><?php echo html::input('name', $execution->name, "class='form-control' required");?></td><td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->project->code;?></th>
|
||||
<td><?php echo html::input('code', $project->code, "class='form-control' required");?></td>
|
||||
<th><?php echo $lang->execution->code;?></th>
|
||||
<td><?php echo html::input('code', $execution->code, "class='form-control' required");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->project->dateRange;?></th>
|
||||
<th><?php echo $lang->execution->dateRange;?></th>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<?php echo html::input('begin', $project->begin, "class='form-control form-date' onchange='computeWorkDays()' required placeholder='" . $lang->project->begin . "'");?>
|
||||
<span class='input-group-addon fix-border'><?php echo $lang->project->to;?></span>
|
||||
<?php echo html::input('end', $project->end, "class='form-control form-date' onchange='computeWorkDays()' required placeholder='" . $lang->project->end . "'");?>
|
||||
<?php echo html::input('begin', $execution->begin, "class='form-control form-date' onchange='computeWorkDays()' required placeholder='" . $lang->execution->begin . "'");?>
|
||||
<span class='input-group-addon fix-border'><?php echo $lang->execution->to;?></span>
|
||||
<?php echo html::input('end', $execution->end, "class='form-control form-date' onchange='computeWorkDays()' required placeholder='" . $lang->execution->end . "'");?>
|
||||
<div class='input-group-btn'>
|
||||
<button type='button' class='btn dropdown-toggle' data-toggle='dropdown'><?php echo $lang->project->byPeriod;?> <span class='caret'></span></button>
|
||||
<button type='button' class='btn dropdown-toggle' data-toggle='dropdown'><?php echo $lang->execution->byPeriod;?> <span class='caret'></span></button>
|
||||
<ul class='dropdown-menu'>
|
||||
<?php foreach ($lang->project->endList as $key => $name):?>
|
||||
<?php foreach ($lang->execution->endList as $key => $name):?>
|
||||
<li><a href='javascript:computeEndDate("<?php echo $key;?>")'><?php echo $name;?></a></li>
|
||||
<?php endforeach;?>
|
||||
</ul>
|
||||
@@ -52,83 +52,81 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->project->days;?></th>
|
||||
<th><?php echo $lang->execution->days;?></th>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<?php echo html::input('days', $project->days, "class='form-control'");?>
|
||||
<span class='input-group-addon'><?php echo $lang->project->day;?></span>
|
||||
<?php echo html::input('days', $execution->days, "class='form-control'");?>
|
||||
<span class='input-group-addon'><?php echo $lang->execution->day;?></span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->execution->type;?></th>
|
||||
<td>
|
||||
<?php
|
||||
if($isSprint)
|
||||
{
|
||||
echo html::select('lifetime', $lang->project->lifeTimeList, $execution->lifetime, "class='form-control' onchange='showLifeTimeTips()'");
|
||||
}
|
||||
else
|
||||
{
|
||||
echo html::select('attribute', $lang->stage->typeList, $execution->attribute, "class='form-control'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->execution->teamname;?></th>
|
||||
<td><?php echo html::input('team', $execution->team, "class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->execution->status;?></th>
|
||||
<td><?php echo html::select('status', $lang->execution->statusList, $execution->status, "class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th rowspan='2'><?php echo $lang->execution->owner;?></th>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon'><?php echo $lang->execution->PO;?></span>
|
||||
<?php echo html::select('PO', $poUsers, $execution->PO, "class='form-control chosen'");?>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon'><?php echo $lang->execution->QD;?></span>
|
||||
<?php echo html::select('QD', $qdUsers, $execution->QD, "class='form-control chosen'");?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon'><?php echo $lang->execution->PM;?></span>
|
||||
<?php echo html::select('PM', $pmUsers, $execution->PM, "class='form-control chosen'");?>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon'><?php echo $lang->execution->RD;?></span>
|
||||
<?php echo html::select('RD', $rdUsers, $execution->RD, "class='form-control chosen'");?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php if(!$isSprint):?>
|
||||
<tr>
|
||||
<th><?php echo $lang->project->type;?></th>
|
||||
<td>
|
||||
<?php
|
||||
if($isStage)
|
||||
{
|
||||
echo html::select('attribute', $lang->stage->typeList, $project->attribute, "class='form-control'");
|
||||
}
|
||||
else
|
||||
{
|
||||
echo html::select('lifetime', $lang->program->PRJLifeTimeList, $project->lifetime, "class='form-control' onchange='showLifeTimeTips()'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr>
|
||||
<th><?php echo $lang->project->teamname;?></th>
|
||||
<td><?php echo html::input('team', $project->team, "class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->project->status;?></th>
|
||||
<td><?php echo html::select('status', $lang->project->statusList, $project->status, "class='form-control'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th rowspan='2'><?php echo $lang->project->owner;?></th>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon'><?php echo $lang->project->PO;?></span>
|
||||
<?php echo html::select('PO', $poUsers, $project->PO, "class='form-control chosen'");?>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon'><?php echo $lang->project->QD;?></span>
|
||||
<?php echo html::select('QD', $qdUsers, $project->QD, "class='form-control chosen'");?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon'><?php echo $lang->project->PM;?></span>
|
||||
<?php echo html::select('PM', $pmUsers, $project->PM, "class='form-control chosen'");?>
|
||||
</div>
|
||||
</td>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon'><?php echo $lang->project->RD;?></span>
|
||||
<?php echo html::select('RD', $rdUsers, $project->RD, "class='form-control chosen'");?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php if($isStage):?>
|
||||
<tr>
|
||||
<th><?php echo $lang->programplan->percent;?></th>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<?php echo html::input('percent', $project->percent, "class='form-control'");?>
|
||||
<?php echo html::input('percent', $execution->percent, "class='form-control'");?>
|
||||
<span class='input-group-addon'>%</span>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endif;?>
|
||||
<tr>
|
||||
<th><?php echo $lang->project->manageProducts;?></th>
|
||||
<td class='text-left' id="<?php echo $isStage ? '' : 'productsBox';?>" colspan="2">
|
||||
<?php $class = $project->grade == 2 ? "disabled='disabled'" : '';?>
|
||||
<th><?php echo $lang->execution->manageProducts;?></th>
|
||||
<td class='text-left' id='productsBox' colspan="2">
|
||||
<?php $class = $execution->grade == 2 ? "disabled='disabled'" : '';?>
|
||||
<div class='row'>
|
||||
<?php $i = 0;?>
|
||||
<?php foreach($linkedProducts as $product):?>
|
||||
@@ -143,19 +141,17 @@
|
||||
<?php if(in_array($product->id, $unmodifiableProducts)) echo html::hidden("products[$i]", $product->id);?>
|
||||
<?php $i++;?>
|
||||
<?php endforeach;?>
|
||||
<?php if(!$isStage):?>
|
||||
<div class='col-sm-4'>
|
||||
<div class="input-group <?php echo $isStage ? 'required' : '';?>">
|
||||
<div class="input-group">
|
||||
<?php echo html::select("products[$i]", $allProducts, '', "class='form-control chosen' onchange='loadBranches(this)'");?>
|
||||
<span class='input-group-addon fix-border'></span>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->project->linkPlan;?></th>
|
||||
<th><?php echo $lang->execution->linkPlan;?></th>
|
||||
<td id="plansBox" colspan="2">
|
||||
<div class='row'>
|
||||
<?php $i = 0;?>
|
||||
@@ -168,18 +164,18 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->project->desc;?></th>
|
||||
<td colspan='2'><?php echo html::textarea('desc', htmlspecialchars($project->desc), "rows='6' class='form-control kindeditor' hidefocus='true'");?></td>
|
||||
<th><?php echo $lang->execution->desc;?></th>
|
||||
<td colspan='2'><?php echo html::textarea('desc', htmlspecialchars($execution->desc), "rows='6' class='form-control kindeditor' hidefocus='true'");?></td>
|
||||
</tr>
|
||||
<?php $this->printExtendFields($project, 'table');?>
|
||||
<?php $this->printExtendFields($execution, 'table');?>
|
||||
<tr>
|
||||
<th><?php echo $lang->project->acl;?></th>
|
||||
<?php $class = $project->grade == 2 ? "disabled='disabled'" : '';?>
|
||||
<td colspan='2'><?php echo nl2br(html::radio('acl', $lang->project->aclList, $project->acl, "onclick='setWhite(this.value);' $class", 'block'));?></td>
|
||||
<th><?php echo $lang->execution->acl;?></th>
|
||||
<?php $class = $execution->grade == 2 ? "disabled='disabled'" : '';?>
|
||||
<td colspan='2'><?php echo nl2br(html::radio('acl', $lang->execution->aclList, $execution->acl, "onclick='setWhite(this.value);' $class", 'block'));?></td>
|
||||
</tr>
|
||||
<tr class="<?php if($project->acl == 'open') echo 'hidden';?>" id="whitelistBox">
|
||||
<tr class="<?php if($execution->acl == 'open') echo 'hidden';?>" id="whitelistBox">
|
||||
<th><?php echo $lang->whitelist;?></th>
|
||||
<td><?php echo html::select('whitelist[]', $users, $project->whitelist, 'class="form-control chosen" multiple');?></td>
|
||||
<td><?php echo html::select('whitelist[]', $users, $execution->whitelist, 'class="form-control chosen" multiple');?></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr><td colspan='3' class='text-center form-actions'><?php echo html::submitButton() . ' ' . html::backButton();?></td></tr>
|
||||
@@ -187,8 +183,8 @@
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<?php js::set('weekend', $config->project->weekend);?>
|
||||
<?php js::set('errorSameProducts', $lang->project->errorSameProducts);?>
|
||||
<?php js::set('weekend', $config->execution->weekend);?>
|
||||
<?php js::set('errorSameProducts', $lang->execution->errorSameProducts);?>
|
||||
<?php js::set('unmodifiableProducts',$unmodifiableProducts);?>
|
||||
<?php js::set('tip', $lang->project->notAllowRemoveProducts);?>
|
||||
<?php js::set('tip', $lang->execution->notAllowRemoveProducts);?>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* The export view file of project module of ZenTaoPMS.
|
||||
* The export view file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* The fixFirst view file of project module of ZenTaoPMS.
|
||||
* The fixFirst view file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Yidong Wang <yidong@cnezsoft.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id$
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
@@ -13,19 +13,19 @@
|
||||
<?php include '../../common/view/header.lite.html.php';?>
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='main-header'>
|
||||
<h2><?php echo $lang->project->fixFirst;?></h2>
|
||||
<h2><?php echo $lang->execution->fixFirst;?></h2>
|
||||
</div>
|
||||
<form target='hiddenwin' method='post'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<td>
|
||||
<div class='input-group'>
|
||||
<span class='input-group-addon'><?php echo $project->begin?></span>
|
||||
<?php echo html::input('estimate', !empty($firstBurn->estimate) ? $firstBurn->estimate : (!empty($firstBurn->left) ? $firstBurn->left : ''), "class='form-control' placeholder='{$lang->project->placeholder->totalLeft}'")?>
|
||||
<span class='input-group-addon'><?php echo $execution->begin?></span>
|
||||
<?php echo html::input('estimate', !empty($firstBurn->estimate) ? $firstBurn->estimate : (!empty($firstBurn->left) ? $firstBurn->left : ''), "class='form-control' placeholder='{$lang->execution->placeholder->totalLeft}'")?>
|
||||
<span class='input-group-addon fix-border'>
|
||||
<div class='checkbox-primary'>
|
||||
<input id='withLeft' type='checkbox' checked name='withLeft' value='1' />
|
||||
<label for='withLeft'><?php echo $lang->project->fixFirstWithLeft?></label>
|
||||
<label for='withLeft'><?php echo $lang->execution->fixFirstWithLeft?></label>
|
||||
</div>
|
||||
</span>
|
||||
<span class='input-group-btn'><?php echo html::submitButton($lang->save, '', "btn btn-primary");?></span>
|
||||
@@ -34,7 +34,7 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<div class='alert alert-primary no-margin'><?php echo $lang->project->totalEstimate;?> : <code class='strong text-primary'><?php echo $project->totalEstimate;?></code> <?php echo $lang->project->workHour;?></div>
|
||||
<div class='alert alert-primary no-margin'><?php echo $lang->execution->totalEstimate;?> : <code class='strong text-primary'><?php echo $execution->totalEstimate;?></code> <?php echo $lang->execution->workHour;?></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* The task group view file of project module of ZenTaoPMS.
|
||||
* The task group view file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: grouptask.html.php 4143 2013-01-18 07:01:06Z wyd621@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
@@ -15,12 +15,12 @@
|
||||
<div class="btn-toolbar pull-left">
|
||||
<?php if(!empty($tasks)):?>
|
||||
<div class="pull-left table-group-btns">
|
||||
<button type="button" class="btn btn-link group-collapse-all"><?php echo $lang->project->treeLevel['root'];?> <i class="icon-fold-all"></i></button>
|
||||
<button type="button" class="btn btn-link group-expand-all"><?php echo $lang->project->treeLevel['all'];?> <i class="icon-unfold-all"></i></button>
|
||||
<button type="button" class="btn btn-link group-collapse-all"><?php echo $lang->execution->treeLevel['root'];?> <i class="icon-fold-all"></i></button>
|
||||
<button type="button" class="btn btn-link group-expand-all"><?php echo $lang->execution->treeLevel['all'];?> <i class="icon-unfold-all"></i></button>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php if(isset($lang->project->groupFilter[$groupBy])):?>
|
||||
<?php foreach($lang->project->groupFilter[$groupBy] as $filterKey => $name):?>
|
||||
<?php if(isset($lang->execution->groupFilter[$groupBy])):?>
|
||||
<?php foreach($lang->execution->groupFilter[$groupBy] as $filterKey => $name):?>
|
||||
<?php
|
||||
$active = '';
|
||||
$name = "<span class='text'>{$name}</span>";
|
||||
@@ -30,17 +30,17 @@
|
||||
$active = 'btn-active-text';
|
||||
}
|
||||
?>
|
||||
<?php echo html::a(inlink('grouptask', "projectID=$projectID&groupBy=$groupBy&filter=$filterKey"), $name, '', "class='btn btn-link $active'");?>
|
||||
<?php echo html::a(inlink('grouptask', "executionID=$executionID&groupBy=$groupBy&filter=$filterKey"), $name, '', "class='btn btn-link $active'");?>
|
||||
<?php endforeach;?>
|
||||
<?php else:?>
|
||||
<?php echo html::a(inlink('grouptask', "projectID=$projectID&groupBy=$groupBy"), "<span class='text'>{$lang->project->allTasks}</span> <span class='label label-light label-badge'>{$allCount}</span>", '', "class='btn btn-link btn-active-text'");?>
|
||||
<?php echo html::a(inlink('grouptask', "executionID=$executionID&groupBy=$groupBy"), "<span class='text'>{$lang->execution->allTasks}</span> <span class='label label-light label-badge'>{$allCount}</span>", '', "class='btn btn-link btn-active-text'");?>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
<div class="btn-toolbar pull-right">
|
||||
<?php
|
||||
if(!isset($browseType)) $browseType = '';
|
||||
if(!isset($orderBy)) $orderBy = '';
|
||||
common::printIcon('task', 'report', "project=$projectID&browseType=$browseType", '', 'button', 'bar-chart muted');
|
||||
common::printIcon('task', 'report', "execution=$executionID&browseType=$browseType", '', 'button', 'bar-chart muted');
|
||||
?>
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-link" data-toggle="dropdown"><i class="icon icon-export muted"></i> <span class="text"><?php echo $lang->export;?></span> <span class="caret"></span></button>
|
||||
@@ -48,33 +48,33 @@
|
||||
<?php
|
||||
$class = common::hasPriv('task', 'export') ? '' : "class=disabled";
|
||||
$misc = common::hasPriv('task', 'export') ? "class='export'" : "class=disabled";
|
||||
$link = common::hasPriv('task', 'export') ? $this->createLink('task', 'export', "project=$projectID&orderBy=$orderBy&type=$browseType") : '#';
|
||||
$link = common::hasPriv('task', 'export') ? $this->createLink('task', 'export', "execution=$executionID&orderBy=$orderBy&type=$browseType") : '#';
|
||||
echo "<li $class>" . html::a($link, $lang->story->export, '', $misc) . "</li>";
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php if(common::canModify('project', $project)):?>
|
||||
<?php if(common::canModify('execution', $execution)):?>
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-link" data-toggle="dropdown"><i class="icon icon-import muted"></i> <span class="text"><?php echo $lang->import;?></span> <span class="caret"></span></button>
|
||||
<ul class="dropdown-menu">
|
||||
<?php
|
||||
$class = common::hasPriv('project', 'importTask') ? '' : "class=disabled";
|
||||
$misc = common::hasPriv('project', 'importTask') ? "class='import'" : "class=disabled";
|
||||
$link = common::hasPriv('project', 'importTask') ? $this->createLink('project', 'importTask', "project=$project->id") : '#';
|
||||
echo "<li $class>" . html::a($link, $lang->project->importTask, '', $misc) . "</li>";
|
||||
$class = common::hasPriv('execution', 'importTask') ? '' : "class=disabled";
|
||||
$misc = common::hasPriv('execution', 'importTask') ? "class='import'" : "class=disabled";
|
||||
$link = common::hasPriv('execution', 'importTask') ? $this->createLink('execution', 'importTask', "execution=$execution->id") : '#';
|
||||
echo "<li $class>" . html::a($link, $lang->execution->importTask, '', $misc) . "</li>";
|
||||
|
||||
$class = common::hasPriv('project', 'importBug') ? '' : "class=disabled";
|
||||
$misc = common::hasPriv('project', 'importBug') ? "class='import'" : "class=disabled";
|
||||
$link = common::hasPriv('project', 'importBug') ? $this->createLink('project', 'importBug', "project=$project->id") : '#';
|
||||
echo "<li $class>" . html::a($link, $lang->project->importBug, '', $misc) . "</li>";
|
||||
$class = common::hasPriv('execution', 'importBug') ? '' : "class=disabled";
|
||||
$misc = common::hasPriv('execution', 'importBug') ? "class='import'" : "class=disabled";
|
||||
$link = common::hasPriv('execution', 'importBug') ? $this->createLink('execution', 'importBug', "execution=$execution->id") : '#';
|
||||
echo "<li $class>" . html::a($link, $lang->execution->importBug, '', $misc) . "</li>";
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php
|
||||
$checkObject = new stdclass();
|
||||
$checkObject->project = $projectID;
|
||||
$link = $this->createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : ''));
|
||||
$checkObject->execution = $executionID;
|
||||
$link = $this->createLink('task', 'create', "execution=$executionID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : ''));
|
||||
if(common::hasPriv('task', 'create', $checkObject)) echo html::a($link, "<i class='icon icon-plus'></i> {$lang->task->create}", '', "class='btn btn-primary'");
|
||||
?>
|
||||
</div>
|
||||
@@ -85,7 +85,7 @@
|
||||
<p>
|
||||
<span class="text-muted"><?php echo $lang->task->noTask;?></span>
|
||||
<?php if(common::hasPriv('task', 'create', $checkObject)):?>
|
||||
<?php echo html::a($this->createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')), "<i class='icon icon-plus'></i> " . $lang->task->create, '', "class='btn btn-info'");?>
|
||||
<?php echo html::a($this->createLink('task', 'create', "execution=$executionID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')), "<i class='icon icon-plus'></i> " . $lang->task->create, '', "class='btn btn-info'");?>
|
||||
<?php endif;?>
|
||||
</p>
|
||||
</div>
|
||||
@@ -96,16 +96,16 @@
|
||||
<th class="c-side text-left has-btn group-menu">
|
||||
<div class="dropdown">
|
||||
<a href="" data-toggle="dropdown" class="btn text-left btn-block btn-link clearfix">
|
||||
<span class='pull-left'><?php echo zget($lang->project->groups, $groupBy, null);?></span>
|
||||
<span class='pull-left'><?php echo zget($lang->execution->groups, $groupBy, null);?></span>
|
||||
<i class="icon icon-caret-down hl-primary text-primary pull-right"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<?php foreach($lang->project->groups as $key => $value):?>
|
||||
<?php foreach($lang->execution->groups as $key => $value):?>
|
||||
<?php
|
||||
if(empty($key)) continue;
|
||||
if($project->type == 'ops' && $key == 'story') continue;
|
||||
if($execution->type == 'ops' && $key == 'story') continue;
|
||||
$active = $key == $groupBy ? "class='active'" : '';
|
||||
echo "<li $active>"; common::printLink('project', 'groupTask', "project=$projectID&groupBy=$key", $value); echo '</li>';
|
||||
echo "<li $active>"; common::printLink('execution', 'groupTask', "execution=$executionID&groupBy=$key", $value); echo '</li>';
|
||||
?>
|
||||
<?php endforeach;?>
|
||||
</ul>
|
||||
@@ -183,8 +183,8 @@
|
||||
<?php echo html::a('###', "<i class='icon-caret-down'></i> " . $groupName, '', "class='text-primary' title='$groupName'");?>
|
||||
<div class='groupSummary small'>
|
||||
|
||||
<?php if($groupBy == 'assignedTo' and isset($members[$task->assignedTo])) printf($lang->project->memberHoursAB, zget($users, $task->assignedTo), $members[$task->assignedTo]->totalHours);?>
|
||||
<?php printf($lang->project->groupSummaryAB, $groupSum, $groupWait, $groupDoing, $groupEstimate . $lang->project->workHourUnit, $groupConsumed . $lang->project->workHourUnit, $groupLeft . $lang->project->workHourUnit);?>
|
||||
<?php if($groupBy == 'assignedTo' and isset($members[$task->assignedTo])) printf($lang->execution->memberHoursAB, zget($users, $task->assignedTo), $members[$task->assignedTo]->totalHours);?>
|
||||
<?php printf($lang->execution->groupSummaryAB, $groupSum, $groupWait, $groupDoing, $groupEstimate . $lang->execution->workHourUnit, $groupConsumed . $lang->execution->workHourUnit, $groupLeft . $lang->execution->workHourUnit);?>
|
||||
</div>
|
||||
</div>
|
||||
</td>
|
||||
@@ -202,17 +202,17 @@
|
||||
<td class="c-status"><span class='status-task status-<?php echo $task->status;?>'> <?php echo $this->processStatus('task', $task);?></span></td>
|
||||
<td class="c-assign text-left"><?php echo "<span class='$assignedToClass'>" . $task->assignedToRealName . "</span>";?></td>
|
||||
<td class='c-user'><?php echo zget($users, $task->finishedBy);?></td>
|
||||
<td class="c-hours em" title="<?php echo $task->estimate . ' ' . $lang->project->workHour;?>"><?php echo $task->estimate . ' ' . $lang->project->workHourUnit;?></td>
|
||||
<td class="c-hours em" title="<?php echo $task->consumed . ' ' . $lang->project->workHour;?>"><?php echo $task->consumed . ' ' . $lang->project->workHourUnit;?></td>
|
||||
<td class="c-hours em" title="<?php echo $task->left . ' ' . $lang->project->workHour;?>"><?php echo $task->left . ' ' . $lang->project->workHourUnit;?></td>
|
||||
<td class="c-hours em" title="<?php echo $task->estimate . ' ' . $lang->execution->workHour;?>"><?php echo $task->estimate . ' ' . $lang->execution->workHourUnit;?></td>
|
||||
<td class="c-hours em" title="<?php echo $task->consumed . ' ' . $lang->execution->workHour;?>"><?php echo $task->consumed . ' ' . $lang->execution->workHourUnit;?></td>
|
||||
<td class="c-hours em" title="<?php echo $task->left . ' ' . $lang->execution->workHour;?>"><?php echo $task->left . ' ' . $lang->execution->workHourUnit;?></td>
|
||||
<td class="c-num em"><?php echo $task->progress . '%';?></td>
|
||||
<td class="c-type"><?php echo zget($lang->task->typeList, $task->type);?></td>
|
||||
<td class='c-date <?php if(isset($task->delay)) echo 'delayed';?>'><?php if(substr($task->deadline, 0, 4) > 0) echo $task->deadline;?></td>
|
||||
<td class="c-actions">
|
||||
<?php if(common::canModify('project', $project)):?>
|
||||
<?php common::printIcon('task', 'assignTo', "projectID=$task->project&taskID=$task->id", $task, 'list', '', '', 'iframe', true);?>
|
||||
<?php if(common::canModify('execution', $execution)):?>
|
||||
<?php common::printIcon('task', 'assignTo', "executionID=$task->execution&taskID=$task->id", $task, 'list', '', '', 'iframe', true);?>
|
||||
<?php common::printIcon('task', 'edit', "taskid=$task->id", '', 'list');?>
|
||||
<?php common::printIcon('task', 'delete', "projectID=$task->project&taskid=$task->id", '', 'list', 'trash', 'hiddenwin');?>
|
||||
<?php common::printIcon('task', 'delete', "executionID=$task->execution&taskid=$task->id", '', 'list', 'trash', 'hiddenwin');?>
|
||||
<?php endif;?>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -225,9 +225,9 @@
|
||||
</td>
|
||||
<td colspan='13'>
|
||||
<div class="table-row segments-list">
|
||||
<?php if($groupBy == 'assignedTo' and isset($members[$task->assignedTo])) printf($lang->project->memberHours, zget($users, $task->assignedTo), $members[$task->assignedTo]->totalHours);?>
|
||||
<?php printf($lang->project->countSummary, $groupSum, $groupDoing, $groupWait);?>
|
||||
<?php printf($lang->project->timeSummary, $groupEstimate . $lang->project->workHourUnit, $groupConsumed . $lang->project->workHourUnit, $groupLeft . $lang->project->workHourUnit);?>
|
||||
<?php if($groupBy == 'assignedTo' and isset($members[$task->assignedTo])) printf($lang->execution->memberHours, zget($users, $task->assignedTo), $members[$task->assignedTo]->totalHours);?>
|
||||
<?php printf($lang->execution->countSummary, $groupSum, $groupDoing, $groupWait);?>
|
||||
<?php printf($lang->execution->timeSummary, $groupEstimate . $lang->execution->workHourUnit, $groupConsumed . $lang->execution->workHourUnit, $groupLeft . $lang->execution->workHourUnit);?>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -19,7 +19,7 @@ var browseType = '<?php echo $browseType;?>';
|
||||
</script>
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
<div class='btn-toolbar pull-left'>
|
||||
<?php echo html::a(inlink('importBug', "projectID=$projectID"), "<span class='text'>{$lang->project->importBug}</span>", '', "class='btn btn-link btn-active-text'");?>
|
||||
<?php echo html::a(inlink('importBug', "executionID=$executionID"), "<span class='text'>{$lang->execution->importBug}</span>", '', "class='btn btn-link btn-active-text'");?>
|
||||
</div>
|
||||
</div>
|
||||
<div id='mainContent'>
|
||||
@@ -63,7 +63,7 @@ var browseType = '<?php echo $browseType;?>';
|
||||
<td style='overflow:visible'><?php echo html::select("pri[$bug->id]", $lang->task->priList, 3, "class='form-control chosen'");?></td>
|
||||
<td style='overflow:visible'><?php echo html::select("assignedTo[$bug->id]", $users, zget($users, $bug->assignedTo, '', $bug->assignedTo), "class='form-control chosen'");?></td>
|
||||
<td><?php echo html::input("estimate[$bug->id]", '', 'size=4 class="form-control"');?></td>
|
||||
<?php $deadline = ($bug->deadline > helper::today() and $bug->deadline > $project->begin) ? $bug->deadline : '0000-00-00';?>
|
||||
<?php $deadline = ($bug->deadline > helper::today() and $bug->deadline > $execution->begin) ? $bug->deadline : '0000-00-00';?>
|
||||
<td><?php echo html::input("deadline[$bug->id]", $deadline, 'size=4 class="form-control form-date"');?></td>
|
||||
</tr>
|
||||
<?php endforeach;?>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* The importtask view file of project module of ZenTaoPMS.
|
||||
* The importtask view file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: importtask.html.php 4669 2013-04-23 02:28:08Z chencongzhi520@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
@@ -13,11 +13,11 @@
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
<div class='pull-left btn-toolbar'>
|
||||
<?php echo html::a($this->createLink('project', 'importTask', "project=$projectID"), "<span class='text'>{$lang->project->importTask}</span>", '', "class='btn btn-link btn-active-text'");?>
|
||||
<?php echo html::a($this->createLink('execution', 'importTask', "execution=$executionID"), "<span class='text'>{$lang->execution->importTask}</span>", '', "class='btn btn-link btn-active-text'");?>
|
||||
<div class='input-control input-group space w-150px'>
|
||||
<?php $projects = array(0 => $lang->project->allProjects) + $projects;?>
|
||||
<span class='input-group-addon'><?php echo $lang->project->selectProject;?></span>
|
||||
<?php echo html::select('fromproject', $projects, $fromProject, "onchange='reload($projectID, this.value)' class='form-control chosen'");?>
|
||||
<?php $executions = array(0 => $lang->execution->allProjects) + $executions;?>
|
||||
<span class='input-group-addon'><?php echo $lang->execution->selectProject;?></span>
|
||||
<?php echo html::select('fromexecution', $executions, $fromProject, "onchange='reload($executionID, this.value)' class='form-control chosen'");?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -32,7 +32,7 @@
|
||||
</div>
|
||||
<?php echo $lang->idAB;?>
|
||||
</th>
|
||||
<th class='w-150px'><?php echo $lang->project->name ?></th>
|
||||
<th class='w-150px'><?php echo $lang->execution->name ?></th>
|
||||
<th class='w-pri'><?php echo $lang->priAB;?></th>
|
||||
<th class='w-p30'><?php echo $lang->task->name;?></th>
|
||||
<th class='w-user'><?php echo $lang->task->assignedTo;?></th>
|
||||
@@ -53,11 +53,11 @@
|
||||
</div>
|
||||
<?php printf('%03d', $task->id);?>
|
||||
</td>
|
||||
<td><?php echo $projects[$task->project];?></td>
|
||||
<td><?php echo $executions[$task->execution];?></td>
|
||||
<td><span class='label-pri label-pri-<?php echo $task->pri;?>' title='<?php echo zget($lang->task->priList, $task->pri, $task->pri);?>'><?php echo $task->pri == '0' ? '' : zget($lang->task->priList, $task->pri, $task->pri);?></span></td>
|
||||
<td class='text-left nobr'><?php if(!common::printLink('task', 'view', "task=$task->id", $task->name)) echo $task->name;?></td>
|
||||
<td <?php echo $class;?>><?php echo $task->assignedToRealName;?></td>
|
||||
<td title="<?php echo $task->left . ' ' . $lang->project->workHour;?>"><?php echo $task->left . ' ' . $lang->project->workHourUnit;?></td>
|
||||
<td title="<?php echo $task->left . ' ' . $lang->execution->workHour;?>"><?php echo $task->left . ' ' . $lang->execution->workHourUnit;?></td>
|
||||
<td class=<?php if(isset($task->delay)) echo 'delayed';?>><?php if(substr($task->deadline, 0, 4) > 0) echo $task->deadline;?></td>
|
||||
<td><span class='status-task status-<?php echo $task->status;?>'><?php echo $this->processStatus('task', $task);?></span></td>
|
||||
<td class='text-left nobr'>
|
||||
@@ -82,7 +82,7 @@
|
||||
<?php if($tasks2Imported):?>
|
||||
<div class='table-footer'>
|
||||
<div class="checkbox-primary check-all"><label><?php echo $lang->selectAll?></label></div>
|
||||
<div class="table-actions btn-toolbar show-always"><?php echo html::submitButton('<i class="icon icon-import icon-sm"></i> ' . $lang->project->importTask, '', 'btn btn-secondary btn-wide');?></div>
|
||||
<div class="table-actions btn-toolbar show-always"><?php echo html::submitButton('<i class="icon icon-import icon-sm"></i> ' . $lang->execution->importTask, '', 'btn btn-secondary btn-wide');?></div>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
</form>
|
||||
|
||||
@@ -10,11 +10,11 @@
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php if(empty($projects)):?>
|
||||
<?php if(empty($executions)):?>
|
||||
<div class="table-empty-tip">
|
||||
<p><span class="text-muted"><?php echo $lang->project->noProject;?></span> <?php common::printLink('project', 'create', '', "<i class='icon icon-plus'></i> " . $lang->project->create, '', "class='btn btn-info'");?></p>
|
||||
<p><span class="text-muted"><?php echo $lang->execution->noProject;?></span> <?php common::printLink('execution', 'create', '', "<i class='icon icon-plus'></i> " . $lang->execution->create, '', "class='btn btn-info'");?></p>
|
||||
</div>
|
||||
<?php else:?>
|
||||
<?php echo $this->fetch('block', 'dashboard', 'module=project');?>
|
||||
<?php echo $this->fetch('block', 'dashboard', 'module=execution');?>
|
||||
<?php endif;?>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<?php
|
||||
/**
|
||||
* The kanban view file of project module of ZenTaoPMS.
|
||||
* The kanban view file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2012 青岛易软天创网络科技有限公司 (QingDao Nature Easy Soft Network Technology Co,LTD www.cnezsoft.com)
|
||||
* @author Wang Yidong, Zhu Jinyong
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: kanban.html.php $
|
||||
*/
|
||||
?>
|
||||
@@ -12,10 +12,10 @@
|
||||
<?php js::set('statusMap', $statusMap);?>
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
<div class='btn-toolbar pull-right'>
|
||||
<?php echo html::a($this->createLink('project', 'ajaxKanbanSetting', "projectID=$projectID"), "<i class='icon-cog muted'></i> " . $lang->project->kanbanSetting, '', "class='iframe btn btn-link'");?>
|
||||
<?php if(common::hasPriv('project', 'printKanban')) echo html::a($this->createLink('project', 'printKanban', "projectID=$projectID"), "<i class='icon-printer muted'></i> " . $lang->project->printKanban, '', "class='iframe btn btn-link' id='printKanban' title='{$lang->project->printKanban}' data-width='500'");?>
|
||||
<?php echo html::a($this->createLink('execution', 'ajaxKanbanSetting', "executionID=$executionID"), "<i class='icon-cog muted'></i> " . $lang->execution->kanbanSetting, '', "class='iframe btn btn-link'");?>
|
||||
<?php if(common::hasPriv('execution', 'printKanban')) echo html::a($this->createLink('execution', 'printKanban', "executionID=$executionID"), "<i class='icon-printer muted'></i> " . $lang->execution->printKanban, '', "class='iframe btn btn-link' id='printKanban' title='{$lang->execution->printKanban}' data-width='500'");?>
|
||||
<?php
|
||||
$link = $this->createLink('task', 'export', "project=$projectID&orderBy=$orderBy&type=kanban");
|
||||
$link = $this->createLink('task', 'export', "execution=$executionID&orderBy=$orderBy&type=kanban");
|
||||
if(common::hasPriv('task', 'export')) echo html::a($link, "<i class='icon-export muted'></i> " . $lang->task->export, '', "class='btn btn-link iframe export' data-width='700'");
|
||||
?>
|
||||
<?php if($canBeChanged):?>
|
||||
@@ -26,21 +26,21 @@
|
||||
</button>
|
||||
<ul class='dropdown-menu' id='importActionMenu'>
|
||||
<?php
|
||||
$misc = common::hasPriv('project', 'importTask') ? '' : "class=disabled";
|
||||
$link = common::hasPriv('project', 'importTask') ? $this->createLink('project', 'importTask', "project=$project->id") : '#';
|
||||
echo "<li $misc>" . html::a($link, $lang->project->importTask, '', $misc) . "</li>";
|
||||
$misc = common::hasPriv('execution', 'importTask') ? '' : "class=disabled";
|
||||
$link = common::hasPriv('execution', 'importTask') ? $this->createLink('execution', 'importTask', "execution=$execution->id") : '#';
|
||||
echo "<li $misc>" . html::a($link, $lang->execution->importTask, '', $misc) . "</li>";
|
||||
|
||||
$misc = common::hasPriv('project', 'importBug') ? '' : "class=disabled";
|
||||
$link = common::hasPriv('project', 'importBug') ? $this->createLink('project', 'importBug', "project=$project->id") : '#';
|
||||
echo "<li $misc>" . html::a($link, $lang->project->importBug, '', $misc) . "</li>";
|
||||
$misc = common::hasPriv('execution', 'importBug') ? '' : "class=disabled";
|
||||
$link = common::hasPriv('execution', 'importBug') ? $this->createLink('execution', 'importBug', "execution=$execution->id") : '#';
|
||||
echo "<li $misc>" . html::a($link, $lang->execution->importBug, '', $misc) . "</li>";
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php
|
||||
$checkObject = new stdclass();
|
||||
$checkObject->project = $projectID;
|
||||
$checkObject->execution = $executionID;
|
||||
$misc = common::hasPriv('task', 'create', $checkObject) ? "class='btn btn-primary iframe' data-width='1200px'" : "class='btn btn-primary disabled'";
|
||||
$link = common::hasPriv('task', 'create', $checkObject) ? $this->createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : ''), '', true) : '#';
|
||||
$link = common::hasPriv('task', 'create', $checkObject) ? $this->createLink('task', 'create', "execution=$executionID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : ''), '', true) : '#';
|
||||
echo html::a($link, "<i class='icon icon-plus'></i>" . $lang->task->create, '', $misc);
|
||||
?>
|
||||
<?php endif;?>
|
||||
@@ -68,7 +68,7 @@
|
||||
<p>
|
||||
<span class="text-muted"><?php echo $lang->task->noTask;?></span>
|
||||
<?php if($canBeChanged and common::hasPriv('task', 'create', $checkObject)):?>
|
||||
<?php echo html::a($this->createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')), "<i class='icon icon-plus'></i> " . $lang->task->create, '', "class='btn btn-info'");?>
|
||||
<?php echo html::a($this->createLink('task', 'create', "execution=$executionID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')), "<i class='icon icon-plus'></i> " . $lang->task->create, '', "class='btn btn-info'");?>
|
||||
<?php endif;?>
|
||||
</p>
|
||||
</div>
|
||||
@@ -78,16 +78,16 @@
|
||||
<tr>
|
||||
<th class="c-board c-side has-btn">
|
||||
<div class="dropdown">
|
||||
<?php $dropTitle = $type == 'story' ? $lang->project->orderList[$storyOrder] : $lang->task->$type;?>
|
||||
<?php $dropTitle = $type == 'story' ? $lang->execution->orderList[$storyOrder] : $lang->task->$type;?>
|
||||
<button type="button" data-toggle="dropdown" class="btn btn-block btn-link"><?php echo $dropTitle;?> <span class="caret"></span></button>
|
||||
<ul class='dropdown-menu text-left'>
|
||||
<?php foreach($lang->project->orderList as $key => $value):?>
|
||||
<?php foreach($lang->execution->orderList as $key => $value):?>
|
||||
<li <?php echo ($type == 'story' and $storyOrder == $key) ? " class='active'" : '' ?>>
|
||||
<?php echo html::a($this->createLink('project', 'kanban', "projectID=$projectID&type=story&orderBy=$key"), $value);?>
|
||||
<?php echo html::a($this->createLink('execution', 'kanban', "executionID=$executionID&type=story&orderBy=$key"), $value);?>
|
||||
</li>
|
||||
<?php endforeach;?>
|
||||
<?php echo "<li" . ($type == 'assignedTo' ? " class='active'" : '') . ">" . html::a(inlink('kanban', "project=$projectID&type=assignedTo"), $lang->project->groups['assignedTo']) . "</li>";?>
|
||||
<?php echo "<li" . ($type == 'finishedBy' ? " class='active'" : '') . ">" . html::a(inlink('kanban', "project=$projectID&type=finishedBy"), $lang->project->groups['finishedBy']) . "</li>";?>
|
||||
<?php echo "<li" . ($type == 'assignedTo' ? " class='active'" : '') . ">" . html::a(inlink('kanban', "execution=$executionID&type=assignedTo"), $lang->execution->groups['assignedTo']) . "</li>";?>
|
||||
<?php echo "<li" . ($type == 'finishedBy' ? " class='active'" : '') . ">" . html::a(inlink('kanban', "execution=$executionID&type=finishedBy"), $lang->execution->groups['finishedBy']) . "</li>";?>
|
||||
</ul>
|
||||
</div>
|
||||
</th>
|
||||
@@ -124,9 +124,9 @@
|
||||
<ul class='dropdown-menu pull-right'>
|
||||
<?php
|
||||
$misc = "data-toggle='modal' data-type='iframe' data-width='95%'";
|
||||
echo (common::hasPriv('task', 'create')) ? '<li>' . html::a($this->createLink('task', 'create', "projectID=$story->project&storyID=$story->id&moduleID=$story->module", '', true), $lang->project->wbs, '', $misc) : '' . '</li>';
|
||||
echo (common::hasPriv('task', 'batchCreate')) ? '<li>' . html::a($this->createLink('task', 'batchCreate', "projectID=$story->project&storyID=$story->id&moduleID=0&taskID=0&iframe=true", '', true), $lang->project->batchWBS, '', $misc) : '' . '</li>';
|
||||
echo (common::hasPriv('project', 'unlinkStory')) ? '<li>' . html::a($this->createLink('project', 'unlinkStory', "projectID=$story->project&storyID=$story->story&confirm=no", '', true), $lang->project->unlinkStory, 'hiddenwin') : '' . '</li>';
|
||||
echo (common::hasPriv('task', 'create')) ? '<li>' . html::a($this->createLink('task', 'create', "executionID=$story->execution&storyID=$story->id&moduleID=$story->module", '', true), $lang->execution->wbs, '', $misc) : '' . '</li>';
|
||||
echo (common::hasPriv('task', 'batchCreate')) ? '<li>' . html::a($this->createLink('task', 'batchCreate', "executionID=$story->execution&storyID=$story->id&moduleID=0&taskID=0&iframe=true", '', true), $lang->execution->batchWBS, '', $misc) : '' . '</li>';
|
||||
echo (common::hasPriv('execution', 'unlinkStory')) ? '<li>' . html::a($this->createLink('execution', 'unlinkStory', "executionID=$story->execution&storyID=$story->story&confirm=no", '', true), $lang->execution->unlinkStory, 'hiddenwin') : '' . '</li>';
|
||||
$misc = "data-toggle='modal' data-type='iframe'";
|
||||
echo (common::hasPriv('story', 'close')) ? '<li>' . html::a($this->createLink('story', 'close', "storyID=$story->id", '', true), $lang->story->close, '', $misc) : '' . '</li>';
|
||||
?>
|
||||
@@ -173,7 +173,7 @@
|
||||
if(empty($task->assignedTo)) $assignedToRealName = "<span class='text-primary'>{$lang->task->noAssigned}</span>";
|
||||
if(common::hasPriv('task', 'assignTo', $task))
|
||||
{
|
||||
echo html::a($this->createLink('task', 'assignTo', "projectID={$task->project}&taskID={$task->id}", '', true), '<i class="icon icon-hand-right"></i> ' . $assignedToRealName, '', 'class="btn btn-icon-left kanbaniframe task-assignedTo"');
|
||||
echo html::a($this->createLink('task', 'assignTo', "executionID={$task->execution}&taskID={$task->id}", '', true), '<i class="icon icon-hand-right"></i> ' . $assignedToRealName, '', 'class="btn btn-icon-left kanbaniframe task-assignedTo"');
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -230,5 +230,5 @@
|
||||
</table>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
<?php echo js::set('projectID', $projectID);?>
|
||||
<?php echo js::set('executionID', $executionID);?>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* The link story view of project module of ZenTaoPMS.
|
||||
* The link story view of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: linkstory.html.php 4129 2013-01-18 01:58:14Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
@@ -17,11 +17,11 @@
|
||||
</style>
|
||||
<div id="mainMenu" class="clearfix">
|
||||
<div class="btn-toolbar pull-left">
|
||||
<span class='btn btn-link btn-active-text'><span class='text'><?php echo $lang->project->linkStory;?></span></span>
|
||||
<?php if($executionStories and ($this->app->rawModule == 'project')):?>
|
||||
<span class='btn btn-link'><span class='text'><?php echo $lang->project->linkPRJStoryTip;?></span></span>
|
||||
<?php elseif($this->app->rawModule == 'project'):?>
|
||||
<span class='btn btn-link'><span class='text'><?php echo $lang->project->linkAllStoryTip;?></span></span>
|
||||
<span class='btn btn-link btn-active-text'><span class='text'><?php echo $lang->execution->linkStory;?></span></span>
|
||||
<?php if($executionStories and ($this->app->rawModule == 'execution')):?>
|
||||
<span class='btn btn-link'><span class='text'><?php echo $lang->execution->linkPRJStoryTip;?></span></span>
|
||||
<?php elseif($this->app->rawModule == 'execution'):?>
|
||||
<span class='btn btn-link'><span class='text'><?php echo $lang->execution->linkAllStoryTip;?></span></span>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
<div class='btn-toolbar pull-right'>
|
||||
@@ -97,7 +97,7 @@
|
||||
</div>
|
||||
<?php else:?>
|
||||
<div class="table-empty-tip">
|
||||
<p><span class="text-muted"><?php echo $lang->project->whyNoStories;?></p>
|
||||
<p><span class="text-muted"><?php echo $lang->execution->whyNoStories;?></p>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
</form>
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
<?php
|
||||
/**
|
||||
* The link user view of project module of ZenTaoPMS.
|
||||
* The link user view of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: managemembers.html.php 4662 2013-04-18 02:34:33Z chencongzhi520@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php js::set('projectID', $project->id);?>
|
||||
<?php js::set('executionID', $execution->id);?>
|
||||
<?php js::set('team2Import', $team2Import);?>
|
||||
<?php js::set('roles', $roles);?>
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
<div class='btn-toolbar pull-left'>
|
||||
<span class='btn btn-link btn-active-text'>
|
||||
<?php echo html::a($this->createLink('project', 'managemembers', "projectID={$project->id}"), "<span class='text'> {$lang->project->manageMembers}</span>");?>
|
||||
<?php echo html::a($this->createLink('execution', 'managemembers', "executionID={$execution->id}"), "<span class='text'> {$lang->execution->manageMembers}</span>");?>
|
||||
</span>
|
||||
<div class='input-group space w-200px'>
|
||||
<span class='input-group-addon'><?php echo $lang->project->selectDept?></span>
|
||||
<?php echo html::select('dept', $depts, $dept, "class='form-control chosen' onchange='setDeptUsers(this)' data-placeholder='{$lang->project->selectDeptTitle}'");?>
|
||||
<span class='input-group-addon'><?php echo $lang->execution->selectDept?></span>
|
||||
<?php echo html::select('dept', $depts, $dept, "class='form-control chosen' onchange='setDeptUsers(this)' data-placeholder='{$lang->execution->selectDeptTitle}'");?>
|
||||
<?php if(count($teams2Import) != 1):?>
|
||||
<span class='input-group-addon'><?php echo $lang->project->copyTeam?></span>
|
||||
<?php echo html::select('project', $teams2Import, $team2Import, "class='form-control chosen' onchange='choseTeam2Copy(this)' data-placeholder='{$lang->project->copyTeamTitle}'");?>
|
||||
<span class='input-group-addon'><?php echo $lang->execution->copyTeam?></span>
|
||||
<?php echo html::select('execution', $teams2Import, $team2Import, "class='form-control chosen' onchange='choseTeam2Copy(this)' data-placeholder='{$lang->execution->copyTeamTitle}'");?>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -68,7 +68,7 @@
|
||||
<tr class='addedItem'>
|
||||
<td><?php echo html::select("accounts[]", $users, $member2Import->account, "class='form-control chosen' onchange='setRole(this.value, $i)'");?></td>
|
||||
<td><input type='text' name='roles[]' id='role<?php echo $i;?>' class='form-control' value='<?php echo $member2Import->role;?>' /></td>
|
||||
<td><input type='text' name='days[]' id='days<?php echo $i;?>' class='form-control' value='<?php echo $project->days?>'/></td>
|
||||
<td><input type='text' name='days[]' id='days<?php echo $i;?>' class='form-control' value='<?php echo $execution->days?>'/></td>
|
||||
<td>
|
||||
<input type='text' name='hours[]' id='hours<?php echo $i;?>' class='form-control' value='<?php echo $member2Import->hours;?>' />
|
||||
</td>
|
||||
@@ -86,9 +86,9 @@
|
||||
<tr class='addedItem'>
|
||||
<td><?php echo html::select("accounts[]", $users, $deptAccount, "class='form-control chosen' onchange='setRole(this.value, $i)'");?></td>
|
||||
<td><input type='text' name='roles[]' id='role<?php echo $i;?>' class='form-control' value='<?php echo $roles[$deptAccount]?>'/></td>
|
||||
<td><input type='text' name='days[]' id='days<?php echo $i;?>' class='form-control' value='<?php echo $project->days?>'/></td>
|
||||
<td><input type='text' name='days[]' id='days<?php echo $i;?>' class='form-control' value='<?php echo $execution->days?>'/></td>
|
||||
<td>
|
||||
<input type='text' name='hours[]' id='hours<?php echo $i;?>' class='form-control' value='<?php echo $config->project->defaultWorkhours?>' />
|
||||
<input type='text' name='hours[]' id='hours<?php echo $i;?>' class='form-control' value='<?php echo $config->execution->defaultWorkhours?>' />
|
||||
</td>
|
||||
<td><?php echo html::radio("limited[$i]", $lang->team->limitedList, 'no');?></td>
|
||||
<td class='c-actions text-center'>
|
||||
@@ -104,9 +104,9 @@
|
||||
<tr class='addedItem'>
|
||||
<td><?php echo html::select("accounts[]", $users, '', "class='form-control chosen' onchange='setRole(this.value, $i)'");?></td>
|
||||
<td><input type='text' name='roles[]' id='role<?php echo ($i);?>' class='form-control' /></td>
|
||||
<td><input type='text' name='days[]' id='days<?php echo ($i);?>' class='form-control' value='<?php echo $project->days?>'/></td>
|
||||
<td><input type='text' name='days[]' id='days<?php echo ($i);?>' class='form-control' value='<?php echo $execution->days?>'/></td>
|
||||
<td>
|
||||
<input type='text' name='hours[]' id='hours<?php echo ($i);?>' class='form-control' value='<?php echo $config->project->defaultWorkhours?>' />
|
||||
<input type='text' name='hours[]' id='hours<?php echo ($i);?>' class='form-control' value='<?php echo $config->execution->defaultWorkhours?>' />
|
||||
</td>
|
||||
<td><?php echo html::radio("limited[$i]", $lang->team->limitedList, 'no');?></td>
|
||||
<td class='c-actions text-center'>
|
||||
@@ -128,9 +128,9 @@
|
||||
<tr id='addItem' class='hidden'>
|
||||
<td><?php echo html::select("accounts[]", $users, '', "class='form-control' onchange='setRole(this.value, $i)'");?></td>
|
||||
<td><input type='text' name='roles[]' id='role<?php echo ($i);?>' class='form-control' /></td>
|
||||
<td><input type='text' name='days[]' id='days<?php echo ($i);?>' class='form-control' value='<?php echo $project->days?>'/></td>
|
||||
<td><input type='text' name='days[]' id='days<?php echo ($i);?>' class='form-control' value='<?php echo $execution->days?>'/></td>
|
||||
<td>
|
||||
<input type='text' name='hours[]' id='hours<?php echo ($i);?>' class='form-control' value='<?php echo $config->project->defaultWorkhours?>' />
|
||||
<input type='text' name='hours[]' id='hours<?php echo ($i);?>' class='form-control' value='<?php echo $config->execution->defaultWorkhours?>' />
|
||||
</td>
|
||||
<td><?php echo html::radio("limited[$i]", $lang->team->limitedList, 'no');?></td>
|
||||
<td class='c-actions text-center'>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* The manage product view of project module of ZenTaoPMS.
|
||||
* The manage product view of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: manageproducts.html.php 4129 2013-01-18 01:58:14Z wwccss $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
@@ -13,20 +13,20 @@
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
<div class='btn-toolbar pull-left'>
|
||||
<span class='btn btn-link btn-active-text'><span class='text'><?php echo $lang->project->manageProducts;?></span></span>
|
||||
<span class='btn btn-link btn-active-text'><span class='text'><?php echo $lang->execution->manageProducts;?></span></span>
|
||||
</div>
|
||||
</div>
|
||||
<div id='mainContent'>
|
||||
<div class='cell'>
|
||||
<form id='productsBox' method='post'>
|
||||
<div class='detail'>
|
||||
<div class='detail-title'><?php echo $lang->project->linkedProducts;?></div>
|
||||
<div class='detail-title'><?php echo $lang->execution->linkedProducts;?></div>
|
||||
<div class='detail-content row'>
|
||||
<?php $class = $project->grade == 2 ? "disabled='disabled'" : '';?>
|
||||
<?php $class = $execution->grade == 2 ? "disabled='disabled'" : '';?>
|
||||
<?php foreach($allProducts as $productID => $productName):?>
|
||||
<?php if(isset($linkedProducts[$productID])):?>
|
||||
<?php $isDisabled = in_array($productID, $unmodifiableProducts) ? "disabled='disabled'" : '';?>
|
||||
<?php $title = in_array($productID, $unmodifiableProducts) ? $lang->project->notAllowRemoveProducts : $productName;?>
|
||||
<?php $title = in_array($productID, $unmodifiableProducts) ? $lang->execution->notAllowRemoveProducts : $productName;?>
|
||||
<?php $checked = 'checked';?>
|
||||
<div class='col-sm-4'>
|
||||
<div class='product <?php echo $checked . (isset($branchGroups[$productID]) ? ' has-branch' : '')?>'>
|
||||
@@ -43,9 +43,9 @@
|
||||
<?php endforeach;?>
|
||||
</div>
|
||||
</div>
|
||||
<?php if($this->config->systemMode == 'classic' or $project->grade == 1):?>
|
||||
<?php if($this->config->systemMode == 'classic' or $execution->grade == 1):?>
|
||||
<div class='detail'>
|
||||
<div class='detail-title'><?php echo $lang->project->unlinkedProducts;?></div>
|
||||
<div class='detail-title'><?php echo $lang->execution->unlinkedProducts;?></div>
|
||||
<div class='detail-content row'>
|
||||
<?php foreach($allProducts as $productID => $productName):?>
|
||||
<div class='col-sm-4'>
|
||||
@@ -62,7 +62,7 @@
|
||||
</div>
|
||||
<div class="detail text-center form-actions">
|
||||
<?php echo html::hidden("post", 'post');?>
|
||||
<?php if(common::canModify('project', $project)) echo html::submitButton();?>
|
||||
<?php if(common::canModify('execution', $execution)) echo html::submitButton();?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
</form>
|
||||
|
||||
@@ -128,7 +128,7 @@ $dataType = '';
|
||||
</tr>
|
||||
<tr>
|
||||
<td align='center'><?php echo $lang->task->leftThisTime?></td>
|
||||
<td align='center'><?php if($content->left) echo $content->left . $lang->project->workHourUnit;?></td>
|
||||
<td align='center'><?php if($content->left) echo $content->left . $lang->execution->workHourUnit;?></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
@@ -236,14 +236,14 @@ function initBurnChar()
|
||||
labels: <?php echo json_encode($chartData['labels'])?>,
|
||||
datasets: [
|
||||
{
|
||||
label: "<?php echo $lang->project->charts->burn->graph->reference;?>",
|
||||
label: "<?php echo $lang->execution->charts->burn->graph->reference;?>",
|
||||
color: "#CCC",
|
||||
fillColor: "rgba(0,0,0,0)",
|
||||
showTooltips: false,
|
||||
data: <?php echo $chartData['baseLine']?>
|
||||
},
|
||||
{
|
||||
label: "<?php echo $lang->project->charts->burn->graph->actuality;?>",
|
||||
label: "<?php echo $lang->execution->charts->burn->graph->actuality;?>",
|
||||
color: "#0033CC",
|
||||
data: <?php echo $chartData['burnLine']?>
|
||||
}]
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<?php
|
||||
/**
|
||||
* The kanban view file of project module of ZenTaoPMS.
|
||||
* The kanban view file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2012 青岛易软天创网络科技有限公司 (QingDao Nature Easy Soft Network Technology Co,LTD www.cnezsoft.com)
|
||||
* @author Wang Yidong, Zhu Jinyong
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: kanban.html.php $
|
||||
*/
|
||||
?>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* The delay file of project module of ZenTaoPMS.
|
||||
* The delay file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang<wwccss@gmail.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: delay.html.php 935 2013-01-16 07:49:24Z wwccss@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
@@ -16,10 +16,10 @@
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='main-header'>
|
||||
<h2>
|
||||
<span class='prefix label-id'><strong><?php echo $project->id;?></strong></span>
|
||||
<?php echo isonlybody() ? ("<span title='$project->name'>" . $project->name . '</span>') : html::a($this->createLink('project', 'view', 'project=' . $project->id), $project->name, '_blank');?>
|
||||
<span class='prefix label-id'><strong><?php echo $execution->id;?></strong></span>
|
||||
<?php echo isonlybody() ? ("<span title='$execution->name'>" . $execution->name . '</span>') : html::a($this->createLink('execution', 'view', 'execution=' . $execution->id), $execution->name, '_blank');?>
|
||||
<?php if(!isonlybody()):?>
|
||||
<small><?php echo $lang->arrow . $lang->project->putoff;?></small>
|
||||
<small><?php echo $lang->arrow . $lang->execution->putoff;?></small>
|
||||
<?php endif;?>
|
||||
</h2>
|
||||
</div>
|
||||
@@ -27,16 +27,16 @@
|
||||
<table class='table table-form'>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class='w-80px'><?php echo $lang->project->dateRange;?></th>
|
||||
<th class='w-80px'><?php echo $lang->execution->dateRange;?></th>
|
||||
<td colspan='2'>
|
||||
<div class='input-group'>
|
||||
<?php echo html::input('begin', $project->begin, "class='form-control form-date' onchange='computeWorkDays()' placeholder='" . $lang->project->begin . "'");?>
|
||||
<span class='input-group-addon'><?php echo $lang->project->to;?></span>
|
||||
<?php echo html::input('end', $project->end, "class='form-control form-date' onchange='computeWorkDays()' placeholder='" . $lang->project->end . "'");?>
|
||||
<?php echo html::input('begin', $execution->begin, "class='form-control form-date' onchange='computeWorkDays()' placeholder='" . $lang->execution->begin . "'");?>
|
||||
<span class='input-group-addon'><?php echo $lang->execution->to;?></span>
|
||||
<?php echo html::input('end', $execution->end, "class='form-control form-date' onchange='computeWorkDays()' placeholder='" . $lang->execution->end . "'");?>
|
||||
<div class='input-group-btn'>
|
||||
<button type='button' class='btn dropdown-toggle' data-toggle='dropdown'><?php echo $lang->project->byPeriod;?> <span class='caret'></span></button>
|
||||
<button type='button' class='btn dropdown-toggle' data-toggle='dropdown'><?php echo $lang->execution->byPeriod;?> <span class='caret'></span></button>
|
||||
<ul class='dropdown-menu'>
|
||||
<?php foreach ($lang->project->endList as $key => $name):?>
|
||||
<?php foreach ($lang->execution->endList as $key => $name):?>
|
||||
<li><a href='javascript:computeEndDate("<?php echo $key;?>")'><?php echo $name;?></a></li>
|
||||
<?php endforeach;?>
|
||||
</ul>
|
||||
@@ -46,20 +46,20 @@
|
||||
<td class='w-100px'></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->project->days;?></th>
|
||||
<th><?php echo $lang->execution->days;?></th>
|
||||
<td colspan='2'>
|
||||
<div class='input-group'>
|
||||
<?php echo html::input('days', $project->days, "class='form-control'");?>
|
||||
<span class='input-group-addon'><?php echo $lang->project->day;?></span>
|
||||
<?php echo html::input('days', $execution->days, "class='form-control'");?>
|
||||
<span class='input-group-addon'><?php echo $lang->execution->day;?></span>
|
||||
</div>
|
||||
</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr class='hide'>
|
||||
<th><?php echo $lang->project->status;?></th>
|
||||
<td><?php echo html::hidden('status', $project->status);?></td>
|
||||
<th><?php echo $lang->execution->status;?></th>
|
||||
<td><?php echo html::hidden('status', $execution->status);?></td>
|
||||
</tr>
|
||||
<?php $this->printExtendFields($project, 'table', 'columns=3');?>
|
||||
<?php $this->printExtendFields($execution, 'table', 'columns=3');?>
|
||||
<tr>
|
||||
<th><?php echo $lang->comment;?></th>
|
||||
<td colspan='3'><?php echo html::textarea('comment', '', "rows='6' class='form-control kindeditor' hidefocus='true'");?></td>
|
||||
@@ -73,5 +73,5 @@
|
||||
<hr class='small' />
|
||||
<div class='main'><?php include '../../common/view/action.html.php';?></div>
|
||||
</div>
|
||||
<?php js::set('weekend', $config->project->weekend);?>
|
||||
<?php js::set('weekend', $config->execution->weekend);?>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* The start file of project module of ZenTaoPMS.
|
||||
* The start file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang<wwccss@gmail.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: start.html.php 935 2013-01-16 07:49:24Z wwccss@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
@@ -15,23 +15,23 @@
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='main-header'>
|
||||
<h2>
|
||||
<span class='prefix label-id'><strong><?php echo $project->id;?></strong></span>
|
||||
<?php echo isonlybody() ? ("<span title='$project->name'>" . $project->name . '</span>') : html::a($this->createLink('project', 'view', 'project=' . $project->id), $project->name, '_blank');?>
|
||||
<span class='prefix label-id'><strong><?php echo $execution->id;?></strong></span>
|
||||
<?php echo isonlybody() ? ("<span title='$execution->name'>" . $execution->name . '</span>') : html::a($this->createLink('execution', 'view', 'execution=' . $execution->id), $execution->name, '_blank');?>
|
||||
<?php if(!isonlybody()):?>
|
||||
<small><?php echo $lang->arrow . $lang->project->start;?></small>
|
||||
<small><?php echo $lang->arrow . $lang->execution->start;?></small>
|
||||
<?php endif;?>
|
||||
</h2>
|
||||
</div>
|
||||
<form class='load-indicator main-form' method='post' target='hiddenwin'>
|
||||
<table class='table table-form'>
|
||||
<tbody>
|
||||
<?php $this->printExtendFields($project, 'table', 'columns=2');?>
|
||||
<?php $this->printExtendFields($execution, 'table', 'columns=2');?>
|
||||
<tr>
|
||||
<th class='w-40px'><?php echo $lang->comment;?></th>
|
||||
<td><?php echo html::textarea('comment', '', "rows='6' class='form-control kindeditor' hidefocus='true'");?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan='2' class='text-center form-actions'><?php echo html::submitButton($lang->project->start) . ' ' . html::linkButton($lang->goback, $this->session->taskList, 'self', '', 'btn btn-wide'); ?></td>
|
||||
<td colspan='2' class='text-center form-actions'><?php echo html::submitButton($lang->execution->start) . ' ' . html::linkButton($lang->goback, $this->session->taskList, 'self', '', 'btn btn-wide'); ?></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@@ -1,22 +1,22 @@
|
||||
<?php
|
||||
/**
|
||||
* The story view file of project module of ZenTaoPMS.
|
||||
* The story view file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: story.html.php 5117 2013-07-12 07:03:14Z chencongzhi520@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php $canOrder = common::hasPriv('project', 'storySort');?>
|
||||
<?php $canOrder = common::hasPriv('execution', 'storySort');?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php if($canOrder) include '../../common/view/sortable.html.php';?>
|
||||
<?php js::set('moduleID', $this->cookie->storyModuleParam);?>
|
||||
<?php js::set('productID', $this->cookie->storyProductParam);?>
|
||||
<?php js::set('branchID', str_replace(',', '_', $this->cookie->storyBranchParam));?>
|
||||
<?php js::set('confirmUnlinkStory', $lang->project->confirmUnlinkStory)?>
|
||||
<?php js::set('confirmUnlinkStory', $lang->execution->confirmUnlinkStory)?>
|
||||
<?php js::set('typeError', sprintf($this->lang->error->notempty, $this->lang->task->type))?>
|
||||
<?php js::set('workingHourError', sprintf($this->lang->error->notempty, $this->lang->workingHour))?>
|
||||
<div id="mainMenu" class="clearfix">
|
||||
@@ -25,7 +25,7 @@
|
||||
<?php
|
||||
$sidebarName = isset($product) ? $product->name : (isset($branch) ? $branch : $module->name);
|
||||
$removeType = isset($product) ? 'byproduct' : (isset($branch) ? 'bybranch' : 'bymodule');
|
||||
$removeLink = inlink('story', "projectID=$project->id&orderBy=$orderBy&type=$removeType¶m=0&recTotal=0&recPerPage={$pager->recPerPage}");
|
||||
$removeLink = inlink('story', "executionID=$execution->id&orderBy=$orderBy&type=$removeType¶m=0&recTotal=0&recPerPage={$pager->recPerPage}");
|
||||
?>
|
||||
<div class="title" title='<?php echo $sidebarName;?>'>
|
||||
<?php echo $sidebarName;?>
|
||||
@@ -35,22 +35,22 @@
|
||||
<?php endif;?>
|
||||
<div class="btn-toolbar pull-left">
|
||||
<?php
|
||||
if(common::hasPriv('project', 'story'))
|
||||
if(common::hasPriv('execution', 'story'))
|
||||
{
|
||||
echo html::a($this->createLink('project', 'story', "projectID=$project->id&orderBy=order_desc&type=all"), "<span class='text'>{$lang->story->allStories}</span>" . ($type == 'all' ? " <span class='label label-light label-badge'>{$pager->recTotal}</span>" : ''), '', "class='btn btn-link" . ($type == 'all' ? " btn-active-text" : '') . "'");
|
||||
echo html::a($this->createLink('project', 'story', "projectID=$project->id&orderBy=order_desc&type=unclosed"), "<span class='text'>{$lang->story->unclosed}</span>" . ($type == 'unclosed' ? " <span class='label label-light label-badge'>{$pager->recTotal}</span>" : ''), '', "class='btn btn-link" . ($type == 'unclosed' ? " btn-active-text" : '') . "'");
|
||||
echo html::a($this->createLink('execution', 'story', "executionID=$execution->id&orderBy=order_desc&type=all"), "<span class='text'>{$lang->story->allStories}</span>" . ($type == 'all' ? " <span class='label label-light label-badge'>{$pager->recTotal}</span>" : ''), '', "class='btn btn-link" . ($type == 'all' ? " btn-active-text" : '') . "'");
|
||||
echo html::a($this->createLink('execution', 'story', "executionID=$execution->id&orderBy=order_desc&type=unclosed"), "<span class='text'>{$lang->story->unclosed}</span>" . ($type == 'unclosed' ? " <span class='label label-light label-badge'>{$pager->recTotal}</span>" : ''), '', "class='btn btn-link" . ($type == 'unclosed' ? " btn-active-text" : '') . "'");
|
||||
}
|
||||
if(common::hasPriv('project', 'storykanban')) echo html::a($this->createLink('project', 'storykanban', "projectID=$project->id"), "<span class='text'>{$lang->project->kanban}</span>", '', "class='btn btn-link'");
|
||||
if(common::hasPriv('execution', 'storykanban')) echo html::a($this->createLink('execution', 'storykanban', "executionID=$execution->id"), "<span class='text'>{$lang->execution->kanban}</span>", '', "class='btn btn-link'");
|
||||
?>
|
||||
<a class="btn btn-link querybox-toggle" id='bysearchTab'><i class="icon icon-search muted"></i> <?php echo $lang->product->searchStory;?></a>
|
||||
</div>
|
||||
<div class="btn-toolbar pull-right">
|
||||
<?php
|
||||
common::printLink('story', 'export', "productID=$productID&orderBy=id_desc&projectID=$project->id", "<i class='icon icon-export muted'></i> " . $lang->story->export, '', "class='btn btn-link export' data-group='project'");
|
||||
common::printLink('story', 'export', "productID=$productID&orderBy=id_desc&executionID=$execution->id", "<i class='icon icon-export muted'></i> " . $lang->story->export, '', "class='btn btn-link export' data-group='execution'");
|
||||
|
||||
if(common::canModify('project', $project))
|
||||
if(common::canModify('execution', $execution))
|
||||
{
|
||||
$this->lang->story->create = $this->lang->project->createStory;
|
||||
$this->lang->story->create = $this->lang->execution->createStory;
|
||||
if($productID and !$this->loadModel('story')->checkForceReview())
|
||||
{
|
||||
echo "<div class='btn-group dropdown-hover'>";
|
||||
@@ -59,26 +59,26 @@
|
||||
echo '</button>';
|
||||
echo "<ul class='dropdown-menu pull-right' id='createActionMenu'>";
|
||||
$storyModuleID = (int)$this->cookie->storyModuleParam;
|
||||
if(common::hasPriv('story', 'create')) echo '<li>' . html::a($this->createLink('story', 'create', "productID=$productID&branch=0&moduleID={$storyModuleID}&story=0&project=$project->id"), $lang->story->create, '', "data-group='project'") . '</li>';
|
||||
if(common::hasPriv('story', 'batchCreate')) echo '<li>' . html::a($this->createLink('story', 'batchCreate', "productID=$productID&branch=0&moduleID={$storyModuleID}&story=0&project=$project->id"), $lang->story->batchCreate, '', "data-group='project'") . '</li>';
|
||||
if(common::hasPriv('story', 'create')) echo '<li>' . html::a($this->createLink('story', 'create', "productID=$productID&branch=0&moduleID={$storyModuleID}&story=0&execution=$execution->id"), $lang->story->create, '', "data-group='execution'") . '</li>';
|
||||
if(common::hasPriv('story', 'batchCreate')) echo '<li>' . html::a($this->createLink('story', 'batchCreate', "productID=$productID&branch=0&moduleID={$storyModuleID}&story=0&execution=$execution->id"), $lang->story->batchCreate, '', "data-group='execution'") . '</li>';
|
||||
echo '</ul>';
|
||||
echo '</div>';
|
||||
}
|
||||
|
||||
if(commonModel::isTutorialMode())
|
||||
{
|
||||
$wizardParams = helper::safe64Encode("project=$project->id");
|
||||
echo html::a($this->createLink('tutorial', 'wizard', "module=project&method=linkStory¶ms=$wizardParams"), "<i class='icon-link'></i> {$lang->project->linkStory}",'', "class='btn btn-link link-story-btn'");
|
||||
$wizardParams = helper::safe64Encode("execution=$execution->id");
|
||||
echo html::a($this->createLink('tutorial', 'wizard', "module=execution&method=linkStory¶ms=$wizardParams"), "<i class='icon-link'></i> {$lang->execution->linkStory}",'', "class='btn btn-link link-story-btn'");
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<div class='btn-group dropdown-hover'>";
|
||||
echo "<button type='button' class='btn btn-primary' id='linkButton'>";
|
||||
echo "<i class='icon-link'></i> {$lang->project->linkStory} <span class='caret'></span>";
|
||||
echo "<i class='icon-link'></i> {$lang->execution->linkStory} <span class='caret'></span>";
|
||||
echo '</button>';
|
||||
echo "<ul class='dropdown-menu pull-right' id='linkActionMenu'>";
|
||||
if(common::hasPriv('project', 'linkStory')) echo '<li>' . html::a(inlink('linkStory', "project=$project->id"), $lang->project->linkStory). "</li>";
|
||||
if(common::hasPriv('project', 'importPlanStories')) echo '<li>' . html::a('#linkStoryByPlan', $lang->project->linkStoryByPlan, '', 'data-toggle="modal"') . "</li>";
|
||||
if(common::hasPriv('execution', 'linkStory')) echo '<li>' . html::a(inlink('linkStory', "execution=$execution->id"), $lang->execution->linkStory). "</li>";
|
||||
if(common::hasPriv('execution', 'importPlanStories')) echo '<li>' . html::a('#linkStoryByPlan', $lang->execution->linkStoryByPlan, '', 'data-toggle="modal"') . "</li>";
|
||||
echo '</ul>';
|
||||
echo '</div>';
|
||||
}
|
||||
@@ -95,18 +95,18 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-col">
|
||||
<div id='queryBox' data-module='projectStory' class='cell <?php if($type =='bysearch') echo 'show';?>'></div>
|
||||
<div id='queryBox' data-module='executionStory' class='cell <?php if($type =='bysearch') echo 'show';?>'></div>
|
||||
<?php if(empty($stories)):?>
|
||||
<div class="table-empty-tip">
|
||||
<p>
|
||||
<span class="text-muted"><?php echo $lang->story->noStory;?></span>
|
||||
<?php if(common::canModify('project', $project) and common::hasPriv('project', 'linkStory')):?>
|
||||
<?php echo html::a($this->createLink('project', 'linkStory', "project=$project->id"), "<i class='icon icon-link'></i> " . $lang->project->linkStory, '', "class='btn btn-info'");?>
|
||||
<?php if(common::canModify('execution', $execution) and common::hasPriv('execution', 'linkStory')):?>
|
||||
<?php echo html::a($this->createLink('execution', 'linkStory', "execution=$execution->id"), "<i class='icon icon-link'></i> " . $lang->execution->linkStory, '', "class='btn btn-info'");?>
|
||||
<?php endif;?>
|
||||
</p>
|
||||
</div>
|
||||
<?php else:?>
|
||||
<form class='main-table table-story skip-iframe-modal' method='post' id='projectStoryForm'>
|
||||
<form class='main-table table-story skip-iframe-modal' method='post' id='executionStoryForm'>
|
||||
<div class="table-header fixed-right">
|
||||
<nav class="btn-toolbar pull-right"></nav>
|
||||
</div>
|
||||
@@ -118,12 +118,12 @@
|
||||
$canBatchEdit = common::hasPriv('story', 'batchEdit');
|
||||
$canBatchClose = common::hasPriv('story', 'batchClose');
|
||||
$canBatchChangeStage = common::hasPriv('story', 'batchChangeStage');
|
||||
$canBatchUnlink = common::hasPriv('project', 'batchUnlinkStory');
|
||||
$canBatchUnlink = common::hasPriv('execution', 'batchUnlinkStory');
|
||||
$canBatchToTask = common::hasPriv('story', 'batchToTask');
|
||||
|
||||
$canBatchAction = ($canBeChanged and ($canBatchEdit or $canBatchClose or $canBatchChangeStage or $canBatchUnlink or $canBatchToTask));
|
||||
?>
|
||||
<?php $vars = "projectID={$project->id}&orderBy=%s&type=$type¶m=$param&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}"; ?>
|
||||
<?php $vars = "executionID={$execution->id}&orderBy=%s&type=$type¶m=$param&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}"; ?>
|
||||
<th class='c-id {sorter:false}'>
|
||||
<?php if($canBatchAction):?>
|
||||
<div class="checkbox-primary check-all" title="<?php echo $lang->selectAll?>">
|
||||
@@ -133,10 +133,10 @@
|
||||
<?php common::printOrderLink('id', $orderBy, $vars, $lang->idAB);?>
|
||||
</th>
|
||||
<?php if($canOrder):?>
|
||||
<th class='w-60px c-sort {sorter:false}'> <?php common::printOrderLink('order', $orderBy, $vars, $lang->project->orderAB);?></th>
|
||||
<th class='w-60px c-sort {sorter:false}'> <?php common::printOrderLink('order', $orderBy, $vars, $lang->execution->orderAB);?></th>
|
||||
<?php endif;?>
|
||||
<th class='c-pri {sorter:false}'> <?php common::printOrderLink('pri', $orderBy, $vars, $lang->priAB);?></th>
|
||||
<th class='c-name {sorter:false}'> <?php common::printOrderLink('title', $orderBy, $vars, $lang->project->storyTitle);?></th>
|
||||
<th class='c-name {sorter:false}'> <?php common::printOrderLink('title', $orderBy, $vars, $lang->execution->storyTitle);?></th>
|
||||
<th class='c-user {sorter:false}'> <?php common::printOrderLink('openedBy', $orderBy, $vars, $lang->openedByAB);?></th>
|
||||
<th class='c-user {sorter:false}'> <?php common::printOrderLink('assignedTo', $orderBy, $vars, $lang->assignedToAB);?></th>
|
||||
<th class='c-estimate w-80px {sorter:false}'> <?php common::printOrderLink('estimate', $orderBy, $vars, $lang->story->estimateAB);?></th>
|
||||
@@ -151,13 +151,13 @@
|
||||
<tbody id='storyTableList' class='sortable'>
|
||||
<?php foreach($stories as $key => $story):?>
|
||||
<?php
|
||||
$storyLink = $this->createLink('story', 'view', "storyID=$story->id&version=$story->version¶m=$project->id");
|
||||
$storyLink = $this->createLink('story', 'view', "storyID=$story->id&version=$story->version¶m=$execution->id");
|
||||
$totalEstimate += $story->estimate;
|
||||
?>
|
||||
<tr id="story<?php echo $story->id;?>" data-id='<?php echo $story->id;?>' data-order='<?php echo $story->order ?>' data-estimate='<?php echo $story->estimate?>' data-cases='<?php echo zget($storyCases, $story->id, 0)?>'>
|
||||
<td class='cell-id'>
|
||||
<?php if($canBatchAction):?>
|
||||
<?php echo html::checkbox('storyIdList', array($story->id => '')) . html::a(helper::createLink('story', 'view', "storyID=$story->id&version=$story->version&from=project¶m=$project->id"), sprintf('%03d', $story->id), null, "data-group='project'");?>
|
||||
<?php echo html::checkbox('storyIdList', array($story->id => '')) . html::a(helper::createLink('story', 'view', "storyID=$story->id&version=$story->version&from=execution¶m=$execution->id"), sprintf('%03d', $story->id), null, "data-group='execution'");?>
|
||||
<?php else:?>
|
||||
<?php printf('%03d', $story->id);?>
|
||||
<?php endif;?>
|
||||
@@ -169,7 +169,7 @@
|
||||
<td class='c-name' title="<?php echo $story->title?>">
|
||||
<?php if(isset($branchGroups[$story->product][$story->branch])) echo "<span class='label label-outline label-badge'>" . $branchGroups[$story->product][$story->branch] . '</span>';?>
|
||||
<?php if($story->parent > 0) echo "<span class='label'>{$lang->story->childrenAB}</span>";?>
|
||||
<?php echo html::a($storyLink,$story->title, null, "style='color: $story->color' data-group='project'");?>
|
||||
<?php echo html::a($storyLink,$story->title, null, "style='color: $story->color' data-group='execution'");?>
|
||||
</td>
|
||||
<td class='c-user' title='<?php echo zget($users, $story->openedBy);?>'><?php echo zget($users, $story->openedBy);?></td>
|
||||
<td class='c-user' title='<?php echo zget($users, $story->assignedTo);?>'><?php echo zget($users, $story->assignedTo);?></td>
|
||||
@@ -181,48 +181,48 @@
|
||||
<td class='c-stage'><?php echo $lang->story->stageList[$story->stage];?></td>
|
||||
<td class='linkbox'>
|
||||
<?php
|
||||
$tasksLink = $this->createLink('story', 'tasks', "storyID=$story->id&projectID=$project->id");
|
||||
$tasksLink = $this->createLink('story', 'tasks', "storyID=$story->id&executionID=$execution->id");
|
||||
$storyTasks[$story->id] > 0 ? print(html::a($tasksLink, $storyTasks[$story->id], '', 'class="iframe"')) : print(0);
|
||||
?>
|
||||
<td>
|
||||
<?php
|
||||
$bugsLink = $this->createLink('story', 'bugs', "storyID=$story->id&projectID=$project->id");
|
||||
$bugsLink = $this->createLink('story', 'bugs', "storyID=$story->id&executionID=$execution->id");
|
||||
$storyBugs[$story->id] > 0 ? print(html::a($bugsLink, $storyBugs[$story->id], '', 'class="iframe"')) : print(0);
|
||||
?>
|
||||
</td>
|
||||
<td>
|
||||
<?php
|
||||
$casesLink = $this->createLink('story', 'cases', "storyID=$story->id&projectID=$project->id");
|
||||
$casesLink = $this->createLink('story', 'cases', "storyID=$story->id&executionID=$execution->id");
|
||||
$storyCases[$story->id] > 0 ? print(html::a($casesLink, $storyCases[$story->id], '', 'class="iframe"')) : print(0);
|
||||
?>
|
||||
</td>
|
||||
<td class='c-actions'>
|
||||
<?php
|
||||
$hasDBPriv = common::hasDBPriv($project, 'project');
|
||||
$hasDBPriv = common::hasDBPriv($execution, 'execution');
|
||||
if($canBeChanged)
|
||||
{
|
||||
$param = "projectID={$project->id}&story={$story->id}&moduleID={$story->module}";
|
||||
$param = "executionID={$execution->id}&story={$story->id}&moduleID={$story->module}";
|
||||
|
||||
$lang->task->create = $lang->project->wbs;
|
||||
$lang->task->create = $lang->execution->wbs;
|
||||
if(commonModel::isTutorialMode())
|
||||
{
|
||||
$wizardParams = helper::safe64Encode($param);
|
||||
echo html::a($this->createLink('tutorial', 'wizard', "module=task&method=create¶ms=$wizardParams"), "<i class='icon-plus'></i>",'', "class='btn btn-task-create' title='{$lang->project->wbs}'");
|
||||
echo html::a($this->createLink('tutorial', 'wizard', "module=task&method=create¶ms=$wizardParams"), "<i class='icon-plus'></i>",'', "class='btn btn-task-create' title='{$lang->execution->wbs}'");
|
||||
}
|
||||
else
|
||||
{
|
||||
if($hasDBPriv) common::printIcon('task', 'create', $param, '', 'list', 'plus', '', 'btn-task-create');
|
||||
}
|
||||
|
||||
$lang->task->batchCreate = $lang->project->batchWBS;
|
||||
if($hasDBPriv) common::printIcon('task', 'batchCreate', "projectID={$project->id}&story={$story->id}", '', 'list', 'pluses');
|
||||
$lang->task->batchCreate = $lang->execution->batchWBS;
|
||||
if($hasDBPriv) common::printIcon('task', 'batchCreate', "executionID={$execution->id}&story={$story->id}", '', 'list', 'pluses');
|
||||
|
||||
$lang->testcase->batchCreate = $lang->testcase->create;
|
||||
if($productID && $hasDBPriv) common::printIcon('testcase', 'batchCreate', "productID=$story->product&branch=$story->branch&moduleID=$story->module&storyID=$story->id", '', 'list', 'sitemap');
|
||||
|
||||
if($canBeChanged and common::hasPriv('project', 'unlinkStory', $project))
|
||||
if($canBeChanged and common::hasPriv('execution', 'unlinkStory', $execution))
|
||||
{
|
||||
common::printIcon('project', 'unlinkStory', "projectID=$project->id&storyID=$story->id&confirm=no", '', 'list', 'unlink', 'hiddenwin');
|
||||
common::printIcon('execution', 'unlinkStory', "executionID=$execution->id&storyID=$story->id&confirm=no", '', 'list', 'unlink', 'hiddenwin');
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -239,7 +239,7 @@
|
||||
<div class='btn-group dropup'>
|
||||
<?php
|
||||
$disabled = $canBatchEdit ? '' : "disabled='disabled'";
|
||||
$actionLink = $this->createLink('story', 'batchEdit', "productID=0&projectID=$project->id");
|
||||
$actionLink = $this->createLink('story', 'batchEdit', "productID=0&executionID=$execution->id");
|
||||
echo html::commonButton($lang->edit, "data-form-action='$actionLink' $disabled");
|
||||
?>
|
||||
<button type='button' class='btn dropdown-toggle' data-toggle='dropdown'><span class='caret'></span></button>
|
||||
@@ -253,7 +253,7 @@
|
||||
<?php
|
||||
if($canBatchClose)
|
||||
{
|
||||
$actionLink = $this->createLink('story', 'batchClose', "productID=0&projectID=$project->id");
|
||||
$actionLink = $this->createLink('story', 'batchClose', "productID=0&executionID=$execution->id");
|
||||
echo html::commonButton($lang->close, "data-form-action='$actionLink'");
|
||||
}
|
||||
?>
|
||||
@@ -266,7 +266,7 @@
|
||||
foreach($lang->story->stageList as $key => $stage)
|
||||
{
|
||||
if(empty($key)) continue;
|
||||
if(strpos('wait|planned|projected', $key) !== false) continue;
|
||||
if(strpos('wait|planned|executioned', $key) !== false) continue;
|
||||
$actionLink = $this->createLink('story', 'batchChangeStage', "stage=$key");
|
||||
echo "<li>" . html::a('#', $stage, '', "onclick=\"setFormAction('$actionLink', 'hiddenwin')\"") . "</li>";
|
||||
}
|
||||
@@ -275,10 +275,10 @@
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php
|
||||
if(common::hasPriv('project', 'batchUnlinkStory'))
|
||||
if(common::hasPriv('execution', 'batchUnlinkStory'))
|
||||
{
|
||||
$actionLink = $this->createLink('project', 'batchUnlinkStory', "projectID=$project->id");
|
||||
echo html::commonButton($lang->project->unlinkStoryAB, "data-form-action='$actionLink'");
|
||||
$actionLink = $this->createLink('execution', 'batchUnlinkStory', "executionID=$execution->id");
|
||||
echo html::commonButton($lang->execution->unlinkStoryAB, "data-form-action='$actionLink'");
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
@@ -295,12 +295,12 @@
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal" aria-hidden="true"><i class="icon icon-close"></i></button>
|
||||
<h4 class="modal-title"><?php echo $lang->project->linkStoryByPlan;?></h4><?php echo '(' . $lang->project->linkStoryByPlanTips . ')';?>
|
||||
<h4 class="modal-title"><?php echo $lang->execution->linkStoryByPlan;?></h4><?php echo '(' . $lang->execution->linkStoryByPlanTips . ')';?>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class='input-group'>
|
||||
<?php echo html::select('plan', $allPlans, '', "class='form-control chosen' id='plan'");?>
|
||||
<span class='input-group-btn'><?php echo html::commonButton($lang->project->linkStory, "id='toTaskButton'", 'btn btn-primary');?></span>
|
||||
<span class='input-group-btn'><?php echo html::commonButton($lang->execution->linkStory, "id='toTaskButton'", 'btn btn-primary');?></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -315,7 +315,7 @@
|
||||
<h4 class="modal-title"><?php echo $lang->story->batchToTask;?></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form method='post' class='form-ajax' action='<?php echo $this->createLink('story', 'batchToTask', "projectID=$project->id");?>'>
|
||||
<form method='post' class='form-ajax' action='<?php echo $this->createLink('story', 'batchToTask', "executionID=$execution->id");?>'>
|
||||
<table class='table table-form'>
|
||||
<tr>
|
||||
<th class="<?php echo strpos($this->app->getClientLang(), 'zh') === false ? 'w-140px' : 'w-80px';?>"><?php echo $lang->task->type?></th>
|
||||
@@ -349,7 +349,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<?php js::set('checkedSummary', $lang->product->checkedSummary);?>
|
||||
<?php js::set('projectID', $project->id);?>
|
||||
<?php js::set('executionID', $execution->id);?>
|
||||
<?php js::set('orderBy', $orderBy)?>
|
||||
<script>
|
||||
$(function()
|
||||
@@ -357,7 +357,7 @@ $(function()
|
||||
// Update table summary text
|
||||
<?php $storyCommon = $lang->SRCommon;?>
|
||||
var checkedSummary = '<?php echo str_replace('%storyCommon%', $storyCommon, $lang->product->checkedSummary)?>';
|
||||
$('#projectStoryForm').table(
|
||||
$('#executionStoryForm').table(
|
||||
{
|
||||
statisticCreator: function(table)
|
||||
{
|
||||
|
||||
@@ -1,47 +1,47 @@
|
||||
<?php
|
||||
/**
|
||||
* The kanban view file of project module of ZenTaoPMS.
|
||||
* The kanban view file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2012 青岛易软天创网络科技有限公司 (QingDao Nature Easy Soft Network Technology Co,LTD www.cnezsoft.com)
|
||||
* @author Wang Yidong, Zhu Jinyong
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: kanban.html.php $
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php js::set('confirmUnlinkStory', $lang->project->confirmUnlinkStory)?>
|
||||
<?php js::set('confirmUnlinkStory', $lang->execution->confirmUnlinkStory)?>
|
||||
<?php js::set('canBeChanged', $canBeChanged)?>
|
||||
<div id="mainMenu" class="clearfix">
|
||||
<div class="btn-toolbar pull-left">
|
||||
<?php $total = 0;?>
|
||||
<?php foreach($stories as $colStories) $total += count($colStories);?>
|
||||
<?php if(common::hasPriv('project', 'story')) echo html::a($this->createLink('project', 'story', "projectID=$project->id"), "<span class='text'>{$lang->story->allStories}</span>", '', "class='btn btn-link'");?>
|
||||
<?php if(common::hasPriv('project', 'storykanban')) echo html::a($this->createLink('project', 'storykanban', "projectID=$project->id"), "<span class='text'>{$lang->project->kanban}</span> <span class='label label-light label-badge'>{$total}</span>", '', "class='btn btn-link btn-active-text'");?>
|
||||
<?php if(common::hasPriv('execution', 'story')) echo html::a($this->createLink('execution', 'story', "executionID=$execution->id"), "<span class='text'>{$lang->story->allStories}</span>", '', "class='btn btn-link'");?>
|
||||
<?php if(common::hasPriv('execution', 'storykanban')) echo html::a($this->createLink('execution', 'storykanban', "executionID=$execution->id"), "<span class='text'>{$lang->execution->kanban}</span> <span class='label label-light label-badge'>{$total}</span>", '', "class='btn btn-link btn-active-text'");?>
|
||||
</div>
|
||||
<div class="btn-toolbar pull-right">
|
||||
<div class='btn-group'>
|
||||
<?php
|
||||
common::printIcon('story', 'export', "productID=$productID&orderBy=id_desc", '', 'button', '', '', 'export', '', "data-group='project'");
|
||||
common::printIcon('story', 'export', "productID=$productID&orderBy=id_desc", '', 'button', '', '', 'export', '', "data-group='execution'");
|
||||
|
||||
if($canBeChanged)
|
||||
{
|
||||
if(commonModel::isTutorialMode())
|
||||
{
|
||||
$wizardParams = helper::safe64Encode("project=$project->id");
|
||||
echo html::a($this->createLink('tutorial', 'wizard', "module=project&method=linkStory¶ms=$wizardParams"), "<i class='icon-link'></i> {$lang->project->linkStory}",'', "class='btn btn-link link-story-btn'");
|
||||
$wizardParams = helper::safe64Encode("execution=$execution->id");
|
||||
echo html::a($this->createLink('tutorial', 'wizard', "module=execution&method=linkStory¶ms=$wizardParams"), "<i class='icon-link'></i> {$lang->execution->linkStory}",'', "class='btn btn-link link-story-btn'");
|
||||
}
|
||||
else
|
||||
{
|
||||
common::printIcon('project', 'linkStory', "project=$project->id", '', 'button', 'link', '', 'btn-link link-story-btn');
|
||||
common::printIcon('execution', 'linkStory', "execution=$execution->id", '', 'button', 'link', '', 'btn-link link-story-btn');
|
||||
}
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php if($canBeChanged and $productID and !$this->loadModel('story')->checkForceReview()) common::printLink('story', 'create', "productID=$productID&branch=&moduleID=0&story=0&project=$project->id", "<i class='icon icon-plus'></i> " . $lang->project->createStory, '', "class='btn btn-primary' class='btn btn-link export' data-group='project'");?>
|
||||
<?php if($canBeChanged and $productID and !$this->loadModel('story')->checkForceReview()) common::printLink('story', 'create', "productID=$productID&branch=&moduleID=0&story=0&execution=$execution->id", "<i class='icon icon-plus'></i> " . $lang->execution->createStory, '', "class='btn btn-primary' class='btn btn-link export' data-group='execution'");?>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
$cols = array('projected', 'developing', 'developed', 'testing', 'tested', 'verified', 'released');
|
||||
$cols = array('executioned', 'developing', 'developed', 'testing', 'tested', 'verified', 'released');
|
||||
$account = $this->app->user->account;
|
||||
?>
|
||||
<div id="kanban" class="main-table" data-ride="table" data-checkable="false" data-group="true">
|
||||
@@ -49,8 +49,8 @@ $account = $this->app->user->account;
|
||||
<div class="table-empty-tip">
|
||||
<p>
|
||||
<span class="text-muted"><?php echo $lang->story->noStory;?></span>
|
||||
<?php if($canBeChanged and common::hasPriv('project', 'linkStory')):?>
|
||||
<?php echo html::a($this->createLink('project', 'linkStory', "project=$project->id"), "<i class='icon icon-link'></i> " . $lang->project->linkStory, '', "class='btn btn-info'");?>
|
||||
<?php if($canBeChanged and common::hasPriv('execution', 'linkStory')):?>
|
||||
<?php echo html::a($this->createLink('execution', 'linkStory', "execution=$execution->id"), "<i class='icon icon-link'></i> " . $lang->execution->linkStory, '', "class='btn btn-info'");?>
|
||||
<?php endif;?>
|
||||
</p>
|
||||
</div>
|
||||
@@ -77,8 +77,8 @@ $account = $this->app->user->account;
|
||||
<div class='info'>
|
||||
<span class='label-pri label-pri-<?php echo $story->pri?>' title='<?php echo $lang->story->pri?>'><?php echo zget($lang->story->priList, $story->pri);?></span>
|
||||
<span class='status status-story status-<?php echo $story->status;?>' title='<?php echo $lang->story->status?>'><span class="label label-dot"></span> <?php echo $lang->story->statusList[$story->status];?></span>
|
||||
<?php if($canBeChanged and common::hasPriv('project', 'unlinkStory')):?>
|
||||
<div class='pull-right'><?php echo html::a($this->createLink('project', 'unlinkStory', "projectID=$projectID&story=$story->id"), "<i class='icon icon-unlink icon-sm'></i>", 'hiddenwin', "title='{$lang->project->unlinkStory}'");?></div>
|
||||
<?php if($canBeChanged and common::hasPriv('execution', 'unlinkStory')):?>
|
||||
<div class='pull-right'><?php echo html::a($this->createLink('execution', 'unlinkStory', "executionID=$executionID&story=$story->id"), "<i class='icon icon-unlink icon-sm'></i>", 'hiddenwin', "title='{$lang->execution->unlinkStory}'");?></div>
|
||||
<?php endif;?>
|
||||
<div class='pull-right text-muted story-estimate' title='<?php echo $lang->story->estimate?>'><?php echo $story->estimate . "$config->hourUnit ";?></div>
|
||||
</div>
|
||||
@@ -95,5 +95,5 @@ $account = $this->app->user->account;
|
||||
</table>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
<?php js::set('projectID', $projectID);?>
|
||||
<?php js::set('executionID', $executionID);?>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* The suspend file of project module of ZenTaoPMS.
|
||||
* The suspend file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang<wwccss@gmail.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: suspend.html.php 935 2013-01-16 07:49:24Z wwccss@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
@@ -15,20 +15,20 @@
|
||||
<div id='mainContent' class='main-content'>
|
||||
<div class='main-header'>
|
||||
<h2>
|
||||
<span class='prefix label-id'><strong><?php echo $project->id;?></strong></span>
|
||||
<?php echo isonlybody() ? ("<span title='$project->name'>" . $project->name . '</span>') : html::a($this->createLink('project', 'view', 'project=' . $project->id), $project->name, '_blank');?>
|
||||
<span class='prefix label-id'><strong><?php echo $execution->id;?></strong></span>
|
||||
<?php echo isonlybody() ? ("<span title='$execution->name'>" . $execution->name . '</span>') : html::a($this->createLink('execution', 'view', 'execution=' . $execution->id), $execution->name, '_blank');?>
|
||||
<?php if(!isonlybody()):?>
|
||||
<small><?php echo $lang->arrow . $lang->project->suspend;?></small>
|
||||
<small><?php echo $lang->arrow . $lang->execution->suspend;?></small>
|
||||
<?php endif;?>
|
||||
</h2>
|
||||
</div>
|
||||
<form class='load-indicator main-form' method='post' target='hiddenwin'>
|
||||
<table class='table table-form'>
|
||||
<tr class='hide'>
|
||||
<th><?php echo $lang->project->status;?></th>
|
||||
<th><?php echo $lang->execution->status;?></th>
|
||||
<td><?php echo html::hidden('status', 'suspended');?></td>
|
||||
</tr>
|
||||
<?php $this->printExtendFields($project, 'table');?>
|
||||
<?php $this->printExtendFields($execution, 'table');?>
|
||||
<tr>
|
||||
<th class='w-50px'><?php echo $lang->comment;?></th>
|
||||
<td><?php echo html::textarea('comment', '', "rows='6' class='form-control kindeditor' hidefocus='true'");?></td>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* The task view file of project module of ZenTaoPMS.
|
||||
* The task view file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: task.html.php 4894 2013-06-25 01:28:39Z wyd621@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
@@ -21,11 +21,11 @@ js::set('executionID', $executionID);
|
||||
js::set('browseType', $browseType);
|
||||
|
||||
/* Set unfold parent taskID. */
|
||||
$unfoldTasks = isset($config->project->task->unfoldTasks) ? json_decode($config->project->task->unfoldTasks, true) : array();
|
||||
$unfoldTasks = isset($config->execution->task->unfoldTasks) ? json_decode($config->execution->task->unfoldTasks, true) : array();
|
||||
$unfoldTasks = zget($unfoldTasks, $executionID, array());
|
||||
js::set('unfoldTasks', $unfoldTasks);
|
||||
js::set('unfoldAll', $lang->project->treeLevel['all']);
|
||||
js::set('foldAll', $lang->project->treeLevel['root']);
|
||||
js::set('unfoldAll', $lang->execution->treeLevel['all']);
|
||||
js::set('foldAll', $lang->execution->treeLevel['root']);
|
||||
?>
|
||||
<div id="mainMenu" class="clearfix">
|
||||
<div id="sidebarHeader">
|
||||
@@ -55,14 +55,14 @@ js::set('foldAll', $lang->project->treeLevel['root']);
|
||||
</div>
|
||||
<div class="btn-toolbar pull-left">
|
||||
<?php
|
||||
foreach(customModel::getFeatureMenu('project', 'task') as $menuItem)
|
||||
foreach(customModel::getFeatureMenu('execution', 'task') as $menuItem)
|
||||
{
|
||||
if($execution->type == 'ops' && $menuItem->name == 'needconfirm') continue;
|
||||
if(isset($menuItem->hidden)) continue;
|
||||
$menuType = $menuItem->name;
|
||||
if($menuType == 'QUERY')
|
||||
{
|
||||
$searchBrowseLink = $this->createLink('project', 'task', "project=$executionID&type=bySearch¶m=%s");
|
||||
$searchBrowseLink = $this->createLink('execution', 'task', "execution=$executionID&type=bySearch¶m=%s");
|
||||
$isBySearch = $this->session->taskBrowseType == 'bysearch';
|
||||
include '../../common/view/querymenu.html.php';
|
||||
}
|
||||
@@ -72,7 +72,7 @@ js::set('foldAll', $lang->project->treeLevel['root']);
|
||||
$label .= $menuType == $this->session->taskBrowseType ? " <span class='label label-light label-badge'>{$pager->recTotal}</span>" : '';
|
||||
$active = $menuType == $this->session->taskBrowseType ? 'btn-active-text' : '';
|
||||
$title = $menuType == 'needconfirm' ? "title='{$lang->task->storyChange}'" : '';
|
||||
echo html::a(inlink('task', "project=$executionID&type=$menuType"), $label, '', "id='{$menuType}' class='btn btn-link $active' $title");
|
||||
echo html::a(inlink('task', "execution=$executionID&type=$menuType"), $label, '', "id='{$menuType}' class='btn btn-link $active' $title");
|
||||
}
|
||||
elseif($menuType == 'status')
|
||||
{
|
||||
@@ -80,18 +80,18 @@ js::set('foldAll', $lang->project->treeLevel['root']);
|
||||
$taskBrowseType = isset($status) ? $this->session->taskBrowseType : '';
|
||||
$current = $menuItem->text;
|
||||
$active = '';
|
||||
if(isset($lang->project->statusSelects[$taskBrowseType]))
|
||||
if(isset($lang->execution->statusSelects[$taskBrowseType]))
|
||||
{
|
||||
$current = "<span class='text'>{$lang->project->statusSelects[$taskBrowseType]}</span> <span class='label label-light label-badge'>{$pager->recTotal}</span>";
|
||||
$current = "<span class='text'>{$lang->execution->statusSelects[$taskBrowseType]}</span> <span class='label label-light label-badge'>{$pager->recTotal}</span>";
|
||||
$active = 'btn-active-text';
|
||||
}
|
||||
echo html::a('javascript:;', $current . " <span class='caret'></span>", '', "data-toggle='dropdown' class='btn btn-link $active'");
|
||||
echo "<ul class='dropdown-menu'>";
|
||||
foreach($lang->project->statusSelects as $key => $value)
|
||||
foreach($lang->execution->statusSelects as $key => $value)
|
||||
{
|
||||
if($key == '') continue;
|
||||
echo '<li' . ($key == $taskBrowseType ? " class='active'" : '') . '>';
|
||||
echo html::a($this->createLink('project', 'task', "project=$executionID&type=$key"), $value);
|
||||
echo html::a($this->createLink('execution', 'task', "execution=$executionID&type=$key"), $value);
|
||||
}
|
||||
echo '</ul></div>';
|
||||
}
|
||||
@@ -103,7 +103,7 @@ js::set('foldAll', $lang->project->treeLevel['root']);
|
||||
<?php
|
||||
if(!isset($browseType)) $browseType = '';
|
||||
if(!isset($orderBy)) $orderBy = '';
|
||||
common::printIcon('task', 'report', "project=$executionID&browseType=$browseType", '', 'button', 'bar-chart muted');
|
||||
common::printIcon('task', 'report', "execution=$executionID&browseType=$browseType", '', 'button', 'bar-chart muted');
|
||||
?>
|
||||
|
||||
<div class="btn-group dropdown-hover">
|
||||
@@ -112,53 +112,53 @@ js::set('foldAll', $lang->project->treeLevel['root']);
|
||||
<?php
|
||||
$class = common::hasPriv('task', 'export') ? '' : "class=disabled";
|
||||
$misc = common::hasPriv('task', 'export') ? "class='export'" : "class=disabled";
|
||||
$link = common::hasPriv('task', 'export') ? $this->createLink('task', 'export', "project=$executionID&orderBy=$orderBy&type=$browseType") : '#';
|
||||
$link = common::hasPriv('task', 'export') ? $this->createLink('task', 'export', "execution=$executionID&orderBy=$orderBy&type=$browseType") : '#';
|
||||
echo "<li $class>" . html::a($link, $lang->task->export, '', $misc) . "</li>";
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<?php if(common::canModify('project', $execution)):?>
|
||||
<?php if(common::canModify('execution', $execution)):?>
|
||||
<div class="btn-group dropdown-hover">
|
||||
<button class="btn btn-link" data-toggle="dropdown"><i class="icon icon-import muted"></i> <span class="text"><?php echo $lang->import;?></span> <span class="caret"></span></button>
|
||||
<ul class="dropdown-menu pull-right" id='importActionMenu'>
|
||||
<?php
|
||||
$class = common::hasPriv('project', 'importTask') ? '' : "class=disabled";
|
||||
$misc = common::hasPriv('project', 'importTask') ? "class='import'" : "class=disabled";
|
||||
$link = common::hasPriv('project', 'importTask') ? $this->createLink('project', 'importTask', "project=$execution->id") : '#';
|
||||
echo "<li $class>" . html::a($link, $lang->project->importTask, '', $misc) . "</li>";
|
||||
$class = common::hasPriv('execution', 'importTask') ? '' : "class=disabled";
|
||||
$misc = common::hasPriv('execution', 'importTask') ? "class='import'" : "class=disabled";
|
||||
$link = common::hasPriv('execution', 'importTask') ? $this->createLink('execution', 'importTask', "execution=$execution->id") : '#';
|
||||
echo "<li $class>" . html::a($link, $lang->execution->importTask, '', $misc) . "</li>";
|
||||
|
||||
$class = common::hasPriv('project', 'importBug') ? '' : "class=disabled";
|
||||
$misc = common::hasPriv('project', 'importBug') ? "class='import'" : "class=disabled";
|
||||
$link = common::hasPriv('project', 'importBug') ? $this->createLink('project', 'importBug', "project=$execution->id") : '#';
|
||||
echo "<li $class>" . html::a($link, $lang->project->importBug, '', $misc) . "</li>";
|
||||
$class = common::hasPriv('execution', 'importBug') ? '' : "class=disabled";
|
||||
$misc = common::hasPriv('execution', 'importBug') ? "class='import'" : "class=disabled";
|
||||
$link = common::hasPriv('execution', 'importBug') ? $this->createLink('execution', 'importBug', "execution=$execution->id") : '#';
|
||||
echo "<li $class>" . html::a($link, $lang->execution->importBug, '', $misc) . "</li>";
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php
|
||||
$checkObject = new stdclass();
|
||||
$checkObject->project = $executionID;
|
||||
$checkObject->execution = $executionID;
|
||||
?>
|
||||
<?php if(!common::checkNotCN()):?>
|
||||
<?php
|
||||
$link = $this->createLink('task', 'batchCreate', "project=$executionID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : ''));
|
||||
$link = $this->createLink('task', 'batchCreate', "execution=$executionID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : ''));
|
||||
if($canBeChanged and common::hasPriv('task', 'batchCreate', $checkObject)) echo html::a($link, "<i class='icon icon-plus'></i> {$lang->task->batchCreate}", '', "class='btn btn btn-secondary'");
|
||||
|
||||
$link = $this->createLink('task', 'create', "project=$executionID" . (isset($moduleID) ? "&storyID=0&moduleID=$moduleID" : ""));
|
||||
$link = $this->createLink('task', 'create', "execution=$executionID" . (isset($moduleID) ? "&storyID=0&moduleID=$moduleID" : ""));
|
||||
if($canBeChanged and common::hasPriv('task', 'create', $checkObject)) echo html::a($link, "<i class='icon icon-plus'></i> {$lang->task->create}", '', "class='btn btn-primary'");
|
||||
?>
|
||||
<?php else:?>
|
||||
<?php
|
||||
echo "<div class='btn-group dropdown-hover'>";
|
||||
$link = $this->createLink('task', 'create', "project=$executionID" . (isset($moduleID) ? "&storyID=0&moduleID=$moduleID" : ""));
|
||||
$link = $this->createLink('task', 'create', "execution=$executionID" . (isset($moduleID) ? "&storyID=0&moduleID=$moduleID" : ""));
|
||||
if($canBeChanged and common::hasPriv('task', 'create', $checkObject)) echo html::a($link, "<i class='icon icon-plus'></i> {$lang->task->create} </span><span class='caret'>", '', "class='btn btn-primary'");
|
||||
?>
|
||||
<ul class='dropdown-menu'>
|
||||
<?php $disabled = common::hasPriv('task', 'batchCreate') ? '' : "class='disabled'";?>
|
||||
<li <?php echo $disabled?>>
|
||||
<?php
|
||||
$batchLink = $this->createLink('task', 'batchCreate', "project=$executionID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : ''));
|
||||
$batchLink = $this->createLink('task', 'batchCreate', "execution=$executionID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : ''));
|
||||
echo "<li>" . html::a($batchLink, "<i class='icon icon-plus'></i>" . $lang->task->batchCreate) . "</li>";
|
||||
?>
|
||||
</li>
|
||||
@@ -185,12 +185,12 @@ js::set('foldAll', $lang->project->treeLevel['root']);
|
||||
<p>
|
||||
<span class="text-muted"><?php echo $lang->task->noTask;?></span>
|
||||
<?php if($canBeChanged and common::hasPriv('task', 'create')):?>
|
||||
<?php echo html::a($this->createLink('task', 'create', "project=$executionID" . (isset($moduleID) ? "&storyID=0&moduleID=$moduleID" : "")), "<i class='icon icon-plus'></i> " . $lang->task->create, '', "class='btn btn-info'");?>
|
||||
<?php echo html::a($this->createLink('task', 'create', "execution=$executionID" . (isset($moduleID) ? "&storyID=0&moduleID=$moduleID" : "")), "<i class='icon icon-plus'></i> " . $lang->task->create, '', "class='btn btn-info'");?>
|
||||
<?php endif;?>
|
||||
</p>
|
||||
</div>
|
||||
<?php else:?>
|
||||
<form class="main-table table-task skip-iframe-modal" method="post" id='projectTaskForm'>
|
||||
<form class="main-table table-task skip-iframe-modal" method="post" id='executionTaskForm'>
|
||||
<div class="table-header fixed-right">
|
||||
<nav class="btn-toolbar pull-right"></nav>
|
||||
</div>
|
||||
@@ -201,7 +201,7 @@ js::set('foldAll', $lang->project->treeLevel['root']);
|
||||
|
||||
if($useDatatable) include '../../common/view/datatable.html.php';
|
||||
|
||||
$customFields = $this->datatable->getSetting('project');
|
||||
$customFields = $this->datatable->getSetting('execution');
|
||||
if($execution->type == 'ops')
|
||||
{
|
||||
foreach($customFields as $id => $customField)
|
||||
@@ -358,9 +358,9 @@ js::set('foldAll', $lang->project->treeLevel['root']);
|
||||
$(function()
|
||||
{
|
||||
// Update table summary text
|
||||
var checkedSummary = '<?php echo $lang->project->checkedSummary?>';
|
||||
var pageSummary = '<?php echo $lang->project->pageSummary?>';
|
||||
$('#projectTaskForm').table(
|
||||
var checkedSummary = '<?php echo $lang->execution->checkedSummary?>';
|
||||
var pageSummary = '<?php echo $lang->execution->pageSummary?>';
|
||||
$('#executionTaskForm').table(
|
||||
{
|
||||
statisticCreator: function(table)
|
||||
{
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
{
|
||||
echo '<div class="label-angle with-close">';
|
||||
$product = $this->product->getById($productID);
|
||||
$removeLink = $browseType == 'byproduct' ? inlink('task', "projectID=$projectID&browseType=$status¶m=0&orderBy=$orderBy&recTotal=0&recPerPage={$pager->recPerPage}") : 'javascript:removeCookieByKey("productBrowseParam")';
|
||||
$removeLink = $browseType == 'byproduct' ? inlink('task', "executionID=$executionID&browseType=$status¶m=0&orderBy=$orderBy&recTotal=0&recPerPage={$pager->recPerPage}") : 'javascript:removeCookieByKey("productBrowseParam")';
|
||||
echo '<i class="icon icon-cube"></i> ' . $product->name;
|
||||
echo html::a($removeLink, "<span class='close'><i class='icon icon-close'></i></span>", '', "class='text-muted'");
|
||||
}
|
||||
@@ -14,7 +14,7 @@
|
||||
{
|
||||
echo '<div class="label-angle with-close">';
|
||||
$module = $this->tree->getById($moduleID);
|
||||
$removeLink = $browseType == 'bymodule' ? inlink('task', "projectID=$projectID&browseType=$status¶m=0&orderBy=$orderBy&recTotal=0&recPerPage={$pager->recPerPage}") : 'javascript:removeCookieByKey("moduleBrowseParam")';
|
||||
$removeLink = $browseType == 'bymodule' ? inlink('task', "executionID=$executionID&browseType=$status¶m=0&orderBy=$orderBy&recTotal=0&recPerPage={$pager->recPerPage}") : 'javascript:removeCookieByKey("moduleBrowseParam")';
|
||||
echo $module->name;
|
||||
echo html::a($removeLink, "<span class='close'><i class='icon icon-close'></i></span>", '', "class='text-muted'");
|
||||
}
|
||||
@@ -26,60 +26,60 @@
|
||||
}
|
||||
echo "</div></li>";
|
||||
|
||||
foreach(customModel::getFeatureMenu('project', 'task') as $menuItem)
|
||||
foreach(customModel::getFeatureMenu('execution', 'task') as $menuItem)
|
||||
{
|
||||
if($project->type == 'ops' && $menuItem->name == 'needconfirm') continue;
|
||||
if($execution->type == 'ops' && $menuItem->name == 'needconfirm') continue;
|
||||
if(isset($menuItem->hidden)) continue;
|
||||
$menuType = $menuItem->name;
|
||||
if(strpos($menuType, 'QUERY') === 0)
|
||||
{
|
||||
$queryID = (int)substr($menuType, 5);
|
||||
echo "<li id='{$menuType}Tab'>" . html::a(inlink('task', "project=$projectID&type=bySearch¶m=$queryID"), $menuItem->text) . '</li>' ;
|
||||
echo "<li id='{$menuType}Tab'>" . html::a(inlink('task', "execution=$executionID&type=bySearch¶m=$queryID"), $menuItem->text) . '</li>' ;
|
||||
}
|
||||
elseif($menuType != 'status')
|
||||
{
|
||||
echo "<li id='{$menuType}Tab'>" . html::a(inlink('task', "project=$projectID&type=$menuType"), $menuItem->text) . '</li>' ;
|
||||
echo "<li id='{$menuType}Tab'>" . html::a(inlink('task', "execution=$executionID&type=$menuType"), $menuItem->text) . '</li>' ;
|
||||
}
|
||||
elseif($menuType == 'status')
|
||||
{
|
||||
echo "<li id='statusTab' class='dropdown'>";
|
||||
$taskBrowseType = isset($status) ? $this->session->taskBrowseType : '';
|
||||
$current = zget($lang->project->statusSelects, $taskBrowseType, '');
|
||||
$current = zget($lang->execution->statusSelects, $taskBrowseType, '');
|
||||
if(empty($current)) $current = $menuItem->text;
|
||||
echo html::a('javascript:;', $current . " <span class='caret'></span>", '', "data-toggle='dropdown'");
|
||||
echo "<ul class='dropdown-menu'>";
|
||||
foreach ($lang->project->statusSelects as $key => $value)
|
||||
foreach ($lang->execution->statusSelects as $key => $value)
|
||||
{
|
||||
if($key == '') continue;
|
||||
echo '<li' . ($key == $taskBrowseType ? " class='active'" : '') . '>';
|
||||
echo html::a($this->createLink('project', 'task', "project=$projectID&type=$key"), $value);
|
||||
echo html::a($this->createLink('execution', 'task', "execution=$executionID&type=$key"), $value);
|
||||
}
|
||||
echo '</ul></li>';
|
||||
}
|
||||
}
|
||||
|
||||
echo "<li id='kanbanTab'>"; common::printLink('project', 'kanban', "projectID=$projectID", $lang->project->kanban); echo '</li>';
|
||||
if($project->type == 'sprint' or $project->type == 'waterfall')
|
||||
echo "<li id='kanbanTab'>"; common::printLink('execution', 'kanban', "executionID=$executionID", $lang->execution->kanban); echo '</li>';
|
||||
if($execution->type == 'sprint' or $execution->type == 'waterfall')
|
||||
{
|
||||
echo "<li id='burnTab'>";
|
||||
common::printLink('project', 'burn', "project=$projectID", $lang->project->burn);
|
||||
common::printLink('execution', 'burn', "execution=$executionID", $lang->execution->burn);
|
||||
echo '</li>';
|
||||
}
|
||||
echo "<li id='treeTab'>"; common::printLink('project', 'tree', "projectID=$projectID", $lang->project->tree); echo '</li>';
|
||||
echo "<li id='treeTab'>"; common::printLink('execution', 'tree', "executionID=$executionID", $lang->execution->tree); echo '</li>';
|
||||
echo "<li id='groupTab' class='dropdown'>";
|
||||
$groupBy = isset($groupBy) ? $groupBy : '';
|
||||
$current = zget($lang->project->groups, isset($groupBy) ? $groupBy : '', '');
|
||||
$current = zget($lang->execution->groups, isset($groupBy) ? $groupBy : '', '');
|
||||
echo html::a('javascript:;', $current . " <span class='caret'></span>", '', "data-toggle='dropdown'");
|
||||
echo "<ul class='dropdown-menu'>";
|
||||
foreach ($lang->project->groups as $key => $value)
|
||||
foreach ($lang->execution->groups as $key => $value)
|
||||
{
|
||||
if($key == '') continue;
|
||||
if($project->type == 'ops' && $key == 'story') continue;
|
||||
if($execution->type == 'ops' && $key == 'story') continue;
|
||||
echo '<li' . ($key == $groupBy ? " class='active'" : '') . '>';
|
||||
common::printLink('project', 'groupTask', "project=$projectID&groupBy=$key", $value);
|
||||
common::printLink('execution', 'groupTask', "execution=$executionID&groupBy=$key", $value);
|
||||
}
|
||||
echo '</ul></li>';
|
||||
if($this->methodName === 'task') echo "<li id='bysearchTab'><a href='#'><i class='icon-search icon'></i> {$lang->project->byQuery}</a></li> ";
|
||||
if($this->methodName === 'task') echo "<li id='bysearchTab'><a href='#'><i class='icon-search icon'></i> {$lang->execution->byQuery}</a></li> ";
|
||||
?>
|
||||
</ul>
|
||||
<div class='actions'>
|
||||
@@ -87,7 +87,7 @@
|
||||
<?php
|
||||
if(!isset($browseType)) $browseType = '';
|
||||
if(!isset($orderBy)) $orderBy = '';
|
||||
common::printIcon('task', 'report', "project=$projectID&browseType=$browseType");
|
||||
common::printIcon('task', 'report', "execution=$executionID&browseType=$browseType");
|
||||
?>
|
||||
|
||||
<div class='btn-group'>
|
||||
@@ -98,7 +98,7 @@
|
||||
<ul class='dropdown-menu' id='exportActionMenu'>
|
||||
<?php
|
||||
$misc = common::hasPriv('task', 'export') ? "class='export'" : "class=disabled";
|
||||
$link = common::hasPriv('task', 'export') ? $this->createLink('task', 'export', "project=$projectID&orderBy=$orderBy&type=$browseType") : '#';
|
||||
$link = common::hasPriv('task', 'export') ? $this->createLink('task', 'export', "execution=$executionID&orderBy=$orderBy&type=$browseType") : '#';
|
||||
echo "<li>" . html::a($link, $lang->task->export, '', $misc) . "</li>";
|
||||
?>
|
||||
</ul>
|
||||
@@ -111,13 +111,13 @@
|
||||
</button>
|
||||
<ul class='dropdown-menu' id='importActionMenu'>
|
||||
<?php
|
||||
$misc = common::hasPriv('project', 'importTask') ? '' : "class=disabled";
|
||||
$link = common::hasPriv('project', 'importTask') ? $this->createLink('project', 'importTask', "project=$project->id") : '#';
|
||||
echo "<li>" . html::a($link, $lang->project->importTask, '', $misc) . "</li>";
|
||||
$misc = common::hasPriv('execution', 'importTask') ? '' : "class=disabled";
|
||||
$link = common::hasPriv('execution', 'importTask') ? $this->createLink('execution', 'importTask', "execution=$execution->id") : '#';
|
||||
echo "<li>" . html::a($link, $lang->execution->importTask, '', $misc) . "</li>";
|
||||
|
||||
$misc = common::hasPriv('project', 'importBug') ? '' : "class=disabled";
|
||||
$link = common::hasPriv('project', 'importBug') ? $this->createLink('project', 'importBug', "project=$project->id") : '#';
|
||||
echo "<li>" . html::a($link, $lang->project->importBug, '', $misc) . "</li>";
|
||||
$misc = common::hasPriv('execution', 'importBug') ? '' : "class=disabled";
|
||||
$link = common::hasPriv('execution', 'importBug') ? $this->createLink('execution', 'importBug', "execution=$execution->id") : '#';
|
||||
echo "<li>" . html::a($link, $lang->execution->importBug, '', $misc) . "</li>";
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -126,13 +126,13 @@
|
||||
<div class='btn-group' id='createActionMenu'>
|
||||
<?php
|
||||
$checkObject = new stdclass();
|
||||
$checkObject->project = $projectID;
|
||||
$checkObject->execution = $executionID;
|
||||
$misc = common::hasPriv('task', 'create', $checkObject) ? "class='btn btn-primary'" : "class='btn btn-primary disabled'";
|
||||
$link = common::hasPriv('task', 'create', $checkObject) ? $this->createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')) : '#';
|
||||
$link = common::hasPriv('task', 'create', $checkObject) ? $this->createLink('task', 'create', "execution=$executionID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')) : '#';
|
||||
echo html::a($link, "<i class='icon icon-plus'></i>" . $lang->task->create, '', $misc);
|
||||
|
||||
$misc = common::hasPriv('task', 'batchCreate', $checkObject) ? '' : "disabled";
|
||||
$link = common::hasPriv('task', 'batchCreate', $checkObject) ? $this->createLink('task', 'batchCreate', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')) : '#';
|
||||
$link = common::hasPriv('task', 'batchCreate', $checkObject) ? $this->createLink('task', 'batchCreate', "execution=$executionID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')) : '#';
|
||||
?>
|
||||
<button type='button' class='btn btn-primary dropdown-toggle <?php echo $misc?>' data-toggle='dropdown'><span class='caret'></span></button>
|
||||
<ul class='dropdown-menu pull-right'>
|
||||
|
||||
@@ -1,20 +1,20 @@
|
||||
<?php
|
||||
/**
|
||||
* The team view file of project module of ZenTaoPMS.
|
||||
* The team view file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: team.html.php 4143 2013-01-18 07:01:06Z wyd621@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
?>
|
||||
<?php include '../../common/view/header.html.php';?>
|
||||
<?php js::set('confirmUnlinkMember', $lang->project->confirmUnlinkMember)?>
|
||||
<?php js::set('confirmUnlinkMember', $lang->execution->confirmUnlinkMember)?>
|
||||
<div id='mainMenu' class='clearfix'>
|
||||
<div class='btn-toolbar pull-left'>
|
||||
<span class='btn btn-link btn-active-text'><span class='text'><?php echo $lang->project->team;?></span></span>
|
||||
<span class='btn btn-link btn-active-text'><span class='text'><?php echo $lang->execution->team;?></span></span>
|
||||
</div>
|
||||
<div class='btn-toolbar pull-right'>
|
||||
<?php
|
||||
@@ -22,12 +22,12 @@
|
||||
{
|
||||
if(commonModel::isTutorialMode())
|
||||
{
|
||||
$wizardParams = helper::safe64Encode("projectID=$project->id");
|
||||
echo html::a($this->createLink('tutorial', 'wizard', "module=project&method=manageMembers¶ms=$wizardParams"), "<i class='icon icon-persons'></i> " . $lang->project->manageMembers, '', "class='btn btn-primary manage-team-btn'");
|
||||
$wizardParams = helper::safe64Encode("executionID=$execution->id");
|
||||
echo html::a($this->createLink('tutorial', 'wizard', "module=execution&method=manageMembers¶ms=$wizardParams"), "<i class='icon icon-persons'></i> " . $lang->execution->manageMembers, '', "class='btn btn-primary manage-team-btn'");
|
||||
}
|
||||
else
|
||||
{
|
||||
if(!empty($app->user->admin) or empty($app->user->rights['rights']['my']['limited'])) common::printLink('project', 'manageMembers', "projectID=$project->id", "<i class='icon icon-persons'></i> " . $lang->project->manageMembers, '', "class='btn btn-primary manage-team-btn'");
|
||||
if(!empty($app->user->admin) or empty($app->user->rights['rights']['my']['limited'])) common::printLink('execution', 'manageMembers', "executionID=$execution->id", "<i class='icon icon-persons'></i> " . $lang->execution->manageMembers, '', "class='btn btn-primary manage-team-btn'");
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -37,9 +37,9 @@
|
||||
<?php if(empty($teamMembers)):?>
|
||||
<div class="table-empty-tip">
|
||||
<p>
|
||||
<span class="text-muted"><?php echo $lang->project->noMembers;?></span>
|
||||
<?php if((!empty($app->user->admin) or empty($app->user->rights['rights']['my']['limited'])) && common::hasPriv('project', 'manageMembers')):?>
|
||||
<?php echo html::a($this->createLink('project', 'manageMembers', "projectID=$project->id"), "<i class='icon icon-persons'></i> " . $lang->project->manageMembers, '', "class='btn btn-info'");?>
|
||||
<span class="text-muted"><?php echo $lang->execution->noMembers;?></span>
|
||||
<?php if((!empty($app->user->admin) or empty($app->user->rights['rights']['my']['limited'])) && common::hasPriv('execution', 'manageMembers')):?>
|
||||
<?php echo html::a($this->createLink('execution', 'manageMembers', "executionID=$execution->id"), "<i class='icon icon-persons'></i> " . $lang->execution->manageMembers, '', "class='btn btn-info'");?>
|
||||
<?php endif;?>
|
||||
</p>
|
||||
</div>
|
||||
@@ -73,17 +73,17 @@
|
||||
</td>
|
||||
<td title='<?php echo $member->role;?>'><?php echo $member->role;?></td>
|
||||
<td><?php echo $member->join;?></td>
|
||||
<td><?php echo $member->days . $lang->project->day;?></td>
|
||||
<td><?php echo $member->hours . $lang->project->workHour;?></td>
|
||||
<td><?php echo $memberHours . $lang->project->workHour;?></td>
|
||||
<td><?php echo $member->days . $lang->execution->day;?></td>
|
||||
<td><?php echo $member->hours . $lang->execution->workHour;?></td>
|
||||
<td><?php echo $memberHours . $lang->execution->workHour;?></td>
|
||||
<td class="text-center"><?php echo $lang->team->limitedList[$member->limited];?></td>
|
||||
<?php if($canBeChanged):?>
|
||||
<td class='c-actions text-center'>
|
||||
<?php
|
||||
if (common::hasPriv('project', 'unlinkMember', $member))
|
||||
if (common::hasPriv('execution', 'unlinkMember', $member))
|
||||
{
|
||||
$unlinkURL = $this->createLink('project', 'unlinkMember', "projectID=$project->id&userID=$member->userID&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$unlinkURL\", \"mainContent\", confirmUnlinkMember)", '<i class="icon-green-project-unlinkMember icon-unlink"></i>', '', "class='btn' title='{$lang->project->unlinkMember}'");
|
||||
$unlinkURL = $this->createLink('execution', 'unlinkMember', "executionID=$execution->id&userID=$member->userID&confirm=yes");
|
||||
echo html::a("javascript:ajaxDelete(\"$unlinkURL\", \"mainContent\", confirmUnlinkMember)", '<i class="icon-green-execution-unlinkMember icon-unlink"></i>', '', "class='btn' title='{$lang->execution->unlinkMember}'");
|
||||
}
|
||||
?>
|
||||
</td>
|
||||
@@ -93,7 +93,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
<div class='table-footer'>
|
||||
<div class='table-statistic'><?php echo $lang->team->totalHours . ':' . "<strong>$totalHours{$lang->project->workHour}</strong>";?></div>
|
||||
<div class='table-statistic'><?php echo $lang->team->totalHours . ':' . "<strong>$totalHours{$lang->execution->workHour}</strong>";?></div>
|
||||
</div>
|
||||
</form>
|
||||
<?php endif;?>
|
||||
|
||||
@@ -28,9 +28,9 @@
|
||||
</a>
|
||||
</div>
|
||||
<div class="btn-toolbar pull-right">
|
||||
<?php if(common::canModify('project', $project)):?>
|
||||
<?php common::printIcon('testreport', 'browse', "objectID=$projectID&objectType=project", '', 'button','flag muted');?>
|
||||
<?php common::printLink('testtask', 'create', "product=0&project=$projectID", "<i class='icon icon-plus'></i> " . $lang->testtask->create, '', "class='btn btn-primary'");?>
|
||||
<?php if(common::canModify('execution', $execution)):?>
|
||||
<?php common::printIcon('testreport', 'browse', "objectID=$executionID&objectType=execution", '', 'button','flag muted');?>
|
||||
<?php common::printLink('testtask', 'create', "product=0&execution=$executionID", "<i class='icon icon-plus'></i> " . $lang->testtask->create, '', "class='btn btn-primary'");?>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -39,8 +39,8 @@
|
||||
<div class="table-empty-tip">
|
||||
<p>
|
||||
<span class="text-muted"><?php echo $lang->testtask->noTesttask;?></span>
|
||||
<?php if(common::canModify('project', $project) and common::hasPriv('testtask', 'create')):?>
|
||||
<?php echo html::a($this->createLink('testtask', 'create', "product=0&project=$projectID"), "<i class='icon icon-plus'></i> " . $lang->testtask->create, '', "class='btn btn-info'");?>
|
||||
<?php if(common::canModify('execution', $execution) and common::hasPriv('testtask', 'create')):?>
|
||||
<?php echo html::a($this->createLink('testtask', 'create', "product=0&execution=$executionID"), "<i class='icon icon-plus'></i> " . $lang->testtask->create, '', "class='btn btn-info'");?>
|
||||
<?php endif;?>
|
||||
</p>
|
||||
</div>
|
||||
@@ -48,7 +48,7 @@
|
||||
<form class="main-table table-testtask" data-ride="table" data-group="true" method="post" target='hiddenwin' id='testtaskForm'>
|
||||
<table class="table table-grouped has-sort-head" id='taskList'>
|
||||
<thead>
|
||||
<?php $vars = "projectID=$projectID&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}";?>
|
||||
<?php $vars = "executionID=$executionID&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}&pageID={$pager->pageID}";?>
|
||||
<?php $canTestReport = ($canBeChanged and common::hasPriv('testreport', 'browse'));?>
|
||||
<tr class='<?php if($total) echo 'divider'; ?>'>
|
||||
<th class='c-side text-center'><?php common::printOrderLink('product', $orderBy, $vars, $lang->testtask->product);?></th>
|
||||
@@ -132,7 +132,7 @@
|
||||
<div class="checkbox-primary check-all"><label><?php echo $lang->selectAll?></label></div>
|
||||
<div class="table-actions btn-toolbar">
|
||||
<?php
|
||||
$actionLink = $this->createLink('testreport', 'browse', "objectID=$projectID&objctType=project");
|
||||
$actionLink = $this->createLink('testreport', 'browse', "objectID=$executionID&objctType=execution");
|
||||
$misc = common::hasPriv('testreport', 'browse') ? "onclick=\"setFormAction('$actionLink', '', '#testtaskForm')\"" : "disabled='disabled'";
|
||||
echo html::commonButton($lang->testreport->common, $misc);
|
||||
?>
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
<div style='margin: 0 auto; max-width: 400px'>
|
||||
<p><strong><?php echo $lang->project->afterInfo;?></strong></p>
|
||||
<p><strong><?php echo $lang->execution->afterInfo;?></strong></p>
|
||||
<div>
|
||||
<?php echo html::a($this->createLink('project', 'team', "projectID=$projectID"), $lang->project->setTeam, '', "class='btn'");?>
|
||||
<?php if($project->type != 'ops') echo html::a($this->createLink('project', 'linkstory', "projectID=$projectID"), $lang->project->linkStory, '', "class='btn'");?>
|
||||
<?php echo html::a($this->createLink('task', 'create', "project=$projectID"), $lang->project->createTask, '', "class='btn'");?>
|
||||
<?php echo html::a($this->createLink('project', 'task', "projectID=$projectID"), $lang->project->goback, '', "class='btn'");?>
|
||||
<?php echo html::a($this->createLink('execution', 'team', "executionID=$executionID"), $lang->execution->setTeam, '', "class='btn'");?>
|
||||
<?php if($execution->type != 'ops') echo html::a($this->createLink('execution', 'linkstory', "executionID=$executionID"), $lang->execution->linkStory, '', "class='btn'");?>
|
||||
<?php echo html::a($this->createLink('task', 'create', "execution=$executionID"), $lang->execution->createTask, '', "class='btn'");?>
|
||||
<?php echo html::a($this->createLink('execution', 'task', "executionID=$executionID"), $lang->execution->goback, '', "class='btn'");?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* The project tree view file of project module of ZenTaoPMS.
|
||||
* The execution tree view file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Hao Sun <sunhao@cnezsoft.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: tree.html.php 4894 2013-06-25 01:28:39Z wyd621@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
@@ -15,7 +15,7 @@
|
||||
<div id="mainMenu" class="clearfix">
|
||||
<div class="btn-toolbar pull-left">
|
||||
<?php
|
||||
foreach($lang->project->treeLevel as $name => $btnLevel)
|
||||
foreach($lang->execution->treeLevel as $name => $btnLevel)
|
||||
{
|
||||
if(empty($tree) && ($name == 'root' or $name == 'all')) continue;
|
||||
$icon = '';
|
||||
@@ -29,34 +29,34 @@
|
||||
<?php
|
||||
if(!isset($browseType)) $browseType = '';
|
||||
if(!isset($orderBy)) $orderBy = '';
|
||||
$link = common::hasPriv('task', 'report', $project) ? $this->createLink('task', 'report', "project=$projectID&browseType=$browseType") : '#';
|
||||
$link = common::hasPriv('task', 'report', $execution) ? $this->createLink('task', 'report', "execution=$executionID&browseType=$browseType") : '#';
|
||||
echo html::a($link, "<i class='icon icon-bar-chart muted'></i> <span class='text'>{$lang->task->reportChart}</span>", '', 'class="btn btn-link"');
|
||||
?>
|
||||
<?php if(common::canModify('project', $project)):?>
|
||||
<?php if(common::canModify('execution', $execution)):?>
|
||||
<div class="btn-group">
|
||||
<button class="btn btn-link" data-toggle="dropdown"><i class="icon icon-import muted"></i> <span class="text"><?php echo $lang->import ?></span> <span class="caret"></span></button>
|
||||
<ul class="dropdown-menu">
|
||||
<?php
|
||||
$misc = common::hasPriv('project', 'importTask') ? '' : "class=disabled";
|
||||
$link = common::hasPriv('project', 'importTask') ? $this->createLink('project', 'importTask', "project=$project->id") : '#';
|
||||
echo "<li $misc>" . html::a($link, $lang->project->importTask, '', $misc) . "</li>";
|
||||
$misc = common::hasPriv('execution', 'importTask') ? '' : "class=disabled";
|
||||
$link = common::hasPriv('execution', 'importTask') ? $this->createLink('execution', 'importTask', "execution=$execution->id") : '#';
|
||||
echo "<li $misc>" . html::a($link, $lang->execution->importTask, '', $misc) . "</li>";
|
||||
|
||||
$misc = common::hasPriv('project', 'importBug') ? '' : "class=disabled";
|
||||
$link = common::hasPriv('project', 'importBug') ? $this->createLink('project', 'importBug', "project=$project->id") : '#';
|
||||
echo "<li $misc>" . html::a($link, $lang->project->importBug, '', $misc) . "</li>";
|
||||
$misc = common::hasPriv('execution', 'importBug') ? '' : "class=disabled";
|
||||
$link = common::hasPriv('execution', 'importBug') ? $this->createLink('execution', 'importBug', "execution=$execution->id") : '#';
|
||||
echo "<li $misc>" . html::a($link, $lang->execution->importBug, '', $misc) . "</li>";
|
||||
?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
<?php
|
||||
$misc = "class='btn btn-link iframe" . (common::hasPriv('task', 'export', $project) ? '' : ' disabled') . "' data-width='700'";
|
||||
$link = common::hasPriv('task', 'export') ? $this->createLink('task', 'export', "project=$projectID&orderBy=$orderBy&type=tree") : '#';
|
||||
$misc = "class='btn btn-link iframe" . (common::hasPriv('task', 'export', $execution) ? '' : ' disabled') . "' data-width='700'";
|
||||
$link = common::hasPriv('task', 'export') ? $this->createLink('task', 'export', "execution=$executionID&orderBy=$orderBy&type=tree") : '#';
|
||||
echo html::a($link, "<i class='icon icon-export muted'></i> <span class='text'>{$lang->export}</span>", '', $misc);
|
||||
|
||||
$checkObject = new stdclass();
|
||||
$checkObject->project = $projectID;
|
||||
$checkObject->execution = $executionID;
|
||||
$misc = common::hasPriv('task', 'create', $checkObject) ? "class='btn btn-primary'" : "class='btn btn-primary disabled'";
|
||||
$link = common::hasPriv('task', 'create', $checkObject) ? $this->createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')) : '#';
|
||||
$link = common::hasPriv('task', 'create', $checkObject) ? $this->createLink('task', 'create', "execution=$executionID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')) : '#';
|
||||
echo html::a($link, "<i class='icon icon-plus'></i>" . $lang->task->create, '', $misc);
|
||||
?>
|
||||
</div>
|
||||
@@ -68,7 +68,7 @@
|
||||
<p>
|
||||
<span class="text-muted"><?php echo $lang->task->noTask;?></span>
|
||||
<?php if(common::hasPriv('task', 'create', $checkObject)):?>
|
||||
<?php echo html::a($this->createLink('task', 'create', "project=$projectID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')), "<i class='icon icon-plus'></i> " . $lang->task->create, '', "class='btn btn-info'");?>
|
||||
<?php echo html::a($this->createLink('task', 'create', "execution=$executionID" . (isset($moduleID) ? "&storyID=&moduleID=$moduleID" : '')), "<i class='icon icon-plus'></i> " . $lang->task->create, '', "class='btn btn-info'");?>
|
||||
<?php endif;?>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -170,21 +170,21 @@
|
||||
<div class="detail-content">
|
||||
<ul class="list-unstyled">
|
||||
<?php
|
||||
foreach($story->tasks as $projectTasks)
|
||||
foreach($story->tasks as $executionTasks)
|
||||
{
|
||||
foreach($projectTasks as $task)
|
||||
foreach($executionTasks as $task)
|
||||
{
|
||||
if(!isset($projects[$task->project])) continue;
|
||||
$projectName = $projects[$task->project];
|
||||
if(!isset($executions[$task->execution])) continue;
|
||||
$executionName = $executions[$task->execution];
|
||||
echo "<li title='$task->name'>" . html::a($this->createLink('task', 'view', "taskID=$task->id", '', true), "#$task->id $task->name", '', "class='iframe' data-width='80%'");
|
||||
echo html::a($this->createLink('project', 'browse', "projectID=$task->project"), $projectName, '', "class='text-muted'") . '</li>';
|
||||
echo html::a($this->createLink('execution', 'browse', "executionID=$task->execution"), $executionName, '', "class='text-muted'") . '</li>';
|
||||
}
|
||||
}
|
||||
if(count($story->tasks) == 0)
|
||||
{
|
||||
foreach($story->projects as $projectID => $project)
|
||||
foreach($story->executions as $executionID => $execution)
|
||||
{
|
||||
echo "<li title='$project->name'>" . html::a($this->createLink('project', 'browse', "projectID=$projectID"), $project->name, '', "class='text-muted'") . '</li>';
|
||||
echo "<li title='$execution->name'>" . html::a($this->createLink('execution', 'browse', "executionID=$executionID"), $execution->name, '', "class='text-muted'") . '</li>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
common::printIcon('task', 'edit', "taskID=$task->id", $task, 'list', '', '', 'btn btn-info btn-icon');
|
||||
if(empty($task->team) or empty($task->children))
|
||||
{
|
||||
common::printIcon('task', 'batchCreate', "project=$task->project&storyID=$task->story&moduleID=$task->module&taskID=$task->id&ifame=0", $task, 'list', 'plus', '', 'btn btn-info btn-icon', '', '', $lang->task->children);
|
||||
common::printIcon('task', 'batchCreate', "execution=$task->execution&storyID=$task->story&moduleID=$task->module&taskID=$task->id&ifame=0", $task, 'list', 'plus', '', 'btn btn-info btn-icon', '', '', $lang->task->children);
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
@@ -44,7 +44,7 @@
|
||||
<?php echo !empty($task->desc) ? $task->desc : "<div class='text-center text-muted'>" . $lang->noData . '</div>';?>
|
||||
</div>
|
||||
</div>
|
||||
<?php if($project->type != 'ops'):?>
|
||||
<?php if($execution->type != 'ops'):?>
|
||||
<?php if($task->fromBug != 0):?>
|
||||
<div class="detail" open>
|
||||
<div class="detail-title"><?php echo $lang->bug->steps;?></div>
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
<?php
|
||||
/**
|
||||
* The view method view file of project module of ZenTaoPMS.
|
||||
* The view method view file of execution module of ZenTaoPMS.
|
||||
*
|
||||
* @copyright Copyright 2009-2015 青岛易软天创网络科技有限公司(QingDao Nature Easy Soft Network Technology Co,LTD, www.cnezsoft.com)
|
||||
* @license ZPL (http://zpl.pub/page/zplv12.html)
|
||||
* @author Chunsheng Wang <chunsheng@cnezsoft.com>
|
||||
* @package project
|
||||
* @package execution
|
||||
* @version $Id: view.html.php 4594 2013-03-13 06:16:02Z wyd621@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
@@ -19,21 +19,21 @@
|
||||
<div class="col-sm-6">
|
||||
<div class="panel block-burn" style="height: 280px">
|
||||
<div class="panel-heading">
|
||||
<div class="panel-title"><?php echo $execution->name . $lang->project->burn;?></div>
|
||||
<div class="panel-title"><?php echo $execution->name . $lang->execution->burn;?></div>
|
||||
<nav class="panel-actions nav nav-default">
|
||||
<li><?php common::printLink('project', 'burn', "projectID=$execution->id", '<i class="icon icon-more icon-sm"></i>', '', "title=$lang->more");?></li>
|
||||
<li><?php common::printLink('execution', 'burn', "executionID=$execution->id", '<i class="icon icon-more icon-sm"></i>', '', "title=$lang->more");?></li>
|
||||
</nav>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
<?php if(common::hasPriv('project', 'burn')):?>
|
||||
<?php if(common::hasPriv('execution', 'burn')):?>
|
||||
<div id="burnWrapper">
|
||||
<div id="burnChart">
|
||||
<canvas id="burnCanvas"></canvas>
|
||||
</div>
|
||||
<div id="burnYUnit">(<?php echo $lang->project->workHour;?>)</div>
|
||||
<div id="burnYUnit">(<?php echo $lang->execution->workHour;?>)</div>
|
||||
<div id="burnLegend">
|
||||
<div class="line-ref"><?php echo $lang->project->charts->burn->graph->reference;?></div>
|
||||
<div class="line-real"><?php echo $lang->project->charts->burn->graph->actuality;?></div>
|
||||
<div class="line-ref"><?php echo $lang->execution->charts->burn->graph->reference;?></div>
|
||||
<div class="line-real"><?php echo $lang->execution->charts->burn->graph->actuality;?></div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
@@ -43,9 +43,9 @@
|
||||
<div class="col-sm-6">
|
||||
<div class="panel block-dynamic" style="height: 280px">
|
||||
<div class="panel-heading">
|
||||
<div class="panel-title"><?php echo $lang->project->latestDynamic;?></div>
|
||||
<div class="panel-title"><?php echo $lang->execution->latestDynamic;?></div>
|
||||
<nav class="panel-actions nav nav-default">
|
||||
<li><?php common::printLink('project', 'dynamic', "projectID=$execution->id&type=all", '<i class="icon icon-more icon-sm"></i>', '', "title=$lang->more");?></li>
|
||||
<li><?php common::printLink('execution', 'dynamic', "executionID=$execution->id&type=all", '<i class="icon icon-more icon-sm"></i>', '', "title=$lang->more");?></li>
|
||||
</nav>
|
||||
</div>
|
||||
<div class="panel-body scrollbar-hover">
|
||||
@@ -65,9 +65,9 @@
|
||||
<div class="col-sm-6">
|
||||
<div class="panel block-team" style="height: 240px">
|
||||
<div class="panel-heading">
|
||||
<div class="panel-title"><?php echo $lang->project->relatedMember;?></div>
|
||||
<div class="panel-title"><?php echo $lang->execution->relatedMember;?></div>
|
||||
<nav class="panel-actions nav nav-default">
|
||||
<li><?php common::printLink('project', 'team', "projectID=$execution->id", '<i class="icon icon-more icon-sm"></i>', '', "title=$lang->more");?></li>
|
||||
<li><?php common::printLink('execution', 'team', "executionID=$execution->id", '<i class="icon icon-more icon-sm"></i>', '', "title=$lang->more");?></li>
|
||||
</nav>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
@@ -76,32 +76,32 @@
|
||||
<?php if($execution->PM):?>
|
||||
<?php $i--;?>
|
||||
<?php unset($teamMembers[$execution->PM]);?>
|
||||
<div class="col-xs-6"><i class="icon icon-person icon-sm text-muted"></i> <?php echo zget($users, $execution->PM);?> <span class="text-muted">(<?php echo $lang->project->PM;?>)</span></div>
|
||||
<div class="col-xs-6"><i class="icon icon-person icon-sm text-muted"></i> <?php echo zget($users, $execution->PM);?> <span class="text-muted">(<?php echo $lang->execution->PM;?>)</span></div>
|
||||
<?php endif;?>
|
||||
<?php if($execution->PO):?>
|
||||
<?php $i--;?>
|
||||
<?php unset($teamMembers[$execution->PO]);?>
|
||||
<div class="col-xs-6"><i class="icon icon-person icon-sm text-muted"></i> <?php echo zget($users, $execution->PO);?> <span class="text-muted">(<?php echo $lang->project->PO;?>)</span></div>
|
||||
<div class="col-xs-6"><i class="icon icon-person icon-sm text-muted"></i> <?php echo zget($users, $execution->PO);?> <span class="text-muted">(<?php echo $lang->execution->PO;?>)</span></div>
|
||||
<?php endif;?>
|
||||
<?php if($execution->QD):?>
|
||||
<?php $i--;?>
|
||||
<?php unset($teamMembers[$execution->QD]);?>
|
||||
<div class="col-xs-6"><i class="icon icon-person icon-sm text-muted"></i> <?php echo zget($users, $execution->QD);?> <span class="text-muted">(<?php echo $lang->project->QD;?>)</span></div>
|
||||
<div class="col-xs-6"><i class="icon icon-person icon-sm text-muted"></i> <?php echo zget($users, $execution->QD);?> <span class="text-muted">(<?php echo $lang->execution->QD;?>)</span></div>
|
||||
<?php endif;?>
|
||||
<?php if($execution->RD):?>
|
||||
<?php $i--;?>
|
||||
<?php unset($teamMembers[$execution->RD]);?>
|
||||
<div class="col-xs-6"><i class="icon icon-person icon-sm text-muted"></i> <?php echo zget($users, $execution->RD);?> <span class="text-muted">(<?php echo $lang->project->RD;?>)</span></div>
|
||||
<div class="col-xs-6"><i class="icon icon-person icon-sm text-muted"></i> <?php echo zget($users, $execution->RD);?> <span class="text-muted">(<?php echo $lang->execution->RD;?>)</span></div>
|
||||
<?php endif;?>
|
||||
|
||||
<?php if(common::hasPriv('project', 'team')):?>
|
||||
<?php if(common::hasPriv('execution', 'team')):?>
|
||||
<?php foreach($teamMembers as $teamMember):?>
|
||||
<?php if($j > $i) break;?>
|
||||
<div class="col-xs-6"><i class="icon icon-person icon-sm text-muted"></i> <?php echo zget($users, $teamMember->account);?></div>
|
||||
<?php $j++;?>
|
||||
<?php endforeach;?>
|
||||
<div class="col-xs-6">
|
||||
<?php if($canBeChanged) common::printLink('project', 'manageMembers', "projectID=$execution->id", "<i class='icon icon-plus hl-primary text-primary'></i> " . $lang->project->manageMembers, '', "class='text-muted'");?>
|
||||
<?php if($canBeChanged) common::printLink('execution', 'manageMembers', "executionID=$execution->id", "<i class='icon icon-plus hl-primary text-primary'></i> " . $lang->execution->manageMembers, '', "class='text-muted'");?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
@@ -111,9 +111,9 @@
|
||||
<div class="col-sm-6">
|
||||
<div class="panel block-docs" style="height: 240px">
|
||||
<div class="panel-heading">
|
||||
<div class="panel-title"><?php echo $lang->project->doclib;?></div>
|
||||
<div class="panel-title"><?php echo $lang->execution->doclib;?></div>
|
||||
<nav class="panel-actions nav nav-default">
|
||||
<li><?php common::printLink('doc', 'objectLibs', "type=project&projectID=$execution->id&from=project", '<i class="icon icon-more icon-sm"></i>', '', "title=$lang->more");?></li>
|
||||
<li><?php common::printLink('doc', 'objectLibs', "type=execution&executionID=$execution->id&from=execution", '<i class="icon icon-more icon-sm"></i>', '', "title=$lang->more");?></li>
|
||||
</nav>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
@@ -124,15 +124,15 @@
|
||||
<?php if($i > 8) break;?>
|
||||
<div class="col-xs-6">
|
||||
<?php if($libID == 'files'):?>
|
||||
<?php echo html::a($this->createLink('doc', 'showFiles', "type=project&objectID=$execution->id"), "<i class='icon icon-folder text-yellow'></i> " . $docLib->name);?>
|
||||
<?php echo html::a($this->createLink('doc', 'showFiles', "type=execution&objectID=$execution->id"), "<i class='icon icon-folder text-yellow'></i> " . $docLib->name);?>
|
||||
<?php else:?>
|
||||
<?php echo html::a($this->createLink('doc', 'browse', "libID=$libID&browseType=all¶m=0&orderBy=id_desc&from=project"), "<i class='icon icon-folder text-yellow'></i> " . $docLib->name);?>
|
||||
<?php echo html::a($this->createLink('doc', 'browse', "libID=$libID&browseType=all¶m=0&orderBy=id_desc&from=execution"), "<i class='icon icon-folder text-yellow'></i> " . $docLib->name);?>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
<?php $i++;?>
|
||||
<?php endforeach;?>
|
||||
<div class="col-xs-6">
|
||||
<?php if($canBeChanged) common::printLink('doc', 'createLib', "type=project&objectID=$execution->id", "<i class='icon icon-plus hl-primary text-primary'></i> " . $lang->doc->createlib, '', "class='text-muted iframe' data-width='1000px'");?>
|
||||
<?php if($canBeChanged) common::printLink('doc', 'createLib', "type=execution&objectID=$execution->id", "<i class='icon icon-plus hl-primary text-primary'></i> " . $lang->doc->createlib, '', "class='text-muted iframe' data-width='1000px'");?>
|
||||
</div>
|
||||
<?php endif;?>
|
||||
</div>
|
||||
@@ -149,23 +149,23 @@
|
||||
<div class='main-actions'>
|
||||
<div class="btn-toolbar">
|
||||
<?php
|
||||
$params = "project=$execution->id";
|
||||
$browseLink = $this->session->projectList ? $this->session->projectList : inlink('browse', "projectID=$execution->id");
|
||||
$params = "execution=$execution->id";
|
||||
$browseLink = $this->session->executionList ? $this->session->executionList : inlink('browse', "executionID=$execution->id");
|
||||
common::printBack($browseLink);
|
||||
if(!$execution->deleted)
|
||||
{
|
||||
echo "<div class='divider'></div>";
|
||||
common::printIcon('project', 'start', "projectID=$execution->id", $execution, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('project', 'activate', "projectID=$execution->id", $execution, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('project', 'putoff', "projectID=$execution->id", $execution, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('project', 'suspend', "projectID=$execution->id", $execution, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('project', 'close', "projectID=$execution->id", $execution, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('execution', 'start', "executionID=$execution->id", $execution, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('execution', 'activate', "executionID=$execution->id", $execution, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('execution', 'putoff', "executionID=$execution->id", $execution, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('execution', 'suspend', "executionID=$execution->id", $execution, 'button', '', '', 'iframe', true);
|
||||
common::printIcon('execution', 'close', "executionID=$execution->id", $execution, 'button', '', '', 'iframe', true);
|
||||
|
||||
echo $this->buildOperateMenu($execution, 'view');
|
||||
|
||||
echo "<div class='divider'></div>";
|
||||
common::printIcon('project', 'edit', $params, $execution);
|
||||
common::printIcon('project', 'delete', $params, $execution, 'button', 'trash', 'hiddenwin');
|
||||
common::printIcon('execution', 'edit', $params, $execution);
|
||||
common::printIcon('execution', 'delete', $params, $execution, 'button', 'trash', 'hiddenwin');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
@@ -181,21 +181,21 @@
|
||||
<p><span class="text-limit" data-limit-size="40"><?php echo $execution->desc;?></span><a class="text-primary text-limit-toggle small" data-text-expand="<?php echo $lang->expand;?>" data-text-collapse="<?php echo $lang->collapse;?>"></a></p>
|
||||
<p>
|
||||
<?php if($execution->deleted):?>
|
||||
<span class='label label-danger label-outline'><?php echo $lang->project->deleted;?></span>
|
||||
<span class='label label-danger label-outline'><?php echo $lang->execution->deleted;?></span>
|
||||
<?php endif; ?>
|
||||
<span class="label label-primary label-outline"><?php echo zget($lang->program->PRJLifeTimeList, $execution->lifetime);?></span>
|
||||
<?php if(isset($execution->delay)):?>
|
||||
<span class="label label-danger label-outline"><?php echo $lang->project->delayed;?></span>
|
||||
<span class="label label-danger label-outline"><?php echo $lang->execution->delayed;?></span>
|
||||
<?php else:?>
|
||||
<span class="label label-success label-outline"><?php echo $this->processStatus('project', $execution);?></span>
|
||||
<span class="label label-success label-outline"><?php echo $this->processStatus('execution', $execution);?></span>
|
||||
<?php endif;?>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail">
|
||||
<div class="detail-title">
|
||||
<strong><?php echo $lang->project->manageProducts;?></strong>
|
||||
<?php common::printLink('project', 'manageproducts', "projectID=$execution->id", '<i class="icon icon-more icon-sm"></i>', '', "class='btn btn-link pull-right muted'");?>
|
||||
<strong><?php echo $lang->execution->manageProducts;?></strong>
|
||||
<?php common::printLink('execution', 'manageproducts', "executionID=$execution->id", '<i class="icon icon-more icon-sm"></i>', '', "class='btn btn-link pull-right muted'");?>
|
||||
</div>
|
||||
<div class="detail-content">
|
||||
<div class="row row-grid">
|
||||
@@ -209,7 +209,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail">
|
||||
<div class="detail-title"><strong><?php echo $lang->project->linkPlan;?></strong></div>
|
||||
<div class="detail-title"><strong><?php echo $lang->execution->linkPlan;?></strong></div>
|
||||
<div class="detail-content">
|
||||
<div class="row row-grid">
|
||||
<?php foreach($products as $productID => $product):?>
|
||||
@@ -221,7 +221,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class='detail'>
|
||||
<div class='detail-title'><strong><?php echo $lang->project->lblStats;?></strong></div>
|
||||
<div class='detail-title'><strong><?php echo $lang->execution->lblStats;?></strong></div>
|
||||
<div class="detail-content">
|
||||
<table class='table table-data data-stats'>
|
||||
<tbody>
|
||||
@@ -229,40 +229,40 @@
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<?php $progress = ($execution->totalConsumed + $execution->totalLeft) ? floor($execution->totalConsumed / ($execution->totalConsumed + $execution->totalLeft) * 1000) / 1000 * 100 : 0;?>
|
||||
<?php echo $lang->project->progress;?> <em><?php echo $progress . $lang->percent;?></em>
|
||||
<?php echo $lang->execution->progress;?> <em><?php echo $progress . $lang->percent;?></em>
|
||||
<div class="progress inline-block">
|
||||
<div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="<?php echo $progress;?>" aria-valuemin="0" aria-valuemax="100" style="width: <?php echo $progress . $lang->percent;?>"></div>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->project->begin;?></th>
|
||||
<th><?php echo $lang->execution->begin;?></th>
|
||||
<td><?php echo $execution->begin;?></td>
|
||||
<th><?php echo $lang->project->totalEstimate;?></th>
|
||||
<td><em><?php echo (float)$execution->totalEstimate . $lang->project->workHour;?></em></td>
|
||||
<th><?php echo $lang->execution->totalEstimate;?></th>
|
||||
<td><em><?php echo (float)$execution->totalEstimate . $lang->execution->workHour;?></em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->project->end;?></th>
|
||||
<th><?php echo $lang->execution->end;?></th>
|
||||
<td><?php echo $execution->end;?></td>
|
||||
<th><?php echo $lang->project->totalConsumed;?></th>
|
||||
<td><em><?php echo (float)$execution->totalConsumed . $lang->project->workHour;?></em></td>
|
||||
<th><?php echo $lang->execution->totalConsumed;?></th>
|
||||
<td><em><?php echo (float)$execution->totalConsumed . $lang->execution->workHour;?></em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->project->totalDays;?></th>
|
||||
<th><?php echo $lang->execution->totalDays;?></th>
|
||||
<td><?php echo $execution->days;?></td>
|
||||
<th><?php echo $lang->project->totalLeft;?></th>
|
||||
<td><em><?php echo (float)$execution->totalLeft . $lang->project->workHour;?></em></td>
|
||||
<th><?php echo $lang->execution->totalLeft;?></th>
|
||||
<td><em><?php echo (float)$execution->totalLeft . $lang->execution->workHour;?></em></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><?php echo $lang->project->totalHours;?></th>
|
||||
<td><em><?php echo (float)$execution->totalHours . $lang->project->workHour;?></em></td>
|
||||
<th><?php echo $lang->execution->totalHours;?></th>
|
||||
<td><em><?php echo (float)$execution->totalHours . $lang->execution->workHour;?></em></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail">
|
||||
<div class="detail-title"><strong><?php echo $lang->project->basicInfo;?></strong></div>
|
||||
<div class="detail-title"><strong><?php echo $lang->execution->basicInfo;?></strong></div>
|
||||
<div class="detail-content">
|
||||
<table class="table table-data data-basic">
|
||||
<tbody>
|
||||
@@ -279,9 +279,9 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="detail">
|
||||
<div class="detail-title"><strong><?php echo $lang->project->acl;?></strong></div>
|
||||
<div class="detail-title"><strong><?php echo $lang->execution->acl;?></strong></div>
|
||||
<div class="detail-content">
|
||||
<p><?php echo $lang->project->aclList[$execution->acl];?></p>
|
||||
<p><?php echo $lang->execution->aclList[$execution->acl];?></p>
|
||||
</div>
|
||||
</div>
|
||||
<?php $this->printExtendFields($execution, 'div', "position=right&inForm=0&inCell=1");?>
|
||||
@@ -302,7 +302,7 @@ $(function()
|
||||
labels: <?php echo json_encode($chartData['labels'])?>,
|
||||
datasets: [
|
||||
{
|
||||
label: "<?php echo $lang->project->charts->burn->graph->reference;?>",
|
||||
label: "<?php echo $lang->execution->charts->burn->graph->reference;?>",
|
||||
color: "#F1F1F1",
|
||||
pointColor: '#D8D8D8',
|
||||
pointStrokeColor: '#D8D8D8',
|
||||
@@ -312,7 +312,7 @@ $(function()
|
||||
data: <?php echo $chartData['baseLine']?>
|
||||
},
|
||||
{
|
||||
label: "<?php echo $lang->project->charts->burn->graph->actuality;?>",
|
||||
label: "<?php echo $lang->execution->charts->burn->graph->actuality;?>",
|
||||
color: "#006AF1",
|
||||
pointStrokeColor: '#006AF1',
|
||||
pointHighlightStroke: '#006AF1',
|
||||
@@ -336,7 +336,7 @@ $(function()
|
||||
scaleFontColor: '#838A9D',
|
||||
tooltipXPadding: 10,
|
||||
tooltipYPadding: 10,
|
||||
multiTooltipTitleTemplate: '<%= label %> <?php echo $lang->project->workHour;?> /h',
|
||||
multiTooltipTitleTemplate: '<%= label %> <?php echo $lang->execution->workHour;?> /h',
|
||||
multiTooltipTemplate: "<%if (datasetLabel){%><%=datasetLabel%>: <%}%><%= value %>",
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user