From c477973d84708082a387262a67aef2eff32551ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timoth=C3=A9e=20Jaussoin?= Date: Thu, 5 Oct 2023 17:02:08 +0200 Subject: [PATCH] Fix #126 Move all the intercome related features under a toggle --- flexiapi/.env.example | 3 +- .../Admin/AccountTypeController.php | 6 -- flexiapi/config/app.php | 1 + flexiapi/public/css/style.css | 4 ++ .../resources/views/account/api_key.blade.php | 9 ++- .../account/documentation_markdown.blade.php | 4 ++ .../account/action/create_edit.blade.php | 2 +- .../views/admin/account/create_edit.blade.php | 72 ++++++++++--------- .../views/admin/account/index.blade.php | 6 ++ .../admin/account/type/create_edit.blade.php | 5 +- .../views/admin/account/type/index.blade.php | 68 +++++++++--------- .../resources/views/layouts/main.blade.php | 2 +- .../views/parts/breadcrumb.blade.php | 8 --- flexiapi/routes/web.php | 48 +++++++------ 14 files changed, 124 insertions(+), 114 deletions(-) delete mode 100644 flexiapi/resources/views/parts/breadcrumb.blade.php diff --git a/flexiapi/.env.example b/flexiapi/.env.example index 4e8770e..c227eb3 100644 --- a/flexiapi/.env.example +++ b/flexiapi/.env.example @@ -41,7 +41,8 @@ WEB_PANEL=true # Fully enable/disable the web panels NEWSLETTER_REGISTRATION_ADDRESS= # Address to contact when a user wants to register to the newsletter PUBLIC_REGISTRATION=true # Toggle to enable/disable the public registration forms PHONE_AUTHENTICATION=true # Toggle to enable/disable the SMS support, requires public registration -DEVICES_MANAGEMENT=false # Toggle to enable/disable the devices management support +DEVICES_MANAGEMENT=false # Toggle to enable/disable the devices management supporttrue +INTERCOM_FEATURES=false # Toggle to enable/disable the intercom related features TERMS_OF_USE_URL= # A URL pointing to the Terms of Use PRIVACY_POLICY_URL= # A URL pointing to the Privacy Policy diff --git a/flexiapi/app/Http/Controllers/Admin/AccountTypeController.php b/flexiapi/app/Http/Controllers/Admin/AccountTypeController.php index 0d71660..9dfd443 100644 --- a/flexiapi/app/Http/Controllers/Admin/AccountTypeController.php +++ b/flexiapi/app/Http/Controllers/Admin/AccountTypeController.php @@ -51,8 +51,6 @@ class AccountTypeController extends Controller $accountType->key = $request->get('key'); $accountType->save(); - $request->session()->flash('success', 'Type successfully created'); - return redirect()->route('admin.account.type.index'); } @@ -78,8 +76,6 @@ class AccountTypeController extends Controller $accountType->key = $request->get('key'); $accountType->save(); - $request->session()->flash('success', 'Type successfully updated'); - return redirect()->route('admin.account.type.index'); } @@ -95,8 +91,6 @@ class AccountTypeController extends Controller $type = AccountType::findOrFail($typeId); $type->delete(); - $request->session()->flash('success', 'Type successfully destroyed'); - Log::channel('events')->info('Web Admin: Account type deleted', ['type' => $type->key]); return redirect()->route('admin.account.type.index'); diff --git a/flexiapi/config/app.php b/flexiapi/config/app.php index 45c91a1..92016e4 100644 --- a/flexiapi/config/app.php +++ b/flexiapi/config/app.php @@ -22,6 +22,7 @@ return [ 'newsletter_registration_address' => env('NEWSLETTER_REGISTRATION_ADDRESS', ''), 'phone_authentication' => env('PHONE_AUTHENTICATION', true), 'public_registration' => env('PUBLIC_REGISTRATION', true), + 'intercom_features' => env('INTERCOM_FEATURES', false), 'devices_management' => env('DEVICES_MANAGEMENT', false), 'web_panel' => env('WEB_PANEL', true), diff --git a/flexiapi/public/css/style.css b/flexiapi/public/css/style.css index d382d17..fe1022a 100644 --- a/flexiapi/public/css/style.css +++ b/flexiapi/public/css/style.css @@ -113,6 +113,10 @@ pre { color: var(--second-7); } +em { + font-style: italic; +} + pre { overflow: auto; background-color: var(--second-8); diff --git a/flexiapi/resources/views/account/api_key.blade.php b/flexiapi/resources/views/account/api_key.blade.php index 57393cd..b726aff 100644 --- a/flexiapi/resources/views/account/api_key.blade.php +++ b/flexiapi/resources/views/account/api_key.blade.php @@ -1,9 +1,12 @@ @extends('layouts.main', ['grid' => true]) +@section('breadcrumb') + +@endsection + @section('content') -
-

