Browse Source

Merge branch '14.0' of git@github.com:Dolibarr/dolibarr.git into 15.0

Laurent Destailleur 2 years ago
parent
commit
7387e535ef

+ 4 - 0
htdocs/core/lib/functions.lib.php

@@ -17,6 +17,7 @@
  * Copyright (C) 2019       Thibault Foucart            <support@ptibogxiv.net>
  * Copyright (C) 2020       Open-Dsi         			<support@open-dsi.fr>
  * Copyright (C) 2021       Gauthier VERDOL         	<gauthier.verdol@atm-consulting.fr>
+ * Copyright (C) 2022       Ferran Marcet           	<fmarcet@2byte.es>
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -7204,6 +7205,9 @@ function getCommonSubstitutionArray($outputlangs, $onlykey = 0, $exclude = null,
 				$substitutionarray['__PROJECT_REF__'] = (is_object($object->projet) ? $object->projet->ref : '');
 				$substitutionarray['__PROJECT_NAME__'] = (is_object($object->projet) ? $object->projet->title : '');
 			}
+			if (is_object($object) && $object->element == 'project') {
+				$substitutionarray['__PROJECT_NAME__'] = $object->title;
+			}
 
 			if (is_object($object) && $object->element == 'shipping') {
 				$substitutionarray['__SHIPPINGTRACKNUM__'] = $object->tracking_number;

+ 1 - 1
htdocs/core/tpl/objectline_create.tpl.php

@@ -766,7 +766,7 @@ if (!empty($usemargins) && $user->rights->margins->creer) {
 						<?php
 						if (!empty($conf->global->PRODUCT_LOAD_EXTRAFIELD_INTO_OBJECTLINES)) { ?>
 							jQuery.each(data.array_options, function( key, value ) {
-								jQuery('div[class$="det'+key.replace('options_','_extras_')+'"] > #'+key).val(value);
+								jQuery('div[class*="det'+key.replace('options_','_extras_')+'"] > #'+key).val(value);
 							});
 							<?php
 						} ?>

+ 1 - 1
htdocs/variants/ajax/get_attribute_values.php

@@ -75,7 +75,7 @@ if ($prodattr->fetch($id) < 0) {
 
 $prodattrval = new ProductAttributeValue($db);
 
-$res = $prodattrval->fetchAllByProductAttribute($id);
+$res = $prodattrval->fetchAllByProductAttribute($id, false, 1);
 
 if ($res == -1) {
 	print json_encode(array(

+ 9 - 3
htdocs/variants/class/ProductAttribute.class.php

@@ -107,9 +107,10 @@ class ProductAttribute extends CommonObject
 	/**
 	 * Returns an array of all product variants
 	 *
-	 * @return ProductAttribute[]
+	 * @param	int		$returnonlydata		0: return object, 1: return only data
+	 * @return								ProductAttribute[]
 	 */
-	public function fetchAll()
+	public function fetchAll($returnonlydata = 0)
 	{
 		$return = array();
 
@@ -118,7 +119,12 @@ class ProductAttribute extends CommonObject
 		$query = $this->db->query($sql);
 		if ($query) {
 			while ($result = $this->db->fetch_object($query)) {
-				$tmp = new ProductAttribute($this->db);
+				if (empty($returnonlydata)) {
+					$tmp = new ProductAttribute($this->db);
+				} else {
+					$tmp = new stdClass();
+				}
+
 				$tmp->id = $result->rowid;
 				$tmp->ref = $result->ref;
 				$tmp->ref_ext = $result->ref_ext;

+ 11 - 5
htdocs/variants/class/ProductAttributeValue.class.php

@@ -99,11 +99,12 @@ class ProductAttributeValue extends CommonObject
 	/**
 	 * Returns all product attribute values of a product attribute
 	 *
-	 * @param int $prodattr_id Product attribute id
-	 * @param bool $only_used Fetch only used attribute values
-	 * @return ProductAttributeValue[]
+	 * @param	int		$prodattr_id		Product attribute id
+	 * @param	bool	$only_used			Fetch only used attribute values
+	 * @param	int		$returnonlydata		0: return object, 1: return only data
+	 * @return								ProductAttributeValue[]
 	 */
-	public function fetchAllByProductAttribute($prodattr_id, $only_used = false)
+	public function fetchAllByProductAttribute($prodattr_id, $only_used = false, $returnonlydata = 0)
 	{
 		$return = array();
 
@@ -130,7 +131,12 @@ class ProductAttributeValue extends CommonObject
 		$query = $this->db->query($sql);
 
 		while ($result = $this->db->fetch_object($query)) {
-			$tmp = new ProductAttributeValue($this->db);
+			if (empty($returnonlydata)) {
+				$tmp = new ProductAttributeValue($this->db);
+			} else {
+				$tmp = new stdClass();
+			}
+
 			$tmp->fk_product_attribute = $result->fk_product_attribute;
 			$tmp->id = $result->rowid;
 			$tmp->ref = $result->ref;

+ 1 - 2
htdocs/variants/combinations.php

@@ -481,7 +481,7 @@ if (!empty($id) || !empty($ref)) {
 		}
 
 		if ($action == 'add') {
-			$prodattr_all = $prodattr->fetchAll();
+			$prodattr_all = $prodattr->fetchAll(1);
 
 			if (!$selected) {
 				$selected = $prodattr_all[key($prodattr_all)]->id;
@@ -492,7 +492,6 @@ if (!empty($id) || !empty($ref)) {
 			foreach ($prodattr_all as $each) {
 				$prodattr_alljson[$each->id] = $each;
 			}
-
 			?>
 
 		<script type="text/javascript">