diff --git a/flexiapi/app/Consommable.php b/flexiapi/app/Consommable.php index a276595..69e3711 100644 --- a/flexiapi/app/Consommable.php +++ b/flexiapi/app/Consommable.php @@ -13,4 +13,9 @@ abstract class Consommable extends Model $this->{$this->consommableAttribute} = null; $this->save(); } + + public function consumed(): bool + { + return $this->{$this->consommableAttribute} == null; + } } diff --git a/flexiapi/app/Http/Controllers/Admin/AccountActivityController.php b/flexiapi/app/Http/Controllers/Admin/AccountActivityController.php new file mode 100644 index 0000000..175d625 --- /dev/null +++ b/flexiapi/app/Http/Controllers/Admin/AccountActivityController.php @@ -0,0 +1,21 @@ + $account + ] + ); + } +} diff --git a/flexiapi/app/Services/AccountService.php b/flexiapi/app/Services/AccountService.php index 488bae9..c8d38b1 100644 --- a/flexiapi/app/Services/AccountService.php +++ b/flexiapi/app/Services/AccountService.php @@ -154,11 +154,11 @@ class AccountService $account->refresh(); + $phoneChangeCode->consume(); + return $account; } - $phoneChangeCode->consume(); - if ($this->api) { abort(403); } @@ -217,7 +217,7 @@ class AccountService Log::channel('events')->info('Account Service: Account email changed using email', ['id' => $account->identifier]); - $emailChangeCode->delete(); + $emailChangeCode->consume(); $account->activated = true; $account->save(); @@ -227,8 +227,6 @@ class AccountService return $account; } - $emailChangeCode->consume(); - if ($this->api) { abort(403); } diff --git a/flexiapi/composer.lock b/flexiapi/composer.lock index 9baf25b..26bf0f5 100644 --- a/flexiapi/composer.lock +++ b/flexiapi/composer.lock @@ -243,16 +243,16 @@ }, { "name": "carbonphp/carbon-doctrine-types", - "version": "2.0.0", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git", - "reference": "67a77972b9f398ae7068dabacc39c08aeee170d5" + "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/67a77972b9f398ae7068dabacc39c08aeee170d5", - "reference": "67a77972b9f398ae7068dabacc39c08aeee170d5", + "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", + "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", "shasum": "" }, "require": { @@ -292,7 +292,7 @@ ], "support": { "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", - "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.0.0" + "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0" }, "funding": [ { @@ -308,7 +308,7 @@ "type": "tidelift" } ], - "time": "2023-10-01T14:29:01+00:00" + "time": "2023-12-11T17:09:12+00:00" }, { "name": "dasprid/enum", @@ -5052,16 +5052,16 @@ }, { "name": "react/socket", - "version": "v1.14.0", + "version": "v1.15.0", "source": { "type": "git", "url": "https://github.com/reactphp/socket.git", - "reference": "21591111d3ea62e31f2254280ca0656bc2b1bda6" + "reference": "216d3aec0b87f04a40ca04f481e6af01bdd1d038" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/reactphp/socket/zipball/21591111d3ea62e31f2254280ca0656bc2b1bda6", - "reference": "21591111d3ea62e31f2254280ca0656bc2b1bda6", + "url": "https://api.github.com/repos/reactphp/socket/zipball/216d3aec0b87f04a40ca04f481e6af01bdd1d038", + "reference": "216d3aec0b87f04a40ca04f481e6af01bdd1d038", "shasum": "" }, "require": { @@ -5073,7 +5073,7 @@ "react/stream": "^1.2" }, "require-dev": { - "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35", + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", "react/async": "^4 || ^3 || ^2", "react/promise-stream": "^1.4", "react/promise-timer": "^1.10" @@ -5081,7 +5081,7 @@ "type": "library", "autoload": { "psr-4": { - "React\\Socket\\": "src" + "React\\Socket\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -5120,7 +5120,7 @@ ], "support": { "issues": "https://github.com/reactphp/socket/issues", - "source": "https://github.com/reactphp/socket/tree/v1.14.0" + "source": "https://github.com/reactphp/socket/tree/v1.15.0" }, "funding": [ { @@ -5128,7 +5128,7 @@ "type": "open_collective" } ], - "time": "2023-08-25T13:48:09+00:00" + "time": "2023-12-15T11:02:10+00:00" }, { "name": "react/stream", @@ -9445,16 +9445,16 @@ }, { "name": "pdepend/pdepend", - "version": "2.16.1", + "version": "2.16.2", "source": { "type": "git", "url": "https://github.com/pdepend/pdepend.git", - "reference": "66ceb05eaa8bf358574143c974b04463911bc700" + "reference": "f942b208dc2a0868454d01b29f0c75bbcfc6ed58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pdepend/pdepend/zipball/66ceb05eaa8bf358574143c974b04463911bc700", - "reference": "66ceb05eaa8bf358574143c974b04463911bc700", + "url": "https://api.github.com/repos/pdepend/pdepend/zipball/f942b208dc2a0868454d01b29f0c75bbcfc6ed58", + "reference": "f942b208dc2a0868454d01b29f0c75bbcfc6ed58", "shasum": "" }, "require": { @@ -9496,7 +9496,7 @@ ], "support": { "issues": "https://github.com/pdepend/pdepend/issues", - "source": "https://github.com/pdepend/pdepend/tree/2.16.1" + "source": "https://github.com/pdepend/pdepend/tree/2.16.2" }, "funding": [ { @@ -9504,7 +9504,7 @@ "type": "tidelift" } ], - "time": "2023-12-10T18:38:19+00:00" + "time": "2023-12-17T18:09:59+00:00" }, { "name": "phpmd/phpmd", diff --git a/flexiapi/public/css/style.css b/flexiapi/public/css/style.css index cdaee12..799974e 100644 --- a/flexiapi/public/css/style.css +++ b/flexiapi/public/css/style.css @@ -420,8 +420,6 @@ content > nav a { align-items: center; line-height: 5rem; margin: 1rem 0; - margin-left: 2rem; - padding-right: 2rem; position: relative; white-space: nowrap; } @@ -433,19 +431,6 @@ content > nav a.current { box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2); } -content > nav a.current:after { - content: ''; - display: block; - width: 1rem; - height: 1rem; - background-color: white; - border-radius: 1rem; - position: absolute; - left: -2rem; - top: calc(50% - 0.5rem); - box-shadow: 0 0 1rem rgba(0, 0, 0, 0.2); -} - content > nav a i { margin: 0 1rem; margin-left: 2rem; @@ -658,6 +643,10 @@ table tr.empty td:before { line-height: 8rem; } +table.third th { + width: 33.33%; +} + /* Display/hide */ .on_mobile { @@ -768,6 +757,10 @@ select.list_toggle { pointer-events: none; } +.crossed { + text-decoration: line-through; +} + .chart { min-height: 80vh; } diff --git a/flexiapi/resources/views/admin/account/account_type/create.blade.php b/flexiapi/resources/views/admin/account/account_type/create.blade.php index 30d8477..1fb055f 100644 --- a/flexiapi/resources/views/admin/account/account_type/create.blade.php +++ b/flexiapi/resources/views/admin/account/account_type/create.blade.php @@ -1,9 +1,7 @@ @extends('layouts.main') @section('breadcrumb') - + @include('admin.account.parts.breadcrumb_accounts_index') diff --git a/flexiapi/resources/views/admin/account/action/create_edit.blade.php b/flexiapi/resources/views/admin/account/action/create_edit.blade.php index c7cb15e..4fc5f11 100644 --- a/flexiapi/resources/views/admin/account/action/create_edit.blade.php +++ b/flexiapi/resources/views/admin/account/action/create_edit.blade.php @@ -1,9 +1,7 @@ @extends('layouts.main') @section('breadcrumb') - + @include('admin.account.parts.breadcrumb_accounts_index') diff --git a/flexiapi/resources/views/admin/account/action/delete.blade.php b/flexiapi/resources/views/admin/account/action/delete.blade.php index b3b2f4c..b103f24 100644 --- a/flexiapi/resources/views/admin/account/action/delete.blade.php +++ b/flexiapi/resources/views/admin/account/action/delete.blade.php @@ -1,9 +1,7 @@ @extends('layouts.main') @section('breadcrumb') - + @include('admin.account.parts.breadcrumb_accounts_index') diff --git a/flexiapi/resources/views/admin/account/activity/index.blade.php b/flexiapi/resources/views/admin/account/activity/index.blade.php new file mode 100644 index 0000000..6101945 --- /dev/null +++ b/flexiapi/resources/views/admin/account/activity/index.blade.php @@ -0,0 +1,119 @@ +@extends('layouts.main') + +@section('breadcrumb') + @include('admin.account.parts.breadcrumb_accounts_index') + + +@endsection + +@section('content') + +
+

view_list {{ $account->identifier }}

+
+ +@include('admin.account.parts.tabs') + +@if ($account->recoveryCodes->isNotEmpty()) + + + + + + + + + + @foreach ($account->recoveryCodes as $recoveryCode) + consumed()) class="disabled" @endif> + + + + + @endforeach + +
Recovery CodesCreatedUsed
consumed())class="crossed" @endif>**** + {{ $recoveryCode->created_at }} + + {{ $recoveryCode->created_at != $recoveryCode->updated_at ? $recoveryCode->updated_at : '-' }} +
+@endif + +@if ($account->phoneChangeCodes->isNotEmpty()) + + + + + + + + + + @foreach ($account->phoneChangeCodes as $phoneChangeCode) + consumed()) class="disabled" @endif> + + + + + @endforeach + +
Phone Change requestsCreatedUsed
consumed())class="crossed" @endif>**** + {{ $phoneChangeCode->created_at }} + + {{ $phoneChangeCode->created_at != $phoneChangeCode->updated_at ? $phoneChangeCode->updated_at : '-' }} +
+@endif + +@if ($account->emailChangeCodes->isNotEmpty()) + + + + + + + + + + @foreach ($account->emailChangeCodes as $emailChangeCode) + consumed()) class="disabled" @endif> + + + + + @endforeach + +
Email Change requestsCreatedUsed
consumed())class="crossed" @endif>**** + {{ $emailChangeCode->created_at }} + + {{ $emailChangeCode->created_at != $emailChangeCode->updated_at ? $emailChangeCode->updated_at : '-' }} +
+@endif + +@if ($account->provisioningTokens->isNotEmpty()) + + + + + + + + + + @foreach ($account->provisioningTokens as $provisioningToken) + used) class="disabled" @endif> + + + + + @endforeach + +
Provisioning TokensCreatedUsed
used) class="crossed" @endif>{{ $provisioningToken->token }} + {{ $provisioningToken->created_at }} + + {{ $provisioningToken->updated_at }} +
+@endif + +@endsection \ No newline at end of file diff --git a/flexiapi/resources/views/admin/account/contact/create.blade.php b/flexiapi/resources/views/admin/account/contact/create.blade.php index 98c23ff..6a73e9b 100644 --- a/flexiapi/resources/views/admin/account/contact/create.blade.php +++ b/flexiapi/resources/views/admin/account/contact/create.blade.php @@ -1,9 +1,7 @@ @extends('layouts.main') @section('breadcrumb') - + @include('admin.account.parts.breadcrumb_accounts_index') @endsection diff --git a/flexiapi/resources/views/admin/account/contact/delete.blade.php b/flexiapi/resources/views/admin/account/contact/delete.blade.php index 98b24aa..853966f 100644 --- a/flexiapi/resources/views/admin/account/contact/delete.blade.php +++ b/flexiapi/resources/views/admin/account/contact/delete.blade.php @@ -1,9 +1,7 @@ @extends('layouts.main') @section('breadcrumb') - + @include('admin.account.parts.breadcrumb_accounts_index') diff --git a/flexiapi/resources/views/admin/account/create_edit.blade.php b/flexiapi/resources/views/admin/account/create_edit.blade.php index 0f64307..42e608f 100644 --- a/flexiapi/resources/views/admin/account/create_edit.blade.php +++ b/flexiapi/resources/views/admin/account/create_edit.blade.php @@ -1,9 +1,7 @@ @extends('layouts.main') @section('breadcrumb') - + @include('admin.account.parts.breadcrumb_accounts_index') @endsection @@ -203,7 +201,7 @@

