esi scope stuff
This commit is contained in:
28
app/Http/Controllers/Auth/EsiScopeController.php
Normal file
28
app/Http/Controllers/Auth/EsiScopeController.php
Normal file
@@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use DB;
|
||||
use Socialite;
|
||||
use Auth;
|
||||
|
||||
use App\Models\User\User;
|
||||
|
||||
class EsiScopeController extends Controller
|
||||
{
|
||||
public function __construct() {
|
||||
$this->middleware('auth');
|
||||
$this->middleware('role:User');
|
||||
}
|
||||
public function displayScopes() {
|
||||
//Get the ESI Scopes for the user
|
||||
$scopes = DB::table('EsiScopes')->where('character_id', Auth::user()->character_id)->get();
|
||||
return view('scopes.select')->with('scopes', $scopes);
|
||||
}
|
||||
public function redirectToProvider(Request $request) {
|
||||
//Redirect to the socialite provider
|
||||
return Socialite::driver('eveonline')->setScopes($request->scopes)->redirect();
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,21 @@
|
||||
<div class="container-fluid">
|
||||
<nav class="navbar navbar-expand-sm navbar-light bg-light">
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="/">United Hauling</a>
|
||||
<ul class="navbar-nav mr-auto">
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdoownMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Hauling</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropDownMenuLink">
|
||||
<a class="dropdown-item" href="/">Hauling Form</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
<nav class="navbar navbar-expand-sm navbar-light bg-light">
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<a class="navbar-brand" href="/">United Hauling</a>
|
||||
<ul class="navbar-nav mr-auto">
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdoownMenuLink" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Hauling</a>
|
||||
<div class="dropdown-menu" aria-labelledby="navbarDropDownMenuLink">
|
||||
<a class="dropdown-item" href="/">Hauling Form</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<ul class="navbar-nav m1-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/scopes/select">Add Esi Scopes</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
45
resources/views/scopes/select.blade.php
Normal file
45
resources/views/scopes/select.blade.php
Normal file
@@ -0,0 +1,45 @@
|
||||
@extends('layouts.b4')
|
||||
@section('content')
|
||||
<?php
|
||||
$publicData = false;
|
||||
$corpContracts = false;
|
||||
?>
|
||||
<div class="container">
|
||||
<h2>Select Scopes for ESI</h2>
|
||||
{!! Form::open(['action' => 'Auth\EsiScopeController@redirectToProvider', 'method' => 'POST']) !!}
|
||||
@foreach($scopes as $scope)
|
||||
@if($scope->scope == 'publicData')
|
||||
<div class="form-group col-md-6">
|
||||
{{ Form::label('scopes[]', 'Public Data') }}
|
||||
{{ Form::checkbox('scopes[]', 'publicData', 'true') }}
|
||||
</div>
|
||||
<?php $publicData = true; ?>
|
||||
@break
|
||||
@endif
|
||||
@endforeach
|
||||
@foreach($scopes as $scope)
|
||||
@if($scope->scope == 'esi-contracts.read_corporation_contracts.v1')
|
||||
<div class="form-group col-md-6">
|
||||
{{ Form::label('scopes[]', 'Corporate Contracts') }}
|
||||
{{ Form::checkbox('scopes[]', 'esi-contracts.read_corporation_contracts.v1') }}
|
||||
</div>
|
||||
<?php $corpContracts = true; ?>
|
||||
@endif
|
||||
@endforeach
|
||||
|
||||
@if($publicData == false)
|
||||
<div class="form-group col-md-6">
|
||||
{{ Form::label('scopes[]', 'Public Data') }}
|
||||
{{ Form::checkbox('scopes[]', 'publicData') }}
|
||||
</div>
|
||||
@endif
|
||||
@if($corpContracts == false)
|
||||
<div class="form-group col-md-6">
|
||||
{{ Form::label('scopes[]', 'Corporate Contracts') }}
|
||||
{{ Form::checkbox('scopes[]', 'esi-contracts.read_corporation_contracts.v1') }}
|
||||
</div>
|
||||
@endif
|
||||
{{ Form::submit('Submit', ['class' => 'btn btn-primary']) }}
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
@endsection
|
||||
@@ -37,3 +37,9 @@ Route::group(['middleware' => ['guest']], function() {
|
||||
Route::get('/login', 'Auth\LoginController@redirectToProvider')->name('login');
|
||||
Route::get('/callback', 'Auth\LoginController@handleProviderCallback')->name('callback');
|
||||
Route::get('/logout', 'Auth\LoginController@logout')->name('logout');
|
||||
|
||||
/**
|
||||
* Scopes Controller display pages
|
||||
*/
|
||||
Route::get('/scopes/select', 'Auth\EsiScopeController@displayScopes');
|
||||
Route::post('redirectToProvider', 'Auth\EsiScopeController@redirectToProvider');
|
||||
|
||||
Reference in New Issue
Block a user