Merge branch '15.0.beta3' of http://gitlab.zcorp.cc/easycorp/zentaopms into 15.0.beta3

This commit is contained in:
zhujinyong
2021-03-17 14:13:42 +08:00
48 changed files with 61 additions and 326 deletions
+1 -1
View File
@@ -980,7 +980,7 @@ class baseRouter
if($this->cookie->device == 'mobile') $this->clientDevice = 'mobile';
if($this->cookie->device == 'desktop') $this->clientDevice = 'desktop';
if(strpos('mobile,desktop', $this->cookie->device) === false)
if(empty($this->cookie->device) || strpos('mobile,desktop', $this->cookie->device) === false)
{
$mobile = new mobile();
$this->clientDevice = ($mobile->isMobile() and !$mobile->isTablet()) ? 'mobile' : 'desktop';
-1
View File
@@ -20,7 +20,6 @@ class branch extends control
*/
public function manage($productID)
{
$this->lang->product->menu = $this->lang->product->setMenu;
$this->lang->product->switcherMenu = $this->loadModel('product')->getSwitcher($productID);
$moduleIndex = array_search('branch', $this->lang->noMenuModule);
+9 -5
View File
@@ -478,20 +478,25 @@ class bug extends control
/* Get products and projects. */
$products = $this->products;
$projects = array('' => '');
if($projectID)
{
$products = array();
$productList = $this->product->getOrderedProducts('all', 40, $projectID);
foreach($productList as $product) $products[$product->id] = $product->name;
$project = $this->loadModel('project')->getByID($projectID);
$projects = array($projectID => $project->name);
$project = $this->loadModel('project')->getByID($projectID);
$projects += array($projectID => $project->name);
}
else
{
$projects = $this->product->getProjectPairsByProduct($productID, $branch);
$projects += $this->product->getProjectPairsByProduct($productID, $branch);
}
/* Get executions. */
$executions = array('' => '');
if(isset($projects[$projectID])) $executions += $this->product->getExecutionPairsByProduct($productID, $branch ? "0,$branch" : 0, 'id_desc', $projectID);
/* Set custom. */
foreach(explode(',', $this->config->bug->list->customCreateFields) as $field) $customFields[$field] = $this->lang->bug->$field;
$this->view->customFields = $customFields;
@@ -507,7 +512,7 @@ class bug extends control
$this->view->moduleOptionMenu = $moduleOptionMenu;
$this->view->stories = $stories;
$this->view->projects = $projects;
$this->view->executions = $this->product->getExecutionPairsByProduct($productID, $branch ? "0,$branch" : 0, 'id_desc', $projectID);
$this->view->executions = $executions;
$this->view->builds = $builds;
$this->view->moduleID = (int)$moduleID;
$this->view->projectID = $projectID;
@@ -653,7 +658,6 @@ class bug extends control
elseif($from == 'repo')
{
session_write_close();
$this->lang->set('menugroup.bug', 'repo');
$repos = $this->loadModel('repo')->getRepoPairs($this->session->PRJ);
$this->repo->setMenu($repos);
$this->lang->bug->menu = $this->lang->repo->menu;
+1
View File
@@ -263,6 +263,7 @@ function loadProductProjects(productID)
function loadProductExecutions(productID, projectID = 0)
{
if(!projectID) projectID = $('#project').find("option:selected").val();
if(!projectID) productID = 0;
required = $('#execution_chosen').hasClass('required');
branch = $('#branch').val();
if(typeof(branch) == 'undefined') branch = 0;
+1 -1
View File
@@ -95,7 +95,7 @@ js::set('oldProjectID', $projectID);
<td>
<div class='table-row'>
<div class='table-col' id='projectBox'>
<?php echo html::select('project', $projects, $projectID, "class='form-control chosen'");?>
<?php echo html::select('project', $projects, $projectID, "class='form-control chosen' onchange='loadProductExecutions({$productID}, this.value)'");?>
</div>
<div class='table-col' id='executionIdBox'>
<?php echo html::select('execution', $executions, $executionID, "class='form-control chosen' onchange='loadExecutionRelated(this.value)'");?>
-40
View File
@@ -575,46 +575,6 @@ $lang->webhook = new stdclass();
$lang->message = new stdclass();
$lang->search = new stdclass();
/* Menu group. */
$lang->menugroup = new stdclass();
$lang->menugroup->release = 'product';
$lang->menugroup->story = 'product';
$lang->menugroup->branch = 'product';
$lang->menugroup->productplan = 'product';
$lang->menugroup->task = 'project';
$lang->menugroup->build = 'project';
$lang->menugroup->convert = 'admin';
$lang->menugroup->upgrade = 'admin';
$lang->menugroup->user = 'company';
$lang->menugroup->group = 'company';
$lang->menugroup->bug = 'qa';
$lang->menugroup->testcase = 'qa';
$lang->menugroup->case = 'qa';
$lang->menugroup->testtask = 'qa';
$lang->menugroup->testsuite = 'qa';
$lang->menugroup->caselib = 'qa';
$lang->menugroup->testreport = 'qa';
$lang->menugroup->report = 'reporting';
$lang->menugroup->people = 'admin';
$lang->menugroup->dept = 'company';
$lang->menugroup->todo = 'my';
$lang->menugroup->score = 'my';
$lang->menugroup->action = 'admin';
$lang->menugroup->backup = 'admin';
$lang->menugroup->cron = 'admin';
$lang->menugroup->extension = 'admin';
$lang->menugroup->custom = 'admin';
$lang->menugroup->mail = 'admin';
$lang->menugroup->dev = 'admin';
$lang->menugroup->entry = 'admin';
$lang->menugroup->webhook = 'admin';
$lang->menugroup->message = 'admin';
$lang->menugroup->repo = 'ci';
$lang->menugroup->jenkins = 'ci';
$lang->menugroup->compile = 'ci';
$lang->menugroup->job = 'ci';
/* Nav group.*/
$lang->navGroup = new stdclass();
$lang->navGroup->my = 'my';
-39
View File
@@ -577,45 +577,6 @@ $lang->webhook = new stdclass();
$lang->message = new stdclass();
$lang->search = new stdclass();
/* Menu group. */
$lang->menugroup = new stdclass();
$lang->menugroup->release = 'product';
$lang->menugroup->story = 'product';
$lang->menugroup->branch = 'product';
$lang->menugroup->productplan = 'product';
$lang->menugroup->task = 'project';
$lang->menugroup->build = 'project';
$lang->menugroup->convert = 'admin';
$lang->menugroup->upgrade = 'admin';
$lang->menugroup->user = 'company';
$lang->menugroup->group = 'company';
$lang->menugroup->bug = 'qa';
$lang->menugroup->testcase = 'qa';
$lang->menugroup->case = 'qa';
$lang->menugroup->testtask = 'qa';
$lang->menugroup->testsuite = 'qa';
$lang->menugroup->caselib = 'qa';
$lang->menugroup->testreport = 'qa';
$lang->menugroup->people = 'admin';
$lang->menugroup->dept = 'company';
$lang->menugroup->todo = 'my';
$lang->menugroup->score = 'my';
$lang->menugroup->action = 'admin';
$lang->menugroup->backup = 'admin';
$lang->menugroup->cron = 'admin';
$lang->menugroup->extension = 'admin';
$lang->menugroup->custom = 'admin';
$lang->menugroup->mail = 'admin';
$lang->menugroup->dev = 'admin';
$lang->menugroup->entry = 'admin';
$lang->menugroup->webhook = 'admin';
$lang->menugroup->message = 'admin';
$lang->menugroup->repo = 'ci';
$lang->menugroup->jenkins = 'ci';
$lang->menugroup->compile = 'ci';
$lang->menugroup->job = 'ci';
/* Nav group.*/
$lang->navGroup = new stdclass();
$lang->navGroup->my = 'my';
-39
View File
@@ -567,45 +567,6 @@ $lang->webhook = new stdclass();
$lang->message = new stdclass();
$lang->search = new stdclass();
/* Menu group. */
$lang->menugroup = new stdclass();
$lang->menugroup->release = 'product';
$lang->menugroup->story = 'product';
$lang->menugroup->branch = 'product';
$lang->menugroup->productplan = 'product';
$lang->menugroup->task = 'project';
$lang->menugroup->build = 'project';
$lang->menugroup->convert = 'admin';
$lang->menugroup->upgrade = 'admin';
$lang->menugroup->user = 'company';
$lang->menugroup->group = 'company';
$lang->menugroup->bug = 'qa';
$lang->menugroup->testcase = 'qa';
$lang->menugroup->case = 'qa';
$lang->menugroup->testtask = 'qa';
$lang->menugroup->testsuite = 'qa';
$lang->menugroup->caselib = 'qa';
$lang->menugroup->testreport = 'qa';
$lang->menugroup->people = 'admin';
$lang->menugroup->dept = 'company';
$lang->menugroup->todo = 'my';
$lang->menugroup->score = 'my';
$lang->menugroup->action = 'admin';
$lang->menugroup->backup = 'admin';
$lang->menugroup->cron = 'admin';
$lang->menugroup->extension = 'admin';
$lang->menugroup->custom = 'admin';
$lang->menugroup->mail = 'admin';
$lang->menugroup->dev = 'admin';
$lang->menugroup->entry = 'admin';
$lang->menugroup->webhook = 'admin';
$lang->menugroup->message = 'admin';
$lang->menugroup->repo = 'ci';
$lang->menugroup->jenkins = 'ci';
$lang->menugroup->compile = 'ci';
$lang->menugroup->job = 'ci';
/* Nav group.*/
$lang->navGroup = new stdclass();
$lang->navGroup->my = 'my';
-39
View File
@@ -573,45 +573,6 @@ $lang->webhook = new stdclass();
$lang->message = new stdclass();
$lang->search = new stdclass();
/* Menu group. */
$lang->menugroup = new stdclass();
$lang->menugroup->release = 'product';
$lang->menugroup->story = 'product';
$lang->menugroup->branch = 'product';
$lang->menugroup->productplan = 'product';
$lang->menugroup->task = 'project';
$lang->menugroup->build = 'project';
$lang->menugroup->convert = 'admin';
$lang->menugroup->upgrade = 'admin';
$lang->menugroup->user = 'company';
$lang->menugroup->group = 'company';
$lang->menugroup->bug = 'qa';
$lang->menugroup->testcase = 'qa';
$lang->menugroup->case = 'qa';
$lang->menugroup->testtask = 'qa';
$lang->menugroup->testsuite = 'qa';
$lang->menugroup->caselib = 'qa';
$lang->menugroup->testreport = 'qa';
$lang->menugroup->people = 'admin';
$lang->menugroup->dept = 'company';
$lang->menugroup->todo = 'my';
$lang->menugroup->score = 'my';
$lang->menugroup->action = 'admin';
$lang->menugroup->backup = 'admin';
$lang->menugroup->cron = 'admin';
$lang->menugroup->extension = 'admin';
$lang->menugroup->custom = 'admin';
$lang->menugroup->mail = 'admin';
$lang->menugroup->dev = 'admin';
$lang->menugroup->entry = 'admin';
$lang->menugroup->webhook = 'admin';
$lang->menugroup->message = 'admin';
$lang->menugroup->repo = 'ci';
$lang->menugroup->jenkins = 'ci';
$lang->menugroup->compile = 'ci';
$lang->menugroup->job = 'ci';
/* Nav group.*/
$lang->navGroup = new stdclass();
$lang->navGroup->my = 'my';
+1 -1
View File
@@ -360,7 +360,7 @@ $lang->execution->qaMenu->qa = array('link' => '仪表盘|execution|qa|e
$lang->execution->qaMenu->bug = array('link' => 'Bug|execution|bug|executionID=%s');
$lang->execution->qaMenu->testcase = array('link' => '用例|execution|testcase|executionID=%s');
$lang->execution->qaMenu->testtask = array('link' => '测试单|execution|testtask|executionID=%s');
$lang->execution->qaMenu->testreport = array('link' => '报告|execution|testreport|exeutionID=%s');
//$lang->execution->qaMenu->testreport = array('link' => '报告|testreport|browse|exeutionID=%s&type=execution');
$lang->execution->settingMenu = new stdclass();
$lang->execution->settingMenu = new stdclass();
-36
View File
@@ -576,43 +576,7 @@ $lang->message = new stdclass();
$lang->search = new stdclass();
/* 菜單分組。*/
$lang->menugroup = new stdclass();
$lang->menugroup->release = 'product';
$lang->menugroup->story = 'product';
$lang->menugroup->branch = 'product';
$lang->menugroup->productplan = 'product';
$lang->menugroup->task = 'project';
$lang->menugroup->build = 'project';
$lang->menugroup->convert = 'admin';
$lang->menugroup->upgrade = 'admin';
$lang->menugroup->user = 'company';
$lang->menugroup->group = 'company';
$lang->menugroup->bug = 'qa';
$lang->menugroup->testcase = 'qa';
$lang->menugroup->case = 'qa';
$lang->menugroup->testtask = 'qa';
$lang->menugroup->testsuite = 'qa';
$lang->menugroup->caselib = 'qa';
$lang->menugroup->testreport = 'qa';
$lang->menugroup->people = 'admin';
$lang->menugroup->dept = 'company';
$lang->menugroup->todo = 'my';
$lang->menugroup->score = 'my';
$lang->menugroup->action = 'admin';
$lang->menugroup->backup = 'admin';
$lang->menugroup->cron = 'admin';
$lang->menugroup->extension = 'admin';
$lang->menugroup->custom = 'admin';
$lang->menugroup->mail = 'admin';
$lang->menugroup->dev = 'admin';
$lang->menugroup->entry = 'admin';
$lang->menugroup->webhook = 'admin';
$lang->menugroup->message = 'admin';
$lang->menugroup->repo = 'ci';
$lang->menugroup->jenkins = 'ci';
$lang->menugroup->compile = 'ci';
$lang->menugroup->job = 'ci';
/* Nav group.*/
$lang->navGroup = new stdclass();
-3
View File
@@ -885,7 +885,6 @@ class commonModel extends model
{
global $lang;
$mainMenu = $moduleName;
if(isset($lang->menugroup->$moduleName)) $mainMenu = $lang->menugroup->$moduleName;
echo "<ul class='breadcrumb'>";
echo '<li>' . html::a(helper::createLink('my', 'index'), $lang->zentaoPMS) . '</li>';
if($moduleName != 'index')
@@ -1769,7 +1768,6 @@ EOD;
if(!commonModel::hasDBPriv($object, $module, $method)) return false;
if(empty($acls['views'])) return true;
$menu = isset($lang->menugroup->$module) ? $lang->menugroup->$module : $module;
$menu = strtolower($menu);
if($menu != 'qa' and !isset($lang->$menu->menu)) return true;
if($menu == 'my' or $menu == 'index' or $module == 'tree') return true;
@@ -2396,7 +2394,6 @@ EOD;
{
$lang->project->dividerMenu = str_replace(',project,', ',', $lang->project->dividerMenu);
$lang->release->menu = new stdclass();
$lang->menugroup->release = '';
$lang->menuOrder = $lang->waterfall->menuOrder;
return self::processMenuVars($lang->menu->waterfall);
}
-1
View File
@@ -51,7 +51,6 @@ class company extends control
$this->lang->navGroup->company = 'admin';
$this->loadModel('search');
$this->lang->set('menugroup.company', 'company');
$deptID = $type == 'bydept' ? (int)$param : 0;
$this->company->setMenu($deptID);
-1
View File
@@ -319,7 +319,6 @@ class customModel extends model
global $app, $lang, $config;
$allMenu = $module == 'main' ? $lang->menu : (isset($lang->$module->menu) ? $lang->$module->menu : $lang->my->menu);
if($module == 'product' and isset($allMenu->branch)) $allMenu->branch = str_replace('@branch@', $lang->custom->branch, $allMenu->branch);
if($module != 'main' and isset($lang->menugroup->$module)) $module = $lang->menugroup->$module;
$flowModule = $config->global->flow . '_' . $module;
$customMenu = isset($config->customMenu->$flowModule) ? $config->customMenu->$flowModule : array();
if(commonModel::isTutorialMode() && $module === 'main') $customMenu = 'my,product,project,qa,company';
-15
View File
@@ -117,7 +117,6 @@ class doc extends control
$this->product->setMenu($this->product->getPairs(), $productID);
$this->lang->product->switcherMenu = $this->product->getSwitcher($productID);
$this->lang->noMenuModule[] = 'doc';
$this->lang->set('menugroup.doc', 'product');
}
elseif($from == 'project')
{
@@ -349,7 +348,6 @@ class doc extends control
$this->product->setMenu($this->product->getPairs(), $lib->product);
$this->lang->product->switcherMenu = $this->product->getSwitcher($lib->product);
$this->lang->noMenuModule[] = 'doc';
$this->lang->set('menugroup.doc', 'product');
$this->lang->TRActions = common::hasPriv('doc', 'createLib') ? html::a(helper::createLink('doc', 'createLib'), "<i class='icon icon-plus'></i> " . $this->lang->doc->createlib, '', "class='btn btn-secondary iframe' data-width='70%'") : '';
}
@@ -360,7 +358,6 @@ class doc extends control
$this->lang->doc->menuOrder = $this->lang->project->menuOrder;
if($this->config->systemMode == 'classic') $this->lang->noMenuModule[] = 'doc';
$this->project->setMenu($this->project->getPairs($this->session->PRJ, 'all', 0, true), $lib->project);
$this->lang->set('menugroup.doc', 'project');
$this->lang->TRActions = common::hasPriv('doc', 'createLib') ? html::a(helper::createLink('doc', 'createLib'), "<i class='icon icon-plus'></i> " . $this->lang->doc->createlib, '', "class='btn btn-secondary iframe' data-width='70%'") : '';
}
@@ -436,7 +433,6 @@ class doc extends control
$this->product->setMenu($this->product->getPairs(), $objectID);
$this->lang->product->switcherMenu = $this->product->getSwitcher($objectID);
$this->lang->noMenuModule[] = 'doc';
$this->lang->set('menugroup.doc', 'product');
}
elseif($this->from == 'project')
{
@@ -446,7 +442,6 @@ class doc extends control
$this->lang->doc->menuOrder = $this->lang->project->menuOrder;
if($this->config->systemMode == 'classic') $this->lang->noMenuModule[] = 'doc';
$this->project->setMenu($this->project->getExecutionsByProject($this->session->PRJ, 'all', 0, true), $objectID);
$this->lang->set('menugroup.doc', 'project');
}
else
{
@@ -501,7 +496,6 @@ class doc extends control
$this->product->setMenu($this->product->getPairs(), $objectID);
$this->lang->product->switcherMenu = $this->product->getSwitcher($objectID);
$this->lang->noMenuModule[] = 'doc';
$this->lang->set('menugroup.doc', 'product');
}
elseif($this->from == 'project')
{
@@ -511,7 +505,6 @@ class doc extends control
$this->lang->doc->menuOrder = $this->lang->project->menuOrder;
if($this->config->systemMode == 'classic') $this->lang->noMenuModule[] = 'doc';
$this->project->setMenu($this->project->getPairs($this->session->PRJ, 'all', 0, true), $objectID);
$this->lang->set('menugroup.doc', 'project');
}
else
{
@@ -831,7 +824,6 @@ class doc extends control
$this->product->setMenu($this->product->getPairs(), $objectID);
$this->lang->product->switcherMenu = $this->product->getSwitcher($objectID);
$this->lang->noMenuModule[] = 'doc';
$this->lang->set('menugroup.doc', 'product');
}
elseif($this->from == 'project')
{
@@ -840,7 +832,6 @@ class doc extends control
$this->lang->doc->menuOrder = $this->lang->project->menuOrder;
if($this->config->systemMode == 'classic') $this->lang->noMenuModule[] = 'doc';
$this->project->setMenu($this->project->getPairs($this->session->PRJ, 'all', 0, true), $objectID);
$this->lang->set('menugroup.doc', 'project');
}
else
{
@@ -927,16 +918,10 @@ class doc extends control
$this->product->setMenu($this->product->getPairs(), $objectID);
$this->lang->product->switcherMenu = $this->product->getSwitcher($objectID);
$this->lang->noMenuModule[] = 'doc';
$this->lang->set('menugroup.doc', 'product');
}
elseif($from == 'project')
{
if($this->config->systemMode == 'classic') $this->lang->noMenuModule[] = 'doc';
$this->lang->set('menugroup.doc', 'project');
}
elseif($from == 'execution')
{
$this->lang->set('menugroup.doc', 'execution');
}
else
{
+26 -5
View File
@@ -2549,24 +2549,43 @@ class execution extends control
/**
* Drop menu page.
*
* @param int $executionID
* @param int $module
* @param int $method
* @param int $extra
* @access public
* @return void
*/
public function ajaxGetDropMenu($executionID, $module, $method, $extra)
public function ajaxGetDropMenu($module, $method, $extra)
{
$execution = $this->execution->getByID($executionID);
$projects = $this->dao->select('*')->from(TABLE_PROJECT)->where('id')->in($this->app->user->view->projects)->andWhere('deleted')->eq(0)->orderBy('order_desc')->fetchAll('id');
/* Sort execution by project. */
$orderedExecutions = array();
foreach($projects as $projectID => $project)
{
$type = $project->model == 'scrum' ? 'sprint' : 'stage';
$orderBy = $project->model == 'scrum' ? 'id_desc' : 'id_asc';
$executions = $this->dao->select('*')->from(TABLE_EXECUTION)
->where('id')->in($this->app->user->view->sprints)
->andWhere('deleted')->eq(0)
->andWhere('project')->eq($project->id)
->andWhere('type')->eq($type)
->orderBy($orderBy)
->fetchAll('id');
foreach($executions as $execution)
{
if(isset($orderedExecutions[$execution->parent])) unset($orderedExecutions[$execution->parent]);
$orderedExecutions[$execution->id] = $execution;
}
}
$this->view->link = $this->execution->getLink($module, $method, $extra);
$this->view->executionID = $executionID;
$this->view->module = $module;
$this->view->method = $method;
$this->view->extra = $extra;
$this->view->projects = $this->project->getPairsByModel();
$this->view->executions = $this->execution->getList();
$this->view->executions = $orderedExecutions;
$this->display();
}
@@ -2804,6 +2823,8 @@ class execution extends control
$this->fetch('file', 'export2' . $this->post->fileType, $_POST);
}
$this->view->fileName = (in_array($status, array('all', 'undone')) ? $this->lang->execution->$status : $this->lang->execution->statusList[$status]) . $this->lang->execution->common;
$this->display();
}
+2 -2
View File
@@ -182,7 +182,7 @@ class executionModel extends model
}
}
$dropMenuLink = helper::createLink('execution', 'ajaxGetDropMenu', "objectID=$executionID&module=$currentModule&method=$currentMethod&extra=$extra");
$dropMenuLink = helper::createLink('execution', 'ajaxGetDropMenu', "module=$currentModule&method=$currentMethod&extra=$extra");
$currentExecutionName = '';
if(isset($currentExecution->name)) $currentExecutionName = $currentExecution->name;
@@ -893,7 +893,7 @@ class executionModel extends model
$currentExecutionName = $currentExecution->name;
}
$dropMenuLink = helper::createLink('execution', 'ajaxGetDropMenu', "objectID=$executionID&module=$currentModule&method=$currentMethod&extra=");
$dropMenuLink = helper::createLink('execution', 'ajaxGetDropMenu', "module=$currentModule&method=$currentMethod&extra=");
$output = "<div class='btn-group header-btn'>" . html::a(helper::createLink('execution', 'all'), "<i class='icon icon-run'></i> {$this->lang->execution->common}", '', "class='btn'") . '</div>';
$output .= "<div class='btn-group header-btn' id='swapper'><button data-toggle='dropdown' type='button' class='btn' id='currentItem' title='{$currentExecutionName}'><span class='text'>{$currentExecutionName}</span> <span class='caret'></span></button><div id='dropMenu' class='dropdown-menu search-list' data-ride='searchList' data-url='$dropMenuLink'>";
$output .= '<div class="input-control search-box has-icon-left has-icon-right search-example"><input type="search" class="form-control search-input" /><label class="input-control-icon-left search-icon"><i class="icon icon-search"></i></label><a class="input-control-icon-right search-clear-btn"><i class="icon icon-close icon-sm"></i></a></div>';
@@ -1,4 +1,3 @@
<?php js::set('executionID', $executionID);?>
<?php js::set('module', $module);?>
<?php js::set('method', $method);?>
<?php js::set('extra', $extra);?>
-3
View File
@@ -146,9 +146,6 @@ class group extends control
$this->view->projects = $this->dao->select('*')->from(TABLE_PROJECT)->where('deleted')->eq('0')->andWhere('type')->eq('project')->orderBy('order_desc')->fetchPairs('id', 'name');
$this->view->products = $this->dao->select('*')->from(TABLE_PRODUCT)->where('deleted')->eq('0')->orderBy('order_desc')->fetchPairs('id', 'name');
$menugroup = array();
foreach($this->lang->menugroup as $moduleName => $groupName) $menugroup[$groupName][$moduleName] = $moduleName;
$this->view->menugroup = $menugroup;
$this->display();
}
+1 -9
View File
@@ -354,15 +354,7 @@ class groupModel extends model
$dynamic = array();
foreach($actions['actions'] as $moduleName => $moduleActions)
{
if(isset($this->lang->menugroup->$moduleName))
{
$groupModule = $this->lang->menugroup->$moduleName;
if($groupModule != 'my' and !isset($actions['views'][$groupModule])) continue;
}
else
{
if($moduleName != 'my' and !isset($actions['views'][$moduleName])) continue;
}
if($moduleName != 'my' and !isset($actions['views'][$moduleName])) continue;
$dynamic[$moduleName] = $moduleActions;
}
-3
View File
@@ -93,7 +93,6 @@
<?php foreach($lang->mainNav as $module => $title):?>
<?php if(!is_string($title)) continue;?>
<?php if($module == 'admin') continue;?>
<?php if(!isset($lang->action->dynamicAction->$module) and !isset($menugroup[$module])) continue;?>
<tr id='<?php echo "{$module}ActionBox";?>'>
<th class='w-100px text-left text-top'>
<div class='action-item'>
@@ -116,8 +115,6 @@
<?php endforeach;?>
</div>
<?php endif;?>
<?php if(isset($menugroup[$module])):?>
<?php foreach($menugroup[$module] as $subModule):?>
<?php if(isset($lang->action->dynamicAction->$subModule)):?>
<div class='clearfix'>
<?php foreach($lang->action->dynamicAction->$subModule as $action => $actionTitle):?>
+3 -5
View File
@@ -822,7 +822,8 @@ class product extends control
*/
public function ajaxGetProjects($productID, $branch = 0, $projectID = 0)
{
$projects = $this->product->getProjectPairsByProduct($productID, $branch ? "0,$branch" : $branch);
$projects = array('' => '');
$projects += $this->product->getProjectPairsByProduct($productID, $branch ? "0,$branch" : $branch);
if($this->app->getViewType() == 'json') die(json_encode($peojects));
die(html::select('project', $projects, $projectID, "class='form-control' onchange='loadProductExecutions({$productID})'"));
@@ -845,7 +846,7 @@ class product extends control
if($number === '')
{
die(html::select('execution', $executions, $executionID, "class='form-control' onchange='loadExecutionRelated(this.value)'"));
die(html::select('execution', array('' => '') + $executions, $executionID, "class='form-control' onchange='loadExecutionRelated(this.value)'"));
}
else
{
@@ -976,7 +977,6 @@ class product extends control
$this->app->loadLang($fromModule);
foreach($this->config->qa->menuList as $module) $this->lang->navGroup->$module = 'qa';
$this->lang->set('menugroup.product', $activeMenu);
$this->lang->product->menu = $this->lang->qa->menu;
$this->lang->product->menuOrder = $this->lang->qa->menuOrder;
}
@@ -986,7 +986,6 @@ class product extends control
{
$this->app->loadLang($fromModule);
$this->lang->set('menugroup.product', $activeMenu);
$projectModel = $this->loadModel('project')->getByID($this->session->PRJ);
$this->lang->product->menu = $this->lang->menu->{$projectModel->model};
$this->lang->product->menuOrder = $this->lang->{$projectModel->model}->menuOrder;
@@ -994,7 +993,6 @@ class product extends control
/* The secondary test menu processing in the project. */
if(in_array($fromModule, array('qa', 'bug', 'testtask', 'testreport')))
{
$this->lang->set('menugroup.product', 'qa');
$moduleIndex = array_search('product', $this->lang->noMenuModule);
if($moduleIndex !== false) unset($this->lang->noMenuModule[$moduleIndex]);
-20
View File
@@ -768,26 +768,6 @@ class productModel extends model
return $stories;
}
/**
* Get the total number of requirements associated with the product.
*
* @param array $productIdList
* @param string $type
* @param string $status closed|active|draft
* @access public
* @return int
*/
public function getTotalStoriesByProduct($productIdList, $type, $status = '')
{
return $this->dao->select("count(*) as stories")->from(TABLE_STORY)
->where('type')->eq($type)
->andWhere('product')->in($productIdList)
->beginIF($status != '')->andWhere('status')->eq($status)
->beginIF($status == 'closed')->andWhere('closedReason')->eq('done')->fi()
->andWhere('deleted')->eq(0)
->fetch('stories');
}
/**
* Batch get story stage.
*
+2 -4
View File
@@ -203,7 +203,7 @@ class project extends control
* @access public
* @return void
*/
public function browse($programID = 0, $browseType = 'doing', $param = 0, $orderBy = 'order_desc', $recTotal = 0, $recPerPage = 15, $pageID = 1)
public function browse($programID = 0, $browseType = 'doing', $param = 0, $orderBy = 'order_asc', $recTotal = 0, $recPerPage = 15, $pageID = 1)
{
$this->lang->noMenuModule[] = 'project';
if($this->session->moreProjectLink) $this->lang->project->mainMenuAction = html::a($this->session->moreProjectLink, '<i class="icon icon-back"></i> ' . $this->lang->goback, '', "class='btn btn-link'");
@@ -217,9 +217,7 @@ class project extends control
$queryID = ($browseType == 'bysearch') ? (int)$param : 0;
$projectTitle = $this->loadModel('setting')->getItem('owner=' . $this->app->user->account . '&module=project&key=projectTitle');
$order = explode('_', $orderBy);
$sortField = zget($this->config->project->sortFields, $order[0], 'id') . '_' . $order[1];
$projectStats = $this->program->getProjectStats($programID, $browseType, $queryID, $sortField, $pager, $projectTitle);
$projectStats = $this->program->getProjectStats($programID, $browseType, $queryID, $orderBy, $pager, $projectTitle);
$this->view->title = $this->lang->project->browse;
$this->view->position[] = $this->lang->project->browse;
+1 -1
View File
@@ -67,7 +67,7 @@ $lang->project->realBegan = '实际开始日期';
$lang->project->bygrid = '看板';
$lang->project->bylist = '列表';
$lang->project->mine = '我参与的';
$lang->project->myProject = '我参与:';
$lang->project->myProject = '我负责:';
$lang->project->other = '其他:';
$lang->project->acl = '访问控制';
$lang->project->setPlanduration = '设置工期';
+2 -1
View File
@@ -330,7 +330,8 @@ class projectModel extends model
->where('t1.project')->eq($projectID)
->andWhere('t2.type')->eq($type)
->andWhere('t2.product')->in($productIdList)
->beginIF($status != 'all')->andWhere('t2.status')->eq($status)->fi()
->beginIF($status == 'active')->andWhere('t2.status')->in('active,changed')->fi()
->beginIF($status == 'closed')->andWhere('t2.status')->eq('closed')->fi()
->beginIF($status == 'closed')->andWhere('t2.closedReason')->eq('done')->fi()
->andWhere('deleted')->eq('0')
->fetch('stories');
-1
View File
@@ -68,7 +68,6 @@ class projectStory extends control
public function track($productID = 0, $branch = 0, $recTotal = 0, $recPerPage = 20, $pageID = 1)
{
if(empty($productID)) $productID = key($this->products);
$this->lang->menugroup->projectstory = 'track';
$this->lang->story->requirement = str_replace($this->lang->URCommon, $this->lang->URCommon, $this->lang->story->requirement);
$this->lang->story->story = str_replace($this->lang->SRCommon, $this->lang->SRCommon, $this->lang->story->story);
+1 -1
View File
@@ -1,7 +1,7 @@
<div class="sidebar-toggle">
<i class="icon icon-angle-left"></i>
</div>
<div class="cell w-200px">
<div class="cell">
<div class='panel'>
<div class='panel-heading'>
<div class='panel-title'><?php echo $lang->report->list;?></div>
+1 -1
View File
@@ -3,7 +3,7 @@
<div class='side-col col-lg' id='sidebar'>
<?php include 'blockreportlist.html.php';?>
</div>
<div class='main-col w-800px'>
<div class='main-col'>
<?php if(empty($assigns)):?>
<div class="cell">
<div class="table-empty-tip">
+1 -1
View File
@@ -4,7 +4,7 @@
<div class='side-col col-lg' id='sidebar'>
<?php include 'blockreportlist.html.php';?>
</div>
<div class='main-col w-800px'>
<div class='main-col'>
<div class='cell'>
<div class="row" id='conditions'>
<div class='col-sm-4'>
@@ -6,7 +6,7 @@
<div class='side-col col-lg' id='sidebar'>
<?php include 'blockreportlist.html.php';?>
</div>
<div class='main-col w-800px'>
<div class='main-col'>
<div class='cell'>
<div class="row" id='conditions'>
<div class='w-220px col-md-3 col-sm-6'>
+1 -1
View File
@@ -6,7 +6,7 @@
<div class='side-col col-lg' id='sidebar'>
<?php include 'blockreportlist.html.php';?>
</div>
<div class='main-col w-800px'>
<div class='main-col'>
<?php if(empty($products)):?>
<div class="cell">
<div class="table-empty-tip">
+1 -1
View File
@@ -5,7 +5,7 @@
<div class='side-col col-lg' id='sidebar'>
<?php include 'blockreportlist.html.php';?>
</div>
<div class='main-col w-800px'>
<div class='main-col'>
<div class='cell'>
<form method='post'>
<div class="row" id='conditions'>
-1
View File
@@ -158,7 +158,6 @@ class search extends control
}
$this->lang->search->menu = $this->lang->admin->menu;
$this->lang->menugroup->search = 'system';
$this->view->title = $this->lang->search->buildIndex;
$this->display();
-5
View File
@@ -652,7 +652,6 @@ class story extends control
$this->lang->story->menu = $this->lang->execution->menu;
$this->execution->setMenu($this->execution->getPairs($this->session->PRJ, 'all', 'nodeleted'), $executionID);
$this->lang->set('menugroup.story', 'execution');
$this->lang->story->menuOrder = $this->lang->execution->menuOrder;
$execution = $this->execution->getByID($executionID);
@@ -676,7 +675,6 @@ class story extends control
else
{
$this->lang->story->menu = $this->lang->my->menu;
$this->lang->set('menugroup.story', 'my');
$this->lang->story->menuOrder = $this->lang->my->menuOrder;
$this->loadModel('my')->setMenu();
@@ -1147,7 +1145,6 @@ class story extends control
$this->lang->story->menu = $this->lang->execution->menu;
$this->lang->story->menuOrder = $this->lang->execution->menuOrder;
$this->execution->setMenu($this->execution->getPairs($this->session->PRJ, 'all', 'nodeleted'), $executionID);
$this->lang->set('menugroup.story', 'execution');
$execution = $this->execution->getByID($executionID);
$this->view->position[] = html::a($this->createLink('execution', 'story', "executionID=$execution->id"), $execution->name);
$this->view->title = $execution->name . $this->lang->colon . $this->lang->story->batchClose;
@@ -1156,7 +1153,6 @@ class story extends control
else
{
$this->lang->story->menu = $this->lang->my->menu;
$this->lang->set('menugroup.story', 'my');
$this->lang->story->menuOrder = $this->lang->my->menuOrder;
$this->loadModel('my')->setMenu();
$this->view->position[] = html::a($this->createLink('my', 'story'), $this->lang->my->story);
@@ -1475,7 +1471,6 @@ class story extends control
$this->session->set('productList', $this->app->getURI(true));
$products = $this->product->getPairs();
$this->lang->set('menugroup.story', 'qa');
$this->lang->navGroup->story = $from;
if($from == 'project')
-1
View File
@@ -463,7 +463,6 @@ class task extends control
$this->lang->navGroup->task = 'my';
$this->lang->task->menu = $this->lang->my->menu;
$this->lang->task->menuOrder = $this->lang->my->menuOrder;
$this->lang->set('menugroup.task', 'my');
$this->loadModel('my')->setMenu();
$this->view->position[] = html::a($this->createLink('my', 'task'), $this->lang->my->task);
$this->view->title = $this->lang->task->batchEdit;
-1
View File
@@ -797,7 +797,6 @@ class testcase extends control
$caseIDList = array_keys($cases);
$this->lang->testcase->menu = $this->lang->my->menu;
$this->lang->set('menugroup.testcase', 'my');
$this->lang->testcase->menuOrder = $this->lang->my->menuOrder;
$this->loadModel('my')->setMenu();
+2 -3
View File
@@ -65,7 +65,7 @@ class testreport extends control
*/
public function browse($objectID = 0, $objectType = 'product', $extra = '', $orderBy = 'id_desc', $recTotal = 0, $recPerPage = 20, $pageID = 1)
{
if($objectType != 'product' and $objectType != 'project') die('Type Error!');
if($objectType != 'product' and $objectType != 'execution') die('Type Error!');
$this->session->set('reportList', $this->app->getURI(true));
$objectID = $this->commonAction($objectID, $objectType);
@@ -81,7 +81,7 @@ class testreport extends control
$reports = $this->testreport->getList($objectID, $objectType, $extra, $orderBy, $pager);
if($objectType == 'project' and isset($_POST['taskIdList']))
if($objectType == 'execution' and isset($_POST['taskIdList']))
{
$taskIdList = $_POST['taskIdList'];
foreach($reports as $reportID => $report)
@@ -552,7 +552,6 @@ class testreport extends control
$executionID = $this->execution->saveState($objectID, $this->executions);
$this->execution->setMenu($this->executions, $executionID);
$this->lang->testreport->menu = $this->lang->execution->menu;
$this->lang->menugroup->testreport = 'execution';
return $executionID;
}
}
-1
View File
@@ -1090,7 +1090,6 @@ class testtask extends control
else
{
$this->lang->testtask->menu = $this->lang->my->menu;
$this->lang->set('menugroup.testtask', 'my');
$this->lang->testtask->menuOrder = $this->lang->my->menuOrder;
$this->loadModel('my')->setMenu();
$this->view->title = $this->lang->testtask->batchRun;
-2
View File
@@ -388,7 +388,6 @@ class todo extends control
$this->lang->todo->menu = $this->lang->user->menu;
$this->lang->todo->menuOrder = $this->lang->user->menuOrder;
$this->lang->company->menu->browseUser['subModule'] = 'todo';
$this->lang->set('menugroup.todo', $from);
}
elseif($from == 'my')
{
@@ -396,7 +395,6 @@ class todo extends control
$this->lang->todo->menuOrder = $this->lang->my->menuOrder;
$this->loadModel('my')->setMenu();
$this->lang->my->menu->todo['subModule'] = 'todo';
$this->lang->set('menugroup.todo', $from);
}
$projects = $this->loadModel('project')->getPairsByModel('all');
-10
View File
@@ -110,7 +110,6 @@ class tree extends control
$this->loadModel('bug')->setMenu($productPairs, $rootID);
$this->lang->tree->menu = $this->lang->bug->menu;
$this->lang->tree->menuOrder = $this->lang->bug->menuOrder;
$this->lang->set('menugroup.tree', 'qa');
$title = $this->lang->tree->manageBug;
$position[] = html::a($this->createLink('bug', 'browse', "product=$rootID"), $product->name);
@@ -121,7 +120,6 @@ class tree extends control
$this->lang->navGroup->tree = 'feedback';
$this->lang->noMenuModule[] = 'tree';
$this->lang->set('menugroup.tree', 'feedback');
$this->app->loadLang('feedback');
$this->lang->tree->menu = $this->lang->feedback->menu;
$root = new stdclass();
@@ -153,7 +151,6 @@ class tree extends control
$this->loadModel('testcase')->setMenu($productPairs, $rootID);
$this->lang->tree->menu = $this->lang->testcase->menu;
$this->lang->tree->menuOrder = $this->lang->testcase->menuOrder;
$this->lang->set('menugroup.tree', 'qa');
$title = $this->lang->tree->manageCase;
$position[] = html::a($this->createLink('testcase', 'browse', "product=$rootID"), $product->name);
@@ -177,7 +174,6 @@ class tree extends control
$this->caselib->setLibMenu($this->caselib->getLibraries(), $rootID);
$this->lang->tree->menu = $this->lang->caselib->menu;
$this->lang->tree->menuOrder = $this->lang->caselib->menuOrder;
$this->lang->set('menugroup.tree', 'qa');
$title = $this->lang->tree->manageCaseLib;
$position[] = html::a($this->createLink('caselib', 'browse', "libID=$rootID"), $lib->name);
@@ -214,7 +210,6 @@ class tree extends control
$this->doc->setMenu($type, $rootID, $currentModuleID);
$this->lang->tree->menu = $this->lang->doc->menu;
$this->lang->tree->menuOrder = $this->lang->doc->menuOrder;
$this->lang->set('menugroup.tree', 'doc');
$title = $this->lang->tree->manageCustomDoc;
$position[] = html::a($this->createLink('doc', 'browse', "libID=$rootID"), $lib->name);
@@ -224,7 +219,6 @@ class tree extends control
{
$products = $this->product->getPairs('', $this->session->PRJ);
$this->lang->set('menugroup.tree', 'product');
$this->product->setMenu($products, $rootID, $branch, 'line', '', 'line');
$this->lang->tree->menu = $this->lang->product->menu;
$this->lang->tree->menuOrder = $this->lang->product->menuOrder;
@@ -241,7 +235,6 @@ class tree extends control
}
elseif($viewType == 'trainskill')
{
$this->lang->set('menugroup.tree', 'train');
$this->lang->tree->menu = $this->lang->trainskill->menu;
$title = $this->lang->tree->manageTrainskill;
@@ -252,12 +245,10 @@ class tree extends control
$postBrowseType = $this->session->postBrowseType ? $this->session->postBrowseType : 'train';
if($postBrowseType == 'train')
{
$this->lang->set('menugroup.tree', 'train');
$this->lang->tree->menu = $this->lang->train->menu;
}
else
{
$this->lang->set('menugroup.tree', 'company');
$this->lang->tree->menu = $this->lang->company->menu;
}
@@ -305,7 +296,6 @@ class tree extends control
$executions = $this->execution->getPairs($this->session->PRJ);
/* Set menu. */
$this->lang->set('menugroup.tree', 'execution');
$this->execution->setMenu($executions, $rootID);
$this->lang->tree->menu = $this->lang->execution->menu;
$this->lang->tree->menuOrder = $this->lang->execution->menuOrder;
+2 -2
View File
@@ -10,8 +10,8 @@
* @link http://www.zentao.net
*/
?>
<?php if($lang->navGroup->doc == 'doc'):?>
<?php $pageCSS .= $this->doc->appendNavCSS();?>
<?php if($app->openApp == 'doc'):?>
<?php $pageCSS .= $this->loadModel('doc')->appendNavCSS();?>
<?php endif;?>
<?php include '../../common/view/header.html.php';?>
-1
View File
@@ -109,7 +109,6 @@ class tutorial extends control
{
$taskModule = strtolower($taskName['nav']['module']);
if($taskModule == strtolower($module)) $hasPriv = true;
if(isset($this->lang->menugroup->$taskModule) and $this->lang->menugroup->$taskModule == strtolower($module)) $hasPriv = true;
if($hasPriv) break;
}
if(!$hasPriv and $module == 'my' and $method == 'index') $hasPriv = true;
-15
View File
@@ -83,7 +83,6 @@ class user extends control
$this->user->resetMenu();
/* set menus. */
$this->lang->set('menugroup.user', 'company');
$this->view->userList = $this->user->setUserList($users, $userID);
$this->view->title = $this->lang->user->common . $this->lang->colon . $this->lang->user->todo;
@@ -126,7 +125,6 @@ class user extends control
$users = $this->loadModel('dept')->getDeptUserPairs($user->dept, 'useid');
/* Set menu. */
$this->lang->set('menugroup.user', 'company');
/* Change the menu when in my module. */
$this->user->resetMenu();
@@ -175,7 +173,6 @@ class user extends control
$users = $this->loadModel('dept')->getDeptUserPairs($user->dept, 'useid');
/* Set the menu. */
$this->lang->set('menugroup.user', 'company');
$this->view->userList = $this->user->setUserList($users, $userID);
/* Change the menu when in my module. */
@@ -220,7 +217,6 @@ class user extends control
$users = $this->loadModel('dept')->getDeptUserPairs($user->dept, 'useid');
/* Set menu. */
$this->lang->set('menugroup.user', 'company');
$this->view->userList = $this->user->setUserList($users, $userID);
/* Load the lang of bug module. */
@@ -264,7 +260,6 @@ class user extends control
$users = $this->loadModel('dept')->getDeptUserPairs($user->dept, 'useid');
/* Set menu. */
$this->lang->set('menugroup.user', 'company');
$this->view->userList = $this->user->setUserList($users, $userID);
/* Save session. */
@@ -321,7 +316,6 @@ class user extends control
$sort = $this->loadModel('common')->appendOrder($orderBy);
/* Set menu. */
$this->lang->set('menugroup.user', 'company');
/* Change the menu when in my module. */
$this->user->resetMenu();
@@ -380,7 +374,6 @@ class user extends control
/* Set the menus. */
$this->loadModel('project');
$this->lang->set('menugroup.user', 'company');
$this->view->userList = $this->user->setUserList($users, $userID);
/* Change the menu when in my module. */
@@ -423,7 +416,6 @@ class user extends control
$pager = pager::init($recTotal, $recPerPage, $pageID);
/* Set the menus. */
$this->lang->set('menugroup.user', 'company');
$this->view->userList = $this->user->setUserList($users, $userID);
/* Change the menu when in my module. */
@@ -467,7 +459,6 @@ class user extends control
$pager = pager::init($recTotal, $recPerPage, $pageID);
/* Set the menus. */
$this->lang->set('menugroup.user', 'company');
$this->view->userList = $this->user->setUserList($users, $userID);
/* Change the menu when in my module. */
@@ -545,7 +536,6 @@ class user extends control
*/
public function create($deptID = 0)
{
$this->lang->set('menugroup.user', 'company');
$this->lang->user->menu = $this->lang->company->menu;
$this->lang->user->menuOrder = $this->lang->company->menuOrder;
@@ -603,7 +593,6 @@ class user extends control
if($group->role) $roleGroup[$group->role] = $group->id;
}
$this->lang->set('menugroup.user', 'company');
$this->lang->user->menu = $this->lang->company->menu;
$this->lang->user->menuOrder = $this->lang->company->menuOrder;
@@ -647,7 +636,6 @@ class user extends control
*/
public function edit($userID)
{
$this->lang->set('menugroup.user', 'company');
$this->lang->user->menu = $this->lang->company->menu;
$this->lang->user->menuOrder = $this->lang->company->menuOrder;
if(!empty($_POST))
@@ -694,7 +682,6 @@ class user extends control
if($this->post->account) $this->user->batchEdit();
die(js::locate($this->session->userList ? $this->session->userList : $this->createLink('company', 'browse', "deptID=$deptID"), 'parent'));
}
$this->lang->set('menugroup.user', 'company');
$this->lang->user->menu = $this->lang->company->menu;
$this->lang->user->menuOrder = $this->lang->company->menuOrder;
@@ -1013,7 +1000,6 @@ class user extends control
$denyType = 'nopriv';
if(isset($rights[$module][$method]))
{
$menu = isset($this->lang->menugroup->$module) ? $this->lang->menugroup->$module : $module;
$menu = strtolower($menu);
if(!isset($acls['views'][$menu])) $denyType = 'noview';
@@ -1105,7 +1091,6 @@ class user extends control
$users = $this->loadModel('dept')->getDeptUserPairs($user->dept, 'useid');
/* set menus. */
$this->lang->set('menugroup.user', 'company');
$this->view->userList = $this->user->setUserList($users, $userID);
/* Save session. */
Binary file not shown.
+1 -1
View File
@@ -143,7 +143,7 @@
<glyph unicode="&#xe977;" glyph-name="menu-recent" d="M73.143 731.428v-877.715h877.715v877.715h-877.715zM10.971 804.571h1002.057c6.059 0 10.971-4.912 10.971-10.971v-1002.057c0-6.059-4.912-10.971-10.971-10.971h-1002.057c-6.059 0-10.971 4.912-10.971 10.971v1002.057c0 6.059 4.912 10.971 10.971 10.971zM486.4 548.571h51.2c6.059 0 10.971-4.912 10.971-10.971v-343.771c0-6.059-4.912-10.971-10.971-10.971h-51.2c-6.059 0-10.971 4.912-10.971 10.971v343.771c0 6.059 4.912 10.971 10.971 10.971zM522.972 256h197.485c6.059 0 10.971-4.912 10.971-10.971v-51.2c0-6.059-4.912-10.971-10.971-10.971h-197.485c-6.059 0-10.971 4.912-10.971 10.971v51.2c0 6.059 4.912 10.971 10.971 10.971z" />
<glyph unicode="&#xe978;" glyph-name="menu-doc" horiz-adv-x="951" d="M754.189 804.136l7.973-1.287c31.345-6.879 55.703-34.159 59.043-67.861l0.4-8.3-0.009-463.951 6.919-6.917 51.729-0.047 8.067-0.427 7.975-1.285c31.348-6.879 55.708-34.159 59.049-67.861l0.4-8.3-0.009-319.788-0.417-8.301-1.261-8.211c-6.727-32.269-33.349-57.216-66.092-60.624l-8.059-0.407-812.481 0.435-7.973 1.287c-31.345 6.879-55.701 34.159-59.043 67.861l-0.4 8.3 0.009 547.853 0.417 8.301 1.261 8.211c6.727 32.269 33.349 57.216 66.092 60.624l8.059 0.407 51.377-0.009 6.925 6.919v236.269l0.417 8.301 1.261 8.211c6.727 32.269 33.349 57.216 66.092 60.624l8.059 0.407 544.221-0.435zM283.962 413.227h-208.481l-6.927-6.919v-548.195l6.927-6.919h804.78l6.925 6.919v320.125l-6.925 6.917h-384.507l-12.604 0.464-12.124 1.337c-52.119 7.689-98.423 39.761-124.765 87.233l-5.829 11.455-3.621 8.355-46.429 114.895-6.423 4.329zM746.129 733.948h-536.521l-6.927-6.919v-229.212l6.927-6.917h74.353l8.605-0.46 8.761-1.417c23.039-5.071 43.261-20.321 54.855-41.98l4.087-8.769 46.352-114.681 3.983-8.615 5.503-9.253c15.865-23.677 40.988-39.212 69.023-42.353l10.245-0.577 250.76 0.037 6.925 6.917v457.279l-6.925 6.919zM611.998 445.623l6.103-0.505c17.884-2.995 31.581-18.935 31.581-38.215 0-21.423-16.911-38.72-37.684-38.72h-134.129l-6.103 0.507c-17.884 2.995-31.581 18.933-31.581 38.213 0 21.423 16.911 38.72 37.684 38.72h134.129zM611.998 628.552l6.103-0.507c17.884-2.995 31.581-18.933 31.581-38.213 0-21.423-16.911-38.72-37.684-38.72h-268.26l-6.103 0.505c-17.884 2.995-31.581 18.935-31.581 38.215 0 21.423 16.911 38.72 37.684 38.72h268.26z" />
<glyph unicode="&#xe979;" glyph-name="menu-project" d="M477.867 173.104c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2zM643.617 173.104c-28.277 0-51.2 22.923-51.2 51.2s22.923 51.2 51.2 51.2c28.277 0 51.2-22.923 51.2-51.2s-22.923-51.2-51.2-51.2zM136.534 668.038v-68.267h-68.267v102.4c0 18.851 15.282 34.133 34.133 34.133h750.934c18.851 0 34.133-15.282 34.133-34.133v-102.4h-68.267v68.267h-682.668zM896.545 394.971v136.534h-827.58v-614.401h827.58v136.534h-589.344c-18.851 0-34.133 15.282-34.133 34.133v273.066c0 18.851 15.282 34.133 34.133 34.133h589.344zM955.036 326.704h-618.039v-204.801h618.039v204.801zM965.51-117.029c0-18.851-15.438-34.133-34.483-34.133h-896.545c-19.044 0-34.482 15.282-34.482 34.133v682.668c0 18.851 15.438 34.133 34.482 34.133h896.545c19.044 0 34.483-15.282 34.483-34.133v-168.406h24.008c19.044 0 34.482-15.282 34.482-34.133v-277.21c0-18.851-15.438-34.133-34.482-34.133h-24.008v-168.785z" />
<glyph unicode="&#xe97a;" glyph-name="menu-my" d="M68.267 408.89v-560.052h887.467v560.052l-443.733 319.488-443.733-319.488zM14.189 454.074l477.867 344.064c11.913 8.577 27.975 8.577 39.889 0l477.867-344.064c8.909-6.415 14.189-16.721 14.189-27.7v-611.669c0-18.851-15.283-34.133-34.133-34.133h-955.733c-18.851 0-34.133 15.283-34.133 34.133v611.669c0 10.977 5.28 21.285 14.189 27.7zM307.2 292.571h409.6c18.851 0 34.133-15.283 34.133-34.133s-15.283-34.133-34.133-34.133h-409.6c-18.851 0-34.133 15.283-34.133 34.133s15.283 34.133 34.133 34.133zM307.2 87.771h409.6c18.851 0 34.133-15.283 34.133-34.133s-15.283-34.133-34.133-34.133h-409.6c-18.851 0-34.133 15.283-34.133 34.133s15.283 34.133 34.133 34.133z" />
<glyph unicode="&#xe97a;" glyph-name="menu-my" d="M598.313-217.87c-19.728-0.572-36.183 14.957-36.755 34.685-0.020 0.69-0.020 1.381 0 2.071v179.674c0 31.295-25.37 56.665-56.665 56.665s-56.665-25.37-56.665-56.665v-179.674c0.572-19.728-14.956-36.184-34.684-36.756-0.69-0.016-1.381-0.016-2.071 0h-194.5c-60.853 0.113-110.155 49.415-110.267 110.267v322.125h-20.931c-46.941-0.425-85.339 37.284-85.771 84.225 0 0.513 0 1.026 0 1.54-0.176 22.142 8.457 43.449 24.002 59.218l371.643 393.596c60.793 63.891 161.717 66.853 226.151 6.636 1.204-2.737 3.389-4.922 6.126-6.126l371.644-394.105c32.993-33.59 32.51-87.567-1.081-120.561-16.303-16.013-38.352-24.811-61.199-24.42h-31.652v-322.127c-0.056-60.677-49.081-109.931-109.757-110.267h-197.563zM636.090-144.359h159.276c21.087 0.142 38.148 17.202 38.288 38.29v357.347c-0.572 19.728 14.956 36.184 34.684 36.756 0.691 0.020 1.382 0.020 2.072 0h68.917c5.104 0.043 9.616 3.325 11.23 8.167v0c2.018 4.941 0.803 10.613-3.062 14.294l-373.173 392.064c-32.46 34.803-86.988 36.702-121.792 4.242-0.417-0.389-0.83-0.782-1.24-1.18v0c-1.638-0.122-2.941-1.424-3.062-3.062l-371.642-392.576c-4.59-4.874-4.59-12.48 0-17.356v0c2.603-2.435 6.169-3.561 9.699-3.063h59.219c19.728 0.572 36.184-14.956 36.756-34.684 0.020-0.691 0.020-1.382 0-2.072v-358.88c0.139-21.087 17.199-38.148 38.287-38.288h157.234v176.634c0 40.599 32.912 73.511 73.511 73.511h113.332c40.599 0 73.511-32.912 73.511-73.511 0 0 0 0 0 0l-2.042-176.634h-0.001z" />
<glyph unicode="&#xe97b;" glyph-name="swap" d="M457.387 758.428h-345.144c-19.556 0-34.927-17.161-34.927-39.012v-336.972c0-21.852 15.371-39.012 34.927-39.012h345.144c19.556 0 34.927 17.161 34.927 39.012v336.972c0 21.852-15.371 39.012-34.927 39.012zM178.929 444.494v207.5h207.5v-207.5h-207.5zM908.473 240.692h-345.265c-19.624 0-34.932-17.164-34.932-38.868v-337.327c0-21.705 15.308-38.803 34.932-38.803h345.199c19.559 0 34.867 17.097 34.867 38.803v337.327c0.065 21.705-16.681 38.868-34.801 38.868zM631.373-69.525v207.5h207.5v-207.5h-207.5zM625.269 684.291c109.041-10.953 196.527-76.597 215.193-189.209h-63.115l101.856-151.651 101.924 151.651h-70.299c-18.667 151.651-133.413 250.22-278.375 264.263-20.076 1.612-38.675-15.589-38.675-37.493 1.344-18.813 14.235-35.945 31.491-37.56zM398.595-99.157c-121.932 10.953-215.193 92.255-219.491 226.769h67.412l-101.789 151.651-101.856-151.651h67.412c2.82-173.623 124.752-286.165 281.195-301.823 20.076-1.544 38.743 15.657 38.743 37.56v0c0.256 18.635-13.227 34.616-31.625 37.493v0z" />
<glyph unicode="&#xe97c;" glyph-name="clock" d="M950.856 292.571c0 242.373-196.482 438.856-438.856 438.856s-438.856-196.482-438.856-438.856c0-242.373 196.482-438.856 438.856-438.856s438.856 196.482 438.856 438.856zM1023.999 292.571c0-282.769-229.23-512.001-512.001-512.001s-511.999 229.23-511.999 512.001c0 282.771 229.23 511.999 511.999 511.999s512.001-229.23 512.001-511.999zM548.57 307.564l135.682-135.315c14.34-14.34 14.34-37.592 0-51.93s-37.592-14.34-51.93 0l-146.286 146.286c-6.847 6.902-10.661 16.245-10.605 25.965v329.143c0 20.198 16.373 36.57 36.57 36.57s36.57-16.373 36.57-36.57v-314.148z" />
<glyph unicode="&#xe97d;" glyph-name="cost" d="M950.856 292.571c0 242.373-196.482 438.856-438.856 438.856s-438.856-196.482-438.856-438.856c0-242.373 196.482-438.856 438.856-438.856s438.856 196.482 438.856 438.856zM1023.999 292.571c0-282.769-229.23-512.001-512.001-512.001s-511.999 229.23-511.999 512.001c0 282.771 229.23 511.999 511.999 511.999s512.001-229.23 512.001-511.999zM558.52 28.667h-85.629v108.996h-124.014v44.46h124.014v61.668l-0.737 0.717h-123.276v44.46h97.439l-143.944 251.697h97.439l115.894-220.145 115.894 220.145h97.439l-143.944-251.697h98.177v-44.46h-124.014l-0.737-0.717v-61.668h124.752v-44.46h-124.752v-108.996z" />

Before

Width:  |  Height:  |  Size: 189 KiB

After

Width:  |  Height:  |  Size: 189 KiB

Binary file not shown.
Binary file not shown.