diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index 871ef0406..0f1d300e9 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -101,7 +101,11 @@ class LoginController extends Controller if($eve_user->refreshToken !== null) { //Check if the owner hash has changed to call the user type if it needs to be updated if($this->OwnerHasChanged($authUser->owner_hash, $eve_user->owner_hash)) { + //Get the right role for the user $role = $this->GetRole(null, $eve_user->id); + //Set the role for the user + $this->SetRole($role, $eve_user->id); + //Update the user information never the less. DB::table('users')->where('character_id', $eve_user->id)->update([ 'name' => $eve_user->getName(), @@ -162,6 +166,8 @@ class LoginController extends Controller } else { //Get the role for the character to be stored in the database $role = $this->GetRole(); + //Set the role for the user + $this->SetRole($role, $eve_user->id); //Create a user account return User::create([ @@ -178,6 +184,20 @@ class LoginController extends Controller } } + /** + * Set the user role in the database + * + * @param role + * @param charId + */ + private function SetRole($role, $charId) { + //Insert the role into the database + $roles = new App\Models\UserRole; + $roles->character_id = $charId; + $roles->role = $role; + $roles->save(); + } + /** * Set the user scopes in the database * diff --git a/app/Http/Controllers/FinancesController.php b/app/Http/Controllers/FinancesController.php index e9c0aa7b0..519b65b84 100644 --- a/app/Http/Controllers/FinancesController.php +++ b/app/Http/Controllers/FinancesController.php @@ -18,6 +18,7 @@ class FinancesController extends Controller { public function __construct() { $this->middleware('auth'); + $this->middleware('role:Admin'); } public function redirectToProvider() { diff --git a/app/User.php b/app/User.php index 065cd63c0..b5d9aee26 100644 --- a/app/User.php +++ b/app/User.php @@ -43,8 +43,10 @@ class User extends Authenticatable protected $guarded = []; + //Used in middleware to make sure a user is able to access many of the pages public function hasRole($role) { + //return User::where('role', $role)->get(); }