Merge branch 'master' of https://github.com/bagisto/bagisto into sarga-v1
|
|
@ -1,5 +1,6 @@
|
|||
APP_NAME=Bagisto
|
||||
APP_ENV=local
|
||||
APP_VERSION=1.4.1
|
||||
APP_KEY=
|
||||
APP_DEBUG=true
|
||||
APP_URL=http://localhost
|
||||
|
|
|
|||
|
|
@ -2,6 +2,484 @@
|
|||
|
||||
This changelog consists of the bug & security fixes and new features being included in the releases listed below.
|
||||
|
||||
|
||||
## **v1.4.1 (17th of March 2022)** - *Release*
|
||||
|
||||
* #6040 [enhancement] - The locale dropdown should be in ascending order
|
||||
|
||||
* #6007 [enhancement] - There should be an option to export selected product
|
||||
|
||||
* #5923 [enhancement] - There should not be option for mass delete if there is no record in table
|
||||
|
||||
* #6039 [fixed] - The from date should be less than to date
|
||||
|
||||
* #6038 [fixed] - The color of checkboxes should be according to the theme in the admin panel
|
||||
|
||||
|
||||
## **v1.4.0 (16th of March 2022)** - *Release*
|
||||
|
||||
* #5654 [feature] -Only unread notification should be shown in the notification modal box.
|
||||
|
||||
* #4787 [feature] - Unable to upload profile picture
|
||||
|
||||
* #4653 [feature] - Making billing address informations optional
|
||||
|
||||
* #4356 [feature] - Guest Checkout sucess add register
|
||||
|
||||
* #5921 [enhancement] -Notification should be received without page refresh.
|
||||
|
||||
* #5817 [enhancement] -The wishlist and the compare option should be inside the account section
|
||||
|
||||
* #5671 [enhancement] -By default the first submenu should be open, when the admin is clicking on any tab
|
||||
|
||||
* #5537 [enhancement] -New admin theme - RTL menu
|
||||
|
||||
* #5525 [enhancement] -Send a duplicate of the invoice to the customer
|
||||
|
||||
* #5490 [enhancement] -The address should be horizontal format
|
||||
|
||||
* #5404 [enhancement] -The Add image button should not be present when the user is trying to edit the profile
|
||||
|
||||
* #5396 [enhancement] -The currency icon should be shown properly
|
||||
|
||||
* #5395 [enhancement] -The user panel should be responsive on phone-view
|
||||
|
||||
* #5384 [enhancement] -There should be a confirmation alert before deleting all items from Wishlist and Compare
|
||||
|
||||
* #5300 [enhancement] -Suspend customers
|
||||
|
||||
* #5292 [enhancement] -Some data grids are missing ProvideDataGridPlus trait
|
||||
|
||||
* #5267 [enhancement] -Send reminders for overdue invoices
|
||||
|
||||
* #5219 [enhancement] -Issue in multi select data in every datagrid
|
||||
|
||||
* #5165 [enhancement] -Write All Factories In Laravel 8 Pattern
|
||||
|
||||
* #5158 [enhancement] -Breadcrumb Feature
|
||||
|
||||
* #5143 [enhancement] -Rest API Enhancement In Sanctum
|
||||
|
||||
* #5064 [enhancement] -Multi factor authentication
|
||||
|
||||
* #4834 [enhancement] -Requesting to load attributes via ajax
|
||||
|
||||
* #4772 [enhancement] -Ability to drag product image to reorder them in bagisto admin dashboard
|
||||
|
||||
* #4653 [enhancement] -Making billing address informations optional
|
||||
|
||||
* #2918 [enhancement] -Overview of sold booking products in Admin panel
|
||||
|
||||
* #2009 [enhancement] -Using AWS S3 for storage
|
||||
|
||||
* #1243 [enhancement] -Implement a feature to share Wishlist
|
||||
|
||||
* #5968 [enhancement] -The wishlist and compare option should not be in multiple times
|
||||
|
||||
* #1238 [enhancement] -Give configuration for converting textarea to wysiwyg editor or not for browser compatibility.
|
||||
|
||||
* #6019 [fixed] -There should not any UI issue if the admin is trying to update products by mass action.
|
||||
|
||||
* #6010 [fixed] -There should not be any UI issue when the user is trying to write a review for the product in mobile view.
|
||||
|
||||
* #6008 [fixed] -There is a UI issue on the Bills theme when the user is trying to log in.
|
||||
|
||||
* #6006 [fixed] -There is a UI issue if the admin is trying to update products by mass action.
|
||||
|
||||
* #5995 [fixed] -The filters should work properly. if the user is trying to filter the products by the color filter
|
||||
|
||||
* #5985 [fixed] -There should be a warning message on the checkout page, for the required field if the user is clicking outside of the required input field
|
||||
|
||||
* #5980 [fixed] - There is a UI issue if the user is trying to filter products by category
|
||||
|
||||
* #5966 [fixed] - The product quantity should be visible on the cart page
|
||||
|
||||
* #5965 [fixed] - Maximum Password length is 18 characters in velocity theme, which is way too short to be secure
|
||||
|
||||
* #5941 [fixed] - UI Issue at the Profile Section -> Empty space below address
|
||||
|
||||
* #5939 [fixed] - The selected date and time should be visible if the admin trying to add Tickets for a booking product
|
||||
|
||||
* #5938 [fixed] - There is a UI issue on forget password page
|
||||
|
||||
* #5932 [fixed] - There should not be any extra space on the product view page
|
||||
|
||||
* #5931 [fixed] - The product must be added to the wishlist which the user wants to add
|
||||
|
||||
* #5929 [fixed] - The notification text should be clickable
|
||||
|
||||
* #5926 [fixed] - There is a UI in the header section on mobile view
|
||||
|
||||
* #5919 [fixed] - There is a UI issue on the orders page
|
||||
|
||||
* #5915 [fixed] - There is a translation issue in notification pages.
|
||||
|
||||
* #5913 [fixed] - The user is able to edit the product without permission for the same
|
||||
|
||||
* #5908 [fixed] - The Success message should be according to the selected locale
|
||||
|
||||
* #5907 [fixed] - There is a UI issue on the checkout page
|
||||
|
||||
* #5904 [fixed] - There is a UI issue on the Tax Rates page
|
||||
|
||||
* #5903 [fixed] - There is a UI issue on the notification page
|
||||
|
||||
* #5899 [fixed] - The text color of the count should be white in mobile view
|
||||
|
||||
* #5898 [fixed] - The success/warning messages should be shown properly
|
||||
|
||||
* #5885 [fixed] - There are many translation issues on the Arabic locale
|
||||
|
||||
* #5865 [fixed] - There is a translation issue when the admin is trying to create a product.
|
||||
|
||||
* #5855 [fixed] - The categories name should be shown in all locales
|
||||
|
||||
* #5841 [fixed] - There is a translation issue on the Notification page.
|
||||
|
||||
* #5839 [fixed] - There should not be any UI issue while adding the product.
|
||||
|
||||
* #5830 [fixed] - There should be no exception if the user is trying to log in
|
||||
|
||||
* #5828 [fixed] - The Channel filter is not working properly on the product list page.
|
||||
|
||||
* #5820 [fixed] - The user is not able to update the review by mass action.
|
||||
|
||||
* #5809 [fixed] - Ui issue when admin try to click on search order in notification in mobile view
|
||||
|
||||
* #5808 [fixed] - proper allignment of images when admin try to upload in arabic language
|
||||
|
||||
* #5805 [fixed] - Navigation alligment when we try to edit checkbox and select attribute in mobile view
|
||||
|
||||
* #5804 [fixed] - When I create product bullets in the edit I am experienced those UL get dropped and they are left out in the customer view
|
||||
|
||||
* #5803 [fixed] - Alligment issue when we make a configurable product in delete and edit button.
|
||||
|
||||
* #5802 [fixed] - Ui issue comes when we click on add link in downloadable product
|
||||
|
||||
* #5799 [fixed] - Ui issues in arabic language when we try to add booking product.
|
||||
|
||||
* #5797 [fixed] - There should be proper space when customer is try to add address.
|
||||
|
||||
* #5791 [fixed] - There should be gab between edit and delete option in addresss page in velocity.
|
||||
|
||||
* #5790 [fixed] - Issue in orders page in velocity in arabic language
|
||||
|
||||
* #5789 [fixed] - Alligment should be done properly in arabic in wishlist page
|
||||
|
||||
* #5788 [fixed] - When we are try to delete the sliders wrong notifications show
|
||||
|
||||
* #5785 [fixed] - Calender icon is not properly visible in arabic
|
||||
|
||||
* #5778 [fixed] - issue in arbaic language of alligment in mobile view
|
||||
|
||||
* #5775 [fixed] - translations not working in navigation in admin panel
|
||||
|
||||
* #5774 [fixed] - Admin - Address index view not found
|
||||
|
||||
* #5772 [fixed] - issue in french lanugage in navigation bar
|
||||
|
||||
* #5770 [fixed] - Layout shifting in admin ui
|
||||
|
||||
* #5768 [fixed] - Zoomlens in product page overlap sidebar category menu
|
||||
|
||||
* #5764 [fixed] - not able to select options in LTR ENGLISH
|
||||
|
||||
* #5762 [fixed] - not able to add slider images in velocity theme
|
||||
|
||||
* #5761 [fixed] - email spelling wrong in notifications emails
|
||||
|
||||
* #5755 [fixed] - there should be a space between update quantities in mobile view in admin panel
|
||||
|
||||
* #5754 [fixed] - not get any mail when we make new intventory sources in admin panel
|
||||
|
||||
* #5752 [fixed] - in mobile view wishlist option is not there in checkout page
|
||||
|
||||
* #5746 [fixed] - update button alligment should done in velocity theme.
|
||||
|
||||
* #5736 [fixed] - remove button should be with wishlist in mobile view in simple product
|
||||
|
||||
* #5735 [fixed] - alligment should be done proper in velocity in mobile view of remove icon
|
||||
|
||||
* #5730 [fixed] - there is an option to increase quanity when user is try to booked product in both themes.
|
||||
|
||||
* #5729 [fixed] - ui issue when we are try to book only booking product in bliss theme in checkout page (mobile view ).
|
||||
|
||||
* #5728 [fixed] - user is not able to update quanity in checkout cart page in veloicity theme
|
||||
|
||||
* #5727 [fixed] - ui issue when guest is place an order (mobile view ) in velocity
|
||||
|
||||
* #5722 [fixed] - when we disable status paypal from admin panel it show error in console
|
||||
|
||||
* #5719 [fixed] - ui issue when we try to make booking product in admin panel in mobile view
|
||||
|
||||
* #5718 [fixed] - alligment issue in blisss theme in downloadable product section (mobile view)
|
||||
|
||||
* #5717 [fixed] - ui issue in admin panel when we try to edit cms pages (mobile view )
|
||||
|
||||
* #5709 [fixed] - Wrong error messages when uploading video
|
||||
|
||||
* #5708 [fixed] - proper alligment should be done in order page (mobile view)
|
||||
|
||||
* #5707 [fixed] - ui issue in configuration part of admin (mobile view)
|
||||
|
||||
* #5706 [fixed] - there should be an option of wishlist button in blisss theme in front panel
|
||||
|
||||
* #5705 [fixed] - ui issue in compare similar items in compare page (mobile view)
|
||||
|
||||
* #5704 [fixed] - alligment issue in velocity theme in mobile view
|
||||
|
||||
* #5703 [fixed] - star ratings alligment should be in same line in mobile view
|
||||
|
||||
* #5696 [fixed] - dropdown buttons is not working properly in admin panel
|
||||
|
||||
* #5695 [fixed] - ui issue when there is only 1 downloadable product in view shopping cart (mobile view)
|
||||
|
||||
* #5694 [fixed] - star ratings and reviews alligment should be in same line in blisss theme in mobile view
|
||||
|
||||
* #5687 [fixed] - there should be no option for downloadable product for increasing the quanity in velocity theme
|
||||
|
||||
* #5684 [fixed] - reimporting exported tax rate csv results in state field missing error
|
||||
|
||||
* #5670 [fixed] - user not able to redirect to cms pages in blisss theme
|
||||
|
||||
* #5663 [fixed] - The user should be able to download the downloadable product
|
||||
|
||||
* #5661 [fixed] - ui issue in customer order view page in blisss theme in mobile view
|
||||
|
||||
* #5659 [fixed] - delete button in customer profile should be properly allign (bliss theme) in mobile view
|
||||
|
||||
* #5657 [fixed] - proper alligment should be done in bliss theme when we write reviews (mobile view)
|
||||
|
||||
* #5650 [fixed] - There is a UI issue in cart page on phone view
|
||||
|
||||
* #5648 [fixed] - there should not be any blank space in payment method
|
||||
|
||||
* #5636 [fixed] - ui issue when we search any product in bliss theme
|
||||
|
||||
* #5635 [fixed] - issue when we click on search icon in blisss theme in mobile view
|
||||
|
||||
* #5633 [fixed] - alligment issue after you place an order in mobile view
|
||||
|
||||
* #5625 [fixed] - issue in side bar in mobile view when we open any cms pages in velocity
|
||||
|
||||
* #5624 [fixed] - in mobile view order id and all other items is not visible when we have not done any order
|
||||
|
||||
* #5621 [fixed] - There should not be any UI issue in the user panel.
|
||||
|
||||
* #5620 [fixed] - there should be enhacement in button colour so that it should be according to mode
|
||||
|
||||
* #5619 [fixed] - images in review is not compatiable in mobile view
|
||||
|
||||
* #5617 [fixed] - there should be an enhacement so that languages is not with locale heading
|
||||
|
||||
* #5616 [fixed] - there should be dark colour in pending in reviews so that it should be more readable when we changes the mode
|
||||
|
||||
* #5615 [fixed] - ui issue in order page in search bar in velocity theme
|
||||
|
||||
* #5613 [fixed] - ui issue in customer address edit in admin panel
|
||||
|
||||
* #5609 [fixed] - ui issue in catelog in mobile view
|
||||
|
||||
* #5608 [fixed] - slider should not overide in catelog rule and cart rule in condition part in mobile view
|
||||
|
||||
* #5603 [fixed] - notification box should be mobile compatible
|
||||
|
||||
* #5602 [fixed] - ui issue in tax rates in mobile view
|
||||
|
||||
* #5601 [fixed] - ui issue in exchange rate in mobile view
|
||||
|
||||
* #5591 [fixed] - there is a space between add category button and text box filter in mobile view
|
||||
|
||||
* #5585 [fixed] - filters should not attach with heading in category
|
||||
|
||||
* #5581 [fixed] - there should be logo of admin in dekstop view like mobile view
|
||||
|
||||
* #5579 [fixed] - velocity in list should be left alligment
|
||||
|
||||
* #5571 [fixed] - there should be an icon of calender in velocity profile page of customer
|
||||
|
||||
* #5569 [fixed] - There should be meaningful data inside the order dropdown
|
||||
|
||||
* #5556 [fixed] - Deprecation Warning: Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0.
|
||||
|
||||
* #5555 [fixed] - darkmode dropdown list
|
||||
|
||||
* #5552 [fixed] - there should not be any blank space in attribute family
|
||||
|
||||
* #5545 [fixed] - navigation sliders not work properly
|
||||
|
||||
* #5540 [fixed] - There is a UI issue in the admin panel
|
||||
|
||||
* #5539 [fixed] - The Login user should not be able to update self status.
|
||||
|
||||
* #5538 [fixed] - There should not be any translation issue in the notification section
|
||||
|
||||
* #5531 [fixed] - there should be not any blank space in gender it may contain select gender
|
||||
|
||||
* #5529 [fixed] - when we hover over bell icon tooltip is not showing
|
||||
|
||||
* #5526 [fixed] - There are multiple flash messages if we are clicking on the mark as read inside the notification.
|
||||
|
||||
* #5524 [fixed] - Dashboard text is not readable when light mode is enabled
|
||||
|
||||
* #5523 [fixed] - Notifications dropdown size
|
||||
|
||||
* #5522 [fixed] - icons are missing in top right navbar
|
||||
|
||||
* #5521 [fixed] - Default logo is not visible
|
||||
|
||||
* #5516 [fixed] - The size of the product images should not increase when the user is removing items from compare list
|
||||
|
||||
* #5513 [fixed] - Admin package the manifest.php files are missing
|
||||
|
||||
* #5511 [fixed] - UI issue in product list page.
|
||||
|
||||
* #5510 [fixed] - The counting is not updating automatically when the user is trying to add or remove an item from comparison.
|
||||
|
||||
* #5505 [fixed] - maintance mode is not working in admin panel
|
||||
|
||||
* #5503 [fixed] - validation not working in inventory page
|
||||
|
||||
* #5501 [fixed] - There is a warning message if the user is trying to add the address.
|
||||
|
||||
* #5497 [fixed] - If the admin user is changing the permission of other user's then the user should be logging out with a message
|
||||
|
||||
* #5493 [fixed] - The page should be redirected to the product-view page if the user is clicking on the product image/name
|
||||
|
||||
* #5491 [fixed] - The user should be able to update quantity using the + icon.
|
||||
|
||||
* #5485 [fixed] - ui issue in address bar in mobile view
|
||||
|
||||
* #5484 [fixed] - The user should be able to add a new address.
|
||||
|
||||
* #5483 [fixed] - languages logo is not visible in mobile view
|
||||
|
||||
* #5478 [fixed] - alligment not fixed in mobile view in velocity order page
|
||||
|
||||
* #5474 [fixed] - The filters should work properly. if the admin is trying to filter the sliders
|
||||
|
||||
* #5473 [fixed] - There cart option should not multiple times in the account section.
|
||||
|
||||
* #5471 [fixed] - The user should be able to view the modules/plugins menu in mobile view also. if the user adds any module.
|
||||
|
||||
* #5470 [fixed] - there should be less spacing in compare section
|
||||
|
||||
* #5468 [fixed] - There is a UI issue in Compare Similar Items section
|
||||
|
||||
* #5466 [fixed] - text alligment in order page of velocity
|
||||
|
||||
* #5462 [fixed] - ui issue when we try to ship wrong quantity products
|
||||
|
||||
* #5461 [fixed] - ui issue when we add product in compare.
|
||||
|
||||
* #5460 [fixed] - UI issue when we add product in wishlist in blisss theme
|
||||
|
||||
* #5451 [fixed] - Possibility to order infinite configurable products (product_ordered_inventories and / or order_items not correctly updated at order)
|
||||
|
||||
* #5450 [fixed] - The CMS image should reflect on the shop if the admin is adding any image on CMS
|
||||
|
||||
* #5445 [fixed] - There should be a confirmation alert before deleting items from the Wishlist
|
||||
|
||||
* #5444 [fixed] - The admin is able to create Invoice/ship orders with 00 quantities.
|
||||
|
||||
* #5443 [fixed] - The message should be correct when the admin is trying to delete system attributes
|
||||
|
||||
* #5440 [fixed] - There should be an option if the user is trying to enter the product quantity before updating the cart.
|
||||
|
||||
* #5436 [fixed] - The discount Amount should be correct in the invoice.
|
||||
|
||||
* #5435 [fixed] - There should be a warning message if the user is trying to create an invoice with invalid quantity.
|
||||
|
||||
* #5430 [fixed] - ProductFlat getAttribute($key) throws Undefined property if value of $key is NULL in product_flat table
|
||||
|
||||
* #5429 [fixed] - php artisan route:list error target class onepagecontroller does not exist (current master branch)
|
||||
|
||||
* #5428 [fixed] - There should not be an exception if the admin is trying to refund the order.
|
||||
|
||||
* #5424 [fixed] - The item should not move to the wishlist if the user is canceling the action.
|
||||
|
||||
* #5423 [fixed] - The user should not be able to edit the record while the input field is giving a warning.
|
||||
|
||||
* #5409 [fixed] - The user should be able to view the reviews
|
||||
|
||||
* #5408 [fixed] - There should not be any exception if the user is trying to delete their reviews.
|
||||
|
||||
* #5406 [fixed] - The user should be able to edit the address.
|
||||
|
||||
* #5405 [fixed] - The success message should be correct when the user is adding items to the cart
|
||||
|
||||
* #5398 [fixed] - The User should not be able to add the same product to the wishlist multiple times.
|
||||
|
||||
* #5389 [fixed] - There should be the proper alignment of filter's
|
||||
|
||||
* #5381 [fixed] - Validation required for coupon code
|
||||
|
||||
* #5377 [fixed] - There should not be an exception When user is moving a product to a wishlist that is already in wishlist
|
||||
|
||||
* #5366 [fixed] - There should be a warning message when the user is applying the same filter again and again.
|
||||
|
||||
* #5365 [fixed] - Issue in price filter for configurable type product
|
||||
|
||||
* #5353 [fixed] - Shipping::rates protected variable is not cleared on Shipping::removeAllShippingRates()
|
||||
|
||||
* #5350 [fixed] - The product price should be correct after exporting to excel.
|
||||
|
||||
* #5347 [fixed] - Images are coming out to be same at the cross sell products.
|
||||
|
||||
* #5342 [fixed] - admin (RTL) - menu not apears
|
||||
|
||||
* #5328 [fixed] - SKU is still visible at the adding new product when it is disabled.
|
||||
|
||||
* #5325 [fixed] - Delete profile modal content data visible and then suddenly hide
|
||||
|
||||
* #5316 [fixed] - In Front end Order details, Order id is having a lot of space.
|
||||
|
||||
* #5315 [fixed] - Quantity issue in product shipment.
|
||||
|
||||
* #5312 [fixed] - Issue in sub-category for mobile view
|
||||
|
||||
* #5311 [fixed] - Total weight is null in shipment table
|
||||
|
||||
* #5307 [fixed] - Flat Rate calculation type in admin configurations
|
||||
|
||||
* #5305 [fixed] - Cart Set Shipping API
|
||||
|
||||
* #5289 [fixed] - Quantity should be updated on ' Shopping Cart ' page
|
||||
|
||||
* #5261 [fixed] - Side filter is getting detached from the category product listing in mobile
|
||||
|
||||
* #5259 [fixed] - Responsive issue in user Profile - Velocity
|
||||
|
||||
* #5233 [fixed] - Issue if create product for multiple channel
|
||||
|
||||
* #5232 [fixed] - App config.php has bad reference to ProductGrid::class
|
||||
|
||||
* #5226 [fixed] - Not able to send the products to wishlist from compare page if the product is not on the first position
|
||||
|
||||
* #5210 [fixed] - UI Issue in search bar in order section at customer's end.
|
||||
|
||||
* #5209 [fixed] - There is no way to access Admin panel if there is only one admin and he try to modify the role of Administrator and allow limited access.
|
||||
|
||||
* #5208 [fixed] - UI Issue in bliss theme - Product View Page
|
||||
|
||||
* #5200 [fixed] - getting API error after opening categories named category
|
||||
|
||||
* #5198 [fixed] - Wrong phpdoc reference in Webkul\Core\Core to CustomerGroupRepository
|
||||
|
||||
* #5197 [fixed] - There is no way to log out for 2nd user of Admin if he himself modify his roles and remove some or all privileges.
|
||||
|
||||
* #5194 [fixed] - Getting exception when exporting a product from the admin panel
|
||||
|
||||
* #5191 [fixed] - Issue is in checkbox type attribute
|
||||
|
||||
* #5180 [fixed] - Some code appears in starting when clicking on the any product edit page
|
||||
|
||||
* #5179 [fixed] - Cart items get increased when navigating away from the buy now functionality
|
||||
|
||||
* #5178 [fixed] - API for customers to cancel order
|
||||
|
||||
* #5047 [fixed] - Order status gets complete when shipment is generated in case of pending invoice
|
||||
|
||||
## **v1.3.3 (27th of September 2021)** - *Release*
|
||||
|
||||
* #5008 [feature] - Image upload option with editor.
|
||||
|
|
|
|||
|
|
@ -162,6 +162,11 @@ return [
|
|||
*/
|
||||
'editor' => 'vscode',
|
||||
|
||||
/*
|
||||
*Application Version
|
||||
*/
|
||||
'version' => env('APP_VERSION', '1.x-dev'),
|
||||
|
||||
/**
|
||||
* Blacklisting attributes while debugging
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -79,6 +79,7 @@ return [
|
|||
*/
|
||||
|
||||
'failed' => [
|
||||
'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'),
|
||||
'database' => env('DB_CONNECTION', 'mysql'),
|
||||
'table' => 'failed_jobs',
|
||||
],
|
||||
|
|
|
|||
|
|
@ -0,0 +1,36 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class CreateFailedJobsTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('failed_jobs', function (Blueprint $table) {
|
||||
$table->id();
|
||||
$table->string('uuid')->unique();
|
||||
$table->text('connection');
|
||||
$table->text('queue');
|
||||
$table->longText('payload');
|
||||
$table->longText('exception');
|
||||
$table->timestamp('failed_at')->useCurrent();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('failed_jobs');
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12Z" fill="#FFFFFF"/>
|
||||
<path d="M16 10L12 14L8 10" stroke="#000000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 355 B |
|
|
@ -0,0 +1,4 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12Z" fill="#FFFFFF"/>
|
||||
<path d="M16 13L12 9L8 13" stroke="#000000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 354 B |
|
|
@ -0,0 +1,11 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_2:540)">
|
||||
<path d="M12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0Z" fill="#FFFFFF"/>
|
||||
<path d="M13.5 17.5L8.5 12.5L13.5 7.5" stroke="#000000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_2:540">
|
||||
<rect width="24" height="24" fill="#000000"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 505 B |
|
|
@ -0,0 +1,11 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_2:543)">
|
||||
<path d="M12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0Z" fill="#FFFFFF"/>
|
||||
<path d="M10.5 17.5L15.5 12.5L10.5 7.5" stroke="#000000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_2:543">
|
||||
<rect width="24" height="24" fill="#000000"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 506 B |
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"/js/admin.js": "/js/admin.js?id=7d73f64f6f160ecd8a23",
|
||||
"/css/admin.css": "/css/admin.css?id=c541338bb74772040a29"
|
||||
"/css/admin.css": "/css/admin.css?id=5fc68c20019f02de7af3"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -166,7 +166,6 @@ class CategoryDataGrid extends DataGrid
|
|||
'route' => 'admin.catalog.categories.delete',
|
||||
'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'product']),
|
||||
'icon' => 'icon trash-icon',
|
||||
'function' => 'deleteCategory(event, "delete")'
|
||||
]);
|
||||
|
||||
$this->addMassAction([
|
||||
|
|
|
|||
|
|
@ -0,0 +1,4 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12Z" fill="#FFFFFF"/>
|
||||
<path d="M16 10L12 14L8 10" stroke="#000000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 355 B |
|
|
@ -0,0 +1,4 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12Z" fill="#FFFFFF"/>
|
||||
<path d="M16 13L12 9L8 13" stroke="#000000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 354 B |
|
|
@ -0,0 +1,11 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_2:540)">
|
||||
<path d="M12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0Z" fill="#FFFFFF"/>
|
||||
<path d="M13.5 17.5L8.5 12.5L13.5 7.5" stroke="#000000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_2:540">
|
||||
<rect width="24" height="24" fill="#000000"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 505 B |
|
|
@ -0,0 +1,11 @@
|
|||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<g clip-path="url(#clip0_2:543)">
|
||||
<path d="M12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0Z" fill="#FFFFFF"/>
|
||||
<path d="M10.5 17.5L15.5 12.5L10.5 7.5" stroke="#000000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_2:543">
|
||||
<rect width="24" height="24" fill="#000000"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 506 B |
|
|
@ -43,7 +43,7 @@
|
|||
ul.menubar {
|
||||
li.menu-item {
|
||||
|
||||
>a {
|
||||
> a {
|
||||
padding: 5px 2px;
|
||||
display: block;
|
||||
color: $black;
|
||||
|
|
@ -302,6 +302,14 @@
|
|||
color: $font-color;
|
||||
border-top: solid 1px $border-color;
|
||||
border-bottom: solid 1px $border-color;
|
||||
|
||||
.accordian-up-icon {
|
||||
background-image: url(../images/Accordion-Dark-Arrow-Up.svg);
|
||||
}
|
||||
|
||||
.accordian-down-icon {
|
||||
background-image: url(../images/Accordion-Dark-Arrow-Up.svg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -403,6 +411,13 @@
|
|||
}
|
||||
}
|
||||
|
||||
.btn {
|
||||
&.btn-primary {
|
||||
background: $white;
|
||||
color: $black;
|
||||
}
|
||||
}
|
||||
|
||||
.control-container {
|
||||
.control {
|
||||
background: $black;
|
||||
|
|
@ -754,12 +769,25 @@
|
|||
}
|
||||
|
||||
.control-group input:checked+.slider {
|
||||
background-color: $dark-mode-switch-background !important;
|
||||
background-color: $dark-mode-left-menubar-active-background-color !important;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-left {
|
||||
.menubar-bottom {
|
||||
background-color: $dark-bg;
|
||||
|
||||
.accordian-left-icon {
|
||||
background-image: url(../images/dark-chevron-left.svg);
|
||||
}
|
||||
|
||||
.accordian-right-icon {
|
||||
background-image: url(../images/dark-chevron-right.svg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rtl.dark-mode {
|
||||
|
||||
.navbar-left {
|
||||
background-color: $dark-bg;
|
||||
border-right: 1px solid $dark-bg;
|
||||
|
|
@ -767,7 +795,7 @@
|
|||
ul.menubar {
|
||||
li.menu-item {
|
||||
|
||||
>a {
|
||||
> a {
|
||||
padding: 5px 2px;
|
||||
display: block;
|
||||
color: $black;
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ body {
|
|||
}
|
||||
|
||||
.padding-container-navbar-expand {
|
||||
padding-left: 200px !important;
|
||||
padding-left: 210px !important;
|
||||
}
|
||||
|
||||
.rtl {
|
||||
|
|
@ -24,7 +24,7 @@ body {
|
|||
}
|
||||
|
||||
.padding-container-navbar-expand {
|
||||
padding-right: 200px !important;
|
||||
padding-right: 210px !important;
|
||||
padding-left: 0px !important;
|
||||
}
|
||||
}
|
||||
|
|
@ -217,11 +217,13 @@ body {
|
|||
> a {
|
||||
color: $black;
|
||||
width: 100%;
|
||||
display: block;
|
||||
|
||||
.icon {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
transform: scale(0.7);
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
.menu-label {
|
||||
|
|
@ -307,7 +309,8 @@ body {
|
|||
position: fixed;
|
||||
bottom: 0;
|
||||
background-color: $white;
|
||||
width: 56px;
|
||||
width: 55px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
&.open {
|
||||
|
|
@ -444,6 +447,16 @@ body {
|
|||
.locale {
|
||||
float: right;
|
||||
color: $role-text-color;
|
||||
position: relative;
|
||||
right: 30%;
|
||||
}
|
||||
}
|
||||
|
||||
&.have-wysiwyg {
|
||||
label {
|
||||
.locale {
|
||||
position: unset;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -201,6 +201,8 @@
|
|||
|
||||
.control-group label .locale {
|
||||
float: left;
|
||||
right: unset;
|
||||
left: 30%;
|
||||
}
|
||||
|
||||
.multiselect {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
@php
|
||||
$locale = core()->getRequestedLocaleCode();
|
||||
$locale = core()->getRequestedLocaleCode();
|
||||
@endphp
|
||||
|
||||
@extends('admin::layouts.content')
|
||||
|
|
@ -12,11 +12,14 @@
|
|||
<div class="content">
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
<h1>{{ __('admin::app.catalog.categories.title') }}</h1>
|
||||
<h1>{{ __('admin::app.catalog.categories.title') }}</h1>
|
||||
</div>
|
||||
|
||||
<div class="page-action">
|
||||
<a href="{{ route('admin.catalog.categories.create') }}" class="btn btn-lg btn-primary">
|
||||
<a
|
||||
href="{{ route('admin.catalog.categories.create') }}"
|
||||
class="btn btn-lg btn-primary"
|
||||
>
|
||||
{{ __('admin::app.catalog.categories.add-title') }}
|
||||
</a>
|
||||
</div>
|
||||
|
|
@ -34,7 +37,7 @@
|
|||
|
||||
@push('scripts')
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
$(document).ready(function() {
|
||||
$("input[type='checkbox']").change(deleteCategory);
|
||||
});
|
||||
|
||||
|
|
@ -60,13 +63,13 @@
|
|||
|
||||
if (indexes) {
|
||||
$.ajax({
|
||||
type : 'POST',
|
||||
url : '{{ route("admin.catalog.categories.product.count") }}',
|
||||
data : {
|
||||
_token: '{{csrf_token()}}',
|
||||
type: 'POST',
|
||||
url: '{{ route('admin.catalog.categories.product.count') }}',
|
||||
data: {
|
||||
_token: '{{ csrf_token() }}',
|
||||
indexes: indexes
|
||||
},
|
||||
success:function(data) {
|
||||
success: function(data) {
|
||||
$("input[type='checkbox']").attr('disabled', false);
|
||||
if (data.product_count > 0) {
|
||||
let message = "{{ trans('ui::app.datagrid.massaction.delete-category-product') }}";
|
||||
|
|
@ -74,7 +77,7 @@
|
|||
if (type == 'delete') {
|
||||
doAction(e, message);
|
||||
} else {
|
||||
$('form').attr('onsubmit', 'return confirm("'+message+'")');
|
||||
$('form').attr('onsubmit', 'return confirm("' + message + '")');
|
||||
}
|
||||
} else {
|
||||
let message = "{{ __('ui::app.datagrid.click_on_action') }}";
|
||||
|
|
@ -82,7 +85,7 @@
|
|||
if (type == 'delete') {
|
||||
doAction(e, message);
|
||||
} else {
|
||||
$('form').attr('onsubmit', 'return confirm("'+message+'")');
|
||||
$('form').attr('onsubmit', 'return confirm("' + message + '")');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -92,41 +95,6 @@
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Do action function. Not directly calling the datagrid components.
|
||||
* Instead taking a copy and using in this scope.
|
||||
*/
|
||||
function doAction (e, message, type) {
|
||||
let element = e.currentTarget;
|
||||
|
||||
if (message) {
|
||||
element = e.target.parentElement;
|
||||
}
|
||||
|
||||
message = message || '{{ __('ui::app.datagrid.massaction.delete') }}';
|
||||
|
||||
if (confirm(message)) {
|
||||
axios.post(element.getAttribute('data-action'), {
|
||||
_token: element.getAttribute('data-token'),
|
||||
_method: element.getAttribute('data-method')
|
||||
}).then(function (response) {
|
||||
this.result = response;
|
||||
|
||||
if (response.data.redirect) {
|
||||
window.location.href = response.data.redirect;
|
||||
} else {
|
||||
location.reload();
|
||||
}
|
||||
}).catch(function (error) {
|
||||
location.reload();
|
||||
});
|
||||
|
||||
e.preventDefault();
|
||||
} else {
|
||||
e.preventDefault();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Reload page.
|
||||
*/
|
||||
|
|
@ -138,4 +106,4 @@
|
|||
window.location.href = url.href;
|
||||
}
|
||||
</script>
|
||||
@endpush
|
||||
@endpush
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@
|
|||
|
||||
@if (view()->exists($typeView = 'admin::catalog.products.field-types.' . $attribute->type))
|
||||
|
||||
<div class="control-group {{ $attribute->type }}"
|
||||
<div class="control-group {{ $attribute->type }} {{ $attribute->enable_wysiwyg ? 'have-wysiwyg' : '' }}"
|
||||
@if ($attribute->type == 'multiselect') :class="[errors.has('{{ $attribute->code }}[]') ? 'has-error' : '']"
|
||||
@else :class="[errors.has('{{ $attribute->code }}') ? 'has-error' : '']" @endif>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,14 @@
|
|||
<script type="text/x-template" id="export-form-template">
|
||||
<script
|
||||
type="text/x-template"
|
||||
id="export-form-template"
|
||||
>
|
||||
<form method="POST" action="{{ route('admin.datagrid.export', ['locale' => core()->getRequestedLocaleCode()]) }}" @submit.prevent="onSubmit">
|
||||
<div class="page-content">
|
||||
<div class="form-container">
|
||||
@csrf()
|
||||
|
||||
<input type="hidden" name="datagridUrl" :value="datagridUrl">
|
||||
|
||||
<input type="hidden" name="gridName" value="{{ get_class($gridName) }}">
|
||||
|
||||
<div class="control-group">
|
||||
|
|
@ -29,16 +34,67 @@
|
|||
Vue.component('export-form', {
|
||||
template: '#export-form-template',
|
||||
|
||||
data: function() {
|
||||
return {
|
||||
id: btoa("{{ url()->current() }}"),
|
||||
datagridUrl: "{{ url()->current() }}"
|
||||
}
|
||||
},
|
||||
|
||||
mounted: function() {
|
||||
this.datagridUrl = this.getCurrentDatagridInfo() ? this.getCurrentDatagridInfo()?.previousUrl : "{{ url()->current() }}";
|
||||
},
|
||||
|
||||
methods: {
|
||||
onSubmit: function(e) {
|
||||
var self = this;
|
||||
let self = this;
|
||||
|
||||
e.target.submit();
|
||||
|
||||
setTimeout(function() {
|
||||
self.$root.$set(self.$root.modalIds, 'downloadDataGrid', false);
|
||||
}, 0);
|
||||
}
|
||||
},
|
||||
|
||||
getDatagridsInfoStorageKey: function() {
|
||||
return 'datagridsInfo';
|
||||
},
|
||||
|
||||
getCurrentDatagridInfo: function() {
|
||||
let datagridsInfo = this.getDatagridsInfo();
|
||||
|
||||
return this.isCurrentDatagridInfoExists() ?
|
||||
datagridsInfo.find(({
|
||||
id
|
||||
}) => id === this.id) :
|
||||
null;
|
||||
},
|
||||
|
||||
getDatagridsInfo: function() {
|
||||
let storageInfo = localStorage.getItem(
|
||||
this.getDatagridsInfoStorageKey()
|
||||
);
|
||||
|
||||
return !this.isValidJsonString(storageInfo) ? [] :
|
||||
JSON.parse(storageInfo) ?? [];
|
||||
},
|
||||
|
||||
isValidJsonString: function(str) {
|
||||
try {
|
||||
JSON.parse(str);
|
||||
} catch (e) {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
},
|
||||
|
||||
isCurrentDatagridInfoExists: function() {
|
||||
let datagridsInfo = this.getDatagridsInfo();
|
||||
|
||||
return !!datagridsInfo.find(({
|
||||
id
|
||||
}) => id === this.id);
|
||||
},
|
||||
}
|
||||
});
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -67,7 +67,6 @@
|
|||
<script>
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
$(".menubar-anchor").click(function() {
|
||||
if ( $(this).parent().attr('class') == 'menu-item active' ) {
|
||||
$(this).parent().removeClass('active');
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@
|
|||
<td>
|
||||
<div class="control-group" :class="[errors.has('booking[slots][' + index + '][to]') ? 'has-error' : '']">
|
||||
<time-component>
|
||||
<input type="text" v-validate="parseInt(slots.many[index].status) ? 'required': ''" :name="'booking[slots][' + index + '][to]'" class="control" v-model="slots.many[index].to" data-vv-as=""{{ __('bookingproduct::app.admin.catalog.products.to') }}"">
|
||||
<input type="text" v-validate="parseInt(slots.many[index].status) ? {required: true, time_min: slots.many[index].from } : ''" :name="'booking[slots][' + index + '][to]'" class="control" v-model="slots.many[index].to" data-vv-as=""{{ __('bookingproduct::app.admin.catalog.products.to') }}"">
|
||||
</time-component>
|
||||
|
||||
<span class="control-error" v-if="errors.has('booking[slots][' + index + '][to]')">
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@ class Cart
|
|||
/**
|
||||
* Product repository instance.
|
||||
*
|
||||
* @var \Webkul\Checkout\Repositories\ProductRepository
|
||||
* @var \Webkul\Product\Repositories\ProductRepository
|
||||
*/
|
||||
protected $productRepository;
|
||||
|
||||
|
|
|
|||
|
|
@ -149,7 +149,7 @@ class Core
|
|||
*/
|
||||
public function version()
|
||||
{
|
||||
return static::BAGISTO_VERSION;
|
||||
return config('app.version');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -2,27 +2,16 @@
|
|||
|
||||
namespace Webkul\Notification\Events;
|
||||
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use Illuminate\Broadcasting\Channel;
|
||||
use Illuminate\Foundation\Events\Dispatchable;
|
||||
use Illuminate\Broadcasting\InteractsWithSockets;
|
||||
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
|
||||
use Illuminate\Foundation\Events\Dispatchable;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
|
||||
class CreateOrderNotification implements ShouldBroadcast
|
||||
{
|
||||
use Dispatchable, InteractsWithSockets, SerializesModels;
|
||||
|
||||
|
||||
/**
|
||||
* Create a new event instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the channels the event should broadcast on.
|
||||
*
|
||||
|
|
@ -33,7 +22,13 @@ class CreateOrderNotification implements ShouldBroadcast
|
|||
return new Channel('notification');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Seperate queue.
|
||||
*
|
||||
* Command: `php artisan queue:work --queue=broadcastable`
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function broadcastQueue()
|
||||
{
|
||||
return 'broadcastable';
|
||||
|
|
@ -42,7 +37,7 @@ class CreateOrderNotification implements ShouldBroadcast
|
|||
/**
|
||||
* Get the channels the event should broadcast as.
|
||||
*
|
||||
* @return broadcast name
|
||||
* @return string
|
||||
*/
|
||||
public function broadcastAs()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
namespace Webkul\Notification\Events;
|
||||
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
use Illuminate\Broadcasting\Channel;
|
||||
use Illuminate\Foundation\Events\Dispatchable;
|
||||
use Illuminate\Broadcasting\InteractsWithSockets;
|
||||
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
|
||||
use Illuminate\Foundation\Events\Dispatchable;
|
||||
use Illuminate\Queue\SerializesModels;
|
||||
|
||||
class UpdateOrderNotification implements ShouldBroadcast
|
||||
{
|
||||
|
|
@ -34,7 +34,7 @@ class UpdateOrderNotification implements ShouldBroadcast
|
|||
return new Channel('notification');
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* Broadcast with data.
|
||||
*
|
||||
* @return array
|
||||
|
|
@ -44,16 +44,25 @@ class UpdateOrderNotification implements ShouldBroadcast
|
|||
return $this->data;
|
||||
}
|
||||
|
||||
public function broadcastQueue () {
|
||||
/**
|
||||
* Seperate queue.
|
||||
*
|
||||
* Command: `php artisan queue:work --queue=broadcastable`
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
public function broadcastQueue()
|
||||
{
|
||||
return 'broadcastable';
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the channels the event should broadcast as.
|
||||
*
|
||||
* @return broadcast name
|
||||
* @return string
|
||||
*/
|
||||
public function broadcastAs () {
|
||||
public function broadcastAs()
|
||||
{
|
||||
return 'update-notification';
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"/js/ui.js": "/js/ui.js?id=72f4ff44ad3698911872",
|
||||
"/css/ui.css": "/css/ui.css?id=e2aba6492905df892f66"
|
||||
"/js/ui.js": "/js/ui.js?id=b3cbdf5567c0a5800de1",
|
||||
"/css/ui.css": "/css/ui.css?id=bd09631c82c50b02445f"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ trait ProvideQueryStringParser
|
|||
{
|
||||
$route = request()->route() ? request()->route()->getName() : '';
|
||||
|
||||
$queryString = $this->grabQueryStrings($route == 'admin.datagrid.export' ? url()->previous() : url()->full());
|
||||
$queryString = $this->grabQueryStrings($route == 'admin.datagrid.export' ? request()->get('datagridUrl') : url()->full());
|
||||
|
||||
$parsedQueryStrings = $this->parseQueryStrings($queryString);
|
||||
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 264 B |
|
Before Width: | Height: | Size: 518 B |
|
Before Width: | Height: | Size: 513 B |
|
|
@ -522,7 +522,7 @@
|
|||
<span
|
||||
class="massaction-remove"
|
||||
v-on:click="removeMassActions"
|
||||
style="margin-right: 10px; margin-top: 3px"
|
||||
style="margin-right: 10px; margin-top: 5px"
|
||||
>
|
||||
<span
|
||||
class="icon checkbox-dash-icon"
|
||||
|
|
@ -620,6 +620,7 @@
|
|||
type="checkbox"
|
||||
v-model="allSelected"
|
||||
v-on:change="selectAll"
|
||||
:disabled="!records.data.length"
|
||||
/>
|
||||
|
||||
<label
|
||||
|
|
@ -718,11 +719,7 @@
|
|||
"
|
||||
v-on:click="
|
||||
action.method != 'GET'
|
||||
? typeof action.function !==
|
||||
'undefined' &&
|
||||
action.function
|
||||
? action.function
|
||||
: doAction($event)
|
||||
? doAction($event)
|
||||
: {}
|
||||
"
|
||||
:data-method="action.method"
|
||||
|
|
@ -880,9 +877,13 @@ export default {
|
|||
let datagridInfo = this.getCurrentDatagridInfo();
|
||||
|
||||
if (datagridInfo) {
|
||||
this.filterCurrentDatagridFromDatagridsInfo();
|
||||
/**
|
||||
* Will check this later. Don't remove it.
|
||||
*/
|
||||
// this.filterCurrentDatagridFromDatagridsInfo();
|
||||
|
||||
this.url = datagridInfo.previousUrl;
|
||||
this.filters = datagridInfo.previousFilters;
|
||||
}
|
||||
} else {
|
||||
let datagridsInfo = this.getDatagridsInfo();
|
||||
|
|
@ -928,6 +929,7 @@ export default {
|
|||
getDatagridsInfoDefaults: function() {
|
||||
return {
|
||||
id: this.id,
|
||||
previousFilters: this.filters,
|
||||
previousUrl: this.url
|
||||
};
|
||||
},
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@
|
|||
}
|
||||
|
||||
.accordian-right-icon {
|
||||
background-image: url("../images/chevron-right.png");
|
||||
background-image: url("../images/chevron-right.svg");
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
{
|
||||
"/js/jquery-ez-plus.js": "/js/jquery-ez-plus.js?id=ba3c7cada62de152fd8fce211d0b1b70",
|
||||
"/js/velocity-core.js": "/js/velocity-core.js?id=73cc7c3501570ebe9151c72d954bd97d",
|
||||
"/js/velocity.js": "/js/velocity.js?id=ac985a4662e87e724291df2a253941e3",
|
||||
"/js/velocity.js": "/js/velocity.js?id=7322a300b7abd91c0f4566dca15157d0",
|
||||
"/js/manifest.js": "/js/manifest.js?id=3cded37ef514b0fb89b10e7109801248",
|
||||
"/js/components.js": "/js/components.js?id=f68dd472b8f0ef2f0199f62f49ba9d91",
|
||||
"/css/velocity.css": "/css/velocity.css?id=45bc25fe8f8b1199764ae43cad033da4",
|
||||
"/js/components.js": "/js/components.js?id=13b9830a81895f01341599d02ece594b",
|
||||
"/css/velocity.css": "/css/velocity.css?id=b52d15b7e354ab4d33f797d00df3ab2a",
|
||||
"/css/velocity-admin.css": "/css/velocity-admin.css?id=b67a82956e53163b5e3ff45a44f9778f",
|
||||
"/images/icon-calendar.svg": "/images/icon-calendar.svg?id=870d0f733a58377422766f3152e15486",
|
||||
"/images/icon-camera.svg": "/images/icon-camera.svg?id=b2fd2f9e17e1ccee96e29f6c6cec91e8",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
|
||||
<div :class="`row mb15 col-12 ${rowClass}`">
|
||||
<div :class="`row mb15 col-12 carousel-products-header ${rowClass}`">
|
||||
<div class="col-4 no-padding" v-if="tabs || viewAll || scrollable">
|
||||
<h2 class="fs20 fw6">{{ headerHeading }}</h2>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -67,7 +67,7 @@
|
|||
{{ product.new }}
|
||||
</div>
|
||||
|
||||
<div class="product-price fs16" v-html="product.priceHTML"></div>
|
||||
<div v-html="product.priceHTML"></div>
|
||||
|
||||
<div
|
||||
class="product-rating col-12 no-padding"
|
||||
|
|
|
|||
|
|
@ -10,24 +10,26 @@
|
|||
v-text="quantityText"
|
||||
></label>
|
||||
|
||||
<button type="button" class="decrease" @click="decreaseQty()">
|
||||
<i class="rango-minus"></i>
|
||||
</button>
|
||||
<div class="input-btn-group">
|
||||
<button type="button" class="decrease" @click="decreaseQty()">
|
||||
<i class="rango-minus"></i>
|
||||
</button>
|
||||
|
||||
<input
|
||||
ref="quantityChanger"
|
||||
:name="controlName"
|
||||
:model="qty"
|
||||
class="control"
|
||||
id="quantity-changer"
|
||||
v-validate="validations"
|
||||
:data-vv-as="`"${quantityText}"`"
|
||||
@keyup="setQty($event)"
|
||||
/>
|
||||
<input
|
||||
ref="quantityChanger"
|
||||
:name="controlName"
|
||||
:model="qty"
|
||||
class="control"
|
||||
id="quantity-changer"
|
||||
v-validate="validations"
|
||||
:data-vv-as="`"${quantityText}"`"
|
||||
@keyup="setQty($event)"
|
||||
/>
|
||||
|
||||
<button type="button" class="increase" @click="increaseQty()">
|
||||
<i class="rango-plus"></i>
|
||||
</button>
|
||||
<button type="button" class="increase" @click="increaseQty()">
|
||||
<i class="rango-plus"></i>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<span class="control-error" v-if="errors.has(controlName)">{{
|
||||
errors.first(controlName)
|
||||
|
|
|
|||
|
|
@ -236,6 +236,21 @@ label {
|
|||
.dropdown-list {
|
||||
top: 40px;
|
||||
right: 10px;
|
||||
|
||||
.modal-header {
|
||||
padding: 20px;
|
||||
}
|
||||
|
||||
.content {
|
||||
padding: 5px 20px 15px 20px;
|
||||
}
|
||||
|
||||
.modal-footer {
|
||||
.theme-btn {
|
||||
width: 50%;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -263,6 +278,7 @@ label {
|
|||
padding-left: 5px;
|
||||
position: relative;
|
||||
padding-right: 15px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.dropdown {
|
||||
|
|
@ -931,14 +947,14 @@ i.within-circle {
|
|||
.form-style {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 34px;
|
||||
height: 36px;
|
||||
padding: 6px 12px;
|
||||
font-size: 14px;
|
||||
font-size: 16px;
|
||||
line-height: 1.42857143;
|
||||
color: #555;
|
||||
color: rgba(0, 0, 0, 0.83);
|
||||
background-color: #fff;
|
||||
background-image: none;
|
||||
border: 1px solid #ccc;
|
||||
border: 1px solid #DCDCDC;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -283,13 +283,14 @@
|
|||
.product-name,
|
||||
.product-rating {
|
||||
width: 15rem;
|
||||
margin-bottom: 2px;
|
||||
overflow: hidden;
|
||||
white-space: nowrap;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.product-price {
|
||||
height: 72px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -339,7 +340,7 @@
|
|||
|
||||
span {
|
||||
left: 32%;
|
||||
top: -26px;
|
||||
top: -28px;
|
||||
z-index: 1;
|
||||
font-size: 16px;
|
||||
color: #ffffff;
|
||||
|
|
@ -403,84 +404,59 @@
|
|||
padding: 5px 15px 10px 0;
|
||||
}
|
||||
|
||||
button {
|
||||
border: 1px solid #DCDCDC;
|
||||
padding: 7px;
|
||||
background: transparent;
|
||||
text-align: center;
|
||||
.input-btn-group {
|
||||
button {
|
||||
border: 1px solid #dcdcdc;
|
||||
padding: 7px;
|
||||
background: transparent;
|
||||
text-align: center;
|
||||
|
||||
&.decrease {
|
||||
&.decrease {
|
||||
border-right: 0;
|
||||
}
|
||||
|
||||
&.increase {
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:active,
|
||||
&:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.rango-plus,
|
||||
.rango-minus {
|
||||
font-size: 20px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
input {
|
||||
border: 1px solid #dcdcdc;
|
||||
border-right: 0;
|
||||
}
|
||||
|
||||
&.increase {
|
||||
border-left: 0;
|
||||
}
|
||||
|
||||
&:hover,
|
||||
&:active,
|
||||
&:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.rango-plus,
|
||||
.rango-minus {
|
||||
font-size: 20px;
|
||||
vertical-align: middle;
|
||||
max-width: 50px;
|
||||
height: 38px;
|
||||
margin-left: -5px;
|
||||
margin-right: -5px;
|
||||
vertical-align: top;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
||||
input {
|
||||
border: 1px solid #DCDCDC;
|
||||
border-right: 0;
|
||||
border-left: 0;
|
||||
max-width: 50px;
|
||||
height: 38px;
|
||||
margin-left: -5px;
|
||||
margin-right: -5px;
|
||||
vertical-align: top;
|
||||
text-align: center;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
&.has-error {
|
||||
button {
|
||||
border-color: #fc6868;
|
||||
color: #fc6868;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
// button,
|
||||
// input {
|
||||
// @extend .btn;
|
||||
|
||||
// height: 35px;
|
||||
// border-radius: 2px;
|
||||
// vertical-align: top;
|
||||
// padding: 0 10px !important;
|
||||
// font-size: 24px !important;
|
||||
// font-weight: 600 !important;
|
||||
// color: $black-color !important;
|
||||
// background-color: $white-color;
|
||||
// border: 1px solid $border-common !important;
|
||||
// }
|
||||
|
||||
// input {
|
||||
// max-width: 50px;
|
||||
// cursor: default;
|
||||
// font-size: 16px !important;
|
||||
// text-align: center;
|
||||
// margin-left: -5px;
|
||||
// margin-right: -5px;
|
||||
// }
|
||||
|
||||
// button:hover {
|
||||
// background-color: #f5f5f5 !important;
|
||||
// }
|
||||
|
||||
// button:active,
|
||||
// button:focus,
|
||||
// input:active,
|
||||
// input:focus {
|
||||
// outline: none !important;
|
||||
// box-shadow: none !important;
|
||||
// }
|
||||
.control-error {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
.form-container {
|
||||
|
|
@ -491,7 +467,7 @@
|
|||
|
||||
.heading {
|
||||
width: 100%;
|
||||
margin-bottom: 35px;
|
||||
margin-bottom: 28px;
|
||||
display: inline-block;
|
||||
|
||||
h2 {
|
||||
|
|
@ -518,10 +494,6 @@
|
|||
form {
|
||||
> div {
|
||||
padding-bottom: 20px;
|
||||
|
||||
input {
|
||||
border: 1px solid $border-dark;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -625,7 +597,7 @@
|
|||
width: 350px;
|
||||
right: 0;
|
||||
position: absolute;
|
||||
border-top: 4px solid #26A37C;
|
||||
border-top: 4px solid #26a37c;
|
||||
|
||||
.close {
|
||||
top: 12px;
|
||||
|
|
@ -676,7 +648,7 @@
|
|||
border-radius: 50%;
|
||||
position: absolute;
|
||||
background: #111111;
|
||||
color: #FFFFFF;
|
||||
color: #ffffff;
|
||||
padding: 0px 4px;
|
||||
|
||||
.rango-close {
|
||||
|
|
@ -703,7 +675,7 @@
|
|||
margin-bottom: 30px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
h2 {
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
|
||||
|
|
@ -726,7 +698,7 @@
|
|||
|
||||
.product-quantity {
|
||||
.quantity {
|
||||
display: inline-flex;
|
||||
display: inline-block;
|
||||
width: unset;
|
||||
float: right;
|
||||
|
||||
|
|
@ -752,6 +724,7 @@
|
|||
> .row:last-child {
|
||||
padding-bottom: 20px;
|
||||
border-bottom: 2px solid $border-general;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.product-image-container {
|
||||
|
|
@ -790,7 +763,7 @@
|
|||
.item-actions {
|
||||
margin-top: 12px !important;
|
||||
|
||||
.d-inline-block {
|
||||
.d-inline-block {
|
||||
float: left;
|
||||
|
||||
&:first-child {
|
||||
|
|
@ -802,6 +775,10 @@
|
|||
margin-left: -2px;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.rango-delete {
|
||||
margin-left: -2px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1321,13 +1298,16 @@
|
|||
.checkout-process {
|
||||
padding: 40px 20px;
|
||||
|
||||
.col-lg-7 {
|
||||
.coupon-container,
|
||||
> div:not(:first-child) {
|
||||
margin-top: 20px;
|
||||
.accordian-header {
|
||||
h3 {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.coupon-container {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-weight: 600;
|
||||
margin-bottom: 30px;
|
||||
|
|
@ -1434,7 +1414,9 @@
|
|||
}
|
||||
|
||||
label {
|
||||
font-size: 16px;
|
||||
font-weight: 500;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
input[type='text'],
|
||||
|
|
@ -1444,6 +1426,7 @@
|
|||
width: 100%;
|
||||
resize: none;
|
||||
font-size: 16px;
|
||||
height: 36px;
|
||||
padding: 5px 16px;
|
||||
border-radius: 1px;
|
||||
background: $button-text-color;
|
||||
|
|
@ -1592,15 +1575,23 @@
|
|||
}
|
||||
|
||||
.product-price {
|
||||
display: inline-block;
|
||||
|
||||
.price-label {
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
.regular-price {
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
margin-right: 10px;
|
||||
text-decoration: line-through;
|
||||
display: block;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.special-price {
|
||||
display: inline-block;
|
||||
margin-right: 10px;
|
||||
float: left;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -1631,11 +1622,13 @@
|
|||
|
||||
span {
|
||||
&.price-label {
|
||||
font-size: 16px;
|
||||
font-size: 14px !important;
|
||||
font-weight: 500 !important;
|
||||
}
|
||||
|
||||
&.final-price {
|
||||
font-size: 30px;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1935,13 +1928,6 @@
|
|||
|
||||
.quantity {
|
||||
border-top: 0;
|
||||
|
||||
&.has-error {
|
||||
button {
|
||||
border-color: #fc6868;
|
||||
color: #fc6868;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.control-error {
|
||||
|
|
@ -2366,6 +2352,14 @@
|
|||
}
|
||||
}
|
||||
|
||||
.full-content-wrapper {
|
||||
.container-fluid {
|
||||
.row.carousel-products-header {
|
||||
padding-right: 75px !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.carousel-products {
|
||||
+ .recently-viewed {
|
||||
top: -40px;
|
||||
|
|
@ -2381,6 +2375,24 @@
|
|||
.VueCarousel-slide {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
.VueCarousel-navigation {
|
||||
position: absolute;
|
||||
right: 12px;
|
||||
top: -49px;
|
||||
|
||||
.VueCarousel-navigation-button {
|
||||
position: unset !important;
|
||||
transform: none !important;
|
||||
padding: 0 !important;
|
||||
margin: 0 !important;
|
||||
|
||||
|
||||
span {
|
||||
font-size: 24px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.vue-slider {
|
||||
|
|
@ -2530,6 +2542,11 @@
|
|||
}
|
||||
|
||||
@media only screen and (max-width: 720px) {
|
||||
.product-quantity {
|
||||
.input-btn-group {
|
||||
display: flex;
|
||||
}
|
||||
}
|
||||
.cp-spinner {
|
||||
left: 50%;
|
||||
margin-left: -24px;
|
||||
|
|
|
|||
|
|
@ -271,10 +271,6 @@
|
|||
list-style-type: none;
|
||||
|
||||
li {
|
||||
&:last-child {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
a {
|
||||
padding: 8px 12px;
|
||||
font-size: 16px;
|
||||
|
|
|
|||
|
|
@ -851,12 +851,6 @@
|
|||
padding: 0;
|
||||
}
|
||||
|
||||
.accordian-header {
|
||||
h3 {
|
||||
margin-bottom: 0 !important;
|
||||
}
|
||||
}
|
||||
|
||||
.billing-address {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -177,15 +177,6 @@ body {
|
|||
text-align: left;
|
||||
}
|
||||
}
|
||||
|
||||
+ .account-modal {
|
||||
width: 100% !important;
|
||||
right: unset;
|
||||
|
||||
.modal-content {
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.locale-icon {
|
||||
|
|
|
|||
|
|
@ -312,6 +312,7 @@
|
|||
.btn-add-to-cart:hover {
|
||||
border-color: $theme-dark-color !important;
|
||||
background-color: $theme-dark-color !important;
|
||||
text-decoration: none;
|
||||
|
||||
&.light {
|
||||
border: 1px solid rgba(0,0,0,0.12) !important;
|
||||
|
|
@ -933,7 +934,7 @@ button[disabled] {
|
|||
width: 100%;
|
||||
height: 100%;
|
||||
position: fixed;
|
||||
background: rgba(256, 256, 256, 0.9);
|
||||
background: rgba(0, 0, 0, 0.7);
|
||||
z-index: 125;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@
|
|||
disabled="disabled"
|
||||
@endif>
|
||||
|
||||
@foreach (core()->getCurrentChannel()->locales as $locale)
|
||||
@foreach (core()->getCurrentChannel()->locales()->orderBy('name')->get() as $locale)
|
||||
@if (isset($searchQuery) && $searchQuery)
|
||||
<option
|
||||
value="?{{ $searchQuery }}&locale={{ $locale->code }}"
|
||||
|
|
|
|||
|
|
@ -24,8 +24,8 @@
|
|||
<label class="fs18 grey">{{ __('shop::app.header.title') }}</label>
|
||||
</div>
|
||||
|
||||
<div class="pl10 fs14">
|
||||
<p>{{ __('shop::app.header.dropdown-text') }}</p>
|
||||
<div class="fs14 content">
|
||||
<p class="no-margin">{{ __('shop::app.header.dropdown-text') }}</p>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
|
|
|
|||