diff --git a/db/update15.4.sql b/db/update15.4.sql
index 190152b7b2..cf157be1ee 100644
--- a/db/update15.4.sql
+++ b/db/update15.4.sql
@@ -23,4 +23,3 @@ CREATE TABLE `zt_mr` (
`mergeStatus` char(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
diff --git a/lib/front/front.class.php b/lib/front/front.class.php
index a3a0fbfe2c..b097da7a91 100644
--- a/lib/front/front.class.php
+++ b/lib/front/front.class.php
@@ -234,11 +234,14 @@ class html extends baseHTML
/**
* Create user avatar.
*
- * @param string|object|array $user User object or user avatar address or user account
- * @param string|int $size Avatar size, can be a number or preset sizes: "xs", "sm", "", "lg", "xl", default is ""
- * @param string $className Avatar element class name, default is "avatar-circle"
- * @param string $attrib Extra attributes on avatar element
- * @param string $tag Avatar element tag name, default is "div"
+ * @param string|object|array $user User object or user avatar url or user account
+ * @param string|int $size Avatar size, can be a number or preset sizes: "xs", "sm", "", "lg", "xl", default is ""
+ * @param string $className Avatar element class name, default is "avatar-circle"
+ * @param string $attrib Extra attributes on avatar element
+ * @param string $tag Avatar element tag name, default is "div"
+ * @param string $hueDistance Hue distance used as background color for default avatar
+ * @param string $saturation Saturation used as background color for default avatar
+ * @param string $lightness Lightness used as background color for default avatar
* @static
* @access public
* @return string
@@ -290,7 +293,7 @@ class html extends baseHTML
/**
* Create a small user avatar.
*
- * @param string|object $user User object or user avatar address or user account
+ * @param string|object $user User object or user avatar url or user account
* @param string $className Avatar element class name, default is "avatar-circle"
* @param string $attrib Extra attributes on avatar element
* @param string $tag Avatar element tag name, default is "div"
@@ -306,7 +309,7 @@ class html extends baseHTML
/**
* Create a large user avatar.
*
- * @param string|object $user User object or user avatar address or user account
+ * @param string|object $user User object or user avatar url or user account
* @param string $className Avatar element class name, default is "avatar-circle"
* @param string $attrib Extra attributes on avatar element
* @param string $tag Avatar element tag name, default is "div"
diff --git a/module/doc/lang/en.php b/module/doc/lang/en.php
index dd767c530d..fff3f5d5a4 100644
--- a/module/doc/lang/en.php
+++ b/module/doc/lang/en.php
@@ -117,7 +117,7 @@ $lang->doc->allExecutions = 'All' . $lang->executionCommon . 's';
$lang->doc->libTypeList['product'] = $lang->productCommon . ' Library';
if($config->systemMode == 'new') $lang->doc->libTypeList['project'] = 'Project Library';
-$lang->doc->libTypeList['execution'] = $lang->executionCommon . ' Library';
+$lang->doc->libTypeList['execution'] = $lang->execution->common . ' Library';
$lang->doc->libTypeList['custom'] = 'Custom Library';
$lang->doc->libIconList['product'] = 'icon-product';
diff --git a/module/doc/lang/zh-cn.php b/module/doc/lang/zh-cn.php
index e1a00c04e4..7bc3bb78c2 100644
--- a/module/doc/lang/zh-cn.php
+++ b/module/doc/lang/zh-cn.php
@@ -117,7 +117,7 @@ $lang->doc->allExecutions = '所有' . $lang->executionCommon;
$lang->doc->libTypeList['product'] = $lang->productCommon . '文档库';
if($config->systemMode == 'new') $lang->doc->libTypeList['project'] = '项目文档库';
-$lang->doc->libTypeList['execution'] = $lang->executionCommon . '文档库';
+$lang->doc->libTypeList['execution'] = $lang->execution->common . '文档库';
$lang->doc->libTypeList['custom'] = '自定义文档库';
$lang->doc->libIconList['product'] = 'icon-product';
diff --git a/module/execution/model.php b/module/execution/model.php
index 132dc5954f..d05662d256 100644
--- a/module/execution/model.php
+++ b/module/execution/model.php
@@ -486,7 +486,6 @@ class executionModel extends model
/* Child stage inherits parent stage permissions. */
if(!isset($execution->acl)) $execution->acl = $oldExecution->acl;
- if($execution->acl == 'open') $execution->whitelist = '';
$execution = $this->loadModel('file')->processImgURL($execution, $this->config->execution->editor->edit['id'], $this->post->uid);
diff --git a/module/execution/view/ajaxgetdropmenu.html.php b/module/execution/view/ajaxgetdropmenu.html.php
index 7ae7f3bf3a..e5ac0900c0 100644
--- a/module/execution/view/ajaxgetdropmenu.html.php
+++ b/module/execution/view/ajaxgetdropmenu.html.php
@@ -91,7 +91,7 @@ foreach($executions as $projectID => $projectExecutions)
}
else if($execution->status == 'done' or $execution->status == 'closed')
{
- $closedExecutionsHtml .= '
' . html::a(sprintf($link, $execution->id), $execution->name, '', "class='$selected' title='$execution->name' data-key='" . zget($executionsPinYin, $execution->name, '') . "' data-app='{$this->app->tab}'") . '';
+ $closedExecutionsHtml .= '' . html::a(sprintf($link, $execution->id), $execution->name, '', "class='$selected executionName' title='$execution->name' data-key='" . zget($executionsPinYin, $execution->name, '') . "' data-app='{$this->app->tab}'") . '';
if($selected == 'selected') $tabActive = 'closed';
}
diff --git a/module/group/control.php b/module/group/control.php
index 68de141498..f303b89e2e 100644
--- a/module/group/control.php
+++ b/module/group/control.php
@@ -159,6 +159,8 @@ class group extends control
foreach($this->lang->navGroup as $moduleName => $groupName)
{
if($groupName == $moduleName) continue;
+ if($moduleName == 'testcase') $moduleName = 'case';
+
$navGroup[$groupName][$moduleName] = $moduleName;
}
$this->view->navGroup = $navGroup;
diff --git a/module/personnel/model.php b/module/personnel/model.php
index 6fc1f3ddc1..fc8314428c 100644
--- a/module/personnel/model.php
+++ b/module/personnel/model.php
@@ -88,7 +88,6 @@ class personnelModel extends model
foreach($userGroups[$account] as $groupID => $userGroup)
{
$group = isset($groupInfo[$groupID]) ? $groupInfo[$groupID] : '';
- if(!$group) continue;
if(!isset($group->programs))
{
diff --git a/module/product/model.php b/module/product/model.php
index 54d363dcd5..438160fcf3 100644
--- a/module/product/model.php
+++ b/module/product/model.php
@@ -596,7 +596,6 @@ class productModel extends model
if($oldProduct->bind) $this->config->product->edit->requiredFields = 'name';
$product = fixer::input('post')
- ->setIF($this->post->acl == 'open', 'whitelist', '')
->setDefault('line', 0)
->join('whitelist', ',')
->stripTags($this->config->product->editor->edit['id'], $this->config->allowedTags)
@@ -1555,7 +1554,7 @@ class productModel extends model
->fetchGroup('product', 'id');
$executionListKey = $this->config->systemMode == 'new' ? 'project' : 'productID';
- $executionList = $this->dao->select('t1.product as productID,t2.*')->from(TABLE_PROJECTPRODUCT)->alias('t1')
+ $executionList = $this->dao->select('t1.product as productID,t2.*')->from(TABLE_PROJECTPRODUCT)->alias('t1')
->leftJoin(TABLE_EXECUTION)->alias('t2')->on('t1.project=t2.id')
->where('type')->in('stage,sprint')
->beginIF($this->config->systemMode == 'new')->andWhere('t2.project')->in(array_keys($projectList))->fi()
diff --git a/module/product/view/ajaxgetdropmenu.html.php b/module/product/view/ajaxgetdropmenu.html.php
index 8d1560446a..67954d3a17 100644
--- a/module/product/view/ajaxgetdropmenu.html.php
+++ b/module/product/view/ajaxgetdropmenu.html.php
@@ -95,7 +95,7 @@ foreach($products as $programID => $programProducts)
}
else if($product->status == 'closed')
{
- $closedProductsHtml .= '' . html::a($linkHtml, $productName, '', "class='$selected' title='$productName' class='closed' data-key='" . zget($productsPinYin, $product->name, '') . "' data-app='$app->tab'") . '';
+ $closedProductsHtml .= '' . html::a($linkHtml, $productName, '', "class='$selected productName' title='$productName' class='closed' data-key='" . zget($productsPinYin, $product->name, '') . "' data-app='$app->tab'") . '';
if($selected == 'selected') $tabActive = 'closed';
}
diff --git a/module/program/model.php b/module/program/model.php
index 8c4b96809b..bb40a7aa57 100644
--- a/module/program/model.php
+++ b/module/program/model.php
@@ -147,7 +147,7 @@ class programModel extends model
* Get kanban group data.
*
* @access public
- * @return array
+ * @return array
*/
public function getKanbanGroup()
{
@@ -252,7 +252,7 @@ class programModel extends model
/* Group data by program. */
foreach($programs as $programID => $programName)
{
- $programGroup = new stdclass();
+ $programGroup = new stdclass();
$programGroup->name = $programName;
$programGroup->products = zget($productGroup, $programID, array());
@@ -274,7 +274,7 @@ class programModel extends model
*
* @param string $account
* @access public
- * @return array
+ * @return array
*/
public function getInvolvedPrograms($account)
{
@@ -658,7 +658,6 @@ class programModel extends model
->setDefault('end', '')
->setIF($this->post->begin == '0000-00-00', 'begin', '')
->setIF($this->post->end == '0000-00-00', 'end', '')
- ->setIF($this->post->acl == 'open', 'whitelist', '')
->setIF($this->post->delta == 999, 'end', LONG_TIME)
->setIF($this->post->future, 'budget', 0)
->setIF($this->post->budget != 0, 'budget', round($this->post->budget, 2))
@@ -819,7 +818,7 @@ class programModel extends model
while($program = $stmt->fetch())
{
$link = $this->getLink($moduleName, $methodName, $program->id, $vars, $from);
- $linkHtml = html::a($link, $program->name, '', "id='program$program->id' class='text-ellipsis' title=$program->name");
+ $linkHtml = html::a($link, $program->name, '', "id='program$program->id' class='text-ellipsis programName' title=$program->name");
if(isset($programMenu[$program->id]) and !empty($programMenu[$program->id]))
{
diff --git a/module/program/view/ajaxgetdropmenu.html.php b/module/program/view/ajaxgetdropmenu.html.php
index 38da2a55c0..47a7cf7534 100644
--- a/module/program/view/ajaxgetdropmenu.html.php
+++ b/module/program/view/ajaxgetdropmenu.html.php
@@ -54,6 +54,8 @@ $programsPinYin = common::convert2Pinyin($programNames);
#programTree ul > li.has-list:after {width: 14px;}
#programTree ul > li.item-meas a.selected{color: #0c64eb;}
#showClosed1 + label{color: #3c4353}
+
+a.programName:focus, a.programName:hover {background: #0c64eb; color: #fff !important;}