middleware('auth'); $this->middleware('role:User'); } /** * Function to display the moons to admins */ public function displayMoonsAdmin() { //Setup calls to the MoonCalc class $moonCalc = new MoonCalc(); //Update the prices for the moon $moonCalc->FetchNewPrices(); //get all of the moons from the database $moons = DB::table('Moons')->orderBy('System', 'asc')->get(); //declare the html variable and set it to null $html = ''; foreach($moons as $moon) { //Setup formats as needed $spm = $moon->System . ' - ' . $moon->Planet . ' - ' . $moon->Moon; $rentalEnd = date('m/d/Y', $moon->RentalEnd); $price = $moonCalc->SpatialMoonsOnlyGoo($moon->FirstOre, $moon->FirstQuantity, $moon->SecondOre, $moon->SecondQuantity, $moon->ThirdOre, $moon->ThirdQuantity, $moon->FourthOre, $moon->FourthQuantity); //Add the data to the html string to be passed to the view $html .= ''; $html .= '' . $spm . ''; $html .= '' . $moon->StructureName . ''; $html .= '' . $moon->FirstOre . ''; $html .= '' . $moon->FirstQuantity . ''; $html .= '' . $moon->SecondOre . ''; $html .= '' . $moon->SecondQuantity . ''; $html .= '' . $moon->ThirdOre . ''; $html .= '' . $moon->ThirdQuantity . ''; $html .= '' . $moon->FourthOre . ''; $html .= '' . $moon->FourthQuantity . ''; $html .= '' . $price['alliance'] . ''; $html .= '' . $price['outofalliance'] . ''; $html .= '' . $moon->RentalCorp . ''; $html .= '' . $rentalEnd . ''; $html .= ''; } return view('moons.adminmoon')->with('html', $html); } /** * Function to display the moons and pass data to the blade template */ public function displayMoons() { //Get the user type from the user Auth class $type = Auth::user()->user_type; //Setup calls to the MoonCalc class $moonCalc = new MoonCalc(); //Update the prices for the moon $moonCalc->FetchNewPrices(); //get all of the moons from the database $moons = DB::table('Moons')->orderBy('System', 'asc')->get(); //declare the html variable and set it to null $html = ''; foreach($moons as $moon) { //Setup formats as needed $spm = $moon->System . ' - ' . $moon->Planet . ' - ' . $moon->Moon; $rentalEnd = date('m/d/Y', $moon->RentalEnd); $price = $moonCalc->SpatialMoonsOnlyGoo($moon->FirstOre, $moon->FirstQuantity, $moon->SecondOre, $moon->SecondQuantity, $moon->ThirdOre, $moon->ThirdQuantity, $moon->FourthOre, $moon->FourthQuantity); //Add the data to the html string to be passed to the view $html .= ''; $html .= '' . $spm . ''; $html .= '' . $moon->StructureName . ''; $html .= '' . $moon->FirstOre . ''; $html .= '' . $moon->FirstQuantity . ''; $html .= '' . $moon->SecondOre . ''; $html .= '' . $moon->SecondQuantity . ''; $html .= '' . $moon->ThirdOre . ''; $html .= '' . $moon->ThirdQuantity . ''; $html .= '' . $moon->FourthOre . ''; $html .= '' . $moon->FourthQuantity . ''; if($type == 'W4RP') { $html .= '' . $price['alliance'] . ''; } else if ($type == 'Legacy') { $html .= '' . $price['outofalliance'] . ''; } else { $html .= 'N/A'; } $html .= '' . $moon->RentalCorp . ''; $html .= '' . $rentalEnd . ''; $html .= ''; } return view('moons.moon')->with('html', $html); } public function addMoon() { $this->middleware('role:SuperUser'); return view('moons.addmoon'); } /** * Add a new moon into the database * * @return \Illuminate\Http\Reponse */ public function storeMoon(Request $request) { $this->middleware('role:SuperUser'); $this->validate($request, [ 'region' => 'required', 'system' => 'required', 'structure' => 'required', ]); if($request->input('firstquan') < 1.00) { $firstQuan = $request->input('firstquan') * 100.00; } else { $firstQuan = $request->input('firstquan'); } if($request->input('secondquan') < 1.00) { $firstQuan = $request->input('secondquan') * 100.00; } else { $firstQuan = $request->input('secondquan'); } if($request->input('thirdquan') < 1.00) { $firstQuan = $request->input('thirdquan') * 100.00; } else { $firstQuan = $request->input('thirdquan'); } if($request->input('fourthquan') < 1.00) { $firstQuan = $request->input('fourthquan') * 100.00; } else { $firstQuan = $request->input('fourthquan'); } // Add new moon $moon = new Moon; $moon->Region = $request->input('region'); $moon->System = $request->input('system'); $moon->Planet = $request->input('planet'); $moon->Moon = $request->input('moon'); $moon->StructureName = $request->input('structure'); $moon->FirstOre = $request->input('firstore'); $moon->FirstQuantity = $request->input('firstquan'); $moon->SecondOre = $request->input('secondore'); $moon->SecondQuantity = $request->input('secondquan'); $moon->ThirdOre = $request->input('thirdore'); $moon->ThirdQuantity = $request->input('thirdquan'); $moon->FourthOre = $request->input('fourthore'); $moon->FourthQuantity = $request->input('fourthquan'); $moon->save(); return redirect('/dashboard')->with('success', 'Moon Added'); } public function updateMoon() { $this->middleware('role:Admin'); return view('moons.updatemoon'); } public function storeUpdateMoon(Request $request) { $this->middleware('role:Admin'); $this->validate($request, [ 'system' => 'required', 'planet' => 'required', 'moon' => 'required', 'renter' => 'required', 'date' => 'required' ]); $date = strtotime($request->date . '00:00:01'); //Update the database entry DB::table('Moons') ->where([ ['System', '=', $request->system], ['Planet', '=', $request->planet], ['Moon', '=', $request->moon] ]) ->update([ 'RentalCorp' => $request->renter, 'RentalEnd' => $date, ]); return redirect('/moons/display')->with('success', 'Moon Updated'); } public function displayTotalWorthForm() { return view('moons.formTotalWorth'); } public function displayTotalWorth(Request $request) { $firstOre = $request->firstOre; $firstQuantity = $request->firstQuantity; $secondOre = $request->secondOre; $secondQuantity = $request->secondQuantity; $thirdOre = $request->thirdOre; $thirdQuantity = $request->thirdQuantity; $fourthOre = $request->fourthOre; $fourthQuantity = $request->fourthQuantity; //Setup calls to the MoonCalc class $moonCalc = new MoonCalc(); //Update the prices for the moon $moonCalc->FetchNewPrices(); $totalGoo = $moonCalc->SpatialMoonsOnlyGooTotalWorth($firstOre, $firstQuantity, $secondOre, $secondQuantity, $thirdOre, $thirdQuantity, $fourthOre, $fourthQuantity); $totalGoo = number_format($totalGoo, 2, ".", ","); $totalWorth = $moonCalc->SpatialMoonsTotalWorth($firstOre, $firstQuantity, $secondOre, $secondQuantity, $thirdOre, $thirdQuantity, $fourthOre, $fourthQuantity); $totalWorth = number_format($totalWorth, 2, ".", ","); return view('moons.displayTotalWorth')->with(['totalWorth' => $totalWorth, 'totalGoo' => $totalGoo]); } }