From 006ddaca5fbfee78e3935feb11490f61323aae59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Jaussoin?= Date: Thu, 29 Sep 2022 16:31:37 +0200 Subject: [PATCH] Fix #44 Add display name in the provisioning XML --- flexiapi/app/Account.php | 9 +++++++++ .../Http/Controllers/Account/ProvisioningController.php | 4 ++-- flexiapi/database/factories/AccountFactory.php | 1 + flexiapi/tests/Feature/AccountProvisioningTest.php | 1 + flexisip-account-manager.spec | 2 +- 5 files changed, 14 insertions(+), 3 deletions(-) diff --git a/flexiapi/app/Account.php b/flexiapi/app/Account.php index 3481959..64f5602 100644 --- a/flexiapi/app/Account.php +++ b/flexiapi/app/Account.php @@ -173,6 +173,15 @@ class Account extends Authenticatable return $this->attributes['username'] . '@' . $this->attributes['domain']; } + public function getFullIdentifierAttribute() + { + $displayName = $this->attributes['display_name'] + ? '"' . $this->attributes['display_name'] . '" ' + : ''; + + return $displayName . 'getIdentifierAttribute() . '>'; + } + public function getRealmAttribute() { return config('app.realm'); diff --git a/flexiapi/app/Http/Controllers/Account/ProvisioningController.php b/flexiapi/app/Http/Controllers/Account/ProvisioningController.php index ceeedf3..2199dc6 100644 --- a/flexiapi/app/Http/Controllers/Account/ProvisioningController.php +++ b/flexiapi/app/Http/Controllers/Account/ProvisioningController.php @@ -148,7 +148,7 @@ class ProvisioningController extends Controller $section = $dom->createElement('section'); $section->setAttribute('name', 'proxy_' . $proxyConfigIndex); - $entry = $dom->createElement('entry', 'identifier . '>'); + $entry = $dom->createElement('entry', $account->fullIdentifier); $entry->setAttribute('name', 'reg_identity'); $section->appendChild($entry); @@ -228,7 +228,7 @@ class ProvisioningController extends Controller $section = $dom->createElement('section'); $section->setAttribute('name', 'proxy_' . $proxyConfigIndex); - $entry = $dom->createElement('entry', 'identifier . '>'); + $entry = $dom->createElement('entry', $externalAccount->fullIdentifier); $entry->setAttribute('name', 'reg_identity'); $section->appendChild($entry); diff --git a/flexiapi/database/factories/AccountFactory.php b/flexiapi/database/factories/AccountFactory.php index be547ee..de37bf2 100644 --- a/flexiapi/database/factories/AccountFactory.php +++ b/flexiapi/database/factories/AccountFactory.php @@ -32,6 +32,7 @@ class AccountFactory extends Factory { return [ 'username' => $this->faker->username, + 'display_name' => $this->faker->username, 'domain' => config('app.sip_domain'), 'email' => $this->faker->email, 'user_agent' => $this->faker->userAgent, diff --git a/flexiapi/tests/Feature/AccountProvisioningTest.php b/flexiapi/tests/Feature/AccountProvisioningTest.php index 1972e1e..43dadcb 100644 --- a/flexiapi/tests/Feature/AccountProvisioningTest.php +++ b/flexiapi/tests/Feature/AccountProvisioningTest.php @@ -92,6 +92,7 @@ class AccountProvisioningTest extends TestCase ->assertStatus(200) ->assertHeader('Content-Type', 'application/xml') ->assertSee($password->account->username) + ->assertSee($password->account->display_name) ->assertSee('ha1'); } diff --git a/flexisip-account-manager.spec b/flexisip-account-manager.spec index 1b5e69b..a355506 100644 --- a/flexisip-account-manager.spec +++ b/flexisip-account-manager.spec @@ -8,7 +8,7 @@ #%define _datadir %{_datarootdir} #%define _docdir %{_datadir}/doc -%define build_number 153 +%define build_number 154 %define var_dir /var/opt/belledonne-communications %define opt_dir /opt/belledonne-communications/share/flexisip-account-manager