From 2e9badd21db0ac0a096c7e796d6fda2cca29a813 Mon Sep 17 00:00:00 2001 From: ptibogxiv Date: Wed, 27 Mar 2019 12:45:33 +0100 Subject: [PATCH] Update api_memberstypes.class.php --- htdocs/adherents/class/api_memberstypes.class.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/htdocs/adherents/class/api_memberstypes.class.php b/htdocs/adherents/class/api_memberstypes.class.php index abfaf84993d..519a0cecfb3 100644 --- a/htdocs/adherents/class/api_memberstypes.class.php +++ b/htdocs/adherents/class/api_memberstypes.class.php @@ -79,6 +79,7 @@ class MembersTypes extends DolibarrApi * * @param string $sortfield Sort field * @param string $sortorder Sort order + * @param string $nature Nature of type phy, mor or both (for only both not mor or phy only) * @param int $limit Limit for list * @param int $page Page number * @param string $sqlfilters Other criteria to filter answers separated by a comma. Syntax example "(t.libelle:like:'SO-%') and (t.subscription:=:'1')" @@ -86,7 +87,7 @@ class MembersTypes extends DolibarrApi * * @throws RestException */ - public function index($sortfield = "t.rowid", $sortorder = 'ASC', $limit = 100, $page = 0, $sqlfilters = '') + public function index($sortfield = "t.rowid", $sortorder = 'ASC', $nature = 'all', $limit = 100, $page = 0, $sqlfilters = '') { global $db, $conf; @@ -100,6 +101,15 @@ class MembersTypes extends DolibarrApi $sql.= " FROM ".MAIN_DB_PREFIX."adherent_type as t"; $sql.= ' WHERE t.entity IN ('.getEntity('member_type').')'; + // Nature + if ($nature != 'all') { + if ($nature == 'both') { + $sql.= ' AND t.morphy IS NULL '; + } else { + $sql.= ' AND (t.morphy IS NULL OR t.morphy = "'.$nature.'")'; + } + } + // Add sql filters if ($sqlfilters) {