diff --git a/flexiapi/app/Http/Controllers/Account/AccountController.php b/flexiapi/app/Http/Controllers/Account/AccountController.php index 3373600..b2fef7a 100644 --- a/flexiapi/app/Http/Controllers/Account/AccountController.php +++ b/flexiapi/app/Http/Controllers/Account/AccountController.php @@ -40,6 +40,13 @@ class AccountController extends Controller ]); } + public function telephony(Request $request) + { + return view('account.telephony', [ + 'account' => $request->user() + ]); + } + public function store(WebRequest $request) { $account = (new AccountService())->store($request); diff --git a/flexiapi/app/Http/Controllers/Account/CallForwardingController.php b/flexiapi/app/Http/Controllers/Account/CallForwardingController.php new file mode 100644 index 0000000..7c127ac --- /dev/null +++ b/flexiapi/app/Http/Controllers/Account/CallForwardingController.php @@ -0,0 +1,15 @@ +update($request, $request->user()->id); + } +} diff --git a/flexiapi/app/Http/Controllers/Account/FileController.php b/flexiapi/app/Http/Controllers/Account/FileController.php index a596887..89d7cb7 100644 --- a/flexiapi/app/Http/Controllers/Account/FileController.php +++ b/flexiapi/app/Http/Controllers/Account/FileController.php @@ -5,6 +5,8 @@ namespace App\Http\Controllers\Account; use App\AccountFile; use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Storage; +use Illuminate\Http\Request; +use \App\Http\Controllers\Admin\Account\FileController as AdminFileController; class FileController extends Controller { @@ -29,4 +31,14 @@ class FileController extends Controller return Storage::download($file->path); } + + public function delete(Request $request, string $fileId) + { + return (new AdminFileController)->delete($request->user()->id, $fileId); + } + + public function destroy(Request $request, string $fileId) + { + return (new AdminFileController)->destroy($request, $request->user()->id, $fileId); + } } diff --git a/flexiapi/app/Http/Controllers/Account/PasswordController.php b/flexiapi/app/Http/Controllers/Account/PasswordController.php index 260a34a..6cc84e9 100644 --- a/flexiapi/app/Http/Controllers/Account/PasswordController.php +++ b/flexiapi/app/Http/Controllers/Account/PasswordController.php @@ -21,7 +21,6 @@ namespace App\Http\Controllers\Account; use App\Http\Controllers\Controller; use Illuminate\Http\Request; -use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Log; class PasswordController extends Controller diff --git a/flexiapi/app/Http/Controllers/Account/ProvisioningController.php b/flexiapi/app/Http/Controllers/Account/ProvisioningController.php index f4a95f9..b40c635 100644 --- a/flexiapi/app/Http/Controllers/Account/ProvisioningController.php +++ b/flexiapi/app/Http/Controllers/Account/ProvisioningController.php @@ -49,7 +49,7 @@ class ProvisioningController extends Controller public function qrcode(Request $request, string $provisioningToken) { - $account = Account::withoutGlobalScopes() + Account::withoutGlobalScopes() ->where('id', function ($query) use ($provisioningToken) { $query->select('account_id') ->from('provisioning_tokens') diff --git a/flexiapi/app/Http/Controllers/Admin/Account/CallForwardingController.php b/flexiapi/app/Http/Controllers/Admin/Account/CallForwardingController.php index ab4131c..d42e356 100644 --- a/flexiapi/app/Http/Controllers/Admin/Account/CallForwardingController.php +++ b/flexiapi/app/Http/Controllers/Admin/Account/CallForwardingController.php @@ -19,15 +19,21 @@ class CallForwardingController extends Controller $request->validate([ 'always.forward_to' => $forwardTo, - 'always.sip_uri' => 'nullable|starts_with:sip:|required_if:always.forward_to,sip_uri', + 'always.sip_uri' => array_key_exists('enabled', $request->get('always')) + ? 'nullable|starts_with:sip:|required_if:always.forward_to,sip_uri' + : 'nullable', 'always.contact_id' => ['required_if:always.forward_to,contact', Rule::in($contactsIds)], 'away.forward_to' => $forwardTo, - 'away.sip_uri' => 'nullable|starts_with:sip:|required_if:away.forward_to,sip_uri', + 'away.sip_uri' => array_key_exists('enabled', $request->get('away')) + ? 'nullable|starts_with:sip:|required_if:away.forward_to,sip_uri' + : 'nullable', 'away.contact_id' => ['required_if:away.forward_to,contact', Rule::in($contactsIds)], 'busy.forward_to' => $forwardTo, - 'busy.sip_uri' => 'nullable|starts_with:sip:|required_if:busy.forward_to,sip_uri', + 'busy.sip_uri' => array_key_exists('enabled', $request->get('busy')) + ? 'nullable|starts_with:sip:|required_if:busy.forward_to,sip_uri' + : 'nullable', 'busy.contact_id' => ['required_if:busy.forward_to,contact', Rule::in($contactsIds)], ]); @@ -72,6 +78,8 @@ class CallForwardingController extends Controller $busyForwarding->save(); } - return redirect()->route('admin.account.telephony.show', $account); + return $request->user() + ? redirect()->route('admin.account.telephony.show', $account) + : redirect()->route('account.telephony'); } } diff --git a/flexiapi/app/Http/Controllers/Admin/Account/FileController.php b/flexiapi/app/Http/Controllers/Admin/Account/FileController.php index 26d55eb..b41c170 100644 --- a/flexiapi/app/Http/Controllers/Admin/Account/FileController.php +++ b/flexiapi/app/Http/Controllers/Admin/Account/FileController.php @@ -13,7 +13,7 @@ class FileController extends Controller $account = Account::findOrFail($accountId); $file = $account->files()->where('id', $fileId)->firstOrFail(); - return view('admin.account.file.delete', [ + return view('account.file.delete', [ 'account' => $account, 'file' => $file ]); @@ -27,6 +27,8 @@ class FileController extends Controller ->firstOrFail(); $accountFile->delete(); - return redirect()->route('admin.account.show', $account)->withFragment('#files'); + return $request->user()->admin + ? redirect()->route('admin.account.telephony.show', $account)->withFragment('#files') + : redirect()->route('account.telephony')->withFragment('#files'); } } diff --git a/flexiapi/lang/fr.json b/flexiapi/lang/fr.json index 7bdeb9b..f82dcdc 100644 --- a/flexiapi/lang/fr.json +++ b/flexiapi/lang/fr.json @@ -21,6 +21,7 @@ "Admin": "Administrateur", "Administration": "Administration", "Admins": "Administrateurs", + "All incoming calls are forwarded, whether you answer, decline the call or are already on a call.": "Tous les appels entrants sont renvoyés, que vous répondiez, refusiez l’appel ou soyez déjà en ligne.", "All the calls": "Tous les appels", "All the admins will be super admins": "Tous les administrateurs seront super-administrateurs", "Allow a custom CSS theme": "Autoriser un thème CSS personnalisé", @@ -39,6 +40,8 @@ "By email": "Inscription par email", "By phone": "Par téléphone", "By": "Par", + "Calls are only forwarded when your line is busy with another call.": "Les appels sont renvoyés uniquement lorsque votre ligne est occupée par un autre appel.", + "Calls are only forwarded if you do not answer or if you decline the call.": "Les appels sont renvoyés uniquement si vous ne répondez pas ou si vous refusez l’appel.", "Call Recording": "Enregistrement d'appels", "Call Forwarding": "Redirection d'appels", "Calls logs": "Journaux d'appel", diff --git a/flexiapi/resources/views/admin/account/call_forwardings/edit.blade.php b/flexiapi/resources/views/account/call_forwardings/edit.blade.php similarity index 56% rename from flexiapi/resources/views/admin/account/call_forwardings/edit.blade.php rename to flexiapi/resources/views/account/call_forwardings/edit.blade.php index 6f765a0..ef50dbd 100644 --- a/flexiapi/resources/views/admin/account/call_forwardings/edit.blade.php +++ b/flexiapi/resources/views/account/call_forwardings/edit.blade.php @@ -2,7 +2,7 @@ {{ __('Call Forwarding') }} -
+ @csrf @method('put') @php($callForwardings = $account->callForwardingsDefault) @@ -16,7 +16,10 @@ - @include('admin.account.call_forwardings.edit_select_part', ['callForwarding' => $callForwardings, 'type' => 'always']) + @include('account.call_forwardings.edit_select_part', ['callForwarding' => $callForwardings, 'type' => 'always']) + @if (!$account->admin) + {{ __('All incoming calls are forwarded, whether you answer, decline the call or are already on a call.') }} + @endif
@@ -28,7 +31,10 @@ - @include('admin.account.call_forwardings.edit_select_part', ['callForwarding' => $callForwardings, 'type' => 'away']) + @include('account.call_forwardings.edit_select_part', ['callForwarding' => $callForwardings, 'type' => 'away']) + @if (!$account->admin) + {{ __('Calls are only forwarded when your line is busy with another call.') }} + @endif
@@ -40,7 +46,10 @@ - @include('admin.account.call_forwardings.edit_select_part', ['callForwarding' => $callForwardings, 'type' => 'busy']) + @include('account.call_forwardings.edit_select_part', ['callForwarding' => $callForwardings, 'type' => 'busy']) + @if (!$account->admin) + {{ __('Calls are only forwarded if you do not answer or if you decline the call.') }} + @endif
diff --git a/flexiapi/resources/views/admin/account/call_forwardings/edit_select_part.blade.php b/flexiapi/resources/views/account/call_forwardings/edit_select_part.blade.php similarity index 98% rename from flexiapi/resources/views/admin/account/call_forwardings/edit_select_part.blade.php rename to flexiapi/resources/views/account/call_forwardings/edit_select_part.blade.php index 356520c..26af74c 100644 --- a/flexiapi/resources/views/admin/account/call_forwardings/edit_select_part.blade.php +++ b/flexiapi/resources/views/account/call_forwardings/edit_select_part.blade.php @@ -1,4 +1,4 @@ -
+