|
@@ -411,8 +411,9 @@ class BankAccounts extends DolibarrApi
|
|
|
* @throws RestException
|
|
|
*
|
|
|
* @url GET {id}/lines
|
|
|
+ * @param string $sqlfilters Other criteria to filter answers separated by a comma. Syntax example "(t.ref:like:'SO-%') and (t.import_key:<:'20160101')"
|
|
|
*/
|
|
|
- public function getLines($id)
|
|
|
+ public function getLines($id, $sqlfilters = '')
|
|
|
{
|
|
|
$list = array();
|
|
|
|
|
@@ -428,6 +429,18 @@ class BankAccounts extends DolibarrApi
|
|
|
|
|
|
$sql = "SELECT rowid FROM ".MAIN_DB_PREFIX."bank ";
|
|
|
$sql .= " WHERE fk_account = ".$id;
|
|
|
+
|
|
|
+ // Add sql filters
|
|
|
+ if ($sqlfilters)
|
|
|
+ {
|
|
|
+ if (! DolibarrApi::_checkFilters($sqlfilters))
|
|
|
+ {
|
|
|
+ throw new RestException(503, 'Error when validating parameter sqlfilters '.$sqlfilters);
|
|
|
+ }
|
|
|
+ $regexstring='\(([^:\'\(\)]+:[^:\'\(\)]+:[^:\(\)]+)\)';
|
|
|
+ $sql.=" AND (".preg_replace_callback('/'.$regexstring.'/', 'DolibarrApi::_forge_criteria_callback', $sqlfilters).")";
|
|
|
+ }
|
|
|
+
|
|
|
$sql .= " ORDER BY rowid";
|
|
|
|
|
|
$result = $this->db->query($sql);
|