Fix bug #43916.
This commit is contained in:
@@ -657,6 +657,7 @@ class productModel extends model
|
||||
$products = array();
|
||||
$allChanges = array();
|
||||
$data = fixer::input('post')->get();
|
||||
a($data);
|
||||
$oldProducts = $this->getByIdList($this->post->productIDList);
|
||||
$nameList = array();
|
||||
|
||||
@@ -682,12 +683,13 @@ class productModel extends model
|
||||
foreach($products as $productID => $product)
|
||||
{
|
||||
$oldProduct = $oldProducts[$productID];
|
||||
$programID = !isset($product->program) ? $oldProduct->program : (empty($product->program) ? 0 : $product->program);
|
||||
|
||||
$this->dao->update(TABLE_PRODUCT)
|
||||
->data($product)
|
||||
->autoCheck()
|
||||
->batchCheck($this->config->product->edit->requiredFields , 'notempty')
|
||||
->checkIF(!empty($product->name), 'name', 'unique', "id != $productID and `program` = $product->program")
|
||||
->checkIF(!empty($product->name), 'name', 'unique', "id != $productID and `program` = $programID")
|
||||
->where('id')->eq($productID)
|
||||
->exec();
|
||||
if(dao::isError()) die(js::error('product#' . $productID . dao::getError(true)));
|
||||
|
||||
@@ -1115,13 +1115,15 @@ class projectModel extends model
|
||||
foreach($projects as $projectID => $project)
|
||||
{
|
||||
$oldProject = $oldProjects[$projectID];
|
||||
$parentID = !isset($project->parent) ? $oldProject->parent : $project->parent;
|
||||
|
||||
$this->dao->update(TABLE_PROJECT)->data($project)
|
||||
->autoCheck($skipFields = 'begin,end')
|
||||
->batchCheck($this->config->project->edit->requiredFields , 'notempty')
|
||||
->checkIF($project->begin != '', 'begin', 'date')
|
||||
->checkIF($project->end != '', 'end', 'date')
|
||||
->checkIF($project->end != '', 'end', 'gt', $project->begin)
|
||||
->checkIF(!empty($project->name), 'name', 'unique', "id != $projectID and `type`='project' and `parent` = $project->parent")
|
||||
->checkIF(!empty($project->name), 'name', 'unique', "id != $projectID and `type`='project' and `parent` = $parentID")
|
||||
->checkIF(!empty($project->code), 'code', 'unique', "id != $projectID and `type`='project'")
|
||||
->where('id')->eq($projectID)
|
||||
->exec();
|
||||
|
||||
Reference in New Issue
Block a user