mirror of
https://gitlab.linphone.org/BC/public/flexisip-account-manager.git
synced 2026-01-17 10:08:05 +00:00
Add devices management panel
This commit is contained in:
parent
e1c34ec678
commit
a004960a6b
5 changed files with 113 additions and 0 deletions
39
flexiapi/app/Http/Controllers/Account/DeviceController.php
Normal file
39
flexiapi/app/Http/Controllers/Account/DeviceController.php
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Account;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Libraries\FlexisipConnector;
|
||||
|
||||
class DeviceController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
$connector = new FlexisipConnector;
|
||||
|
||||
return view('account.devices.index',
|
||||
['devices' => $connector->getDevices($request->user()->identifier)
|
||||
->keyBy('uuid')
|
||||
]);
|
||||
}
|
||||
|
||||
public function delete(Request $request, string $uuid)
|
||||
{
|
||||
$connector = new FlexisipConnector;
|
||||
|
||||
return view('account.devices.delete',
|
||||
['device' => $connector->getDevices($request->user()->identifier)
|
||||
->keyBy('uuid')
|
||||
->where('uuid', $uuid)
|
||||
]);
|
||||
}
|
||||
|
||||
public function destroy(string $uuid)
|
||||
{
|
||||
$connector = new FlexisipConnector;
|
||||
$connector->deleteDevice($request->user()->identifier, $uuid);
|
||||
|
||||
return redirect()->route('account.device.index');
|
||||
}
|
||||
}
|
||||
29
flexiapi/resources/views/account/devices/delete.blade.php
Normal file
29
flexiapi/resources/views/account/devices/delete.blade.php
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
@extends('layouts.account')
|
||||
|
||||
@section('breadcrumb')
|
||||
<li class="breadcrumb-item" aria-current="page">
|
||||
<a href="{{ route('account.device.index') }}">Devices</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">Delete</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
|
||||
<h2>Device deletion</h2>
|
||||
|
||||
<p>Are you sure you want to delete the following device?</p>
|
||||
<p>
|
||||
<b>User Agent:</b> {{ $device->user_agent }}<br />
|
||||
<b>Expires At:</b> {{ $device->expires_at }}</p>
|
||||
</p>
|
||||
|
||||
|
||||
{!! Form::open(['route' => 'account.device.destroy', 'method' => 'delete']) !!}
|
||||
|
||||
{!! Form::hidden('uuid', $device->uuid) !!}
|
||||
|
||||
{!! Form::submit('Delete', ['class' => 'btn btn-danger float-right']) !!}
|
||||
{!! Form::close() !!}
|
||||
|
||||
|
||||
@endsection
|
||||
35
flexiapi/resources/views/account/devices/index.blade.php
Normal file
35
flexiapi/resources/views/account/devices/index.blade.php
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
@extends('layouts.account')
|
||||
|
||||
@section('breadcrumb')
|
||||
<li class="breadcrumb-item active" aria-current="page">Devices</li>
|
||||
@endsection
|
||||
|
||||
@section('content')
|
||||
|
||||
<table class="table table-responsive-md">
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">User Agent</th>
|
||||
<th scope="col">Expires At</th>
|
||||
<th scope="col"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@foreach ($devices as $device)
|
||||
<tr>
|
||||
<td>{{ $device->user_agent }}</td>
|
||||
<td>{{ $account->expires_at }}</td>
|
||||
<td>
|
||||
<a type="button"
|
||||
class="btn btn-danger"
|
||||
href="{{ route('account.device.delete', $device->uuid) }}">
|
||||
Delete
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
@endforeach
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
@endsection
|
||||
|
|
@ -13,6 +13,12 @@
|
|||
<p class="mb-1">No email yet</p>
|
||||
@endif
|
||||
</a>
|
||||
<a href="{{ route('account.device.index') }}" class="list-group-item list-group-item-action">
|
||||
<div class="d-flex w-100 justify-content-between">
|
||||
<h5 class="mb-1">Manage my devices</h5>
|
||||
</div>
|
||||
<p class="mb-1">See and delete the devices linked to your account</p>
|
||||
</a>
|
||||
<a href="{{ route('account.password') }}" class="list-group-item list-group-item-action">
|
||||
<div class="d-flex w-100 justify-content-between">
|
||||
<h5 class="mb-1">Change my password</h5>
|
||||
|
|
|
|||
|
|
@ -45,6 +45,10 @@ Route::group(['middleware' => 'auth'], function () {
|
|||
Route::post('email', 'AccountEmailController@update')->name('account.email.update');
|
||||
Route::get('password', 'AccountPasswordController@show')->name('account.password');
|
||||
Route::post('password', 'AccountPasswordController@update')->name('account.password.update');
|
||||
|
||||
Route::get('devices', 'Account\DeviceController@index')->name('account.device.index');
|
||||
Route::get('devices/delete/{id}', 'Account\DeviceController@delete')->name('account.device.delete');
|
||||
Route::delete('devices/{id}', 'Account\DeviceController@destroy')->name('account.device.destroy');
|
||||
});
|
||||
|
||||
Route::group(['middleware' => 'auth.admin'], function () {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue