Merge branch 'master' of https://github.com/bagisto/bagisto into sarga-v1

This commit is contained in:
merdan 2022-04-01 12:31:02 +05:00
commit 45e0d6fe7e
58 changed files with 247 additions and 161 deletions

View File

@ -1,6 +1,6 @@
APP_NAME=Bagisto
APP_ENV=local
APP_VERSION=1.4.1
APP_VERSION=1.4.2
APP_KEY=
APP_DEBUG=true
APP_URL=http://localhost

View File

@ -3,6 +3,71 @@
This changelog consists of the bug & security fixes and new features being included in the releases listed below.
## **v1.4.2 (31st of March 2022)** - *Release*
* #6164 [enhancement] - UI Enhancement - Please Add the separation Lines in the Heading section also in Orders and Downloadable Product Details.
* #6162 [enhancement] -UI Enhancement - Please Make the Information Text Bold in the Compare Product Page.
* #6119 [enhancement] -The locale dropdown should be in ascending order
* #6117 ['enhancement] -The locale name should be shown instead of the locale code on the orders page
* #5964 [enhancement] - The process to checkout button should be disabled if the product is out of stock.
* #5399 [enhancement] - There should be a Back to Top Button in the user panel.
* #5355 [enhancement] -There should be an option to upload user's picture
* #6186 [fixed] - The page should be redirected to the product-review page after submitting the review
* #6181 [fixed] - There should not be any UI issue on the product-view page in the quantity field.
* #6177 [fixed] - There is a UI issue on the product-view page in the Arabic locale
* #6174 [fixed] - The sidebar should be disabled if the admin is trying to send the duplicate invoice.
* #6167 [fixed] - In Reviews Section - Grammatical Mistake Found.
* #6165 [fixed] - In Downloadable Product Section Unnecessary Column is present.
* #6161 [fixed] - There should not be any UI issue on the orders page.if the user is trying to filter the orders
* #6158 [fixed] - The quantity option should not be visible for booking products.
* #6157 [fixed] - There is a UI issue on the product-edit page
* #6156 [fixed] - LINT ERROR IN EDIT PRODUCTS BLADE
* #6153 [fixed] - There should be an asterisk icon for the required fields.
* #6144 [fixed] - Payment methods page is Blank if admin_locale=fr
* #6134 [fixed] - The total amount of cart items should be correct.
* #6132 [fixed] - The edit channel page should not be blank in the Chinese locale.
* #6126 [fixed] - There is a UI issue on the cart section with Arabic locale
* #6124 [fixed] - There is a UI issue on the header section
* #6121 [fixed] - The warning message should be correct if the user is trying to delete the account
* #6115 [fixed] - The Back to top button should be disabled when the user is placing the order
* #6114 [fixed] - Edit channel page is Blank if admin_locale=fr
* #6112 [fixed] - There should not be Error 500 if the admin is trying to edit the product.
* #6109 [fixed] - The add to cart button should be blurred if the item is out of stock
* #6103 [fixed] - The header section should be responsive in mobile view
* #4959 [fixed] - getting exception when merge guest cart with customer cart with configurable item
## **v1.4.1 (17th of March 2022)** - *Release*
* #6040 [enhancement] - The locale dropdown should be in ascending order

View File

@ -93,7 +93,7 @@ Take advantage of two of the hottest frameworks used in this project -- Laravel
* **SERVER**: Apache 2 or NGINX.
* **RAM**: 3 GB or higher.
* **PHP**: 7.4 or higher.
* **PHP**: 8.0 or higher.
* **For MySQL users**: 5.7.23 or higher.
* **For MariaDB users**: 10.2.7 or Higher.
* **Node**: 8.11.3 LTS or higher.

View File

