This commit is contained in:
dingguodong
2021-09-08 17:35:24 +08:00
17 changed files with 30 additions and 28 deletions
-1
View File
@@ -23,4 +23,3 @@ CREATE TABLE `zt_mr` (
`mergeStatus` char(30) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+10 -7
View File
@@ -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"
+1 -1
View File
@@ -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';
+1 -1
View File
@@ -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';
-1
View File
@@ -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);
@@ -91,7 +91,7 @@ foreach($executions as $projectID => $projectExecutions)
}
else if($execution->status == 'done' or $execution->status == 'closed')
{
$closedExecutionsHtml .= '<li>' . html::a(sprintf($link, $execution->id), $execution->name, '', "class='$selected' title='$execution->name' data-key='" . zget($executionsPinYin, $execution->name, '') . "' data-app='{$this->app->tab}'") . '</li>';
$closedExecutionsHtml .= '<li>' . 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}'") . '</li>';
if($selected == 'selected') $tabActive = 'closed';
}
+2
View File
@@ -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;
-1
View File
@@ -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))
{
+1 -2
View File
@@ -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()
+1 -1
View File
@@ -95,7 +95,7 @@ foreach($products as $programID => $programProducts)
}
else if($product->status == 'closed')
{
$closedProductsHtml .= '<li>' . html::a($linkHtml, $productName, '', "class='$selected' title='$productName' class='closed' data-key='" . zget($productsPinYin, $product->name, '') . "' data-app='$app->tab'") . '</li>';
$closedProductsHtml .= '<li>' . html::a($linkHtml, $productName, '', "class='$selected productName' title='$productName' class='closed' data-key='" . zget($productsPinYin, $product->name, '') . "' data-app='$app->tab'") . '</li>';
if($selected == 'selected') $tabActive = 'closed';
}
+4 -5
View File
@@ -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]))
{
@@ -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;}
</style>
<script>
$('#programTree').tree();
+1 -1
View File
@@ -4,7 +4,7 @@
* @access public
* @return void
*/
function saveMemebers()
function saveMembers()
{
var isDeleted = false;
var accountList = [];
+2 -4
View File
@@ -933,7 +933,6 @@ class projectModel extends model
->setIF($this->post->delta == 999, 'days', 0)
->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->future, 'budget', 0)
->setIF($this->post->budget != 0, 'budget', round($this->post->budget, 2))
->join('whitelist', ',')
@@ -1318,8 +1317,7 @@ class projectModel extends model
{
$this->dao->delete()->from(TABLE_TEAM)->where('root')->eq((int)$projectID)->andWhere('type')->eq('project')->andWhere('account')->eq($account)->exec();
$this->loadModel('user');
$this->user->updateUserView($projectID, 'project', array($account));
$this->loadModel('user')->updateUserView($projectID, 'project', array($account));
if($removeExecution == 'yes')
{
@@ -1660,7 +1658,7 @@ class projectModel extends model
$type = $this->config->systemMode == 'new' ? $project->type : 'project';
$members = $this->dao->select("t1.account, if(t2.deleted='0', t2.realname, t1.account) as realname")->from(TABLE_TEAM)->alias('t1')
$members = $this->dao->select("t1.account, if(t2.deleted='0', t2.realname, t1.account) as realname")->from(TABLE_TEAM)->alias('t1')
->leftJoin(TABLE_USER)->alias('t2')->on('t1.account = t2.account')
->where('t1.root')->eq((int)$projectID)
->andWhere('t1.type')->eq($type)
+1 -1
View File
@@ -97,7 +97,7 @@ foreach($projects as $programID => $programProjects)
}
else if($project->status == 'done' or $project->status == 'closed')
{
$closedProjectsHtml .= '<li>' . html::a(sprintf($link, $project->id), $projectName, '', "class='$selected' title='$projectName' data-key='" . zget($projectsPinYin, $project->name, '') . "'") . '</li>';
$closedProjectsHtml .= '<li>' . html::a(sprintf($link, $project->id), $projectName, '', "class='$selected projectName' title='$projectName' data-key='" . zget($projectsPinYin, $project->name, '') . "'") . '</li>';
if($selected == 'selected') $tabActive = 'closed';
}
+1 -1
View File
@@ -116,7 +116,7 @@
else
{
echo html::submitButton('', '', 'hidden btn btn-wide btn-primary');
echo html::commonButton($lang->save, 'onclick="saveMemebers()" id="saveBtn"', 'btn btn-wide btn-primary');
echo html::commonButton($lang->save, 'onclick="saveMembers()" id="saveBtn"', 'btn btn-wide btn-primary');
}
echo html::backButton();
?>
+2
View File
@@ -1,5 +1,7 @@
a {color: #169;}
a:hover, a:active {text-decoration:underline; color: #C61A1A;}
#swapper a {text-decoration: none;}
#swapper .col-footer a:hover {color: #0c64eb;}
h2,h3 {font-size: 20px; margin: 0; clear: both;}
h3 {font-size: 16px;}
.revision {font-size: 12px; line-height: 20px; text-align: right; padding-right: 8px;}