category filters

This commit is contained in:
merdan 2022-02-03 13:34:16 +05:00
parent 3841ab0a65
commit 3ccddbf443
10 changed files with 1694 additions and 1184 deletions

View File

@ -104,7 +104,7 @@
"Webkul\\SocialLogin\\": "packages/Webkul/SocialLogin/src",
"Webkul\\DebugBar\\": "packages/Webkul/DebugBar/src",
"Webkul\\Marketing\\": "packages/Webkul/Marketing/src",
"Webkul\\Notification\\": "packages/Webkul/Notification/src"
"Webkul\\Notification\\": "packages/Webkul/Notification/src",
"Webkul\\Marketplace\\": "packages/Webkul/Marketplace/src",
"Sarga\\Shop\\": "packages/Sarga/Shop/src",
"Sarga\\API\\": "packages/Sarga/API",

2786
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -275,7 +275,7 @@ return [
Webkul\SocialLogin\Providers\SocialLoginServiceProvider::class,
Webkul\DebugBar\Providers\DebugBarServiceProvider::class,
Webkul\Marketing\Providers\MarketingServiceProvider::class,
Webkul\Notification\Providers\NotificationServiceProvider::class
Webkul\Notification\Providers\NotificationServiceProvider::class,
Webkul\Marketplace\Providers\MarketplaceServiceProvider::class,
Sarga\Shop\Providers\ShopServiceProvider::class,

View File

@ -0,0 +1,32 @@
<?php
namespace Sarga\API\Http\Controllers;
use Sarga\API\Http\Requests\AddressRequest;
use Webkul\RestApi\Http\Controllers\V1\Shop\Customer\AddressController;
use Webkul\RestApi\Http\Resources\V1\Shop\Customer\CustomerAddressResource;
class Addresses extends AddressController
{
/**
* Store address.
*
* @param \Webkul\Customer\Http\Requests\CustomerAddressRequest $request
* @return \Illuminate\Http\JsonResponse
*/
public function create(AddressRequest $request)
{
$data = $request->all();
$data['address1'] = implode(PHP_EOL, array_filter($data['address1']));
$data['customer_id'] = $request->user()->id;
$data['country'] = 'Turkmenistan';
$data['postcode'] = '0000';
$customerAddress = $this->customerAddressRepository->create($data);
return response([
'data' => new CustomerAddressResource($customerAddress),
'message' => 'Your address has been created successfully.',
]);
}
}

View File

@ -1,6 +1,7 @@
<?php
use Illuminate\Support\Facades\Route;
use Sarga\API\Http\Controllers\Addresses;
use Sarga\API\Http\Controllers\Customers;
use Sarga\API\Http\Controllers\Categories;
use Sarga\API\Http\Controllers\Channels;
@ -14,8 +15,8 @@ use Sarga\API\Http\Resources\Catalog\AttributeOption;
use Sarga\API\Http\Resources\Catalog\Category;
use Webkul\Core\Repositories\CountryStateRepository;
Route::group(['prefix' => 'api'], function ($router) {
Route::group(['middleware' => ['locale', 'currency']], function ($router) {
Route::group(['prefix' => 'api'], function () {
Route::group(['middleware' => ['locale', 'currency']], function () {
//Channel routes
Route::get('channels',[Channels::class, 'index']);
@ -24,16 +25,15 @@ Route::group(['prefix' => 'api'], function ($router) {
Route::get('vendor/products/{vendor_id}',[Vendors::class,'products'])->name('api.vendor.products');
Route::get('vendor/brands/{vendor_id}',[Vendors::class,'brands'])->name('api.vendor.brands');
//category routes
Route::get('descendant-categories', [Categories::class, 'index'])->name('api.descendant-categories');
Route::get('category-details/{id}', [Categories::class, 'details']);
Route::get('categories', [ResourceController::class, 'index'])->defaults('_config', [
'repository' => CategoryRepository::class,
'resource' => Category::class,
])->name('api.categories');
Route::get('categories/{id}/filters',[Categories::class,'filters']);
//attributes by code
Route::get('attribute-options', [ResourceController::class, 'index'])->defaults('_config', [
'repository' => AttributeOptionRepository::class,
@ -42,7 +42,6 @@ Route::group(['prefix' => 'api'], function ($router) {
//Product routes
Route::get('products', [Products::class, 'index']);
Route::get('products/{id}', [Products::class, 'get']);
Route::get('products/{id}/variants', [Products::class, 'variants']);
@ -52,16 +51,27 @@ Route::group(['prefix' => 'api'], function ($router) {
]);
});
Route::group(['prefix' => 'scrap','middleware' =>['scrap']], function ($router){
//scrap
Route::group(['prefix' => 'scrap','middleware' =>['scrap']], function (){
Route::put('upload',[IntegrationController::class,'bulk_upload']);
Route::put('create',[IntegrationController::class,'create']);
});
Route::group(['prefix' => 'customer'],function ($router){
//customer
Route::group(['prefix' => 'customer'],function (){
Route::post('register', [Customers::class, 'register']);
Route::post('login', [Customers::class, 'login']);
Route::put('profile', [Customers::class, 'store']);
Route::group(['middleware' => ['auth:sanctum', 'sanctum.customer']], function () {
Route::put('profile', [Customers::class, 'update']);
/**
* Customer address routes.
*/
Route::get('addresses', [Addresses::class, 'index']);
Route::post('addresses', [Addresses::class, 'create']);
Route::get('addresses/{id}', [Addresses::class, 'show']);
Route::put('addresses/{id}', [Addresses::class, 'update']);
Route::delete('addresses/{id}', [Addresses::class, 'destroy']);
});
});
});

View File

@ -59,7 +59,7 @@
if(localStorage.getItem('dark-mode') == 'true'){
document.body.classList.toggle("dark-mode");
}
}
@foreach (['success', 'warning', 'error', 'info'] as $key)
@if ($value = session($key))

View File

@ -1 +1 @@
@charset "UTF-8";.social-icon{width:36px;height:36px}.copy-icon{background-image:url(../images/copy-icon.png);width:24px;height:24px}.mp-facebook-icon{background-image:url(../images/mp-facebook.svg)}.mp-twitter-icon{background-image:url(../images/mp-twiter.svg)}.mp-instagram-icon{background-image:url(../images/mp-instagram.svg)}.mp-pinterest-icon{background-image:url(../images/mp-pinterest.svg)}.mp-skype-icon{background-image:url(../images/mp-skype.svg)}.mp-linked-in-icon{background-image:url(../images/mp-linked-in.svg)}.mp-youtube-icon{background-image:url(../images/mp-youtube.svg)}.marketplace-icon{width:48px;height:48px;display:inline-block;background-size:cover;background-image:url(../images/Icon-Marketplace.svg)}.active.marketplace-icon,.active .marketplace-icon{background-image:url(../images/Icon-Marketplace-Active.svg)}.earnings:before{content:"\1F4B5"}.navigation .customers:before{content:"\E995"}.navbar-left{width:100px}.navbar-left ul.menubar li.menu-item{padding:10px 7px}.content-container{padding-left:100px}.product-price span{font-size:20px}.product-price .regular-price{color:#a5a5a5;text-decoration:line-through;margin-right:10px}.product-price .special-price{color:#ff6472}
@charset "UTF-8";.social-icon{width:36px;height:36px}.copy-icon{background-image:url(../images/copy-icon.png);width:24px;height:24px}.mp-facebook-icon{background-image:url(../images/mp-facebook.svg)}.mp-twitter-icon{background-image:url(../images/mp-twiter.svg)}.mp-instagram-icon{background-image:url(../images/mp-instagram.svg)}.mp-pinterest-icon{background-image:url(../images/mp-pinterest.svg)}.mp-skype-icon{background-image:url(../images/mp-skype.svg)}.mp-linked-in-icon{background-image:url(../images/mp-linked-in.svg)}.mp-youtube-icon{background-image:url(../images/mp-youtube.svg)}.marketplace-icon{width:48px;height:48px;display:inline-block;background-size:cover;background-image:url(../images/Icon-Marketplace.svg)}.active.marketplace-icon,.active .marketplace-icon{background-image:url(../images/Icon-Marketplace-Active.svg)}.earnings:before{content:"\1F4B5"}.navigation .customers:before{content:"\E995"}.navbar-left ul.menubar li.menu-item{padding:10px 7px}.content-container{padding-left:100px}.product-price span{font-size:20px}.product-price .regular-price{color:#a5a5a5;text-decoration:line-through;margin-right:10px}.product-price .special-price{color:#ff6472}

View File

@ -197,10 +197,10 @@ class MarketplaceServiceProvider extends ServiceProvider
__DIR__ . '/../Http/Controllers/Shop/Velocity/Controller.php' => __DIR__ .'/../../../Velocity/src/Http/Controllers/Shop/Controller.php',
]);
$this->publishes([
__DIR__ . '/../Resources/views/admin/layouts/nav-left.blade.php' => resource_path('views/vendor/admin/layouts/nav-left.blade.php'),
]);
// $this->publishes([
// __DIR__ . '/../Resources/views/admin/layouts/nav-left.blade.php' => resource_path('views/vendor/admin/layouts/nav-left.blade.php'),
// ]);
//
$this->publishes([
__DIR__ . '/../Resources/views/admin/dashboard/index.blade.php' => resource_path('views/vendor/admin/dashboard/index.blade.php'),
]);

View File

@ -2,8 +2,8 @@
@section('content-wrapper')
<div class="inner-section">
@include ('admin::layouts.nav-aside')
{{-- @include ('admin::layouts.nav-aside')--}}
<div class="content-wrapper">
@ -12,6 +12,6 @@
@yield('content')
</div>
</div>
@stop

View File

@ -262,9 +262,13 @@ class InvoiceRepository extends Repository
*/
public function haveProductToInvoice(array $data): bool
{
foreach ($data['invoice']['items'] as $qty) {
if ((int) $qty) {
return true;
foreach ($data['invoice']['items'] as $itemId => $qty) {
if ($qty) {
foreach ($data['invoice']['items'] as $qty) {
if ((int) $qty) {
return true;
}
}
}
}