Merge pull request #3726 from devansh-webkul/invoice_shipment_hard_delete_issue
Fixed on deleting customer their invoice and shipment records are getting disappeared #3702
This commit is contained in:
commit
b31d122924
|
|
@ -129,15 +129,17 @@
|
|||
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
<p>{{ $invoice->order->billing_address->company_name ?? '' }}</p>
|
||||
<p>{{ $invoice->order->billing_address->name }}</p>
|
||||
<p>{{ $invoice->order->billing_address->address1 }}</p>
|
||||
<p>{{ $invoice->order->billing_address->city }}</p>
|
||||
<p>{{ $invoice->order->billing_address->state }}</p>
|
||||
<p>{{ core()->country_name($invoice->order->billing_address->country) }} {{ $invoice->order->billing_address->postcode }}</p>
|
||||
{{ __('shop::app.checkout.onepage.contact') }} : {{ $invoice->order->billing_address->phone }}
|
||||
</td>
|
||||
@if ($invoice->order->billing_address)
|
||||
<td>
|
||||
<p>{{ $invoice->order->billing_address->company_name ?? '' }}</p>
|
||||
<p>{{ $invoice->order->billing_address->name }}</p>
|
||||
<p>{{ $invoice->order->billing_address->address1 }}</p>
|
||||
<p>{{ $invoice->order->billing_address->city }}</p>
|
||||
<p>{{ $invoice->order->billing_address->state }}</p>
|
||||
<p>{{ core()->country_name($invoice->order->billing_address->country) }} {{ $invoice->order->billing_address->postcode }}</p>
|
||||
{{ __('shop::app.checkout.onepage.contact') }} : {{ $invoice->order->billing_address->phone }}
|
||||
</td>
|
||||
@endif
|
||||
|
||||
@if ($invoice->order->shipping_address)
|
||||
<td>
|
||||
|
|
|
|||
|
|
@ -107,14 +107,14 @@
|
|||
<div class="section-content">
|
||||
<div class="row">
|
||||
<span class="title">{{ __('admin::app.sales.orders.customer-name') }}</span>
|
||||
<span class="value">{{ $invoice->address->name }}</span>
|
||||
<span class="value">{{ $invoice->order->customer_full_name }}</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.invoice.customer_name.after', ['order' => $order]) !!}
|
||||
|
||||
<div class="row">
|
||||
<span class="title">{{ __('admin::app.sales.orders.email') }}</span>
|
||||
<span class="value">{{ $invoice->address->email }}</span>
|
||||
<span class="value">{{ $invoice->order->customer_email }}</span>
|
||||
</div>
|
||||
|
||||
{!! view_render_event('sales.invoice.customer_email.after', ['order' => $order]) !!}
|
||||
|
|
@ -124,36 +124,40 @@
|
|||
</div>
|
||||
</accordian>
|
||||
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.address') }}'" :active="true">
|
||||
<div slot="body" style="display: flex; overflow:auto;">
|
||||
@if ($order->billing_address || $order->shipping_address)
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.address') }}'" :active="true">
|
||||
<div slot="body" style="display: flex; overflow:auto;">
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title" style="width: 380px;">
|
||||
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
|
||||
</div>
|
||||
@if ($order->billing_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title" style="width: 380px;">
|
||||
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content" style="width: 380px;">
|
||||
@include ('admin::sales.address', ['address' => $order->billing_address])
|
||||
<div class="section-content" style="width: 380px;">
|
||||
@include ('admin::sales.address', ['address' => $order->billing_address])
|
||||
|
||||
{!! view_render_event('sales.invoice.billing_address.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
{!! view_render_event('sales.invoice.billing_address.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale-section" style="margin: 0 0 0 300px;">
|
||||
<div class="secton-title" style="width: 400px;">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content" style="width: 400px;">
|
||||
@include ('admin::sales.address', ['address' => $order->shipping_address])
|
||||
|
||||
{!! view_render_event('sales.invoice.shipping_address.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale-section" style="margin: 0 0 0 300px;">
|
||||
<div class="secton-title" style="width: 400px;">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content" style="width: 400px;">
|
||||
@include ('admin::sales.address', ['address' => $order->shipping_address])
|
||||
|
||||
{!! view_render_event('sales.invoice.shipping_address.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</accordian>
|
||||
</accordian>
|
||||
@endif
|
||||
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.products-ordered') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
|
|
|||
|
|
@ -284,6 +284,7 @@
|
|||
<tbody>
|
||||
|
||||
@foreach ($order->items as $item)
|
||||
|
||||
<tr>
|
||||
<td>
|
||||
{{ $item->getTypeInstance()->getOrderedItem($item)->sku }}
|
||||
|
|
@ -467,13 +468,12 @@
|
|||
</thead>
|
||||
|
||||
<tbody>
|
||||
|
||||
@foreach ($order->invoices as $invoice)
|
||||
<tr>
|
||||
<td>#{{ $invoice->id }}</td>
|
||||
<td>{{ $invoice->created_at }}</td>
|
||||
<td>#{{ $invoice->order->increment_id }}</td>
|
||||
<td>{{ $invoice->address->name }}</td>
|
||||
<td>{{ $invoice->order->customer_full_name }}</td>
|
||||
<td>
|
||||
@if($invoice->state == "paid")
|
||||
{{ __('admin::app.sales.orders.invoice-status-paid') }}
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@
|
|||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $shipment->address->name }}
|
||||
{{ $shipment->order->customer_full_name }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
|
@ -97,7 +97,7 @@
|
|||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $shipment->address->email }}
|
||||
{{ $shipment->order->customer_email }}
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -106,37 +106,41 @@
|
|||
</div>
|
||||
</accordian>
|
||||
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.address') }}'" :active="true">
|
||||
<div slot="body">
|
||||
@if ($order->billing_address || $order->shipping_address)
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.address') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
|
||||
</div>
|
||||
@if ($order->billing_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.billing-address') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
<div class="section-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->billing_address])
|
||||
@include ('admin::sales.address', ['address' => $order->billing_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->shipping_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if ($order->shipping_address)
|
||||
<div class="sale-section">
|
||||
<div class="secton-title">
|
||||
<span>{{ __('admin::app.sales.orders.shipping-address') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="section-content">
|
||||
|
||||
@include ('admin::sales.address', ['address' => $order->shipping_address])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
</accordian>
|
||||
</accordian>
|
||||
@endif
|
||||
|
||||
<accordian :title="'{{ __('admin::app.sales.orders.payment-and-shipping') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
|
|
|||
|
|
@ -0,0 +1,53 @@
|
|||
<?php
|
||||
|
||||
use Webkul\Sales\Models\Invoice;
|
||||
use Webkul\Sales\Models\Shipment;
|
||||
use Webkul\Sales\Models\OrderAddress;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class RemovingForiegnKey extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('invoices', static function (Blueprint $table) {
|
||||
$table->dropForeign(['order_address_id']);
|
||||
|
||||
OrderAddress::query()
|
||||
->orderBy('id', 'asc') // for some reason each() needs an orderBy in before
|
||||
->each(static function ($row) {
|
||||
Invoice::query()
|
||||
->where('order_address_id', $row->additional['old_order_address_id'])
|
||||
->update(['order_address_id' => $row->id]);
|
||||
});
|
||||
});
|
||||
|
||||
Schema::table('shipments', static function (Blueprint $table) {
|
||||
$table->dropForeign(['order_address_id']);
|
||||
|
||||
OrderAddress::query()
|
||||
->orderBy('id', 'asc') // for some reason each() needs an orderBy in before
|
||||
->each(static function ($row) {
|
||||
Shipment::query()
|
||||
->where('order_address_id', $row->additional['old_order_address_id'])
|
||||
->update(['order_address_id' => $row->id]);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue