2
0
forked from Wavyzz/dolibarr

NEW add multicurrency rate at currency list API

This commit is contained in:
ptibogxiv
2019-05-06 10:27:13 +02:00
committed by GitHub
parent 15dc5f9d23
commit 2aafef4017

View File

@@ -448,6 +448,7 @@ class Setup extends DolibarrApi
/**
* Get the list of currencies.
*
* @param int $multicurrency Multicurrency rates (0: no multicurrency, 1: last rate) {@min 0} {@max 1}
* @param string $sortfield Sort field
* @param string $sortorder Sort order
* @param int $limit Number of items per page
@@ -460,13 +461,22 @@ class Setup extends DolibarrApi
*
* @throws RestException
*/
public function getListOfCurrencies($sortfield = "code_iso", $sortorder = 'ASC', $limit = 100, $page = 0, $active = 1, $sqlfilters = '')
public function getListOfCurrencies($multicurrency = 0, $sortfield = "code_iso", $sortorder = 'ASC', $limit = 100, $page = 0, $active = 1, $sqlfilters = '')
{
$list = array();
//TODO link with multicurrency module
$sql = "SELECT t.code_iso, t.label, t.unicode";
if (!empty($multicurrency)) $sql.= " , cr.date_sync, cr.rate ";
$sql.= " FROM ".MAIN_DB_PREFIX."c_currencies as t";
if (!empty($multicurrency)) {
$sql.= " JOIN ".MAIN_DB_PREFIX."multicurrency as m ON m.code=t.code_iso";
$sql.= " JOIN ".MAIN_DB_PREFIX."multicurrency_rate as cr ON (m.rowid = cr.fk_multicurrency)";
}
$sql.= " WHERE t.active = ".$active;
if (!empty($multicurrency)) {
$sql.= " AND m.entity IN (".getEntity('multicurrency').")";
$sql.= " AND cr.date_sync = (SELECT MAX(cr2.date_sync) FROM ".MAIN_DB_PREFIX."multicurrency_rate AS cr2 WHERE cr2.fk_multicurrency = m.rowid)";
}
// Add sql filters
if ($sqlfilters)
{