#57 user can save flights

This commit is contained in:
Nabeel Shahzad
2017-08-03 21:02:02 -05:00
parent 9156b40979
commit 9d53c0103f
8 changed files with 149 additions and 7 deletions

View File

@@ -7,6 +7,8 @@ use Illuminate\Support\Facades\Auth;
use App\Repositories\FlightRepository;
use App\Http\Controllers\AppBaseController;
use App\Models\UserFlight;
use Mockery\Exception;
class FlightController extends AppBaseController
{
@@ -29,29 +31,68 @@ class FlightController extends AppBaseController
// TODO: PAGINATION
$flights = $this->flightRepo->findWhere($where);
$saved_flights = UserFlight::where('user_id', Auth::id())
->pluck('flight_id')->toArray();
return $this->view('flights.index', [
'flights' => $flights,
'saved' => $saved_flights,
]);
}
public function show($id)
public function search(Request $request)
{
}
public function search(Request $request) {
$where = ['active' => true];
$flights = $this->flightRepo->findWhere($where);
// TODO: PAGINATION
$saved_flights = UserFlight::where('user_id', Auth::id())
->pluck('flight_id')->toArray();
return $this->view('flights.index', [
'flights' => $flights,
'saved' => $saved_flights,
]);
}
public function save(Request $request)
{
$user_id = Auth::id();
$flight_id = $request->input('flight_id');
$action = $request->input('action');
$cols = ['user_id' => $user_id, 'flight_id' => $flight_id];
if(strtolower($action) == 'save') {
$uf = UserFlight::create($cols);
$uf->save();
return response()->json([
'id' => $uf->id,
'message' => 'Saved!',
]);
}
elseif (strtolower($action) == 'remove') {
try {
$uf = UserFlight::where($cols)->first();
$uf->delete();
} catch (Exception $e) { }
return response()->json([
'message' => 'Deleted!'
]);
}
}
public function update()
{
}
public function show($id)
{
}
}

View File

@@ -105,6 +105,11 @@ class User extends Authenticatable
return $this->belongsTo('App\Models\Airport', 'curr_airport_id');
}
public function flights()
{
return $this->hasMany('App\Models\UserFlight', 'user_id');
}
public function pireps()
{
return $this->hasMany('App\Models\Pirep', 'user_id');

33
app/Models/UserFlight.php Normal file
View File

@@ -0,0 +1,33 @@
<?php
namespace App\Models;
use Eloquent as Model;
/**
* @package App\Models
*/
class UserFlight extends Model
{
public $table = 'user_flights';
public $timestamps = false;
public $fillable
= [
'user_id',
'flight_id',
];
/**
* Relationships
*/
public function flight()
{
return $this->belongsTo('App\Models\Flight', 'flight_id');
}
public function user()
{
return $this->belongsTo('App\Models\User', 'user_id');
}
}