diff --git a/app/Http/Controllers/Dashboard/DashboardController.php b/app/Http/Controllers/Dashboard/DashboardController.php index e66a831ff..f38835f8e 100644 --- a/app/Http/Controllers/Dashboard/DashboardController.php +++ b/app/Http/Controllers/Dashboard/DashboardController.php @@ -41,6 +41,19 @@ class DashboardController extends Controller $open = null; $approved = null; $denied = null; + $alts = null; + + //Get the number of the user's alt which are registered so we can process the alt's on the main dashboard page + $altCount = UserAlt::where([ + 'main_id' => auth()->user()->character_id, + ])->count(); + + //If the alt count is greater than 0 get all of the alt accounts + if($altCount > 0) { + $alts = UserAlt::where([ + 'main_id' => auth()->user()->character, + ])->get(); + } //See if we can get all of the open SRP requests $openCount = SRPShip::where([ @@ -78,6 +91,56 @@ class DashboardController extends Controller ])->take(10)->get(); } + //Process all types of srp requests for the alt of the main and add to the main's page + if($altCount > 0) { + //For each alt, get the open requests, and increment the open request counter + foreach($alts as $alt) { + $altOpenCount = SRPShip::where([ + 'character_id' => $alt->character_id, + 'approved' => 'Under Review', + ])->count(); + if($altOpenCount > 0) { + //If the number of open requests is greater than zero, add to the open count + $openCount += $altOpenCount; + //Get the alt's open srp requests + $altOpen = SRPShip::where([ + 'character_id' => $alt->character_id, + 'approved' => 'Under Review', + ])->get(); + //Add the alt's open requests to the open requests array + array_push($open, $altOpen); + } + + $altApprovedCount = SRPShip::where([ + 'character_id' => $alt->character_id, + 'approved' => 'Approved', + ])->count(); + if($altApprovedCount > 0) { + $approvedCount += $altApprovedCount; + $altApproved = SRPShip::where([ + 'character_id' => $alt->character_id, + 'approved' => 'Approved', + ])->take(5)->get(); + + array_push($approved, $altApproved); + } + + $altDeniedCount = SRPShip::where([ + 'character_id' => $alt->character_id, + 'approved' => 'Denied', + ])->count(); + if($altDeniedCount > 0) { + $deniedCount += $altDeniedCount; + $altDenied = SRPShip::where([ + 'character_id' => $alt->character_id, + 'approved' => 'Denied', + ])->take(5)->get(); + + array_push($denied, $altDenied); + } + } + } + //Create a chart of number of approved, denied, and open requests via a fuel gauge chart $lava = new Lavacharts; diff --git a/app/Http/Controllers/Wormholes/WormholeController.php b/app/Http/Controllers/Wormholes/WormholeController.php index dc3605755..36f585b3b 100644 --- a/app/Http/Controllers/Wormholes/WormholeController.php +++ b/app/Http/Controllers/Wormholes/WormholeController.php @@ -10,6 +10,8 @@ use Auth; //User Libraries //Models +use App\Models\Wormholes\AllianceWormhole; +use App\Models\Wormholes\WormholeType; class WormholeController extends Controller { @@ -25,7 +27,6 @@ class WormholeController extends Controller $stability = array(); $size = array(); - //Get the duration from the table $duration = [ 'This wormhole has not yet begun its natural cycle of decay and should last at least another day.', @@ -81,14 +82,67 @@ class WormholeController extends Controller $this->validate($request, [ 'sig' => 'required', 'duration' => 'required', - 'date' => 'required', + 'dateTiume' => 'required', 'class' => 'required', 'size' => 'required', 'stability' => 'required', + 'type' => 'required', + 'system' => 'required', ]); + + //Declare some variables + $duration = null; + + //Create the stable time for the database + if($request->duraiton == 'This wormhole has not yet begun its natural cycle of decay and should last at least another day.') { + $duration = '>24 hours'; + } else if ($request->duration == 'This wormhole is beginning to decay, but will not last another day.') { + $duration = '>4 hours <24 hours'; + } else if($request->duration == 'This wormhole is reaching the end of its natural lifetime') { + '<4 hours'; + } + + //Get the wormhole type from the database so we can enter other details + $wormholeType = WormholeType::where([ + 'type' => $request->type, + ])->first(); + + $found = AllianceWormhole::where([ + 'system' => $request->system, + 'sig_ig' => $request->sig, + ])->count(); + + if($found == 0) { + AllianceWormhole::insert([ + 'system' => $request->system, + 'sig_id' => $request->sig_id, + 'duration_left' => $duration, + 'dateTime' => $request->dateTime, + 'class' => $request->class, + 'type' => $request->type, + 'hole_size' => $request->size, + 'stability' => $request->stability, + 'details' => $request->details, + 'link' => $request->link, + 'mass_allowed' => $wormholeType->mass_allowed, + 'individual_mass' => $wormholeType->individual_mass, + 'regeneration' => $wormholeType->regeneration, + 'max_stable_time' => $wormholeType->max_stable_time, + ]); + + return redirect('/wormholes/display')->with('success', 'Wormhole Info Added.'); + } else { + return redirect('/wormholes/display')->with('error', 'Wormhole already in database.'); + } } public function displayWormholes() { + //Create the date and time + $dateTime = Carbon::now()->subDays(2); + //Get all of the wormholes from the last 48 hours from the database to display + $wormholes = AllianceWormholes::where('created_at', '>=', $dateTime)->get(); + + return view('wormholes.display')->with('wormholes', $wormholes); } } diff --git a/app/Models/Wormholes/AllianceWormhole.php b/app/Models/Wormholes/AllianceWormhole.php index f81814c31..8cd87a605 100644 --- a/app/Models/Wormholes/AllianceWormhole.php +++ b/app/Models/Wormholes/AllianceWormhole.php @@ -21,10 +21,10 @@ class AllianceWormhole extends Model * @var array */ protected $fillable = [ + 'system', 'sig_id', 'duration_left', - 'date_scanned', - 'time_scanned', + 'dateTime', 'class', 'type', 'hole_size', diff --git a/database/migrations/2019_08_04_072959_wormholes_space_table.php b/database/migrations/2019_08_04_072959_wormholes_space_table.php index d514e42ad..f5e4bb453 100644 --- a/database/migrations/2019_08_04_072959_wormholes_space_table.php +++ b/database/migrations/2019_08_04_072959_wormholes_space_table.php @@ -16,10 +16,10 @@ class WormholesSpaceTable extends Migration if(!Schema::hasTable('alliance_wormholes')) { Schema::create('alliance_wormholes', function (Blueprint $table) { $table->increments('id'); + $table->string('system'); $table->string('sig_id'); $table->string('duration_left'); - $table->string('date_scanned'); - $table->string('time_scanned'); + $table->dateTime('dateTime'); $table->enum('class', [ 'C1', 'C2', @@ -48,8 +48,8 @@ class WormholesSpaceTable extends Migration 'Non-Critical', 'Critical', ]); - $table->text('details'); - $table->string('link'); + $table->text('details')->nullable(); + $table->string('link')->nullable(); $table->decimal('mass_allowed', 20, 2); $table->decimal('individual_mass', 20, 2); $table->decimal('regeneration', 20, 2); diff --git a/resources/views/srp/admin/statistics.blade.php b/resources/views/srp/admin/statistics.blade.php index a11cc660d..f7bdf6d7c 100644 --- a/resources/views/srp/admin/statistics.blade.php +++ b/resources/views/srp/admin/statistics.blade.php @@ -11,11 +11,6 @@ {!! $lava->render('GaugeChart', 'SRP', 'under-review-div') !!} -
| System | +Sig ID | +Duration Left | +Scan Time | +WH Class | +WH Type | +Hole Size | +Stability | +Mass Allowed | +Individual Mass | +Regeneration | +Max Stable Time | +Details | +Link | + + + + +
|---|