diff --git a/flexiapi/app/Http/Controllers/Api/Admin/AccountController.php b/flexiapi/app/Http/Controllers/Api/Admin/AccountController.php index 616d50d..9aeba4a 100644 --- a/flexiapi/app/Http/Controllers/Api/Admin/AccountController.php +++ b/flexiapi/app/Http/Controllers/Api/Admin/AccountController.php @@ -90,7 +90,7 @@ class AccountController extends Controller $account->creation_time = Carbon::now(); $account->user_agent = config('app.name'); - if (!$request->has('activated') || !(bool)$request->has('activated')) { + if (!$request->has('activated') || !(bool)$request->get('activated')) { $account->confirmation_key = Str::random(WebAuthenticateController::$emailCodeSize); } diff --git a/flexiapi/tests/Feature/AccountApiTest.php b/flexiapi/tests/Feature/AccountApiTest.php index 094d58f..786ea1d 100644 --- a/flexiapi/tests/Feature/AccountApiTest.php +++ b/flexiapi/tests/Feature/AccountApiTest.php @@ -183,6 +183,35 @@ class AccountApiTest extends TestCase $this->assertTrue(empty($response1['confirmation_key'])); } + public function testNotActivated() + { + $admin = Admin::factory()->create(); + $admin->account->generateApiKey(); + $password = $admin->account->passwords()->first(); + + $username = 'username'; + + $response0 = $this->generateFirstResponse($password); + $response1 = $this->generateSecondResponse($password, $response0) + ->json($this->method, $this->route, [ + 'username' => $username, + 'algorithm' => 'SHA-256', + 'password' => '2', + 'activated' => false, + ]); + + $response1 + ->assertStatus(200) + ->assertJson([ + 'id' => 2, + 'username' => $username, + 'domain' => config('app.sip_domain'), + 'activated' => false, + ]); + + $this->assertFalse(empty($response1['confirmation_key'])); + } + public function testSimpleAccount() { $password = Password::factory()->create(); diff --git a/flexisip-account-manager.spec b/flexisip-account-manager.spec index b396d7d..0c6c342 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 43 +%define build_number 44 %define var_dir /var/opt/belledonne-communications %define opt_dir /opt/belledonne-communications/share/flexisip-account-manager %define env_file "$RPM_BUILD_ROOT/etc/flexisip-account-manager/flexiapi.env"