diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index 531d79939..f3ab0c6f9 100644 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -117,4 +117,16 @@ class AdminController extends Controller return view('admin.dashboard')->with('error', 'User did not have the role.'); } + + public function displayAllowedLogins() { + + } + + public function addAllowedLogin() { + + } + + public function removeAllowedLogin() { + + } } diff --git a/app/Http/Middleware/RequirePermission.php b/app/Http/Middleware/RequirePermission.php index 3c855b615..3cb553782 100644 --- a/app/Http/Middleware/RequirePermission.php +++ b/app/Http/Middleware/RequirePermission.php @@ -19,6 +19,17 @@ class RequirePermission public function handle($request, Closure $next, $permission) { $confirmed = false; + /* + if(strpos($permission, 'role.')) { + $confirmed = $this->CheckRole($permission); + } else { + $confirmed = $this->CheckPermission($permission); + } + + if($confirmed === false) { + abort(403, "You don't have permission to access this area."); + } + */ $check = UserPermission::where(['character_id' => auth()->user()->character_id, 'permission' => $permission])->get(['permission']); if(!isset($check[0]->permission)) { @@ -27,4 +38,42 @@ class RequirePermission return $next($request); } + + private function CheckPermission($permission) { + $confirmed = false; + + $check = UserPermission::where(['character_id' => auth()->user()->character_id, 'permission' => $permission])->get(['permission']); + if(!isset($check[0]->permission)) { + return false; + } else { + return true; + } + } + + private function CheckRole($role) { + $confirmed = false; + + $ranking = [ + 'role.none' => 0, + 'role.guest' => 1, + 'role.user' => 2, + 'role.director' => 3, + 'role.admin' => 4, + ]; + //Using eloquent let's get the roles for the character + $check = UserPermission::where('character_id', auth()->user()->character_id)->get(['permission']); + + if(!isset($check[0]->role)) { + abort(403, "You don't have permissions to access this area!"); + } + + if($ranking[$check[0]->role] === $ranking[$role]) { + $confirmed = true; + } + if($ranking[$check[0]->role] >= $ranking[$role]) { + $confirmed = true; + } + + return $confirmed; + } } diff --git a/app/Models/Admin/AllowedLogin.php b/app/Models/Admin/AllowedLogin.php new file mode 100644 index 000000000..006dc22ee --- /dev/null +++ b/app/Models/Admin/AllowedLogin.php @@ -0,0 +1,24 @@ +increments('id'); + $table->string('entity_id'); + $table->string('entity_type'); + $table->timestamps(); + }); + } + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('allowed_logins'); + } +} diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index 279495121..77dff21bb 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -9,8 +9,8 @@ return array( 'App\\Console\\Commands\\CalculateMarketTax' => $baseDir . '/app/Console/Commands/calculatemarkettax.php', 'App\\Console\\Commands\\CorpJournal' => $baseDir . '/app/Console/Commands/corpJournal.php', 'App\\Console\\Commands\\DumpFleets' => $baseDir . '/app/Console/Commands/dumpFleets.php', - 'App\\Console\\Commands\\GetCorps' => $baseDir . '/app/Console/Commands/GetCorps.php', - 'App\\Console\\Commands\\GetLogisticsContracts' => $baseDir . '/app/Console/Commands/GetLogisticContracts.php', + 'App\\Console\\Commands\\GetCorps' => $baseDir . '/app/Console/Commands/getCorps.php', + 'App\\Console\\Commands\\GetLogisticsContracts' => $baseDir . '/app/Console/Commands/getLogisticContracts.php', 'App\\Console\\Commands\\SendMail' => $baseDir . '/app/Console/Commands/sendmail.php', 'App\\Console\\Commands\\UpdateMoonPricing' => $baseDir . '/app/Console/Commands/UpdateMoonPricing.php', 'App\\Console\\Commands\\holdingfinances' => $baseDir . '/app/Console/Commands/holdingfinances.php', @@ -55,6 +55,8 @@ return array( 'App\\Library\\Finances\\Helper\\FinanceHelper' => $baseDir . '/app/Library/Finances/Helper/FinanceHelper.php', 'App\\Library\\Finances\\JumpBridgeTax' => $baseDir . '/app/Library/Finances/JumpBridgeTax.php', 'App\\Library\\Finances\\MarketTax' => $baseDir . '/app/Library/Finances/MarketTax.php', + 'App\\Library\\Finances\\OfficeFee' => $baseDir . '/app/Library/Finances/OfficeFee.php', + 'App\\Library\\Finances\\PlanetProductionTax' => $baseDir . '/app/Library/Finances/PlanetProductionTax.php', 'App\\Library\\Finances\\PlayerDonation' => $baseDir . '/app/Library/Finances/PlayerDonation.php', 'App\\Library\\Finances\\ReprocessingTax' => $baseDir . '/app/Library/Finances/ReprocessingTax.php', 'App\\Library\\Finances\\StructureIndustryTax' => $baseDir . '/app/Library/Finances/StructureIndustryTax.php', @@ -79,6 +81,8 @@ return array( 'App\\Models\\Esi\\EsiToken' => $baseDir . '/app/Models/Esi/EsiToken.php', 'App\\Models\\Finances\\CorpMarketJournal' => $baseDir . '/app/Models/Finances/CorpMarketJournal.php', 'App\\Models\\Finances\\JumpBridgeJournal' => $baseDir . '/app/Models/Finances/JumpBridgeJournal.php', + 'App\\Models\\Finances\\OfficeFeesJournal' => $baseDir . '/app/Models/Finances/OfficeFeesJournal.php', + 'App\\Models\\Finances\\PlanetProductionTaxJournal' => $baseDir . '/app/Models/Finances/PlanetProductionTaxJournal.php', 'App\\Models\\Finances\\PlayerDonationJournal' => $baseDir . '/app/Models/Finances/PlayerDonationJournal.php', 'App\\Models\\Finances\\ReprocessingTaxJournal' => $baseDir . '/app/Models/Finances/ReprocessingTaxJournal.php', 'App\\Models\\Finances\\StructureIndustryTaxJournal' => $baseDir . '/app/Models/Finances/StructureIndustryTaxJournal.php', @@ -97,8 +101,6 @@ return array( 'App\\Models\\User\\UserPermission' => $baseDir . '/app/Models/User/UserPermission.php', 'App\\Models\\User\\UserRole' => $baseDir . '/app/Models/User/UserRole.php', 'App\\Models\\User\\UserToCorporation' => $baseDir . '/app/Models/User/UserToCorporation.php', - 'App\\OfficeFeesJournal' => $baseDir . '/app/OfficeFeesJournal.php', - 'App\\PlanetProductionTaxJournal' => $baseDir . '/app/PlanetProductionTaxJournal.php', 'App\\Providers\\AppServiceProvider' => $baseDir . '/app/Providers/AppServiceProvider.php', 'App\\Providers\\AuthServiceProvider' => $baseDir . '/app/Providers/AuthServiceProvider.php', 'App\\Providers\\BroadcastServiceProvider' => $baseDir . '/app/Providers/BroadcastServiceProvider.php', diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index a7f74f2b7..dfe08d33d 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -463,8 +463,8 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9 'App\\Console\\Commands\\CalculateMarketTax' => __DIR__ . '/../..' . '/app/Console/Commands/calculatemarkettax.php', 'App\\Console\\Commands\\CorpJournal' => __DIR__ . '/../..' . '/app/Console/Commands/corpJournal.php', 'App\\Console\\Commands\\DumpFleets' => __DIR__ . '/../..' . '/app/Console/Commands/dumpFleets.php', - 'App\\Console\\Commands\\GetCorps' => __DIR__ . '/../..' . '/app/Console/Commands/GetCorps.php', - 'App\\Console\\Commands\\GetLogisticsContracts' => __DIR__ . '/../..' . '/app/Console/Commands/GetLogisticContracts.php', + 'App\\Console\\Commands\\GetCorps' => __DIR__ . '/../..' . '/app/Console/Commands/getCorps.php', + 'App\\Console\\Commands\\GetLogisticsContracts' => __DIR__ . '/../..' . '/app/Console/Commands/getLogisticContracts.php', 'App\\Console\\Commands\\SendMail' => __DIR__ . '/../..' . '/app/Console/Commands/sendmail.php', 'App\\Console\\Commands\\UpdateMoonPricing' => __DIR__ . '/../..' . '/app/Console/Commands/UpdateMoonPricing.php', 'App\\Console\\Commands\\holdingfinances' => __DIR__ . '/../..' . '/app/Console/Commands/holdingfinances.php', @@ -509,6 +509,8 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9 'App\\Library\\Finances\\Helper\\FinanceHelper' => __DIR__ . '/../..' . '/app/Library/Finances/Helper/FinanceHelper.php', 'App\\Library\\Finances\\JumpBridgeTax' => __DIR__ . '/../..' . '/app/Library/Finances/JumpBridgeTax.php', 'App\\Library\\Finances\\MarketTax' => __DIR__ . '/../..' . '/app/Library/Finances/MarketTax.php', + 'App\\Library\\Finances\\OfficeFee' => __DIR__ . '/../..' . '/app/Library/Finances/OfficeFee.php', + 'App\\Library\\Finances\\PlanetProductionTax' => __DIR__ . '/../..' . '/app/Library/Finances/PlanetProductionTax.php', 'App\\Library\\Finances\\PlayerDonation' => __DIR__ . '/../..' . '/app/Library/Finances/PlayerDonation.php', 'App\\Library\\Finances\\ReprocessingTax' => __DIR__ . '/../..' . '/app/Library/Finances/ReprocessingTax.php', 'App\\Library\\Finances\\StructureIndustryTax' => __DIR__ . '/../..' . '/app/Library/Finances/StructureIndustryTax.php', @@ -533,6 +535,8 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9 'App\\Models\\Esi\\EsiToken' => __DIR__ . '/../..' . '/app/Models/Esi/EsiToken.php', 'App\\Models\\Finances\\CorpMarketJournal' => __DIR__ . '/../..' . '/app/Models/Finances/CorpMarketJournal.php', 'App\\Models\\Finances\\JumpBridgeJournal' => __DIR__ . '/../..' . '/app/Models/Finances/JumpBridgeJournal.php', + 'App\\Models\\Finances\\OfficeFeesJournal' => __DIR__ . '/../..' . '/app/Models/Finances/OfficeFeesJournal.php', + 'App\\Models\\Finances\\PlanetProductionTaxJournal' => __DIR__ . '/../..' . '/app/Models/Finances/PlanetProductionTaxJournal.php', 'App\\Models\\Finances\\PlayerDonationJournal' => __DIR__ . '/../..' . '/app/Models/Finances/PlayerDonationJournal.php', 'App\\Models\\Finances\\ReprocessingTaxJournal' => __DIR__ . '/../..' . '/app/Models/Finances/ReprocessingTaxJournal.php', 'App\\Models\\Finances\\StructureIndustryTaxJournal' => __DIR__ . '/../..' . '/app/Models/Finances/StructureIndustryTaxJournal.php', @@ -551,8 +555,6 @@ class ComposerStaticInitc3f953f8a7291d41a76e1664339777c9 'App\\Models\\User\\UserPermission' => __DIR__ . '/../..' . '/app/Models/User/UserPermission.php', 'App\\Models\\User\\UserRole' => __DIR__ . '/../..' . '/app/Models/User/UserRole.php', 'App\\Models\\User\\UserToCorporation' => __DIR__ . '/../..' . '/app/Models/User/UserToCorporation.php', - 'App\\OfficeFeesJournal' => __DIR__ . '/../..' . '/app/OfficeFeesJournal.php', - 'App\\PlanetProductionTaxJournal' => __DIR__ . '/../..' . '/app/PlanetProductionTaxJournal.php', 'App\\Providers\\AppServiceProvider' => __DIR__ . '/../..' . '/app/Providers/AppServiceProvider.php', 'App\\Providers\\AuthServiceProvider' => __DIR__ . '/../..' . '/app/Providers/AuthServiceProvider.php', 'App\\Providers\\BroadcastServiceProvider' => __DIR__ . '/../..' . '/app/Providers/BroadcastServiceProvider.php',