diff --git a/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php b/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php
index 65165532a..73246f935 100755
--- a/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php
+++ b/packages/Webkul/Admin/src/DataGrids/TaxRateDataGrid.php
@@ -19,7 +19,7 @@ class TaxRateDataGrid extends DataGrid
public function prepareQueryBuilder()
{
- $queryBuilder = DB::table('tax_rates')->addSelect('id', 'identifier', 'state', 'country', 'tax_rate');
+ $queryBuilder = DB::table('tax_rates')->addSelect('id', 'identifier', 'state', 'country', 'zip_code', 'zip_from', 'zip_to', 'tax_rate');
$this->setQueryBuilder($queryBuilder);
}
@@ -62,6 +62,33 @@ class TaxRateDataGrid extends DataGrid
'filterable' => true
]);
+ $this->addColumn([
+ 'index' => 'zip_code',
+ 'label' => trans('admin::app.configuration.tax-rates.zip_code'),
+ 'type' => 'string',
+ 'searchable' => true,
+ 'sortable' => true,
+ 'filterable' => true
+ ]);
+
+ $this->addColumn([
+ 'index' => 'zip_from',
+ 'label' => trans('admin::app.configuration.tax-rates.zip_from'),
+ 'type' => 'string',
+ 'searchable' => true,
+ 'sortable' => true,
+ 'filterable' => true
+ ]);
+
+ $this->addColumn([
+ 'index' => 'zip_to',
+ 'label' => trans('admin::app.configuration.tax-rates.zip_to'),
+ 'type' => 'string',
+ 'searchable' => true,
+ 'sortable' => true,
+ 'filterable' => true
+ ]);
+
$this->addColumn([
'index' => 'tax_rate',
'label' => trans('admin::app.datagrid.tax-rate'),
diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/categories/create.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/categories/create.blade.php
index d62f0213b..a1b838e53 100755
--- a/packages/Webkul/Admin/src/Resources/views/catalog/categories/create.blade.php
+++ b/packages/Webkul/Admin/src/Resources/views/catalog/categories/create.blade.php
@@ -94,8 +94,8 @@
-
-
+
+
@{{ errors.first('description') }}
@@ -189,6 +189,14 @@
toolbar1: 'formatselect | bold italic strikethrough forecolor backcolor | link | alignleft aligncenter alignright alignjustify | numlist bullist outdent indent | removeformat | code',
image_advtab: true
});
+
+ $('#display_mode').on('change', function (e) {
+ if ($('#display_mode').val() != 'products_only') {
+ $("#descript-label").addClass("required");
+ } else {
+ $("#descript-label").removeClass("required");
+ }
+ })
});
@endpush
\ No newline at end of file
diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/categories/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/categories/edit.blade.php
index 7a6a593cd..50c89daaf 100755
--- a/packages/Webkul/Admin/src/Resources/views/catalog/categories/edit.blade.php
+++ b/packages/Webkul/Admin/src/Resources/views/catalog/categories/edit.blade.php
@@ -107,8 +107,8 @@
-
-
+
+
@{{ errors.first('{!!$locale!!}[description]') }}
diff --git a/packages/Webkul/Category/src/Http/Controllers/CategoryController.php b/packages/Webkul/Category/src/Http/Controllers/CategoryController.php
index ca06cbdfd..4c33db524 100755
--- a/packages/Webkul/Category/src/Http/Controllers/CategoryController.php
+++ b/packages/Webkul/Category/src/Http/Controllers/CategoryController.php
@@ -75,7 +75,8 @@ class CategoryController extends Controller
$this->validate(request(), [
'slug' => ['required', 'unique:category_translations,slug', new \Webkul\Core\Contracts\Validations\Slug],
'name' => 'required',
- 'image.*' => 'mimes:jpeg,jpg,bmp,png'
+ 'image.*' => 'mimes:jpeg,jpg,bmp,png',
+ 'description' => 'required_if:display_mode,==,description_only,products_and_description'
]);
if (strtolower(request()->input('name')) == 'root') {
diff --git a/packages/Webkul/Product/src/Repositories/SearchRepository.php b/packages/Webkul/Product/src/Repositories/SearchRepository.php
index 255b4d7e6..1d6b4254a 100755
--- a/packages/Webkul/Product/src/Repositories/SearchRepository.php
+++ b/packages/Webkul/Product/src/Repositories/SearchRepository.php
@@ -37,9 +37,17 @@ class SearchRepository extends Repository
}
public function search($data) {
- $term = $data['term'];
+ $query = parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY);
+ $searchTerm = explode("?", $query);
+ $serachQuery = '';
- $products = $this->product->searchProductByAttribute($term);
+ foreach($searchTerm as $term){
+ if (strpos($term, 'term') !== false) {
+ $serachQuery = last(explode("=", $term));
+ }
+ }
+
+ $products = $this->product->searchProductByAttribute($serachQuery);
return $products;
}
diff --git a/packages/Webkul/Sales/src/Repositories/ShipmentItemRepository.php b/packages/Webkul/Sales/src/Repositories/ShipmentItemRepository.php
index 17302b353..77cd02bc4 100644
--- a/packages/Webkul/Sales/src/Repositories/ShipmentItemRepository.php
+++ b/packages/Webkul/Sales/src/Repositories/ShipmentItemRepository.php
@@ -4,6 +4,7 @@ namespace Webkul\Sales\Repositories;
use Illuminate\Container\Container as App;
use Webkul\Core\Eloquent\Repository;
+use Illuminate\Support\Facades\Event;
/**
* ShipmentItem Reposotory
@@ -31,16 +32,16 @@ class ShipmentItemRepository extends Repository
{
if (! $data['product'])
return;
-
+
$orderedInventory = $data['product']->ordered_inventories()
->where('channel_id', $data['shipment']->order->channel->id)
->first();
-
+
if ($orderedInventory) {
if (($orderedQty = $orderedInventory->qty - $data['qty']) < 0) {
$orderedQty = 0;
}
-
+
$orderedInventory->update([
'qty' => $orderedQty
]);
@@ -59,7 +60,7 @@ class ShipmentItemRepository extends Repository
if (!$inventory)
return;
-
+
if (($qty = $inventory->qty - $data['qty']) < 0) {
$qty = 0;
}
@@ -67,5 +68,7 @@ class ShipmentItemRepository extends Repository
$inventory->update([
'qty' => $qty
]);
+
+ Event::fire('catalog.product.update.after', $data['product']);
}
}
\ No newline at end of file
diff --git a/packages/Webkul/Shop/src/Http/Controllers/CartController.php b/packages/Webkul/Shop/src/Http/Controllers/CartController.php
index d560d2df2..124c4a4ab 100755
--- a/packages/Webkul/Shop/src/Http/Controllers/CartController.php
+++ b/packages/Webkul/Shop/src/Http/Controllers/CartController.php
@@ -46,6 +46,8 @@ class CartController extends Controller
protected $productView;
+ protected $suppressFlash = false;
+
public function __construct(
CartRepository $cart,
CartItemRepository $cartItem,
@@ -102,7 +104,7 @@ class CartController extends Controller
if ($result) {
session()->flash('success', trans('shop::app.checkout.cart.item.success'));
- return redirect()->route($this->_config['redirect']);
+ return redirect()->back();
} else {
session()->flash('warning', trans('shop::app.checkout.cart.item.error-add'));
@@ -153,7 +155,6 @@ class CartController extends Controller
}
}
-
foreach ($request['qty'] as $key => $value) {
$item = $this->cartItem->findOneByField('id', $key);
@@ -161,7 +162,11 @@ class CartController extends Controller
Event::fire('checkout.cart.update.before', $key);
- Cart::updateItem($item->product_id, $data, $key);
+ $result = Cart::updateItem($item->product_id, $data, $key);
+
+ if ($result == false) {
+ $this->suppressFlash = true;
+ }
Event::fire('checkout.cart.update.after', $item);
@@ -171,6 +176,12 @@ class CartController extends Controller
Cart::collectTotals();
+ if ($this->suppressFlash) {
+ session()->forget('success');
+ session()->forget('warning');
+ session()->flash('info', trans('shop::app.checkout.cart.partial-cart-update'));
+ }
+
return redirect()->back();
}
diff --git a/packages/Webkul/Shop/src/Http/Middleware/Currency.php b/packages/Webkul/Shop/src/Http/Middleware/Currency.php
index 1b8250ddf..7bd53fd28 100755
--- a/packages/Webkul/Shop/src/Http/Middleware/Currency.php
+++ b/packages/Webkul/Shop/src/Http/Middleware/Currency.php
@@ -29,7 +29,17 @@ class Currency
*/
public function handle($request, Closure $next)
{
- if ($currency = $request->get('currency')) {
+ $query = parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY);
+ $currencyTerm = explode("?", $query);
+ $currencyCode = '';
+
+ foreach($currencyTerm as $term){
+ if (strpos($term, 'currency') !== false) {
+ $currencyCode = last(explode("=", $term));
+ }
+ }
+
+ if ($currency = $currencyCode) {
if ($this->currency->findOneByField('code', $currency)) {
session()->put('currency', $currency);
}
diff --git a/packages/Webkul/Shop/src/Http/Middleware/Locale.php b/packages/Webkul/Shop/src/Http/Middleware/Locale.php
index 024f911de..34c2cc24d 100755
--- a/packages/Webkul/Shop/src/Http/Middleware/Locale.php
+++ b/packages/Webkul/Shop/src/Http/Middleware/Locale.php
@@ -29,7 +29,17 @@ class Locale
*/
public function handle($request, Closure $next)
{
- if ($locale = $request->get('locale')) {
+ $query = parse_url($_SERVER['REQUEST_URI'], PHP_URL_QUERY);
+ $localeTerm = explode("?", $query);
+ $localCode = '';
+
+ foreach($localeTerm as $term){
+ if (strpos($term, 'locale') !== false) {
+ $localCode = last(explode("=", $term));
+ }
+ }
+
+ if ($locale = $localCode) {
if ($this->locale->findOneByField('code', $locale)) {
app()->setLocale($locale);
diff --git a/packages/Webkul/Shop/src/Resources/lang/ar/app.php b/packages/Webkul/Shop/src/Resources/lang/ar/app.php
index 009f5f6a6..0cec3a13b 100644
--- a/packages/Webkul/Shop/src/Resources/lang/ar/app.php
+++ b/packages/Webkul/Shop/src/Resources/lang/ar/app.php
@@ -9,7 +9,7 @@ return [
'wishlist' => 'قائمة الأماني',
'orders' => 'الأوامر',
],
-
+
'common' => [
'error' => 'حدث شيء خاطئ ، رجاء حاول ثانية لاحقا.'
],
@@ -385,7 +385,8 @@ return [
],
'quantity-error' => 'الكمية المطلوبة غير متوفرة',
'cart-subtotal' => 'المجموع الفرعي للعربات',
- 'cart-remove-action' => 'هل تريد حقا أن تفعل هذا ؟'
+ 'cart-remove-action' => 'هل تريد حقا أن تفعل هذا ؟',
+ 'partial-cart-update' => 'Only some of the product(s) were updated'
],
'onepage' => [
diff --git a/packages/Webkul/Shop/src/Resources/lang/en/app.php b/packages/Webkul/Shop/src/Resources/lang/en/app.php
index 333a67753..6b13b3f1f 100755
--- a/packages/Webkul/Shop/src/Resources/lang/en/app.php
+++ b/packages/Webkul/Shop/src/Resources/lang/en/app.php
@@ -389,7 +389,8 @@ return [
],
'quantity-error' => 'Requested Quantity Is Not Available',
'cart-subtotal' => 'Cart Subtotal',
- 'cart-remove-action' => 'Do you really want to do this ?'
+ 'cart-remove-action' => 'Do you really want to do this ?',
+ 'partial-cart-update' => 'Only some of the product(s) were updated'
],
'onepage' => [
diff --git a/packages/Webkul/Shop/src/Resources/lang/pt_BR/app.php b/packages/Webkul/Shop/src/Resources/lang/pt_BR/app.php
index 4f3c67369..80846d82f 100755
--- a/packages/Webkul/Shop/src/Resources/lang/pt_BR/app.php
+++ b/packages/Webkul/Shop/src/Resources/lang/pt_BR/app.php
@@ -390,7 +390,8 @@ return [
],
'quantity-error' => 'Quantidade solicitada não está disponível',
'cart-subtotal' => 'Subtotal do carrinho',
- 'cart-remove-action' => 'Você realmente quer fazer isso ?'
+ 'cart-remove-action' => 'Você realmente quer fazer isso ?',
+ 'partial-cart-update' => 'Only some of the product(s) were updated'
],
'onepage' => [
diff --git a/packages/Webkul/Shop/src/Resources/views/layouts/footer/footer.blade.php b/packages/Webkul/Shop/src/Resources/views/layouts/footer/footer.blade.php
index 918b9f454..2f91d9f95 100755
--- a/packages/Webkul/Shop/src/Resources/views/layouts/footer/footer.blade.php
+++ b/packages/Webkul/Shop/src/Resources/views/layouts/footer/footer.blade.php
@@ -30,13 +30,28 @@
+
+
{{ __('shop::app.footer.locale') }}