@ -38,8 +38,6 @@ class ConfigurationController extends Controller
*/
public function __construct(CoreConfigRepository $coreConfigRepository)
{
$this->middleware('admin');
$this->coreConfigRepository = $coreConfigRepository;
$this->_config = request('_config');

View File

@ -66,8 +66,6 @@ class CustomerController extends Controller
) {
$this->_config = request('_config');
$this->middleware('admin');
$this->customerRepository = $customerRepository;
$this->customerAddressRepository = $customerAddressRepository;

View File

@ -32,8 +32,6 @@ class CustomerGroupController extends Controller
{
$this->_config = request('_config');
$this->middleware('admin');
$this->customerGroupRepository = $customerGroupRepository;
}

View File

@ -100,8 +100,6 @@ class DashboardController extends Controller
) {
$this->_config = request('_config');
$this->middleware('admin');
$this->orderRepository = $orderRepository;
$this->orderItemRepository = $orderItemRepository;

View File

@ -7,16 +7,6 @@ use Webkul\Admin\Exports\DataGridExport;
class ExportController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('admin');
}
/**
* Export datagrid.
*

View File

@ -47,8 +47,6 @@ class InvoiceController extends Controller
OrderRepository $orderRepository,
InvoiceRepository $invoiceRepository
) {
$this->middleware('admin');
$this->_config = request('_config');
$this->orderRepository = $orderRepository;

View File

@ -43,8 +43,6 @@ class OrderController extends Controller
OrderCommentRepository $orderCommentRepository
)
{
$this->middleware('admin');
$this->_config = request('_config');
$this->orderRepository = $orderRepository;

View File

@ -51,8 +51,6 @@ class RefundController extends Controller
OrderItemRepository $orderItemRepository,
RefundRepository $refundRepository
) {
$this->middleware('admin');
$this->_config = request('_config');
$this->orderRepository = $orderRepository;

View File

@ -51,8 +51,6 @@ class ShipmentController extends Controller
OrderRepository $orderRepository,
OrderItemRepository $orderItemRepository
) {
$this->middleware('admin');
$this->_config = request('_config');
$this->orderRepository = $orderRepository;

View File

@ -52,8 +52,6 @@ class TransactionController extends Controller
OrderRepository $orderRepository,
OrderTransactionRepository $orderTransactionRepository,
InvoiceRepository $invoiceRepository) {
$this->middleware('admin');
$this->_config = request('_config');
$this->orderRepository = $orderRepository;

View File

@ -309,7 +309,7 @@ return [
],
'users' => [
'title' => 'User',
'title' => 'Users',
'add-user-title' => 'Add User',
'edit-user-title' => 'Edit User',
'save-btn-title' => 'Save User',

View File

@ -68,7 +68,7 @@
<div class="form-container">
@csrf()
<accordian :title="{{ __('admin::app.cms.pages.general') }}" :active="true">
<accordian title="{{ __('admin::app.cms.pages.general') }}" :active="true">
<div slot="body">
<div class="control-group" :class="[errors.has('{{$locale}}[page_title]') ? 'has-error' : '']">
<label for="page_title" class="required">{{ __('admin::app.cms.pages.page-title') }}</label>

View File

@ -68,7 +68,7 @@
<div class="dropdown-toggle">
<i class="icon locale-icon-bold"></i>
<i class="icon locale-icon"></i>
</div>
<div class="dropdown-list bottom-right">

View File

@ -1,29 +1,22 @@
<?php
use Illuminate\Support\Facades\Route;
use Webkul\Admin\Http\Controllers\Controller;
use Webkul\User\Http\Controllers\ForgetPasswordController;
use Webkul\User\Http\Controllers\ResetPasswordController;
use Webkul\User\Http\Controllers\SessionController;
use Webkul\Notification\Http\Controllers\Admin\NotificationController;
/**
* Auth routes.
* Notification routes.
*/
Route::group(['middleware' => ['web', 'admin_locale'], 'prefix' => config('app.admin_url')], function () {
// notification
Route::get('notifications', 'Webkul\Notification\Http\Controllers\Admin\NotificationController@index')->defaults('_config', [
Route::group(['middleware' => ['web', 'admin', 'admin_locale'], 'prefix' => config('app.admin_url')], function () {
Route::get('notifications', [NotificationController::class, 'index'])->defaults('_config', [
'view' => 'admin::notifications.index',
])->name('admin.notification.index');
// get notification
Route::get('get-notifications', 'Webkul\Notification\Http\Controllers\Admin\NotificationController@getNotifications')
Route::get('get-notifications', [NotificationController::class, 'getNotifications'])
->name('admin.notification.get-notification');
//view order
Route::get('viewed-notifications/{orderId}', 'Webkul\Notification\Http\Controllers\Admin\NotificationController@viewedNotifications')
Route::get('viewed-notifications/{orderId}', [NotificationController::class, 'viewedNotifications'])
->name('admin.notification.viewed-notification');
// read all notification
Route::post('read-all-notifications', 'Webkul\Notification\Http\Controllers\Admin\NotificationController@readAllNotifications')
Route::post('read-all-notifications', [NotificationController::class, 'readAllNotifications'])
->name('admin.notification.read-all');
});

View File

@ -38,8 +38,8 @@
<quantity-changer
:control-name="'booking[qty][' + ticket.id + ']'"
:validations="'required|numeric|min_value:0'"
quantity="0"
min-quantity="0">
:quantity="defaultQty"
:min-quantity="defaultQty">
</quantity-changer>
</div>
@ -61,6 +61,12 @@
return {
tickets: @json($bookingSlotHelper->getTickets($bookingProduct)),
}
},
computed: {
defaultQty: function() {
return this.tickets.length > 1 ? 0 : 1;
}
}
});

View File

@ -38,8 +38,8 @@
<quantity-changer
:control-name="'booking[qty][' + ticket.id + ']'"
:validations="'required|numeric|min_value:0'"
quantity="0"
min-quantity="0">
:quantity="defaultQty"
:min-quantity="defaultQty">
</quantity-changer>
</div>
@ -61,6 +61,12 @@
return {
tickets: @json($bookingSlotHelper->getTickets($bookingProduct)),
}
},
computed: {
defaultQty: function() {
return this.tickets.length > 1 ? 0 : 1;
}
}
});

