Merge branch '15.0.beta3' of http://gitlab.zcorp.cc/easycorp/zentaopms into 15.0.beta3
This commit is contained in:
@@ -9,6 +9,8 @@
|
||||
* @version $Id: en.php 4729 2013-05-03 07:53:55Z chencongzhi520@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
global $config;
|
||||
|
||||
$lang->action->common = 'Log';
|
||||
$lang->action->product = $lang->productCommon;
|
||||
$lang->action->project = 'Project';
|
||||
@@ -30,6 +32,9 @@ $lang->action->editComment = 'Edit Comment';
|
||||
$lang->action->create = 'Add Comment';
|
||||
$lang->action->comment = 'Comment';
|
||||
|
||||
$lang->action->undeleteAction = 'Reset Data';
|
||||
$lang->action->hideOneAction = 'Hide Data';
|
||||
|
||||
$lang->action->trashTips = 'Note: Delete in ZenTao is logic.';
|
||||
$lang->action->textDiff = 'Text Format';
|
||||
$lang->action->original = 'Original Format';
|
||||
@@ -96,7 +101,6 @@ $lang->action->objectTypes['stakeholder'] = 'Stakeholder';
|
||||
$lang->action->objectTypes['budget'] = 'Cost Estimate';
|
||||
$lang->action->objectTypes['entry'] = 'Entry';
|
||||
$lang->action->objectTypes['webhook'] = 'Webhook';
|
||||
$lang->action->objectTypes['job'] = 'Job';
|
||||
|
||||
/* Used to describe operation history. */
|
||||
$lang->action->desc = new stdclass();
|
||||
|
||||
@@ -431,6 +431,7 @@ $lang->action->dynamicAction->entry['created'] = '添加应用';
|
||||
$lang->action->dynamicAction->entry['edited'] = '编辑应用';
|
||||
|
||||
/* 用来生成相应对象的链接。*/
|
||||
global $config;
|
||||
$lang->action->label->product = $lang->productCommon . '|product|view|productID=%s';
|
||||
$lang->action->label->productplan = "计划|productplan|view|productID=%s";
|
||||
$lang->action->label->release = '发布|release|view|productID=%s';
|
||||
|
||||
@@ -8,6 +8,9 @@ $lang->backup->restore = 'Restore';
|
||||
$lang->backup->change = 'Edit Expiration';
|
||||
$lang->backup->changeAB = 'Edit';
|
||||
$lang->backup->rmPHPHeader = 'Remove PHP header';
|
||||
$lang->backup->setting = 'Setting';
|
||||
|
||||
$lang->backup->settingAction = 'Backup Setting';
|
||||
|
||||
$lang->backup->time = 'Date';
|
||||
$lang->backup->files = 'Files';
|
||||
@@ -19,7 +22,6 @@ $lang->backup->status = 'Status';
|
||||
$lang->backup->statusList['success'] = 'Success';
|
||||
$lang->backup->statusList['fail'] = 'Fail';
|
||||
|
||||
$lang->backup->setting = 'Settings';
|
||||
$lang->backup->settingDir = 'Backup Directory';
|
||||
$lang->backup->settingList['nofile'] = 'Do not back up files or codes.';
|
||||
$lang->backup->settingList['nosafe'] = 'Do not prevent downloading PHP file header.';
|
||||
|
||||
@@ -40,7 +40,7 @@
|
||||
<div class='col'>
|
||||
<div class='panel-content'>
|
||||
<div class='panel-heading not-move-handler'>
|
||||
<?php if($config->systemMode == 'new'):?>
|
||||
<?php if(isset($config->maxVersion)):?>
|
||||
<?php if($project->model === 'waterfall'): ?>
|
||||
<span class='project-type-label label label-warning label-outline'><?php echo $lang->project->waterfall; ?></span>
|
||||
<?php else: ?>
|
||||
|
||||
+21
-20
@@ -27,26 +27,27 @@ $lang->build->confirmUnlinkBug = "Do you want to unlink this Bug?";
|
||||
|
||||
$lang->build->basicInfo = 'Basic Info';
|
||||
|
||||
$lang->build->id = 'ID';
|
||||
$lang->build->product = $lang->productCommon;
|
||||
$lang->build->branch = 'Platform/Branch';
|
||||
$lang->build->execution = $lang->executionCommon;
|
||||
$lang->build->name = 'Name';
|
||||
$lang->build->date = 'Date';
|
||||
$lang->build->builder = 'Builder';
|
||||
$lang->build->scmPath = 'SCM Path';
|
||||
$lang->build->filePath = 'File Path';
|
||||
$lang->build->desc = 'Description';
|
||||
$lang->build->files = 'Files';
|
||||
$lang->build->last = 'Last Build';
|
||||
$lang->build->packageType = 'Package Type';
|
||||
$lang->build->unlinkStory = "Unlink {$lang->SRCommon}";
|
||||
$lang->build->unlinkBug = 'Unlink Bug';
|
||||
$lang->build->stories = "Finished {$lang->SRCommon}";
|
||||
$lang->build->bugs = 'Resolved Bugs';
|
||||
$lang->build->generatedBugs = 'Reported Bugs';
|
||||
$lang->build->noProduct = " <span id='noProduct' style='color:red'>This {$lang->executionCommon} is not linked to {$lang->productCommon}, so the Build cannot be created. Please first <a href='%s' data-app='%s' data-toggle='modal' data-type='iframe'> link {$lang->productCommon}</a></span>";
|
||||
$lang->build->noBuild = 'No builds yet.';
|
||||
$lang->build->id = 'ID';
|
||||
$lang->build->product = $lang->productCommon;
|
||||
$lang->build->branch = 'Platform/Branch';
|
||||
$lang->build->execution = $lang->executionCommon;
|
||||
$lang->build->name = 'Name';
|
||||
$lang->build->date = 'Date';
|
||||
$lang->build->builder = 'Builder';
|
||||
$lang->build->scmPath = 'SCM Path';
|
||||
$lang->build->filePath = 'File Path';
|
||||
$lang->build->desc = 'Description';
|
||||
$lang->build->files = 'Files';
|
||||
$lang->build->last = 'Last Build';
|
||||
$lang->build->packageType = 'Package Type';
|
||||
$lang->build->unlinkStory = "Unlink {$lang->SRCommon}";
|
||||
$lang->build->unlinkBug = 'Unlink Bug';
|
||||
$lang->build->stories = "Finished {$lang->SRCommon}";
|
||||
$lang->build->bugs = 'Resolved Bugs';
|
||||
$lang->build->generatedBugs = 'Reported Bugs';
|
||||
$lang->build->noProduct = " <span id='noProduct' style='color:red'>This {$lang->executionCommon} is not linked to {$lang->productCommon}, so the Build cannot be created. Please first <a href='%s' data-app='%s' data-toggle='modal' data-type='iframe'> link {$lang->productCommon}</a></span>";
|
||||
$lang->build->noBuild = 'No builds yet.';
|
||||
$lang->build->emptyExecution = $lang->executionCommon . 'should be not empty.';
|
||||
|
||||
$lang->build->notice = new stdclass();
|
||||
$lang->build->notice->changeProduct = "The {$lang->SRCommon}, bug, or the version of the submitted test order has been linked, and its {$lang->productCommon} cannot be modified";
|
||||
|
||||
@@ -24,9 +24,13 @@ $lang->caselib->deleted = 'Deleted';
|
||||
$lang->caselib->exportTemplet = 'Export Template';
|
||||
$lang->caselib->batchCreateCase = 'Batch Create';
|
||||
$lang->caselib->import = 'Import';
|
||||
$lang->caselib->importAction = 'Import Case';
|
||||
$lang->caselib->showImport = 'Imported Data';
|
||||
|
||||
$lang->caselib->browseAction = 'Caselib List';
|
||||
$lang->caselib->deleteAction = "Delete Caselib";
|
||||
$lang->caselib->importAction = 'Import Case';
|
||||
$lang->caselib->linkVersion = "Version";
|
||||
|
||||
$lang->caselib->id = 'ID';
|
||||
$lang->caselib->name = 'Name';
|
||||
$lang->caselib->desc = 'Description';
|
||||
|
||||
@@ -726,11 +726,17 @@ class commonModel extends model
|
||||
public static function printSearchBox()
|
||||
{
|
||||
global $lang;
|
||||
global $config;
|
||||
|
||||
$searchObject = 'bug';
|
||||
echo "<div class='input-group-btn'>";
|
||||
echo html::hidden('searchType', $searchObject);
|
||||
echo "<ul id='searchTypeMenu' class='dropdown-menu'>";
|
||||
foreach ($lang->searchObjects as $key => $value)
|
||||
|
||||
$searchObjects = $lang->searchObjects;
|
||||
if($config->systemMode != 'new') unset($searchObjects['program'], $searchObjects['project']);
|
||||
|
||||
foreach ($searchObjects as $key => $value)
|
||||
{
|
||||
$class = $key == $searchObject ? "class='selected'" : '';
|
||||
if($key == 'program') $key = 'program-product';
|
||||
@@ -1003,7 +1009,7 @@ class commonModel extends model
|
||||
$className = 'header';
|
||||
}
|
||||
$link = helper::createLink($module, $method, sprintf($vars, $orderBy));
|
||||
echo $isMobile ? html::a($link, $label, '', "class='$className'") : html::a($link, $label, '', "class='$className'");
|
||||
echo $isMobile ? html::a($link, $label, '', "class='$className' data-app={$app->openApp}") : html::a($link, $label, '', "class='$className' data-app={$app->openApp}");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -676,8 +676,9 @@ class execution extends control
|
||||
$this->loadModel('user');
|
||||
$this->app->loadLang('testcase');
|
||||
|
||||
$type = strtolower($type);
|
||||
$param = (int)$param;
|
||||
$type = strtolower($type);
|
||||
$param = $param;
|
||||
$productID = 0;
|
||||
setcookie('storyPreExecutionID', $executionID, $this->config->cookieLife, $this->config->webRoot, '', false, true);
|
||||
if($this->cookie->storyPreExecutionID != $executionID)
|
||||
{
|
||||
@@ -697,6 +698,7 @@ class execution extends control
|
||||
}
|
||||
elseif($type == 'byproduct')
|
||||
{
|
||||
$productID = $param;
|
||||
$_COOKIE['storyModuleParam'] = 0;
|
||||
$_COOKIE['storyProductParam'] = $param;
|
||||
$_COOKIE['storyBranchParam'] = 0;
|
||||
@@ -773,23 +775,23 @@ class execution extends control
|
||||
$allPlans = array('' => '');
|
||||
if(!empty($plans))
|
||||
{
|
||||
foreach($plans as $productID => $plan) $allPlans += $plan;
|
||||
foreach($plans as $plan) $allPlans += $plan;
|
||||
}
|
||||
|
||||
if($this->cookie->storyModuleParam) $this->view->module = $this->loadModel('tree')->getById($this->cookie->storyModuleParam);
|
||||
if($this->cookie->storyProductParam) $this->view->product = $this->loadModel('product')->getById($this->cookie->storyProductParam);
|
||||
if($this->cookie->storyBranchParam)
|
||||
{
|
||||
$productID = 0;
|
||||
$branchID = $this->cookie->storyBranchParam;
|
||||
$branchID = $this->cookie->storyBranchParam;
|
||||
if(strpos($branchID, ',') !== false) list($productID, $branchID) = explode(',', $branchID);
|
||||
$this->view->branch = $this->loadModel('branch')->getById($branchID, $productID);
|
||||
}
|
||||
|
||||
/* Get execution's product. */
|
||||
$productID = 0;
|
||||
$productPairs = $this->loadModel('product')->getProductPairsByProject($executionID);
|
||||
if($productPairs) $productID = key($productPairs);
|
||||
|
||||
if(empty($productID)) $productID = key($productPairs);
|
||||
$modulePairs = $this->tree->getModulePairs($type == 'byproduct' ? $param : 0, 'story', true);
|
||||
|
||||
/* Assign. */
|
||||
$this->view->title = $title;
|
||||
@@ -803,7 +805,7 @@ class execution extends control
|
||||
$this->view->type = $this->session->executionStoryBrowseType;
|
||||
$this->view->param = $param;
|
||||
$this->view->moduleTree = $this->loadModel('tree')->getProjectStoryTreeMenu($executionID, $startModuleID = 0, array('treeModel', 'createStoryLink'));
|
||||
$this->view->modulePairs = $this->tree->getModulePairs(0, 'story', true);
|
||||
$this->view->modulePairs = $modulePairs;
|
||||
$this->view->tabID = 'story';
|
||||
$this->view->storyTasks = $storyTasks;
|
||||
$this->view->storyBugs = $storyBugs;
|
||||
|
||||
@@ -196,9 +196,9 @@ $lang->execution->deleteAB = "Delete Execution";
|
||||
$lang->execution->browse = "{$lang->executionCommon} List";
|
||||
$lang->execution->list = "{$lang->executionCommon} List";
|
||||
$lang->execution->edit = "Edit {$lang->executionCommon}";
|
||||
$lang->execution->editAB = "Edit Execution";
|
||||
$lang->execution->editAction = "Edit Execution";
|
||||
$lang->execution->batchEdit = "Edit";
|
||||
$lang->execution->batchEditAB = "Batch Edit";
|
||||
$lang->execution->batchEditAction = "Batch Edit";
|
||||
$lang->execution->manageMembers = 'Manage Team';
|
||||
$lang->execution->unlinkMember = 'Remove Member';
|
||||
$lang->execution->unlinkStory = 'Unlink Story';
|
||||
@@ -218,6 +218,7 @@ $lang->execution->importPlanStory = $lang->executionCommon . ' is created!\nDo
|
||||
$lang->execution->iteration = 'Iterations';
|
||||
$lang->execution->iterationInfo = '%s Iterations';
|
||||
$lang->execution->viewAll = 'View All';
|
||||
$lang->execution->testreport = 'Test Report';
|
||||
|
||||
/* Group browsing. */
|
||||
$lang->execution->allTasks = 'All';
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
</div>
|
||||
<div class="btn-toolbar pull-right">
|
||||
<?php
|
||||
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-app='execution'");
|
||||
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 iframe' data-app='execution'");
|
||||
|
||||
if(common::canModify('execution', $execution))
|
||||
{
|
||||
|
||||
@@ -29,6 +29,8 @@ $lang->extension->eraseAction = 'Erase Extension';
|
||||
$lang->extension->upgrade = 'Upgrade Extension';
|
||||
$lang->extension->agreeLicense = 'I agree to the license.';
|
||||
|
||||
$lang->extension->browseAction = 'Extension List';
|
||||
|
||||
$lang->extension->structure = 'Structure';
|
||||
$lang->extension->structureAction = 'Extension Structure';
|
||||
$lang->extension->installed = 'Installed';
|
||||
|
||||
@@ -93,8 +93,6 @@ $lang->resource->my->story = 'story';
|
||||
$lang->resource->my->task = 'task';
|
||||
$lang->resource->my->bug = 'bug';
|
||||
$lang->resource->my->doc = 'doc';
|
||||
$lang->resource->my->issue = 'issue';
|
||||
$lang->resource->my->risk = 'risk';
|
||||
$lang->resource->my->testtask = 'testtask';
|
||||
$lang->resource->my->testcase = 'testcase';
|
||||
$lang->resource->my->execution = 'execution';
|
||||
@@ -122,8 +120,6 @@ $lang->my->methodOrder[95] = 'testtask';
|
||||
$lang->my->methodOrder[100] = 'testcase';
|
||||
$lang->my->methodOrder[105] = 'execution';
|
||||
$lang->my->methodOrder[110] = 'doc';
|
||||
$lang->my->methodOrder[115] = 'issue';
|
||||
$lang->my->methodOrder[120] = 'risk';
|
||||
|
||||
/* Todo. */
|
||||
$lang->resource->todo = new stdclass();
|
||||
@@ -1199,8 +1195,6 @@ $lang->resource->user->cropAvatar = 'cropAvatar';
|
||||
$lang->resource->user->profile = 'profile';
|
||||
$lang->resource->user->batchEdit = 'batchEdit';
|
||||
$lang->resource->user->unbind = 'unbind';
|
||||
$lang->resource->user->issue = 'issue';
|
||||
$lang->resource->user->risk = 'risk';
|
||||
$lang->resource->user->setPublicTemplate = 'setPublicTemplate';
|
||||
|
||||
$lang->user->methodOrder[5] = 'create';
|
||||
@@ -1213,8 +1207,6 @@ $lang->user->methodOrder[30] = 'todo';
|
||||
$lang->user->methodOrder[35] = 'task';
|
||||
$lang->user->methodOrder[40] = 'bug';
|
||||
$lang->user->methodOrder[45] = 'project';
|
||||
$lang->user->methodOrder[50] = 'issue';
|
||||
$lang->user->methodOrder[55] = 'risk';
|
||||
$lang->user->methodOrder[60] = 'dynamic';
|
||||
$lang->user->methodOrder[65] = 'cropAvatar';
|
||||
$lang->user->methodOrder[70] = 'profile';
|
||||
|
||||
@@ -23,8 +23,12 @@ js::set('defaultOpen', $open);
|
||||
#versionTitle {margin: 8px 3px 0px 0px; background-image: url(<?php echo $config->webRoot . 'theme/default/images/main/version-upgrade.svg';?>);}
|
||||
.icon-version {width: 20px; height: 24px; margin: -4px 3px 0px 0px; background-image: url(<?php echo $config->webRoot . 'theme/default/images/main/version-new.svg';?>);}
|
||||
.version-hr {margin-top: 15px; margin-bottom: 15px;}
|
||||
<?php if(isset($this->config->bizVersion)):?>
|
||||
<?php if((isset($config->bizVersion) or isset($config->maxVersion)) and $config->systemMode == 'new'):?>
|
||||
#searchbox .dropdown-menu.show-quick-go.with-active {top: -468px; max-height: 465px;}
|
||||
<?php elseif((isset($config->bizVersion) or isset($config->maxVersion)) and $config->systemMode != 'new'):?>
|
||||
#searchbox .dropdown-menu.show-quick-go.with-active {top: -436px; max-height: 440px;}
|
||||
<?php elseif($config->systemMode != 'new'):?>
|
||||
#searchbox .dropdown-menu.show-quick-go.with-active {top: -330px; max-height: 350px;}
|
||||
<?php endif;?>
|
||||
|
||||
<?php if(empty($latestVersionList)):?>
|
||||
|
||||
@@ -6,6 +6,9 @@ $lang->jenkins->edit = 'Edit Jenkins';
|
||||
$lang->jenkins->delete = 'Delete';
|
||||
$lang->jenkins->confirmDelete = 'Do you want to delete this Jenkins server?';
|
||||
|
||||
$lang->jenkins->browseAction = 'Jenkins List';
|
||||
$lang->jenkins->deleteAction = 'Delete Jenkins';
|
||||
|
||||
$lang->jenkins->id = 'ID';
|
||||
$lang->jenkins->name = 'Name';
|
||||
$lang->jenkins->url = 'URL';
|
||||
|
||||
@@ -10,6 +10,8 @@ $lang->job->confirmDelete = 'Do you want to delete this job?';
|
||||
$lang->job->dirChange = 'Directory Changed';
|
||||
$lang->job->buildTag = 'Build Tag';
|
||||
|
||||
$lang->job->browseAction = 'Job List';
|
||||
|
||||
$lang->job->id = 'ID';
|
||||
$lang->job->name = 'Name';
|
||||
$lang->job->repo = 'Repo';
|
||||
|
||||
@@ -41,10 +41,17 @@ $lang->my->testtask = 'My Test Task';
|
||||
$lang->my->testcase = 'My Case';
|
||||
$lang->my->storyConcept = 'Story Concept';
|
||||
|
||||
$lang->my->myExecutions = "My Stage/Sprint/Iteration";
|
||||
$lang->my->indexAction = 'My Index';
|
||||
$lang->my->calendarAction = 'My Calendar';
|
||||
$lang->my->workAction = 'My Work';
|
||||
$lang->my->contributeAction = 'My Contribute';
|
||||
$lang->my->profileAction = 'Profile';
|
||||
$lang->my->dynamicAction = 'Dynamic';
|
||||
|
||||
$lang->my->myExecutions = "My Executions";
|
||||
$lang->my->name = 'Name';
|
||||
$lang->my->code = 'Code';
|
||||
$lang->my->projects = 'Project';
|
||||
$lang->my->projects = 'Projects';
|
||||
$lang->my->executions = 'Executions';
|
||||
|
||||
$lang->my->executionMenu = new stdclass();
|
||||
|
||||
+34
-24
@@ -9,29 +9,33 @@
|
||||
* @version $Id: en.php 5091 2013-07-10 06:06:46Z chencongzhi520@gmail.com $
|
||||
* @link http://www.zentao.net
|
||||
*/
|
||||
$lang->product->index = $lang->productCommon . ' Home';
|
||||
$lang->product->browse = 'Story List';
|
||||
$lang->product->dynamic = 'Dynamics';
|
||||
$lang->product->view = "{$lang->productCommon} Detail";
|
||||
$lang->product->edit = "Edit {$lang->productCommon}";
|
||||
$lang->product->batchEdit = 'Batch Edit';
|
||||
$lang->product->create = "Create {$lang->productCommon}";
|
||||
$lang->product->delete = "Delete {$lang->productCommon}";
|
||||
$lang->product->deleted = 'Deleted';
|
||||
$lang->product->close = "Close";
|
||||
$lang->product->index = $lang->productCommon . ' Home';
|
||||
$lang->product->browse = 'Story List';
|
||||
$lang->product->dynamic = 'Dynamics';
|
||||
$lang->product->view = "{$lang->productCommon} Detail";
|
||||
$lang->product->edit = "Edit {$lang->productCommon}";
|
||||
$lang->product->batchEdit = 'Batch Edit';
|
||||
$lang->product->create = "Create {$lang->productCommon}";
|
||||
$lang->product->delete = "Delete {$lang->productCommon}";
|
||||
$lang->product->deleted = 'Deleted';
|
||||
$lang->product->close = "Close";
|
||||
$lang->product->select = "Select {$lang->productCommon}";
|
||||
$lang->product->mine = 'Mine:';
|
||||
$lang->product->other = 'Others:';
|
||||
$lang->product->closed = 'Closed';
|
||||
$lang->product->updateOrder = 'Order';
|
||||
$lang->product->all = "All {$lang->productCommon}s";
|
||||
$lang->product->manageLine = "Manage {$lang->productCommon} Line";
|
||||
$lang->product->export = 'Export';
|
||||
$lang->product->dashboard = "Dashboard";
|
||||
$lang->product->changeProgram = "{$lang->productCommon} confirmation of the scope of influence of adjustment of the program set";
|
||||
$lang->product->addWhitelist = 'Add Whitelist';
|
||||
$lang->product->unbindWhitelist = 'Unbind Whitelist';
|
||||
|
||||
$lang->product->indexAction = "All {$lang->productCommon}";
|
||||
$lang->product->closeAction = "Close {$lang->productCommon}";
|
||||
$lang->product->select = "Select {$lang->productCommon}";
|
||||
$lang->product->mine = 'Mine:';
|
||||
$lang->product->other = 'Others:';
|
||||
$lang->product->closed = 'Closed';
|
||||
$lang->product->updateOrder = 'Order';
|
||||
$lang->product->orderAction = "Rank {$lang->productCommon}";
|
||||
$lang->product->all = "All {$lang->productCommon}s";
|
||||
$lang->product->manageLine = "Manage {$lang->productCommon} Line";
|
||||
$lang->product->export = 'Export';
|
||||
$lang->product->orderAction = "Sort {$lang->productCommon}";
|
||||
$lang->product->exportAction = "Export {$lang->productCommon}";
|
||||
$lang->product->dashboard = "Dashboard";
|
||||
$lang->product->changeProgram = "{$lang->productCommon} confirmation of the scope of influence of adjustment of the program set";
|
||||
|
||||
$lang->product->basicInfo = 'Basic Info';
|
||||
$lang->product->otherInfo = 'Other Info';
|
||||
@@ -90,8 +94,6 @@ $lang->product->QD = 'QA Manager';
|
||||
$lang->product->RD = 'Release Manager';
|
||||
$lang->product->acl = 'Access Control';
|
||||
$lang->product->whitelist = 'Whitelist';
|
||||
$lang->product->addWhitelist = 'Add Whitelist';
|
||||
$lang->product->unbindWhitelist = 'Remove Whitelist';
|
||||
$lang->product->branch = '%s';
|
||||
$lang->product->qa = 'Test';
|
||||
$lang->product->release = 'Release';
|
||||
@@ -140,7 +142,15 @@ $lang->product->statusList[''] = '';
|
||||
$lang->product->statusList['normal'] = 'Normal';
|
||||
$lang->product->statusList['closed'] = 'Closed';
|
||||
|
||||
$lang->product->aclList['private'] = "Private {$lang->productCommon} ({$lang->executionCommon} team members only)";
|
||||
global $config;
|
||||
if($config->systemMode == 'new')
|
||||
{
|
||||
$lang->product->aclList['private'] = "Private {$lang->productCommon} (Stakeholders of the respective program, team members and stakeholders of the associated project can access)";
|
||||
}
|
||||
else
|
||||
{
|
||||
$lang->product->aclList['private'] = "Private {$lang->productCommon} ({$lang->executionCommon} team members only)";
|
||||
}
|
||||
$lang->product->aclList['open'] = "Default (Users with privileges to {$lang->productCommon} can access it.)";
|
||||
//$lang->product->aclList['custom'] = 'Custom (Team members and Whitelist members can access it.)';
|
||||
|
||||
|
||||
@@ -143,7 +143,7 @@ $projectIDParam = $isProjectStory ? "projectID=$projectID&" : '';
|
||||
<div class='btn-group dropdown'>
|
||||
<?php $buttonType = $from == 'project' ? 'btn-secondary' : 'btn-primary';?>
|
||||
<?php $extraParam = $from == 'project' ? '' : "&bugID=0&planID=0&todoID=0&extra=&type=$storyType";?>
|
||||
<?php echo html::a($this->createLink('story', 'create', "product=$productID&branch=$branch&moduleID=$moduleID&storyID=0&projectID=0$extraParam"), "<i class='icon icon-plus'></i> {$lang->story->create}", '', "class='btn $buttonType' data-app='$openApp'");?>
|
||||
<?php echo html::a($this->createLink('story', 'create', "product=$productID&branch=$branch&moduleID=$moduleID&storyID=0&projectID={$this->session->project}$extraParam"), "<i class='icon icon-plus'></i> {$lang->story->create}", '', "class='btn $buttonType' data-app='$openApp'");?>
|
||||
<?php if(!empty($productID)): ?>
|
||||
<button type='button' class="btn <?php echo $buttonType?> dropdown-toggle" data-toggle='dropdown'><span class='caret'></span></button>
|
||||
<ul class='dropdown-menu pull-right'>
|
||||
@@ -254,7 +254,8 @@ $projectIDParam = $isProjectStory ? "projectID=$projectID&" : '';
|
||||
<?php
|
||||
$datatableId = $this->moduleName . ucfirst($this->methodName);
|
||||
$useDatatable = (isset($config->datatable->$datatableId->mode) and $config->datatable->$datatableId->mode == 'datatable');
|
||||
$vars = "productID=$productID&branch=$branch&browseType=$browseType¶m=$param&storyType=$storyType&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}";
|
||||
if($from == 'product') $vars = "productID=$productID&branch=$branch&browseType=$browseType¶m=$param&storyType=$storyType&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}";
|
||||
if($from == 'project') $vars = "projectID=$projectID&productID=$productID&branch=$branch&browseType=$browseType¶m=$param&storyType=$storyType&orderBy=%s&recTotal={$pager->recTotal}&recPerPage={$pager->recPerPage}";
|
||||
|
||||
if($useDatatable) include '../../common/view/datatable.html.php';
|
||||
$setting = $this->datatable->getSetting('product');
|
||||
|
||||
@@ -43,6 +43,8 @@ $lang->program->confirmBatchUnlink = "Do you want to batch unlink these sta
|
||||
$lang->program->stakeholderType = 'Stakeholder type';
|
||||
$lang->program->isStakeholderKey = 'Key stakeholder';
|
||||
$lang->program->importStakeholder = 'Import program';
|
||||
$lang->program->unbindWhitelist = 'Unbind Whitelist';
|
||||
$lang->program->importStakeholder = 'Import from program';
|
||||
$lang->program->manageMembers = 'Program Team';
|
||||
$lang->program->beyondParentBudget = 'The remaining budget of the owned program has been exceeded.';
|
||||
$lang->program->parentBudget = 'Parent program surplus budget:';
|
||||
@@ -51,8 +53,8 @@ $lang->program->endGreaterParent = "Parent end date: %s, end date should
|
||||
$lang->program->beginGreateChild = "Child earliest begin: %s, parent begin date < = child earliest begin date.";
|
||||
$lang->program->endLetterChild = "Child latest end: %s, parent end date > = child latest end date.";
|
||||
$lang->program->closeErrorMessage = 'There are subprograms or projects that are not closed';
|
||||
$lang->program->hasChildren = 'The program has a child program or the project exists and can not be deleted.';
|
||||
$lang->program->confirmDelete = "Do you want to delete it?";
|
||||
$lang->program->hasChildren = 'It has child programs or projects. You cannot delete it.';
|
||||
$lang->program->readjustTime = 'Change the program begin&end date.';
|
||||
|
||||
$lang->program->stakeholderTypeList['inside'] = 'Inside';
|
||||
|
||||
@@ -46,8 +46,10 @@ $lang->project->errorSameProducts = 'Project cannot be associated with multiple
|
||||
$lang->project->errorNoProducts = 'At least one product is associated';
|
||||
$lang->project->copyNoProject = 'There are no items available to copy.';
|
||||
$lang->project->searchByName = 'Enter the project name to retrieve';
|
||||
$lang->project->deleted = 'Deleted';
|
||||
$lang->project->linkedProducts = "Linked {$lang->productCommon}s";
|
||||
$lang->project->unlinkedProducts = "Unlinked {$lang->productCommon}s";
|
||||
$lang->project->testreport = 'Test Report';
|
||||
|
||||
/* Fields. */
|
||||
$lang->project->common = 'Project';
|
||||
@@ -61,7 +63,6 @@ $lang->project->copy = 'Copy';
|
||||
$lang->project->begin = 'Begin';
|
||||
$lang->project->end = 'End';
|
||||
$lang->project->status = 'Status';
|
||||
$lang->project->PM = 'Manager';
|
||||
$lang->project->budget = 'Budget';
|
||||
$lang->project->template = 'Template';
|
||||
$lang->project->estimate = 'Estimates';
|
||||
@@ -81,7 +82,6 @@ $lang->project->acl = 'Access control';
|
||||
$lang->project->setPlanduration = 'Set Duration';
|
||||
$lang->project->auth = 'Access Control';
|
||||
$lang->project->durationEstimation = 'Estimated Workload';
|
||||
$lang->project->teamCount = 'Man';
|
||||
$lang->project->leftStories = 'Left Stories';
|
||||
$lang->project->leftTasks = 'Left Tasks';
|
||||
$lang->project->leftBugs = 'Left Bugs';
|
||||
@@ -97,6 +97,11 @@ $lang->project->ev = 'EV';
|
||||
$lang->project->sv = 'SV%';
|
||||
$lang->project->ac = 'AC';
|
||||
$lang->project->cv = 'CV%';
|
||||
$lang->project->pvTitle = 'Planed Value';
|
||||
$lang->project->evTitle = 'Earn Value';
|
||||
$lang->project->svTitle = 'Schedule Variance';
|
||||
$lang->project->acTitle = 'Actual Cost';
|
||||
$lang->project->cvTitle = 'Cost Variance';
|
||||
$lang->project->teamCount = 'Team';
|
||||
$lang->project->longTime = 'Long-Term Program';
|
||||
$lang->project->future = 'TBD';
|
||||
|
||||
@@ -9,6 +9,8 @@ $lang->projectstory->unlinkStory = 'Unlinked' . $lang->SRCommon;
|
||||
$lang->projectstory->importplanstories = 'Linked by plan' . $lang->SRCommon;
|
||||
$lang->projectstory->whyNoStories = "No story can be linked. Please check whether there is any story in project which is linked to {$lang->productCommon} and make sure it has been reviewed.";
|
||||
|
||||
$lang->projectstory->trackAction = 'Matrix';
|
||||
|
||||
global $app;
|
||||
$app->loadLang('product');
|
||||
$lang->projectstory->featureBar['story']['allstory'] = $lang->product->allStory;
|
||||
|
||||
@@ -17,4 +17,3 @@ $lang->projectstory->featureBar['story']['allstory'] = $lang->product->allStory;
|
||||
$lang->projectstory->featureBar['story']['unclosed'] = $lang->product->unclosed;
|
||||
$lang->projectstory->featureBar['story']['changed'] = $lang->product->changedStory;
|
||||
$lang->projectstory->featureBar['story']['closed'] = $lang->product->closedStory;
|
||||
|
||||
|
||||
@@ -4,19 +4,14 @@ $lang->repo->browse = 'View';
|
||||
$lang->repo->viewRevision = 'View Revision';
|
||||
$lang->repo->product = 'Product';
|
||||
$lang->repo->create = 'Create';
|
||||
$lang->repo->createAction = 'Create Repo';
|
||||
$lang->repo->maintain = 'Repo List';
|
||||
$lang->repo->edit = 'Edit';
|
||||
$lang->repo->editAction = 'Edit Repo';
|
||||
$lang->repo->delete = 'Delete Repo';
|
||||
$lang->repo->showSyncCommit = 'Display Sync';
|
||||
$lang->repo->ajaxSyncCommit = 'Interface: Ajax Sync Note';
|
||||
$lang->repo->setRules = 'Set Rules';
|
||||
$lang->repo->download = 'Download File';
|
||||
$lang->repo->downloadDiff = 'Download Diff';
|
||||
$lang->repo->diffAction = 'Revision Diff';
|
||||
$lang->repo->revisionAction = 'Revision Detail';
|
||||
$lang->repo->blameAction = 'Repo Blame';
|
||||
$lang->repo->addBug = 'Add Review';
|
||||
$lang->repo->editBug = 'Edit Bug';
|
||||
$lang->repo->deleteBug = 'Delete Bug';
|
||||
@@ -24,6 +19,15 @@ $lang->repo->addComment = 'Add Comment';
|
||||
$lang->repo->editComment = 'Edit Comment';
|
||||
$lang->repo->deleteComment = 'Delete Comment';
|
||||
|
||||
$lang->repo->browseAction = 'Browse Repo';
|
||||
$lang->repo->createAction = 'Create Repo';
|
||||
$lang->repo->editAction = 'Edit Repo';
|
||||
$lang->repo->diffAction = 'Diff Revision';
|
||||
$lang->repo->downloadAction = 'Download File';
|
||||
$lang->repo->revisionAction = 'Revision Detail';
|
||||
$lang->repo->blameAction = 'Blame';
|
||||
$lang->repo->reviewAction = 'Review List';
|
||||
|
||||
$lang->repo->submit = 'Submit';
|
||||
$lang->repo->cancel = 'Cancel';
|
||||
$lang->repo->addComment = 'Add Comment';
|
||||
|
||||
@@ -44,9 +44,9 @@ $lang->report->bugAssign = 'Bug Assigned Summary';
|
||||
$lang->report->workload = 'Team Workload Summary';
|
||||
$lang->report->workloadAB = 'Workload';
|
||||
$lang->report->bugOpenedDate = 'Bug reported from';
|
||||
$lang->report->beginAndEnd = ' From';
|
||||
$lang->report->begin = 'Begin';
|
||||
$lang->report->end = 'End';
|
||||
$lang->report->beginAndEnd = ' From';
|
||||
$lang->report->dept = 'Department';
|
||||
$lang->report->deviationChart = 'Project Deviation Chart';
|
||||
|
||||
|
||||
@@ -20,7 +20,8 @@ class search extends control
|
||||
public function __construct($module = '', $method = '')
|
||||
{
|
||||
parent::__construct($module, $method);
|
||||
if(!isset($this->config->maxVersion)) unset($this->lang->search->modules['effort']);
|
||||
if(!isset($this->config->maxVersion)) unset($this->lang->search->modules['effort']);
|
||||
if($this->config->systemMode != 'new') unset($this->lang->search->modules['program'], $this->lang->search->modules['project']);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -87,7 +87,7 @@ $lang->search->modules['testreport'] = 'Testing Report';
|
||||
$lang->search->modules['productplan'] = 'Plan';
|
||||
$lang->search->modules['program'] = 'Program';
|
||||
$lang->search->modules['project'] = 'Project';
|
||||
$lang->search->modules['execution'] = 'Execution';
|
||||
$lang->search->modules['execution'] = $lang->executionCommon;
|
||||
$lang->search->modules['story'] = 'Story';
|
||||
|
||||
$lang->search->objectTypeList['story'] = $lang->SRCommon;
|
||||
|
||||
@@ -87,7 +87,7 @@ $lang->search->modules['testreport'] = 'Testing Report';
|
||||
$lang->search->modules['productplan'] = 'Plan';
|
||||
$lang->search->modules['program'] = 'Program';
|
||||
$lang->search->modules['project'] = 'Project';
|
||||
$lang->search->modules['execution'] = 'Execution';
|
||||
$lang->search->modules['execution'] = $lang->executionCommon;
|
||||
$lang->search->modules['story'] = 'Story';
|
||||
|
||||
$lang->search->objectTypeList['story'] = $lang->SRCommon;
|
||||
|
||||
@@ -87,7 +87,7 @@ $lang->search->modules['testreport'] = 'Testing Report';
|
||||
$lang->search->modules['productplan'] = 'Plan';
|
||||
$lang->search->modules['program'] = 'Program';
|
||||
$lang->search->modules['project'] = 'Project';
|
||||
$lang->search->modules['execution'] = 'Execution';
|
||||
$lang->search->modules['execution'] = $lang->executionCommon;
|
||||
$lang->search->modules['story'] = 'Story';
|
||||
|
||||
$lang->search->objectTypeList['story'] = $lang->SRCommon;
|
||||
|
||||
@@ -87,7 +87,7 @@ $lang->search->modules['testreport'] = 'Báo cáo Test';
|
||||
$lang->search->modules['productplan'] = 'Kế hoạch';
|
||||
$lang->search->modules['program'] = 'Program';
|
||||
$lang->search->modules['project'] = 'Project';
|
||||
$lang->search->modules['execution'] = 'Execution';
|
||||
$lang->search->modules['execution'] = $lang->executionCommon;
|
||||
$lang->search->modules['story'] = 'Story';
|
||||
|
||||
$lang->search->objectTypeList['story'] = $lang->SRCommon;
|
||||
|
||||
@@ -87,7 +87,7 @@ $lang->search->modules['testreport'] = '报告';
|
||||
$lang->search->modules['productplan'] = '计划';
|
||||
$lang->search->modules['program'] = '项目集';
|
||||
$lang->search->modules['project'] = '项目';
|
||||
$lang->search->modules['execution'] = '执行';
|
||||
$lang->search->modules['execution'] = $lang->executionCommon;
|
||||
$lang->search->modules['story'] = '需求';
|
||||
|
||||
$lang->search->objectTypeList['story'] = $lang->SRCommon;
|
||||
|
||||
@@ -26,6 +26,9 @@ $lang->stakeholder->issue = 'Issue Management';
|
||||
$lang->stakeholder->viewIssue = 'Active Issues';
|
||||
$lang->stakeholder->userIssue = 'Stakeholder Issues';
|
||||
|
||||
$lang->stakeholder->viewAction = 'View Stakeholder';
|
||||
$lang->stakeholder->viewIssueAction = 'Issue List';
|
||||
|
||||
/* Fields. */
|
||||
$lang->stakeholder->id = 'ID';
|
||||
$lang->stakeholder->user = 'User';
|
||||
|
||||
@@ -196,9 +196,6 @@ class story extends control
|
||||
$moduleOptionMenu = $this->tree->getOptionMenu($productID, $viewType = 'story', 0, $branch);
|
||||
if(empty($moduleOptionMenu)) die(js::locate(helper::createLink('tree', 'browse', "productID=$productID&view=story")));
|
||||
|
||||
/* Set menu. */
|
||||
$this->product->setMenu($product->id, $branch);
|
||||
|
||||
/* Init vars. */
|
||||
$source = '';
|
||||
$sourceNote = '';
|
||||
@@ -1524,6 +1521,7 @@ class story extends control
|
||||
$this->view->stories = $this->story->getZeroCase($productID, $branchID, $sort);
|
||||
$this->view->users = $this->user->getPairs('noletter');
|
||||
$this->view->productID = $productID;
|
||||
$this->view->branchID = $branchID;
|
||||
$this->view->orderBy = $orderBy;
|
||||
$this->view->suiteList = $this->loadModel('testsuite')->getSuites($productID);
|
||||
$this->view->browseType = '';
|
||||
|
||||
@@ -5,7 +5,7 @@ $(function()
|
||||
if(typeof(rawModule) == 'undefined') rawModule = 'product';
|
||||
if(typeof(app) == 'undefined') app = '';
|
||||
if(typeof(execution) != 'undefined') rawModule = 'projectstory';
|
||||
if(['project', 'projectstory'].indexOf(rawModule) === -1)
|
||||
if(['project', 'projectstory'].indexOf(rawModule) === -1 && app != 'qa')
|
||||
{
|
||||
$('#navbar .nav li').removeClass('active');
|
||||
$("#navbar .nav li[data-id=" + storyType + ']').addClass('active');
|
||||
|
||||
+11
-10
@@ -22,16 +22,12 @@ $lang->story->affectedStories = "Affected {$lang->story->story}";
|
||||
|
||||
$lang->story->batchCreate = "Batch Create";
|
||||
$lang->story->change = "Change";
|
||||
$lang->story->changeAction = "Change Story";
|
||||
$lang->story->changed = 'Change';
|
||||
$lang->story->assignTo = 'Assign';
|
||||
$lang->story->assignAction = 'Assign Story';
|
||||
$lang->story->review = 'Review';
|
||||
$lang->story->reviewAction = 'Review Story';
|
||||
$lang->story->needReview = 'Need Review';
|
||||
$lang->story->batchReview = 'Batch Review';
|
||||
$lang->story->edit = "Edit Story";
|
||||
$lang->story->editAB = "Edit Story";
|
||||
$lang->story->batchEdit = "Batch Edit";
|
||||
$lang->story->subdivide = 'Decompose';
|
||||
$lang->story->link = 'Link';
|
||||
@@ -39,15 +35,11 @@ $lang->story->unlink = 'Unlink';
|
||||
$lang->story->track = 'Track';
|
||||
$lang->story->trackAB = 'Track';
|
||||
$lang->story->processStoryChange= 'Process Story Change';
|
||||
$lang->story->subdivideAction = 'Decompose Story';
|
||||
$lang->story->splitRequirent = 'Decompose';
|
||||
$lang->story->close = 'Close';
|
||||
$lang->story->closeAction = 'Close Story';
|
||||
$lang->story->batchClose = 'Batch Close';
|
||||
$lang->story->activate = 'Activate';
|
||||
$lang->story->activateAction = 'Activate Story';
|
||||
$lang->story->delete = "Delete";
|
||||
$lang->story->deleteAction = "Delete Story";
|
||||
$lang->story->view = "Story Detail";
|
||||
$lang->story->setting = "Settings";
|
||||
$lang->story->tasks = "Linked Tasks";
|
||||
@@ -62,11 +54,9 @@ $lang->story->caseCountAB = 'C';
|
||||
$lang->story->linkStory = 'Link Story';
|
||||
$lang->story->unlinkStory = 'UnLinked';
|
||||
$lang->story->export = "Export Data";
|
||||
$lang->story->exportAction = "Export Story";
|
||||
$lang->story->zeroCase = "Stories without cases";
|
||||
$lang->story->zeroTask = "Only list stories without tasks";
|
||||
$lang->story->reportChart = "Report";
|
||||
$lang->story->reportAction = "Story Report";
|
||||
$lang->story->copyTitle = "Copy Title";
|
||||
$lang->story->batchChangePlan = "Batch Change Plans";
|
||||
$lang->story->batchChangeBranch = "Batch Change Branches";
|
||||
@@ -78,6 +68,17 @@ $lang->story->toTask = 'Convert to Task';
|
||||
$lang->story->batchToTask = 'Batch Convert to Task';
|
||||
$lang->story->convertRelations = 'Convert Relations';
|
||||
|
||||
$lang->story->editAction = "Edit {$lang->SRCommon}";
|
||||
$lang->story->changeAction = "Change {$lang->SRCommon}";
|
||||
$lang->story->assignAction = "Assign {$lang->SRCommon}";
|
||||
$lang->story->reviewAction = "Review {$lang->SRCommon}";
|
||||
$lang->story->subdivideAction = "Subdivide {$lang->SRCommon}";
|
||||
$lang->story->closeAction = "Close {$lang->SRCommon}";
|
||||
$lang->story->activateAction = "Activate {$lang->SRCommon}";
|
||||
$lang->story->deleteAction = "Delete {$lang->SRCommon}";
|
||||
$lang->story->exportAction = "Export {$lang->SRCommon}";
|
||||
$lang->story->reportAction = "Report";
|
||||
|
||||
$lang->story->skipStory = '%s is a parent story. It cannot be closed.';
|
||||
$lang->story->closedStory = 'Story %s is closed and will not be closed.';
|
||||
$lang->story->batchToTaskTips = "This action will create a task with the same name as the selected {$lang->SRCommon} and link {$lang->SRCommon} to the task. The closed {$lang->SRCommon} will not be converted into tasks.";
|
||||
|
||||
@@ -23,7 +23,10 @@
|
||||
<table class='table has-sort-head table-fixed' id='storyList'>
|
||||
<thead>
|
||||
<tr>
|
||||
<?php $vars = "productID=$productID&orderBy=%s";?>
|
||||
<?php
|
||||
$this->app->rawModule = 'story';
|
||||
$vars = "productID=$productID&branchID=$branchID&orderBy=%s";
|
||||
?>
|
||||
<th class='c-id'>
|
||||
<div class="checkbox-primary check-all" title="<?php echo $lang->selectAll?>">
|
||||
<label></label>
|
||||
|
||||
@@ -131,6 +131,8 @@ $lang->task->lblPri = 'P';
|
||||
$lang->task->lblHour = '(h)';
|
||||
$lang->task->lblTestStory = 'Story Tested';
|
||||
|
||||
$lang->task->recordEstimateAction = 'Record Estimate';
|
||||
|
||||
$lang->task->ditto = 'Ditto';
|
||||
$lang->task->dittoNotice = "This Task is not linked to the %s as the previous one is!";
|
||||
$lang->task->selectTestStory = 'Select Story Testd';
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
$lang->testtask->index = "Request Home";
|
||||
$lang->testtask->create = "Submit Request";
|
||||
$lang->testtask->reportChart = 'Report';
|
||||
$lang->testtask->reportAction = 'Case Report';
|
||||
$lang->testtask->delete = "Delete Request";
|
||||
$lang->testtask->importUnitResult = "Import Unit Result";
|
||||
$lang->testtask->importunitresult = "Import Unit Result"; //Fix bug custom required testtask.
|
||||
@@ -29,7 +28,6 @@ $lang->testtask->batchAssign = "Batch Assign";
|
||||
$lang->testtask->runCase = "Run";
|
||||
$lang->testtask->batchRun = "Batch Run";
|
||||
$lang->testtask->results = "Results";
|
||||
$lang->testtask->resultsAction = "Case Result";
|
||||
$lang->testtask->createBug = "Bug(+)";
|
||||
$lang->testtask->assign = 'Assign';
|
||||
$lang->testtask->cases = 'Case List';
|
||||
@@ -37,14 +35,10 @@ $lang->testtask->groupCase = "View By Group";
|
||||
$lang->testtask->pre = 'Prev.';
|
||||
$lang->testtask->next = 'Next';
|
||||
$lang->testtask->start = "Start";
|
||||
$lang->testtask->startAction = "Start Request";
|
||||
$lang->testtask->close = "Close";
|
||||
$lang->testtask->closeAction = "Close Request";
|
||||
$lang->testtask->wait = "Waiting";
|
||||
$lang->testtask->block = "Block";
|
||||
$lang->testtask->blockAction = "Block Request";
|
||||
$lang->testtask->activate = "Activate";
|
||||
$lang->testtask->activateAction = "Activate Request";
|
||||
$lang->testtask->testing = "Testing";
|
||||
$lang->testtask->blocked = "Blocked";
|
||||
$lang->testtask->done = "Tested";
|
||||
@@ -54,6 +48,15 @@ $lang->testtask->allTasks = 'All Requests';
|
||||
$lang->testtask->collapseAll = 'Collapse';
|
||||
$lang->testtask->expandAll = 'Expand';
|
||||
|
||||
$lang->testtask->viewAction = "View Testtask";
|
||||
$lang->testtask->casesAction = 'View Case';
|
||||
$lang->testtask->activateAction = "Activate Testtask";
|
||||
$lang->testtask->blockAction = "Block Testtask";
|
||||
$lang->testtask->closeAction = "Close Testtask";
|
||||
$lang->testtask->startAction = "Start Testtask";
|
||||
$lang->testtask->resultsAction = "Case Result";
|
||||
$lang->testtask->reportAction = 'Report';
|
||||
|
||||
$lang->testtask->id = 'ID';
|
||||
$lang->testtask->common = 'Request';
|
||||
$lang->testtask->product = $lang->productCommon;
|
||||
|
||||
@@ -68,6 +68,7 @@ $lang->todo->finishedDate = 'FinishedDate';
|
||||
$lang->todo->closedBy = 'ClosedBy';
|
||||
$lang->todo->closedDate = 'ClosedDate';
|
||||
$lang->todo->deadline = 'Expiration';
|
||||
$lang->todo->deleted = 'Deleted';
|
||||
|
||||
$lang->todo->every = 'Every';
|
||||
$lang->todo->specify = 'Specify';
|
||||
|
||||
@@ -30,6 +30,7 @@ $lang->upgrade->warnningContent = <<<EOT
|
||||
e.g. mysqldump -u root -p zentao >zentao.bak
|
||||
</pre>
|
||||
EOT;
|
||||
|
||||
$lang->upgrade->createFileWinCMD = 'Open command line and execute <strong style="color:#ed980f">echo > %s</strong>';
|
||||
$lang->upgrade->createFileLinuxCMD = 'Execute command line: <strong style="color:#ed980f">touch %s</strong>';
|
||||
$lang->upgrade->setStatusFile = '<h4>Please complete the following actions</h4>
|
||||
@@ -66,27 +67,6 @@ $lang->upgrade->to15Desc = <<<EOD
|
||||
<p><strong>How do you plan to use the new version of ZenTao?</strong></p>
|
||||
EOD;
|
||||
|
||||
$lang->upgrade->to15Mode['classic'] = 'Keep the old version';
|
||||
$lang->upgrade->to15Mode['new'] = 'New program management mode';
|
||||
|
||||
$lang->upgrade->selectedModeTips['classic'] = 'You can also switch to the new program set management mode in the background-Customize in the future.';
|
||||
$lang->upgrade->selectedModeTips['new'] = 'Switching to the program management mode requires merging the previous data, and the system will guide you to complete this operation.';
|
||||
|
||||
$lang->upgrade->demoURL = 'http://zentao20.demo.zentao.net';
|
||||
$lang->upgrade->videoURL = 'https://qc.zentao.net/zentao20.mp4';
|
||||
$lang->upgrade->to20Tips = 'Zentao 20 upgrade tips';
|
||||
$lang->upgrade->to20Button = 'I have done the backup, start the upgrade!!';
|
||||
$lang->upgrade->to20TipsHeader= "<p>Dear user, thank you for your support of ZenTao。Since version 20, Zendo has been fully upgraded to a universal project management platform. Please see the following video for more information(If the video can not play properly, please visit directly <a href='http://zentao20.demo.zentao.net/zentao20.mp4' target='_blank'><u>Zentao20</u></a>):</p><br />";
|
||||
$lang->upgrade->to20Desc = <<<EOD
|
||||
<div class='text-warning'>
|
||||
<p>Friendly reminder:</p>
|
||||
<ol>
|
||||
<li>You can start by installing a version 20 of ZenTao to experience the concepts and processes inside.</li>
|
||||
<li>Version 20 of Zendo has made some major changes, please make a backup before upgrading.</li>
|
||||
<li>Please feel free to upgrade, even if the first upgrade is not in place, subsequent adjustments can be made without affecting system data.</li>
|
||||
</ol>
|
||||
</div>
|
||||
EOD;
|
||||
$lang->upgrade->mergeProgramDesc = <<<EOD
|
||||
<p>Next, we will migrate the previous historical product and iteration data to the project set and under the project, with the following scenario for migration.</p><br />
|
||||
<h4>Option 1: Product and iteration organized by product line </h4>
|
||||
@@ -99,6 +79,12 @@ $lang->upgrade->mergeProgramDesc = <<<EOD
|
||||
<p>These iterations can be selected to fall under a new project.</p>
|
||||
EOD;
|
||||
|
||||
$lang->upgrade->to15Mode['classic'] = 'Keep the old version';
|
||||
$lang->upgrade->to15Mode['new'] = 'New program management mode';
|
||||
|
||||
$lang->upgrade->selectedModeTips['classic'] = 'You can also switch to the new program set management mode in the background-Customize in the future.';
|
||||
$lang->upgrade->selectedModeTips['new'] = 'Switching to the program management mode requires merging the previous data, and the system will guide you to complete this operation.';
|
||||
|
||||
$lang->upgrade->line = 'Product Line';
|
||||
$lang->upgrade->program = 'Merge Project';
|
||||
$lang->upgrade->existProgram = 'Existing programs';
|
||||
|
||||
@@ -640,6 +640,7 @@ class upgradeModel extends model
|
||||
$this->execSQL($this->getUpgradeFile('15.0'));
|
||||
$this->adjustWhitelistOfProject();
|
||||
$this->adjustWhitelistOfProduct();
|
||||
$this->adjustPriv15_0();
|
||||
$this->appendExec('15_0');
|
||||
}
|
||||
|
||||
|
||||
@@ -56,6 +56,7 @@ $lang->user->type = 'User Type';
|
||||
$lang->user->cropAvatar = 'Crop Avatar';
|
||||
$lang->user->cropAvatarTip = 'Drag and drop the box to select the image clipping range.';
|
||||
$lang->user->cropImageTip = 'The image used is too small, the recommended image size is at least 48x48, the current image size is %s';
|
||||
$lang->user->captcha = 'Captcha';
|
||||
|
||||
$lang->user->legendBasic = 'Basic Information';
|
||||
$lang->user->legendContribution = 'Contribution';
|
||||
@@ -128,6 +129,7 @@ $lang->user->lockWarning = "You can try %s times.";
|
||||
$lang->user->loginLocked = "Please contact the administrator to unlock your account or try %s minutes later.";
|
||||
$lang->user->weakPassword = "Your password does not meet the requirements.";
|
||||
$lang->user->errorWeak = "Passwords cannot use [%s] these commonly used weak passwords.";
|
||||
$lang->user->errorCaptcha = "Captcha Error";
|
||||
|
||||
$lang->user->roleList[''] = '';
|
||||
$lang->user->roleList['dev'] = 'Developer';
|
||||
@@ -243,4 +245,4 @@ $lang->user->noticeResetFile = "<h5>Contact the Administrator to reset your pass
|
||||
</ol>";
|
||||
$lang->user->notice4Safe = "Warning: Weak password of one click package detected";
|
||||
$lang->user->process4DIR = "It is detected that you may be using the one click installation package environment. Other sites in the environment are still using simple passwords. For security reasons, if you do not use other sites, please handle them in time. Delete or rename the %s directory. Visit: <a href='https://www.zentao.pm/book/zentaomanual/fix-weak-password-564.html' target='_blank'>https://www.zentao.pm/book/zentaomanual/fix-weak-password-564.html</a>";
|
||||
$lang->user->process4DB = "It is detected that you may be using the one click installation package environment. Other sites in the environment are still using simple passwords. For security reasons, if you do not use other sites, please handle them in time. Please login database and modify password field of zt_user table of %s database. Visit: <a href='https://www.zentao.pm/book/zentaomanual/fix-weak-password-564.html' target='_blank'>https://www.zentao.pm/book/zentaomanual/fix-weak-password-564.html</a>";
|
||||
$lang->user->process4DB = "It is detected that you may be using the one click installation package environment. Other sites in the environment are still using simple passwords. For security reasons, if you do not use other sites, please handle them in time. Please login database and modify password field of zt_user table of %s database. Visit: <a href='https://www.zentao.pm/book/zentaomanual/fix-weak-password-564.html' target='_blank'>https://www.zentao.pm/book/zentaomanual/fix-weak-password-564.html</a>";
|
||||
|
||||
@@ -9,6 +9,8 @@ $lang->webhook->chooseDept = 'Choose department';
|
||||
$lang->webhook->assigned = 'AssignedTo';
|
||||
$lang->webhook->setting = 'Settings';
|
||||
|
||||
$lang->webhook->logAction = 'Webhook Log';
|
||||
|
||||
$lang->webhook->browse = 'Browse';
|
||||
$lang->webhook->create = 'Create';
|
||||
$lang->webhook->edit = 'Edit';
|
||||
@@ -40,6 +42,8 @@ $lang->webhook->typeList['dinggroup'] = 'Dingding Robot';
|
||||
$lang->webhook->typeList['dinguser'] = 'Dingding Notifier';
|
||||
$lang->webhook->typeList['wechatgroup'] = 'Enterprise WeChat Robot';
|
||||
$lang->webhook->typeList['wechatuser'] = 'Enterprise WeChat Notifier';
|
||||
$lang->webhook->typeList['feishugroup'] = 'Feishu Robot';
|
||||
$lang->webhook->typeList['feishuuser'] = 'Feishu Notifier';
|
||||
$lang->webhook->typeList['default'] = 'Others';
|
||||
|
||||
$lang->webhook->sendTypeList['sync'] = 'Synchronous';
|
||||
@@ -58,6 +62,11 @@ $lang->webhook->wechatAgentId = 'Agent ID';
|
||||
$lang->webhook->wechatUserid = 'Wechat Userid';
|
||||
$lang->webhook->wechatBindStatus = 'Bind Status';
|
||||
|
||||
$lang->webhook->feishuAppId = 'Feishu App ID';
|
||||
$lang->webhook->feishuAppSecret = 'Feishu App Secret';
|
||||
$lang->webhook->feishuUserid = 'Feishu Users';
|
||||
$lang->webhook->feishuBindStatus = 'Feishu Bind Status';
|
||||
|
||||
$lang->webhook->zentaoUser = 'Zentao User';
|
||||
|
||||
$lang->webhook->dingBindStatusList['0'] = 'No';
|
||||
|
||||
Reference in New Issue
Block a user