diff --git a/htdocs/categories/class/api_categories.class.php b/htdocs/categories/class/api_categories.class.php
index c975236f930..9b59e1f001b 100644
--- a/htdocs/categories/class/api_categories.class.php
+++ b/htdocs/categories/class/api_categories.class.php
@@ -15,10 +15,15 @@
* along with this program. If not, see .
*/
- use Luracast\Restler\RestException;
+use Luracast\Restler\RestException;
- require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
- require_once DOL_DOCUMENT_ROOT.'/societe/class/client.class.php';
+require_once DOL_DOCUMENT_ROOT.'/categories/class/categorie.class.php';
+require_once DOL_DOCUMENT_ROOT.'/societe/class/client.class.php';
+
+require_once DOL_DOCUMENT_ROOT.'/adherents/class/api_members.class.php';
+require_once DOL_DOCUMENT_ROOT.'/product/class/api_products.class.php';
+require_once DOL_DOCUMENT_ROOT.'/societe/class/api_contacts.class.php';
+require_once DOL_DOCUMENT_ROOT.'/societe/class/api_thirdparties.class.php';
/**
* API class for categories
@@ -335,4 +340,61 @@ class Categories extends DolibarrApi
}
return $category;
}
+
+ /**
+ * Get the list of objects in a category.
+ *
+ * @param int $id ID of category
+ * @param string $type Type of category ('member', 'customer', 'supplier', 'product', 'contact')
+ * @param int $onlyids Return only ids of objects (consume less memory)
+ *
+ * @return mixed
+ *
+ * @url GET {id}/objects
+ */
+ public function getObjects($id, $type, $onlyids = 0)
+ {
+ dol_syslog("getObjects($id, $type, $onlyids)", LOG_DEBUG);
+
+ if (! DolibarrApiAccess::$user->rights->categorie->lire) {
+ throw new RestException(401);
+ }
+
+ if (empty($type))
+ {
+ throw new RestException(500, 'The "type" parameter is required.');
+ }
+
+ $result = $this->category->fetch($id);
+ if (! $result) {
+ throw new RestException(404, 'category not found');
+ }
+
+ if (! DolibarrApi::_checkAccessToResource('category', $this->category->id)) {
+ throw new RestException(401, 'Access not allowed for login '.DolibarrApiAccess::$user->login);
+ }
+
+ $result = $this->category->getObjectsInCateg($type, $onlyids);
+
+ if ($result < 0) {
+ throw new RestException(503, 'Error when retrieving objects list : '.$this->category->error);
+ }
+
+ $objects = $result;
+ $cleaned_objects = array();
+ if ($type == 'member') {
+ $objects_api = new Members();
+ } elseif ($type == 'customer' || $type == 'supplier') {
+ $objects_api = new Thirdparties();
+ } elseif ($type == 'product') {
+ $objects_api = new Products();
+ } elseif ($type == 'contact') {
+ $objects_api = new Contacts();
+ }
+ foreach ($objects as $obj) {
+ $cleaned_objects[] = $objects_api->_cleanObjectDatas($obj);
+ }
+
+ return $cleaned_objects;
+ }
}
diff --git a/htdocs/contact/list.php b/htdocs/contact/list.php
index c8014e900b9..246fd172dc7 100644
--- a/htdocs/contact/list.php
+++ b/htdocs/contact/list.php
@@ -146,6 +146,8 @@ $fieldstosearchall = array(
'p.email'=>'EMail',
's.nom'=>"ThirdParty",
'p.phone'=>"Phone",
+ 'p.note_public'=>"NotePublic",
+ 'p.note_private'=>"NotePrivate",
);
// Definition of fields for list
diff --git a/htdocs/core/modules/bom/mod_bom_advanced.php b/htdocs/core/modules/bom/mod_bom_advanced.php
index 594df7e31de..ba5c437f0a0 100644
--- a/htdocs/core/modules/bom/mod_bom_advanced.php
+++ b/htdocs/core/modules/bom/mod_bom_advanced.php
@@ -1,8 +1,9 @@
- * Copyright (C) 2004-2007 Laurent Destailleur
- * Copyright (C) 2005-2009 Regis Houssin
- * Copyright (C) 2008 Raphael Bertrand (Resultic)
+/* Copyright (C) 2003-2007 Rodolphe Quiedeville
+ * Copyright (C) 2004-2007 Laurent Destailleur
+ * Copyright (C) 2005-2009 Regis Houssin
+ * Copyright (C) 2008 Raphael Bertrand (Resultic)
+ * Copyright (C) 2019 Frédéric France
*
* 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
@@ -57,11 +58,11 @@ class mod_bom_advanced extends ModeleNumRefboms
*/
public function info()
{
- global $conf, $langs;
+ global $conf, $langs, $db;
$langs->load("bills");
- $form = new Form($this->db);
+ $form = new Form($db);
$texte = $langs->trans('GenericNumRefModelDesc')."
\n";
$texte.= '