diff --git a/flexiapi/app/Http/Controllers/Admin/Account/DeviceController.php b/flexiapi/app/Http/Controllers/Admin/Account/DeviceController.php index 80d4775..42f710f 100644 --- a/flexiapi/app/Http/Controllers/Admin/Account/DeviceController.php +++ b/flexiapi/app/Http/Controllers/Admin/Account/DeviceController.php @@ -45,12 +45,16 @@ class DeviceController extends Controller $connector = new FlexisipRedisConnector; $account = Account::findOrFail($accountId); + $device = $connector->getDevices($account->identifier) + ->where('uuid', $uuid)->first(); + + if (!$device) abort(404); + return view( 'admin.account.device.delete', [ 'account' => $account, - 'device' => $connector->getDevices($account->identifier) - ->where('uuid', $uuid)->first() + 'device' => $device ] ); } @@ -60,8 +64,10 @@ class DeviceController extends Controller $connector = new FlexisipRedisConnector; $account = Account::findOrFail($accountId); - $connector->deleteDevice($account->identifier, $request->get('uuid')); + if ($connector->deleteDevice($account->identifier, $request->get('uuid'))) { + return redirect()->route('admin.account.show', $account); + } - return redirect()->route('admin.account.show', $account); + return redirect()->route('admin.account.device.delete', [$account, $request->get('uuid')])->withErrors(['Device cannot be deleted']); } } diff --git a/flexiapi/app/Http/Controllers/Api/Admin/Account/VoicemailController.php b/flexiapi/app/Http/Controllers/Api/Admin/Account/VoicemailController.php index 47ed129..8e4047f 100644 --- a/flexiapi/app/Http/Controllers/Api/Admin/Account/VoicemailController.php +++ b/flexiapi/app/Http/Controllers/Api/Admin/Account/VoicemailController.php @@ -20,7 +20,7 @@ class VoicemailController extends Controller $account = Account::findOrFail($accountId); if ($account->email == null) { - abort(422, 'The account should be reachable by email'); + abort(422, 'The has not email address attached to it'); } $request->validate([ diff --git a/flexiapi/app/Libraries/FlexisipRedisConnector.php b/flexiapi/app/Libraries/FlexisipRedisConnector.php index 7ca3ada..7f393d9 100644 --- a/flexiapi/app/Libraries/FlexisipRedisConnector.php +++ b/flexiapi/app/Libraries/FlexisipRedisConnector.php @@ -47,14 +47,18 @@ class FlexisipRedisConnector return $devices->keyBy('uuid'); } - public function deleteDevice(string $from, string $uuid) + public function deleteDevice(string $from, string $uuid): bool { try { - Redis::hdel('fs:' . $from, '"<' . $uuid . '>"'); + $count = Redis::hdel('fs:' . $from, '"<' . $uuid . '>"'); Redis::publish($from, ''); + + return $count > 0; } catch (\Throwable $th) { Log::error('Redis server issue: ' . $th->getMessage()); } + + return false; } public function pingB2BUA(ExternalAccount $externalAccount): bool diff --git a/flexiapi/public/css/style.css b/flexiapi/public/css/style.css index 429ce8c..0c17275 100644 --- a/flexiapi/public/css/style.css +++ b/flexiapi/public/css/style.css @@ -1046,3 +1046,17 @@ small a { small.error { color: var(--danger-6); } + +/** Errors box **/ + +ul.errors { + background-color: var(--color-pink); + padding: 1rem; + border-radius: 1rem; +} + +ul.errors li { + list-style-type: none; + margin: 0; + color: white; +} \ No newline at end of file diff --git a/flexiapi/resources/views/layouts/main.blade.php b/flexiapi/resources/views/layouts/main.blade.php index 438464d..c820fd3 100644 --- a/flexiapi/resources/views/layouts/main.blade.php +++ b/flexiapi/resources/views/layouts/main.blade.php @@ -64,8 +64,6 @@ @include('parts.sidebar') @endif - @include('parts.errors') - @if (!isset($welcome) || $welcome == false)
@@ -78,6 +76,7 @@ @endif @endif + @include('parts.errors') @yield('content') @if (!isset($welcome) || $welcome == false) diff --git a/flexiapi/resources/views/parts/errors.blade.php b/flexiapi/resources/views/parts/errors.blade.php index bd74b7c..0853153 100644 --- a/flexiapi/resources/views/parts/errors.blade.php +++ b/flexiapi/resources/views/parts/errors.blade.php @@ -1,7 +1,7 @@ -@if (isset($errors) && isset($name) && count($errors->get($name)) > 0) - @foreach ($errors->get($name) as $error) - - {{ $error }} - - @endforeach +@if (isset($errors) && $errors->isNotEmpty()) + @endif