From 3429cb7c1d8dc4d4a43b4372b077a1e998ea6ab1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric?= <35066297+c3do@users.noreply.github.com> Date: Mon, 14 Oct 2019 22:42:38 +0200 Subject: [PATCH] New: Update product type with update method --- htdocs/product/class/product.class.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 1b46a656511..aa0c575d8d7 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -787,13 +787,14 @@ class Product extends CommonObject * Update a record into database. * If batch flag is set to on, we create records into llx_product_batch * - * @param int $id Id of product - * @param User $user Object user making update - * @param int $notrigger Disable triggers - * @param string $action Current action for hookmanager ('add' or 'update') + * @param int $id Id of product + * @param User $user Object user making update + * @param int $notrigger Disable triggers + * @param string $action Current action for hookmanager ('add' or 'update') + * @param int $updatetype Update product type * @return int 1 if OK, -1 if ref already exists, -2 if other error */ - public function update($id, $user, $notrigger = false, $action = 'update') + public function update($id, $user, $notrigger = false, $action = 'update', $updatetype = false) { global $langs, $conf, $hookmanager; @@ -939,6 +940,11 @@ class Product extends CommonObject $sql = "UPDATE ".MAIN_DB_PREFIX."product"; $sql.= " SET label = '" . $this->db->escape($this->label) ."'"; + + if ($updatetype && ($this->isProduct() || $this->isService())) { + $sql.= ", fk_product_type = " . $this->type; + } + $sql.= ", ref = '" . $this->db->escape($this->ref) ."'"; $sql.= ", ref_ext = ".(! empty($this->ref_ext)?"'".$this->db->escape($this->ref_ext)."'":"null"); $sql.= ", default_vat_code = ".($this->default_vat_code ? "'".$this->db->escape($this->default_vat_code)."'" : "null");