* Refactor design::batchCreate method.
This commit is contained in:
@@ -14,3 +14,13 @@ $config->design->form->create['desc'] = array('type' => 'string', 'requ
|
||||
$config->design->form->create['version'] = array('type' => 'int', 'required' => false, 'default' => 1);
|
||||
$config->design->form->create['createdBy'] = array('type' => 'string', 'required' => false, 'default' => $app->user->account);
|
||||
$config->design->form->create['createdDate'] = array('type' => 'datetime', 'required' => false, 'default' => $now);
|
||||
|
||||
$config->design->form->batchcreate['name'] = array('type' => 'string', 'required' => false, 'default' => '', 'filter' => 'trim', 'base' => true);
|
||||
$config->design->form->batchcreate['type'] = array('type' => 'string', 'required' => false, 'default' => '');
|
||||
$config->design->form->batchcreate['product'] = array('type' => 'int', 'required' => false, 'default' => 0);
|
||||
$config->design->form->batchcreate['project'] = array('type' => 'int', 'required' => false, 'default' => 0);
|
||||
$config->design->form->batchcreate['story'] = array('type' => 'int', 'required' => false, 'default' => 0);
|
||||
$config->design->form->batchcreate['desc'] = array('type' => 'string', 'required' => false, 'default' => '');
|
||||
$config->design->form->batchcreate['version'] = array('type' => 'int', 'required' => false, 'default' => 1);
|
||||
$config->design->form->batchcreate['createdBy'] = array('type' => 'string', 'required' => false, 'default' => $app->user->account);
|
||||
$config->design->form->batchcreate['createdDate'] = array('type' => 'datetime', 'required' => false, 'default' => $now);
|
||||
|
||||
@@ -158,11 +158,12 @@ class design extends control
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量创建设计。
|
||||
* Batch create designs.
|
||||
*
|
||||
* @param int $projectID
|
||||
* @param int $productID
|
||||
* @param string $type
|
||||
* @param string $type all|bySearch|HLDS|DDS|DBDS|ADS
|
||||
* @access public
|
||||
* @return void
|
||||
*/
|
||||
@@ -172,20 +173,11 @@ class design extends control
|
||||
|
||||
if($_POST)
|
||||
{
|
||||
$this->design->batchCreate($projectID, $productID);
|
||||
$designs = form::batchData()->get();
|
||||
$this->design->batchCreate($projectID, $productID, $designs);
|
||||
|
||||
if(dao::isError())
|
||||
{
|
||||
$response['result'] = 'fail';
|
||||
$response['message'] = dao::getError();
|
||||
return $this->send($response);
|
||||
}
|
||||
|
||||
$response['result'] = 'success';
|
||||
$response['message'] = $this->lang->saveSuccess;
|
||||
$response['load'] = inlink('browse', "projectID=$projectID&productID=$productID");
|
||||
|
||||
return $this->send($response);
|
||||
if(dao::isError()) return $this->send(array('result' => 'fail', 'message' => dao::getError()));
|
||||
return $this->send(array('result' => 'success', 'message' => $this->lang->saveSuccess, 'load' => inlink('browse', "projectID={$projectID}&productID={$productID}")));
|
||||
}
|
||||
|
||||
$products = $this->product->getProductPairsByProject($projectID);
|
||||
@@ -193,8 +185,7 @@ class design extends control
|
||||
|
||||
$project = $this->loadModel('project')->getByID($projectID);
|
||||
|
||||
$this->view->title = $this->lang->design->common . $this->lang->colon . $this->lang->design->batchCreate;
|
||||
|
||||
$this->view->title = $this->lang->design->common . $this->lang->colon . $this->lang->design->batchCreate;
|
||||
$this->view->stories = $this->loadModel('story')->getProductStoryPairs($productIdList);
|
||||
$this->view->users = $this->loadModel('user')->getPairs('noclosed');
|
||||
$this->view->type = $type;
|
||||
|
||||
+7
-17
@@ -51,37 +51,27 @@ class designModel extends model
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量创建设计。
|
||||
* Batch create designs.
|
||||
*
|
||||
* @param int $projectID
|
||||
* @param int $productID
|
||||
* @param array $designs
|
||||
* @access public
|
||||
* @return bool
|
||||
*/
|
||||
public function batchCreate($projectID = 0, $productID = 0)
|
||||
public function batchCreate(int $projectID = 0, int $productID = 0, array $designs = array()): bool
|
||||
{
|
||||
$data = fixer::input('post')->get();
|
||||
|
||||
$this->loadModel('action');
|
||||
foreach($data->name as $i => $name)
|
||||
foreach($designs as $rowID => $design)
|
||||
{
|
||||
if(!trim($name)) continue;
|
||||
|
||||
$design = new stdclass();
|
||||
$design->story = isset($data->story[$i]) ? $data->story[$i] : '';
|
||||
$design->type = $data->type[$i];
|
||||
$design->name = $name;
|
||||
$design->product = $productID;
|
||||
$design->project = $projectID;
|
||||
$design->desc = nl2br($data->desc[$i]);
|
||||
$design->createdBy = $this->app->user->account;
|
||||
$design->createdDate = helper::now();
|
||||
|
||||
$design->product = $productID;
|
||||
$design->project = $projectID;
|
||||
$this->dao->insert(TABLE_DESIGN)->data($design)->autoCheck()->batchCheck($this->config->design->batchcreate->requiredFields, 'notempty')->exec();
|
||||
|
||||
if(dao::isError())
|
||||
{
|
||||
foreach(dao::getError() as $field => $error) dao::$errors["{$field}[{$i}]"] = $error;
|
||||
foreach(dao::getError() as $field => $error) dao::$errors["{$field}[{$rowID}]"] = $error;
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user