From 521fc4b6b69d020909c08aa75578d564c2219ad0 Mon Sep 17 00:00:00 2001 From: Jitendra Singh Date: Thu, 20 Feb 2020 13:43:06 +0530 Subject: [PATCH] Improved booking product package code style --- .../src/Config/product_types.php | 6 +- .../BookingProduct/src/Helpers/Booking.php | 57 +++++++++++-------- .../src/Helpers/DefaultSlot.php | 22 ++++--- .../BookingProduct/src/Helpers/EventSlot.php | 3 +- .../BookingProduct/src/Helpers/RentalSlot.php | 17 +++--- .../BookingProduct/src/Listeners/Product.php | 3 +- .../Repositories/BookingProductRepository.php | 6 +- .../BookingProduct/src/Type/Booking.php | 15 +++-- 8 files changed, 76 insertions(+), 53 deletions(-) diff --git a/packages/Webkul/BookingProduct/src/Config/product_types.php b/packages/Webkul/BookingProduct/src/Config/product_types.php index c7520c39e..e38c92747 100644 --- a/packages/Webkul/BookingProduct/src/Config/product_types.php +++ b/packages/Webkul/BookingProduct/src/Config/product_types.php @@ -2,9 +2,9 @@ return [ 'booking' => [ - 'key' => 'booking', - 'name' => 'Booking', + 'key' => 'booking', + 'name' => 'Booking', 'class' => 'Webkul\BookingProduct\Type\Booking', - 'sort' => 7 + 'sort' => 7 ] ]; \ No newline at end of file diff --git a/packages/Webkul/BookingProduct/src/Helpers/Booking.php b/packages/Webkul/BookingProduct/src/Helpers/Booking.php index cdba3f794..36756c6a9 100644 --- a/packages/Webkul/BookingProduct/src/Helpers/Booking.php +++ b/packages/Webkul/BookingProduct/src/Helpers/Booking.php @@ -34,11 +34,11 @@ class Booking * @return array */ protected $typeHelpers = [ - 'default' => DefaultSlot::class, + 'default' => DefaultSlot::class, 'appointment' => AppointmentSlot::class, - 'event' => EventSlot::class, - 'rental' => RentalSlot::class, - 'table' => TableSlot::class, + 'event' => EventSlot::class, + 'rental' => RentalSlot::class, + 'table' => TableSlot::class, ]; /** @@ -107,11 +107,12 @@ class Booking foreach ($this->daysOfWeek as $index => $isOpen) { $slots = []; - if ($isOpen) + if ($isOpen) { $slots = $bookingProductSlot->same_slot_all_days ? $bookingProductSlot->slots : ($bookingProductSlot->slots[$index] ?? []); + } $slotsByDays[] = [ - 'name' => trans($this->daysOfWeek[$index]), + 'name' => trans($this->daysOfWeek[$index]), 'slots' => isset($availabileDays[$index]) ? $this->conver24To12Hours($slots) : [] ]; } @@ -159,8 +160,9 @@ class Booking */ public function getAvailableWeekDays($bookingProductSlot) { - if ($bookingProductSlot->available_every_week) + if ($bookingProductSlot->available_every_week) { return $this->daysOfWeek; + } $days = []; @@ -174,8 +176,9 @@ class Booking $date = clone $currentTime; $date->addDays($i); - if ($date >= $availableFrom && $date <= $availableTo) + if ($date >= $availableFrom && $date <= $availableTo) { $days[$i] = $date->format('l'); + } } return $this->sortDaysOfWeek($days); @@ -212,8 +215,9 @@ class Booking */ public function conver24To12Hours($slots) { - if (! $slots) + if (! $slots) { return []; + } foreach ($slots as $index => $slot) { $slots[$index]['from'] = Carbon::createFromTimeString($slot['from'])->format("h:i a"); @@ -234,8 +238,9 @@ class Booking { $bookingProductSlot = $this->typeRepositories[$bookingProduct->type]->findOneByField('booking_product_id', $bookingProduct->id); - if (! is_array($bookingProductSlot->slots) || ! count($bookingProductSlot->slots)) + if (! is_array($bookingProductSlot->slots) || ! count($bookingProductSlot->slots)) { return []; + } $requestedDate = Carbon::createFromTimeString($date . " 00:00:00"); @@ -293,10 +298,10 @@ class Booking if ($qty && $currentTime <= $from) { $slots[] = [ - 'from' => $from->format('h:i A'), - 'to' => $to->format('h:i A'), + 'from' => $from->format('h:i A'), + 'to' => $to->format('h:i A'), 'timestamp' => $from->getTimestamp() . '-' . $to->getTimestamp(), - 'qty' => $qty, + 'qty' => $qty, ]; } } else { @@ -318,8 +323,9 @@ class Booking { $bookingProduct = $this->bookingProductRepository->findOneByField('product_id', $data['product_id']); - if (! $bookingProduct) + if (! $bookingProduct) { return $data; + } switch ($bookingProduct->type) { case 'rental': @@ -338,16 +344,16 @@ class Booking $data['attributes'] = [ [ 'attribute_name' => 'Rent Type', - 'option_id' => 0, - 'option_label' => trans('bookingproduct::app.shop.cart.' . $rentingType), + 'option_id' => 0, + 'option_label' => trans('bookingproduct::app.shop.cart.' . $rentingType) ], [ 'attribute_name' => 'Rent From', - 'option_id' => 0, - 'option_label' => $from, + 'option_id' => 0, + 'option_label' => $from ], [ 'attribute_name' => 'Rent Till', - 'option_id' => 0, - 'option_label' => $to, + 'option_id' => 0, + 'option_label' => $to ]]; break; @@ -358,12 +364,12 @@ class Booking $data['attributes'] = [ [ 'attribute_name' => 'Booking From', - 'option_id' => 0, - 'option_label' => Carbon::createFromTimestamp($timestamps[0])->format('d F, Y h:i A'), + 'option_id' => 0, + 'option_label' => Carbon::createFromTimestamp($timestamps[0])->format('d F, Y h:i A'), ], [ 'attribute_name' => 'Booking Till', - 'option_id' => 0, - 'option_label' => Carbon::createFromTimestamp($timestamps[1])->format('d F, Y h:i A'), + 'option_id' => 0, + 'option_label' => Carbon::createFromTimestamp($timestamps[1])->format('d F, Y h:i A'), ]]; break; @@ -393,8 +399,9 @@ class Booking { $price = $item->product->getTypeInstance()->getFinalPrice(); - if ($price == $item->base_price) + if ($price == $item->base_price) { return; + } $item->base_price = $price; $item->price = core()->convertPrice($price); diff --git a/packages/Webkul/BookingProduct/src/Helpers/DefaultSlot.php b/packages/Webkul/BookingProduct/src/Helpers/DefaultSlot.php index 6805c5ddf..827dcbbbe 100644 --- a/packages/Webkul/BookingProduct/src/Helpers/DefaultSlot.php +++ b/packages/Webkul/BookingProduct/src/Helpers/DefaultSlot.php @@ -28,8 +28,9 @@ class DefaultSlot extends Booking { $bookingProductSlot = $this->typeRepositories[$bookingProduct->type]->findOneByField('booking_product_id', $bookingProduct->id); - if (! is_array($bookingProductSlot->slots) || ! count($bookingProductSlot->slots)) + if (! is_array($bookingProductSlot->slots) || ! count($bookingProductSlot->slots)) { return []; + } $requestedDate = Carbon::createFromTimeString($date . " 00:00:00"); @@ -41,8 +42,9 @@ class DefaultSlot extends Booking if ($requestedDate < $currentTime || $requestedDate < $availableFrom - || $requestedDate > $availableTo) + || $requestedDate > $availableTo) { return []; + } $slots = []; @@ -63,15 +65,16 @@ class DefaultSlot extends Booking $slots = []; foreach ($bookingProductSlot->slots as $timeDuration) { - if ($requestedDate->dayOfWeek != $timeDuration['from_day']) + if ($requestedDate->dayOfWeek != $timeDuration['from_day']) { continue; + } $startDate = clone $requestedDate->modify('this ' . $this->daysOfWeek[$timeDuration['from_day']]); $endDate = clone $requestedDate->modify('this ' . $this->daysOfWeek[$timeDuration['to_day']]); $slots[] = [ - 'from' => $startDate->format('d F, Y h:i A'), - 'to' => $endDate->format('d F, Y h:i A'), + 'from' => $startDate->format('d F, Y h:i A'), + 'to' => $endDate->format('d F, Y h:i A'), 'timestamp' => $startDate->getTimestamp() . '-' . $endDate->getTimestamp(), ]; } @@ -96,8 +99,9 @@ class DefaultSlot extends Booking $timeDuration = $bookingProductSlot->slots[$requestedDate->format('w')] ?? []; - if (! count($timeDuration) || ! $timeDuration['status']) + if (! count($timeDuration) || ! $timeDuration['status']) { return []; + } $slots = []; @@ -138,10 +142,10 @@ class DefaultSlot extends Booking if ($qty && $currentTime <= $from) { $slots[] = [ - 'from' => $from->format('h:i A'), - 'to' => $to->format('h:i A'), + 'from' => $from->format('h:i A'), + 'to' => $to->format('h:i A'), 'timestamp' => $from->getTimestamp() . '-' . $to->getTimestamp(), - 'qty' => $qty, + 'qty' => $qty, ]; } } else { diff --git a/packages/Webkul/BookingProduct/src/Helpers/EventSlot.php b/packages/Webkul/BookingProduct/src/Helpers/EventSlot.php index 064f9dc3d..56971e667 100644 --- a/packages/Webkul/BookingProduct/src/Helpers/EventSlot.php +++ b/packages/Webkul/BookingProduct/src/Helpers/EventSlot.php @@ -35,8 +35,9 @@ class EventSlot extends Booking */ public function getTickets($bookingProduct) { - if (! $bookingProduct->event_slot) + if (! $bookingProduct->event_slot) { return; + } return $this->formatPrice($bookingProduct->event_slot->slots); } diff --git a/packages/Webkul/BookingProduct/src/Helpers/RentalSlot.php b/packages/Webkul/BookingProduct/src/Helpers/RentalSlot.php index 4744b49c7..e0dc4f298 100644 --- a/packages/Webkul/BookingProduct/src/Helpers/RentalSlot.php +++ b/packages/Webkul/BookingProduct/src/Helpers/RentalSlot.php @@ -23,8 +23,9 @@ class RentalSlot extends Booking { $bookingProductSlot = $this->typeRepositories[$bookingProduct->type]->findOneByField('booking_product_id', $bookingProduct->id); - if (! is_array($bookingProductSlot->slots) || ! count($bookingProductSlot->slots)) + if (! is_array($bookingProductSlot->slots) || ! count($bookingProductSlot->slots)) { return []; + } $requestedDate = Carbon::createFromTimeString($date . " 00:00:00"); @@ -72,15 +73,16 @@ class RentalSlot extends Booking $qty = isset($timeDuration['qty']) ? ( $timeDuration['qty'] - $orderedQty ) : 1; if ($qty && $currentTime <= $from) { - if (! isset($slots[$index])) + if (! isset($slots[$index])) { $slots[$index]['time'] = $startDayTime->format('h:i A') . ' - ' . $endDayTime->format('h:i A'); + } $slots[$index]['slots'][] = [ - 'from' => $from->format('h:i A'), - 'to' => $to->format('h:i A'), + 'from' => $from->format('h:i A'), + 'to' => $to->format('h:i A'), 'from_timestamp' => $from->getTimestamp(), - 'to_timestamp' => $to->getTimestamp(), - 'qty' => $qty + 'to_timestamp' => $to->getTimestamp(), + 'qty' => $qty ]; } } else { @@ -150,8 +152,9 @@ class RentalSlot extends Booking $price += $bookingProduct->rental_slot->hourly_price * $to->diffInHours($from); } - if ($price == $item->base_price) + if ($price == $item->base_price) { return; + } $item->base_price = $price; $item->price = core()->convertPrice($price); diff --git a/packages/Webkul/BookingProduct/src/Listeners/Product.php b/packages/Webkul/BookingProduct/src/Listeners/Product.php index 094280dd3..1d27f5286 100644 --- a/packages/Webkul/BookingProduct/src/Listeners/Product.php +++ b/packages/Webkul/BookingProduct/src/Listeners/Product.php @@ -37,8 +37,9 @@ class Product */ public function afterProductUpdated($product) { - if ($product->type != 'booking' || ! request('booking')) + if ($product->type != 'booking' || ! request('booking')) { return; + } $bookingProduct = $this->bookingProductRepository->findOneByField('product_id', $product->id); diff --git a/packages/Webkul/BookingProduct/src/Repositories/BookingProductRepository.php b/packages/Webkul/BookingProduct/src/Repositories/BookingProductRepository.php index 3dfbe4e50..d75ff0e08 100644 --- a/packages/Webkul/BookingProduct/src/Repositories/BookingProductRepository.php +++ b/packages/Webkul/BookingProduct/src/Repositories/BookingProductRepository.php @@ -84,16 +84,18 @@ class BookingProductRepository extends Repository parent::update($data, $id, $attribute); foreach ($this->typeRepositories as $type => $repository) { - if ($type == $data['type']) + if ($type == $data['type']) { continue; + } $repository->deleteWhere(['booking_product_id' => $id]); } $bookingProductTypeSlot = $this->typeRepositories[$data['type']]->findOneByField('booking_product_id', $id); - if (isset($data['slots'])) + if (isset($data['slots'])) { $data['slots'] = $this->formatSlots($data); + } if (! $bookingProductTypeSlot) { $this->typeRepositories[$data['type']]->create(array_merge($data, ['booking_product_id' => $id])); diff --git a/packages/Webkul/BookingProduct/src/Type/Booking.php b/packages/Webkul/BookingProduct/src/Type/Booking.php index 59e2ee7d3..6188470f5 100644 --- a/packages/Webkul/BookingProduct/src/Type/Booking.php +++ b/packages/Webkul/BookingProduct/src/Type/Booking.php @@ -93,8 +93,9 @@ class Booking extends Virtual { static $bookingProduct; - if ($bookingProduct) + if ($bookingProduct) { return $bookingProduct; + } return $bookingProduct = $this->bookingProductRepository->findOneByField('product_id', $productId); } @@ -117,8 +118,9 @@ class Booking extends Virtual { $bookingProduct = $this->getBookingProduct($this->product->id); - if ($bookingProduct->type != 'default') + if ($bookingProduct->type != 'default') { unset($this->additionalViews[0]); + } return $this->additionalViews; } @@ -131,8 +133,9 @@ class Booking extends Virtual */ public function prepareForCart($data) { - if (! isset($data['booking']) || ! count($data['booking'])) + if (! isset($data['booking']) || ! count($data['booking'])) { return trans('shop::app.checkout.cart.integrity.missing_options'); + } $products = parent::prepareForCart($data); @@ -153,8 +156,9 @@ class Booking extends Virtual */ public function compareOptions($options1, $options2) { - if ($this->product->id != $options2['product_id']) + if ($this->product->id != $options2['product_id']) { return false; + } return $options1['booking'] == $options2['booking']; } @@ -180,8 +184,9 @@ class Booking extends Virtual { $bookingProduct = $this->getBookingProduct($item->product_id); - if (! $bookingProduct) + if (! $bookingProduct) { return; + } app($this->bookingHelper->getTypeHepler($bookingProduct->type))->validateCartItem($item); }