Actions

@if ($account->dtmf_protocol) - +
@foreach ($account->actions as $action) @@ -227,7 +225,7 @@

Types

-
+
@foreach ($account->types as $type) diff --git a/flexiapi/resources/views/admin/account/delete.blade.php b/flexiapi/resources/views/admin/account/delete.blade.php index 87094f4..4c46802 100644 --- a/flexiapi/resources/views/admin/account/delete.blade.php +++ b/flexiapi/resources/views/admin/account/delete.blade.php @@ -1,9 +1,7 @@ @extends('layouts.main') @section('breadcrumb') - + @include('admin.account.parts.breadcrumb_accounts_index') @endsection diff --git a/flexiapi/resources/views/admin/account/device/index.blade.php b/flexiapi/resources/views/admin/account/device/index.blade.php index 15cd1c9..d508e4d 100644 --- a/flexiapi/resources/views/admin/account/device/index.blade.php +++ b/flexiapi/resources/views/admin/account/device/index.blade.php @@ -1,9 +1,7 @@ @extends('layouts.main') @section('breadcrumb') - + @include('admin.account.parts.breadcrumb_accounts_index') @@ -19,7 +17,7 @@ @include('admin.account.parts.tabs') -
+
diff --git a/flexiapi/resources/views/admin/account/import/check.blade.php b/flexiapi/resources/views/admin/account/import/check.blade.php index 28f0516..b0ab72f 100644 --- a/flexiapi/resources/views/admin/account/import/check.blade.php +++ b/flexiapi/resources/views/admin/account/import/check.blade.php @@ -1,9 +1,7 @@ @extends('layouts.main') @section('breadcrumb') - + @include('admin.account.parts.breadcrumb_accounts_index') @endsection diff --git a/flexiapi/resources/views/admin/account/import/create.blade.php b/flexiapi/resources/views/admin/account/import/create.blade.php index 69e2419..461333d 100644 --- a/flexiapi/resources/views/admin/account/import/create.blade.php +++ b/flexiapi/resources/views/admin/account/import/create.blade.php @@ -1,9 +1,7 @@ @extends('layouts.main') @section('breadcrumb') - + @include('admin.account.parts.breadcrumb_accounts_index') @endsection diff --git a/flexiapi/resources/views/admin/account/index.blade.php b/flexiapi/resources/views/admin/account/index.blade.php index 1d8b7fd..b87ae26 100644 --- a/flexiapi/resources/views/admin/account/index.blade.php +++ b/flexiapi/resources/views/admin/account/index.blade.php @@ -73,7 +73,7 @@ -
User Agent
+
@include('parts.column_sort', ['key' => 'username', 'title' => 'Identifier']) diff --git a/flexiapi/resources/views/admin/account/parts/tabs.blade.php b/flexiapi/resources/views/admin/account/parts/tabs.blade.php index ba811c5..87556ad 100644 --- a/flexiapi/resources/views/admin/account/parts/tabs.blade.php +++ b/flexiapi/resources/views/admin/account/parts/tabs.blade.php @@ -4,5 +4,6 @@ route('admin.account.statistics.show_call_logs', $account->id) => 'Call Logs', route('admin.account.device.index', $account->id) => 'Devices', route('admin.account.statistics.show', $account->id) => 'Statistics', + route('admin.account.activity.index', $account->id) => 'Activity', ], ]) \ No newline at end of file diff --git a/flexiapi/resources/views/admin/account/statistics/show.blade.php b/flexiapi/resources/views/admin/account/statistics/show.blade.php index 035efe9..686b20e 100644 --- a/flexiapi/resources/views/admin/account/statistics/show.blade.php +++ b/flexiapi/resources/views/admin/account/statistics/show.blade.php @@ -1,9 +1,7 @@ @extends('layouts.main') @section('breadcrumb') - + @include('admin.account.parts.breadcrumb_accounts_index') diff --git a/flexiapi/resources/views/admin/account/statistics/show_call_logs.blade.php b/flexiapi/resources/views/admin/account/statistics/show_call_logs.blade.php index b133b3f..5832cf1 100644 --- a/flexiapi/resources/views/admin/account/statistics/show_call_logs.blade.php +++ b/flexiapi/resources/views/admin/account/statistics/show_call_logs.blade.php @@ -1,9 +1,7 @@ @extends('layouts.main') @section('breadcrumb') - + @include('admin.account.parts.breadcrumb_accounts_index') @endsection diff --git a/flexiapi/resources/views/admin/account/type/create_edit.blade.php b/flexiapi/resources/views/admin/account/type/create_edit.blade.php index 7d4e179..1b5c1e4 100644 --- a/flexiapi/resources/views/admin/account/type/create_edit.blade.php +++ b/flexiapi/resources/views/admin/account/type/create_edit.blade.php @@ -1,9 +1,7 @@ @extends('layouts.main') @section('breadcrumb') - + @include('admin.account.parts.breadcrumb_accounts_index') diff --git a/flexiapi/resources/views/admin/account/type/delete.blade.php b/flexiapi/resources/views/admin/account/type/delete.blade.php index 37b7aca..de3cff9 100644 --- a/flexiapi/resources/views/admin/account/type/delete.blade.php +++ b/flexiapi/resources/views/admin/account/type/delete.blade.php @@ -1,9 +1,7 @@ @extends('layouts.main') @section('breadcrumb') - + @include('admin.account.parts.breadcrumb_accounts_index') diff --git a/flexiapi/resources/views/admin/account/type/index.blade.php b/flexiapi/resources/views/admin/account/type/index.blade.php index efaa8c2..998c817 100644 --- a/flexiapi/resources/views/admin/account/type/index.blade.php +++ b/flexiapi/resources/views/admin/account/type/index.blade.php @@ -1,9 +1,7 @@ @extends('layouts.main') @section('breadcrumb') - + @include('admin.account.parts.breadcrumb_accounts_index') @@ -18,7 +16,7 @@ -
+
diff --git a/flexiapi/resources/views/admin/contacts_list/contacts/add.blade.php b/flexiapi/resources/views/admin/contacts_list/contacts/add.blade.php index 4aee097..8b68a88 100644 --- a/flexiapi/resources/views/admin/contacts_list/contacts/add.blade.php +++ b/flexiapi/resources/views/admin/contacts_list/contacts/add.blade.php @@ -63,7 +63,7 @@ -
Key
+
diff --git a/flexiapi/resources/views/admin/contacts_list/index.blade.php b/flexiapi/resources/views/admin/contacts_list/index.blade.php index 853c8ab..9810cf0 100644 --- a/flexiapi/resources/views/admin/contacts_list/index.blade.php +++ b/flexiapi/resources/views/admin/contacts_list/index.blade.php @@ -16,7 +16,7 @@ - +
@include('parts.column_sort', ['key' => 'title', 'title' => 'Name']) diff --git a/flexiapi/resources/views/parts/call_logs/table.blade.php b/flexiapi/resources/views/parts/call_logs/table.blade.php index d80c741..b5d41f8 100644 --- a/flexiapi/resources/views/parts/call_logs/table.blade.php +++ b/flexiapi/resources/views/parts/call_logs/table.blade.php @@ -1,4 +1,4 @@ -
+
diff --git a/flexiapi/resources/views/vendor/mail/html/table.blade.php b/flexiapi/resources/views/vendor/mail/html/table.blade.php index a5f3348..d5034fb 100644 --- a/flexiapi/resources/views/vendor/mail/html/table.blade.php +++ b/flexiapi/resources/views/vendor/mail/html/table.blade.php @@ -1,3 +1,3 @@ -
+
{{ Illuminate\Mail\Markdown::parse($slot) }}
diff --git a/flexiapi/routes/web.php b/flexiapi/routes/web.php index 3f573ba..7bc6b53 100644 --- a/flexiapi/routes/web.php +++ b/flexiapi/routes/web.php @@ -27,11 +27,12 @@ use App\Http\Controllers\Account\ProvisioningController; use App\Http\Controllers\Account\RecoveryController; use App\Http\Controllers\Admin\AccountAccountTypeController; use App\Http\Controllers\Admin\AccountActionController; +use App\Http\Controllers\Admin\AccountActivityController; use App\Http\Controllers\Admin\AccountContactController; use App\Http\Controllers\Admin\AccountDeviceController; +use App\Http\Controllers\Admin\AccountImportController; use App\Http\Controllers\Admin\AccountTypeController; use App\Http\Controllers\Admin\AccountController as AdminAccountController; -use App\Http\Controllers\Admin\AccountImportController; use App\Http\Controllers\Admin\AccountStatisticsController; use App\Http\Controllers\Admin\ContactsListController; use App\Http\Controllers\Admin\ContactsListContactController; @@ -208,6 +209,10 @@ if (config('app.web_panel')) { Route::delete('/', 'destroy')->name('destroy'); }); + Route::name('activity.')->prefix('{account}/activity')->controller(AccountActivityController::class)->group(function () { + Route::get('/', 'index')->name('index'); + }); + Route::name('statistics.')->prefix('{account}/statistics')->controller(AccountStatisticsController::class)->group(function () { Route::get('/', 'show')->name('show'); Route::post('call_logs', 'editCallLogs')->name('edit_call_logs');
From