Skip to content

Commit

Permalink
Merge branch 'master' into custpmer-datagrid
Browse files Browse the repository at this point in the history
  • Loading branch information
shivendra-webkul committed May 13, 2024
2 parents 80fb32f + 6491692 commit 25e7264
Show file tree
Hide file tree
Showing 201 changed files with 20,421 additions and 12,708 deletions.
478 changes: 421 additions & 57 deletions UPGRADE.md

Large diffs are not rendered by default.

254 changes: 230 additions & 24 deletions packages/Webkul/Admin/src/Config/system.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
<?php

use Webkul\Sales\Models\Order;
use Webkul\Tax\Repositories\TaxCategoryRepository;

return [
/**
Expand Down Expand Up @@ -1419,7 +1420,7 @@
'info' => 'admin::app.configuration.index.sales.payment-methods.client-id-info',
'type' => 'text',
'depends' => 'active:1',
'validation' => 'required_if:active,true',
'validation' => 'required_if:active,1',
'channel_based' => true,
'locale_based' => false,
], [
Expand Down Expand Up @@ -1652,51 +1653,256 @@
],
],
], [
'key' => 'taxes',
'name' => 'admin::app.configuration.index.taxes.title',
'info' => 'admin::app.configuration.index.taxes.title',
'sort' => 6,
], [
'key' => 'taxes.catalogue',
'name' => 'admin::app.configuration.index.taxes.catalog.title',
'info' => 'admin::app.configuration.index.taxes.catalog.title-info',
'key' => 'sales.taxes',
'name' => 'admin::app.configuration.index.sales.taxes.title',
'info' => 'admin::app.configuration.index.sales.taxes.title-info',
'icon' => 'settings/tax.svg',
'sort' => 1,
'sort' => 6,
], [
'key' => 'taxes.catalogue.pricing',
'name' => 'admin::app.configuration.index.taxes.catalog.pricing.title',
'info' => 'admin::app.configuration.index.taxes.catalog.pricing.title-info',
'key' => 'sales.taxes.categories',
'name' => 'admin::app.configuration.index.sales.taxes.categories.title',
'info' => 'admin::app.configuration.index.sales.taxes.categories.title-info',
'sort' => 1,
'fields' => [
[
'name' => 'tax_inclusive',
'title' => 'admin::app.configuration.index.taxes.catalog.pricing.tax-inclusive',
'type' => 'boolean',
'default' => false,
'name' => 'shipping',
'title' => 'admin::app.configuration.index.sales.taxes.categories.shipping',
'type' => 'select',
'default' => 0,
'options' => function () {
$options = [
[
'title' => 'admin::app.configuration.index.sales.taxes.categories.none',
'value' => 0,
],
];

foreach (app(TaxCategoryRepository::class)->all() as $taxCategory) {
$options[] = [
'title' => $taxCategory->name,
'value' => $taxCategory->id,
];
}

return $options;
},
], [
'name' => 'product',
'title' => 'admin::app.configuration.index.sales.taxes.categories.product',
'type' => 'select',
'default' => 0,
'options' => function () {
$options = [
[
'title' => 'admin::app.configuration.index.sales.taxes.categories.none',
'value' => 0,
],
];

foreach (app(TaxCategoryRepository::class)->all() as $taxCategory) {
$options[] = [
'title' => $taxCategory->name,
'value' => $taxCategory->id,
];
}

return $options;
},
],
],
], [
'key' => 'taxes.catalogue.default_location_calculation',
'name' => 'admin::app.configuration.index.taxes.catalog.default-location-calculation.title',
'info' => 'admin::app.configuration.index.taxes.catalog.default-location-calculation.title-info',
'sort' => 1,
'key' => 'sales.taxes.calculation',
'name' => 'admin::app.configuration.index.sales.taxes.calculation.title',
'info' => 'admin::app.configuration.index.sales.taxes.calculation.title-info',
'sort' => 2,
'fields' => [
[
'name' => 'based_on',
'title' => 'admin::app.configuration.index.sales.taxes.calculation.based-on',
'type' => 'select',
'default' => 'shipping_address',
'options' => [
[
'title' => 'admin::app.configuration.index.sales.taxes.calculation.shipping-address',
'value' => 'shipping_address',
], [
'title' => 'admin::app.configuration.index.sales.taxes.calculation.billing-address',
'value' => 'billing_address',
], [
'title' => 'admin::app.configuration.index.sales.taxes.calculation.shipping-origin',
'value' => 'shipping_origin',
],
],
], [
'name' => 'product_prices',
'title' => 'admin::app.configuration.index.sales.taxes.calculation.product-prices',
'type' => 'select',
'default' => 'excluding_tax',
'options' => [
[
'title' => 'admin::app.configuration.index.sales.taxes.calculation.excluding-tax',
'value' => 'excluding_tax',
], [
'title' => 'admin::app.configuration.index.sales.taxes.calculation.including-tax',
'value' => 'including_tax',
],
],
], [
'name' => 'shipping_prices',
'title' => 'admin::app.configuration.index.sales.taxes.calculation.shipping-prices',
'type' => 'select',
'default' => 'excluding_tax',
'options' => [
[
'title' => 'admin::app.configuration.index.sales.taxes.calculation.excluding-tax',
'value' => 'excluding_tax',
], [
'title' => 'admin::app.configuration.index.sales.taxes.calculation.including-tax',
'value' => 'including_tax',
],
],
],
],
], [
'key' => 'sales.taxes.default_destination_calculation',
'name' => 'admin::app.configuration.index.sales.taxes.default-destination-calculation.title',
'info' => 'admin::app.configuration.index.sales.taxes.default-destination-calculation.title-info',
'sort' => 3,
'fields' => [
[
'name' => 'country',
'title' => 'admin::app.configuration.index.taxes.catalog.default-location-calculation.default-country',
'title' => 'admin::app.configuration.index.sales.taxes.default-destination-calculation.default-country',
'type' => 'country',
'default' => '',
], [
'name' => 'state',
'title' => 'admin::app.configuration.index.taxes.catalog.default-location-calculation.default-state',
'title' => 'admin::app.configuration.index.sales.taxes.default-destination-calculation.default-state',
'type' => 'state',
'default' => '',
], [
'name' => 'post_code',
'title' => 'admin::app.configuration.index.taxes.catalog.default-location-calculation.default-post-code',
'title' => 'admin::app.configuration.index.sales.taxes.default-destination-calculation.default-post-code',
'type' => 'text',
'default' => '',
],
],
], [
'key' => 'sales.taxes.shopping_cart',
'name' => 'admin::app.configuration.index.sales.taxes.shopping-cart.title',
'info' => 'admin::app.configuration.index.sales.taxes.shopping-cart.title-info',
'sort' => 4,
'fields' => [
[
'name' => 'display_prices',
'title' => 'admin::app.configuration.index.sales.taxes.shopping-cart.display-prices',
'type' => 'select',
'default' => 'excluding_tax',
'options' => [
[
'title' => 'admin::app.configuration.index.sales.taxes.shopping-cart.excluding-tax',
'value' => 'excluding_tax',
], [
'title' => 'admin::app.configuration.index.sales.taxes.shopping-cart.including-tax',
'value' => 'including_tax',
], [
'title' => 'admin::app.configuration.index.sales.taxes.shopping-cart.both',
'value' => 'both',
],
],
], [
'name' => 'display_subtotal',
'title' => 'admin::app.configuration.index.sales.taxes.shopping-cart.display-subtotal',
'type' => 'select',
'default' => 'excluding_tax',
'options' => [
[
'title' => 'admin::app.configuration.index.sales.taxes.shopping-cart.excluding-tax',
'value' => 'excluding_tax',
], [
'title' => 'admin::app.configuration.index.sales.taxes.shopping-cart.including-tax',
'value' => 'including_tax',
], [
'title' => 'admin::app.configuration.index.sales.taxes.shopping-cart.both',
'value' => 'both',
],
],
], [
'name' => 'display_shipping_amount',
'title' => 'admin::app.configuration.index.sales.taxes.shopping-cart.display-shipping-amount',
'type' => 'select',
'default' => 'excluding_tax',
'options' => [
[
'title' => 'admin::app.configuration.index.sales.taxes.shopping-cart.excluding-tax',
'value' => 'excluding_tax',
], [
'title' => 'admin::app.configuration.index.sales.taxes.shopping-cart.including-tax',
'value' => 'including_tax',
], [
'title' => 'admin::app.configuration.index.sales.taxes.shopping-cart.both',
'value' => 'both',
],
],
],
],
], [
'key' => 'sales.taxes.sales',
'name' => 'admin::app.configuration.index.sales.taxes.sales.title',
'info' => 'admin::app.configuration.index.sales.taxes.sales.title-info',
'sort' => 4,
'fields' => [
[
'name' => 'display_prices',
'title' => 'admin::app.configuration.index.sales.taxes.sales.display-prices',
'type' => 'select',
'default' => 'excluding_tax',
'options' => [
[
'title' => 'admin::app.configuration.index.sales.taxes.sales.excluding-tax',
'value' => 'excluding_tax',
], [
'title' => 'admin::app.configuration.index.sales.taxes.sales.including-tax',
'value' => 'including_tax',
], [
'title' => 'admin::app.configuration.index.sales.taxes.sales.both',
'value' => 'both',
],
],
], [
'name' => 'display_subtotal',
'title' => 'admin::app.configuration.index.sales.taxes.sales.display-subtotal',
'type' => 'select',
'default' => 'excluding_tax',
'options' => [
[
'title' => 'admin::app.configuration.index.sales.taxes.sales.excluding-tax',
'value' => 'excluding_tax',
], [
'title' => 'admin::app.configuration.index.sales.taxes.sales.including-tax',
'value' => 'including_tax',
], [
'title' => 'admin::app.configuration.index.sales.taxes.sales.both',
'value' => 'both',
],
],
], [
'name' => 'display_shipping_amount',
'title' => 'admin::app.configuration.index.sales.taxes.sales.display-shipping-amount',
'type' => 'select',
'default' => 'excluding_tax',
'options' => [
[
'title' => 'admin::app.configuration.index.sales.taxes.sales.excluding-tax',
'value' => 'excluding_tax',
], [
'title' => 'admin::app.configuration.index.sales.taxes.sales.including-tax',
'value' => 'including_tax',
], [
'title' => 'admin::app.configuration.index.sales.taxes.sales.both',
'value' => 'both',
],
],
],
],
],
];
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ public function prepareQueryBuilder()
})
->addSelect(DB::raw('CONCAT('.DB::getTablePrefix().'order_address_billing.first_name, " ", '.DB::getTablePrefix().'order_address_billing.last_name) as billed_to'));

// $this->addFilter('billed_to', DB::raw('CONCAT(' . DB::getTablePrefix() . 'order_address_billing.first_name, " ", ' . DB::getTablePrefix() . 'order_address_billing.last_name)'));
$this->addFilter('billed_to', DB::raw('CONCAT('.DB::getTablePrefix().'order_address_billing.first_name, " ", '.DB::getTablePrefix().'order_address_billing.last_name)'));
$this->addFilter('id', 'refunds.id');
$this->addFilter('increment_id', 'orders.increment_id');
$this->addFilter('state', 'refunds.state');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ public function store(int $orderId)
}

$this->validate(request(), [
'refund.items' => 'required|array',
'refund.items' => 'array',
'refund.items.*' => 'required|numeric|min:0',
]);

Expand All @@ -74,7 +74,7 @@ public function store(int $orderId)
$data['refund']['shipping'] = 0;
}

$totals = $this->refundRepository->getOrderItemsRefundSummary($data['refund']['items'], $orderId);
$totals = $this->refundRepository->getOrderItemsRefundSummary($data['refund'], $orderId);

if (! $totals) {
session()->flash('error', trans('admin::app.sales.refunds.create.invalid-qty'));
Expand Down Expand Up @@ -112,12 +112,14 @@ public function store(int $orderId)
*
* @return \Illuminate\Http\JsonResponse|mixed
*/
public function updateQty(int $orderId)
public function updateTotals(int $orderId)
{
$data = $this->refundRepository->getOrderItemsRefundSummary(request()->input(), $orderId);

if (! $data) {
return response('');
try {
$data = $this->refundRepository->getOrderItemsRefundSummary(request()->input(), $orderId);
} catch (\Exception $e) {
return response()->json([
'message' => $e->getMessage(),
], 400);
}

return response()->json($data);
Expand Down
32 changes: 18 additions & 14 deletions packages/Webkul/Admin/src/Http/Resources/CartItemResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,20 +15,24 @@ class CartItemResource extends JsonResource
public function toArray($request)
{
return [
'id' => $this->id,
'cart_id' => $this->cart_id,
'product_id' => $this->product_id,
'sku' => $this->sku,
'quantity' => $this->quantity,
'type' => $this->type,
'name' => $this->name,
'price' => $this->price,
'formatted_price' => core()->formatPrice($this->price),
'total' => $this->total,
'formatted_total' => core()->formatPrice($this->total),
'options' => array_values($this->resource->additional['attributes'] ?? []),
'additional' => (object) $this->resource->additional,
'product' => new ProductResource($this->product),
'id' => $this->id,
'cart_id' => $this->cart_id,
'product_id' => $this->product_id,
'sku' => $this->sku,
'quantity' => $this->quantity,
'type' => $this->type,
'name' => $this->name,
'price' => $this->base_price,
'formatted_price' => core()->formatPrice($this->base_price),
'price_incl_tax' => $this->base_price_incl_tax,
'formatted_price_incl_tax' => core()->formatPrice($this->base_price_incl_tax),
'total' => $this->base_total,
'formatted_total' => core()->formatPrice($this->base_total),
'total_incl_tax' => $this->base_total_incl_tax,
'formatted_total_incl_tax' => core()->formatPrice($this->base_total_incl_tax),
'options' => array_values($this->resource->additional['attributes'] ?? []),
'additional' => (object) $this->resource->additional,
'product' => new ProductResource($this->product),
];
}
}

0 comments on commit 25e7264

Please sign in to comment.