diff --git a/app/Http/Controllers/Migration/StepsController.php b/app/Http/Controllers/Migration/StepsController.php index ecf4137b0013..b8632ee3abb6 100644 --- a/app/Http/Controllers/Migration/StepsController.php +++ b/app/Http/Controllers/Migration/StepsController.php @@ -31,6 +31,11 @@ class StepsController extends BaseController { use GenerateMigrationResources; + public function __construct() + { + $this->middleware('migration'); + } + private $access = [ 'auth' => [ 'steps' => ['MIGRATION_TYPE'], diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 89150a23cf9e..c1a07f3d96da 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -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, ]; } diff --git a/app/Http/Middleware/EligibleForMigration.php b/app/Http/Middleware/EligibleForMigration.php new file mode 100644 index 000000000000..1a8c4e82c525 --- /dev/null +++ b/app/Http/Middleware/EligibleForMigration.php @@ -0,0 +1,24 @@ +user()->public_id)) { + return $next($request); + } + + return redirect('/settings/account_management'); + } +} diff --git a/app/Models/User.php b/app/Models/User.php index 81c9fef4cd15..e79a31ea4062 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -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) diff --git a/resources/views/accounts/management.blade.php b/resources/views/accounts/management.blade.php index 84f25f6998c0..7ccfd6852a9b 100644 --- a/resources/views/accounts/management.blade.php +++ b/resources/views/accounts/management.blade.php @@ -238,25 +238,28 @@ -
-
-

{!! trans('texts.migrate_to_next_version') !!}

-
-
- -
-
- {!! trans('texts.migrate_intro_text') !!} -
+ @if(Auth::user()->eligibleForMigration()) +
+
+

{!! trans('texts.migrate_to_next_version') !!}

+
-
-
- {!! trans('texts.start_the_migration') !!} +
+
+ {!! trans('texts.migrate_intro_text') !!} +
+
+ +
-
+ @endif {!! Former::close() !!} diff --git a/resources/views/users/account_management.blade.php b/resources/views/users/account_management.blade.php index 614f5120e2e7..ee090588eb13 100644 --- a/resources/views/users/account_management.blade.php +++ b/resources/views/users/account_management.blade.php @@ -2,7 +2,6 @@ @section('content') -
@if (!session(SESSION_USER_ACCOUNTS) || count(session(SESSION_USER_ACCOUNTS)) < 5) {!! Button::success(trans('texts.add_company'))->withAttributes(['onclick' => 'showSignUp()']) !!}