* + score model

This commit is contained in:
滔哥
2017-10-27 23:46:50 +08:00
parent 3833a7f861
commit a0e8b24f25
17 changed files with 203 additions and 64 deletions
+2
View File
@@ -131,6 +131,7 @@ class block extends control
$this->dao->delete()->from(TABLE_BLOCK)->where('`id`')->eq($id)->andWhere('account')->eq($this->app->user->account)->andWhere('module')->eq($module)->exec();
}
if(dao::isError()) $this->send(array('result' => 'fail', 'message' => dao::getError()));
$this->loadModel('score')->score('block', 'set');
$this->send(array('result' => 'success'));
}
@@ -157,6 +158,7 @@ class block extends control
}
if(dao::isError()) $this->send(array('result' => 'fail'));
$this->loadModel('score')->score('block', 'set');
$this->send(array('result' => 'success'));
}
+1
View File
@@ -50,6 +50,7 @@ class blockModel extends model
$data->params = helper::jsonEncode($data->params);
$this->dao->replace(TABLE_BLOCK)->data($data)->exec();
$this->loadModel('score')->score('block', 'set');
}
/**
+7 -4
View File
@@ -85,6 +85,7 @@ class bugModel extends model
$bugID = $this->dao->lastInsertID();
$this->file->updateObjectID($this->post->uid, $bugID, 'bug');
$this->file->saveUpload('bug', $bugID);
empty($bug->case) ? $this->loadModel('score')->score('bug', 'create', $bugID) : $this->loadModel('score')->score('bug', 'createFormCase', $bug->case);
return array('status' => 'created', 'id' => $bugID);
}
return false;
@@ -199,7 +200,7 @@ class bugModel extends model
$this->dao->insert(TABLE_BUG)->data($bug)->autoCheck()->batchCheck($this->config->bug->create->requiredFields, 'notempty')->exec();
$bugID = $this->dao->lastInsertID();
$this->loadModel('score')->score('bug', 'create', $bugID);
if(!empty($data->uploadImage[$i]) and !empty($file))
{
$file['objectType'] = 'bug';
@@ -223,7 +224,7 @@ class bugModel extends model
if(is_dir($realPath)) $classFile->removeDir($realPath);
unset($_SESSION['bugImagesFile']);
}
$this->loadModel('score')->score('ajax', 'batchCreate');
return $actions;
}
@@ -654,7 +655,7 @@ class bugModel extends model
}
}
}
$this->loadModel('score')->score('ajax', 'batchEdit');
return $allChanges;
}
@@ -758,6 +759,7 @@ class bugModel extends model
->get();
$this->dao->update(TABLE_BUG)->data($bug)->where('id')->eq($bugID)->exec();
$this->loadModel('score')->score('bug', 'confirmBug', $oldBug);
if(!dao::isError()) return common::createChanges($oldBug, $bug);
}
@@ -846,7 +848,7 @@ class bugModel extends model
->checkIF($bug->resolution == 'fixed', 'resolvedBuild','notempty')
->where('id')->eq((int)$bugID)
->exec();
$this->loadModel('score')->score('bug', 'resolve', $oldBug);
/* Link bug to build and release. */
$this->linkBugToBuild($bugID, $bug->resolvedBuild);
}
@@ -1853,6 +1855,7 @@ class bugModel extends model
$condition = "`type`='bug' and account='{$this->app->user->account}'";
$this->dao->insert(TABLE_USERTPL)->data($template)->batchCheck('title, content', 'notempty')->check('title', 'unique', $condition)->exec();
$this->loadModel('score')->score('bug', 'saveTplModal', $this->dao->lastInsertID());
}
/**
+1
View File
@@ -213,6 +213,7 @@ class buildModel extends model
$buildID = $this->dao->lastInsertID();
$this->file->updateObjectID($this->post->uid, $buildID, 'build');
$this->file->saveUpload('build', $buildID);
$this->loadModel('score')->score('build', 'create', $buildID);
return $buildID;
}
}
+1
View File
@@ -151,6 +151,7 @@ class productplanModel extends model
{
$planID = $this->dao->lastInsertID();
$this->file->updateObjectID($this->post->uid, $planID, 'plan');
$this->loadModel('score')->score('productplan', 'create', $planID);
return $planID;
}
}
+2 -2
View File
@@ -291,7 +291,7 @@ class projectModel extends model
$lib->main = '1';
$lib->acl = $project->acl == 'open' ? 'open' : 'private';
$this->dao->insert(TABLE_DOCLIB)->data($lib)->exec();
$this->loadModel('score')->score('project', 'create', $projectID);
return $projectID;
}
}
@@ -537,7 +537,7 @@ class projectModel extends model
->autoCheck()
->where('id')->eq((int)$projectID)
->exec();
$this->loadModel('score')->score('project', 'close', $oldProject);
if(!dao::isError()) return common::createChanges($oldProject, $project);
}
+1
View File
@@ -145,6 +145,7 @@ class releaseModel extends model
$releaseID = $this->dao->lastInsertID();
$this->file->updateObjectID($this->post->uid, $releaseID, 'release');
$this->file->saveUpload('release', $releaseID);
$this->loadModel('score')->score('release', 'create', $releaseID);
if(!dao::isError()) return $releaseID;
}
+23 -18
View File
@@ -15,36 +15,41 @@ $config->score->model['ajax']['lastNext'] = array('num' => 1, 'time' =>
$config->score->model['ajax']['switchToDataTable'] = array('num' => 1, 'time' => 0, 'score' => 1, 'other' => '');
$config->score->model['ajax']['submitPage'] = array('num' => 1, 'time' => 0, 'score' => 1, 'other' => '');
$config->score->model['ajax']['customMenu'] = array('num' => 1, 'time' => 0, 'score' => 1, 'other' => '');
$config->score->model['ajax']['quickDump'] = array('num' => 1, 'time' => 0, 'score' => 10, 'other' => '');
$config->score->model['ajax']['batchCreate'] = array('num' => 1, 'time' => 0, 'score' => 20, 'other' => '');
$config->score->model['ajax']['batchEdit'] = array('num' => 1, 'time' => 0, 'score' => 20, 'other' => '');
$config->score->model['doc']['create'] = array('num' => 0, 'time' => 0, 'score' => 5, 'other' => '');
$config->score->model['doc']['create'] = array('num' => 0, 'time' => 0, 'score' => 1, 'other' => '');
$config->score->model['todo']['create'] = array('num' => 5, 'time' => 24, 'score' => 1, 'other' => '');
$config->score->model['story']['create'] = array('num' => 0, 'time' => 0, 'score' => 1, 'other' => '');
$config->score->model['story']['close'] = array('num' => 0, 'time' => 0, 'score' => 1, 'other' => array('createID' => 2));//每个需求被完成关闭,需求的创建者额外增加2分,关闭者增加1分
$config->score->model['task']['create'] = array('num' => 0, 'time' => 0, 'score' => 1, 'other' => '');
$config->score->model['task']['close'] = array('num' => 0, 'time' => 0, 'score' => 1, 'other' => '');
$config->score->model['task']['finish'] = array('num' => 0, 'time' => 0, 'score' => 1, 'other' => array(1 => 2, 2 => 1, 3 => 0));
$config->score->model['block']['admin'] = array(1, 0, 20, '');
$config->score->model['bug']['create'] = array('num' => 0, 'time' => 0, 'score' => 1, 'other' => '');
$config->score->model['bug']['confirmBug'] = array('num' => 0, 'time' => 0, 'score' => 1, 'other' => array(1 => 3, 2 => 2, 3 => 1));
$config->score->model['bug']['createFormCase'] = array('num' => 0, 'time' => 0, 'score' => 1, 'other' => '');
$config->score->model['bug']['resolve'] = array('num' => 0, 'time' => 0, 'score' => 1, 'other' => array(1 => 3, 2 => 2, 3 => 1));
$config->score->model['bug']['saveTplModal'] = array('num' => 0, 'time' => 0, 'score' => 20, 'other' => '');
$config->score->model['bug']['saveTplModal'] = array(1, 0, 20, '');
$config->score->model['testTask']['runCase'] = array('num' => 0, 'time' => 0, 'score' => 1, 'other' => '');
$config->score->model['testcase']['create'] = array('num' => 0, 'time' => 0, 'score' => 1, 'other' => '');
$config->score->model['search']['saveQuery'] = array(1, 0, 1, '');
$config->score->model['search']['saveQueryAdvanced'] = array(1, 0, 1, '');
$config->score->model['build']['create'] = array('num' => 0, 'time' => 0, 'score' => 10, 'other' => '');
$config->score->model['project']['create'] = array('num' => 0, 'time' => 0, 'score' => 10, 'other' => '');
$config->score->model['project']['close'] = array('num' => 0, 'time' => 0, 'score' => 0, 'other' => array('manager' => array(20, 10), 'member' => array(5, 5)));
$config->score->model['task']['create'] = array(0, 0, 1, '');//任务
$config->score->model['bug']['create'] = array(0, 0, 1, '');//bug 有效之后,额外增加严重程度积分:s1 + 3, s2 + 2, s3 + 1
$config->score->model['productplan']['create'] = array('num' => 0, 'time' => 0, 'score' => 10, 'other' => '');
$config->score->model['testcase']['create'] = array(0, 0, 1, '');//用例
$config->score->model['release']['create'] = array('num' => 0, 'time' => 0, 'score' => 10, 'other' => '');
//每完成一个任务,增加初始积分1 + 工时积分round(工时 /10 * 预计 / 消耗) + 优先级积分(p1 2, p2, 1) 如果任务取消了,没有积分。
$config->score->model['task']['finish'] = array(0, 0, 1, array('time' => '#time#/10 * #estimate# / #consumed#', 'pri' => array(0 => 0, 1 => 2, 2 => 1, 3 => 0)));//关闭一个任务,关闭者增加一个积分。
$config->score->model['task']['close'] = array(0, 0, 1, '');//关闭一个任务,关闭者增加一个积分。
$config->score->model['bug']['resolve'] = array(0, 0, 1, '');//解决一个bug,额外增加解决bug积分:s1 + 3, s2 + 2, s3 + 1
$config->score->model['testcase']['runCase'] = array(0, 0, 1, '');//每执行一次用例,加1分
$config->score->model['bug']['createFormCase'] = array(0, 0, 1, '');//从用例创建bug,用例的创建者加1分
$config->score->model['project']['build'] = array(0, 0, 10, '');//创建一个build,创建者增加10个积分
$config->score->model['project']['create'] = array(0, 0, 10, '');//创建一个项目,创建者增加10个积分
$config->score->model['productplan']['create'] = array(0, 0, 10, '');//创建一个计划,创建者增加10个积分
$config->score->model['release']['create'] = array(0, 0, 10, '');//创建一个发布,创建者增加10个积分
$config->score->model['block']['set'] = array('num' => 1, 'time' => 0, 'score' => 20, 'other' => '');
$config->score->model['search']['saveQuery'] = array('num' => 1, 'time' => 0, 'score' => 1, 'other' => '');
$config->score->model['search']['saveQueryAdvanced'] = array('num' => 1, 'time' => 0, 'score' => 1, 'other' => '');
+51 -25
View File
@@ -16,29 +16,55 @@ $lang->score->time = '时间';
$lang->score->desc = '描述';
$lang->score->models['task'] = '任务';
$lang->score->models['tutorial'] = '新手教程';
$lang->score->models['user'] = '用户';
$lang->score->models['ajax'] = 'UI';
$lang->score->models['doc'] = '文档';
$lang->score->models['todo'] = '待办';
$lang->score->models['story'] = '需求';
$lang->score->models['task'] = '任务';
$lang->score->models['tutorial'] = '新手教程';
$lang->score->models['user'] = '用户';
$lang->score->models['ajax'] = '';
$lang->score->models['doc'] = '文档';
$lang->score->models['todo'] = '待办';
$lang->score->models['story'] = '需求';
$lang->score->models['bug'] = 'Bug';
$lang->score->models['testTask'] = '用例';
$lang->score->models['build'] = 'Build';
$lang->score->models['project'] = '项目';
$lang->score->models['productplan'] = '计划';
$lang->score->models['release'] = '发布';
$lang->score->models['block'] = '区块';
$lang->score->models['search'] = '搜索';
$lang->score->methods['task']['create'] = '创建任务';
$lang->score->methods['tutorial']['keepAll'] = '任务完成';
$lang->score->methods['user']['login'] = '登录';
$lang->score->methods['user']['changePassword'] = '修改密码';
$lang->score->methods['user']['editProfile'] = '修改个人资料';
$lang->score->methods['ajax']['selectTheme'] = '切换主题';
$lang->score->methods['ajax']['selectLang'] = '切换语言';
$lang->score->methods['ajax']['showSearchMenu'] = '搜索高级用法';
$lang->score->methods['ajax']['customMenu'] = '自定义菜单';
$lang->score->methods['ajax']['dragSelected'] = '列表页面拖动选中';
$lang->score->methods['ajax']['lastNext'] = '快捷键翻页';
$lang->score->methods['ajax']['switchToDataTable'] = '使用高级表格';
$lang->score->methods['ajax']['submitPage'] = '修改分页数量';
$lang->score->methods['doc']['create'] = '创建文档';
$lang->score->methods['todo']['create'] = '创建待办';
$lang->score->methods['story']['create'] = '创建需求';
$lang->score->methods['story']['close'] = '需求关闭';
$lang->score->methods['task']['create'] = '创建任务';
$lang->score->methods['task']['close'] = '关闭任务';
$lang->score->methods['task']['finish'] = '完成任务';
$lang->score->methods['tutorial']['keepAll'] = '学习完成';
$lang->score->methods['user']['login'] = '登录';
$lang->score->methods['user']['changePassword'] = '修改密码';
$lang->score->methods['user']['editProfile'] = '修改个人资料';
$lang->score->methods['ajax']['selectTheme'] = '切换主题';
$lang->score->methods['ajax']['selectLang'] = '切换语言';
$lang->score->methods['ajax']['showSearchMenu'] = '搜索高级用法';
$lang->score->methods['ajax']['customMenu'] = '自定义菜单';
$lang->score->methods['ajax']['dragSelected'] = '列表页面拖动选中';
$lang->score->methods['ajax']['lastNext'] = '快捷键翻页';
$lang->score->methods['ajax']['switchToDataTable'] = '使用高级表格';
$lang->score->methods['ajax']['submitPage'] = '修改分页数量';
$lang->score->methods['ajax']['quickDump'] = '使用快速跳转';
$lang->score->methods['ajax']['batchCreate'] = '首次使用批量添加';
$lang->score->methods['ajax']['batchEdit'] = '首次使用批量编辑';
$lang->score->methods['doc']['create'] = '创建文档';
$lang->score->methods['todo']['create'] = '创建待办';
$lang->score->methods['story']['create'] = '创建需求';
$lang->score->methods['story']['close'] = '需求关闭';
$lang->score->methods['bug']['create'] = '创建Bug';
$lang->score->methods['bug']['confirmBug'] = '确认Bug';
$lang->score->methods['bug']['createFormCase'] = '从用例创建';
$lang->score->methods['bug']['resolve'] = '解决Bug';
$lang->score->methods['bug']['saveTplModal'] = '保存模板';
$lang->score->methods['testTask']['runCase'] = '执行用例';
$lang->score->methods['build']['create'] = '创建版本';
$lang->score->methods['project']['create'] = '创建项目';
$lang->score->methods['project']['close'] = '项目完成';
$lang->score->methods['productplan']['create'] = '创建计划';
$lang->score->methods['release']['create'] = '创建发布';
$lang->score->methods['block']['set'] = '区块自定义设置';
$lang->score->methods['search']['saveQuery'] = '保存搜索条件';
$lang->score->methods['search']['saveQueryAdvanced'] = '使用高级搜索';
+81 -5
View File
@@ -37,7 +37,8 @@ class scoreModel extends model
{
if(empty($this->config->score->model[$model][$method])) return true;
$rule = $this->config->score->model[$model][$method];
$desc = $this->lang->score->methods[$model][$method];
$desc = $this->lang->score->models[$model];
$user = $this->app->user->account;
switch($model)
{
case 'user':
@@ -49,13 +50,13 @@ class scoreModel extends model
}
break;
case 'doc':
if($method == 'create') $desc = $this->lang->score->models[$model] . 'ID:' . $param;
if($method == 'create') $desc .= 'ID:' . $param;
break;
case 'todo':
if($method == 'create') $desc = $this->lang->score->methods[$model][$method] . 'ID:' . $param;
if($method == 'create') $desc .= 'ID:' . $param;
break;
case 'story':
$desc = $this->lang->score->methods[$model][$method] . 'ID:' . $param;
$desc .= 'ID:' . $param;
if($method == 'close')
{
$createUser = $this->dao->findById($param)->from(TABLE_STORY)->fetch();
@@ -68,8 +69,83 @@ class scoreModel extends model
}
}
break;
case 'task':
$desc .= 'ID:' . $param;
if($method == 'finish')
{
$desc = $this->lang->score->methods[$model][$method] . 'ID:' . $param;
//每完成一个任务,增加初始积分1 + 工时积分round(工时 /10 * 预计 / 消耗) + 优先级积分(p1 2, p2, 1) 如果任务取消了,没有积分。
$task = $this->loadModel('task')->getById($param);
if(!empty($rule['other'][$task->pri])) $rule['score'] = $rule['score'] + $rule['other'][$task->pri];
if(!empty($task->estimate)) $rule['score'] = $rule['score'] + round(($task->consumed / 10 * $task->estimate / $task->consumed), 1);
}
break;
case 'bug':
$desc .= 'ID:' . $param;
if($method == 'createFormCase')
{
$desc = $this->lang->score->models['testcase'] . 'ID:' . $param;
$caseUser = $this->dao->findById($param)->from(TABLE_CASE)->fetch();
if(!empty($caseUser))
{
$user = $caseUser->openedBy;
}
}
if($method == 'saveTplModal') $desc = $this->lang->score->methods[$model][$method] . 'ID:' . $param;
if($method == 'confirmBug')
{
$user = $param->openedBy;
if(!empty($rule['other'][$param->severity])) $rule['score'] = $rule['score'] + $rule['other'][$param->severity];
}
if($method == 'resolve' && !empty($rule['other'][$param->severity])) $rule['score'] = $rule['score'] + $rule['other'][$param->severity];
break;
case 'testTask':
if($method == 'runCase') $desc = $this->lang->score->methods[$model][$method] . 'ID:' . $param;
break;
case 'build':
if($method == 'create') $desc .= 'ID:' . $param;
break;
case 'project':
if($method == 'create') $desc .= 'ID:' . $param;
if($method == 'close')
{
$desc = $this->lang->score->methods[$model][$method] . ',' . $desc . 'ID:' . $param->id;
if(!empty($param->PM))
{
$rule['score'] = $param->end > date('Y-m-d') ? $rule['other']['manager'][0] + $rule['other']['manager'][1] : $rule['other']['manager'][0];
$this->saveScore($param->PM, $rule, $model, $method, $desc);
}
$teams = $this->dao->select('account')->from(TABLE_TEAM)->where('project')->eq($param->id)->fetchGroup('account');
if(!empty($teams))
{
$users = array_keys($teams);
$rule['score'] = $param->end > date('Y-m-d') ? $rule['other']['member'][0] + $rule['other']['member'][1] : $rule['other']['member'][0];
foreach($users as $user)
{
if($user != $param->PM) $this->saveScore($user, $rule, $model, $method, $desc);
}
}
}
return true;
break;
case 'productplan':
if($method == 'create') $desc .= 'ID:' . $param;
break;
case 'release':
if($method == 'create') $desc .= 'ID:' . $param;
break;
case 'testcase':
if($method == 'create') $desc .= 'ID:' . $param;
break;
case 'search':
if($method == 'saveQuery') $desc .= 'ID:' . $param;
if($method == 'saveQueryAdvanced') $desc = $this->lang->score->methods[$model][$method];
break;
case 'ajax':
$desc = $this->lang->score->methods[$model][$method];
break;
}
$this->saveScore($this->app->user->account, $rule, $model, $method, $desc);
$this->saveScore($user, $rule, $model, $method, $desc);
}
/**
+1 -1
View File
@@ -14,7 +14,7 @@
<div class='heading'><?php echo html::icon($lang->icons['score']); ?><?php echo $lang->score->record; ?></div>
<div class='actions'>
<span class='btn disabled'><label><?php echo $lang->score->current; ?>:</label><?php echo $user->score; ?></span>
<span class='btn disabled'><label><?php echo $lang->score->level; ?>:</label><?php echo $user->score_level; ?></span>
<span class='btn disabled hidden'><label><?php echo $lang->score->level; ?>:</label><?php echo $user->score_level; ?></span>
</div>
</div>
<table class='table tablesorter'>
+5 -1
View File
@@ -47,7 +47,7 @@ class searchModel extends model
$groupItems = $this->config->search->groupItems;
$groupAndOr = strtoupper($this->post->groupAndOr);
if($groupAndOr != 'AND' and $groupAndOr != 'OR') $groupAndOr = 'AND';
$scoreNum = 0;
for($i = 1; $i <= $groupItems * 2; $i ++)
{
/* The and or between two groups. */
@@ -66,6 +66,8 @@ class searchModel extends model
if($this->post->$valueName == 'null') $this->post->$valueName = ''; // Null is special, stands to empty.
if($this->post->$valueName == 'ZERO') $this->post->$valueName = 0; // ZERO is special, stands to 0.
$scoreNum += 1;
/* Set and or. */
$andOr = strtoupper($this->post->$andOrName);
if($andOr != 'AND' and $andOr != 'OR') $andOr = 'AND';
@@ -127,6 +129,7 @@ class searchModel extends model
$formSessionName = $this->post->module . 'Form';
$this->session->set($querySessionName, $where);
$this->session->set($formSessionName, $_POST);
if($scoreNum > 2) $this->loadModel('score')->score('search', 'saveQueryAdvanced');
}
/**
@@ -303,6 +306,7 @@ class searchModel extends model
$featureBarConfig->value = json_encode($newConfig);
$this->dao->replace(TABLE_CONFIG)->data($featureBarConfig)->exec();
}
$this->loadModel('score')->score('search', 'saveQuery', $queryID);
return $queryID;
}
return false;
+2 -2
View File
@@ -359,7 +359,7 @@ class storyModel extends model
if(is_dir($realPath)) $classFile->removeDir($realPath);
unset($_SESSION['storyImagesFile']);
}
$this->loadModel('score')->score('ajax', 'batchCreate');
return $mails;
}
@@ -609,7 +609,7 @@ class storyModel extends model
}
}
}
$this->loadModel('score')->score('ajax', 'batchEdit');
return $allChanges;
}
+6 -6
View File
@@ -40,8 +40,6 @@ class taskModel extends model
->remove('after,files,labels,assignedTo,uid,storyEstimate,storyDesc,storyPri,team,teamEstimate,teamMember,multiple,teams')
->get();
foreach($this->post->assignedTo as $assignedTo)
{
/* When type is affair and has assigned then ignore none. */
@@ -126,7 +124,7 @@ class taskModel extends model
$team->task = $taskID;
$this->dao->insert(TABLE_TEAM)->data($team)->autoCheck()->exec();
}
$this->loadModel('score')->score('task', 'create', $taskID);
$tasksID[$assignedTo] = array('status' => 'created', 'id' => $taskID);
}
return $tasksID;
@@ -226,13 +224,14 @@ class taskModel extends model
$taskID = $this->dao->lastInsertID();
if($story) $this->story->setStage($tasks->story[$i]);
$actionID = $this->action->create('task', $taskID, 'Opened', '');
$this->loadModel('score')->score('task', 'create', $taskID);
$mails[$i] = new stdclass();
$mails[$i]->taskID = $taskID;
$mails[$i]->actionID = $actionID;
}
$this->countTime($tasks->parent[0]);
$this->loadModel('score')->score('ajax', 'batchCreate');
return $mails;
}
@@ -601,7 +600,7 @@ class taskModel extends model
die(js::error('task#' . $taskID . dao::getError(true)));
}
}
$this->loadModel('score')->score('ajax', 'batchEdit');
return $allChanges;
}
@@ -886,6 +885,7 @@ class taskModel extends model
$this->countTime($oldTask->parent);
if($oldTask->story) $this->loadModel('story')->setStage($oldTask->story);
$this->loadModel('score')->score('task', 'finish', $taskID);
if(!dao::isError()) return common::createChanges($oldTask, $task);
}
@@ -940,7 +940,7 @@ class taskModel extends model
$data = new stdClass();
$data->status = 'closed';
$this->dao->update(TABLE_TASK)->data($data)->autoCheck()->where('parent')->eq($taskID)->exec();
$this->loadModel('score')->score('task', 'close', $taskID);
if($oldTask->story) $this->loadModel('story')->setStage($oldTask->story);
if(!dao::isError()) return common::createChanges($oldTask, $task);
}
+2
View File
@@ -107,6 +107,7 @@ class testcaseModel extends model
$caseID = $this->dao->lastInsertID();
$this->loadModel('file')->saveUpload('testcase', $caseID);
$parentStepID = 0;
$this->loadModel('score')->score('testcase', 'create', $caseID);
foreach($this->post->steps as $stepID => $stepDesc)
{
if(empty($stepDesc)) continue;
@@ -223,6 +224,7 @@ class testcaseModel extends model
unset($cases->keywords[$i]);
}
}
$this->loadModel('score')->score('ajax', 'batchCreate');
}
/**
+2
View File
@@ -911,6 +911,8 @@ class testtaskModel extends model
}
}
$this->loadModel('score')->score('testTask', 'runCase', $postData->case);
return $caseResult;
}
+15
View File
@@ -193,6 +193,11 @@ function showSearchMenu(objectType, objectID, module, method, extra)
{
$menu.find('#search').focus();
}
if(!$.cookie('ajax_quickDump'))
{
$.cookie('ajax_quickDump', 'on', {expires: config.cookieLife, path: config.webRoot});
$.get(createLink('score', 'ajax', "method=quickDump"));
}
}
/**
@@ -1740,11 +1745,21 @@ function initHotKey()
{
/* left, go to pre object. */
var preLink = $('#pre').attr('href');
if(!$.cookie('ajax_lastNext'))
{
$.cookie('ajax_lastNext', 'on', {expires: config.cookieLife, path: config.webRoot});
$.get(createLink('score', 'ajax', "method=lastNext"));
}
if(preLink) location.href = preLink;
}).bind('keydown', 'right', function()
{
/* right, go to next object. */
var nextLink = $('#next').attr('href');
if(!$.cookie('ajax_lastNext'))
{
$.cookie('ajax_lastNext', 'on', {expires: config.cookieLife, path: config.webRoot});
$.get(createLink('score', 'ajax', "method=lastNext"));
}
if(nextLink) location.href = nextLink;
});
}