View File

@ -30,8 +30,6 @@ class PageController extends Controller
*/
public function __construct(CmsRepository $cmsRepository)
{
$this->middleware('admin');
$this->cmsRepository = $cmsRepository;
$this->_config = request('_config');

View File

@ -18,8 +18,6 @@ class AccountController extends Controller
*/
public function __construct()
{
$this->middleware('customer');
$this->_config = request('_config');
}

View File

@ -36,8 +36,6 @@ class AddressController extends Controller
*/
public function __construct(CustomerAddressRepository $customerAddressRepository)
{
$this->middleware('customer');
$this->_config = request('_config');
$this->customer = auth()->guard('customer')->user();

View File

@ -54,8 +54,6 @@ class CustomerController extends Controller
ProductReviewRepository $productReviewRepository,
SubscribersListRepository $subscriptionRepository
) {
$this->middleware('customer');
$this->_config = request('_config');
$this->customerRepository = $customerRepository;

View File

@ -22,8 +22,6 @@ class SessionController extends Controller
*/
public function __construct()
{
$this->middleware('customer')->except(['show', 'create']);
$this->_config = request('_config');
}

View File

@ -13,7 +13,7 @@ return [
],
'reviews' => [
'empty' => 'You have not reviewed any of product yet',
'empty' => 'You have not reviewed any product yet',
],
'forget_password' => [

View File

@ -8,14 +8,14 @@ use Webkul\Notification\Repositories\NotificationRepository;
class NotificationController extends Controller
{
/**
* Contains route related configuration
* Contains route related configuration.
*
* @var array
*/
protected $_config;
/**
* NotificationRepository
* Notification repository instance.
*
* @var object
*/
@ -30,8 +30,6 @@ class NotificationController extends Controller
{
$this->notificationRepository = $notificationRepository;
$this->middleware('admin');
$this->_config = request('_config');
}
@ -56,7 +54,7 @@ class NotificationController extends Controller
if (isset($params['page'])) {
unset($params['page']);
}
}
if (count($params)) {
$searchResults = $this->notificationRepository->getParamsData($params);
@ -71,26 +69,26 @@ class NotificationController extends Controller
}
/**
* Update the notification is readed or not
* Update the notification is readed or not.
*
* @param int $orderId
* @return \Illuminate\View\View
*/
public function viewedNotifications($orderId)
{
if ($notification = $this->notificationRepository->where('order_id', $orderId)->first()) {
$notification->read = 1;
$notification->save();
return redirect()->route('admin.sales.orders.view',$orderId);
}
return redirect()->route('admin.sales.orders.view', $orderId);
}
abort(404);
}
/**
* Update the notification is readed or not
* Update the notification is readed or not.
*
* @return array
*/
@ -99,8 +97,8 @@ class NotificationController extends Controller
$this->notificationRepository->where('read', 0)->update(['read' => 1]);
$params = [
"limit" => 5,
"read" => 0
'limit' => 5,
'read' => 0,
];
$searchResults = $this->notificationRepository->getParamsData($params);
@ -108,9 +106,7 @@ class NotificationController extends Controller
return [
'search_results' => $searchResults,
'total_unread' => $this->notificationRepository->where('read', 0)->count(),
'success_message' => trans('admin::app.notification.notification-marked-success')
'success_message' => trans('admin::app.notification.notification-marked-success'),
];
abort(404);
}
}

