forked from extern/egroupware
use CRM view preference in CTI
This commit is contained in:
parent
fdecefebd4
commit
319c0e6af4
@ -2902,19 +2902,28 @@ class Contacts extends Contacts\Storage
|
|||||||
/**
|
/**
|
||||||
* Open CRM view for a calling number by sending a push requestion to the user
|
* Open CRM view for a calling number by sending a push requestion to the user
|
||||||
*
|
*
|
||||||
* @param $from
|
* @param string $from phone-number
|
||||||
|
* @param ?array& $found =null on return found contacts
|
||||||
* @throws Exception\WrongParameter|\libphonenumber\NumberParseException if $critera is not a string with a valid phone-number
|
* @throws Exception\WrongParameter|\libphonenumber\NumberParseException if $critera is not a string with a valid phone-number
|
||||||
* @throws Exception\NotFound if no contact matches the phone-number in $criteria
|
* @throws Exception\NotFound if no contact matches the phone-number in $criteria
|
||||||
*/
|
*/
|
||||||
function openCrmView($from)
|
function openCrmView($from, array &$found=null)
|
||||||
{
|
{
|
||||||
$found = $this->phoneSearch($from);
|
$found = $this->phoneSearch($from);
|
||||||
// ToDo: select best match from multiple matches containing the number
|
// ToDo: select best match from multiple matches containing the number
|
||||||
$contact = current($found);
|
$contact = current($found);
|
||||||
$push = new Json\Push($this->user);
|
$push = new Json\Push($this->user);
|
||||||
|
// check user preference which CRM view to use
|
||||||
|
$prefs = (new Preferences($this->user))->read_repository();
|
||||||
|
$crm_list = $prefs['addressbook']['crm_list'];
|
||||||
|
if (empty($crm_list) || $crm_list === '~edit~') $crm_list = 'infolog';
|
||||||
|
if ($crm_list === 'infolog' && count($found) > 1 && !empty($contact['org_name']))
|
||||||
|
{
|
||||||
|
$crm_list = 'infolog-organisation';
|
||||||
|
}
|
||||||
$extras = [
|
$extras = [
|
||||||
//'index': ToDo: what's that used for?
|
//'index': ToDo: what's that used for?
|
||||||
'crm_list' => count($found) > 1 && $contact['org_name'] ? 'infolog-organisation' : 'infolog',
|
'crm_list' => $crm_list,
|
||||||
];
|
];
|
||||||
$params = [(int)$contact['id'], 'addressbook', 'view', $extras, [
|
$params = [(int)$contact['id'], 'addressbook', 'view', $extras, [
|
||||||
'displayName' => count($found) > 1 && $contact['org_name'] ?
|
'displayName' => count($found) > 1 && $contact['org_name'] ?
|
||||||
|
Loading…
Reference in New Issue
Block a user