Fix formatting and interfaces in nearly every file
This commit is contained in:
@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Requests\CreateAircraftRequest;
|
||||
use App\Http\Requests\UpdateAircraftRequest;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Models\Aircraft;
|
||||
use App\Models\Enums\AircraftStatus;
|
||||
use App\Models\Expense;
|
||||
@@ -13,8 +14,11 @@ use Flash;
|
||||
use Illuminate\Http\Request;
|
||||
use Prettus\Repository\Criteria\RequestCriteria;
|
||||
|
||||
|
||||
class AircraftController extends BaseController
|
||||
/**
|
||||
* Class AircraftController
|
||||
* @package App\Http\Controllers\Admin
|
||||
*/
|
||||
class AircraftController extends Controller
|
||||
{
|
||||
private $aircraftRepo;
|
||||
|
||||
@@ -49,7 +53,7 @@ class AircraftController extends BaseController
|
||||
{
|
||||
return view('admin.aircraft.create', [
|
||||
'subfleets' => Subfleet::all()->pluck('name', 'id'),
|
||||
'statuses' => AircraftStatus::select(true),
|
||||
'statuses' => AircraftStatus::select(true),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -63,6 +67,7 @@ class AircraftController extends BaseController
|
||||
$aircraft = $this->aircraftRepo->create($attrs);
|
||||
|
||||
Flash::success('Aircraft saved successfully.');
|
||||
|
||||
return redirect(route('admin.aircraft.edit', ['id' => $aircraft->id]));
|
||||
}
|
||||
|
||||
@@ -75,11 +80,12 @@ class AircraftController extends BaseController
|
||||
|
||||
if (empty($aircraft)) {
|
||||
Flash::error('Aircraft not found');
|
||||
|
||||
return redirect(route('admin.aircraft.index'));
|
||||
}
|
||||
|
||||
return view('admin.aircraft.show', [
|
||||
'aircraft' => $aircraft,
|
||||
'aircraft' => $aircraft,
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -92,12 +98,13 @@ class AircraftController extends BaseController
|
||||
|
||||
if (empty($aircraft)) {
|
||||
Flash::error('Aircraft not found');
|
||||
|
||||
return redirect(route('admin.aircraft.index'));
|
||||
}
|
||||
|
||||
return view('admin.aircraft.edit', [
|
||||
'subfleets' => Subfleet::all()->pluck('name', 'id'),
|
||||
'statuses' => AircraftStatus::select(true),
|
||||
'statuses' => AircraftStatus::select(true),
|
||||
'aircraft' => $aircraft,
|
||||
]);
|
||||
}
|
||||
@@ -112,6 +119,7 @@ class AircraftController extends BaseController
|
||||
|
||||
if (empty($aircraft)) {
|
||||
Flash::error('Aircraft not found');
|
||||
|
||||
return redirect(route('admin.aircraft.index'));
|
||||
}
|
||||
|
||||
@@ -119,6 +127,7 @@ class AircraftController extends BaseController
|
||||
$this->aircraftRepo->update($attrs, $id);
|
||||
|
||||
Flash::success('Aircraft updated successfully.');
|
||||
|
||||
return redirect(route('admin.aircraft.index'));
|
||||
}
|
||||
|
||||
@@ -131,12 +140,14 @@ class AircraftController extends BaseController
|
||||
|
||||
if (empty($aircraft)) {
|
||||
Flash::error('Aircraft not found');
|
||||
|
||||
return redirect(route('admin.aircraft.index'));
|
||||
}
|
||||
|
||||
$this->aircraftRepo->delete($id);
|
||||
|
||||
Flash::success('Aircraft deleted successfully.');
|
||||
|
||||
return redirect(route('admin.aircraft.index'));
|
||||
}
|
||||
|
||||
@@ -147,6 +158,7 @@ class AircraftController extends BaseController
|
||||
protected function return_expenses_view(?Aircraft $aircraft)
|
||||
{
|
||||
$aircraft->refresh();
|
||||
|
||||
return view('admin.aircraft.expenses', [
|
||||
'aircraft' => $aircraft,
|
||||
]);
|
||||
@@ -154,7 +166,7 @@ class AircraftController extends BaseController
|
||||
|
||||
/**
|
||||
* Operations for associating ranks to the subfleet
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
|
||||
* @throws \Exception
|
||||
|
||||
@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Requests\CreateAirlineRequest;
|
||||
use App\Http\Requests\UpdateAirlineRequest;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Repositories\AirlineRepository;
|
||||
use App\Support\Countries;
|
||||
use Flash;
|
||||
@@ -11,9 +12,12 @@ use Illuminate\Http\Request;
|
||||
use Prettus\Repository\Criteria\RequestCriteria;
|
||||
use Response;
|
||||
|
||||
class AirlinesController extends BaseController
|
||||
/**
|
||||
* Class AirlinesController
|
||||
* @package App\Http\Controllers\Admin
|
||||
*/
|
||||
class AirlinesController extends Controller
|
||||
{
|
||||
/** @var AirlineRepository */
|
||||
private $airlineRepo;
|
||||
|
||||
/**
|
||||
@@ -59,6 +63,7 @@ class AirlinesController extends BaseController
|
||||
$airlines = $this->airlineRepo->create($input);
|
||||
|
||||
Flash::success('Airlines saved successfully.');
|
||||
|
||||
return redirect(route('admin.airlines.index'));
|
||||
}
|
||||
|
||||
@@ -73,6 +78,7 @@ class AirlinesController extends BaseController
|
||||
|
||||
if (empty($airlines)) {
|
||||
Flash::error('Airlines not found');
|
||||
|
||||
return redirect(route('admin.airlines.index'));
|
||||
}
|
||||
|
||||
@@ -92,18 +98,19 @@ class AirlinesController extends BaseController
|
||||
|
||||
if (empty($airline)) {
|
||||
Flash::error('Airline not found');
|
||||
|
||||
return redirect(route('admin.airlines.index'));
|
||||
}
|
||||
|
||||
return view('admin.airlines.edit', [
|
||||
'airline' => $airline,
|
||||
'airline' => $airline,
|
||||
'countries' => Countries::getSelectList(),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified Airlines in storage.
|
||||
* @param int $id
|
||||
* @param int $id
|
||||
* @param UpdateAirlineRequest $request
|
||||
* @return Response
|
||||
* @throws \Prettus\Validator\Exceptions\ValidatorException
|
||||
@@ -114,6 +121,7 @@ class AirlinesController extends BaseController
|
||||
|
||||
if (empty($airlines)) {
|
||||
Flash::error('Airlines not found');
|
||||
|
||||
return redirect(route('admin.airlines.index'));
|
||||
}
|
||||
|
||||
@@ -135,12 +143,14 @@ class AirlinesController extends BaseController
|
||||
|
||||
if (empty($airlines)) {
|
||||
Flash::error('Airlines not found');
|
||||
|
||||
return redirect(route('admin.airlines.index'));
|
||||
}
|
||||
|
||||
$this->airlineRepo->delete($id);
|
||||
|
||||
Flash::success('Airlines deleted successfully.');
|
||||
|
||||
return redirect(route('admin.airlines.index'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Requests\CreateAirportRequest;
|
||||
use App\Http\Requests\UpdateAirportRequest;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Models\Airport;
|
||||
use App\Models\Expense;
|
||||
use App\Repositories\AirportRepository;
|
||||
@@ -13,14 +14,15 @@ use Illuminate\Http\Request;
|
||||
use Jackiedo\Timezonelist\Facades\Timezonelist;
|
||||
use Response;
|
||||
|
||||
|
||||
class AirportController extends BaseController
|
||||
/**
|
||||
* Class AirportController
|
||||
* @package App\Http\Controllers\Admin
|
||||
*/
|
||||
class AirportController extends Controller
|
||||
{
|
||||
/** @var AirportRepository */
|
||||
private $airportRepo;
|
||||
|
||||
/**
|
||||
* AirportController constructor.
|
||||
* @param AirportRepository $airportRepo
|
||||
*/
|
||||
public function __construct(
|
||||
@@ -38,14 +40,14 @@ class AirportController extends BaseController
|
||||
public function index(Request $request)
|
||||
{
|
||||
$where = [];
|
||||
if($request->has('icao')) {
|
||||
if ($request->has('icao')) {
|
||||
$where['icao'] = $request->get('icao');
|
||||
}
|
||||
|
||||
$this->airportRepo->pushCriteria(new WhereCriteria($request, $where));
|
||||
$airports = $this->airportRepo
|
||||
->orderBy('icao', 'asc')
|
||||
->paginate();
|
||||
->orderBy('icao', 'asc')
|
||||
->paginate();
|
||||
|
||||
return view('admin.airports.index', [
|
||||
'airports' => $airports,
|
||||
@@ -77,6 +79,7 @@ class AirportController extends BaseController
|
||||
$this->airportRepo->create($input);
|
||||
|
||||
Flash::success('Airport saved successfully.');
|
||||
|
||||
return redirect(route('admin.airports.index'));
|
||||
}
|
||||
|
||||
@@ -91,6 +94,7 @@ class AirportController extends BaseController
|
||||
|
||||
if (empty($airport)) {
|
||||
Flash::error('Airport not found');
|
||||
|
||||
return redirect(route('admin.airports.index'));
|
||||
}
|
||||
|
||||
@@ -110,18 +114,19 @@ class AirportController extends BaseController
|
||||
|
||||
if (empty($airport)) {
|
||||
Flash::error('Airport not found');
|
||||
|
||||
return redirect(route('admin.airports.index'));
|
||||
}
|
||||
|
||||
return view('admin.airports.edit', [
|
||||
'timezones' => Timezonelist::toArray(),
|
||||
'airport' => $airport,
|
||||
'airport' => $airport,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified Airport in storage.
|
||||
* @param int $id
|
||||
* @param int $id
|
||||
* @param UpdateAirportRequest $request
|
||||
* @return Response
|
||||
* @throws \Prettus\Validator\Exceptions\ValidatorException
|
||||
@@ -132,6 +137,7 @@ class AirportController extends BaseController
|
||||
|
||||
if (empty($airport)) {
|
||||
Flash::error('Airport not found');
|
||||
|
||||
return redirect(route('admin.airports.index'));
|
||||
}
|
||||
|
||||
@@ -141,6 +147,7 @@ class AirportController extends BaseController
|
||||
$this->airportRepo->update($attrs, $id);
|
||||
|
||||
Flash::success('Airport updated successfully.');
|
||||
|
||||
return redirect(route('admin.airports.index'));
|
||||
}
|
||||
|
||||
@@ -155,12 +162,14 @@ class AirportController extends BaseController
|
||||
|
||||
if (empty($airport)) {
|
||||
Flash::error('Airport not found');
|
||||
|
||||
return redirect(route('admin.airports.index'));
|
||||
}
|
||||
|
||||
$this->airportRepo->delete($id);
|
||||
|
||||
Flash::success('Airport deleted successfully.');
|
||||
|
||||
return redirect(route('admin.airports.index'));
|
||||
}
|
||||
|
||||
@@ -171,6 +180,7 @@ class AirportController extends BaseController
|
||||
protected function return_expenses_view(?Airport $airport)
|
||||
{
|
||||
$airport->refresh();
|
||||
|
||||
return view('admin.airports.expenses', [
|
||||
'airport' => $airport,
|
||||
]);
|
||||
@@ -178,7 +188,7 @@ class AirportController extends BaseController
|
||||
|
||||
/**
|
||||
* Operations for associating ranks to the subfleet
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
|
||||
* @throws \Exception
|
||||
@@ -224,6 +234,7 @@ class AirportController extends BaseController
|
||||
$airport = $this->airportRepo->findWithoutFail($id);
|
||||
if (empty($airport)) {
|
||||
Flash::error('Flight not found');
|
||||
|
||||
return redirect(route('admin.flights.index'));
|
||||
}
|
||||
|
||||
|
||||
@@ -4,19 +4,25 @@ namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Requests\CreateAwardRequest;
|
||||
use App\Http\Requests\UpdateAwardRequest;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Repositories\AwardRepository;
|
||||
use App\Services\AwardService;
|
||||
use Illuminate\Http\Request;
|
||||
use Flash;
|
||||
use Illuminate\Http\Request;
|
||||
use Prettus\Repository\Criteria\RequestCriteria;
|
||||
use Response;
|
||||
|
||||
class AwardController extends BaseController
|
||||
class AwardController extends Controller
|
||||
{
|
||||
/** @var AwardRepository */
|
||||
private $awardRepository,
|
||||
$awardSvc;
|
||||
$awardSvc;
|
||||
|
||||
/**
|
||||
* AwardController constructor.
|
||||
* @param AwardRepository $awardRepo
|
||||
* @param AwardService $awardSvc
|
||||
*/
|
||||
public function __construct(
|
||||
AwardRepository $awardRepo,
|
||||
AwardService $awardSvc
|
||||
@@ -38,13 +44,13 @@ class AwardController extends BaseController
|
||||
$descriptions = [];
|
||||
|
||||
$award_classes = $this->awardSvc->findAllAwardClasses();
|
||||
foreach($award_classes as $class_ref => $award) {
|
||||
foreach ($award_classes as $class_ref => $award) {
|
||||
$awards[$class_ref] = $award->name;
|
||||
$descriptions[$class_ref] = $award->param_description;
|
||||
}
|
||||
|
||||
return [
|
||||
'awards' => $awards,
|
||||
'awards' => $awards,
|
||||
'descriptions' => $descriptions,
|
||||
];
|
||||
}
|
||||
@@ -72,8 +78,9 @@ class AwardController extends BaseController
|
||||
public function create()
|
||||
{
|
||||
$class_refs = $this->getAwardClassesAndDescriptions();
|
||||
|
||||
return view('admin.awards.create', [
|
||||
'award_classes' => $class_refs['awards'],
|
||||
'award_classes' => $class_refs['awards'],
|
||||
'award_descriptions' => $class_refs['descriptions'],
|
||||
]);
|
||||
}
|
||||
@@ -103,6 +110,7 @@ class AwardController extends BaseController
|
||||
$award = $this->awardRepository->findWithoutFail($id);
|
||||
if (empty($award)) {
|
||||
Flash::error('Award not found');
|
||||
|
||||
return redirect(route('admin.awards.index'));
|
||||
}
|
||||
|
||||
@@ -121,20 +129,22 @@ class AwardController extends BaseController
|
||||
$award = $this->awardRepository->findWithoutFail($id);
|
||||
if (empty($award)) {
|
||||
Flash::error('Award not found');
|
||||
|
||||
return redirect(route('admin.awards.index'));
|
||||
}
|
||||
|
||||
$class_refs = $this->getAwardClassesAndDescriptions();
|
||||
|
||||
return view('admin.awards.edit', [
|
||||
'award' => $award,
|
||||
'award_classes' => $class_refs['awards'],
|
||||
'award' => $award,
|
||||
'award_classes' => $class_refs['awards'],
|
||||
'award_descriptions' => $class_refs['descriptions'],
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified award in storage.
|
||||
* @param int $id
|
||||
* @param int $id
|
||||
* @param UpdateAwardRequest $request
|
||||
* @return Response
|
||||
* @throws \Prettus\Validator\Exceptions\ValidatorException
|
||||
@@ -144,6 +154,7 @@ class AwardController extends BaseController
|
||||
$award = $this->awardRepository->findWithoutFail($id);
|
||||
if (empty($award)) {
|
||||
Flash::error('Award not found');
|
||||
|
||||
return redirect(route('admin.awards.index'));
|
||||
}
|
||||
|
||||
@@ -165,6 +176,7 @@ class AwardController extends BaseController
|
||||
$award = $this->awardRepository->findWithoutFail($id);
|
||||
if (empty($award)) {
|
||||
Flash::error('Fare not found');
|
||||
|
||||
return redirect(route('admin.awards.index'));
|
||||
}
|
||||
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Response;
|
||||
|
||||
|
||||
class BaseController extends Controller
|
||||
{
|
||||
|
||||
}
|
||||
@@ -3,6 +3,7 @@
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Facades\Utils;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Repositories\NewsRepository;
|
||||
use App\Repositories\PirepRepository;
|
||||
use App\Repositories\UserRepository;
|
||||
@@ -13,15 +14,21 @@ use Log;
|
||||
use Version;
|
||||
use vierbergenlars\SemVer\version as semver;
|
||||
|
||||
class DashboardController extends BaseController
|
||||
/**
|
||||
* Class DashboardController
|
||||
* @package App\Http\Controllers\Admin
|
||||
*/
|
||||
class DashboardController extends Controller
|
||||
{
|
||||
private $newsRepo, $pirepRepo, $userRepo;
|
||||
private $newsRepo,
|
||||
$pirepRepo,
|
||||
$userRepo;
|
||||
|
||||
/**
|
||||
* DashboardController constructor.
|
||||
* @param NewsRepository $newsRepo
|
||||
* @param NewsRepository $newsRepo
|
||||
* @param PirepRepository $pirepRepo
|
||||
* @param UserRepository $userRepo
|
||||
* @param UserRepository $userRepo
|
||||
*/
|
||||
public function __construct(
|
||||
NewsRepository $newsRepo,
|
||||
@@ -46,7 +53,7 @@ class DashboardController extends BaseController
|
||||
$latest_version = new semver(Utils::downloadUrl(config('phpvms.version_file')));
|
||||
|
||||
if (semver::gt($latest_version, $current_version)) {
|
||||
Flash::warning('New version ' . $latest_version . ' is available!');
|
||||
Flash::warning('New version '.$latest_version.' is available!');
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
Log::error($e->getMessage());
|
||||
@@ -63,9 +70,9 @@ class DashboardController extends BaseController
|
||||
$this->checkNewVersion();
|
||||
|
||||
return view('admin.dashboard.index', [
|
||||
'news' => $this->newsRepo->getLatest(),
|
||||
'news' => $this->newsRepo->getLatest(),
|
||||
'pending_pireps' => $this->pirepRepo->getPendingCount(),
|
||||
'pending_users' => $this->userRepo->getPendingCount(),
|
||||
'pending_users' => $this->userRepo->getPendingCount(),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -76,7 +83,7 @@ class DashboardController extends BaseController
|
||||
*/
|
||||
public function news(Request $request)
|
||||
{
|
||||
if($request->isMethod('post')) {
|
||||
if ($request->isMethod('post')) {
|
||||
$attrs = $request->post();
|
||||
$attrs['user_id'] = Auth::user()->id;
|
||||
|
||||
|
||||
@@ -2,8 +2,7 @@
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Requests\CreateAirlineRequest;
|
||||
use App\Http\Requests\UpdateAirlineRequest;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Models\Enums\ExpenseType;
|
||||
use App\Models\Expense;
|
||||
use App\Repositories\AirlineRepository;
|
||||
@@ -13,7 +12,11 @@ use Illuminate\Http\Request;
|
||||
use Prettus\Repository\Criteria\RequestCriteria;
|
||||
use Response;
|
||||
|
||||
class ExpenseController extends BaseController
|
||||
/**
|
||||
* Class ExpenseController
|
||||
* @package App\Http\Controllers\Admin
|
||||
*/
|
||||
class ExpenseController extends Controller
|
||||
{
|
||||
private $airlineRepo,
|
||||
$expenseRepo;
|
||||
@@ -73,6 +76,7 @@ class ExpenseController extends BaseController
|
||||
$this->expenseRepo->create($input);
|
||||
|
||||
Flash::success('Expense saved successfully.');
|
||||
|
||||
return redirect(route('admin.expenses.index'));
|
||||
}
|
||||
|
||||
@@ -87,6 +91,7 @@ class ExpenseController extends BaseController
|
||||
|
||||
if (empty($expenses)) {
|
||||
Flash::error('expenses not found');
|
||||
|
||||
return redirect(route('admin.expenses.index'));
|
||||
}
|
||||
|
||||
@@ -106,11 +111,12 @@ class ExpenseController extends BaseController
|
||||
|
||||
if (empty($expense)) {
|
||||
Flash::error('Expense not found');
|
||||
|
||||
return redirect(route('admin.expenses.index'));
|
||||
}
|
||||
|
||||
return view('admin.expenses.edit', [
|
||||
'expense' => $expense,
|
||||
'expense' => $expense,
|
||||
'airlines_list' => $this->airlineRepo->selectBoxList(true),
|
||||
'expense_types' => ExpenseType::select(),
|
||||
]);
|
||||
@@ -118,7 +124,7 @@ class ExpenseController extends BaseController
|
||||
|
||||
/**
|
||||
* Update the specified expenses in storage.
|
||||
* @param int $id
|
||||
* @param int $id
|
||||
* @param Request $request
|
||||
* @return Response
|
||||
* @throws \Prettus\Validator\Exceptions\ValidatorException
|
||||
@@ -129,12 +135,14 @@ class ExpenseController extends BaseController
|
||||
|
||||
if (empty($expenses)) {
|
||||
Flash::error('Expense not found');
|
||||
|
||||
return redirect(route('admin.expenses.index'));
|
||||
}
|
||||
|
||||
$this->expenseRepo->update($request->all(), $id);
|
||||
|
||||
Flash::success('Expense updated successfully.');
|
||||
|
||||
return redirect(route('admin.expenses.index'));
|
||||
}
|
||||
|
||||
@@ -149,12 +157,14 @@ class ExpenseController extends BaseController
|
||||
|
||||
if (empty($expenses)) {
|
||||
Flash::error('Expense not found');
|
||||
|
||||
return redirect(route('admin.expenses.index'));
|
||||
}
|
||||
|
||||
$this->expenseRepo->delete($id);
|
||||
|
||||
Flash::success('Expense deleted successfully.');
|
||||
|
||||
return redirect(route('admin.expenses.index'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,15 +4,19 @@ namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Requests\CreateFareRequest;
|
||||
use App\Http\Requests\UpdateFareRequest;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Repositories\FareRepository;
|
||||
use Flash;
|
||||
use Illuminate\Http\Request;
|
||||
use Prettus\Repository\Criteria\RequestCriteria;
|
||||
use Response;
|
||||
|
||||
class FareController extends BaseController
|
||||
/**
|
||||
* Class FareController
|
||||
* @package App\Http\Controllers\Admin
|
||||
*/
|
||||
class FareController extends Controller
|
||||
{
|
||||
/** @var FareRepository */
|
||||
private $fareRepository;
|
||||
|
||||
/**
|
||||
@@ -75,6 +79,7 @@ class FareController extends BaseController
|
||||
$fare = $this->fareRepository->findWithoutFail($id);
|
||||
if (empty($fare)) {
|
||||
Flash::error('Fare not found');
|
||||
|
||||
return redirect(route('admin.fares.index'));
|
||||
}
|
||||
|
||||
@@ -91,6 +96,7 @@ class FareController extends BaseController
|
||||
$fare = $this->fareRepository->findWithoutFail($id);
|
||||
if (empty($fare)) {
|
||||
Flash::error('Fare not found');
|
||||
|
||||
return redirect(route('admin.fares.index'));
|
||||
}
|
||||
|
||||
@@ -99,7 +105,7 @@ class FareController extends BaseController
|
||||
|
||||
/**
|
||||
* Update the specified Fare in storage.
|
||||
* @param int $id
|
||||
* @param int $id
|
||||
* @param UpdateFareRequest $request
|
||||
* @return Response
|
||||
* @throws \Prettus\Validator\Exceptions\ValidatorException
|
||||
@@ -109,6 +115,7 @@ class FareController extends BaseController
|
||||
$fare = $this->fareRepository->findWithoutFail($id);
|
||||
if (empty($fare)) {
|
||||
Flash::error('Fare not found');
|
||||
|
||||
return redirect(route('admin.fares.index'));
|
||||
}
|
||||
|
||||
@@ -128,6 +135,7 @@ class FareController extends BaseController
|
||||
$fare = $this->fareRepository->findWithoutFail($id);
|
||||
if (empty($fare)) {
|
||||
Flash::error('Fare not found');
|
||||
|
||||
return redirect(route('admin.fares.index'));
|
||||
}
|
||||
|
||||
|
||||
@@ -2,12 +2,11 @@
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Interfaces\Controller;
|
||||
use App\Models\Enums\JournalType;
|
||||
use App\Models\Journal;
|
||||
use App\Models\JournalTransaction;
|
||||
use App\Repositories\AirlineRepository;
|
||||
use App\Repositories\JournalRepository;
|
||||
use App\Services\Finance\PirepFinanceService;
|
||||
use App\Support\Dates;
|
||||
use App\Support\Money;
|
||||
use Illuminate\Http\Request;
|
||||
@@ -16,25 +15,17 @@ use Illuminate\Http\Request;
|
||||
* Class FinanceController
|
||||
* @package App\Http\Controllers\Admin
|
||||
*/
|
||||
class FinanceController extends BaseController
|
||||
class FinanceController extends Controller
|
||||
{
|
||||
private $airlineRepo,
|
||||
$financeSvc,
|
||||
$journalRepo;
|
||||
private $airlineRepo;
|
||||
|
||||
/**
|
||||
* @param AirlineRepository $airlineRepo
|
||||
* @param PirepFinanceService $financeSvc
|
||||
* @param JournalRepository $journalRepo
|
||||
* @param AirlineRepository $airlineRepo
|
||||
*/
|
||||
public function __construct(
|
||||
AirlineRepository $airlineRepo,
|
||||
PirepFinanceService $financeSvc,
|
||||
JournalRepository $journalRepo
|
||||
AirlineRepository $airlineRepo
|
||||
) {
|
||||
$this->airlineRepo = $airlineRepo;
|
||||
$this->financeSvc = $financeSvc;
|
||||
$this->journalRepo = $journalRepo;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -58,8 +49,7 @@ class FinanceController extends BaseController
|
||||
$airlines = $this->airlineRepo->orderBy('icao')->all();
|
||||
|
||||
# group by the airline
|
||||
foreach($airlines as $airline) {
|
||||
|
||||
foreach ($airlines as $airline) {
|
||||
# Return all the transactions, grouped by the transaction group
|
||||
$transactions = JournalTransaction::groupBy('transaction_group')
|
||||
->selectRaw('transaction_group, currency,
|
||||
@@ -83,16 +73,16 @@ class FinanceController extends BaseController
|
||||
}
|
||||
|
||||
$transaction_groups[] = [
|
||||
'airline' => $airline,
|
||||
'credits' => new Money($sum_all_credits),
|
||||
'debits' => new Money($sum_all_debits),
|
||||
'transactions' => $transactions,
|
||||
'airline' => $airline,
|
||||
'credits' => new Money($sum_all_credits),
|
||||
'debits' => new Money($sum_all_debits),
|
||||
'transactions' => $transactions,
|
||||
];
|
||||
}
|
||||
|
||||
return view('admin.finances.index', [
|
||||
'current_month' => $month,
|
||||
'months_list' => Dates::getMonthsList($first_journal->created_at),
|
||||
'current_month' => $month,
|
||||
'months_list' => Dates::getMonthsList($first_journal->created_at),
|
||||
'transaction_groups' => $transaction_groups,
|
||||
]);
|
||||
}
|
||||
@@ -102,6 +92,5 @@ class FinanceController extends BaseController
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Requests\CreateFlightRequest;
|
||||
use App\Http\Requests\UpdateFlightRequest;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Models\Enums\FlightType;
|
||||
use App\Models\Flight;
|
||||
use App\Models\FlightFields;
|
||||
@@ -19,7 +20,11 @@ use Flash;
|
||||
use Illuminate\Http\Request;
|
||||
use Response;
|
||||
|
||||
class FlightController extends BaseController
|
||||
/**
|
||||
* Class FlightController
|
||||
* @package App\Http\Controllers\Admin
|
||||
*/
|
||||
class FlightController extends Controller
|
||||
{
|
||||
private $airlineRepo,
|
||||
$airportRepo,
|
||||
@@ -31,12 +36,12 @@ class FlightController extends BaseController
|
||||
|
||||
/**
|
||||
* FlightController constructor.
|
||||
* @param AirlineRepository $airlineRepo
|
||||
* @param AirportRepository $airportRepo
|
||||
* @param FareRepository $fareRepo
|
||||
* @param FlightRepository $flightRepo
|
||||
* @param FareService $fareSvc
|
||||
* @param FlightService $flightSvc
|
||||
* @param AirlineRepository $airlineRepo
|
||||
* @param AirportRepository $airportRepo
|
||||
* @param FareRepository $fareRepo
|
||||
* @param FlightRepository $flightRepo
|
||||
* @param FareService $fareSvc
|
||||
* @param FlightService $flightSvc
|
||||
* @param SubfleetRepository $subfleetRepo
|
||||
*/
|
||||
public function __construct(
|
||||
@@ -84,8 +89,9 @@ class FlightController extends BaseController
|
||||
public function index(Request $request)
|
||||
{
|
||||
$flights = $this->flightRepo->searchCriteria($request, false)->paginate();
|
||||
|
||||
return view('admin.flights.index', [
|
||||
'flights' => $flights,
|
||||
'flights' => $flights,
|
||||
'airlines' => $this->airlineRepo->selectBoxList(true),
|
||||
'airports' => $this->airportRepo->selectBoxList(true),
|
||||
]);
|
||||
@@ -98,9 +104,9 @@ class FlightController extends BaseController
|
||||
public function create()
|
||||
{
|
||||
return view('admin.flights.create', [
|
||||
'flight' => null,
|
||||
'airlines' => $this->airlineRepo->selectBoxList(),
|
||||
'airports' => $this->airportRepo->selectBoxList(true, false),
|
||||
'flight' => null,
|
||||
'airlines' => $this->airlineRepo->selectBoxList(),
|
||||
'airports' => $this->airportRepo->selectBoxList(true, false),
|
||||
'alt_airports' => $this->airportRepo->selectBoxList(true),
|
||||
'flight_types' => FlightType::select(true),
|
||||
]);
|
||||
@@ -120,17 +126,18 @@ class FlightController extends BaseController
|
||||
'flight_number' => $input['flight_number'],
|
||||
];
|
||||
|
||||
if(filled($input['route_code'])) {
|
||||
if (filled($input['route_code'])) {
|
||||
$where['route_code'] = $input['route_code'];
|
||||
}
|
||||
|
||||
if(filled($input['route_leg'])) {
|
||||
if (filled($input['route_leg'])) {
|
||||
$where['route_leg'] = $input['route_leg'];
|
||||
}
|
||||
|
||||
$flights = $this->flightRepo->findWhere($where);
|
||||
if($flights->count() > 0) {
|
||||
if ($flights->count() > 0) {
|
||||
Flash::error('Duplicate flight with same number/code/leg found, please change to proceed');
|
||||
|
||||
return redirect()->back()->withInput($request->all());
|
||||
}
|
||||
|
||||
@@ -142,6 +149,7 @@ class FlightController extends BaseController
|
||||
$flight = $this->flightRepo->create($input);
|
||||
|
||||
Flash::success('Flight saved successfully.');
|
||||
|
||||
return redirect(route('admin.flights.edit', $flight->id));
|
||||
}
|
||||
|
||||
@@ -155,12 +163,14 @@ class FlightController extends BaseController
|
||||
|
||||
if (empty($flight)) {
|
||||
Flash::error('Flight not found');
|
||||
|
||||
return redirect(route('admin.flights.index'));
|
||||
}
|
||||
|
||||
$avail_subfleets = $this->getAvailSubfleets($flight);
|
||||
|
||||
return view('admin.flights.show', [
|
||||
'flight' => $flight,
|
||||
'flight' => $flight,
|
||||
'avail_subfleets' => $avail_subfleets,
|
||||
]);
|
||||
}
|
||||
@@ -174,6 +184,7 @@ class FlightController extends BaseController
|
||||
$flight = $this->flightRepo->findWithoutFail($id);
|
||||
if (empty($flight)) {
|
||||
Flash::error('Flight not found');
|
||||
|
||||
return redirect(route('admin.flights.index'));
|
||||
}
|
||||
|
||||
@@ -183,18 +194,18 @@ class FlightController extends BaseController
|
||||
$flight->minutes = $time->minutes;
|
||||
|
||||
return view('admin.flights.edit', [
|
||||
'flight' => $flight,
|
||||
'airlines' => $this->airlineRepo->selectBoxList(),
|
||||
'airports' => $this->airportRepo->selectBoxList(),
|
||||
'alt_airports' => $this->airportRepo->selectBoxList(true),
|
||||
'avail_fares' => $this->getAvailFares($flight),
|
||||
'flight' => $flight,
|
||||
'airlines' => $this->airlineRepo->selectBoxList(),
|
||||
'airports' => $this->airportRepo->selectBoxList(),
|
||||
'alt_airports' => $this->airportRepo->selectBoxList(true),
|
||||
'avail_fares' => $this->getAvailFares($flight),
|
||||
'avail_subfleets' => $this->getAvailSubfleets($flight),
|
||||
'flight_types' => FlightType::select(true),
|
||||
'flight_types' => FlightType::select(true),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param UpdateFlightRequest $request
|
||||
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
|
||||
* @throws \Prettus\Validator\Exceptions\ValidatorException
|
||||
@@ -205,6 +216,7 @@ class FlightController extends BaseController
|
||||
|
||||
if (empty($flight)) {
|
||||
Flash::error('Flight not found');
|
||||
|
||||
return redirect(route('admin.flights.index'));
|
||||
}
|
||||
|
||||
@@ -227,6 +239,7 @@ class FlightController extends BaseController
|
||||
$flights = $this->flightRepo->findWhere($where);
|
||||
if ($flights->count() > 0) {
|
||||
Flash::error('Duplicate flight with same number/code/leg found, please change to proceed');
|
||||
|
||||
return redirect()->back()->withInput($request->all());
|
||||
}
|
||||
|
||||
@@ -239,6 +252,7 @@ class FlightController extends BaseController
|
||||
$this->flightRepo->update($input, $id);
|
||||
|
||||
Flash::success('Flight updated successfully.');
|
||||
|
||||
return redirect(route('admin.flights.index'));
|
||||
}
|
||||
|
||||
@@ -253,12 +267,14 @@ class FlightController extends BaseController
|
||||
|
||||
if (empty($flight)) {
|
||||
Flash::error('Flight not found');
|
||||
|
||||
return redirect(route('admin.flights.index'));
|
||||
}
|
||||
|
||||
$this->flightSvc->deleteFlight($flight);
|
||||
|
||||
Flash::success('Flight deleted successfully.');
|
||||
|
||||
return redirect(route('admin.flights.index'));
|
||||
}
|
||||
|
||||
@@ -269,6 +285,7 @@ class FlightController extends BaseController
|
||||
protected function return_fields_view($flight)
|
||||
{
|
||||
$flight->refresh();
|
||||
|
||||
return view('admin.flights.flight_fields', [
|
||||
'flight' => $flight,
|
||||
]);
|
||||
@@ -285,6 +302,7 @@ class FlightController extends BaseController
|
||||
$flight = $this->flightRepo->findWithoutFail($id);
|
||||
if (empty($flight)) {
|
||||
Flash::error('Flight not found');
|
||||
|
||||
return redirect(route('admin.flights.index'));
|
||||
}
|
||||
|
||||
@@ -295,16 +313,12 @@ class FlightController extends BaseController
|
||||
$field->name = $request->name;
|
||||
$field->value = $request->value;
|
||||
$field->save();
|
||||
}
|
||||
|
||||
elseif ($request->isMethod('put')) {
|
||||
} elseif ($request->isMethod('put')) {
|
||||
$field = FlightFields::where('id', $request->field_id)->first();
|
||||
$field->value = $request->value;
|
||||
$field->save();
|
||||
// update the field value
|
||||
}
|
||||
|
||||
// remove custom field from flight
|
||||
} // remove custom field from flight
|
||||
elseif ($request->isMethod('delete')) {
|
||||
FlightFields::destroy($request->field_id);
|
||||
}
|
||||
@@ -319,14 +333,15 @@ class FlightController extends BaseController
|
||||
protected function return_subfleet_view($flight)
|
||||
{
|
||||
$avail_subfleets = $this->getAvailSubfleets($flight);
|
||||
|
||||
return view('admin.flights.subfleets', [
|
||||
'flight' => $flight,
|
||||
'flight' => $flight,
|
||||
'avail_subfleets' => $avail_subfleets,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param Request $request
|
||||
* @return mixed
|
||||
*/
|
||||
@@ -335,15 +350,14 @@ class FlightController extends BaseController
|
||||
$flight = $this->flightRepo->findWithoutFail($id);
|
||||
if (empty($flight)) {
|
||||
Flash::error('Flight not found');
|
||||
|
||||
return redirect(route('admin.flights.index'));
|
||||
}
|
||||
|
||||
// add aircraft to flight
|
||||
if ($request->isMethod('post')) {
|
||||
$flight->subfleets()->syncWithoutDetaching([$request->subfleet_id]);
|
||||
}
|
||||
|
||||
// remove aircraft from flight
|
||||
} // remove aircraft from flight
|
||||
elseif ($request->isMethod('delete')) {
|
||||
$flight->subfleets()->detach($request->subfleet_id);
|
||||
}
|
||||
@@ -360,7 +374,7 @@ class FlightController extends BaseController
|
||||
$all_fares = $this->fareRepo->all();
|
||||
$avail_fares = $all_fares->except($flight->fares->modelKeys());
|
||||
foreach ($avail_fares as $fare) {
|
||||
$retval[$fare->id] = $fare->name .
|
||||
$retval[$fare->id] = $fare->name.
|
||||
' (base price: '.$fare->price.')';
|
||||
}
|
||||
|
||||
@@ -374,8 +388,9 @@ class FlightController extends BaseController
|
||||
protected function return_fares_view(Flight $flight)
|
||||
{
|
||||
$flight->refresh();
|
||||
|
||||
return view('admin.flights.fares', [
|
||||
'flight' => $flight,
|
||||
'flight' => $flight,
|
||||
'avail_fares' => $this->getAvailFares($flight),
|
||||
]);
|
||||
}
|
||||
@@ -400,6 +415,7 @@ class FlightController extends BaseController
|
||||
if ($request->isMethod('delete')) {
|
||||
$fare = $this->fareRepo->findWithoutFail($request->fare_id);
|
||||
$this->fareSvc->delFareFromFlight($flight, $fare);
|
||||
|
||||
return $this->return_fares_view($flight);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Admin;
|
||||
use App\Facades\Utils;
|
||||
use App\Http\Requests\CreatePirepRequest;
|
||||
use App\Http\Requests\UpdatePirepRequest;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Models\Enums\PirepSource;
|
||||
use App\Models\Enums\PirepState;
|
||||
use App\Models\Pirep;
|
||||
@@ -27,8 +28,11 @@ use Log;
|
||||
use Prettus\Repository\Criteria\RequestCriteria;
|
||||
use Response;
|
||||
|
||||
|
||||
class PirepController extends BaseController
|
||||
/**
|
||||
* Class PirepController
|
||||
* @package App\Http\Controllers\Admin
|
||||
*/
|
||||
class PirepController extends Controller
|
||||
{
|
||||
private $airportRepo,
|
||||
$airlineRepo,
|
||||
@@ -43,16 +47,16 @@ class PirepController extends BaseController
|
||||
|
||||
/**
|
||||
* PirepController constructor.
|
||||
* @param AirportRepository $airportRepo
|
||||
* @param AirlineRepository $airlineRepo
|
||||
* @param AircraftRepository $aircraftRepo
|
||||
* @param FareService $fareSvc
|
||||
* @param JournalRepository $journalRepo
|
||||
* @param PirepRepository $pirepRepo
|
||||
* @param AirportRepository $airportRepo
|
||||
* @param AirlineRepository $airlineRepo
|
||||
* @param AircraftRepository $aircraftRepo
|
||||
* @param FareService $fareSvc
|
||||
* @param JournalRepository $journalRepo
|
||||
* @param PirepRepository $pirepRepo
|
||||
* @param PirepFieldRepository $pirepFieldRepo
|
||||
* @param PirepService $pirepSvc
|
||||
* @param SubfleetRepository $subfleetRepo
|
||||
* @param UserService $userSvc
|
||||
* @param PirepService $pirepSvc
|
||||
* @param SubfleetRepository $subfleetRepo
|
||||
* @param UserService $userSvc
|
||||
*/
|
||||
public function __construct(
|
||||
AirportRepository $airportRepo,
|
||||
@@ -83,11 +87,11 @@ class PirepController extends BaseController
|
||||
* @param null $user
|
||||
* @return array
|
||||
*/
|
||||
public function aircraftList($user=null)
|
||||
public function aircraftList($user = null)
|
||||
{
|
||||
$aircraft = [];
|
||||
|
||||
if($user === null) {
|
||||
if ($user === null) {
|
||||
$subfleets = $this->subfleetRepo->all();
|
||||
} else {
|
||||
$subfleets = $this->userSvc->getAllowableSubfleets($user);
|
||||
@@ -96,7 +100,7 @@ class PirepController extends BaseController
|
||||
foreach ($subfleets as $subfleet) {
|
||||
$tmp = [];
|
||||
foreach ($subfleet->aircraft as $ac) {
|
||||
$tmp[$ac->id] = $ac['name'] . ' - ' . $ac['registration'];
|
||||
$tmp[$ac->id] = $ac['name'].' - '.$ac['registration'];
|
||||
}
|
||||
|
||||
$aircraft[$subfleet->name] = $tmp;
|
||||
@@ -107,7 +111,7 @@ class PirepController extends BaseController
|
||||
|
||||
/**
|
||||
* Save any custom fields found
|
||||
* @param Pirep $pirep
|
||||
* @param Pirep $pirep
|
||||
* @param Request $request
|
||||
*/
|
||||
protected function saveCustomFields(Pirep $pirep, Request $request)
|
||||
@@ -120,8 +124,8 @@ class PirepController extends BaseController
|
||||
}
|
||||
|
||||
$custom_fields[] = [
|
||||
'name' => $field->name,
|
||||
'value' => $request->input($field->slug),
|
||||
'name' => $field->name,
|
||||
'value' => $request->input($field->slug),
|
||||
'source' => PirepSource::MANUAL
|
||||
];
|
||||
}
|
||||
@@ -132,7 +136,7 @@ class PirepController extends BaseController
|
||||
|
||||
/**
|
||||
* Save the fares that have been specified/saved
|
||||
* @param Pirep $pirep
|
||||
* @param Pirep $pirep
|
||||
* @param Request $request
|
||||
* @throws \Exception
|
||||
*/
|
||||
@@ -140,8 +144,7 @@ class PirepController extends BaseController
|
||||
{
|
||||
$fares = [];
|
||||
foreach ($pirep->aircraft->subfleet->fares as $fare) {
|
||||
|
||||
$field_name = 'fare_' . $fare->id;
|
||||
$field_name = 'fare_'.$fare->id;
|
||||
if (!$request->filled($field_name)) {
|
||||
$count = 0;
|
||||
} else {
|
||||
@@ -150,7 +153,7 @@ class PirepController extends BaseController
|
||||
|
||||
$fares[] = [
|
||||
'fare_id' => $fare->id,
|
||||
'count' => $count,
|
||||
'count' => $count,
|
||||
];
|
||||
}
|
||||
|
||||
@@ -171,7 +174,7 @@ class PirepController extends BaseController
|
||||
Log::info('aircraft', $aircraft->toArray());
|
||||
|
||||
return view('admin.pireps.fares', [
|
||||
'aircraft' => $aircraft,
|
||||
'aircraft' => $aircraft,
|
||||
'read_only' => false,
|
||||
]);
|
||||
}
|
||||
@@ -187,8 +190,8 @@ class PirepController extends BaseController
|
||||
$this->pirepRepo->pushCriteria($criterea);
|
||||
|
||||
$pireps = $this->pirepRepo
|
||||
->orderBy('created_at', 'desc')
|
||||
->paginate();
|
||||
->orderBy('created_at', 'desc')
|
||||
->paginate();
|
||||
|
||||
return view('admin.pireps.index', [
|
||||
'pireps' => $pireps
|
||||
@@ -247,6 +250,7 @@ class PirepController extends BaseController
|
||||
$this->saveFares($pirep, $request);
|
||||
|
||||
Flash::success('Pirep saved successfully.');
|
||||
|
||||
return redirect(route('admin.pireps.index'));
|
||||
}
|
||||
|
||||
@@ -261,6 +265,7 @@ class PirepController extends BaseController
|
||||
|
||||
if (empty($pirep)) {
|
||||
Flash::error('Pirep not found');
|
||||
|
||||
return redirect(route('admin.pireps.index'));
|
||||
}
|
||||
|
||||
@@ -280,6 +285,7 @@ class PirepController extends BaseController
|
||||
$pirep = $this->pirepRepo->findWithoutFail($id);
|
||||
if (empty($pirep)) {
|
||||
Flash::error('Pirep not found');
|
||||
|
||||
return redirect(route('admin.pireps.index'));
|
||||
}
|
||||
|
||||
@@ -297,25 +303,25 @@ class PirepController extends BaseController
|
||||
|
||||
# set the fares
|
||||
foreach ($pirep->fares as $fare) {
|
||||
$field_name = 'fare_' . $fare->fare_id;
|
||||
$field_name = 'fare_'.$fare->fare_id;
|
||||
$pirep->{$field_name} = $fare->count;
|
||||
}
|
||||
|
||||
$journal = $this->journalRepo->getAllForObject($pirep, $pirep->airline->journal);
|
||||
|
||||
return view('admin.pireps.edit', [
|
||||
'pirep' => $pirep,
|
||||
'read_only' => $read_only,
|
||||
'aircraft' => $pirep->aircraft,
|
||||
'pirep' => $pirep,
|
||||
'read_only' => $read_only,
|
||||
'aircraft' => $pirep->aircraft,
|
||||
'aircraft_list' => $this->aircraftList(),
|
||||
'airports_list' => $this->airportRepo->selectBoxList(),
|
||||
'airlines_list' => $this->airlineRepo->selectBoxList(),
|
||||
'journal' => $journal,
|
||||
'journal' => $journal,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param UpdatePirepRequest $request
|
||||
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
|
||||
* @throws \Prettus\Validator\Exceptions\ValidatorException
|
||||
@@ -327,6 +333,7 @@ class PirepController extends BaseController
|
||||
|
||||
if (empty($pirep)) {
|
||||
Flash::error('Pirep not found');
|
||||
|
||||
return redirect(route('admin.pireps.index'));
|
||||
}
|
||||
|
||||
@@ -343,7 +350,7 @@ class PirepController extends BaseController
|
||||
$pirep = $this->pirepRepo->update($attrs, $id);
|
||||
|
||||
// A route change in the PIREP, so update the saved points in the ACARS table
|
||||
if($pirep->route !== $orig_route) {
|
||||
if ($pirep->route !== $orig_route) {
|
||||
$this->pirepSvc->saveRoute($pirep);
|
||||
}
|
||||
|
||||
@@ -351,6 +358,7 @@ class PirepController extends BaseController
|
||||
$this->saveFares($pirep, $request);
|
||||
|
||||
Flash::success('Pirep updated successfully.');
|
||||
|
||||
return redirect(route('admin.pireps.index'));
|
||||
}
|
||||
|
||||
@@ -365,12 +373,14 @@ class PirepController extends BaseController
|
||||
|
||||
if (empty($pirep)) {
|
||||
Flash::error('Pirep not found');
|
||||
|
||||
return redirect(route('admin.pireps.index'));
|
||||
}
|
||||
|
||||
$this->pirepRepo->delete($id);
|
||||
|
||||
Flash::success('Pirep deleted successfully.');
|
||||
|
||||
return redirect(route('admin.pireps.index'));
|
||||
}
|
||||
|
||||
@@ -384,18 +394,19 @@ class PirepController extends BaseController
|
||||
Log::info('PIREP state update call', [$request->toArray()]);
|
||||
|
||||
$pirep = $this->pirepRepo->findWithoutFail($request->id);
|
||||
if($request->isMethod('post')) {
|
||||
if ($request->isMethod('post')) {
|
||||
$new_status = (int) $request->post('new_status');
|
||||
$pirep = $this->pirepSvc->changeState($pirep, $new_status);
|
||||
}
|
||||
|
||||
$pirep->refresh();
|
||||
|
||||
return view('admin.pireps.actions', ['pirep' => $pirep, 'on_edit_page' => false]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a comment to the Pirep
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param Request $request
|
||||
* @return mixed
|
||||
* @throws \Exception
|
||||
@@ -406,16 +417,16 @@ class PirepController extends BaseController
|
||||
$pirep = $this->pirepRepo->findWithoutFail($request->id);
|
||||
if ($request->isMethod('post')) {
|
||||
$comment = new PirepComment([
|
||||
'user_id' => $user->id,
|
||||
'user_id' => $user->id,
|
||||
'pirep_id' => $pirep->id,
|
||||
'comment' => $request->get('comment'),
|
||||
'comment' => $request->get('comment'),
|
||||
]);
|
||||
|
||||
$comment->save();
|
||||
$pirep->refresh();
|
||||
}
|
||||
|
||||
if($request->isMethod('delete')) {
|
||||
if ($request->isMethod('delete')) {
|
||||
$comment = PirepComment::find($request->get('comment_id'));
|
||||
$comment->delete();
|
||||
$pirep->refresh();
|
||||
|
||||
@@ -4,15 +4,19 @@ namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Requests\CreatePirepFieldRequest;
|
||||
use App\Http\Requests\UpdatePirepFieldRequest;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Repositories\PirepFieldRepository;
|
||||
use Flash;
|
||||
use Illuminate\Http\Request;
|
||||
use Prettus\Repository\Criteria\RequestCriteria;
|
||||
use Response;
|
||||
|
||||
class PirepFieldController extends BaseController
|
||||
/**
|
||||
* Class PirepFieldController
|
||||
* @package App\Http\Controllers\Admin
|
||||
*/
|
||||
class PirepFieldController extends Controller
|
||||
{
|
||||
/** @var PirepFieldRepository */
|
||||
private $pirepFieldRepo;
|
||||
|
||||
/**
|
||||
@@ -21,7 +25,7 @@ class PirepFieldController extends BaseController
|
||||
*/
|
||||
public function __construct(
|
||||
PirepFieldRepository $pirepFieldRepo
|
||||
){
|
||||
) {
|
||||
$this->pirepFieldRepo = $pirepFieldRepo;
|
||||
}
|
||||
|
||||
@@ -65,6 +69,7 @@ class PirepFieldController extends BaseController
|
||||
$this->pirepFieldRepo->create($attrs);
|
||||
|
||||
Flash::success('Field added successfully.');
|
||||
|
||||
return redirect(route('admin.pirepfields.index'));
|
||||
}
|
||||
|
||||
@@ -79,6 +84,7 @@ class PirepFieldController extends BaseController
|
||||
|
||||
if (empty($field)) {
|
||||
Flash::error('PirepField not found');
|
||||
|
||||
return redirect(route('admin.pirepfields.index'));
|
||||
}
|
||||
|
||||
@@ -98,6 +104,7 @@ class PirepFieldController extends BaseController
|
||||
|
||||
if (empty($field)) {
|
||||
Flash::error('Field not found');
|
||||
|
||||
return redirect(route('admin.pirepfields.index'));
|
||||
}
|
||||
|
||||
@@ -116,6 +123,7 @@ class PirepFieldController extends BaseController
|
||||
|
||||
if (empty($field)) {
|
||||
Flash::error('PirepField not found');
|
||||
|
||||
return redirect(route('admin.pirepfields.index'));
|
||||
}
|
||||
|
||||
@@ -125,6 +133,7 @@ class PirepFieldController extends BaseController
|
||||
$this->pirepFieldRepo->update($attrs, $id);
|
||||
|
||||
Flash::success('Field updated successfully.');
|
||||
|
||||
return redirect(route('admin.pirepfields.index'));
|
||||
}
|
||||
|
||||
@@ -139,12 +148,14 @@ class PirepFieldController extends BaseController
|
||||
|
||||
if (empty($field)) {
|
||||
Flash::error('Field not found');
|
||||
|
||||
return redirect(route('admin.pirepfields.index'));
|
||||
}
|
||||
|
||||
$this->pirepFieldRepo->delete($id);
|
||||
|
||||
Flash::success('Field deleted successfully.');
|
||||
|
||||
return redirect(route('admin.pirepfields.index'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Requests\CreateRankRequest;
|
||||
use App\Http\Requests\UpdateRankRequest;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Repositories\RankRepository;
|
||||
use App\Repositories\SubfleetRepository;
|
||||
use App\Services\FleetService;
|
||||
@@ -13,17 +14,20 @@ use Illuminate\Http\Request;
|
||||
use Prettus\Repository\Criteria\RequestCriteria;
|
||||
use Response;
|
||||
|
||||
class RankController extends BaseController
|
||||
/**
|
||||
* Class RankController
|
||||
* @package App\Http\Controllers\Admin
|
||||
*/
|
||||
class RankController extends Controller
|
||||
{
|
||||
/** @var RankRepository */
|
||||
private $fleetSvc,
|
||||
$rankRepository,
|
||||
$subfleetRepo;
|
||||
|
||||
/**
|
||||
* RankController constructor.
|
||||
* @param FleetService $fleetSvc
|
||||
* @param RankRepository $rankingRepo
|
||||
* @param FleetService $fleetSvc
|
||||
* @param RankRepository $rankingRepo
|
||||
* @param SubfleetRepository $subfleetRepo
|
||||
*/
|
||||
public function __construct(
|
||||
@@ -109,6 +113,7 @@ class RankController extends BaseController
|
||||
|
||||
if (empty($rank)) {
|
||||
Flash::error('Ranking not found');
|
||||
|
||||
return redirect(route('admin.ranks.index'));
|
||||
}
|
||||
|
||||
@@ -128,19 +133,21 @@ class RankController extends BaseController
|
||||
|
||||
if (empty($rank)) {
|
||||
Flash::error('Ranking not found');
|
||||
|
||||
return redirect(route('admin.ranks.index'));
|
||||
}
|
||||
|
||||
$avail_subfleets = $this->getAvailSubfleets($rank);
|
||||
|
||||
return view('admin.ranks.edit', [
|
||||
'rank' => $rank,
|
||||
'rank' => $rank,
|
||||
'avail_subfleets' => $avail_subfleets,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified Ranking in storage.
|
||||
* @param int $id
|
||||
* @param int $id
|
||||
* @param UpdateRankRequest $request
|
||||
* @return Response
|
||||
* @throws \Prettus\Validator\Exceptions\ValidatorException
|
||||
@@ -151,6 +158,7 @@ class RankController extends BaseController
|
||||
|
||||
if (empty($rank)) {
|
||||
Flash::error('Ranking not found');
|
||||
|
||||
return redirect(route('admin.ranks.index'));
|
||||
}
|
||||
|
||||
@@ -158,6 +166,7 @@ class RankController extends BaseController
|
||||
Cache::forget(config('cache.keys.RANKS_PILOT_LIST.key'));
|
||||
|
||||
Flash::success('Ranking updated successfully.');
|
||||
|
||||
return redirect(route('admin.ranks.index'));
|
||||
}
|
||||
|
||||
@@ -172,12 +181,14 @@ class RankController extends BaseController
|
||||
|
||||
if (empty($rank)) {
|
||||
Flash::error('Ranking not found');
|
||||
|
||||
return redirect(route('admin.ranks.index'));
|
||||
}
|
||||
|
||||
$this->rankRepository->delete($id);
|
||||
|
||||
Flash::success('Ranking deleted successfully.');
|
||||
|
||||
return redirect(route('admin.ranks.index'));
|
||||
}
|
||||
|
||||
@@ -188,15 +199,16 @@ class RankController extends BaseController
|
||||
protected function return_subfleet_view($rank)
|
||||
{
|
||||
$avail_subfleets = $this->getAvailSubfleets($rank);
|
||||
|
||||
return view('admin.ranks.subfleets', [
|
||||
'rank' => $rank,
|
||||
'rank' => $rank,
|
||||
'avail_subfleets' => $avail_subfleets,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Subfleet operations on a rank
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param Request $request
|
||||
* @return mixed
|
||||
*/
|
||||
@@ -205,6 +217,7 @@ class RankController extends BaseController
|
||||
$rank = $this->rankRepository->findWithoutFail($id);
|
||||
if (empty($rank)) {
|
||||
Flash::error('Rank not found!');
|
||||
|
||||
return redirect(route('admin.ranks.index'));
|
||||
}
|
||||
|
||||
@@ -212,17 +225,13 @@ class RankController extends BaseController
|
||||
if ($request->isMethod('post')) {
|
||||
$subfleet = $this->subfleetRepo->find($request->input('subfleet_id'));
|
||||
$this->fleetSvc->addSubfleetToRank($subfleet, $rank);
|
||||
}
|
||||
|
||||
elseif($request->isMethod('put')) {
|
||||
} elseif ($request->isMethod('put')) {
|
||||
$override = [];
|
||||
$override[$request->name] = $request->value;
|
||||
$subfleet = $this->subfleetRepo->find($request->input('subfleet_id'));
|
||||
|
||||
$this->fleetSvc->addSubfleetToRank($subfleet, $rank);
|
||||
}
|
||||
|
||||
// remove aircraft from flight
|
||||
} // remove aircraft from flight
|
||||
elseif ($request->isMethod('delete')) {
|
||||
$subfleet = $this->subfleetRepo->find($request->input('subfleet_id'));
|
||||
$this->fleetSvc->removeSubfleetFromRank($subfleet, $rank);
|
||||
|
||||
@@ -2,11 +2,16 @@
|
||||
|
||||
namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Interfaces\Controller;
|
||||
use App\Models\Setting;
|
||||
use Illuminate\Http\Request;
|
||||
use Log;
|
||||
|
||||
class SettingsController extends BaseController
|
||||
/**
|
||||
* Class SettingsController
|
||||
* @package App\Http\Controllers\Admin
|
||||
*/
|
||||
class SettingsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display the settings. Group them by the setting group
|
||||
@@ -16,7 +21,7 @@ class SettingsController extends BaseController
|
||||
$settings = Setting::orderBy('order', 'asc')->get();
|
||||
$settings = $settings->groupBy('group');
|
||||
|
||||
return view('admin.settings.index',[
|
||||
return view('admin.settings.index', [
|
||||
'grouped_settings' => $settings,
|
||||
]);
|
||||
}
|
||||
@@ -28,9 +33,9 @@ class SettingsController extends BaseController
|
||||
*/
|
||||
public function update(Request $request)
|
||||
{
|
||||
foreach($request->post() as $id => $value) {
|
||||
foreach ($request->post() as $id => $value) {
|
||||
$setting = Setting::find($id);
|
||||
if(!$setting) {
|
||||
if (!$setting) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -40,6 +45,7 @@ class SettingsController extends BaseController
|
||||
}
|
||||
|
||||
flash('Settings saved!');
|
||||
|
||||
return redirect('/admin/settings');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Admin;
|
||||
|
||||
use App\Http\Requests\CreateSubfleetRequest;
|
||||
use App\Http\Requests\UpdateSubfleetRequest;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Models\Airline;
|
||||
use App\Models\Enums\FuelType;
|
||||
use App\Models\Expense;
|
||||
@@ -19,9 +20,12 @@ use Illuminate\Http\Request;
|
||||
use Prettus\Repository\Criteria\RequestCriteria;
|
||||
use Response;
|
||||
|
||||
class SubfleetController extends BaseController
|
||||
/**
|
||||
* Class SubfleetController
|
||||
* @package App\Http\Controllers\Admin
|
||||
*/
|
||||
class SubfleetController extends Controller
|
||||
{
|
||||
/** @var SubfleetRepository */
|
||||
private $aircraftRepo,
|
||||
$fareRepo,
|
||||
$fareSvc,
|
||||
@@ -32,11 +36,11 @@ class SubfleetController extends BaseController
|
||||
/**
|
||||
* SubfleetController constructor.
|
||||
* @param AircraftRepository $aircraftRepo
|
||||
* @param FleetService $fleetSvc
|
||||
* @param RankRepository $rankRepo
|
||||
* @param FleetService $fleetSvc
|
||||
* @param RankRepository $rankRepo
|
||||
* @param SubfleetRepository $subfleetRepo
|
||||
* @param FareRepository $fareRepo
|
||||
* @param FareService $fareSvc
|
||||
* @param FareRepository $fareRepo
|
||||
* @param FareService $fareSvc
|
||||
*/
|
||||
public function __construct(
|
||||
AircraftRepository $aircraftRepo,
|
||||
@@ -112,7 +116,7 @@ class SubfleetController extends BaseController
|
||||
public function create()
|
||||
{
|
||||
return view('admin.subfleets.create', [
|
||||
'airlines' => Airline::all()->pluck('name', 'id'),
|
||||
'airlines' => Airline::all()->pluck('name', 'id'),
|
||||
'fuel_types' => FuelType::labels(),
|
||||
]);
|
||||
}
|
||||
@@ -129,6 +133,7 @@ class SubfleetController extends BaseController
|
||||
$subfleet = $this->subfleetRepo->create($input);
|
||||
|
||||
Flash::success('Subfleet saved successfully.');
|
||||
|
||||
return redirect(route('admin.subfleets.edit', ['id' => $subfleet->id]));
|
||||
}
|
||||
|
||||
@@ -143,12 +148,14 @@ class SubfleetController extends BaseController
|
||||
|
||||
if (empty($subfleet)) {
|
||||
Flash::error('Subfleet not found');
|
||||
|
||||
return redirect(route('admin.subfleets.index'));
|
||||
}
|
||||
|
||||
$avail_fares = $this->getAvailFares($subfleet);
|
||||
|
||||
return view('admin.subfleets.show', [
|
||||
'subfleet' => $subfleet,
|
||||
'subfleet' => $subfleet,
|
||||
'avail_fares' => $avail_fares,
|
||||
]);
|
||||
}
|
||||
@@ -164,6 +171,7 @@ class SubfleetController extends BaseController
|
||||
|
||||
if (empty($subfleet)) {
|
||||
Flash::error('Subfleet not found');
|
||||
|
||||
return redirect(route('admin.subfleets.index'));
|
||||
}
|
||||
|
||||
@@ -171,17 +179,17 @@ class SubfleetController extends BaseController
|
||||
$avail_ranks = $this->getAvailRanks($subfleet);
|
||||
|
||||
return view('admin.subfleets.edit', [
|
||||
'airlines' => Airline::all()->pluck('name', 'id'),
|
||||
'fuel_types' => FuelType::labels(),
|
||||
'avail_fares' => $avail_fares,
|
||||
'avail_ranks' => $avail_ranks,
|
||||
'subfleet' => $subfleet,
|
||||
'airlines' => Airline::all()->pluck('name', 'id'),
|
||||
'fuel_types' => FuelType::labels(),
|
||||
'avail_fares' => $avail_fares,
|
||||
'avail_ranks' => $avail_ranks,
|
||||
'subfleet' => $subfleet,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified Subfleet in storage.
|
||||
* @param int $id
|
||||
* @param int $id
|
||||
* @param UpdateSubfleetRequest $request
|
||||
* @return Response
|
||||
* @throws \Prettus\Validator\Exceptions\ValidatorException
|
||||
@@ -192,12 +200,14 @@ class SubfleetController extends BaseController
|
||||
|
||||
if (empty($subfleet)) {
|
||||
Flash::error('Subfleet not found');
|
||||
|
||||
return redirect(route('admin.subfleets.index'));
|
||||
}
|
||||
|
||||
$this->subfleetRepo->update($request->all(), $id);
|
||||
|
||||
Flash::success('Subfleet updated successfully.');
|
||||
|
||||
return redirect(route('admin.subfleets.index'));
|
||||
}
|
||||
|
||||
@@ -212,20 +222,23 @@ class SubfleetController extends BaseController
|
||||
|
||||
if (empty($subfleet)) {
|
||||
Flash::error('Subfleet not found');
|
||||
|
||||
return redirect(route('admin.subfleets.index'));
|
||||
}
|
||||
|
||||
# Make sure no aircraft are assigned to this subfleet
|
||||
# before trying to delete it, or else things might go boom
|
||||
$aircraft = $this->aircraftRepo->findWhere(['subfleet_id' => $id], ['id']);
|
||||
if($aircraft->count() > 0) {
|
||||
if ($aircraft->count() > 0) {
|
||||
Flash::error('There are aircraft still assigned to this subfleet, you can\'t delete it!')->important();
|
||||
|
||||
return redirect(route('admin.subfleets.index'));
|
||||
}
|
||||
|
||||
$this->subfleetRepo->delete($id);
|
||||
|
||||
Flash::success('Subfleet deleted successfully.');
|
||||
|
||||
return redirect(route('admin.subfleets.index'));
|
||||
}
|
||||
|
||||
@@ -240,7 +253,7 @@ class SubfleetController extends BaseController
|
||||
$avail_ranks = $this->getAvailRanks($subfleet);
|
||||
|
||||
return view('admin.subfleets.ranks', [
|
||||
'subfleet' => $subfleet,
|
||||
'subfleet' => $subfleet,
|
||||
'avail_ranks' => $avail_ranks,
|
||||
]);
|
||||
}
|
||||
@@ -263,7 +276,7 @@ class SubfleetController extends BaseController
|
||||
|
||||
/**
|
||||
* Operations for associating ranks to the subfleet
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
|
||||
*/
|
||||
@@ -284,23 +297,20 @@ class SubfleetController extends BaseController
|
||||
if ($request->isMethod('post')) {
|
||||
$rank = $this->rankRepo->find($request->input('rank_id'));
|
||||
$this->fleetSvc->addSubfleetToRank($subfleet, $rank);
|
||||
}
|
||||
|
||||
elseif ($request->isMethod('put')) {
|
||||
} elseif ($request->isMethod('put')) {
|
||||
$override = [];
|
||||
$rank = $this->rankRepo->find($request->input('rank_id'));
|
||||
$override[$request->name] = $request->value;
|
||||
|
||||
$this->fleetSvc->addSubfleetToRank($subfleet, $rank, $override);
|
||||
}
|
||||
|
||||
// dissassociate fare from teh aircraft
|
||||
} // dissassociate fare from teh aircraft
|
||||
elseif ($request->isMethod('delete')) {
|
||||
$rank = $this->rankRepo->find($request->input('rank_id'));
|
||||
$this->fleetSvc->removeSubfleetFromRank($subfleet, $rank);
|
||||
}
|
||||
|
||||
$subfleet->save();
|
||||
|
||||
return $this->return_ranks_view($subfleet);
|
||||
}
|
||||
|
||||
@@ -311,6 +321,7 @@ class SubfleetController extends BaseController
|
||||
protected function return_expenses_view(?Subfleet $subfleet)
|
||||
{
|
||||
$subfleet->refresh();
|
||||
|
||||
return view('admin.subfleets.expenses', [
|
||||
'subfleet' => $subfleet,
|
||||
]);
|
||||
@@ -318,7 +329,7 @@ class SubfleetController extends BaseController
|
||||
|
||||
/**
|
||||
* Operations for associating ranks to the subfleet
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
|
||||
* @throws \Exception
|
||||
@@ -357,7 +368,7 @@ class SubfleetController extends BaseController
|
||||
|
||||
/**
|
||||
* Operations on fares to the subfleet
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
|
||||
*/
|
||||
@@ -379,17 +390,13 @@ class SubfleetController extends BaseController
|
||||
if ($request->isMethod('post')) {
|
||||
$fare = $this->fareRepo->find($request->fare_id);
|
||||
$this->fareSvc->setForSubfleet($subfleet, $fare);
|
||||
}
|
||||
|
||||
// update the pivot table with overrides for the fares
|
||||
} // update the pivot table with overrides for the fares
|
||||
elseif ($request->isMethod('put')) {
|
||||
$override = [];
|
||||
$fare = $this->fareRepo->find($request->fare_id);
|
||||
$override[$request->name] = $request->value;
|
||||
$this->fareSvc->setForSubfleet($subfleet, $fare, $override);
|
||||
}
|
||||
|
||||
// dissassociate fare from teh aircraft
|
||||
} // dissassociate fare from teh aircraft
|
||||
elseif ($request->isMethod('delete')) {
|
||||
$fare = $this->fareRepo->find($request->fare_id);
|
||||
$this->fareSvc->delFareFromSubfleet($subfleet, $fare);
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace App\Http\Controllers\Admin;
|
||||
use App\Facades\Utils;
|
||||
use App\Http\Requests\CreateUserRequest;
|
||||
use App\Http\Requests\UpdateUserRequest;
|
||||
use App\Models\Airline;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Models\Rank;
|
||||
use App\Models\Role;
|
||||
use App\Models\User;
|
||||
@@ -23,7 +23,11 @@ use Log;
|
||||
use Prettus\Repository\Exceptions\RepositoryException;
|
||||
use Response;
|
||||
|
||||
class UserController extends BaseController
|
||||
/**
|
||||
* Class UserController
|
||||
* @package App\Http\Controllers\Admin
|
||||
*/
|
||||
class UserController extends Controller
|
||||
{
|
||||
private $airlineRepo,
|
||||
$airportRepo,
|
||||
@@ -35,9 +39,9 @@ class UserController extends BaseController
|
||||
* UserController constructor.
|
||||
* @param AirlineRepository $airlineRepo
|
||||
* @param AirportRepository $airportRepo
|
||||
* @param PirepRepository $pirepRepo
|
||||
* @param UserRepository $userRepo
|
||||
* @param UserService $userSvc
|
||||
* @param PirepRepository $pirepRepo
|
||||
* @param UserRepository $userRepo
|
||||
* @param UserService $userSvc
|
||||
*/
|
||||
public function __construct(
|
||||
AirlineRepository $airlineRepo,
|
||||
@@ -67,7 +71,7 @@ class UserController extends BaseController
|
||||
}
|
||||
|
||||
return view('admin.users.index', [
|
||||
'users' => $users,
|
||||
'users' => $users,
|
||||
'country' => new \League\ISO3166\ISO3166(),
|
||||
]);
|
||||
}
|
||||
@@ -82,14 +86,14 @@ class UserController extends BaseController
|
||||
$airports = $this->airportRepo->selectBoxList(false, setting('pilots.home_hubs_only'));
|
||||
|
||||
return view('admin.users.create', [
|
||||
'user' => null,
|
||||
'pireps' => null,
|
||||
'airlines' => $airlines,
|
||||
'user' => null,
|
||||
'pireps' => null,
|
||||
'airlines' => $airlines,
|
||||
'timezones' => Timezonelist::toArray(),
|
||||
'country' => new \League\ISO3166\ISO3166(),
|
||||
'airports' => $airports,
|
||||
'ranks' => Rank::all()->pluck('name', 'id'),
|
||||
'roles' => Role::all()->pluck('name', 'id'),
|
||||
'country' => new \League\ISO3166\ISO3166(),
|
||||
'airports' => $airports,
|
||||
'ranks' => Rank::all()->pluck('name', 'id'),
|
||||
'roles' => Role::all()->pluck('name', 'id'),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -105,6 +109,7 @@ class UserController extends BaseController
|
||||
$user = $this->userRepo->create($input);
|
||||
|
||||
Flash::success('User saved successfully.');
|
||||
|
||||
return redirect(route('admin.users.index'));
|
||||
}
|
||||
|
||||
@@ -119,6 +124,7 @@ class UserController extends BaseController
|
||||
|
||||
if (empty($user)) {
|
||||
Flash::error('User not found');
|
||||
|
||||
return redirect(route('admin.users.index'));
|
||||
}
|
||||
|
||||
@@ -130,14 +136,14 @@ class UserController extends BaseController
|
||||
$airports = $this->airportRepo->selectBoxList(false, setting('pilots.home_hubs_only'));
|
||||
|
||||
return view('admin.users.show', [
|
||||
'user' => $user,
|
||||
'pireps' => $pireps,
|
||||
'airlines' => $airlines,
|
||||
'user' => $user,
|
||||
'pireps' => $pireps,
|
||||
'airlines' => $airlines,
|
||||
'timezones' => Timezonelist::toArray(),
|
||||
'country' => new \League\ISO3166\ISO3166(),
|
||||
'airports' => $airports,
|
||||
'ranks' => Rank::all()->pluck('name', 'id'),
|
||||
'roles' => Role::all()->pluck('name', 'id'),
|
||||
'country' => new \League\ISO3166\ISO3166(),
|
||||
'airports' => $airports,
|
||||
'ranks' => Rank::all()->pluck('name', 'id'),
|
||||
'roles' => Role::all()->pluck('name', 'id'),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -152,6 +158,7 @@ class UserController extends BaseController
|
||||
|
||||
if (empty($user)) {
|
||||
Flash::error('User not found');
|
||||
|
||||
return redirect(route('admin.users.index'));
|
||||
}
|
||||
|
||||
@@ -168,20 +175,20 @@ class UserController extends BaseController
|
||||
$airports = $this->airportRepo->selectBoxList(false, setting('pilots.home_hubs_only'));
|
||||
|
||||
return view('admin.users.edit', [
|
||||
'user' => $user,
|
||||
'pireps' => $pireps,
|
||||
'user' => $user,
|
||||
'pireps' => $pireps,
|
||||
'countries' => $countries,
|
||||
'timezones' => Timezonelist::toArray(),
|
||||
'airports' => $airports,
|
||||
'airlines' => $airlines,
|
||||
'ranks' => Rank::all()->pluck('name', 'id'),
|
||||
'roles' => Role::all()->pluck('name', 'id'),
|
||||
'airports' => $airports,
|
||||
'airlines' => $airlines,
|
||||
'ranks' => Rank::all()->pluck('name', 'id'),
|
||||
'roles' => Role::all()->pluck('name', 'id'),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified User in storage.
|
||||
* @param int $id
|
||||
* @param int $id
|
||||
* @param UpdateUserRequest $request
|
||||
* @return Response
|
||||
* @throws \Prettus\Validator\Exceptions\ValidatorException
|
||||
@@ -192,11 +199,12 @@ class UserController extends BaseController
|
||||
|
||||
if (empty($user)) {
|
||||
Flash::error('User not found');
|
||||
|
||||
return redirect(route('admin.users.index'));
|
||||
}
|
||||
|
||||
$req_data = $request->all();
|
||||
if(!$request->filled('password')) {
|
||||
if (!$request->filled('password')) {
|
||||
unset($req_data['password']);
|
||||
} else {
|
||||
$req_data['password'] = Hash::make($req_data['password']);
|
||||
@@ -206,17 +214,18 @@ class UserController extends BaseController
|
||||
|
||||
$user = $this->userRepo->update($req_data, $id);
|
||||
|
||||
if($original_user_state !== $user->state) {
|
||||
if ($original_user_state !== $user->state) {
|
||||
$this->userSvc->changeUserState($user, $original_user_state);
|
||||
}
|
||||
|
||||
# Delete all of the roles and then re-attach the valid ones
|
||||
DB::table('role_user')->where('user_id',$id)->delete();
|
||||
DB::table('role_user')->where('user_id', $id)->delete();
|
||||
foreach ($request->input('roles') as $key => $value) {
|
||||
$user->attachRole($value);
|
||||
}
|
||||
|
||||
Flash::success('User updated successfully.');
|
||||
|
||||
return redirect(route('admin.users.index'));
|
||||
}
|
||||
|
||||
@@ -231,30 +240,33 @@ class UserController extends BaseController
|
||||
|
||||
if (empty($user)) {
|
||||
Flash::error('User not found');
|
||||
|
||||
return redirect(route('admin.users.index'));
|
||||
}
|
||||
|
||||
$this->userRepo->delete($id);
|
||||
|
||||
Flash::success('User deleted successfully.');
|
||||
|
||||
return redirect(route('admin.users.index'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Regenerate the user's API key
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
|
||||
*/
|
||||
public function regen_apikey($id, Request $request)
|
||||
{
|
||||
$user = User::find($id);
|
||||
Log::info('Regenerating API key "' . $user->pilot_id . '"');
|
||||
Log::info('Regenerating API key "'.$user->pilot_id.'"');
|
||||
|
||||
$user->api_key = Utils::generateApiKey();
|
||||
$user->save();
|
||||
|
||||
flash('New API key generated!')->success();
|
||||
|
||||
return redirect(route('admin.users.edit', ['id' => $id]));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,30 +2,31 @@
|
||||
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Interfaces\Controller;
|
||||
use App\Repositories\AcarsRepository;
|
||||
use App\Repositories\PirepRepository;
|
||||
use App\Services\GeoService;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
|
||||
class AcarsController extends RestController
|
||||
/**
|
||||
* Class AcarsController
|
||||
* @package App\Http\Controllers\Api
|
||||
*/
|
||||
class AcarsController extends Controller
|
||||
{
|
||||
protected $acarsRepo, $geoSvc, $pirepRepo;
|
||||
private $acarsRepo,
|
||||
$geoSvc;
|
||||
|
||||
/**
|
||||
* AcarsController constructor.
|
||||
* @param GeoService $geoSvc
|
||||
* @param GeoService $geoSvc
|
||||
* @param AcarsRepository $acarsRepo
|
||||
* @param PirepRepository $pirepRepo
|
||||
*/
|
||||
public function __construct(
|
||||
GeoService $geoSvc,
|
||||
AcarsRepository $acarsRepo,
|
||||
PirepRepository $pirepRepo
|
||||
AcarsRepository $acarsRepo
|
||||
) {
|
||||
$this->geoSvc = $geoSvc;
|
||||
$this->acarsRepo = $acarsRepo;
|
||||
$this->pirepRepo = $pirepRepo;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -3,12 +3,17 @@
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Http\Resources\Airline as AirlineResource;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Repositories\AirlineRepository;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class AirlineController extends RestController
|
||||
/**
|
||||
* Class AirlineController
|
||||
* @package App\Http\Controllers\Api
|
||||
*/
|
||||
class AirlineController extends Controller
|
||||
{
|
||||
protected $airlineRepo;
|
||||
private $airlineRepo;
|
||||
|
||||
/**
|
||||
* AirlineController constructor.
|
||||
@@ -43,6 +48,7 @@ class AirlineController extends RestController
|
||||
public function get($id)
|
||||
{
|
||||
$id = strtoupper($id);
|
||||
|
||||
return new AirlineResource($this->airlineRepo->find($id));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,15 +3,20 @@
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Http\Resources\Airport as AirportResource;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Repositories\AirportRepository;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Log;
|
||||
use VaCentral\Airport as AirportLookup;
|
||||
|
||||
class AirportController extends RestController
|
||||
/**
|
||||
* Class AirportController
|
||||
* @package App\Http\Controllers\Api
|
||||
*/
|
||||
class AirportController extends Controller
|
||||
{
|
||||
protected $airportRepo;
|
||||
private $airportRepo;
|
||||
|
||||
/**
|
||||
* AirportController constructor.
|
||||
@@ -66,6 +71,7 @@ class AirportController extends RestController
|
||||
public function get($id)
|
||||
{
|
||||
$id = strtoupper($id);
|
||||
|
||||
return new AirportResource($this->airportRepo->find($id));
|
||||
}
|
||||
|
||||
@@ -77,13 +83,14 @@ class AirportController extends RestController
|
||||
public function lookup($id)
|
||||
{
|
||||
$airport = Cache::remember(
|
||||
config('cache.keys.AIRPORT_VACENTRAL_LOOKUP.key') . $id,
|
||||
config('cache.keys.AIRPORT_VACENTRAL_LOOKUP.key').$id,
|
||||
config('cache.keys.RANKS_PILOT_LIST.time'),
|
||||
function () use ($id) {
|
||||
try {
|
||||
return AirportLookup::get($id);
|
||||
} catch (\VaCentral\HttpException $e) {
|
||||
Log::error($e);
|
||||
|
||||
return [];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,13 +4,19 @@ namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Http\Resources\Aircraft as AircraftResource;
|
||||
use App\Http\Resources\Subfleet as SubfleetResource;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Repositories\AircraftRepository;
|
||||
use App\Repositories\SubfleetRepository;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class FleetController extends RestController
|
||||
/**
|
||||
* Class FleetController
|
||||
* @package App\Http\Controllers\Api
|
||||
*/
|
||||
class FleetController extends Controller
|
||||
{
|
||||
protected $aircraftRepo, $subfleetRepo;
|
||||
private $aircraftRepo,
|
||||
$subfleetRepo;
|
||||
|
||||
/**
|
||||
* FleetController constructor.
|
||||
@@ -32,8 +38,8 @@ class FleetController extends RestController
|
||||
public function index()
|
||||
{
|
||||
$subfleets = $this->subfleetRepo
|
||||
->with(['aircraft', 'airline', 'fares', 'ranks'])
|
||||
->paginate();
|
||||
->with(['aircraft', 'airline', 'fares', 'ranks'])
|
||||
->paginate();
|
||||
|
||||
return SubfleetResource::collection($subfleets);
|
||||
}
|
||||
@@ -41,23 +47,23 @@ class FleetController extends RestController
|
||||
/**
|
||||
* Get a specific aircraft. Query string required to specify the tail
|
||||
* /api/aircraft/XYZ?type=registration
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param Request $request
|
||||
* @return AircraftResource
|
||||
*/
|
||||
public function get_aircraft($id, Request $request)
|
||||
{
|
||||
$where = [];
|
||||
if($request->filled('type')) {
|
||||
if ($request->filled('type')) {
|
||||
$where[$request->get('type')] = $id;
|
||||
} else {
|
||||
$where['id'] = $id;
|
||||
}
|
||||
|
||||
$aircraft = $this->aircraftRepo
|
||||
->with(['subfleet', 'subfleet.fares'])
|
||||
->findWhere($where)
|
||||
->first();
|
||||
->with(['subfleet', 'subfleet.fares'])
|
||||
->findWhere($where)
|
||||
->first();
|
||||
|
||||
return new AircraftResource($aircraft);
|
||||
}
|
||||
|
||||
@@ -4,10 +4,10 @@ namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Http\Resources\Flight as FlightResource;
|
||||
use App\Http\Resources\Navdata as NavdataResource;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Repositories\Criteria\WhereCriteria;
|
||||
use App\Repositories\FlightRepository;
|
||||
use App\Services\FlightService;
|
||||
use App\Services\UserService;
|
||||
use Auth;
|
||||
use Illuminate\Http\Request;
|
||||
use Prettus\Repository\Criteria\RequestCriteria;
|
||||
@@ -17,24 +17,22 @@ use Prettus\Repository\Exceptions\RepositoryException;
|
||||
* Class FlightController
|
||||
* @package App\Http\Controllers\Api
|
||||
*/
|
||||
class FlightController extends RestController
|
||||
class FlightController extends Controller
|
||||
{
|
||||
protected $flightRepo, $flightSvc, $userSvc;
|
||||
private $flightRepo,
|
||||
$flightSvc;
|
||||
|
||||
/**
|
||||
* FlightController constructor.
|
||||
* @param FlightRepository $flightRepo
|
||||
* @param FlightService $flightSvc
|
||||
* @param UserService $userSvc
|
||||
* @param FlightService $flightSvc
|
||||
*/
|
||||
public function __construct(
|
||||
FlightRepository $flightRepo,
|
||||
FlightService $flightSvc,
|
||||
UserService $userSvc
|
||||
FlightService $flightSvc
|
||||
) {
|
||||
$this->flightRepo = $flightRepo;
|
||||
$this->flightSvc = $flightSvc;
|
||||
$this->userSvc = $userSvc;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -52,10 +50,10 @@ class FlightController extends RestController
|
||||
}
|
||||
|
||||
$flights = $this->flightRepo
|
||||
->whereOrder($where, 'flight_number', 'asc')
|
||||
->paginate();
|
||||
->whereOrder($where, 'flight_number', 'asc')
|
||||
->paginate();
|
||||
|
||||
foreach($flights as $flight) {
|
||||
foreach ($flights as $flight) {
|
||||
$this->flightSvc->filterSubfleets($user, $flight);
|
||||
}
|
||||
|
||||
@@ -105,7 +103,7 @@ class FlightController extends RestController
|
||||
|
||||
/**
|
||||
* Get a flight's route
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection
|
||||
*/
|
||||
|
||||
@@ -16,6 +16,7 @@ use App\Http\Resources\AcarsRoute as AcarsRouteResource;
|
||||
use App\Http\Resources\JournalTransaction as JournalTransactionResource;
|
||||
use App\Http\Resources\Pirep as PirepResource;
|
||||
use App\Http\Resources\PirepComment as PirepCommentResource;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Models\Acars;
|
||||
use App\Models\Enums\AcarsType;
|
||||
use App\Models\Enums\PirepSource;
|
||||
@@ -35,7 +36,11 @@ use Auth;
|
||||
use Illuminate\Http\Request;
|
||||
use Log;
|
||||
|
||||
class PirepController extends RestController
|
||||
/**
|
||||
* Class PirepController
|
||||
* @package App\Http\Controllers\Api
|
||||
*/
|
||||
class PirepController extends Controller
|
||||
{
|
||||
private $acarsRepo,
|
||||
$fareSvc,
|
||||
@@ -48,13 +53,14 @@ class PirepController extends RestController
|
||||
|
||||
/**
|
||||
* PirepController constructor.
|
||||
* @param AcarsRepository $acarsRepo
|
||||
* @param AcarsRepository $acarsRepo
|
||||
* @param FareService $fareSvc
|
||||
* @param PirepFinanceService $financeSvc
|
||||
* @param GeoService $geoSvc
|
||||
* @param JournalRepository $journalRepo
|
||||
* @param PirepRepository $pirepRepo
|
||||
* @param PirepService $pirepSvc
|
||||
* @param UserService $userSvc
|
||||
* @param GeoService $geoSvc
|
||||
* @param JournalRepository $journalRepo
|
||||
* @param PirepRepository $pirepRepo
|
||||
* @param PirepService $pirepSvc
|
||||
* @param UserService $userSvc
|
||||
*/
|
||||
public function __construct(
|
||||
AcarsRepository $acarsRepo,
|
||||
@@ -98,7 +104,7 @@ class PirepController extends RestController
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $pirep
|
||||
* @param $pirep
|
||||
* @param Request $request
|
||||
*/
|
||||
protected function updateFields($pirep, Request $request)
|
||||
@@ -110,8 +116,8 @@ class PirepController extends RestController
|
||||
$pirep_fields = [];
|
||||
foreach ($request->input('fields') as $field_name => $field_value) {
|
||||
$pirep_fields[] = [
|
||||
'name' => $field_name,
|
||||
'value' => $field_value,
|
||||
'name' => $field_name,
|
||||
'value' => $field_value,
|
||||
'source' => $pirep->source,
|
||||
];
|
||||
}
|
||||
@@ -121,21 +127,21 @@ class PirepController extends RestController
|
||||
|
||||
/**
|
||||
* Save the fares
|
||||
* @param $pirep
|
||||
* @param $pirep
|
||||
* @param Request $request
|
||||
* @throws \Exception
|
||||
*/
|
||||
protected function updateFares($pirep, Request $request)
|
||||
{
|
||||
if(!$request->filled('fares')) {
|
||||
if (!$request->filled('fares')) {
|
||||
return;
|
||||
}
|
||||
|
||||
$fares = [];
|
||||
foreach($request->post('fares') as $fare) {
|
||||
foreach ($request->post('fares') as $fare) {
|
||||
$fares[] = [
|
||||
'fare_id' => $fare['id'],
|
||||
'count' => $fare['count'],
|
||||
'count' => $fare['count'],
|
||||
];
|
||||
}
|
||||
|
||||
@@ -168,7 +174,7 @@ class PirepController extends RestController
|
||||
$pirep = new Pirep($attrs);
|
||||
|
||||
# See if this user is allowed to fly this aircraft
|
||||
if(setting('pireps.restrict_aircraft_to_rank', false)) {
|
||||
if (setting('pireps.restrict_aircraft_to_rank', false)) {
|
||||
$can_use_ac = $this->userSvc->aircraftAllowed($user, $pirep->aircraft_id);
|
||||
if (!$can_use_ac) {
|
||||
throw new AircraftPermissionDenied();
|
||||
@@ -177,7 +183,7 @@ class PirepController extends RestController
|
||||
|
||||
# Find if there's a duplicate, if so, let's work on that
|
||||
$dupe_pirep = $this->pirepSvc->findDuplicate($pirep);
|
||||
if($dupe_pirep !== false) {
|
||||
if ($dupe_pirep !== false) {
|
||||
$pirep = $dupe_pirep;
|
||||
$this->checkCancelled($pirep);
|
||||
}
|
||||
@@ -198,7 +204,7 @@ class PirepController extends RestController
|
||||
* Once ACARS updates are being processed, then it can go into an 'ENROUTE'
|
||||
* status, and whatever other statuses may be defined
|
||||
*
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param UpdateRequest $request
|
||||
* @return PirepResource
|
||||
* @throws \App\Exceptions\PirepCancelled
|
||||
@@ -208,7 +214,7 @@ class PirepController extends RestController
|
||||
*/
|
||||
public function update($id, UpdateRequest $request)
|
||||
{
|
||||
Log::info('PIREP Update, user ' . Auth::id(), $request->post());
|
||||
Log::info('PIREP Update, user '.Auth::id(), $request->post());
|
||||
|
||||
$user = Auth::user();
|
||||
$pirep = $this->pirepRepo->find($id);
|
||||
@@ -236,7 +242,7 @@ class PirepController extends RestController
|
||||
|
||||
/**
|
||||
* File the PIREP
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param FileRequest $request
|
||||
* @return PirepResource
|
||||
* @throws \App\Exceptions\PirepCancelled
|
||||
@@ -246,7 +252,7 @@ class PirepController extends RestController
|
||||
*/
|
||||
public function file($id, FileRequest $request)
|
||||
{
|
||||
Log::info('PIREP file, user ' . Auth::id(), $request->post());
|
||||
Log::info('PIREP file, user '.Auth::id(), $request->post());
|
||||
|
||||
$user = Auth::user();
|
||||
|
||||
@@ -283,7 +289,7 @@ class PirepController extends RestController
|
||||
# route that's been posted from the PIREP
|
||||
$w = ['pirep_id' => $pirep->id, 'type' => AcarsType::ROUTE];
|
||||
$count = Acars::where($w)->count(['id']);
|
||||
if($count === 0) {
|
||||
if ($count === 0) {
|
||||
$this->pirepSvc->saveRoute($pirep);
|
||||
}
|
||||
|
||||
@@ -292,14 +298,14 @@ class PirepController extends RestController
|
||||
|
||||
/**
|
||||
* Cancel the PIREP
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param Request $request
|
||||
* @return PirepResource
|
||||
* @throws \Prettus\Validator\Exceptions\ValidatorException
|
||||
*/
|
||||
public function cancel($id, Request $request)
|
||||
{
|
||||
Log::info('PIREP Cancel, user ' . Auth::id(), $request->post());
|
||||
Log::info('PIREP Cancel, user '.Auth::id(), $request->post());
|
||||
|
||||
$pirep = $this->pirepRepo->update([
|
||||
'state' => PirepState::CANCELLED,
|
||||
@@ -310,7 +316,7 @@ class PirepController extends RestController
|
||||
|
||||
/**
|
||||
* Return the GeoJSON for the ACARS line
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Contracts\Routing\ResponseFactory
|
||||
*/
|
||||
@@ -326,7 +332,7 @@ class PirepController extends RestController
|
||||
|
||||
/**
|
||||
* Return the routes for the ACARS line
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param Request $request
|
||||
* @return AcarsRouteResource
|
||||
*/
|
||||
@@ -336,13 +342,13 @@ class PirepController extends RestController
|
||||
|
||||
return new AcarsRouteResource(Acars::where([
|
||||
'pirep_id' => $id,
|
||||
'type' => AcarsType::FLIGHT_PATH
|
||||
'type' => AcarsType::FLIGHT_PATH
|
||||
])->orderBy('created_at', 'asc')->get());
|
||||
}
|
||||
|
||||
/**
|
||||
* Post ACARS updates for a PIREP
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param PositionRequest $request
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
* @throws \App\Exceptions\PirepCancelled
|
||||
@@ -361,8 +367,7 @@ class PirepController extends RestController
|
||||
|
||||
$count = 0;
|
||||
$positions = $request->post('positions');
|
||||
foreach($positions as $position)
|
||||
{
|
||||
foreach ($positions as $position) {
|
||||
$position['pirep_id'] = $id;
|
||||
$position['type'] = AcarsType::FLIGHT_PATH;
|
||||
|
||||
@@ -376,13 +381,13 @@ class PirepController extends RestController
|
||||
$pirep->status = PirepStatus::ENROUTE;
|
||||
$pirep->save();
|
||||
|
||||
return $this->message($count . ' positions added', $count);
|
||||
return $this->message($count.' positions added', $count);
|
||||
}
|
||||
|
||||
/**
|
||||
* Post ACARS LOG update for a PIREP. These updates won't show up on the map
|
||||
* But rather in a log file.
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param LogRequest $request
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
* @throws \App\Exceptions\PirepCancelled
|
||||
@@ -398,8 +403,7 @@ class PirepController extends RestController
|
||||
|
||||
$count = 0;
|
||||
$logs = $request->post('logs');
|
||||
foreach($logs as $log) {
|
||||
|
||||
foreach ($logs as $log) {
|
||||
$log['pirep_id'] = $id;
|
||||
$log['type'] = AcarsType::LOG;
|
||||
|
||||
@@ -408,13 +412,13 @@ class PirepController extends RestController
|
||||
++$count;
|
||||
}
|
||||
|
||||
return $this->message($count . ' logs added', $count);
|
||||
return $this->message($count.' logs added', $count);
|
||||
}
|
||||
|
||||
/**
|
||||
* Post ACARS LOG update for a PIREP. These updates won't show up on the map
|
||||
* But rather in a log file.
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param EventRequest $request
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
* @throws \App\Exceptions\PirepCancelled
|
||||
@@ -426,12 +430,11 @@ class PirepController extends RestController
|
||||
$pirep = $this->pirepRepo->find($id);
|
||||
$this->checkCancelled($pirep);
|
||||
|
||||
Log::debug('Posting ACARS event, PIREP: ' . $id, $request->post());
|
||||
Log::debug('Posting ACARS event, PIREP: '.$id, $request->post());
|
||||
|
||||
$count = 0;
|
||||
$logs = $request->post('events');
|
||||
foreach ($logs as $log) {
|
||||
|
||||
$log['pirep_id'] = $id;
|
||||
$log['type'] = AcarsType::LOG;
|
||||
$log['log'] = $log['event'];
|
||||
@@ -441,24 +444,25 @@ class PirepController extends RestController
|
||||
++$count;
|
||||
}
|
||||
|
||||
return $this->message($count . ' logs added', $count);
|
||||
return $this->message($count.' logs added', $count);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new comment
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection
|
||||
*/
|
||||
public function comments_get($id, Request $request)
|
||||
{
|
||||
$pirep = $this->pirepRepo->find($id);
|
||||
|
||||
return PirepCommentResource::collection($pirep->comments);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add a new comment
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param CommentRequest $request
|
||||
* @return PirepCommentResource
|
||||
* @throws \App\Exceptions\PirepCancelled
|
||||
@@ -480,7 +484,7 @@ class PirepController extends RestController
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection
|
||||
* @throws \UnexpectedValueException
|
||||
@@ -490,11 +494,12 @@ class PirepController extends RestController
|
||||
{
|
||||
$pirep = $this->pirepRepo->find($id);
|
||||
$transactions = $this->journalRepo->getAllForObject($pirep);
|
||||
|
||||
return JournalTransactionResource::collection($transactions);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection
|
||||
* @throws \UnexpectedValueException
|
||||
@@ -509,11 +514,12 @@ class PirepController extends RestController
|
||||
|
||||
$pirep->refresh();
|
||||
$transactions = $this->journalRepo->getAllForObject($pirep);
|
||||
|
||||
return JournalTransactionResource::collection($transactions['transactions']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection
|
||||
*/
|
||||
@@ -523,13 +529,13 @@ class PirepController extends RestController
|
||||
|
||||
return AcarsRouteResource::collection(Acars::where([
|
||||
'pirep_id' => $id,
|
||||
'type' => AcarsType::ROUTE
|
||||
'type' => AcarsType::ROUTE
|
||||
])->orderBy('order', 'asc')->get());
|
||||
}
|
||||
|
||||
/**
|
||||
* Post the ROUTE for a PIREP, can be done from the ACARS log
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param RouteRequest $request
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
* @throws \App\Exceptions\PirepCancelled
|
||||
@@ -545,7 +551,7 @@ class PirepController extends RestController
|
||||
|
||||
$count = 0;
|
||||
$route = $request->post('route', []);
|
||||
foreach($route as $position) {
|
||||
foreach ($route as $position) {
|
||||
$position['pirep_id'] = $id;
|
||||
$position['type'] = AcarsType::ROUTE;
|
||||
|
||||
@@ -555,11 +561,11 @@ class PirepController extends RestController
|
||||
++$count;
|
||||
}
|
||||
|
||||
return $this->message($count . ' points added', $count);
|
||||
return $this->message($count.' points added', $count);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param Request $request
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
* @throws \Exception
|
||||
@@ -570,7 +576,7 @@ class PirepController extends RestController
|
||||
|
||||
Acars::where([
|
||||
'pirep_id' => $id,
|
||||
'type' => AcarsType::ROUTE
|
||||
'type' => AcarsType::ROUTE
|
||||
])->delete();
|
||||
|
||||
return $this->message('Route deleted');
|
||||
|
||||
@@ -1,94 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
|
||||
|
||||
class RestController
|
||||
{
|
||||
/**
|
||||
* Shortcut function to get the attributes from a request while running the validations
|
||||
* @param Request $request
|
||||
* @param array $attrs_or_validations
|
||||
* @param array $addtl_fields
|
||||
* @return array
|
||||
* @throws \Symfony\Component\HttpKernel\Exception\BadRequestHttpException
|
||||
*/
|
||||
public function getFromReq($request, $attrs_or_validations, $addtl_fields=null)
|
||||
{
|
||||
# See if a list of values is passed in, or if a validation list is passed in
|
||||
$is_validation = false;
|
||||
if(\count(array_filter(array_keys($attrs_or_validations), '\is_string')) > 0) {
|
||||
$is_validation = true;
|
||||
}
|
||||
|
||||
if($is_validation) {
|
||||
$this->validate($request, $attrs_or_validations);
|
||||
}
|
||||
|
||||
$fields = [];
|
||||
foreach($attrs_or_validations as $idx => $field) {
|
||||
if($is_validation) {
|
||||
$field = $idx;
|
||||
}
|
||||
|
||||
if($request instanceof Request) {
|
||||
if ($request->filled($field)) {
|
||||
$fields[$field] = $request->input($field);
|
||||
}
|
||||
} else {
|
||||
if(array_key_exists($field, $request)) {
|
||||
$fields[$field] = $request[$field];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!empty($addtl_fields) && \is_array($addtl_fields)) {
|
||||
$fields = array_merge($fields, $addtl_fields);
|
||||
}
|
||||
|
||||
return $fields;
|
||||
}
|
||||
|
||||
/**
|
||||
* Run a validation
|
||||
* @param $request
|
||||
* @param $rules
|
||||
* @return bool
|
||||
* @throws \Symfony\Component\HttpKernel\Exception\BadRequestHttpException
|
||||
*/
|
||||
public function validate($request, $rules)
|
||||
{
|
||||
if($request instanceof Request) {
|
||||
$validator = Validator::make($request->all(), $rules);
|
||||
} else {
|
||||
$validator = Validator::make($request, $rules);
|
||||
}
|
||||
|
||||
if (!$validator->passes()) {
|
||||
throw new BadRequestHttpException($validator->errors(), null, 400);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Simple normalized method for forming the JSON responses
|
||||
* @param $message
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function message($message, $count=null)
|
||||
{
|
||||
$attrs = [
|
||||
'message' => $message
|
||||
];
|
||||
|
||||
if($count !== null) {
|
||||
$attrs['count'] = $count;
|
||||
}
|
||||
|
||||
return response()->json($attrs);
|
||||
}
|
||||
}
|
||||
@@ -3,12 +3,17 @@
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Http\Resources\Setting as SettingResource;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Repositories\SettingRepository;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class SettingsController extends RestController
|
||||
/**
|
||||
* Class SettingsController
|
||||
* @package App\Http\Controllers\Api
|
||||
*/
|
||||
class SettingsController extends Controller
|
||||
{
|
||||
protected $settingRepo;
|
||||
private $settingRepo;
|
||||
|
||||
/**
|
||||
* SettingsController constructor.
|
||||
|
||||
@@ -2,9 +2,14 @@
|
||||
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Interfaces\Controller;
|
||||
use PragmaRX\Version\Package\Facade as Version;
|
||||
|
||||
class StatusController extends RestController
|
||||
/**
|
||||
* Class StatusController
|
||||
* @package App\Http\Controllers\Api
|
||||
*/
|
||||
class StatusController extends Controller
|
||||
{
|
||||
/**
|
||||
* @return \Illuminate\Http\JsonResponse
|
||||
@@ -13,7 +18,7 @@ class StatusController extends RestController
|
||||
{
|
||||
return response()->json([
|
||||
'version' => Version::compact(),
|
||||
'php' => PHP_VERSION,
|
||||
'php' => PHP_VERSION,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,12 +3,12 @@
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use App\Http\Resources\Bid as BidResource;
|
||||
use App\Http\Resources\Flight as FlightResource;
|
||||
use App\Http\Resources\Pirep as PirepResource;
|
||||
use App\Http\Resources\Subfleet as SubfleetResource;
|
||||
use App\Http\Resources\User as UserResource;
|
||||
use App\Models\Enums\PirepState;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Models\Bid;
|
||||
use App\Models\Enums\PirepState;
|
||||
use App\Repositories\Criteria\WhereCriteria;
|
||||
use App\Repositories\FlightRepository;
|
||||
use App\Repositories\PirepRepository;
|
||||
@@ -21,24 +21,27 @@ use Illuminate\Http\Request;
|
||||
use Prettus\Repository\Criteria\RequestCriteria;
|
||||
use Prettus\Repository\Exceptions\RepositoryException;
|
||||
|
||||
|
||||
class UserController extends RestController
|
||||
/**
|
||||
* Class UserController
|
||||
* @package App\Http\Controllers\Api
|
||||
*/
|
||||
class UserController extends Controller
|
||||
{
|
||||
protected $flightRepo,
|
||||
$flightSvc,
|
||||
$pirepRepo,
|
||||
$subfleetRepo,
|
||||
$userRepo,
|
||||
$userSvc;
|
||||
private $flightRepo,
|
||||
$flightSvc,
|
||||
$pirepRepo,
|
||||
$subfleetRepo,
|
||||
$userRepo,
|
||||
$userSvc;
|
||||
|
||||
/**
|
||||
* UserController constructor.
|
||||
* @param FlightRepository $flightRepo
|
||||
* @param FlightService $flightSvc
|
||||
* @param PirepRepository $pirepRepo
|
||||
* @param FlightRepository $flightRepo
|
||||
* @param FlightService $flightSvc
|
||||
* @param PirepRepository $pirepRepo
|
||||
* @param SubfleetRepository $subfleetRepo
|
||||
* @param UserRepository $userRepo
|
||||
* @param UserService $userSvc
|
||||
* @param UserRepository $userRepo
|
||||
* @param UserService $userSvc
|
||||
*/
|
||||
public function __construct(
|
||||
FlightRepository $flightRepo,
|
||||
@@ -106,11 +109,12 @@ class UserController extends RestController
|
||||
$flight_id = $request->input('flight_id');
|
||||
$flight = $this->flightRepo->find($flight_id);
|
||||
$bid = $this->flightSvc->addBid($flight, $user);
|
||||
|
||||
return new BidResource($bid);
|
||||
}
|
||||
|
||||
if ($request->isMethod('DELETE')) {
|
||||
if($request->filled('bid_id')) {
|
||||
if ($request->filled('bid_id')) {
|
||||
$bid = Bid::findOrFail($request->input('bid_id'));
|
||||
$flight_id = $bid->flight_id;
|
||||
} else {
|
||||
@@ -123,6 +127,7 @@ class UserController extends RestController
|
||||
|
||||
# Return the flights they currently have bids on
|
||||
$bids = Bid::where(['user_id' => $user->id])->get();
|
||||
|
||||
return BidResource::collection($bids);
|
||||
}
|
||||
|
||||
@@ -152,7 +157,7 @@ class UserController extends RestController
|
||||
'user_id' => $this->getUserId($request),
|
||||
];
|
||||
|
||||
if(filled($request->query('state'))) {
|
||||
if (filled($request->query('state'))) {
|
||||
$where['state'] = $request->query('state');
|
||||
} else {
|
||||
$where[] = ['state', '!=', PirepState::CANCELLED];
|
||||
|
||||
@@ -2,9 +2,13 @@
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Interfaces\Controller;
|
||||
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
|
||||
|
||||
/**
|
||||
* Class ForgotPasswordController
|
||||
* @package App\Http\Controllers\Auth
|
||||
*/
|
||||
class ForgotPasswordController extends Controller
|
||||
{
|
||||
use SendsPasswordResetEmails;
|
||||
|
||||
@@ -2,13 +2,17 @@
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Models\Enums\UserState;
|
||||
use Illuminate\Foundation\Auth\AuthenticatesUsers;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Log;
|
||||
|
||||
/**
|
||||
* Class LoginController
|
||||
* @package App\Http\Controllers\Auth
|
||||
*/
|
||||
class LoginController extends Controller
|
||||
{
|
||||
use AuthenticatesUsers;
|
||||
@@ -44,17 +48,16 @@ class LoginController extends Controller
|
||||
$user->save();
|
||||
|
||||
// TODO: How to handle ON_LEAVE?
|
||||
if($user->state !== UserState::ACTIVE) {
|
||||
|
||||
Log::info('Trying to login '. $user->pilot_id .', state '
|
||||
. UserState::label($user->state));
|
||||
if ($user->state !== UserState::ACTIVE) {
|
||||
Log::info('Trying to login '.$user->pilot_id.', state '
|
||||
.UserState::label($user->state));
|
||||
|
||||
// Log them out
|
||||
$this->guard()->logout();
|
||||
$request->session()->invalidate();
|
||||
|
||||
// Redirect to one of the error pages
|
||||
if($user->state === UserState::PENDING) {
|
||||
if ($user->state === UserState::PENDING) {
|
||||
return view('auth.pending');
|
||||
} elseif ($user->state === UserState::REJECTED) {
|
||||
return view('auth.rejected');
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Facades\Utils;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Models\Enums\UserState;
|
||||
use App\Models\User;
|
||||
use App\Repositories\AirlineRepository;
|
||||
@@ -16,6 +16,10 @@ use Jackiedo\Timezonelist\Facades\Timezonelist;
|
||||
use Log;
|
||||
use Validator;
|
||||
|
||||
/**
|
||||
* Class RegisterController
|
||||
* @package App\Http\Controllers\Auth
|
||||
*/
|
||||
class RegisterController extends Controller
|
||||
{
|
||||
use RegistersUsers;
|
||||
@@ -26,15 +30,15 @@ class RegisterController extends Controller
|
||||
*/
|
||||
protected $redirectTo = '/';
|
||||
|
||||
protected $airlineRepo,
|
||||
$airportRepo,
|
||||
$userService;
|
||||
private $airlineRepo,
|
||||
$airportRepo,
|
||||
$userService;
|
||||
|
||||
/**
|
||||
* RegisterController constructor.
|
||||
* @param AirlineRepository $airlineRepo
|
||||
* @param AirportRepository $airportRepo
|
||||
* @param UserService $userService
|
||||
* @param UserService $userService
|
||||
*/
|
||||
public function __construct(
|
||||
AirlineRepository $airlineRepo,
|
||||
@@ -58,25 +62,25 @@ class RegisterController extends Controller
|
||||
$airlines = $this->airlineRepo->selectBoxList();
|
||||
|
||||
return view('auth.register', [
|
||||
'airports' => $airports,
|
||||
'airlines' => $airlines,
|
||||
'airports' => $airports,
|
||||
'airlines' => $airlines,
|
||||
'timezones' => Timezonelist::toArray(),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get a validator for an incoming registration request.
|
||||
* @param array $data
|
||||
* @param array $data
|
||||
* @return \Illuminate\Contracts\Validation\Validator
|
||||
*/
|
||||
protected function validator(array $data)
|
||||
{
|
||||
$rules = [
|
||||
'name' => 'required|max:255',
|
||||
'email' => 'required|email|max:255|unique:users',
|
||||
'airline_id' => 'required',
|
||||
'name' => 'required|max:255',
|
||||
'email' => 'required|email|max:255|unique:users',
|
||||
'airline_id' => 'required',
|
||||
'home_airport_id' => 'required',
|
||||
'password' => 'required|min:5|confirmed',
|
||||
'password' => 'required|min:5|confirmed',
|
||||
];
|
||||
|
||||
if (config('captcha.enabled')) {
|
||||
@@ -96,13 +100,13 @@ class RegisterController extends Controller
|
||||
protected function create(array $data)
|
||||
{
|
||||
$opts = [
|
||||
'name' => $data['name'],
|
||||
'email' => $data['email'],
|
||||
'api_key' => Utils::generateApiKey(),
|
||||
'airline_id' => $data['airline_id'],
|
||||
'name' => $data['name'],
|
||||
'email' => $data['email'],
|
||||
'api_key' => Utils::generateApiKey(),
|
||||
'airline_id' => $data['airline_id'],
|
||||
'home_airport_id' => $data['home_airport_id'],
|
||||
'curr_airport_id' => $data['home_airport_id'],
|
||||
'password' => Hash::make($data['password'])
|
||||
'password' => Hash::make($data['password'])
|
||||
];
|
||||
|
||||
$user = User::create($opts);
|
||||
@@ -122,25 +126,26 @@ class RegisterController extends Controller
|
||||
public function register(Request $request)
|
||||
{
|
||||
$rules = [
|
||||
'name' => 'required',
|
||||
'email' => 'required|email|unique:users,email',
|
||||
'airline_id' => 'required',
|
||||
'name' => 'required',
|
||||
'email' => 'required|email|unique:users,email',
|
||||
'airline_id' => 'required',
|
||||
'home_airport_id' => 'required',
|
||||
'password' => 'required|confirmed'
|
||||
'password' => 'required|confirmed'
|
||||
];
|
||||
|
||||
if(config('captcha.enabled')) {
|
||||
if (config('captcha.enabled')) {
|
||||
$rules['g-recaptcha-response'] = 'required|captcha';
|
||||
}
|
||||
|
||||
$this->validate(request(), $rules);
|
||||
|
||||
$user = $this->create($request->all());
|
||||
if($user->state === UserState::PENDING) {
|
||||
if ($user->state === UserState::PENDING) {
|
||||
return view('auth.pending');
|
||||
}
|
||||
|
||||
$this->guard()->login($user);
|
||||
|
||||
return redirect('/dashboard');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,19 +2,23 @@
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Interfaces\Controller;
|
||||
use Illuminate\Foundation\Auth\ResetsPasswords;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
/**
|
||||
* Class ResetPasswordController
|
||||
* @package App\Http\Controllers\Auth
|
||||
*/
|
||||
class ResetPasswordController extends Controller
|
||||
{
|
||||
protected $redirectTo = '/login';
|
||||
|
||||
use ResetsPasswords;
|
||||
|
||||
protected $redirectTo = '/login';
|
||||
|
||||
/**
|
||||
* @param Request $request
|
||||
* @param null $token
|
||||
* @param null $token
|
||||
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
|
||||
*/
|
||||
public function showResetForm(Request $request, $token = null)
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
|
||||
use Illuminate\Foundation\Bus\DispatchesJobs;
|
||||
use Illuminate\Foundation\Validation\ValidatesRequests;
|
||||
use Illuminate\Routing\Controller as BaseController;
|
||||
|
||||
class Controller extends BaseController
|
||||
{
|
||||
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
|
||||
|
||||
/**
|
||||
* Display a view but pull it from the active skin
|
||||
* @param string $template
|
||||
* @param array $vars
|
||||
* @param array $merge_data
|
||||
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
|
||||
*/
|
||||
public function view($template, array $vars=[], $merge_data=[])
|
||||
{
|
||||
return view($template, $vars, $merge_data);
|
||||
}
|
||||
}
|
||||
@@ -2,19 +2,24 @@
|
||||
|
||||
namespace App\Http\Controllers\Frontend;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Repositories\AcarsRepository;
|
||||
use App\Services\GeoService;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
/**
|
||||
* Class AcarsController
|
||||
* @package App\Http\Controllers\Frontend
|
||||
*/
|
||||
class AcarsController extends Controller
|
||||
{
|
||||
private $acarsRepo, $geoSvc;
|
||||
private $acarsRepo,
|
||||
$geoSvc;
|
||||
|
||||
/**
|
||||
* AcarsController constructor.
|
||||
* @param AcarsRepository $acarsRepo
|
||||
* @param GeoService $geoSvc
|
||||
* @param GeoService $geoSvc
|
||||
*/
|
||||
public function __construct(
|
||||
AcarsRepository $acarsRepo,
|
||||
@@ -33,8 +38,8 @@ class AcarsController extends Controller
|
||||
$pireps = $this->acarsRepo->getPositions();
|
||||
$positions = $this->geoSvc->getFeatureForLiveFlights($pireps);
|
||||
|
||||
return view('acars.index',[
|
||||
'pireps' => $pireps,
|
||||
return view('acars.index', [
|
||||
'pireps' => $pireps,
|
||||
'positions' => $positions,
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -2,26 +2,26 @@
|
||||
|
||||
namespace App\Http\Controllers\Frontend;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Repositories\PirepRepository;
|
||||
use App\Repositories\UserRepository;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
/**
|
||||
* Class DashboardController
|
||||
* @package App\Http\Controllers\Frontend
|
||||
*/
|
||||
class DashboardController extends Controller
|
||||
{
|
||||
private $pirepRepo, $userRepo;
|
||||
private $pirepRepo;
|
||||
|
||||
/**
|
||||
* DashboardController constructor.
|
||||
* @param PirepRepository $pirepRepo
|
||||
* @param UserRepository $userRepo
|
||||
*/
|
||||
public function __construct(
|
||||
PirepRepository $pirepRepo,
|
||||
UserRepository $userRepo
|
||||
PirepRepository $pirepRepo
|
||||
) {
|
||||
$this->pirepRepo = $pirepRepo;
|
||||
$this->userRepo = $userRepo;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -34,7 +34,8 @@ class DashboardController extends Controller
|
||||
|
||||
try {
|
||||
$last_pirep = $this->pirepRepo->find($user->last_pirep_id);
|
||||
} catch(\Exception $e) { }
|
||||
} catch (\Exception $e) {
|
||||
}
|
||||
|
||||
return view('dashboard.index', [
|
||||
'user' => $user,
|
||||
|
||||
@@ -2,19 +2,22 @@
|
||||
|
||||
namespace App\Http\Controllers\Frontend;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Models\Bid;
|
||||
use App\Repositories\AirlineRepository;
|
||||
use App\Repositories\AirportRepository;
|
||||
use App\Repositories\Criteria\WhereCriteria;
|
||||
use App\Repositories\FlightRepository;
|
||||
use App\Services\FlightService;
|
||||
use App\Services\GeoService;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Log;
|
||||
use Prettus\Repository\Exceptions\RepositoryException;
|
||||
|
||||
/**
|
||||
* Class FlightController
|
||||
* @package App\Http\Controllers\Frontend
|
||||
*/
|
||||
class FlightController extends Controller
|
||||
{
|
||||
private $airlineRepo,
|
||||
@@ -26,21 +29,19 @@ class FlightController extends Controller
|
||||
* FlightController constructor.
|
||||
* @param AirlineRepository $airlineRepo
|
||||
* @param AirportRepository $airportRepo
|
||||
* @param FlightRepository $flightRepo
|
||||
* @param FlightService $flightSvc
|
||||
* @param GeoService $geoSvc
|
||||
* @param FlightRepository $flightRepo
|
||||
* @param GeoService $geoSvc
|
||||
*/
|
||||
public function __construct(
|
||||
AirlineRepository $airlineRepo,
|
||||
AirportRepository $airportRepo,
|
||||
FlightRepository $flightRepo,
|
||||
FlightService $flightSvc,
|
||||
GeoService $geoSvc
|
||||
) {
|
||||
)
|
||||
{
|
||||
$this->airlineRepo = $airlineRepo;
|
||||
$this->airportRepo = $airportRepo;
|
||||
$this->flightRepo = $flightRepo;
|
||||
$this->flightSvc = $flightSvc;
|
||||
$this->geoSvc = $geoSvc;
|
||||
}
|
||||
|
||||
@@ -66,13 +67,13 @@ class FlightController extends Controller
|
||||
$flights = $this->flightRepo->paginate();
|
||||
|
||||
$saved_flights = Bid::where('user_id', Auth::id())
|
||||
->pluck('flight_id')->toArray();
|
||||
->pluck('flight_id')->toArray();
|
||||
|
||||
return view('flights.index', [
|
||||
'airlines' => $this->airlineRepo->selectBoxList(true),
|
||||
'airports' => $this->airportRepo->selectBoxList(true),
|
||||
'flights' => $flights,
|
||||
'saved' => $saved_flights,
|
||||
'flights' => $flights,
|
||||
'saved' => $saved_flights,
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -87,13 +88,13 @@ class FlightController extends Controller
|
||||
$flights = $this->flightRepo->searchCriteria($request)->paginate();
|
||||
|
||||
$saved_flights = Bid::where('user_id', Auth::id())
|
||||
->pluck('flight_id')->toArray();
|
||||
->pluck('flight_id')->toArray();
|
||||
|
||||
return view('flights.index', [
|
||||
'airlines' => $this->airlineRepo->selectBoxList(true),
|
||||
'airports' => $this->airportRepo->selectBoxList(true),
|
||||
'flights' => $flights,
|
||||
'saved' => $saved_flights,
|
||||
'flights' => $flights,
|
||||
'saved' => $saved_flights,
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -107,13 +108,14 @@ class FlightController extends Controller
|
||||
$flight = $this->flightRepo->find($id);
|
||||
if (empty($flight)) {
|
||||
Flash::error('Flight not found!');
|
||||
|
||||
return redirect(route('frontend.dashboard.index'));
|
||||
}
|
||||
|
||||
$map_features = $this->geoSvc->flightGeoJson($flight);
|
||||
|
||||
return view('flights.show', [
|
||||
'flight' => $flight,
|
||||
'flight' => $flight,
|
||||
'map_features' => $map_features,
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -2,10 +2,14 @@
|
||||
|
||||
namespace App\Http\Controllers\Frontend;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Models\User;
|
||||
use Illuminate\Database\QueryException;
|
||||
|
||||
/**
|
||||
* Class HomeController
|
||||
* @package App\Http\Controllers\Frontend
|
||||
*/
|
||||
class HomeController extends Controller
|
||||
{
|
||||
/**
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
namespace App\Http\Controllers\Frontend;
|
||||
|
||||
use App\Facades\Utils;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\CreatePirepRequest;
|
||||
use App\Http\Requests\UpdatePirepRequest;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Models\Enums\PirepSource;
|
||||
use App\Models\Enums\PirepState;
|
||||
use App\Models\Pirep;
|
||||
@@ -25,7 +25,10 @@ use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Log;
|
||||
|
||||
|
||||
/**
|
||||
* Class PirepController
|
||||
* @package App\Http\Controllers\Frontend
|
||||
*/
|
||||
class PirepController extends Controller
|
||||
{
|
||||
private $aircraftRepo,
|
||||
@@ -40,15 +43,15 @@ class PirepController extends Controller
|
||||
|
||||
/**
|
||||
* PirepController constructor.
|
||||
* @param AircraftRepository $aircraftRepo
|
||||
* @param AirlineRepository $airlineRepo
|
||||
* @param AirportRepository $airportRepo
|
||||
* @param FareService $fareSvc
|
||||
* @param GeoService $geoSvc
|
||||
* @param PirepRepository $pirepRepo
|
||||
* @param AircraftRepository $aircraftRepo
|
||||
* @param AirlineRepository $airlineRepo
|
||||
* @param AirportRepository $airportRepo
|
||||
* @param FareService $fareSvc
|
||||
* @param GeoService $geoSvc
|
||||
* @param PirepRepository $pirepRepo
|
||||
* @param PirepFieldRepository $pirepFieldRepo
|
||||
* @param PirepService $pirepSvc
|
||||
* @param UserService $userSvc
|
||||
* @param PirepService $pirepSvc
|
||||
* @param UserService $userSvc
|
||||
*/
|
||||
public function __construct(
|
||||
AircraftRepository $aircraftRepo,
|
||||
@@ -78,19 +81,19 @@ class PirepController extends Controller
|
||||
* @param null $user
|
||||
* @return array
|
||||
*/
|
||||
public function aircraftList($user=null, $add_blank=false)
|
||||
public function aircraftList($user = null, $add_blank = false)
|
||||
{
|
||||
$aircraft = [];
|
||||
$subfleets = $this->userSvc->getAllowableSubfleets($user);
|
||||
|
||||
if($add_blank) {
|
||||
if ($add_blank) {
|
||||
$aircraft[''] = '';
|
||||
}
|
||||
|
||||
foreach ($subfleets as $subfleet) {
|
||||
$tmp = [];
|
||||
foreach ($subfleet->aircraft as $ac) {
|
||||
$tmp[$ac->id] = $ac['name'] . ' - ' . $ac['registration'];
|
||||
$tmp[$ac->id] = $ac['name'].' - '.$ac['registration'];
|
||||
}
|
||||
|
||||
$aircraft[$subfleet->name] = $tmp;
|
||||
@@ -101,7 +104,7 @@ class PirepController extends Controller
|
||||
|
||||
/**
|
||||
* Save any custom fields found
|
||||
* @param Pirep $pirep
|
||||
* @param Pirep $pirep
|
||||
* @param Request $request
|
||||
*/
|
||||
protected function saveCustomFields(Pirep $pirep, Request $request)
|
||||
@@ -114,8 +117,8 @@ class PirepController extends Controller
|
||||
}
|
||||
|
||||
$custom_fields[] = [
|
||||
'name' => $field->name,
|
||||
'value' => $request->input($field->slug),
|
||||
'name' => $field->name,
|
||||
'value' => $request->input($field->slug),
|
||||
'source' => PirepSource::MANUAL
|
||||
];
|
||||
}
|
||||
@@ -126,17 +129,16 @@ class PirepController extends Controller
|
||||
|
||||
/**
|
||||
* Save the fares that have been specified/saved
|
||||
* @param Pirep $pirep
|
||||
* @param Pirep $pirep
|
||||
* @param Request $request
|
||||
* @throws \Exception
|
||||
*/
|
||||
protected function saveFares(Pirep $pirep, Request $request)
|
||||
{
|
||||
$fares = [];
|
||||
foreach($pirep->aircraft->subfleet->fares as $fare) {
|
||||
|
||||
foreach ($pirep->aircraft->subfleet->fares as $fare) {
|
||||
$field_name = 'fare_'.$fare->id;
|
||||
if(!$request->filled($field_name)) {
|
||||
if (!$request->filled($field_name)) {
|
||||
$count = 0;
|
||||
} else {
|
||||
$count = $request->input($field_name);
|
||||
@@ -144,7 +146,7 @@ class PirepController extends Controller
|
||||
|
||||
$fares[] = [
|
||||
'fare_id' => $fare->id,
|
||||
'count' => $count,
|
||||
'count' => $count,
|
||||
];
|
||||
}
|
||||
|
||||
@@ -167,7 +169,7 @@ class PirepController extends Controller
|
||||
$pireps = $this->pirepRepo->orderBy('created_at', 'desc')->paginate();
|
||||
|
||||
return view('pireps.index', [
|
||||
'user' => $user,
|
||||
'user' => $user,
|
||||
'pireps' => $pireps,
|
||||
]);
|
||||
}
|
||||
@@ -181,13 +183,14 @@ class PirepController extends Controller
|
||||
$pirep = $this->pirepRepo->find($id);
|
||||
if (empty($pirep)) {
|
||||
Flash::error('Pirep not found');
|
||||
|
||||
return redirect(route('frontend.pirep.index'));
|
||||
}
|
||||
|
||||
$map_features = $this->geoSvc->pirepGeoJson($pirep);
|
||||
|
||||
return view('pireps.show', [
|
||||
'pirep' => $pirep,
|
||||
'pirep' => $pirep,
|
||||
'map_features' => $map_features,
|
||||
]);
|
||||
}
|
||||
@@ -203,7 +206,7 @@ class PirepController extends Controller
|
||||
$aircraft = $this->aircraftRepo->find($aircraft_id);
|
||||
|
||||
return view('pireps.fares', [
|
||||
'aircraft' => $aircraft,
|
||||
'aircraft' => $aircraft,
|
||||
'read_only' => false,
|
||||
]);
|
||||
}
|
||||
@@ -217,13 +220,13 @@ class PirepController extends Controller
|
||||
$user = Auth::user();
|
||||
|
||||
return view('pireps.create', [
|
||||
'aircraft' => null,
|
||||
'read_only' => false,
|
||||
'airline_list' => $this->airlineRepo->selectBoxList(true),
|
||||
'aircraft' => null,
|
||||
'read_only' => false,
|
||||
'airline_list' => $this->airlineRepo->selectBoxList(true),
|
||||
'aircraft_list' => $this->aircraftList($user, true),
|
||||
'airport_list' => $this->airportRepo->selectBoxList(true),
|
||||
'pirep_fields' => $this->pirepFieldRepo->all(),
|
||||
'field_values' => [],
|
||||
'airport_list' => $this->airportRepo->selectBoxList(true),
|
||||
'pirep_fields' => $this->pirepFieldRepo->all(),
|
||||
'field_values' => [],
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -242,6 +245,7 @@ class PirepController extends Controller
|
||||
$dupe_pirep = $this->pirepSvc->findDuplicate($pirep);
|
||||
if ($dupe_pirep !== false) {
|
||||
flash()->error('This PIREP has already been filed.');
|
||||
|
||||
return redirect(route('frontend.pireps.create'))->withInput();
|
||||
}
|
||||
|
||||
@@ -268,6 +272,7 @@ class PirepController extends Controller
|
||||
$pirep = $this->pirepRepo->findWithoutFail($id);
|
||||
if (empty($pirep)) {
|
||||
Flash::error('Pirep not found');
|
||||
|
||||
return redirect(route('frontend.pireps.index'));
|
||||
}
|
||||
|
||||
@@ -279,29 +284,29 @@ class PirepController extends Controller
|
||||
$read_only = $pirep->state !== PirepState::PENDING;
|
||||
|
||||
# set the custom fields
|
||||
foreach($pirep->fields as $field) {
|
||||
foreach ($pirep->fields as $field) {
|
||||
$pirep->{$field->slug} = $field->value;
|
||||
}
|
||||
|
||||
# set the fares
|
||||
foreach($pirep->fares as $fare) {
|
||||
foreach ($pirep->fares as $fare) {
|
||||
$field_name = 'fare_'.$fare->fare_id;
|
||||
$pirep->{$field_name} = $fare->count;
|
||||
}
|
||||
|
||||
return view('pireps.edit', [
|
||||
'pirep' => $pirep,
|
||||
'read_only' => $read_only,
|
||||
'aircraft' => $pirep->aircraft,
|
||||
'pirep' => $pirep,
|
||||
'read_only' => $read_only,
|
||||
'aircraft' => $pirep->aircraft,
|
||||
'aircraft_list' => $this->aircraftList(),
|
||||
'airline_list' => $this->airlineRepo->selectBoxList(),
|
||||
'airport_list' => $this->airportRepo->selectBoxList(),
|
||||
'pirep_fields' => $this->pirepFieldRepo->all(),
|
||||
'airline_list' => $this->airlineRepo->selectBoxList(),
|
||||
'airport_list' => $this->airportRepo->selectBoxList(),
|
||||
'pirep_fields' => $this->pirepFieldRepo->all(),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $id
|
||||
* @param $id
|
||||
* @param UpdatePirepRequest $request
|
||||
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
|
||||
* @throws \Prettus\Validator\Exceptions\ValidatorException
|
||||
@@ -313,6 +318,7 @@ class PirepController extends Controller
|
||||
|
||||
if (empty($pirep)) {
|
||||
Flash::error('Pirep not found');
|
||||
|
||||
return redirect(route('admin.pireps.index'));
|
||||
}
|
||||
|
||||
@@ -336,6 +342,7 @@ class PirepController extends Controller
|
||||
$this->saveFares($pirep, $request);
|
||||
|
||||
Flash::success('Pirep updated successfully.');
|
||||
|
||||
return redirect(route('frontend.pireps.show', ['id' => $pirep->id]));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
namespace App\Http\Controllers\Frontend;
|
||||
|
||||
use App\Facades\Utils;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Models\User;
|
||||
use App\Repositories\AirlineRepository;
|
||||
use App\Repositories\AirportRepository;
|
||||
@@ -17,6 +17,10 @@ use Jackiedo\Timezonelist\Facades\Timezonelist;
|
||||
use Log;
|
||||
use Validator;
|
||||
|
||||
/**
|
||||
* Class ProfileController
|
||||
* @package App\Http\Controllers\Frontend
|
||||
*/
|
||||
class ProfileController extends Controller
|
||||
{
|
||||
private $airlineRepo,
|
||||
@@ -27,7 +31,7 @@ class ProfileController extends Controller
|
||||
* ProfileController constructor.
|
||||
* @param AirlineRepository $airlineRepo
|
||||
* @param AirportRepository $airportRepo
|
||||
* @param UserRepository $userRepo
|
||||
* @param UserRepository $userRepo
|
||||
*/
|
||||
public function __construct(
|
||||
AirlineRepository $airlineRepo,
|
||||
@@ -44,14 +48,14 @@ class ProfileController extends Controller
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
if(setting('pilots.home_hubs_only')) {
|
||||
if (setting('pilots.home_hubs_only')) {
|
||||
$airports = $this->airportRepo->findWhere(['hub' => true]);
|
||||
} else {
|
||||
$airports = $this->airportRepo->all();
|
||||
}
|
||||
|
||||
return view('profile.index', [
|
||||
'user' => Auth::user(),
|
||||
'user' => Auth::user(),
|
||||
'airports' => $airports,
|
||||
]);
|
||||
}
|
||||
@@ -65,13 +69,14 @@ class ProfileController extends Controller
|
||||
$user = User::where('id', $id)->first();
|
||||
if (empty($user)) {
|
||||
Flash::error('User not found!');
|
||||
|
||||
return redirect(route('frontend.dashboard.index'));
|
||||
}
|
||||
|
||||
$airports = $this->airportRepo->all();
|
||||
|
||||
return view('profile.index', [
|
||||
'user' => $user,
|
||||
'user' => $user,
|
||||
'airports' => $airports,
|
||||
]);
|
||||
}
|
||||
@@ -86,6 +91,7 @@ class ProfileController extends Controller
|
||||
$user = User::where('id', Auth::user()->id)->first();
|
||||
if (empty($user)) {
|
||||
Flash::error('User not found!');
|
||||
|
||||
return redirect(route('frontend.dashboard.index'));
|
||||
}
|
||||
|
||||
@@ -112,10 +118,10 @@ class ProfileController extends Controller
|
||||
$user = $this->userRepo->findWithoutFail($id);
|
||||
|
||||
$validator = Validator::make($request->toArray(), [
|
||||
'name' => 'required',
|
||||
'email' => 'required|unique:users,email,'.$id,
|
||||
'name' => 'required',
|
||||
'email' => 'required|unique:users,email,'.$id,
|
||||
'airline_id' => 'required',
|
||||
'password' => 'confirmed'
|
||||
'password' => 'confirmed'
|
||||
]);
|
||||
|
||||
if ($validator->fails()) {
|
||||
@@ -137,6 +143,7 @@ class ProfileController extends Controller
|
||||
$this->userRepo->update($req_data, $id);
|
||||
|
||||
Flash::success('Profile updated successfully!');
|
||||
|
||||
return redirect(route('frontend.profile.index'));
|
||||
}
|
||||
|
||||
@@ -154,6 +161,7 @@ class ProfileController extends Controller
|
||||
$user->save();
|
||||
|
||||
flash('New API key generated!')->success();
|
||||
|
||||
return redirect(route('frontend.profile.index'));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,10 +2,14 @@
|
||||
|
||||
namespace App\Http\Controllers\Frontend;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Interfaces\Controller;
|
||||
use App\Repositories\UserRepository;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
/**
|
||||
* Class UserController
|
||||
* @package App\Http\Controllers\Frontend
|
||||
*/
|
||||
class UserController extends Controller
|
||||
{
|
||||
private $userRepo;
|
||||
@@ -26,9 +30,9 @@ class UserController extends Controller
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
return view('users.index',[
|
||||
return view('users.index', [
|
||||
'country' => new \League\ISO3166\ISO3166(),
|
||||
'users' => $this->userRepo->orderBy('name', 'desc')->paginate(),
|
||||
'users' => $this->userRepo->orderBy('name', 'desc')->paginate(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user