Societe: add method to find parent companies
This commit is contained in:
parent
f75049d0e8
commit
4d01969a4c
@ -3462,6 +3462,37 @@ class Societe extends CommonObject
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get parents for company
|
||||
*
|
||||
* @param int $company_id ID of company to search parent
|
||||
* @param array $parents List of companies ID found
|
||||
* @return array
|
||||
*/
|
||||
public function getParentsForCompany($company_id, $parents = [])
|
||||
{
|
||||
global $langs;
|
||||
|
||||
if ($company_id > 0) {
|
||||
$sql = "SELECT parent FROM " . MAIN_DB_PREFIX . "societe WHERE rowid = $company_id";
|
||||
$resql = $this->db->query($sql);
|
||||
if ($resql) {
|
||||
if ($obj = $this->db->fetch_object($resql)) {
|
||||
$parent = $obj->parent;
|
||||
if ($parent > 0 && !in_array($parent, $parents)) {
|
||||
$parents[] = $parent;
|
||||
return $this->getParentsForCompany($parent, $parents);
|
||||
} else {
|
||||
return $parents;
|
||||
}
|
||||
}
|
||||
$this->db->free($resql);
|
||||
} else {
|
||||
setEventMessage($langs->trans('GetCompanyParentsError', $this->db->lasterror()), 'errors');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// phpcs:disable PEAR.NamingConventions.ValidFunctionName.ScopeNotCamelCaps
|
||||
/**
|
||||
* Returns if a profid sould be verified to be unique
|
||||
|
||||
Loading…
Reference in New Issue
Block a user