Resolved conflict
This commit is contained in:
commit
e4ec1e7161
|
|
@ -1,6 +1,6 @@
|
|||
APP_NAME=Bagisto
|
||||
APP_ENV=local
|
||||
APP_VERSION=1.4.3
|
||||
APP_VERSION=1.4.4
|
||||
APP_KEY=
|
||||
APP_DEBUG=true
|
||||
APP_URL=http://localhost
|
||||
|
|
|
|||
|
|
@ -2,6 +2,9 @@ name: CI
|
|||
|
||||
on: [push, pull_request]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
tests:
|
||||
runs-on: ${{ matrix.operating-system }}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,209 @@
|
|||
|
||||
This changelog consists of the bug & security fixes and new features being included in the releases listed below.
|
||||
|
||||
## **v1.4.4 (30th of August 2022)** - *Release*
|
||||
|
||||
* #5584 [feature] - there should be an feature so that when we click on mark as read , notification box should close.
|
||||
|
||||
* #5463 [feature] - there should be a button so that we should clear all filters.
|
||||
|
||||
* [enhancement] - Optimized product
|
||||
|
||||
* [enhancement] - Optimized cart
|
||||
|
||||
* [enhancement] - Refactored code
|
||||
|
||||
* #6556 [enhancement] - Cart Rule -. Validation should be applied in Coupon Code uses per customer and used per coupon section.
|
||||
|
||||
* #6555 [enhancement] - Cart Rule - Auto Generate Coupon Code details at bottom must not visible when we switch to Manual Coupon Code.
|
||||
|
||||
* #6501 [enhancement] - Cart item prices rounded with precision of 2 resulting in rounding errors after applying taxes.
|
||||
|
||||
* #6494 [enhancement] - The product's URL_KEY should not be changed if the admin is editing the product's name for another locale.
|
||||
|
||||
* #6464 [enhancement] - UI - In Table Booking Product, Special Request/Notes must be in Bold for Main Cart.
|
||||
|
||||
* #6458 [enhancement] - There should be the validations for the input fields if the admin is trying to create catalog rules.
|
||||
|
||||
* #6452 [enhancement] - The page should be open on the next tab when the admin is trying to view the CMS pages.
|
||||
|
||||
* #6427 [enhancement] - The mouse property should be not-allowed if the cart is empty. in default theme.
|
||||
|
||||
* #6426 [enhancement] - The warning message should be correct if the admin is trying to ship the invalid product quantity.
|
||||
|
||||
* #6417 [enhancement] - There should be a flash message [ Coupan is already applied ] if the user is trying to apply the same coupon multiple times.
|
||||
|
||||
* #6408 [enhancement] - The name of the applied filters should be meaningful if the customer is trying to filter the orders.
|
||||
|
||||
* #6393 [enhancement] - The page should not be refreshed if the customer is trying to apply the same coupon multiple times.
|
||||
|
||||
* #6371 [enhancement] - There should be a flash message for customers when the cart rule is applied on the checkout page.
|
||||
|
||||
* #6358 [enhancement] - Unable to see any notification on Coupon Applied on the Checkout Page.
|
||||
|
||||
* #6355 [enhancement] - There should be a preview option in the CMS pages table.
|
||||
|
||||
* #6327 [enhancement] - Add Missing Language Folder In All Package
|
||||
|
||||
* #6273 [enhancement] - There should be a tooltip message, after copying the wishlist share link
|
||||
|
||||
* #5801 [enhancement] - Maximum video uploading size should be mentioned when we create product.
|
||||
|
||||
* #5464 [enhancement] - there should be an image icon of user profile image.
|
||||
|
||||
* #6545 [fixed] - The admin should be able to create transactions only with the Grand Total amount of the order.
|
||||
|
||||
* #6406 [fixed] - Discount should be shown only for the product for which we created a catalog rule.
|
||||
|
||||
* #6312 [fixed] - The billing address should not be saved multiple times, if the customer is clicking on save address checkbox in multiple times.
|
||||
|
||||
* #6654 [fixed] - The size of the image card should be fixed. on the home page.
|
||||
|
||||
* #6644 [fixed] - Trimming should be added for the search string.
|
||||
|
||||
* #6640 [fixed] - There should not be any alert box if the admin is trying to filter the products.
|
||||
|
||||
* #6635 [fixed] - The page should not be redirected to the wishlist page when the customer removes any product from the wishlist.
|
||||
|
||||
* #6632 [fixed] - There add to cart and the wishlist button are adjusting if the customer is trying to view any product.
|
||||
|
||||
* #6609 [fixed] - The wishlist should not get empty after deleting the all product of the second-page wishlist.
|
||||
|
||||
* #6606 [fixed] - The admin should be able to upload and remove the product's image.
|
||||
|
||||
* #6558 [fixed] - The cross icon should be just before the calendar icon if the customer is trying to select the appointment date for booking the product.
|
||||
|
||||
* #6554 [fixed] - The discount amount cannot be greater than 100 if the action type is the Percentage of the product.
|
||||
|
||||
* #6547 [fixed] - The product video should be played properly if any.
|
||||
|
||||
* #6518 [fixed] - The admin should be able to update the product's status by mass action.
|
||||
|
||||
* #6514 [fixed] - The save as category button should not be clicked automatically if the admin is pressing the enter key for the searching product.
|
||||
|
||||
* #6509 [fixed] - There is an exception if the admin is trying to search products from the category page.
|
||||
|
||||
* #6507 [fixed] - Notification url is broken when admin_url is changed.
|
||||
|
||||
* #6505 [fixed] - The model box should be in the center of the page if the user is clicking on Quick view for any produt.
|
||||
|
||||
* #6492 [fixed] - There is a UI issue if the user is trying to view the compared products in Arabic locale.
|
||||
|
||||
* #6485 [fixed] - The trash icon should be on the right side of the text if the user is trying to view the shopping cart in the Arabic locale.
|
||||
|
||||
* #6484 [fixed] - The admin is not able to logout on the mobile view.
|
||||
|
||||
* #6479 [fixed] - The position of the top bar should be fixed if the customer is trying to view any order in mobile view.
|
||||
|
||||
* #6471 [fixed] - UI Issue - In Customer Profile Edit option, there we can see the Calendar Logo at DOB is inappropriate.
|
||||
|
||||
* #6469 [fixed] - Translation Issue in the Configure Section related to Number.
|
||||
|
||||
* #6463 [fixed] - There should not be an exception if the admin is trying to add a new variant for the configurable product.
|
||||
|
||||
* #6461 [fixed] - There should not be any warning message for the default empty option if the admin is trying to create/edit any attribute.
|
||||
|
||||
* #6459 [fixed] - Only the review should be deleted which the user wants to delete.
|
||||
|
||||
* #6453 [fixed] - The new customer is not able to login properly when the another user is logging out.
|
||||
|
||||
* #6447 [fixed] - There should not be an exception if the customer is trying to add that product to the wishlist which is deleted by the admin.
|
||||
|
||||
* #6444 [fixed] - The page should be redirected to the login page if the guest user is trying to move products from compare to wishlist.
|
||||
|
||||
* #6443 [fixed] - The height of Add to cart button should be a little less on compare page.
|
||||
|
||||
* #6442 [fixed] - The products should be in proper alignment if there are multiple products in the compare list.
|
||||
|
||||
* #6441 [fixed] - The customer should be able to share the wishlist product if the share link is already generated.
|
||||
|
||||
* #6434 [fixed] - There should not be any translation issue in the checkout page, if the customer is trying to place an order.
|
||||
|
||||
* #6430 [fixed] - The admin should not be able to create a transaction for an invoice with the incorrect Transaction amount
|
||||
|
||||
* #6429 [fixed] - The user should not be able to add products into the cart with 0 quantity.
|
||||
|
||||
* #6425 [fixed] - The sidebar submenu dropdown icon should be shown properly if the admin is changing the English from LTR to RTL.
|
||||
|
||||
* #6423 [fixed] - The order status should be shown properly in the admin panel. if the status of the order is payment pending.
|
||||
|
||||
* #6419 [fixed] - There is an exception if the admin is trying to add transactions for any invoice.
|
||||
|
||||
* #6407 [fixed] - The user should not be able to place the order if the user is inactive.
|
||||
|
||||
* #6402 [fixed] - Only the address should be deleted which the user wants to delete.
|
||||
|
||||
* #6401 [fixed] - There is no option to view compare items for guests.
|
||||
|
||||
* #6400 [fixed] - The success message should not be shown multiple times if the user is trying to remove the applied coupon.
|
||||
|
||||
* #6397 [fixed] - The should not be an exception if the guest is trying to log in after deleting all the cart items.
|
||||
|
||||
* #6390 [fixed] - The radio button should be toggle only after clicking on the radio button's in admin panel
|
||||
|
||||
* #6389 [fixed] - The share wishlist and delete button should not overlap the sidebar in mobile view.
|
||||
|
||||
* #6386 [fixed] - The Products Ordered label should be highlighted if there is an error, while the admin is trying to create a ship for the order in dark mode.
|
||||
|
||||
* #6385 [fixed] - There should be a search icon if the customer is trying to search the orders.
|
||||
|
||||
* #6384 [fixed] - The product's image should not be out of the product card if the user is trying to view products in list mode.
|
||||
|
||||
* #6370 [fixed] - At least one shipping and payment method should be available.
|
||||
|
||||
* #6369 [fixed] - The product images are overriding if there are multiple products in the cart.
|
||||
|
||||
* #6368 [fixed] - There should be an option to update the cart if the customer is adding downloadable and simple products into the cart.
|
||||
|
||||
* #6366 [fixed] - The product's image is adjusted when the user is trying to view any variant of the configurable product
|
||||
|
||||
* #6365 [fixed] - The bullet symbol should be visible if the user is trying to change the product's image in a quick view popup box.
|
||||
|
||||
* #6364 [fixed] - The warning message should be correct when the condition is not matching with cart rule while the user is applying a coupon.
|
||||
|
||||
* #6362 [fixed] - There should be some space between the share and delete buttons on the wishlist page.
|
||||
|
||||
* #6349 [fixed] - The filter value should be correct if the admin is trying to filter the customers by the status filter
|
||||
|
||||
* #6346 [fixed] - There should not be any extra space between the update cart and the delete all items button, on the shopping cart page.
|
||||
|
||||
* #6344 [fixed] - The calendar icon is not showing when the admin is trying to filter the orders by date in dark mode.
|
||||
|
||||
* #6341 [fixed] - There is some extra space between the product image and add to cart button in the mobile view
|
||||
|
||||
* #6340 [fixed] - By default maximum price should be selected if the user is trying to filter a product by price filter.
|
||||
|
||||
* #6339 [fixed] - The Add to cart button should not be disabled if any one product is inactive of the group product.
|
||||
|
||||
* #6335 [fixed] - The translation is missing for slot dropdown if the user is trying to book any product
|
||||
|
||||
* #6334 [fixed] - The quantity field should not take a negative value if the admin is trying to edit the quantity
|
||||
|
||||
* #6333 [fixed] - The country dropdown should be in the Ascending order when the customer is adding the delivery address on the checkout page.
|
||||
|
||||
* #6332 [fixed] - The calendar Icon should be on the left side of the input box in the Arabic locale when the customer is editing the profile.
|
||||
|
||||
* #6331 [fixed] - The location and the calendar Icon should be slightly right side in the Arabic locale when the customer is trying to book any product.
|
||||
|
||||
* #6324 [fixed] - The warning message should be correct if the admin is trying to upload an invalid image format for the profile image.
|
||||
|
||||
* #6319 [fixed] - The calendar icon is in the center of the input box. if the customer is trying to book the product.
|
||||
|
||||
* #6318 [fixed] - The add to cart button should be in proper alignment inside the compare page.
|
||||
|
||||
* #6317 [fixed] - The page should be redirected to the product view page. if the user clicks on the product image inside the mini cart.
|
||||
|
||||
* #6313 [fixed] - The warning message should be correct if the customer is selecting the PayPal Smart Button payment method with an invalid country code
|
||||
|
||||
* #6288 [fixed] - The delete button is overriding on share button if the customer is trying to view the wishlist products on mobile view.
|
||||
|
||||
* #6277 [fixed] - Checkout redirects when a carrier has more than one shipping method
|
||||
|
||||
* #6276 [fixed] - The product's image should be visible properly in mobile view.
|
||||
|
||||
* #6271 [fixed] - There should not be any warning message if the user is trying to book a rental product for multiple hours.
|
||||
|
||||
|
||||
## **v1.4.3 (20th of April 2022)** - *Release*
|
||||
|
||||
* #6213 [feature] - Command For Bagisto Publish
|
||||
|
|
|
|||
|
|
@ -80,58 +80,68 @@ class TransactionController extends Controller
|
|||
|
||||
$invoice = $this->invoiceRepository->where('increment_id', $request->invoice_id)->first();
|
||||
|
||||
if ($invoice) {
|
||||
if ($invoice->state == 'paid') {
|
||||
session()->flash('info', trans('admin::app.sales.transactions.response.already-paid'));
|
||||
if (! $invoice) {
|
||||
session()->flash('error', trans('admin::app.sales.transactions.response.invoice-missing'));
|
||||
|
||||
return redirect(route('admin.sales.transactions.index'));
|
||||
}
|
||||
|
||||
if ($request->amount > $invoice->base_grand_total) {
|
||||
session()->flash('info', trans('admin::app.sales.transactions.response.transaction-amount-exceeds'));
|
||||
|
||||
return redirect(route('admin.sales.transactions.create'));
|
||||
} else {
|
||||
$order = $this->orderRepository->find($invoice->order_id);
|
||||
|
||||
$randomId = random_bytes(20);
|
||||
|
||||
$this->orderTransactionRepository->create([
|
||||
'transaction_id' => bin2hex($randomId),
|
||||
'type' => $request->payment_method,
|
||||
'payment_method' => $request->payment_method,
|
||||
'invoice_id' => $invoice->id,
|
||||
'order_id' => $invoice->order_id,
|
||||
'amount' => $request->amount,
|
||||
'status' => 'paid',
|
||||
'data' => json_encode([
|
||||
'paidAmount' => $request->amount,
|
||||
]),
|
||||
]);
|
||||
|
||||
$transactionTotal = $this->orderTransactionRepository->where('invoice_id', $invoice->id)->sum('amount');
|
||||
|
||||
if ($transactionTotal >= $invoice->base_grand_total) {
|
||||
$shipments = $this->shipmentRepository->where('order_id', $invoice->order_id)->first();
|
||||
|
||||
if (isset($shipments)) {
|
||||
$this->orderRepository->updateOrderStatus($order, 'completed');
|
||||
} else {
|
||||
$this->orderRepository->updateOrderStatus($order, 'processing');
|
||||
}
|
||||
|
||||
$this->invoiceRepository->updateState($invoice, 'paid');
|
||||
}
|
||||
|
||||
session()->flash('success', trans('admin::app.sales.transactions.response.transaction-saved'));
|
||||
|
||||
return redirect(route('admin.sales.transactions.index'));
|
||||
}
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
session()->flash('error', trans('admin::app.sales.transactions.response.invoice-missing'));
|
||||
$transactionAmtBefore = $this->orderTransactionRepository->where('invoice_id', $invoice->id)->sum('amount');
|
||||
|
||||
$transactionAmtfinal = $request->amount + $transactionAmtBefore;
|
||||
|
||||
return redirect()->back();
|
||||
if ($invoice->state == 'paid') {
|
||||
session()->flash('info', trans('admin::app.sales.transactions.response.already-paid'));
|
||||
|
||||
return redirect(route('admin.sales.transactions.index'));
|
||||
}
|
||||
|
||||
if ($transactionAmtfinal > $invoice->base_grand_total) {
|
||||
session()->flash('info', trans('admin::app.sales.transactions.response.transaction-amount-exceeds'));
|
||||
|
||||
return redirect(route('admin.sales.transactions.create'));
|
||||
}
|
||||
|
||||
if ($request->amount <= 0) {
|
||||
session()->flash('info', trans('admin::app.sales.transactions.response.transaction-amount-zero'));
|
||||
|
||||
return redirect(route('admin.sales.transactions.create'));
|
||||
}
|
||||
|
||||
$order = $this->orderRepository->find($invoice->order_id);
|
||||
|
||||
$randomId = random_bytes(20);
|
||||
|
||||
$this->orderTransactionRepository->create([
|
||||
'transaction_id' => bin2hex($randomId),
|
||||
'type' => $request->payment_method,
|
||||
'payment_method' => $request->payment_method,
|
||||
'invoice_id' => $invoice->id,
|
||||
'order_id' => $invoice->order_id,
|
||||
'amount' => $request->amount,
|
||||
'status' => 'paid',
|
||||
'data' => json_encode([
|
||||
'paidAmount' => $request->amount,
|
||||
]),
|
||||
]);
|
||||
|
||||
$transactionTotal = $this->orderTransactionRepository->where('invoice_id', $invoice->id)->sum('amount');
|
||||
|
||||
if ($transactionTotal >= $invoice->base_grand_total) {
|
||||
$shipments = $this->shipmentRepository->where('order_id', $invoice->order_id)->first();
|
||||
|
||||
if (isset($shipments)) {
|
||||
$this->orderRepository->updateOrderStatus($order, 'completed');
|
||||
} else {
|
||||
$this->orderRepository->updateOrderStatus($order, 'processing');
|
||||
}
|
||||
|
||||
$this->invoiceRepository->updateState($invoice, 'paid');
|
||||
}
|
||||
|
||||
session()->flash('success', trans('admin::app.sales.transactions.response.transaction-saved'));
|
||||
|
||||
return redirect(route('admin.sales.transactions.index'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -523,6 +523,7 @@ return [
|
|||
'transaction-saved' => 'تم حفظ الصفقة',
|
||||
'already-paid' => 'تم دفع هذه الفاتورة بالفعل',
|
||||
'transaction-amount-exceeds' => 'المبلغ المحدد لهذه المعاملة أكبر من المبلغ الإجمالي للفاتورة.',
|
||||
'transaction-amount-zero' => 'يمكن أن يكون مبلغ الصفقة صفرًا أو أقل',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -526,6 +526,7 @@ return [
|
|||
'transaction-saved' => 'The transaction has been saved',
|
||||
'already-paid' => 'This invoice has already been paid',
|
||||
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
|
||||
'transaction-amount-zero' => 'Transaction amount can be zero or less',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -516,6 +516,7 @@ return [
|
|||
'transaction-saved' => 'Die Transaktion wurde gespeichert',
|
||||
'already-paid' => 'Diese Rechnung wurde bereits bezahlt',
|
||||
'transaction-amount-exceeds' => 'Der angegebene Betrag dieser Transaktion übersteigt den Gesamtbetrag der Rechnung.',
|
||||
'transaction-amount-zero' => 'Der Transaktionsbetrag kann Null oder weniger betragen',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -526,6 +526,7 @@ return [
|
|||
'transaction-saved' => 'The transaction has been saved',
|
||||
'already-paid' => 'This invoice has already been paid',
|
||||
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
|
||||
'transaction-amount-zero' => 'Transaction amount can be zero or less',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -524,6 +524,7 @@ return [
|
|||
'transaction-saved' => 'The transaction has been saved',
|
||||
'already-paid' => 'This invoice has already been paid',
|
||||
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
|
||||
'transaction-amount-zero' => 'Transaction amount can be zero or less',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -521,6 +521,7 @@ return [
|
|||
'transaction-saved' => 'The transaction has been saved',
|
||||
'already-paid' => 'This invoice has already been paid',
|
||||
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
|
||||
'transaction-amount-zero' => 'Transaction amount can be zero or less',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -524,7 +524,8 @@ return [
|
|||
'invoice-missing' => 'Ce numéro de facture n\'existe pas',
|
||||
'transaction-saved' => 'La transaction a été enregistrée',
|
||||
'already-paid' => 'Cette facture a déjà été payée',
|
||||
'transaction-amount-exceeds' => 'Le montant de cette transaction dépasse le montant total de la facture.',
|
||||
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
|
||||
'transaction-amount-zero' => 'Transaction amount can be zero or less.',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -526,6 +526,7 @@ return [
|
|||
'transaction-saved' => 'The transaction has been saved',
|
||||
'already-paid' => 'This invoice has already been paid',
|
||||
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
|
||||
'transaction-amount-zero' => 'Transaction amount can be zero or less',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -523,6 +523,7 @@ return [
|
|||
'transaction-saved' => 'लेन-देन सहेजा गया है',
|
||||
'already-paid' => 'इस चालान का भुगतान पहले ही किया जा चुका है',
|
||||
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
|
||||
'transaction-amount-zero' => 'Transaction amount can be zero or less',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -521,6 +521,7 @@ return [
|
|||
'transaction-saved' => 'The transaction has been saved',
|
||||
'already-paid' => 'This invoice has already been paid',
|
||||
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
|
||||
'transaction-amount-zero' => 'Transaction amount can be zero or less',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -526,6 +526,7 @@ return [
|
|||
'transaction-saved' => 'The transaction has been saved',
|
||||
'already-paid' => 'This invoice has already been paid',
|
||||
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
|
||||
'transaction-amount-zero' => 'Transaction amount can be zero or less',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -517,6 +517,7 @@ return [
|
|||
'transaction-saved' => 'De transactie is geregistreerd',
|
||||
'already-paid' => 'Dit factuur is al voldaan',
|
||||
'transaction-amount-exceeds' => 'Het opgegeven bedrag van deze transactie overschrijdt het totaalbedrag van de factuur.',
|
||||
'transaction-amount-zero' => 'Transactiebedrag kan nul of minder zijn',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -517,6 +517,7 @@ return [
|
|||
'transaction-saved' => 'The transaction has been saved',
|
||||
'already-paid' => 'This invoice has already been paid',
|
||||
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
|
||||
'transaction-amount-zero' => 'Transaction amount can be zero or less',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -516,6 +516,7 @@ return [
|
|||
'transaction-saved' => 'The transaction has been saved',
|
||||
'already-paid' => 'This invoice has already been paid',
|
||||
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
|
||||
'transaction-amount-zero' => 'Transaction amount can be zero or less',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -526,6 +526,7 @@ return [
|
|||
'transaction-saved' => 'The transaction has been saved',
|
||||
'already-paid' => 'This invoice has already been paid',
|
||||
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
|
||||
'transaction-amount-zero' => 'Transaction amount can be zero or less',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -526,6 +526,7 @@ return [
|
|||
'transaction-saved' => 'The transaction has been saved',
|
||||
'already-paid' => 'This invoice has already been paid',
|
||||
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
|
||||
'transaction-amount-zero' => 'Transaction amount can be zero or less',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -517,6 +517,7 @@ return [
|
|||
'transaction-saved' => 'İşlem kaydedildi',
|
||||
'already-paid' => 'Bu fatura zaten ödendi',
|
||||
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
|
||||
'transaction-amount-zero' => 'Transaction amount can be zero or less',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -517,6 +517,7 @@ return [
|
|||
'transaction-saved' => '交易已保存',
|
||||
'already-paid' => '此发票已支付',
|
||||
'transaction-amount-exceeds' => 'The specified amount of this transaction exceeds the total amount of the invoice.',
|
||||
'transaction-amount-zero' => 'Transaction amount can be zero or less',
|
||||
],
|
||||
],
|
||||
],
|
||||
|
|
|
|||
|
|
@ -83,7 +83,7 @@
|
|||
|
||||
<script type="text/x-template" id="group-list-template">
|
||||
<div style="margin-top: 20px">
|
||||
<button type="button" style="margin-bottom : 20px" class="btn btn-md btn-primary" @click="showModal('addGroupForm')">
|
||||
<button type="button" style="margin-bottom : 20px" class="btn btn-md btn-primary" @click="$root.showModal('addGroupForm')">
|
||||
{{ __('admin::app.catalog.families.add-group-title') }}
|
||||
</button>
|
||||
|
||||
|
|
@ -461,4 +461,4 @@
|
|||
}
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
@endpush
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ class ProductFlatRepository extends Repository
|
|||
* @param int $categoryId
|
||||
* @return \Illuminate\Support\Querybuilder
|
||||
*/
|
||||
public function categoryProductQuerybuilder($categoryId)
|
||||
public function categoryProductQueryBuilder($categoryId)
|
||||
{
|
||||
return $this->model
|
||||
->leftJoin('product_categories', 'product_flat.product_id', 'product_categories.product_id')
|
||||
|
|
@ -74,7 +74,7 @@ class ProductFlatRepository extends Repository
|
|||
*/
|
||||
public function getCategoryProductAttribute($categoryId)
|
||||
{
|
||||
$qb = $this->categoryProductQuerybuilder($categoryId);
|
||||
$qb = $this->categoryProductQueryBuilder($categoryId);
|
||||
|
||||
$childQuery = $this->model->distinct()->whereIn('parent_id', $qb->distinct()->select(['id']));
|
||||
|
||||
|
|
@ -144,18 +144,18 @@ class ProductFlatRepository extends Repository
|
|||
return $loadedCategoryAttributes[$category->id];
|
||||
}
|
||||
|
||||
$productsCount = $this->categoryProductQuerybuilder($category->id)->count();
|
||||
$productsCount = $this->categoryProductQueryBuilder($category->id)->count();
|
||||
|
||||
if ($productsCount > 0) {
|
||||
$categoryFilterableAttributes = $category->filterableAttributes->pluck('id')->toArray();
|
||||
|
||||
$productCategoryArrributes = $this->getCategoryProductAttribute($category->id);
|
||||
$productCategoryAttributes = $this->getCategoryProductAttribute($category->id);
|
||||
|
||||
$allFilterableAttributes = array_filter(array_unique(array_intersect($categoryFilterableAttributes, $productCategoryArrributes['attributes'])));
|
||||
$allFilterableAttributes = array_filter(array_unique(array_intersect($categoryFilterableAttributes, $productCategoryAttributes['attributes'])));
|
||||
|
||||
$attributes = $this->attributeRepository->getModel()::with([
|
||||
'options' => function ($query) use ($productCategoryArrributes) {
|
||||
return $query->whereIn('id', $productCategoryArrributes['attributeOptions'])
|
||||
'options' => function ($query) use ($productCategoryAttributes) {
|
||||
return $query->whereIn('id', $productCategoryAttributes['attributeOptions'])
|
||||
->orderBy('sort_order');
|
||||
}
|
||||
])->whereIn('id', $allFilterableAttributes)->get();
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -10,8 +10,8 @@
|
|||
*/
|
||||
|
||||
/*!
|
||||
* Vue.js v2.6.12
|
||||
* (c) 2014-2020 Evan You
|
||||
* Vue.js v2.7.10
|
||||
* (c) 2014-2022 Evan You
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"/js/shop.js": "/js/shop.js?id=c497b48c2b6bd04edeca",
|
||||
"/js/shop.js": "/js/shop.js?id=a03df6eadec81eea9b0b",
|
||||
"/css/shop.css": "/css/shop.css?id=f48c3d268309736e99d9"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -281,6 +281,12 @@
|
|||
let self = this;
|
||||
|
||||
this.disable_button = true;
|
||||
this.saveAddressCheckbox = $('input[name="billing[save_as_address]"]');
|
||||
|
||||
if (this.saveAddressCheckbox.prop('checked') == true) {
|
||||
this.saveAddressCheckbox.attr('disabled', 'disabled');
|
||||
this.saveAddressCheckbox.prop('checked', true);
|
||||
}
|
||||
|
||||
if (this.allAddress.length > 0) {
|
||||
let address = this.allAddress.forEach(address => {
|
||||
|
|
|
|||
|
|
@ -303,10 +303,15 @@
|
|||
if (this.childAttributes.length == selectedOptionCount) {
|
||||
priceLabelElement.style.display = 'none';
|
||||
|
||||
if (regularPriceElement) {
|
||||
regularPriceElement.style.display = 'none';
|
||||
}
|
||||
|
||||
priceElement.innerHTML = this.config.variant_prices[this.simpleProduct].final_price.formated_price;
|
||||
|
||||
if (regularPriceElement) {
|
||||
if (regularPriceElement && this.config.variant_prices[this.simpleProduct].final_price.price < this.config.variant_prices[this.simpleProduct].regular_price.price) {
|
||||
regularPriceElement.innerHTML = this.config.variant_prices[this.simpleProduct].regular_price.formated_price;
|
||||
regularPriceElement.style.display = 'inline-block';
|
||||
}
|
||||
|
||||
eventBus.$emit('configurable-variant-selected-event', this.simpleProduct)
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -16,7 +16,7 @@
|
|||
*/
|
||||
|
||||
/*!
|
||||
* Vue.js v2.7.3
|
||||
* Vue.js v2.7.8
|
||||
* (c) 2014-2022 Evan You
|
||||
* Released under the MIT License.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@
|
|||
"/js/velocity-core.js": "/js/velocity-core.js?id=dcc312fe978be1aff63a33eaf7ad190c",
|
||||
"/js/velocity.js": "/js/velocity.js?id=5e563e0af3ea88a56b03a4a30fad0a92",
|
||||
"/js/manifest.js": "/js/manifest.js?id=4113cf6789cdd4f2768f508bc32cad2d",
|
||||
"/js/components.js": "/js/components.js?id=9cef6b659b9eeda222cf28fdb372abc1",
|
||||
"/css/velocity.css": "/css/velocity.css?id=d3e3d68ebf1870fc95c045ba29dc2b77",
|
||||
"/js/components.js": "/js/components.js?id=f1962fbe19365543e54b0e329f86b8ff",
|
||||
"/css/velocity.css": "/css/velocity.css?id=b052a38bbdda8e29ff1dee8479d69d63",
|
||||
"/css/velocity-admin.css": "/css/velocity-admin.css?id=b67a82956e53163b5e3ff45a44f9778f",
|
||||
"/images/Camera.svg": "/images/Camera.svg?id=b2fd2f9e17e1ccee96e29f6c6cec91e8",
|
||||
"/images/Icon-Arrow-Right.svg": "/images/Icon-Arrow-Right.svg?id=e30f624f1a70197dc9ad9011b240aa8e",
|
||||
|
|
|
|||
|
|
@ -375,6 +375,12 @@
|
|||
|
||||
saveAddress: async function () {
|
||||
this.disable_button = true;
|
||||
this.saveAddressCheckbox = $('input[name="billing[save_as_address]"]');
|
||||
|
||||
if (this.saveAddressCheckbox.prop('checked') == true) {
|
||||
this.saveAddressCheckbox.attr('disabled', 'disabled');
|
||||
this.saveAddressCheckbox.prop('checked', true);
|
||||
}
|
||||
|
||||
if (this.allAddress.length > 0) {
|
||||
let address = this.allAddress.forEach(address => {
|
||||
|
|
|
|||
|
|
@ -320,6 +320,10 @@
|
|||
if (this.childAttributes.length == selectedOptionCount) {
|
||||
priceLabelElement.style.display = 'none';
|
||||
|
||||
if (regularPriceElement) {
|
||||
regularPriceElement.style.display = 'none';
|
||||
}
|
||||
|
||||
priceElement.innerHTML = this.config.variant_prices[this.simpleProduct].final_price.formated_price;
|
||||
|
||||
if (
|
||||
|
|
@ -335,6 +339,7 @@
|
|||
&& this.config.variant_prices[this.simpleProduct].regular_price.formated_price != this.config.variant_prices[this.simpleProduct].final_price.formated_price
|
||||
) {
|
||||
regularPriceElement.innerHTML = this.config.variant_prices[this.simpleProduct].regular_price.formated_price;
|
||||
regularPriceElement.style.display = 'inline-block';
|
||||
}
|
||||
|
||||
eventBus.$emit('configurable-variant-selected-event', this.simpleProduct)
|
||||
|
|
|
|||
Loading…
Reference in New Issue