From 08d215fe9a3e871700692519cf4f20ecce6d985d Mon Sep 17 00:00:00 2001 From: songchenxuan Date: Fri, 10 Nov 2023 12:41:31 +0800 Subject: [PATCH] * Merge commit e5920bc0fc. --- module/api/v1/entries/product.php | 2 ++ module/api/v1/entries/products.php | 13 ++++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/module/api/v1/entries/product.php b/module/api/v1/entries/product.php index 615991ddec..fb87636161 100644 --- a/module/api/v1/entries/product.php +++ b/module/api/v1/entries/product.php @@ -107,10 +107,12 @@ class productEntry extends entry */ public function put($productID) { + $useCode = $this->checkCodeUsed(); $oldProduct = $this->loadModel('product')->getByID($productID); /* Set $_POST variables. */ $fields = 'program,line,name,PO,QD,RD,type,desc,whitelist,status,acl'; + if($useCode) $fields .= ',code'; $this->batchSetPost($fields, $oldProduct); $control = $this->loadController('product', 'edit'); diff --git a/module/api/v1/entries/products.php b/module/api/v1/entries/products.php index f2a1de7458..06be49798c 100644 --- a/module/api/v1/entries/products.php +++ b/module/api/v1/entries/products.php @@ -112,14 +112,21 @@ class productsEntry extends entry */ public function post() { - $fields = 'program,code,line,name,PO,QD,RD,type,desc,whitelist'; + $useCode = $this->checkCodeUsed(); + + $fields = 'program,line,name,PO,QD,RD,type,desc,whitelist'; + if($useCode) $fields .= ',code'; + $this->batchSetPost($fields); $this->setPost('acl', $this->request('acl', 'private')); $this->setPost('whitelist', $this->request('whitelist', array())); $control = $this->loadController('product', 'create'); - $this->requireFields('name,code'); + + $requireFields = 'name'; + if($useCode) $requireFields .= ',code'; + $this->requireFields($requireFields); $control->create($this->request('program', 0)); @@ -130,7 +137,7 @@ class productsEntry extends entry $product = $this->loadModel('product')->getByID($data->id); $product = $this->format($product, 'createdDate:time,whitelist:userList,createdBy:user,PO:user,RD:user,QD:user'); - return $this->send(200, $product); + return $this->send(201, $product); } /**