dashboard Dashboard

-

keyAPI Key

diff --git a/flexiapi/resources/views/account/documentation_markdown.blade.php b/flexiapi/resources/views/account/documentation_markdown.blade.php index 658f518..c654ca3 100644 --- a/flexiapi/resources/views/account/documentation_markdown.blade.php +++ b/flexiapi/resources/views/account/documentation_markdown.blade.php @@ -102,6 +102,10 @@ The deletion of an account is definitive, all the database related data (passwor ### Create, edit and delete account types +@if (config('app.intercom_features') == false) +*The feature is not enabled on this instance.* +@endif + An adminisator can create, edit and delete account types. Those can be used to categorize accounts in clients, they are often used for Internet of Things related devices. ## Statistics 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 32db4a7..c7cb15e 100644 --- a/flexiapi/resources/views/admin/account/action/create_edit.blade.php +++ b/flexiapi/resources/views/admin/account/action/create_edit.blade.php @@ -20,7 +20,7 @@ @endif
@method($action->id ? 'put' : 'post') @csrf diff --git a/flexiapi/resources/views/admin/account/create_edit.blade.php b/flexiapi/resources/views/admin/account/create_edit.blade.php index c83f0a4..0bc9f20 100644 --- a/flexiapi/resources/views/admin/account/create_edit.blade.php +++ b/flexiapi/resources/views/admin/account/create_edit.blade.php @@ -203,53 +203,55 @@

@endif -

Actions

+ @if(config('app.intercom_features')) +

Actions

+ + @if ($account->dtmf_protocol) + + + @foreach ($account->actions as $action) + + + + + + @endforeach + +
{{ $action->key }}{{ $action->code }} + Edit + Delete +
+ + Add + @else +

To manage actions, you must configure the DTMF protocol in the account settings.

+ @endif + +

Types

- @if ($account->dtmf_protocol) - @foreach ($account->actions as $action) + @foreach ($account->types as $type) - - + @endforeach
{{ $action->key }}{{ $action->code }}{{ $type->key }} - Edit - Delete + + @csrf + @method('delete') + +
- Add - @else -

To manage actions, you must configure the DTMF protocol in the account settings.

+ Add @endif - -

Types

- - - - @foreach ($account->types as $type) - - - - - @endforeach - -
{{ $type->key }} -
- @csrf - @method('delete') - -
-
- - Add @endif @endsection diff --git a/flexiapi/resources/views/admin/account/index.blade.php b/flexiapi/resources/views/admin/account/index.blade.php index dd3385c..1d8b7fd 100644 --- a/flexiapi/resources/views/admin/account/index.blade.php +++ b/flexiapi/resources/views/admin/account/index.blade.php @@ -13,6 +13,12 @@ publish Import Accounts + @if(config('app.intercom_features')) + + category + Types + + @endif add_circle New Account 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 ce35a37..7d4e179 100644 --- a/flexiapi/resources/views/admin/account/type/create_edit.blade.php +++ b/flexiapi/resources/views/admin/account/type/create_edit.blade.php @@ -4,9 +4,12 @@ - + @endsection @section('content') diff --git a/flexiapi/resources/views/admin/account/type/index.blade.php b/flexiapi/resources/views/admin/account/type/index.blade.php index adc5238..efaa8c2 100644 --- a/flexiapi/resources/views/admin/account/type/index.blade.php +++ b/flexiapi/resources/views/admin/account/type/index.blade.php @@ -1,44 +1,42 @@ @extends('layouts.main') @section('breadcrumb') - - + + @endsection @section('content') +
+

category Types

+ + add + New Type + +
-
-
- Create -

Types

-
-
- - - - - - - - - - @foreach ($types as $type) +
Key
+ - - + + - @endforeach - - -
- {{ $type->key }} - - Edit - Delete - Key
- -@endsection \ No newline at end of file + + + @foreach ($types as $type) + + + {{ $type->key }} + + + Edit + Delete + + + @endforeach + + +@endsection diff --git a/flexiapi/resources/views/layouts/main.blade.php b/flexiapi/resources/views/layouts/main.blade.php index 132173f..2259066 100644 --- a/flexiapi/resources/views/layouts/main.blade.php +++ b/flexiapi/resources/views/layouts/main.blade.php @@ -59,7 +59,7 @@ @hasSection('breadcrumb') diff --git a/flexiapi/resources/views/parts/breadcrumb.blade.php b/flexiapi/resources/views/parts/breadcrumb.blade.php deleted file mode 100644 index 3190603..0000000 --- a/flexiapi/resources/views/parts/breadcrumb.blade.php +++ /dev/null @@ -1,8 +0,0 @@ -@hasSection('breadcrumb') - -@endif \ No newline at end of file diff --git a/flexiapi/routes/web.php b/flexiapi/routes/web.php index 8bfc7f7..b7674b0 100644 --- a/flexiapi/routes/web.php +++ b/flexiapi/routes/web.php @@ -166,21 +166,32 @@ if (config('app.web_panel')) { Route::post('handle', 'handle')->name('handle'); }); - Route::name('type.')->prefix('types')->controller(AccountTypeController::class)->group(function () { - Route::get('/', 'index')->name('index'); - Route::get('create', 'create')->name('create'); - Route::post('/', 'store')->name('store'); - Route::get('{type_id}/edit', 'edit')->name('edit'); - Route::put('{type_id}', 'update')->name('update'); - Route::get('{type_id}/delete', 'delete')->name('delete'); - Route::delete('{type_id}', 'destroy')->name('destroy'); - }); + if (config('app.intercom_features')) { + Route::name('type.')->prefix('types')->controller(AccountTypeController::class)->group(function () { + Route::get('/', 'index')->name('index'); + Route::get('create', 'create')->name('create'); + Route::post('/', 'store')->name('store'); + Route::get('{type_id}/edit', 'edit')->name('edit'); + Route::put('{type_id}', 'update')->name('update'); + Route::get('{type_id}/delete', 'delete')->name('delete'); + Route::delete('{type_id}', 'destroy')->name('destroy'); + }); - Route::name('account_type.')->prefix('{account}/types')->controller(AccountAccountTypeController::class)->group(function () { - Route::get('create', 'create')->name('create'); - Route::post('/', 'store')->name('store'); - Route::delete('{type_id}', 'destroy')->name('destroy'); - }); + Route::name('account_type.')->prefix('{account}/types')->controller(AccountAccountTypeController::class)->group(function () { + Route::get('create', 'create')->name('create'); + Route::post('/', 'store')->name('store'); + Route::delete('{type_id}', 'destroy')->name('destroy'); + }); + + Route::name('action.')->prefix('{account}/actions')->controller(AccountActionController::class)->group(function () { + Route::get('create', 'create')->name('create'); + Route::post('/', 'store')->name('store'); + Route::get('{action_id}/edit', 'edit')->name('edit'); + Route::put('{action_id}', 'update')->name('update'); + Route::get('{action_id}/delete', 'delete')->name('delete'); + Route::delete('{action_id}', 'destroy')->name('destroy'); + }); + } Route::name('contact.')->prefix('{account}/contacts')->controller(AccountContactController::class)->group(function () { Route::get('create', 'create')->name('create'); @@ -199,15 +210,6 @@ if (config('app.web_panel')) { Route::get('/', 'show')->name('show'); Route::post('/', 'edit')->name('edit'); }); - - Route::name('action.')->prefix('{account}/actions')->controller(AccountActionController::class)->group(function () { - Route::get('create', 'create')->name('create'); - Route::post('/', 'store')->name('store'); - Route::get('{action_id}/edit', 'edit')->name('edit'); - Route::put('{action_id}', 'update')->name('update'); - Route::get('{action_id}/delete', 'delete')->name('delete'); - Route::delete('{action_id}', 'destroy')->name('destroy'); - }); }); Route::name('contacts_lists.')->prefix('contacts_lists')->controller(ContactsListController::class)->group(function () {