diff --git a/app/Classes/General/Eloquent/Filters/DoesNotHaveGroup.php b/app/Classes/General/Eloquent/Filters/DoesNotHaveGroup.php new file mode 100644 index 00000000..2c82d013 --- /dev/null +++ b/app/Classes/General/Eloquent/Filters/DoesNotHaveGroup.php @@ -0,0 +1,22 @@ +whereDoesntHave('transactions', function ($transaction) use ($value) { + $transaction->whereHas('groupTransaction'); + }); + } +} diff --git a/app/Classes/Modules/Transactions/ControllersLogic/DeleteGroupLogic.php b/app/Classes/Modules/Transactions/ControllersLogic/DeleteGroupLogic.php index 601a1530..b2f92a35 100644 --- a/app/Classes/Modules/Transactions/ControllersLogic/DeleteGroupLogic.php +++ b/app/Classes/Modules/Transactions/ControllersLogic/DeleteGroupLogic.php @@ -10,6 +10,7 @@ use App\Classes\ValueObjects\Constants\ApprovalStatus; use App\Http\Resources\GroupResource; use Illuminate\Http\JsonResponse; use Illuminate\Http\Request; +use Illuminate\Support\Facades\Log; class DeleteGroupLogic extends AbstractControllerLogic { @@ -61,13 +62,17 @@ class DeleteGroupLogic extends AbstractControllerLogic $bill = $item; $payment = $bill->owner; $group->transactions()->detach($bill->id); - $this->updatesTransactionStatus->execute($payment, ApprovalStatus::APPROVED); + + $trns = $payment->transactions()->with('groupTransaction')->get(); + if(count($trns) <= 1){ + $this->updatesTransactionStatus->execute($payment, ApprovalStatus::APPROVED); + } $this->deletesTransaction->execute($bill); } $group->delete(); - + return $this->resourceResponse(new GroupResource($group)); } -} \ No newline at end of file +} diff --git a/resources/assets/vue/components/bookings/sections/SupplierPendingOrdersSectionComponent.vue b/resources/assets/vue/components/bookings/sections/SupplierPendingOrdersSectionComponent.vue index 2adb9a43..964bc409 100644 --- a/resources/assets/vue/components/bookings/sections/SupplierPendingOrdersSectionComponent.vue +++ b/resources/assets/vue/components/bookings/sections/SupplierPendingOrdersSectionComponent.vue @@ -117,13 +117,13 @@