From df957320b298c51a55d20751839d35dcc17ab3b2 Mon Sep 17 00:00:00 2001 From: Apache Date: Tue, 27 Aug 2019 19:56:23 +0000 Subject: [PATCH] Add ability to run Alliance report --- src/Http/Controllers/FittingController.php | 27 +++++++++++++++++--- src/Http/routes.php | 2 +- src/resources/views/doctrinereport.blade.php | 17 ++++++++++-- 3 files changed, 40 insertions(+), 6 deletions(-) diff --git a/src/Http/Controllers/FittingController.php b/src/Http/Controllers/FittingController.php index 6a06529..a440b48 100644 --- a/src/Http/Controllers/FittingController.php +++ b/src/Http/Controllers/FittingController.php @@ -7,6 +7,8 @@ use Seat\Services\Repositories\Configuration\UserRespository; use Seat\Web\Http\Controllers\Controller; use Seat\Web\Models\Acl\Role; +use Seat\Eveapi\Models\Alliances\Alliance; +use Seat\Eveapi\Models\Alliances\AllianceMember; use Seat\Eveapi\Models\Character\CharacterInfo; use Seat\Eveapi\Models\Corporation\CorporationInfo; use Denngarr\Seat\Fitting\Helpers\CalculateConstants; @@ -446,13 +448,32 @@ public function viewDoctrineReport() { $doctrines = Doctrine::all(); $corps = CorporationInfo::all(); + $alliances = array(); - return view('fitting::doctrinereport', compact('doctrines', 'corps')); + foreach ($corps as $corp) { + if (!is_null($corp->alliance_id)) { + array_push($alliances, Alliance::find($corp->alliance_id)); + } + } + + return view('fitting::doctrinereport', compact('doctrines', 'corps', 'alliances')); } - public function runReport($corp_id, $doctrine_id) + public function runReport($alliance_id, $corp_id, $doctrine_id) { - $characters = CharacterInfo::where('corporation_id', $corp_id)->get(); + $characters = collect(); + + if ($alliance_id !== '0') { + $alliance = Alliance::find($alliance_id); + $corps = AllianceMember::where('alliance_id', $alliance_id)->get(); + foreach ($corps as $corp) { + $chars = CharacterInfo::where('corporation_id', $corp->corporation_id)->get(); + $characters = $characters->concat($chars); + } + } else { + $characters = CharacterInfo::where('corporation_id', $corp_id)->get(); + } + $doctrine = Doctrine::where('id', $doctrine_id)->first(); $fittings = $doctrine->fittings; $charData = []; diff --git a/src/Http/routes.php b/src/Http/routes.php index c068256..9ee64d9 100644 --- a/src/Http/routes.php +++ b/src/Http/routes.php @@ -83,7 +83,7 @@ 'uses' => 'FittingController@viewDoctrineReport', 'middleware' => 'bouncer:fitting.reportview' ]); - Route::get('/runReport/{corpid}/{doctrineid}', [ + Route::get('/runReport/{allianceid}/{corpid}/{doctrineid}', [ 'as' => 'fitting.runreport', 'uses' => 'FittingController@runReport', 'middleware' => 'bouncer:fitting.reportview' diff --git a/src/resources/views/doctrinereport.blade.php b/src/resources/views/doctrinereport.blade.php index ec82dc2..d55e10c 100644 --- a/src/resources/views/doctrinereport.blade.php +++ b/src/resources/views/doctrinereport.blade.php @@ -10,15 +10,27 @@
+
+
+ + +

Note: Report results are (can fly ship / can fly fitted ship)

+
+
-

Note: Report results are (can fly ship / can fly fitted ship)

@@ -68,6 +80,7 @@ }); button.on('click', function () { + allianceid = $('#alliances').find(":selected").val(); corpid = $('#corporations').find(":selected").val(); doctrineid = $('#doctrines').find(":selected").val(); @@ -92,7 +105,7 @@ $.ajax({ headers: function () { }, - url: "/fitting/runReport/" + corpid + "/" + doctrineid, + url: "/fitting/runReport/" + allianceid + "/" + corpid + "/" + doctrineid, type: "GET", datatype: 'json', timeout: 10000