diff --git a/CHANGELOG.md b/CHANGELOG.md index 313219f..d1283da 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ v1.7 - Fix FLEXIAPI-269 Update the IsNotPhoneNumber rule to use a better phone number validator - Fix FLEXIAPI-258 Move DotEnv instance configurations in the Spaces table - Fix FLEXIAPI-270 Call the static $apnsTypes attribute in FlexisipPusherConnector +- Fix FLEXIAPI-271 Handle properly reversed attributes in objects v1.6 ---- diff --git a/flexiapi/app/Helpers/Utils.php b/flexiapi/app/Helpers/Utils.php index 2a2193d..1e49764 100644 --- a/flexiapi/app/Helpers/Utils.php +++ b/flexiapi/app/Helpers/Utils.php @@ -55,9 +55,11 @@ function generateNonce(): string return Str::random(32); } -function getRequestBoolean(Request $request, string $key): bool +function getRequestBoolean(Request $request, string $key, bool $reversed = false): bool { - return $request->has($key) ? $request->get($key) == "on" : false; + $bool = $request->has($key) ? $request->get($key) == "on" : false; + + return $reversed ? !$bool : $bool; } function generateValidNonce(Account $account): string diff --git a/flexiapi/app/Http/Controllers/Admin/SpaceController.php b/flexiapi/app/Http/Controllers/Admin/SpaceController.php index de6bc34..cf34920 100644 --- a/flexiapi/app/Http/Controllers/Admin/SpaceController.php +++ b/flexiapi/app/Http/Controllers/Admin/SpaceController.php @@ -169,17 +169,17 @@ class SpaceController extends Controller 'max_account' => 'required|integer', ]); - $space->disable_chat_feature = getRequestBoolean($request, 'disable_chat_feature'); - $space->disable_meetings_feature = getRequestBoolean($request, 'disable_meetings_feature'); - $space->disable_broadcast_feature = getRequestBoolean($request, 'disable_broadcast_feature'); - $space->hide_settings = getRequestBoolean($request, 'hide_settings'); + $space->disable_chat_feature = getRequestBoolean($request, 'disable_chat_feature', reversed: true); + $space->disable_meetings_feature = getRequestBoolean($request, 'disable_meetings_feature', reversed: true); + $space->disable_broadcast_feature = getRequestBoolean($request, 'disable_broadcast_feature', reversed: true); + $space->hide_settings = getRequestBoolean($request, 'hide_settings', reversed: true); $space->max_account = $request->get('max_account', 0); - $space->hide_account_settings = getRequestBoolean($request, 'hide_account_settings'); - $space->disable_call_recordings_feature = getRequestBoolean($request, 'disable_call_recordings_feature'); + $space->hide_account_settings = getRequestBoolean($request, 'hide_account_settings', reversed: true); + $space->disable_call_recordings_feature = getRequestBoolean($request, 'disable_call_recordings_feature', reversed: true); $space->only_display_sip_uri_username = getRequestBoolean($request, 'only_display_sip_uri_username'); - $space->assistant_hide_create_account = getRequestBoolean($request, 'assistant_hide_create_account'); - $space->assistant_disable_qr_code = getRequestBoolean($request, 'assistant_disable_qr_code'); - $space->assistant_hide_third_party_account = getRequestBoolean($request, 'assistant_hide_third_party_account'); + $space->assistant_hide_create_account = getRequestBoolean($request, 'assistant_hide_create_account', reversed: true); + $space->assistant_disable_qr_code = getRequestBoolean($request, 'assistant_disable_qr_code', reversed: true); + $space->assistant_hide_third_party_account = getRequestBoolean($request, 'assistant_hide_third_party_account', reversed: true); return $space; } diff --git a/flexiapi/resources/views/admin/space/edit.blade.php b/flexiapi/resources/views/admin/space/edit.blade.php index 04d5fb0..86b7934 100644 --- a/flexiapi/resources/views/admin/space/edit.blade.php +++ b/flexiapi/resources/views/admin/space/edit.blade.php @@ -27,12 +27,12 @@

Features

- @include('parts.form.toggle', ['object' => $space, 'key' => 'disable_chat_feature', 'label' => 'Chat feature', 'reverse' => true]) - @include('parts.form.toggle', ['object' => $space, 'key' => 'disable_meetings_feature', 'label' => 'Meeting feature', 'reverse' => true]) - @include('parts.form.toggle', ['object' => $space, 'key' => 'disable_broadcast_feature', 'label' => 'Conference feature', 'reverse' => true]) - @include('parts.form.toggle', ['object' => $space, 'key' => 'hide_settings', 'label' => 'General settings', 'reverse' => true]) - @include('parts.form.toggle', ['object' => $space, 'key' => 'hide_account_settings', 'label' => 'Account settings', 'reverse' => true]) - @include('parts.form.toggle', ['object' => $space, 'key' => 'disable_call_recordings_feature', 'label' => 'Record audio/video calls', 'reverse' => true]) + @include('parts.form.toggle', ['object' => $space, 'key' => 'disable_chat_feature', 'label' => 'Chat feature', 'reversed' => true]) + @include('parts.form.toggle', ['object' => $space, 'key' => 'disable_meetings_feature', 'label' => 'Meeting feature', 'reversed' => true]) + @include('parts.form.toggle', ['object' => $space, 'key' => 'disable_broadcast_feature', 'label' => 'Conference feature', 'reversed' => true]) + @include('parts.form.toggle', ['object' => $space, 'key' => 'hide_settings', 'label' => 'General settings', 'reversed' => true]) + @include('parts.form.toggle', ['object' => $space, 'key' => 'hide_account_settings', 'label' => 'Account settings', 'reversed' => true]) + @include('parts.form.toggle', ['object' => $space, 'key' => 'disable_call_recordings_feature', 'label' => 'Record audio/video calls', 'reversed' => true])

General toggles

@@ -50,9 +50,9 @@

Assistant

- @include('parts.form.toggle', ['object' => $space, 'key' => 'assistant_hide_create_account', 'label' => 'Account creation panel', 'reverse' => true]) - @include('parts.form.toggle', ['object' => $space, 'key' => 'assistant_disable_qr_code', 'label' => 'QR Code scanning panel', 'reverse' => true]) - @include('parts.form.toggle', ['object' => $space, 'key' => 'assistant_hide_third_party_account', 'label' => 'Third party SIP panel', 'reverse' => true]) + @include('parts.form.toggle', ['object' => $space, 'key' => 'assistant_hide_create_account', 'label' => 'Account creation panel', 'reversed' => true]) + @include('parts.form.toggle', ['object' => $space, 'key' => 'assistant_disable_qr_code', 'label' => 'QR Code scanning panel', 'reversed' => true]) + @include('parts.form.toggle', ['object' => $space, 'key' => 'assistant_hide_third_party_account', 'label' => 'Third party SIP panel', 'reversed' => true])
diff --git a/flexiapi/resources/views/parts/form/toggle.blade.php b/flexiapi/resources/views/parts/form/toggle.blade.php index f288970..7c43dc7 100644 --- a/flexiapi/resources/views/parts/form/toggle.blade.php +++ b/flexiapi/resources/views/parts/form/toggle.blade.php @@ -1,5 +1,5 @@
- $key || (isset($reversed) && $reversed && !$object->$key)) checked @endif name="{{ $key }}"> + $key) || (isset($reversed) && $reversed && !$object->$key)) checked @endif name="{{ $key }}">

{{ $label }}