Merge branch 'sprint/169' of https://gitlab.zcorp.cc/easycorp/zentaopms into 169
This commit is contained in:
+1
-15
@@ -414,21 +414,7 @@ class api extends control
|
||||
{
|
||||
if(helper::isAjaxRequest() && !empty($_POST))
|
||||
{
|
||||
$this->loadModel('api');
|
||||
|
||||
$now = helper::now();
|
||||
$userId = $this->app->user->account;
|
||||
$params = fixer::input('post')
|
||||
->remove('type')
|
||||
->skipSpecial('params,response')
|
||||
->add('addedBy', $userId)
|
||||
->add('addedDate', $now)
|
||||
->add('editedBy', $userId)
|
||||
->add('editedDate', $now)
|
||||
->setDefault('product,module', 0)
|
||||
->get();
|
||||
|
||||
$changes = $this->api->update($apiID, $params);
|
||||
$changes = $this->api->update($apiID);
|
||||
if(dao::isError()) return $this->sendError(dao::getError());
|
||||
|
||||
if($changes)
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
.main-col .doc-title {display: flex; font-size: 16px; margin-bottom: 15px;}
|
||||
.main-col .doc-title .title {margin: 0; line-height: 30px; font-size: 25px;}
|
||||
.main-col .doc-title .http-method {line-height: 27px; height: 27px; font-size: 13px; margin-right: 10px; padding: 0 10px;}
|
||||
.main-col .doc-title .path { line-height: 30px; font-size: 20px; margin-right: 15px;}
|
||||
.main-col .doc-title .path { line-height: 30px; font-size: 20px; margin-right: 15px;width:60%;word-wrap: break-word; }
|
||||
.main-col .doc-title .info {flex: 1 1 0;}
|
||||
.main-col .doc-title .version a {font-size: 13px; color: #8c8c8c;}
|
||||
.main-col .doc-title .version .dropdown-menu a:hover {color: #ffffff;}
|
||||
|
||||
+22
-7
@@ -177,7 +177,7 @@ class apiModel extends model
|
||||
/**
|
||||
* Delete a struct.
|
||||
*
|
||||
* @param int $id
|
||||
* @param int $id
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
@@ -192,14 +192,29 @@ class apiModel extends model
|
||||
/**
|
||||
* Update an api doc.
|
||||
*
|
||||
* @param int $id
|
||||
* @param object $data
|
||||
* @param int $apiID
|
||||
* @access public
|
||||
* @return void
|
||||
* @return bool|array
|
||||
*/
|
||||
public function update($id, $data)
|
||||
public function update($apiID)
|
||||
{
|
||||
$oldApi = $this->dao->findByID($id)->from(TABLE_API)->fetch();
|
||||
$oldApi = $this->dao->findByID($apiID)->from(TABLE_API)->fetch();
|
||||
|
||||
if(!empty($_POST['editedDate']) and $oldApi->editedDate != $this->post->editedDate)
|
||||
{
|
||||
dao::$errors[] = $this->lang->error->editedByOther;
|
||||
return false;
|
||||
}
|
||||
|
||||
$now = helper::now();
|
||||
$account = $this->app->user->account;
|
||||
$data = fixer::input('post')
|
||||
->remove('type')
|
||||
->skipSpecial('params,response')
|
||||
->add('editedBy', $account)
|
||||
->add('editedDate', $now)
|
||||
->setDefault('product,module', 0)
|
||||
->get();
|
||||
|
||||
$data->id = $oldApi->id;
|
||||
$data->version = $oldApi->version + 1;
|
||||
@@ -212,7 +227,7 @@ class apiModel extends model
|
||||
->data($data)
|
||||
->autoCheck()
|
||||
->batchCheck($this->config->api->edit->requiredFields, 'notempty')
|
||||
->where('id')->eq($id)
|
||||
->where('id')->eq($apiID)
|
||||
->exec();
|
||||
|
||||
return common::createChanges($oldApi, $data);
|
||||
|
||||
@@ -227,6 +227,7 @@ js::set('api', $api);
|
||||
<tr>
|
||||
<td colspan='3' class='text-center form-actions'>
|
||||
<?php echo html::submitButton();?>
|
||||
<?php echo html::hidden('editedDate', $api->editedDate);?>
|
||||
<?php if(empty($gobackLink)) echo html::backButton($lang->goback, "data-app='{$app->tab}'");?>
|
||||
<?php if(!empty($gobackLink)) echo html::a($gobackLink, $lang->goback, '', "class='btn btn-back btn-wide'");?>
|
||||
</td>
|
||||
|
||||
@@ -202,7 +202,10 @@ class bugModel extends model
|
||||
foreach(explode(',', $this->config->bug->create->requiredFields) as $field)
|
||||
{
|
||||
$field = trim($field);
|
||||
if($field and isset($bug->$field) and empty($bug->$field)) die(js::alert(sprintf($this->lang->error->notempty, $this->lang->bug->$field)));
|
||||
if($field and empty($bug->$field))
|
||||
{
|
||||
die(js::alert(sprintf($this->lang->error->notempty, $this->lang->bug->$field)));
|
||||
}
|
||||
}
|
||||
|
||||
$bugs[$i] = $bug;
|
||||
|
||||
@@ -48,7 +48,10 @@ $lang->install->introductionContent = <<<EOT
|
||||
<h4>Dear users, welcome to ZenTao project management system.</h4>
|
||||
<p>ZenTao has two managment modes in version 15.0 and up. One is the classic management mode, providing two core features, Product and Project; the other is a new project management mode, with Program and Execution added. The following is an introduction to the new mode:</p>
|
||||
<div class='block-content'>
|
||||
<div class='block-details'><p class='block-title'><i class='icon icon-program'></i><strong>Program</strong></p></div>
|
||||
<div class='block-details'>
|
||||
<p class='block-title'><i class='icon icon-program'></i><strong>Program</strong></p>
|
||||
<p>Program is used to manage a group of products and projects, and the company executives or PMO can use it for strategic planning.</p>
|
||||
</div>
|
||||
<div class='block-details block-right'>
|
||||
<p class='block-title'><i class='icon icon-product'></i><strong>Product</strong></p>
|
||||
<p>Product is used to subdivide the company's strategy into requirements that can be developed, and the product manager can use it to make release plans.<p>
|
||||
|
||||
@@ -5,3 +5,6 @@
|
||||
td.normal {color: #00da88;}
|
||||
td.acl {white-space: nowrap;}
|
||||
.row > .col-sm-12:first-child {padding-bottom: 20px;}
|
||||
.c-product ,.c-release ,.c-code {width: 100px !important;}
|
||||
.c-openedBy ,.c-acl ,.c-common {width:110px !important;}
|
||||
.c-bugs {width:120px !important;}
|
||||
|
||||
@@ -43,9 +43,9 @@
|
||||
<table class="table table-data">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th class='w-65px'><i class="icon icon-person icon-sm"></i> <?php echo $lang->productCommon;?></th>
|
||||
<th class="c-product"><i class="icon icon-person icon-sm"></i> <?php echo $lang->productCommon;?></th>
|
||||
<td><strong><?php echo zget($users, $product->PO);?></strong></td>
|
||||
<th><i class="icon icon-person icon-sm"></i> <?php echo $lang->product->release;?></th>
|
||||
<th class="c-release"><i class="icon icon-person icon-sm"></i> <?php echo $lang->product->release;?></th>
|
||||
<td><strong><?php echo zget($users, $product->RD);?></strong></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
@@ -64,13 +64,13 @@
|
||||
<tbody>
|
||||
<tr>
|
||||
<?php if(!empty($product->code)):?>
|
||||
<th class="w-80px"><?php echo $lang->product->code;?></th>
|
||||
<th class="c-code"><?php echo $lang->product->code;?></th>
|
||||
<td><strong><?php echo $product->code;?></strong></td>
|
||||
<?php else:?>
|
||||
<th class="w-80px"><?php echo $lang->product->type;?></th>
|
||||
<td><strong><?php echo zget($lang->product->typeList, $product->type);?></strong></td>
|
||||
<?php endif;?>
|
||||
<th class="w-80px"><?php echo $lang->story->openedBy?></th>
|
||||
<th class="c-openedBy"><?php echo $lang->story->openedBy?></th>
|
||||
<td colspan="2"><strong><?php echo zget($users, $product->createdBy);?></strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -86,10 +86,10 @@
|
||||
</tr>
|
||||
<tr>
|
||||
<?php if(!empty($product->code)):?>
|
||||
<th class="w-80px"><?php echo $lang->productCommon . $lang->product->status;?></th>
|
||||
<th class="w-80px"><?php echo $lang->productCommon ." ". $lang->product->status;?></th>
|
||||
<td class="<?php echo $product->status;?>"><strong><?php echo zget($lang->product->statusList, $product->status);?></strong></td>
|
||||
<?php endif;?>
|
||||
<th><?php echo $lang->product->acl;?></th>
|
||||
<th class="c-acl"><?php echo $lang->product->acl;?></th>
|
||||
<td <?php echo empty($product->code) ? "colspan='4'" : "colspan='2'";?>><strong><?php echo $lang->product->aclList[$product->acl];?></strong></td>
|
||||
</tr>
|
||||
<?php if($product->acl == 'custom'):?>
|
||||
@@ -116,11 +116,11 @@
|
||||
<tbody>
|
||||
<?php $space = common::checkNotCN() ? ' ' : '';?>
|
||||
<tr>
|
||||
<th><?php echo $lang->story->statusList['active'] . $space . $lang->story->common;?></th>
|
||||
<th class="c-common"><?php echo $lang->story->statusList['active'] . $space . $lang->story->common;?></th>
|
||||
<td><strong><?php echo $product->stories['active']?></strong></td>
|
||||
<th><?php echo $lang->product->plans?></th>
|
||||
<td><strong><?php echo $product->plans?></strong></td>
|
||||
<th class='w-80px'><?php echo $lang->product->bugs?></th>
|
||||
<th class='c-bugs'><?php echo $lang->product->bugs?></th>
|
||||
<td><strong><?php echo $product->bugs?></strong></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
@@ -474,7 +474,7 @@ class releaseModel extends model
|
||||
public function changeStatus($releaseID, $status)
|
||||
{
|
||||
$this->dao->update(TABLE_RELEASE)->set('status')->eq($status)->where('id')->eq($releaseID)->exec();
|
||||
return dao::isError();
|
||||
return !dao::isError();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -254,7 +254,7 @@ $lang->story->lblClose = 'Close';
|
||||
$lang->story->lblTBC = 'Task/Bug/Case';
|
||||
|
||||
$lang->story->checkAffection = 'Impact';
|
||||
$lang->story->affectedProjects = "{$lang->project->common}s/{$lang->execution->common}s";
|
||||
$lang->story->affectedProjects = $config->systemMode == 'new' ? "{$lang->project->common}s/{$lang->execution->common}s" : "{$lang->project->common}s";
|
||||
$lang->story->affectedBugs = 'Bug';
|
||||
$lang->story->affectedCases = 'Fall';
|
||||
|
||||
|
||||
@@ -115,8 +115,8 @@ $lang->story->stage = 'Phase';
|
||||
$lang->story->stageAB = 'Phase';
|
||||
$lang->story->stagedBy = 'SetBy';
|
||||
$lang->story->mailto = 'Mailto';
|
||||
$lang->story->openedBy = 'CreatedBy';
|
||||
$lang->story->openedDate = 'CreatedDate';
|
||||
$lang->story->openedBy = 'Created By';
|
||||
$lang->story->openedDate = 'Created Date';
|
||||
$lang->story->assignedTo = 'AssignTo';
|
||||
$lang->story->assignedDate = 'AssignedDate';
|
||||
$lang->story->lastEditedBy = 'EditedBy';
|
||||
@@ -256,7 +256,7 @@ $lang->story->lblClose = 'Close';
|
||||
$lang->story->lblTBC = 'Task/Bug/Case';
|
||||
|
||||
$lang->story->checkAffection = 'Influence';
|
||||
$lang->story->affectedProjects = "{$lang->project->common}s/{$lang->execution->common}s";
|
||||
$lang->story->affectedProjects = $config->systemMode == 'new' ? "{$lang->project->common}s/{$lang->execution->common}s" : "{$lang->project->common}s";
|
||||
$lang->story->affectedBugs = 'Bugs';
|
||||
$lang->story->affectedCases = 'Cases';
|
||||
|
||||
|
||||
@@ -254,7 +254,7 @@ $lang->story->lblClose = 'Fermer';
|
||||
$lang->story->lblTBC = 'Tâche/Bug/CasTest';
|
||||
|
||||
$lang->story->checkAffection = 'Influence';
|
||||
$lang->story->affectedProjects = "{$lang->project->common}s/{$lang->execution->common}s";
|
||||
$lang->story->affectedProjects = $config->systemMode == 'new' ? "{$lang->project->common}s/{$lang->execution->common}s" : "{$lang->project->common}s";
|
||||
$lang->story->affectedBugs = 'Bugs';
|
||||
$lang->story->affectedCases = 'CasTests';
|
||||
|
||||
|
||||
@@ -254,7 +254,7 @@ $lang->story->lblClose = 'Đóng';
|
||||
$lang->story->lblTBC = 'Nhiệm vụ/Bug/Tình huống';
|
||||
|
||||
$lang->story->checkAffection = 'Ảnh hưởng';
|
||||
$lang->story->affectedProjects = "{$lang->project->common}s/{$lang->execution->common}s";
|
||||
$lang->story->affectedProjects = $config->systemMode == 'new' ? "{$lang->project->common}s/{$lang->execution->common}s" : "{$lang->project->common}s";
|
||||
$lang->story->affectedBugs = 'Bugs';
|
||||
$lang->story->affectedCases = 'Tình huống';
|
||||
|
||||
|
||||
@@ -256,7 +256,7 @@ $lang->story->lblClose = "关闭{$lang->SRCommon}";
|
||||
$lang->story->lblTBC = '任务Bug用例';
|
||||
|
||||
$lang->story->checkAffection = '影响范围';
|
||||
$lang->story->affectedProjects = "影响的{$lang->project->common}或{$lang->execution->common}";
|
||||
$lang->story->affectedProjects = $config->systemMode == 'new' ? "影响的{$lang->project->common}或{$lang->execution->common}" : "影响的{$lang->project->common}";
|
||||
$lang->story->affectedBugs = '影响的Bug';
|
||||
$lang->story->affectedCases = '影响的用例';
|
||||
|
||||
|
||||
@@ -256,7 +256,7 @@ $lang->story->lblClose = "關閉{$lang->SRCommon}";
|
||||
$lang->story->lblTBC = '任務Bug用例';
|
||||
|
||||
$lang->story->checkAffection = '影響範圍';
|
||||
$lang->story->affectedProjects = "影響的{$lang->project->common}或{$lang->execution->common}";
|
||||
$lang->story->affectedProjects = $config->systemMode == 'new' ? "影響的{$lang->project->common}或{$lang->execution->common}": "影響的{$lang->project->common}";
|
||||
$lang->story->affectedBugs = '影響的Bug';
|
||||
$lang->story->affectedCases = '影響的用例';
|
||||
|
||||
|
||||
@@ -3771,7 +3771,7 @@ class storyModel extends model
|
||||
common::printIcon('story', 'close', $vars, $story, 'list', '', '', 'iframe', true);
|
||||
common::printIcon('story', 'edit', $vars . "&from=$story->from", $story, 'list', '', '', '', false, "data-group=$story->from");
|
||||
if($story->type != 'requirement') common::printIcon('story', 'createCase', "productID=$story->product&branch=$story->branch&module=0&from=¶m=0&$vars", $story, 'list', 'sitemap', '', '', false, "data-app='qa'");
|
||||
common::printIcon('story', 'batchCreate', "productID=$story->product&branch=$story->branch&module=$story->module&storyID=$story->id", $story, 'list', 'split', '', '', '', '', $this->lang->story->subdivide);
|
||||
if($this->app->rawModule != 'projectstory') common::printIcon('story', 'batchCreate', "productID=$story->product&branch=$story->branch&module=$story->module&storyID=$story->id", $story, 'list', 'split', '', '', '', '', $this->lang->story->subdivide);
|
||||
if($this->app->rawModule == 'projectstory') common::printIcon('projectstory', 'unlinkStory', "projectID={$this->session->project}&storyID=$story->id", '', 'list', 'unlink', 'hiddenwin');
|
||||
}
|
||||
else
|
||||
|
||||
@@ -222,16 +222,6 @@ $(document).on('mousedown', 'select', function()
|
||||
|
||||
$(function()
|
||||
{
|
||||
/* Adjust width for ie chosen width. */
|
||||
if(!hiddenStory)
|
||||
{
|
||||
var chosenWidth = $('#module1_chosen').width();
|
||||
}
|
||||
else
|
||||
{
|
||||
var chosenWidth = 170;
|
||||
}
|
||||
|
||||
$('.chosen-container[id^=module]').width(chosenWidth);
|
||||
$('.chosen-container[id^=module]').css('max-width', chosenWidth);
|
||||
|
||||
|
||||
@@ -51,8 +51,6 @@
|
||||
}
|
||||
}
|
||||
$colspan = count($visibleFields) + 3;
|
||||
$hiddenStory = (isonlybody() and $storyID) ? ' hidden' : '';
|
||||
if($hiddenStory and isset($visibleFields['story'])) $colspan -= 1;
|
||||
?>
|
||||
<form method='post' class='load-indicator batch-actions-form form-ajax' enctype='multipart/form-data' id="batchCreateForm">
|
||||
<div class="table-responsive">
|
||||
@@ -62,7 +60,7 @@
|
||||
<th class='c-id'><?php echo $lang->idAB;?></th>
|
||||
<th class='c-module<?php echo zget($visibleFields, 'module', ' hidden') . zget($requiredFields, 'module', '', ' required');?>'><?php echo $lang->task->module?></th>
|
||||
<?php if($execution->type != 'ops'):?>
|
||||
<th class='c-story<?php echo zget($visibleFields, 'story', ' hidden') . zget($requiredFields, 'story', '', ' required'); echo $hiddenStory;?>'><?php echo $lang->task->story;?></th>
|
||||
<th class='c-story<?php echo zget($visibleFields, 'story', ' hidden') . zget($requiredFields, 'story', '', ' required');?>'><?php echo $lang->task->story;?></th>
|
||||
<?php endif;?>
|
||||
<th class='c-name required has-btn'><?php echo $lang->task->name;?></span></th>
|
||||
<th class='c-type required'><?php echo $lang->typeAB;?></span></th>
|
||||
@@ -108,7 +106,7 @@
|
||||
<?php echo html::hidden("parent[$i]", $parent);?>
|
||||
</td>
|
||||
<?php if($execution->type != 'ops'):?>
|
||||
<td <?php echo zget($visibleFields, 'story', "class='hidden'"); echo $hiddenStory;?> style='overflow: visible'>
|
||||
<td <?php echo zget($visibleFields, 'story', "class='hidden'");?> style='overflow: visible'>
|
||||
<div class='input-group'>
|
||||
<?php echo html::select("story[$i]", $stories, $currentStory, "class='form-control chosen' onchange='setStoryRelated($i)'");?>
|
||||
<span class='input-group-btn'>
|
||||
@@ -176,7 +174,7 @@
|
||||
<?php echo html::select("module[%s]", $modules, $module, "class='form-control chosen' onchange='setStories(this.value, $execution->id, \"%s\")'")?>
|
||||
<?php echo html::hidden("parent[%s]", $parent);?>
|
||||
</td>
|
||||
<td <?php echo zget($visibleFields, 'story', "class='hidden'"); echo $hiddenStory;?> style='overflow: visible'>
|
||||
<td <?php echo zget($visibleFields, 'story', "class='hidden'");?> style='overflow: visible'>
|
||||
<div class='input-group'>
|
||||
<?php echo html::select("story[%s]", $stories, $currentStory, "class='form-control chosen' onchange='setStoryRelated(\"%s\")'");?>
|
||||
<span class='input-group-btn'>
|
||||
@@ -227,6 +225,5 @@
|
||||
<?php js::set('mainField', 'name');?>
|
||||
<?php js::set('ditto', $lang->task->ditto);?>
|
||||
<?php js::set('storyID', $storyID);?>
|
||||
<?php js::set('hiddenStory', $hiddenStory);?>
|
||||
<?php include '../../common/view/pastetext.html.php';?>
|
||||
<?php include '../../common/view/footer.html.php';?>
|
||||
|
||||
@@ -4584,7 +4584,7 @@ class upgradeModel extends model
|
||||
{
|
||||
$projectCase->project = $projectID;
|
||||
$projectCase->order = $projectCase->case * 5;
|
||||
$this->dao->insert(TABLE_PROJECTCASE)->data($projectCase)->exec();
|
||||
$this->dao->replace(TABLE_PROJECTCASE)->data($projectCase)->exec();
|
||||
}
|
||||
|
||||
/* Put sprint cases into project case table. */
|
||||
|
||||
@@ -121,7 +121,7 @@ $lang->user->testTask2Him = 'Build';
|
||||
$lang->user->case2Him = 'Fall zugeordnet';
|
||||
$lang->user->caseByHim = 'Fall geöffnet';
|
||||
|
||||
$lang->user->errorDeny = "Sorry, your access to <b>%s</b> of <b>%s</b> is denied. Please contact your Admin to get privileges. Return to home page or login again.";
|
||||
$lang->user->errorDeny = "Sorry, your access to <b>%2\$s</b> of <b>%1\$s</b> is denied. Please contact your Admin to get privileges. Return to home page or login again.";
|
||||
$lang->user->errorView = "Sorry, your access view <b>%s</b> is denied. Please contact your Admin to get privileges. Return to home page or login again.";
|
||||
$lang->user->loginFailed = "Login fehlgeschlagen. Bitte prüfen Sie Ihren Benutzernamen und das Passwort.";
|
||||
$lang->user->lockWarning = "Sie haben %s Versuche.";
|
||||
@@ -249,14 +249,14 @@ $lang->user->process4DB = "It is detected that you may be using the one click i
|
||||
$lang->user->mkdirWin = <<<EOT
|
||||
<html><head><meta charset='utf-8'></head>
|
||||
<body><table align='center' style='width:700px; margin-top:100px; border:1px solid gray; font-size:14px;'><tr><td style='padding:8px'>
|
||||
<div style='margin-bottom:8px;'>不能创建临时目录,请确认目录<strong style='color:#ed980f'>%s</strong>是否存在并有操作权限。</div>
|
||||
<div style='margin-bottom:8px;'>不能创建临时目录,请确认目录<strong style='color:#ed980f'>%s</strong>是否存在并有操作权限。</div>
|
||||
<div>Can't create tmp directory, make sure the directory <strong style='color:#ed980f'>%s</strong> exists and has permission to operate.</div>
|
||||
</td></tr></table></body></html>
|
||||
EOT;
|
||||
$lang->user->mkdirLinux = <<<EOT
|
||||
<html><head><meta charset='utf-8'></head>
|
||||
<body><table align='center' style='width:700px; margin-top:100px; border:1px solid gray; font-size:14px;'><tr><td style='padding:8px'>
|
||||
<div style='margin-bottom:8px;'>不能创建临时目录,请确认目录<strong style='color:#ed980f'>%s</strong>是否存在并有操作权限。</div>
|
||||
<div style='margin-bottom:8px;'>不能创建临时目录,请确认目录<strong style='color:#ed980f'>%s</strong>是否存在并有操作权限。</div>
|
||||
<div style='margin-bottom:8px;'>命令为:<strong style='color:#ed980f'>chmod o=rwx -R %s</strong>。</div>
|
||||
<div>Can't create tmp directory, make sure the directory <strong style='color:#ed980f'>%s</strong> exists and has permission to operate.</div>
|
||||
<div style='margin-bottom:8px;'>Commond: <strong style='color:#ed980f'>chmod o=rwx -R %s</strong>.</div>
|
||||
|
||||
@@ -137,7 +137,7 @@ $lang->user->testTask2Him = 'RequestsAssignedTo%s';
|
||||
$lang->user->case2Him = 'CasesAssignedTo%s';
|
||||
$lang->user->caseByHim = 'CasesCreatedBy%s';
|
||||
|
||||
$lang->user->errorDeny = "Sorry, your access to <b>%s</b> of <b>%s</b> is denied. Please contact your Admin to get privileges. Return to home page or login again.";
|
||||
$lang->user->errorDeny = "Sorry, your access to <b>%2\$s</b> of <b>%1\$s</b> is denied. Please contact your Admin to get privileges. Return to home page or login again.";
|
||||
$lang->user->errorView = "Sorry, your access view <b>%s</b> is denied. Please contact your Admin to get privileges. Return to home page or login again.";
|
||||
$lang->user->loginFailed = "Login failed. Please check your account and password.";
|
||||
$lang->user->lockWarning = "You can try %s times.";
|
||||
@@ -267,14 +267,14 @@ $lang->user->process4DB = "It is detected that you might use the one-click inst
|
||||
$lang->user->mkdirWin = <<<EOT
|
||||
<html><head><meta charset='utf-8'></head>
|
||||
<body><table align='center' style='width:700px; margin-top:100px; border:1px solid gray; font-size:14px;'><tr><td style='padding:8px'>
|
||||
<div style='margin-bottom:8px;'>不能创建临时目录,请确认目录<strong style='color:#ed980f'>%s</strong>是否存在并有操作权限。</div>
|
||||
<div style='margin-bottom:8px;'>不能创建临时目录,请确认目录<strong style='color:#ed980f'>%s</strong>是否存在并有操作权限。</div>
|
||||
<div>A tmp directory cannot be created. Make sure the directory <strong style='color:#ed980f'>%s</strong> exists and you have the right permission.</div>
|
||||
</td></tr></table></body></html>
|
||||
EOT;
|
||||
$lang->user->mkdirLinux = <<<EOT
|
||||
<html><head><meta charset='utf-8'></head>
|
||||
<body><table align='center' style='width:700px; margin-top:100px; border:1px solid gray; font-size:14px;'><tr><td style='padding:8px'>
|
||||
<div style='margin-bottom:8px;'>不能创建临时目录,请确认目录<strong style='color:#ed980f'>%s</strong>是否存在并有操作权限。</div>
|
||||
<div style='margin-bottom:8px;'>不能创建临时目录,请确认目录<strong style='color:#ed980f'>%s</strong>是否存在并有操作权限。</div>
|
||||
<div style='margin-bottom:8px;'>命令为:<strong style='color:#ed980f'>chmod o=rwx -R %s</strong>。</div>
|
||||
<div>A tmp directory cannot be created. Make sure the directory <strong style='color:#ed980f'>%s</strong> exists and you have the right permission.</div>
|
||||
<div style='margin-bottom:8px;'>Commond: <strong style='color:#ed980f'>chmod o=rwx -R %s</strong>.</div>
|
||||
|
||||
@@ -121,7 +121,7 @@ $lang->user->testTask2Him = 'Recette assignée à %s';
|
||||
$lang->user->case2Him = 'CasTest assigné à %s';
|
||||
$lang->user->caseByHim = 'CasTest créé par %s';
|
||||
|
||||
$lang->user->errorDeny = "Sorry, your access to <b>%s</b> of <b>%s</b> is denied. Please contact your Admin to get privileges. Return to home page or login again.";
|
||||
$lang->user->errorDeny = "Sorry, your access to <b>%2\$s</b> of <b>%1\$s</b> is denied. Please contact your Admin to get privileges. Return to home page or login again.";
|
||||
$lang->user->errorView = "Sorry, your access view <b>%s</b> is denied. Please contact your Admin to get privileges. Return to home page or login again.";
|
||||
$lang->user->loginFailed = "Echec de connexion. Vérifiez votre login et mot de passe.";
|
||||
$lang->user->lockWarning = "Vous avez %s essais.";
|
||||
@@ -249,14 +249,14 @@ $lang->user->process4DB = "It is detected that you may be using the one click i
|
||||
$lang->user->mkdirWin = <<<EOT
|
||||
<html><head><meta charset='utf-8'></head>
|
||||
<body><table align='center' style='width:700px; margin-top:100px; border:1px solid gray; font-size:14px;'><tr><td style='padding:8px'>
|
||||
<div style='margin-bottom:8px;'>不能创建临时目录,请确认目录<strong style='color:#ed980f'>%s</strong>是否存在并有操作权限。</div>
|
||||
<div style='margin-bottom:8px;'>不能创建临时目录,请确认目录<strong style='color:#ed980f'>%s</strong>是否存在并有操作权限。</div>
|
||||
<div>Can't create tmp directory, make sure the directory <strong style='color:#ed980f'>%s</strong> exists and has permission to operate.</div>
|
||||
</td></tr></table></body></html>
|
||||
EOT;
|
||||
$lang->user->mkdirLinux = <<<EOT
|
||||
<html><head><meta charset='utf-8'></head>
|
||||
<body><table align='center' style='width:700px; margin-top:100px; border:1px solid gray; font-size:14px;'><tr><td style='padding:8px'>
|
||||
<div style='margin-bottom:8px;'>不能创建临时目录,请确认目录<strong style='color:#ed980f'>%s</strong>是否存在并有操作权限。</div>
|
||||
<div style='margin-bottom:8px;'>不能创建临时目录,请确认目录<strong style='color:#ed980f'>%s</strong>是否存在并有操作权限。</div>
|
||||
<div style='margin-bottom:8px;'>命令为:<strong style='color:#ed980f'>chmod o=rwx -R %s</strong>。</div>
|
||||
<div>Can't create tmp directory, make sure the directory <strong style='color:#ed980f'>%s</strong> exists and has permission to operate.</div>
|
||||
<div style='margin-bottom:8px;'>Commond: <strong style='color:#ed980f'>chmod o=rwx -R %s</strong>.</div>
|
||||
|
||||
@@ -121,7 +121,7 @@ $lang->user->testTask2Him = 'Nhận yêu cầu';
|
||||
$lang->user->case2Him = 'Nhận tình huống';
|
||||
$lang->user->caseByHim = 'Tạo tình huống';
|
||||
|
||||
$lang->user->errorDeny = "Sorry, your access to <b>%s</b> of <b>%s</b> is denied. Please contact your Admin to get privileges. Return to home page or login again.";
|
||||
$lang->user->errorDeny = "Sorry, your access to <b>%2\$s</b> of <b>%1\$s</b> is denied. Please contact your Admin to get privileges. Return to home page or login again.";
|
||||
$lang->user->errorView = "Sorry, your access view <b>%s</b> is denied. Please contact your Admin to get privileges. Return to home page or login again.";
|
||||
$lang->user->loginFailed = "Đăng nhập thất bại. Vui lòng kiểm tra tài khoản và mật khẩu của bạn.";
|
||||
$lang->user->lockWarning = "Bạn có thể thử %s lần.";
|
||||
@@ -249,14 +249,14 @@ $lang->user->process4DB = "It is detected that you may be using the one click i
|
||||
$lang->user->mkdirWin = <<<EOT
|
||||
<html><head><meta charset='utf-8'></head>
|
||||
<body><table align='center' style='width:700px; margin-top:100px; border:1px solid gray; font-size:14px;'><tr><td style='padding:8px'>
|
||||
<div style='margin-bottom:8px;'>不能创建临时目录,请确认目录<strong style='color:#ed980f'>%s</strong>是否存在并有操作权限。</div>
|
||||
<div style='margin-bottom:8px;'>不能创建临时目录,请确认目录<strong style='color:#ed980f'>%s</strong>是否存在并有操作权限。</div>
|
||||
<div>Can't create tmp directory, make sure the directory <strong style='color:#ed980f'>%s</strong> exists and has permission to operate.</div>
|
||||
</td></tr></table></body></html>
|
||||
EOT;
|
||||
$lang->user->mkdirLinux = <<<EOT
|
||||
<html><head><meta charset='utf-8'></head>
|
||||
<body><table align='center' style='width:700px; margin-top:100px; border:1px solid gray; font-size:14px;'><tr><td style='padding:8px'>
|
||||
<div style='margin-bottom:8px;'>不能创建临时目录,请确认目录<strong style='color:#ed980f'>%s</strong>是否存在并有操作权限。</div>
|
||||
<div style='margin-bottom:8px;'>不能创建临时目录,请确认目录<strong style='color:#ed980f'>%s</strong>是否存在并有操作权限。</div>
|
||||
<div style='margin-bottom:8px;'>命令为:<strong style='color:#ed980f'>chmod o=rwx -R %s</strong>。</div>
|
||||
<div>Can't create tmp directory, make sure the directory <strong style='color:#ed980f'>%s</strong> exists and has permission to operate.</div>
|
||||
<div style='margin-bottom:8px;'>Commond: <strong style='color:#ed980f'>chmod o=rwx -R %s</strong>.</div>
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
#!use/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
|
||||
/**
|
||||
|
||||
title=删除用户;
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
删除用户 >> message:success
|
||||
|
||||
*/
|
||||
|
||||
global $token;
|
||||
$result = $rest->delete('/users/10', array('token' => $token->token));
|
||||
|
||||
r($result) && c(200) && p() && e("message:success") ; //删除ID为10的用户,判断返回信息
|
||||
@@ -0,0 +1,17 @@
|
||||
#!/usr/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试获取根据ID获取用户真实姓名;
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
编辑ID为3的用户,获取真实姓名 >> 李铁柱
|
||||
|
||||
*/
|
||||
global $token;
|
||||
$user = $rest->put('/users/3', array('realname' => '李铁柱'), array('token' => $token->token));
|
||||
|
||||
r($user) && c(200) && p('realname') && e('李铁柱'); // 编辑ID为3的用户,获取真实姓名
|
||||
Executable → Regular
@@ -0,0 +1,18 @@
|
||||
#!use/bin/env php
|
||||
<?php
|
||||
include dirname(dirname(dirname(__FILE__))) . '/lib/init.php';
|
||||
|
||||
/**
|
||||
|
||||
title=测试获取用户列表;
|
||||
cid=1
|
||||
pid=1
|
||||
|
||||
获取用户列表,判断ID为1和2的真实姓名 >> admin,测试1
|
||||
|
||||
*/
|
||||
|
||||
global $token;
|
||||
$list = $rest->get('/users?page=1&limit=2&order=id_asc', array('token' => $token->token));
|
||||
|
||||
r($list->body->users) && p('realname') && e('admin,测试1'); //获取用户列表,判断ID为1和2的真实姓名
|
||||
Executable → Regular
-1
@@ -16,7 +16,6 @@ $insert = array(
|
||||
'account' => 'sgm',
|
||||
'password' => 'qaz19950422',
|
||||
'realname' => '孙广明',
|
||||
'gender' => 'm',
|
||||
'email' => 'sgm0422@163.com',
|
||||
);
|
||||
$user = $rest->post('/users', $insert, array('token' => $token->token));
|
||||
|
||||
Reference in New Issue
Block a user