* Refactor caselib::create.

This commit is contained in:
liumengyi
2023-09-18 17:05:49 +08:00
parent c262d6ef3f
commit 16a7558b2e
3 changed files with 18 additions and 56 deletions
+16 -5
View File
@@ -34,19 +34,30 @@ class caselib extends control
{
if(!empty($_POST))
{
/* TODO:getExtendFields. */
/* Set case lib. */
$data = form::data($this->config->caselib->form->create);
$lib = $this->caselibZen->prepareCreateExtras($data, $this->post->uid);
$lib = $data->setForce('type', 'library')
->add('addedBy', $this->app->user->account)
->add('addedDate', helper::now())
->setIF($this->lang->navGroup->caselib != 'qa', 'project', (int)$this->session->project)
->stripTags($this->config->caselib->editor->create['id'], $this->config->allowedTags)
->get();
$lib = $this->loadModel('file')->processImgURL($lib, $this->config->caselib->editor->create['id'], $this->post->uid);
$libID = $this->caselib->create($lib, $this->post->uid);
/* Insert case lib. */
$libID = $this->caselib->create($lib);
if(dao::isError()) $this->send(array('result' => 'fail', 'message' => dao::getError()));
if($this->viewType == 'json') return array('result' => 'success', 'message' => $this->lang->saveSuccess, 'id' => $libID);
return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'closeModal' => true, 'load' => $this->createLink('caselib', 'browse', "libID=$libID")));
}
$this->caselibZen->setCreateMenu();
$this->caselibZen->buildCreateForm();
$libraries = $this->caselib->getLibraries();
$libID = $this->caselib->saveLibState(0, $libraries);
$this->caselib->setLibMenu($libraries, $libID);
$this->view->title = $this->lang->caselib->common . $this->lang->colon . $this->lang->caselib->create;
$this->display();
}
/**
+2 -3
View File
@@ -177,11 +177,10 @@ class caselibModel extends model
* Create a lib case, insert a lib object into database.
*
* @param object $lib
* @param string $uid
* @access public
* @return int|false
*/
public function create(object $lib, string $uid = ''): int|false
public function create(object $lib): int|false
{
$this->lang->testsuite->name = $this->lang->caselib->name;
$this->lang->testsuite->desc = $this->lang->caselib->desc;
@@ -195,7 +194,7 @@ class caselibModel extends model
if(!dao::isError())
{
$libID = $this->dao->lastInsertID();
$this->loadModel('file')->updateObjectID($uid, $libID, 'caselib');
$this->loadModel('file')->updateObjectID($this->post->uid, $libID, 'caselib');
$this->loadModel('action')->create('caselib', $libID, 'opened');
return $libID;
}
-48
View File
@@ -2,52 +2,4 @@
declare(strict_types=1);
class caselibZen extends caselib
{
/**
* 为创建用例库设置导航。
* Set menu for create caselib.
*
* @access protected
* @return void
*/
protected function setCreateMenu(): void
{
$libraries = $this->caselib->getLibraries();
$libID = $this->caselib->saveLibState(0, $libraries);
$this->caselib->setLibMenu($libraries, $libID);
}
/**
* 构建创建用例库页面数据。
* Build form fields for create caselib.
*
* @access protected
* @return void
*/
protected function buildCreateForm(): void
{
$this->view->title = $this->lang->caselib->common . $this->lang->colon . $this->lang->caselib->create;
$this->display();
}
/**
* 构建创建产品页面数据。
* Build form fields for create.
*
* @param object $data
* @param string $uid
* @access protected
* @return object
*/
protected function prepareCreateExtras(object $data, string $uid = ''): object
{
$lib = $data->setForce('type', 'library')
->add('addedBy', $this->app->user->account)
->add('addedDate', helper::now())
->setIF($this->lang->navGroup->caselib != 'qa', 'project', (int)$this->session->project)
->stripTags($this->config->caselib->editor->create['id'], $this->config->allowedTags)
->remove('uid')
->get();
return $this->loadModel('file')->processImgURL($lib, $this->config->caselib->editor->create['id'], $uid);
}
}