cancel bookings

This commit is contained in:
Omair Saleh
2018-12-31 10:37:31 +08:00
parent 863b527fc3
commit cf3e19ac29
4 changed files with 245 additions and 234 deletions
+47 -170
View File
@@ -23,30 +23,10 @@ class BookingController extends Controller
{
public function index(){
$user = Auth::user();
$bookings = Booking::select('user_id', 'id', 'created_at', 'is_cancel', 'status', 'rate', 'term', 'amount', 'bia', 'verification_status')
->where('user_id', Auth::user()->id)
->where('is_cancel', 0)
->where(function ($query) {
$query->where(function($query){
$query->where('status', '<', '5')
->where(function ($query) {
$query->where('term', '=', 'x2_cheque')
->orwhere('term', '=', 'x2_ba')
->orwhere('term', '=', 'x2_cash');
});
})
->orwhere(function ($query) {
$query->where('status', '<', '7')
->where(function ($query) {
$query->where('term', '=', 'x1_cheque')
->orwhere('term', '=', 'x1_ba')
->orwhere('term', '=', 'x1_cash');
});
});
})
->orderby('updated_at','desc')
->paginate(10);
$bookings = Booking::UserBooking(Auth::user()->id)->InCompleteOrders()
->where('is_cancel', 0)
->orderby('updated_at','desc')
->paginate(10);
// reformat to fit frontend structure
@@ -105,28 +85,7 @@ class BookingController extends Controller
}
public function userComplete(){
$user = Auth::user();
$bookings = Booking::where('user_id', $user->id)
->where(function ($query) {
$query->where(function ($query) {
$query->where('status', '5')
->where(function ($query) {
$query->where('term', 'x2_cash')
->orwhere('term', 'x2_cheque')
->orwhere('term', 'x2_ba');
});
})
->orwhere(function ($query) {
$query->where('status', '7')
->where(function ($query) {
$query->where('term', 'x1_cash')
->orwhere('term', 'x1_cheque')
->orwhere('term', 'x1_ba');
});
});
})
->orderby('updated_at','desc')
->paginate(10);
$bookings = Booking::UserBooking(Auth::user()->id)->CompleteOrders()->orderby('updated_at','desc')->paginate(10);
// reformat to fit frontend structure
foreach ($bookings as $booking) {
@@ -151,36 +110,7 @@ class BookingController extends Controller
if ($booking->term == "x2_cash" || $booking->term == "x2_cheque" || $booking->term == "x2_ba") {
$booking->track_status = "(". $booking->status ."/5)";
}
switch ($booking->status) {
case 1:
$status_desc = "Order in progress";
break;
case 2:
$status_desc = "Waiting for payment";
break;
case 3:
$status_desc = "Waiting verification";
break;
case 4:
$status_desc = "Processing transfer";
break;
case 5:
$status_desc = "Transfer Complete, please upload your PO";
if ($booking->term == "x2_cash" || $booking->term == "x2_cheque" || $booking->term == "x2_ba"){
$status_desc = "Order Completed";
}
break;
case 6:
$status_desc = "Processing invoice";
break;
case 7:
$status_desc = "Order Completed";
break;
default:
$status_desc = "";
}
$booking->status_desc = $status_desc;
$booking->status_desc = "Order Completed";
$booking->marking = $booking->user->marking;
}
@@ -188,28 +118,7 @@ class BookingController extends Controller
}
public function adminIndex(?string $userId = null){
$user = Auth::user();
$bookings = Booking::UserBooking($userId)->select('user_id', 'id', 'created_at', 'admin_status', 'rate', 'term', 'amount', 'bia', 'verification_status')
->where(function ($query) {
$query->where(function ($query) {
$query->where('admin_status', '<', '6')
->where(function ($query) {
$query->where('term', 'x2_cash')
->orwhere('term', 'x2_cheque')
->orwhere('term', 'x2_ba');
});
})
->orwhere(function ($query) {
$query->where('status', '<', '7')
->where(function ($query) {
$query->where('term', 'x1_cash')
->orwhere('term', 'x1_cheque')
->orwhere('term', 'x1_ba');
});
});
})
->orderby('updated_at','desc')
->paginate(30);
$bookings = Booking::UserBooking($userId)->InCompleteOrders()->orderby('updated_at', "desc")->paginate(30);
// reformat to fit frontend structure
foreach ($bookings as $booking) {
@@ -275,27 +184,7 @@ class BookingController extends Controller
public function adminBookComplete(?string $userId = null){
$user = Auth::user();
$bookings = Booking::UserBooking($userId)->select('user_id', 'id', 'created_at', 'admin_status', 'rate', 'term', 'amount', 'bia', 'verification_status')
->where(function ($query) {
$query->where(function ($query) {
$query->where('admin_status', '6')
->where(function ($query) {
$query->where('term', 'x2_cash')
->orwhere('term', 'x2_cheque')
->orwhere('term', 'x2_ba');
});
})
->orwhere(function ($query) {
$query->where('admin_status', '7')
->where(function ($query) {
$query->where('term', 'x1_cash')
->orwhere('term', 'x1_cheque')
->orwhere('term', 'x1_ba');
});
});
})
->orderby('updated_at','desc')
->paginate(10);
$bookings = Booking::UserBooking($userId)->CompleteOrders()->orderby('updated_at', "desc")->paginate(10);
// reformat to fit frontend structure
foreach ($bookings as $booking) {
// set timeout
@@ -321,39 +210,8 @@ class BookingController extends Controller
$booking->track_status = "(". $booking->admin_status ."/7)";
}
switch ($booking->admin_status) {
case 1:
$status_desc = "Waiting customer upload bank slip";
break;
case 2:
$status_desc = "Verify user bank slip";
break;
case 3:
$status_desc = "Generate supplier booking report";
break;
case 4:
$status_desc = "Supplier booking report. Please confirm with your booking.";
break;
case 5:
$status_desc = "Please, upload China Bankslip";
break;
case 6:
$status_desc = "Waiting customer to upload purchase order";
if ($booking->term == "x2_cash" || $booking->term == "x2_cheque" || $booking->term == "x2_ba"){
$status_desc = "Order Completed";
}
break;
case 7:
$status_desc = "Customer has uploaded purchase order, please upload invoice";
break;
case 8:
$status_desc = "Booking Completed";
break;
default:
$status_desc = "";
}
$booking->marking = $booking->user->marking;
$booking->status_desc = $status_desc;
$booking->status_desc = "Booking Completed";
}
return $bookings;
}
@@ -750,30 +608,49 @@ class BookingController extends Controller
return response()->json($book_id, 204);
}
// public function userCanceledBooking(Request $request)
// {
// $user = Auth::user();
// $bookings = Booking::select('user_id', 'id', 'created_at', 'is_cancel', 'status', 'rate', 'term', 'amount', 'bia', 'verification_status')
// ->where('user_id', Auth::user()->id)
// ->where('is_cancel', 1)
// ->get();
// return $bookings;
public function CancelledBookings()
{
$bookings = Booking::where('is_cancel', 1)->paginate(10);
foreach ($bookings as $booking) {
// set timeout
$date1 = new DateTime($booking->created_at);
$date2 = new DateTime();
$time_in_seconds = SettingCredit::orderby('updated_at','desc')->first()->time_limit;
$difference_in_seconds = ($date1->format('U') + $time_in_seconds) - ($date2->format('U'));
$booking->timeout = $difference_in_seconds;
// }
// TODO : you can make it better
if($difference_in_seconds < 0 ){
$booking->timeout = 0;
}
// public function cancelBooking(Request $request, $book_id)
// {
// $user = Auth::user();
// $bookings = DB::table('booking')
// ->where('user_id', Auth::user()->id);
// TODO : transfer_amount change name to bia
$booking->transfer_amount = $booking->bia;
// $bookings->is_cancel = 1;
$term = $booking->term;
if ($booking->term == "x2_cash" || $booking->term == "x2_cheque" || $booking->term == "x2_ba"){
$booking->track_status = "(". $booking->admin_status ."/6)";
}
else{
$booking->track_status = "(". $booking->admin_status ."/7)";
}
// if($booking->save()){
// return response()->json(['message'=> 'booking cancelled'], 200);
// }
$booking->marking = $booking->user->marking;
$booking->status_desc = "Booking Canclled";
}
return $bookings;
// }
}
public function cancelBooking($book_id)
{
$booking = Booking::findOrFail($book_id);
$booking->is_cancel = 1;
if($booking->save()){
return response()->json(['message'=> 'booking cancelled'], 200);
}
}
public function calculation(Request $request)
{