Merge pull request #2911 from rahulcs0082/development

Issue #2793
This commit is contained in:
Jitendra Singh 2020-04-17 18:07:07 +05:30 committed by GitHub
commit f05217fbb8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 47 additions and 33 deletions

View File

@ -12,6 +12,7 @@ use Webkul\Product\Helpers\ProductImage;
use Webkul\BookingProduct\Repositories\BookingProductRepository;
use Webkul\BookingProduct\Helpers\Booking as BookingHelper;
use Webkul\Product\Type\Virtual;
use Carbon\Carbon;
class Booking extends Virtual
{
@ -168,6 +169,10 @@ class Booking extends Virtual
$bookingProduct = $this->getBookingProduct($data['product_id']);
if ($bookingProduct->type == 'event') {
if (Carbon::now() > $bookingProduct->available_from && Carbon::now() > $bookingProduct->available_to) {
return trans('shop::app.checkout.cart.event.expired');
}
$filtered = Arr::where($data['booking']['qty'], function ($qty, $key) {
return $qty != 0;
});

View File

@ -568,38 +568,29 @@ class Configurable extends AbstractType
public function haveSufficientQuantity($qty)
{
$backorders = core()->getConfigData('catalog.inventory.stock_options.backorders');
return $qty <= $this->totalQuantity() ? true : $backorders;
}
/**
* @return int
*/
public function totalQuantity()
{
$total = 0;
$channelInventorySourceIds = core()->getCurrentChannel()
->inventory_sources()
->where('status', 1)
->pluck('id');
foreach ($this->product->variants as $variant) {
foreach ($variant->inventories as $inventory) {
if (is_numeric($index = $channelInventorySourceIds->search($inventory->inventory_source_id))) {
$total += $inventory->qty;
}
if ($variant->haveSufficientQuantity($qty)) {
return true;
}
}
$orderedInventory = $variant->ordered_inventories()
->where('channel_id', core()->getCurrentChannel()->id)
->first();
if ($orderedInventory) {
$total -= $orderedInventory->qty;
return $backorders;
}
/**
* Return true if this product type is saleable
*
* @return bool
*/
public function isSaleable()
{
foreach ($this->product->variants as $variant) {
if ($variant->isSaleable()) {
return true;
}
}
return $total;
return false;
}
}

View File

@ -411,7 +411,7 @@ return [
'your-customization' => 'التخصيص الخاص بك',
'total-amount' => 'المبلغ الإجمالي',
'none' => 'لا شيء',
'available' => 'Available'
'available' => 'Available',
],
// 'reviews' => [
@ -461,7 +461,10 @@ return [
'cart-subtotal' => 'المجموع الفرعي للمشتريات',
'cart-remove-action' => 'هل تريد حقا أن تسمح هذا ؟',
'partial-cart-update' => 'تم تحديث بعض المنتجات.',
'link-missing' => ''
'link-missing' => '',
'event' => [
'expired' => 'This event has been expired.'
]
],
'onepage' => [

View File

@ -461,7 +461,10 @@ return [
'cart-subtotal' => 'Cart Subtotal',
'cart-remove-action' => 'Do you really want to do this ?',
'partial-cart-update' => 'Only some of the product(s) were updated',
'link-missing' => ''
'link-missing' => '',
'event' => [
'expired' => 'This event has been expired.'
]
],
'onepage' => [

View File

@ -429,6 +429,9 @@ return [
'cart-subtotal' => 'Total parcial',
'cart-remove-action' => '¿Realmente quieres hacer esto?',
'partial-cart-update' => 'Solo algunos de los productos se han actualizado',
'event' => [
'expired' => 'This event has been expired.'
]
],
'onepage' => [

View File

@ -462,6 +462,9 @@ return [
'cart-subtotal' => 'سبد فرعی',
'cart-remove-action' => 'آیا واقعاً می خواهید این کار را انجام دهید؟',
'partial-cart-update' => 'فقط برخی از محصولات (های) به روز شده اند',
'event' => [
'expired' => 'This event has been expired.'
]
],
'onepage' => [

View File

@ -466,7 +466,10 @@ return [
'cart-subtotal' => 'Subtotaal',
'cart-remove-action' => 'Wil je dit echt doen?',
'partial-cart-update' => 'Slechts enkele van de producten zijn bijgewerkt',
'link-missing' => ''
'link-missing' => '',
'event' => [
'expired' => 'This event has been expired.'
]
],
'onepage' => [

View File

@ -451,7 +451,10 @@ return [
'cart-subtotal' => 'Subtotal do carrinho',
'cart-remove-action' => 'Você realmente quer fazer isso ?',
'partial-cart-update' => 'Only some of the product(s) were updated',
'link-missing' => ''
'link-missing' => '',
'event' => [
'expired' => 'This event has been expired.'
]
],
'onepage' => [