diff --git a/resources/views/bookings/bookings-create.blade.php b/resources/views/bookings/bookings-create.blade.php new file mode 100644 index 0000000..c8dbf8b --- /dev/null +++ b/resources/views/bookings/bookings-create.blade.php @@ -0,0 +1,3 @@ +
+asda +
diff --git a/resources/views/bookings/bookings-listing.blade.php b/resources/views/bookings/bookings-listing.blade.php new file mode 100644 index 0000000..5cb0a47 --- /dev/null +++ b/resources/views/bookings/bookings-listing.blade.php @@ -0,0 +1,58 @@ +
+ + + Item list + + New courier booking + + @if($bookings->count()) + + + + Booking ID + Date + Pickup time + Info + Shipments + Options + + + + @foreach($bookings as $booking) + + + + {{ $booking->order_id }} + + + {{$booking->pickup_from->format('d-m-Y')}} + + {{ $booking->pickup_from->format("H:i") }} + - + {{ $booking->pickup_to->format("H:i") }} + {{ $booking->additional_info }} + {{$booking->shipments->count()}} + + + Cancel + + + + @endforeach + + + +
+ +
+ @else + + @endif + +
+ +
diff --git a/resources/views/bookings/bookings-show.blade.php b/resources/views/bookings/bookings-show.blade.php new file mode 100644 index 0000000..2ae15e1 --- /dev/null +++ b/resources/views/bookings/bookings-show.blade.php @@ -0,0 +1,52 @@ +
+ + Courier book: {{$booking->order_id}} + Courier has been booked for {{$booking->pickup_from->format('d-m-Y')}} + from {{$booking->pickup_from->format('H:i')}} + to {{$booking->pickup_to->format('H:i')}}. + + + + + Shipments in booking + + + + + + Number + Status + Receiver name + Receiver city + Items + Type + + + @foreach($booking->shipments as $shipment) + + + + {{$shipment->number}} + + + + + + {{$shipment->tracking->first()?->pivot->event_timestamp->format('d-m-Y H:i')}} + + + {{$shipment->receiver_name}} + {{$shipment->receiver_city}} + {{$shipment->items->count()}} + + + + + @endforeach + + + +
+ Cancel booking +
+
diff --git a/resources/views/bookings/cancel-booking-modal.blade.php b/resources/views/bookings/cancel-booking-modal.blade.php new file mode 100644 index 0000000..8c74669 --- /dev/null +++ b/resources/views/bookings/cancel-booking-modal.blade.php @@ -0,0 +1,11 @@ + + Cancel booking confirmation + Are you sure you want to cancel courier booking ({{$booking->order_id}})?
+ Courier was booked for {{$booking->pickup_from->format('d-m-Y')}} ({{$booking->pickup_from->format('H:i')}}-{{$booking->pickup_to->format('H:i')}}) +
+ No + + Yes, remove booking + +
+
diff --git a/resources/views/bookings/index.blade.php b/resources/views/bookings/index.blade.php index fa760b3..8e3dd92 100644 --- a/resources/views/bookings/index.blade.php +++ b/resources/views/bookings/index.blade.php @@ -35,8 +35,11 @@ {{ $booking->additional_info }} {{$booking->shipments->count()}} -
@csrf @method('DELETE')
- + Cancel
diff --git a/routes/web.php b/routes/web.php index 300d847..ce2d47d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -2,13 +2,15 @@ use xGrz\Dhl24UI\Http\Controllers\CostController; -use xGrz\Dhl24UI\Http\Controllers\CourierBookingsController; use xGrz\Dhl24UI\Http\Controllers\DHLLabelController; use xGrz\Dhl24UI\Http\Controllers\DHLReportController; use xGrz\Dhl24UI\Http\Controllers\SettingsContentsController; use xGrz\Dhl24UI\Http\Controllers\SettingsController; use xGrz\Dhl24UI\Http\Controllers\SettingsTrackingStatesController; use xGrz\Dhl24UI\Http\Controllers\SingleShipmentBookingController; +use xGrz\Dhl24UI\Livewire\Bookings\DHLBookingsCreate; +use xGrz\Dhl24UI\Livewire\Bookings\DHLBookingsListing; +use xGrz\Dhl24UI\Livewire\Bookings\DHLBookingsShow; use xGrz\Dhl24UI\Livewire\CostsCenter\DHLCostsCenterListing; use xGrz\Dhl24UI\Livewire\CostsCenter\DHLCostsCenterShow; use xGrz\Dhl24UI\Livewire\Shipments\DHLShipmentsCreate; @@ -37,9 +39,12 @@ Route::get('report/{date}/{type}', DHLReportController::class)->name('report') ->where('date', '[0-9]{2}-[0-9]{2}-[0-9]{4}'); + Route::get('bookings', DHLBookingsListing::class)->name('bookings.index'); + Route::get('bookings/create', DHLBookingsCreate::class)->name('bookings.create'); + Route::get('bookings/{booking}', DHLBookingsShow::class)->name('bookings.show'); //Route::resource('/shipments', ShipmentsController::class); - Route::resource('/bookings', CourierBookingsController::class); + //Route::resource('/bookings', CourierBookingsController::class); Route::prefix('settings') ->name('settings.') ->group(function () { diff --git a/src/DHLUIServiceProvider.php b/src/DHLUIServiceProvider.php index 6c661e9..e12578a 100644 --- a/src/DHLUIServiceProvider.php +++ b/src/DHLUIServiceProvider.php @@ -5,6 +5,9 @@ use Illuminate\Support\ServiceProvider; use Livewire\Livewire; +use xGrz\Dhl24UI\Livewire\Bookings\DHLBookingsListing; +use xGrz\Dhl24UI\Livewire\Bookings\DHLBookingsShow; +use xGrz\Dhl24UI\Livewire\Bookings\DHLCancelBookingModal; use xGrz\Dhl24UI\Livewire\CostsCenter\DHLCostsCenterCreate; use xGrz\Dhl24UI\Livewire\CostsCenter\DHLCostsCenterDelete; use xGrz\Dhl24UI\Livewire\CostsCenter\DHLCostsCenterEdit; @@ -64,6 +67,11 @@ public function boot(): void Livewire::component('daily-report', DHLDailyReport::class); + Livewire::component('bookings-listing', DHLBookingsListing::class); + Livewire::component('bookings-show', DHLBookingsShow::class); + Livewire::component('cancel-booking-modal', DHLCancelBookingModal::class); + + // Livewire::component('create-shipment', CreateShipment::class); Livewire::component('error-modal', DHLErrorModal::class); diff --git a/src/Livewire/Bookings/DHLBookingsCreate.php b/src/Livewire/Bookings/DHLBookingsCreate.php new file mode 100644 index 0000000..3183865 --- /dev/null +++ b/src/Livewire/Bookings/DHLBookingsCreate.php @@ -0,0 +1,14 @@ + DHLCourierBooking::orderByDesc('pickup_from')->with('shipments')->latest()->paginate(), + ]) + ->extends('p::app') + ->section('content'); + } +} diff --git a/src/Livewire/Bookings/DHLBookingsShow.php b/src/Livewire/Bookings/DHLBookingsShow.php new file mode 100644 index 0000000..6400eb4 --- /dev/null +++ b/src/Livewire/Bookings/DHLBookingsShow.php @@ -0,0 +1,20 @@ +extends('p::app') + ->section('content'); + } +} diff --git a/src/Livewire/Bookings/DHLCancelBookingModal.php b/src/Livewire/Bookings/DHLCancelBookingModal.php new file mode 100644 index 0000000..cf6acbd --- /dev/null +++ b/src/Livewire/Bookings/DHLCancelBookingModal.php @@ -0,0 +1,35 @@ +cancel($this->booking); + session()->flash('success', 'Courier booking has been cancelled.'); + $this->redirectRoute('dhl24.bookings.index'); + } catch (DHL24Exception $e) { + $this->dispatch('openModal', component: 'error-modal', arguments: [ + 'title' => 'Shipment cannot be deleted', + 'message' => $e->getMessage(), + ]); + } + + } +}