diff --git a/app/Classes/Modules/Delivery/ControllersLogic/CancelDeliveryOrderLogic.php b/app/Classes/Modules/Delivery/ControllersLogic/CancelDeliveryOrderLogic.php
new file mode 100644
index 00000000..e52c966b
--- /dev/null
+++ b/app/Classes/Modules/Delivery/ControllersLogic/CancelDeliveryOrderLogic.php
@@ -0,0 +1,58 @@
+ 'Cancelled Order',
+ 'message' => 'You have successfully cancelled an order'
+ ];
+ }
+
+ /** @var CancelsOrder */
+ private $cancelsOrder;
+
+ /** @var FetchesOrder */
+ private $fetchesOrder;
+
+ /**
+ * CancelDeliveryOrderLogic constructor.
+ * @param CancelsOrder $cancelsOrder
+ * @param FetchesOrder $fetchesOrder
+ */
+ public function __construct(CancelsOrder $cancelsOrder, FetchesOrder $fetchesOrder)
+ {
+ $this->cancelsOrder = $cancelsOrder;
+ $this->fetchesOrder = $fetchesOrder;
+ }
+
+ /**
+ * @param Request $request
+ * @return JsonResponse
+ * @throws \App\Classes\Exceptions\MalformedRequestException
+ */
+ public function logic(Request $request): JsonResponse
+ {
+
+ /** @var Order $order */
+ $order = $this->fetchesOrder->execute(['id' => $request->route('id')]);
+
+ return $this->resourceResponse(new DeliveryOrderResource($this->cancelsOrder->execute($order)));
+
+ }
+}
diff --git a/app/Classes/Modules/Exports/Services/ExportsDeliveryOrders.php b/app/Classes/Modules/Exports/Services/ExportsDeliveryOrders.php
index 03525eeb..2297811f 100644
--- a/app/Classes/Modules/Exports/Services/ExportsDeliveryOrders.php
+++ b/app/Classes/Modules/Exports/Services/ExportsDeliveryOrders.php
@@ -63,7 +63,11 @@ class ExportsDeliveryOrders implements FromQuery, WithHeadings, WithHeadingRow,
*/
public function query()
{
- return Order::where('type', OrderType::LAST_MILE_DELIVERY);
+ $selectedIds = array_map(function($value){
+ return ['id' => $value];
+ }, json_decode($this->request->input('ids')));
+
+ return Order::where('type', OrderType::LAST_MILE_DELIVERY)->whereIn('id', $selectedIds);
}
/**
@@ -98,7 +102,7 @@ class ExportsDeliveryOrders implements FromQuery, WithHeadings, WithHeadingRow,
'Sender',
$order->reference,
$package->quantity,
- $package->weight,
+ $package->weight * $package->quantity,
1,
1,
1,
diff --git a/app/Http/Controllers/Delivery/CancelDeliveryOrderController.php b/app/Http/Controllers/Delivery/CancelDeliveryOrderController.php
new file mode 100644
index 00000000..6dd69aa6
--- /dev/null
+++ b/app/Http/Controllers/Delivery/CancelDeliveryOrderController.php
@@ -0,0 +1,20 @@
+execute($request);
+ }
+}
\ No newline at end of file
diff --git a/resources/assets/vue/components/orders/forms/CancelDeliveryOrderFormComponent.vue b/resources/assets/vue/components/orders/forms/CancelDeliveryOrderFormComponent.vue
new file mode 100644
index 00000000..3dda284b
--- /dev/null
+++ b/resources/assets/vue/components/orders/forms/CancelDeliveryOrderFormComponent.vue
@@ -0,0 +1,39 @@
+
+ Are you Sure?
+