View File

@ -42,7 +42,7 @@ class Bundle extends AbstractType
*
* @var array
*/
protected $skipAttributes = ['price', 'cost', 'special_price', 'special_price_from', 'special_price_to', 'length', 'width', 'height', 'weight'];
protected $skipAttributes = ['price', 'cost', 'special_price', 'special_price_from', 'special_price_to', 'length', 'width', 'height', 'weight', 'depth'];
/**
* These blade files will be included in product edit page.

View File

@ -34,7 +34,7 @@ class Downloadable extends AbstractType
*
* @var array
*/
protected $skipAttributes = ['length', 'width', 'height', 'weight', 'guest_checkout'];
protected $skipAttributes = ['length', 'width', 'height', 'weight', 'depth', 'guest_checkout'];
/**
* These blade files will be included in product edit page.

View File

@ -25,7 +25,7 @@ class Grouped extends AbstractType
*
* @var array
*/
protected $skipAttributes = ['price', 'cost', 'special_price', 'special_price_from', 'special_price_to', 'length', 'width', 'height', 'weight'];
protected $skipAttributes = ['price', 'cost', 'special_price', 'special_price_from', 'special_price_to', 'length', 'width', 'height', 'weight', 'depth'];
/**
* These blade files will be included in product edit page.

View File

@ -9,7 +9,7 @@ class Virtual extends AbstractType
*
* @var array
*/
protected $skipAttributes = ['length', 'width', 'height', 'weight'];
protected $skipAttributes = ['length', 'width', 'height', 'weight', 'depth'];
/**
* These blade files will be included in product edit page.

View File

@ -25,8 +25,6 @@ class DownloadableProductController extends Controller
DownloadableLinkPurchasedRepository $downloadableLinkPurchasedRepository
)
{
$this->middleware('customer');
$this->downloadableLinkPurchasedRepository = $downloadableLinkPurchasedRepository;
parent::__construct();

View File

@ -43,8 +43,6 @@ class OrderController extends Controller
OrderRepository $orderRepository,
InvoiceRepository $invoiceRepository
) {
$this->middleware('customer');
$this->currentCustomer = auth()->guard('customer')->user();
$this->orderRepository = $orderRepository;

View File

@ -82,23 +82,26 @@ class ReviewController extends Controller
'title' => 'required',
]);
$data = request()->all();
$product = $this->productRepository->find($id);
$data = array_merge(request()->all(), [
'status' => 'pending',
'product_id' => $id,
]);
if (auth()->guard('customer')->user()) {
$data['customer_id'] = auth()->guard('customer')->user()->id;
$data['name'] = auth()->guard('customer')->user()->first_name . ' ' . auth()->guard('customer')->user()->last_name;
}
$data['status'] = 'pending';
$data['product_id'] = $id;
$review = $this->productReviewRepository->create($data);
$this->productReviewImageRepository->uploadImages($data, $review);
session()->flash('success', trans('shop::app.response.submit-success', ['name' => 'Product Review']));
return redirect()->route($this->_config['redirect']);
return redirect()->route('shop.productOrCategory.index', $product->url_key);
}
/**
@ -147,10 +150,8 @@ class ReviewController extends Controller
{
$reviews = auth()->guard('customer')->user()->all_reviews;
if ($reviews->count() > 0) {
foreach ($reviews as $review) {
$this->productReviewRepository->delete($review->id);
}
foreach ($reviews as $review) {
$this->productReviewRepository->delete($review->id);
}
session()->flash('success', trans('shop::app.reviews.delete-all'));

View File

@ -20,8 +20,6 @@ class TaxController extends Controller
*/
public function __construct()
{
$this->middleware('admin');
$this->_config = request('_config');
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="Icon-Language-color">
<circle id="Ellipse 77" cx="16" cy="16" r="14" stroke="#0041ff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<ellipse id="Ellipse 78" cx="16" cy="16" rx="5" ry="14" stroke="#0041ff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="Vector 148" d="M3 12H29" stroke="#0041ff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="Vector 149" d="M3 21H29" stroke="#0041ff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 642 B

View File

@ -0,0 +1,8 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="Icon-Language-color">
<circle id="Ellipse 77" cx="16" cy="16" r="14" stroke="#8184AB" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<ellipse id="Ellipse 78" cx="16" cy="16" rx="5" ry="14" stroke="#8184AB" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="Vector 148" d="M3 12H29" stroke="#8184AB" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="Vector 149" d="M3 21H29" stroke="#8184AB" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 642 B

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
{
"/js/ui.js": "/js/ui.js?id=a45138406e848b98ad5d",
"/css/ui.css": "/css/ui.css?id=8d793a6d94eb4db0298b"
"/js/ui.js": "/js/ui.js?id=e136e7c7f62341fd089a",
"/css/ui.css": "/css/ui.css?id=c8a7ade09358a1d61a4a"
}

View File

@ -1,4 +0,0 @@
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M39 19C39 27.2843 24 44 24 44C24 44 9 27.2843 9 19C9 10.7157 15.7157 4 24 4C32.2843 4 39 10.7157 39 19Z" stroke="#0041FF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="24" cy="19" r="7" stroke="#0041FF" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 413 B

View File

@ -1,4 +0,0 @@
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M39 19C39 27.2843 24 44 24 44C24 44 9 27.2843 9 19C9 10.7157 15.7157 4 24 4C32.2843 4 39 10.7157 39 19Z" stroke="#8184AB" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="24" cy="19" r="7" stroke="#8184AB" stroke-width="5" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 413 B

View File

@ -1,4 +0,0 @@
<svg width="48" height="48" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M39 19C39 27.2843 24 44 24 44C24 44 9 27.2843 9 19C9 10.7157 15.7157 4 24 4C32.2843 4 39 10.7157 39 19Z" stroke="#8184AB" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<circle cx="24" cy="19" r="7" stroke="#8184AB" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

Before

Width:  |  Height:  |  Size: 413 B

View File

@ -0,0 +1,8 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="Icon-Language-color">
<circle id="Ellipse 77" cx="16" cy="16" r="14" stroke="#0041ff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<ellipse id="Ellipse 78" cx="16" cy="16" rx="5" ry="14" stroke="#0041ff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="Vector 148" d="M3 12H29" stroke="#0041ff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="Vector 149" d="M3 21H29" stroke="#0041ff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 642 B

View File

@ -0,0 +1,8 @@
<svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="Icon-Language-color">
<circle id="Ellipse 77" cx="16" cy="16" r="14" stroke="#8184AB" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<ellipse id="Ellipse 78" cx="16" cy="16" rx="5" ry="14" stroke="#8184AB" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="Vector 148" d="M3 12H29" stroke="#8184AB" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
<path id="Vector 149" d="M3 21H29" stroke="#8184AB" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 642 B

View File

@ -689,6 +689,7 @@
<td
class="actions"
style="white-space: nowrap; width: 100px"
v-if="enableActions"
:data-value="translations.actions"
>
<div class="action">

View File

@ -811,7 +811,8 @@ h5 {
margin-left: -34px;
pointer-events: none;
position: absolute;
top: 51%;
top: 50%;
left: 70%;
}
.cross-icon {
@ -1205,7 +1206,7 @@ modal {
.modal-overlay {
display: none;
overflow-y: auto;
z-index: 10;
z-index: 1001;
top: 0px;
right: 0px;
bottom: 0px;
@ -1227,7 +1228,7 @@ modal {
left: 50%;
margin-left: -300px;
position: fixed;
z-index: 11;
z-index: 1002;
@include box-shadow(
0px 15px 25px 0px rgba(0, 0, 0, 0.03),
0px 20px 45px 5px rgba(0, 0, 0, 0.2)

View File

@ -162,14 +162,9 @@
.locale-icon {
@extend %menu-properties;
background-image: url("../images/Local-Icon.svg");
}
.locale-icon-bold {
@extend %menu-properties;
background-image: url("../images/Local-Icon-bold.svg");
height: 26px;
background-image: url("../images/Locale-Icon.svg");
width: 26px;
height: 26px;
}
.store-icon {

View File

@ -40,8 +40,6 @@ class RoleController extends Controller
RoleRepository $roleRepository,
AdminRepository $adminRepository
) {
$this->middleware('admin');
$this->roleRepository = $roleRepository;
$this->adminRepository = $adminRepository;

View File

@ -18,8 +18,6 @@ class SessionController extends Controller
*/
public function __construct()
{
$this->middleware('admin')->except(['create', 'store']);
$this->_config = request('_config');
}

View File

@ -49,8 +49,6 @@ class UserController extends Controller
$this->roleRepository = $roleRepository;
$this->_config = request('_config');
$this->middleware('guest', ['except' => 'destroy']);
}
/**

File diff suppressed because one or more lines are too long

View File

@ -1,14 +1,14 @@
{
"/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=f655ac65cbd1aa549cba57f77b9a4344",
"/js/manifest.js": "/js/manifest.js?id=e069a8f952a02ea0f290bcca8fab930e",
"/js/components.js": "/js/components.js?id=13ebf112e40292178d2386143e9d75cd",
"/css/velocity.css": "/css/velocity.css?id=bba65352574a5ae54c4a83a2cc04e3ee",
"/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",
"/images/icon-crossed.svg": "/images/icon-crossed.svg?id=c72c3c1ef790bd4fd99376bd4ba7bd5b",
"/images/icon-eye.svg": "/images/icon-eye.svg?id=9345f20b862e21aa30c675df49d56fd5",
"/images/icon-search.svg": "/images/icon-search.svg?id=a5f38a895551b8a015b24952561263f1"
"/js/jquery-ez-plus.js": "/js/jquery-ez-plus.js?id=ba3c7cada62de152fd8f",
"/js/velocity-core.js": "/js/velocity-core.js?id=73cc7c3501570ebe9151",
"/js/velocity.js": "/js/velocity.js?id=f655ac65cbd1aa549cba",
"/js/manifest.js": "/js/manifest.js?id=e069a8f952a02ea0f290",
"/js/components.js": "/js/components.js?id=13ebf112e40292178d23",
"/css/velocity.css": "/css/velocity.css?id=7290c10f17cb95070a07",
"/css/velocity-admin.css": "/css/velocity-admin.css?id=b67a82956e53163b5e3f",
"/images/icon-calendar.svg": "/images/icon-calendar.svg?id=870d0f733a5837742276",
"/images/icon-camera.svg": "/images/icon-camera.svg?id=b2fd2f9e17e1ccee96e2",
"/images/icon-crossed.svg": "/images/icon-crossed.svg?id=c72c3c1ef790bd4fd993",
"/images/icon-eye.svg": "/images/icon-eye.svg?id=9345f20b862e21aa30c6",
"/images/icon-search.svg": "/images/icon-search.svg?id=a5f38a895551b8a015b2"
}

View File

@ -128,8 +128,6 @@ class CartController extends Controller
{
$result = Cart::removeItem($itemId);
session()->forget('cart');
if ($result) {
$response = [
'status' => 'success',

View File

@ -952,8 +952,8 @@
.table {
table {
tr {
margin-bottom: 20px;
border: 1px solid #cccccc;
height: auto !important;
td {
width: auto;

View File

@ -33,6 +33,11 @@
padding: 12px 10px;
background: #f8f9fa;
color: $font-color;
border-right: 1px solid #ccc !important;
&:last-child {
border-right: none;
}
}
tbody td {
@ -126,6 +131,7 @@
grid-template-columns: auto auto;
column-gap: 10px;
align-items: end;
position: relative;
.filter-right {
justify-self: end;
@ -135,10 +141,27 @@
align-items: end;
.control-group {
margin-bottom: 10px;
.control {
margin-bottom: 0px;
}
}
.dropdown-list {
right: 0;
padding: 15px;
ul {
margin: 0;
padding: 0;
list-style: none;
}
.apply-filter {
width: 100%;
}
}
}
}
}

View File

@ -433,22 +433,28 @@ body {
.text-right {
text-align: left !important;
}
.text-left {
text-align: right !important;
}
.pr0 {
padding-left: 0 !important;
padding-right: 15px !important;
}
.pl0 {
padding-right: 0px !important;
}
.pl10 {
padding-right: 10px !important;
}
.rango-arrow-right::before {
content: '\E907';
}
.styled-select {
+ .select-icon-container {
.select-icon {
@ -457,21 +463,61 @@ body {
}
}
}
.ml15 {
margin-right: 15px !important;
}
.pl30 {
padding-right: 30px;
}
.ml-5 {
margin-right: 3rem !important;
}
.mr15 {
margin-left: 15px !important;
}
.ml5 {
margin-right: 5px;
}
.payment-methods {
.pl40 {
padding-right: 40px !important;
padding-left: 0 !important;
}
}
#top #account .dropdown-list {
left: 10px;
right: unset !important;
text-align: right;
}
.VueCarousel {
.VueCarousel-inner {
flex-direction: row-reverse;
}
}
.quantity {
.input-btn-group {
button {
&.increase {
border-right: 0;
border-left: 1px solid #dcdcdc;
}
&.decrease {
border-left: 0;
border-right: 1px solid #dcdcdc;
}
}
}
}
}
}
@ -594,19 +640,4 @@ body {
}
}
}
}
body.rtl {
.payment-methods {
.pl40 {
padding-right: 40px !important;
padding-left: 0 !important;
}
}
#top #account .dropdown-list {
left: 10px;
right: unset !important;
text-align: right;
}
}

View File

@ -6,7 +6,7 @@
@push('scripts')
<script type="text/x-template" id="catalog-product-template">
<div>
<?php $catalogType = old($locale)['catalog_type'] ?? (isset($content) ? $content->translate($locale) ? $content->translate($locale)['catalog_type'] : '' : ''); ?>
<?php $catalogType = old($locale)['catalog_type'] ?? (isset($content) ? ($content->translate($locale) ? $content->translate($locale)['catalog_type'] : '') : ''); ?>
<div class="control-group" :class="[errors.has('{{$locale}}[catalog_type]') ? 'has-error' : '']">
<label for="catalog_type" class="required">

View File

@ -45,7 +45,7 @@
@foreach ($comparableAttributes as $attribute)
<tr>
<td class="header">
<span class="fs16">{{ isset($attribute['name']) ? $attribute['name'] : $attribute['admin_name'] }}</span>
<span class="fs16 font-weight-bold">{{ isset($attribute['name']) ? $attribute['name'] : $attribute['admin_name'] }}</span>
</td>
<td :key="`title-${index}`" v-for="(product, index) in products">