Make sure user is allowed to migrate (#3468)

This commit is contained in:
Benjamin Beganović 2020-03-10 22:08:10 +01:00 committed by GitHub
parent be96bef3f0
commit d9a3b5453a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 52 additions and 15 deletions

View File

@ -31,6 +31,11 @@ class StepsController extends BaseController
{
use GenerateMigrationResources;
public function __construct()
{
$this->middleware('migration');
}
private $access = [
'auth' => [
'steps' => ['MIGRATION_TYPE'],

View File

@ -63,5 +63,6 @@ class Kernel extends HttpKernel
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'lookup' => \App\Http\Middleware\DatabaseLookup::class,
'permissions.required' => \App\Http\Middleware\PermissionsRequired::class,
'migration' => \App\Http\Middleware\EligibleForMigration::class,
];
}

View File

@ -0,0 +1,24 @@
<?php
namespace App\Http\Middleware;
use Closure;
class EligibleForMigration
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if (is_null(auth()->user()->public_id)) {
return $next($request);
}
return redirect('/settings/account_management');
}
}

View File

@ -493,6 +493,11 @@ class User extends Authenticatable
return array_combine($keys, $values);
}
public function eligibleForMigration()
{
return is_null($this->public_id);
}
}
User::created(function ($user)

View File

@ -238,6 +238,7 @@
</div>
</div>
@if(Auth::user()->eligibleForMigration())
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">{!! trans('texts.migrate_to_next_version') !!}</h3>
@ -252,11 +253,13 @@
<div class="col-md-12">
<div class="form-group">
<a class="btn btn-primary btn-lg" href="/migration/start">{!! trans('texts.start_the_migration') !!}</a>
<a class="btn btn-primary btn-lg"
href="/migration/start">{!! trans('texts.start_the_migration') !!}</a>
</div>
</div>
</div>
</div>
@endif
{!! Former::close() !!}

View File

@ -2,7 +2,6 @@
@section('content')
<center>
@if (!session(SESSION_USER_ACCOUNTS) || count(session(SESSION_USER_ACCOUNTS)) < 5)
{!! Button::success(trans('texts.add_company'))->withAttributes(['onclick' => 'showSignUp()']) !!}