Compare commits
No commits in common. "master" and "main" have entirely different histories.
|
|
@ -0,0 +1,74 @@
|
|||
APP_NAME=TmFoods
|
||||
APP_ENV=local
|
||||
APP_VERSION=1.3.2
|
||||
APP_KEY=base64:o3/ay9VRpANpS+glgph6u+LXZvw9kATU4IqRe/JIfEY=
|
||||
APP_DEBUG=false
|
||||
APP_URL=http://localhost:8000
|
||||
APP_ADMIN_URL=admin
|
||||
APP_TIMEZONE=Asia/Kolkata
|
||||
APP_LOCALE=tm
|
||||
LOG_CHANNEL=stack
|
||||
APP_CURRENCY=TMT
|
||||
|
||||
DB_CONNECTION=mysql
|
||||
DB_HOST=127.0.0.1
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=nurgul
|
||||
DB_USERNAME=shohrat
|
||||
DB_PASSWORD=Bt110226**
|
||||
DB_PREFIX=
|
||||
|
||||
BROADCAST_DRIVER=log
|
||||
CACHE_DRIVER=file
|
||||
SESSION_DRIVER=file
|
||||
SESSION_LIFETIME=120
|
||||
QUEUE_DRIVER=sync
|
||||
|
||||
REDIS_HOST=127.0.0.1
|
||||
REDIS_PASSWORD=null
|
||||
REDIS_PORT=6379
|
||||
|
||||
MAIL_DRIVER=smtp
|
||||
MAIL_HOST=smtp.mailtrap.io
|
||||
MAIL_PORT=2525
|
||||
MAIL_USERNAME=
|
||||
MAIL_PASSWORD=
|
||||
MAIL_ENCRYPTION=tls
|
||||
|
||||
SHOP_MAIL_FROM=
|
||||
ADMIN_MAIL_TO=
|
||||
MAIL_FROM_NAME=
|
||||
|
||||
FIXER_API_KEY=
|
||||
EXCHANGE_RATES_API_KEY=
|
||||
|
||||
PUSHER_APP_ID=
|
||||
PUSHER_APP_KEY=
|
||||
PUSHER_APP_SECRET=
|
||||
PUSHER_APP_CLUSTER=mt1
|
||||
|
||||
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
|
||||
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
|
||||
|
||||
FACEBOOK_CLIENT_ID=
|
||||
FACEBOOK_CLIENT_SECRET=
|
||||
FACEBOOK_CALLBACK_URL=https://yourhost.com/customer/social-login/facebook/callback
|
||||
|
||||
TWITTER_CLIENT_ID=
|
||||
TWITTER_CLIENT_SECRET=
|
||||
TWITTER_CALLBACK_URL=https://yourhost.com/customer/social-login/twitter/callback
|
||||
|
||||
GOOGLE_CLIENT_ID=
|
||||
GOOGLE_CLIENT_SECRET=
|
||||
GOOGLE_CALLBACK_URL=https://yourhost.com/customer/social-login/google/callback
|
||||
|
||||
LINKEDIN_CLIENT_ID=
|
||||
LINKEDIN_CLIENT_SECRET=
|
||||
LINKEDIN_CALLBACK_URL=https://yourhost.com/customer/social-login/linkedin/callback
|
||||
|
||||
GITHUB_CLIENT_ID=
|
||||
GITHUB_CLIENT_SECRET=
|
||||
GITHUB_CALLBACK_URL=https://yourhost.com/customer/social-login/github/callback
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,4 +1,7 @@
|
|||
vendor
|
||||
.env
|
||||
.gitignore
|
||||
composer.lock
|
||||
storage
|
||||
public/storage
|
||||
resources/views/errors/402.blade.php
|
||||
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -90,7 +90,7 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'locale' => env('APP_LOCALE', 'ru'),
|
||||
'locale' => env('APP_LOCALE', 'en'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ return [
|
|||
| Vendor files are included by default, but can be set to false.
|
||||
| This can also be set to 'js' or 'css', to only include javascript or css vendor files.
|
||||
| Vendor files are for css: font-awesome (including fonts) and highlight.js (css files)
|
||||
| and for js: jquery and highlight.js
|
||||
| and for js: jquery and and highlight.js
|
||||
| So if you want syntax highlighting, set it to true.
|
||||
| jQuery is set to not conflict with existing jQuery scripts.
|
||||
|
|
||||
|
|
@ -198,8 +198,7 @@ return [
|
|||
'types' => ['SELECT'], // Deprecated setting, is always only SELECT
|
||||
],
|
||||
'hints' => false, // Show hints for common mistakes
|
||||
'show_copy' => false, // Show copy button next to the query,
|
||||
'slow_threshold' => false, // Only track queries that last longer than this time in ms
|
||||
'show_copy' => false, // Show copy button next to the query
|
||||
],
|
||||
'mail' => [
|
||||
'full_log' => false,
|
||||
|
|
@ -207,7 +206,6 @@ return [
|
|||
'views' => [
|
||||
'timeline' => false, // Add the views to the timeline (Experimental)
|
||||
'data' => false, //Note: Can slow down the application, because the data can be quite large..
|
||||
'exclude_paths' => [], // Add the paths which you don't want to appear in the views
|
||||
],
|
||||
'route' => [
|
||||
'label' => true, // show complete route on bar
|
||||
|
|
|
|||
|
|
@ -13,10 +13,6 @@ return array(
|
|||
*/
|
||||
'show_warnings' => false, // Throw an Exception on warnings from dompdf
|
||||
'orientation' => 'portrait',
|
||||
/*
|
||||
* Dejavu Sans font is missing glyphs for converted entities, turn it off if you need to show € and £.
|
||||
*/
|
||||
'convert_entities' => true,
|
||||
'defines' => array(
|
||||
/**
|
||||
* The location of the DOMPDF font directory
|
||||
|
|
@ -42,7 +38,7 @@ return array(
|
|||
* Times-Roman, Times-Bold, Times-BoldItalic, Times-Italic,
|
||||
* Symbol, ZapfDingbats.
|
||||
*/
|
||||
"font_dir" => storage_path('fonts'), // advised by dompdf (https://github.com/dompdf/dompdf/pull/782)
|
||||
"font_dir" => storage_path('fonts/'), // advised by dompdf (https://github.com/dompdf/dompdf/pull/782)
|
||||
|
||||
/**
|
||||
* The location of the DOMPDF font cache directory
|
||||
|
|
@ -52,7 +48,7 @@ return array(
|
|||
*
|
||||
* Note: This directory must exist and be writable by the webserver process.
|
||||
*/
|
||||
"font_cache" => storage_path('fonts'),
|
||||
"font_cache" => storage_path('fonts/'),
|
||||
|
||||
/**
|
||||
* The location of a temporary directory.
|
||||
|
|
|
|||
|
|
@ -49,7 +49,6 @@ return [
|
|||
'include_separator_line' => false,
|
||||
'excel_compatibility' => false,
|
||||
'output_encoding' => '',
|
||||
'test_auto_detect' => true,
|
||||
],
|
||||
|
||||
/*
|
||||
|
|
@ -123,7 +122,7 @@ return [
|
|||
|
|
||||
*/
|
||||
'csv' => [
|
||||
'delimiter' => null,
|
||||
'delimiter' => ',',
|
||||
'enclosure' => '"',
|
||||
'escape_character' => '\\',
|
||||
'contiguous' => false,
|
||||
|
|
@ -220,7 +219,7 @@ return [
|
|||
| By default PhpSpreadsheet keeps all cell values in memory, however when
|
||||
| dealing with large files, this might result into memory issues. If you
|
||||
| want to mitigate that, you can configure a cell caching driver here.
|
||||
| When using the illuminate driver, it will store each value in the
|
||||
| When using the illuminate driver, it will store each value in a the
|
||||
| cache store. This can slow down the process, because it needs to
|
||||
| store each value. You can use the "batch" store if you want to
|
||||
| only persist to the store when the memory limit is reached.
|
||||
|
|
|
|||
|
|
@ -1,17 +1,5 @@
|
|||
<?php
|
||||
|
||||
use Spatie\FlareClient\FlareMiddleware\AddGitInformation;
|
||||
use Spatie\FlareClient\FlareMiddleware\RemoveRequestIp;
|
||||
use Spatie\FlareClient\FlareMiddleware\CensorRequestBodyFields;
|
||||
use Spatie\FlareClient\FlareMiddleware\CensorRequestHeaders;
|
||||
use Spatie\LaravelIgnition\FlareMiddleware\AddDumps;
|
||||
use Spatie\LaravelIgnition\FlareMiddleware\AddEnvironmentInformation;
|
||||
use Spatie\LaravelIgnition\FlareMiddleware\AddExceptionInformation;
|
||||
use Spatie\LaravelIgnition\FlareMiddleware\AddJobs;
|
||||
use Spatie\LaravelIgnition\FlareMiddleware\AddLogs;
|
||||
use Spatie\LaravelIgnition\FlareMiddleware\AddQueries;
|
||||
use Spatie\LaravelIgnition\FlareMiddleware\AddNotifierName;
|
||||
|
||||
return [
|
||||
/*
|
||||
|
|
||||
|
|
@ -29,46 +17,29 @@ return [
|
|||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Middleware
|
||||
| Reporting Options
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| These middleware will modify the contents of the report sent to Flare.
|
||||
| These options determine which information will be transmitted to Flare.
|
||||
|
|
||||
*/
|
||||
|
||||
'flare_middleware' => [
|
||||
RemoveRequestIp::class,
|
||||
AddGitInformation::class,
|
||||
AddNotifierName::class,
|
||||
AddEnvironmentInformation::class,
|
||||
AddExceptionInformation::class,
|
||||
AddDumps::class,
|
||||
AddLogs::class => [
|
||||
'maximum_number_of_collected_logs' => 200,
|
||||
],
|
||||
AddQueries::class => [
|
||||
'maximum_number_of_collected_queries' => 200,
|
||||
'report_query_bindings' => true,
|
||||
],
|
||||
AddJobs::class => [
|
||||
'max_chained_job_reporting_depth' => 5,
|
||||
],
|
||||
CensorRequestBodyFields::class => [
|
||||
'censor_fields' => [
|
||||
'password',
|
||||
'password_confirmation',
|
||||
],
|
||||
],
|
||||
CensorRequestHeaders::class => [
|
||||
'headers' => [
|
||||
'API-KEY',
|
||||
]
|
||||
]
|
||||
'reporting' => [
|
||||
'anonymize_ips' => true,
|
||||
'collect_git_information' => false,
|
||||
'report_queries' => true,
|
||||
'maximum_number_of_collected_queries' => 200,
|
||||
'report_query_bindings' => true,
|
||||
'report_view_data' => true,
|
||||
'grouping_type' => null,
|
||||
'report_logs' => true,
|
||||
'maximum_number_of_collected_logs' => 200,
|
||||
'censor_request_body_fields' => ['password'],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Reporting log statements
|
||||
| Reporting Log statements
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If this setting is `false` log statements won't be sent as events to Flare,
|
||||
|
|
@ -77,4 +48,15 @@ return [
|
|||
*/
|
||||
|
||||
'send_logs_as_events' => true,
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Censor request body fields
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| These fields will be censored from your request when sent to Flare.
|
||||
|
|
||||
*/
|
||||
|
||||
'censor_request_body_fields' => ['password'],
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,28 +1,5 @@
|
|||
<?php
|
||||
|
||||
use Spatie\Ignition\Solutions\SolutionProviders\BadMethodCallSolutionProvider;
|
||||
use Spatie\Ignition\Solutions\SolutionProviders\MergeConflictSolutionProvider;
|
||||
use Spatie\Ignition\Solutions\SolutionProviders\UndefinedPropertySolutionProvider;
|
||||
use Spatie\LaravelIgnition\Recorders\DumpRecorder\DumpRecorder;
|
||||
use Spatie\LaravelIgnition\Recorders\JobRecorder\JobRecorder;
|
||||
use Spatie\LaravelIgnition\Recorders\LogRecorder\LogRecorder;
|
||||
use Spatie\LaravelIgnition\Recorders\QueryRecorder\QueryRecorder;
|
||||
use Spatie\LaravelIgnition\Solutions\SolutionProviders\DefaultDbNameSolutionProvider;
|
||||
use Spatie\LaravelIgnition\Solutions\SolutionProviders\GenericLaravelExceptionSolutionProvider;
|
||||
use Spatie\LaravelIgnition\Solutions\SolutionProviders\IncorrectValetDbCredentialsSolutionProvider;
|
||||
use Spatie\LaravelIgnition\Solutions\SolutionProviders\InvalidRouteActionSolutionProvider;
|
||||
use Spatie\LaravelIgnition\Solutions\SolutionProviders\MissingAppKeySolutionProvider;
|
||||
use Spatie\LaravelIgnition\Solutions\SolutionProviders\MissingColumnSolutionProvider;
|
||||
use Spatie\LaravelIgnition\Solutions\SolutionProviders\MissingImportSolutionProvider;
|
||||
use Spatie\LaravelIgnition\Solutions\SolutionProviders\MissingLivewireComponentSolutionProvider;
|
||||
use Spatie\LaravelIgnition\Solutions\SolutionProviders\MissingMixManifestSolutionProvider;
|
||||
use Spatie\LaravelIgnition\Solutions\SolutionProviders\MissingViteManifestSolutionProvider;
|
||||
use Spatie\LaravelIgnition\Solutions\SolutionProviders\RunningLaravelDuskInProductionProvider;
|
||||
use Spatie\LaravelIgnition\Solutions\SolutionProviders\TableNotFoundSolutionProvider;
|
||||
use Spatie\LaravelIgnition\Solutions\SolutionProviders\UndefinedViewVariableSolutionProvider;
|
||||
use Spatie\LaravelIgnition\Solutions\SolutionProviders\UnknownValidationSolutionProvider;
|
||||
use Spatie\LaravelIgnition\Solutions\SolutionProviders\ViewNotFoundSolutionProvider;
|
||||
|
||||
return [
|
||||
|
||||
/*
|
||||
|
|
@ -32,7 +9,7 @@ return [
|
|||
|
|
||||
| Choose your preferred editor to use when clicking any edit button.
|
||||
|
|
||||
| Supported: "phpstorm", "vscode", "vscode-insiders", "textmate", "emacs",
|
||||
| Supported: "phpstorm", "vscode", "vscode-insiders", "vscodium", "textmate", "emacs",
|
||||
| "sublime", "atom", "nova", "macvim", "idea", "netbeans",
|
||||
| "xdebug"
|
||||
|
|
||||
|
|
@ -51,7 +28,7 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'theme' => env('IGNITION_THEME', 'auto'),
|
||||
'theme' => env('IGNITION_THEME', 'light'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
@ -79,44 +56,8 @@ return [
|
|||
| You can enable the command registration below.
|
||||
|
|
||||
*/
|
||||
|
||||
'register_commands' => env('REGISTER_IGNITION_COMMANDS', false),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Solution Providers
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| You may specify a list of solution providers (as fully qualified class
|
||||
| names) that shouldn't be loaded. Ignition will ignore these classes
|
||||
| and possible solutions provided by them will never be displayed.
|
||||
|
|
||||
*/
|
||||
|
||||
'solution_providers' => [
|
||||
// from spatie/ignition
|
||||
BadMethodCallSolutionProvider::class,
|
||||
MergeConflictSolutionProvider::class,
|
||||
UndefinedPropertySolutionProvider::class,
|
||||
|
||||
// from spatie/laravel-ignition
|
||||
IncorrectValetDbCredentialsSolutionProvider::class,
|
||||
MissingAppKeySolutionProvider::class,
|
||||
DefaultDbNameSolutionProvider::class,
|
||||
TableNotFoundSolutionProvider::class,
|
||||
MissingImportSolutionProvider::class,
|
||||
InvalidRouteActionSolutionProvider::class,
|
||||
ViewNotFoundSolutionProvider::class,
|
||||
RunningLaravelDuskInProductionProvider::class,
|
||||
MissingColumnSolutionProvider::class,
|
||||
UnknownValidationSolutionProvider::class,
|
||||
MissingMixManifestSolutionProvider::class,
|
||||
MissingViteManifestSolutionProvider::class,
|
||||
MissingLivewireComponentSolutionProvider::class,
|
||||
UndefinedViewVariableSolutionProvider::class,
|
||||
GenericLaravelExceptionSolutionProvider::class,
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Ignored Solution Providers
|
||||
|
|
@ -129,7 +70,7 @@ return [
|
|||
*/
|
||||
|
||||
'ignored_solution_providers' => [
|
||||
|
||||
\Facade\Ignition\SolutionProviders\MissingPackageSolutionProvider::class,
|
||||
],
|
||||
|
||||
/*
|
||||
|
|
@ -138,19 +79,12 @@ return [
|
|||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Some solutions that Ignition displays are runnable and can perform
|
||||
| various tasks. By default, runnable solutions are only enabled when your
|
||||
| app has debug mode enabled and the environment is `local` or
|
||||
| `development`.
|
||||
|
|
||||
| Using the `IGNITION_ENABLE_RUNNABLE_SOLUTIONS` environment variable, you
|
||||
| can override this behaviour and enable or disable runnable solutions
|
||||
| regardless of the application's environment.
|
||||
|
|
||||
| Default: env('IGNITION_ENABLE_RUNNABLE_SOLUTIONS')
|
||||
| various tasks. Runnable solutions are enabled when your app has
|
||||
| debug mode enabled. You may also fully disable this feature.
|
||||
|
|
||||
*/
|
||||
|
||||
'enable_runnable_solutions' => env('IGNITION_ENABLE_RUNNABLE_SOLUTIONS'),
|
||||
'enable_runnable_solutions' => env('IGNITION_ENABLE_RUNNABLE_SOLUTIONS', null),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
@ -175,7 +109,7 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'remote_sites_path' => env('IGNITION_REMOTE_SITES_PATH', base_path()),
|
||||
'remote_sites_path' => env('IGNITION_REMOTE_SITES_PATH', ''),
|
||||
'local_sites_path' => env('IGNITION_LOCAL_SITES_PATH', ''),
|
||||
|
||||
/*
|
||||
|
|
@ -187,48 +121,6 @@ return [
|
|||
| specify a route prefix that will be used to host all internal links.
|
||||
|
|
||||
*/
|
||||
|
||||
'housekeeping_endpoint_prefix' => '_ignition',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Settings File
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Ignition allows you to save your settings to a specific global file.
|
||||
|
|
||||
| If no path is specified, a file with settings will be saved to the user's
|
||||
| home directory. The directory depends on the OS and its settings but it's
|
||||
| typically `~/.ignition.json`. In this case, the settings will be applied
|
||||
| to all of your projects where Ignition is used and the path is not
|
||||
| specified.
|
||||
|
|
||||
| However, if you want to store your settings on a project basis, or you
|
||||
| want to keep them in another directory, you can specify a path where
|
||||
| the settings file will be saved. The path should be an existing directory
|
||||
| with correct write access.
|
||||
| For example, create a new `ignition` folder in the storage directory and
|
||||
| use `storage_path('ignition')` as the `settings_file_path`.
|
||||
|
|
||||
| Default value: '' (empty string)
|
||||
*/
|
||||
|
||||
'settings_file_path' => '',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Recorders
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Ignition registers a couple of recorders when it is enabled. Below you may
|
||||
| specify a recorders will be used to record specific events.
|
||||
|
|
||||
*/
|
||||
|
||||
'recorders' => [
|
||||
DumpRecorder::class,
|
||||
JobRecorder::class,
|
||||
LogRecorder::class,
|
||||
QueryRecorder::class
|
||||
]
|
||||
];
|
||||
|
|
|
|||
|
|
@ -93,6 +93,7 @@ class Products extends ProductController
|
|||
->orWhereNull('expired_at');
|
||||
})
|
||||
->orderBy('sort_order', 'ASC')
|
||||
->limit(3)
|
||||
->get();
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -2,31 +2,21 @@
|
|||
|
||||
namespace Sarga\API\Http\Controllers;
|
||||
|
||||
use DB;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Event;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Sarga\API\Http\Resources\Customer\CustomerResource;
|
||||
use Webkul\Customer\Repositories\CustomerAddressRepository;
|
||||
use Webkul\Customer\Repositories\CustomerGroupRepository;
|
||||
use Webkul\Customer\Repositories\CustomerRepository;
|
||||
use Illuminate\Support\Str;
|
||||
use Webkul\Marketplace\Http\Controllers\Shop\Account\ProductController as SellerProductController;
|
||||
use Webkul\Product\Models\ProductFlat;
|
||||
use Webkul\Product\Models\ProductInventory;
|
||||
use Webkul\Product\Models\Product;
|
||||
use Webkul\Product\Repositories\ProductRepository;
|
||||
use Webkul\Marketplace\Repositories\SellerRepository;
|
||||
use Webkul\Marketplace\Models\Product as SellerProductModel;
|
||||
use Webkul\Marketplace\Models\Order as SellerOrderModel;
|
||||
use Webkul\Marketplace\Models\OrderItem as SellerOrderItemModel;
|
||||
|
||||
class SellerProduct extends SellerProductController
|
||||
{
|
||||
/**
|
||||
* Product repository instance.
|
||||
*
|
||||
* @var \Webkul\Product\Repositories\ProductRepository
|
||||
*/
|
||||
protected $productRepository;
|
||||
/**
|
||||
* SellerRepository object
|
||||
*
|
||||
|
|
@ -39,144 +29,6 @@ class SellerProduct extends SellerProductController
|
|||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
* $categoryRepository
|
||||
* @param \Webkul\Product\Repositories\ProductRepository $productAttributeValueRepository
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(
|
||||
ProductRepository $productRepository,
|
||||
SellerRepository $sellerRepository,
|
||||
)
|
||||
{
|
||||
$this->_config = request('_config');
|
||||
$this->productRepository = $productRepository;
|
||||
$this->sellerRepository = $sellerRepository;
|
||||
}
|
||||
|
||||
|
||||
public function reportSeller(Request $request)
|
||||
{
|
||||
$validation = Validator::make($request->all(), [
|
||||
'seller_id' => 'required',
|
||||
'user' => 'required',
|
||||
'password' => 'required',
|
||||
]);
|
||||
|
||||
|
||||
if ($validation->fails()) {
|
||||
return response()->json(['errors' => $validation->getMessageBag()->all()], 422);
|
||||
}
|
||||
|
||||
$user = $request->get('user');
|
||||
$pass = $request->get('password');
|
||||
|
||||
if ($user == "romanah_" && $pass == "bt110226$$") {
|
||||
|
||||
$seller = $this->sellerRepository->isSellerMarket($request->get('seller_id'));
|
||||
|
||||
if ($seller) {
|
||||
$orders = SellerOrderModel::where('marketplace_seller_id', $seller->id)->count();
|
||||
$sellerProducts = SellerProductModel::where('marketplace_seller_id', $seller->id)->count();
|
||||
return response([
|
||||
"sellerOrders" => $orders,
|
||||
"sellerProducts" => $sellerProducts,
|
||||
"status" => 200
|
||||
]);
|
||||
} else {
|
||||
return response([
|
||||
'status' => 500,
|
||||
'message' => 'not found seller'
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
return response([
|
||||
'status' => 500,
|
||||
'message' => 'not authorized'
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
public function sellerOrderDetail(Request $request)
|
||||
{
|
||||
$validation = Validator::make($request->all(), [
|
||||
'order_id' => 'required',
|
||||
'user' => 'required',
|
||||
'password' => 'required',
|
||||
]);
|
||||
|
||||
|
||||
if ($validation->fails()) {
|
||||
return response()->json(['errors' => $validation->getMessageBag()->all()], 422);
|
||||
}
|
||||
|
||||
$user = $request->get('user');
|
||||
$pass = $request->get('password');
|
||||
|
||||
if ($user == "romanah_" && $pass == "bt110226$$") {
|
||||
|
||||
$orderItems = SellerOrderItemModel::where('marketplace_order_id', $request->get('order_id'))->with(['product', 'item.product.images'])->paginate(12);
|
||||
|
||||
$order = SellerOrderModel::where('id', $request->get('order_id'))->with('order.customer')->with('order.shipping_address')->first();
|
||||
|
||||
if ($orderItems) {
|
||||
return response([
|
||||
"order" => $order,
|
||||
"items" => $orderItems
|
||||
]);
|
||||
} else {
|
||||
return response([
|
||||
'status' => 500,
|
||||
'message' => 'not found order Items'
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
return response([
|
||||
'status' => 500,
|
||||
'message' => 'not authorized'
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
public function sellerOrders(Request $request)
|
||||
{
|
||||
$validation = Validator::make($request->all(), [
|
||||
'seller_id' => 'required',
|
||||
'user' => 'required',
|
||||
'password' => 'required',
|
||||
]);
|
||||
|
||||
|
||||
if ($validation->fails()) {
|
||||
return response()->json(['errors' => $validation->getMessageBag()->all()], 422);
|
||||
}
|
||||
|
||||
$user = $request->get('user');
|
||||
$pass = $request->get('password');
|
||||
|
||||
if ($user == "romanah_" && $pass == "bt110226$$") {
|
||||
|
||||
$seller = $this->sellerRepository->isSellerMarket($request->get('seller_id'));
|
||||
|
||||
if ($seller) {
|
||||
$orders = SellerOrderModel::where('marketplace_seller_id', $seller->id)->orderByDesc('created_at')->with('order.customer')->paginate(15);
|
||||
return response($orders);
|
||||
} else {
|
||||
return response([
|
||||
'status' => 500,
|
||||
'message' => 'not found seller'
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
return response([
|
||||
'status' => 500,
|
||||
'message' => 'not authorized'
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
public function storeSellerProd(Request $request)
|
||||
{
|
||||
$data = $request->all();
|
||||
|
|
@ -198,12 +50,11 @@ class SellerProduct extends SellerProductController
|
|||
|
||||
if ($user == "romanah_" && $pass == "bt110226$$") {
|
||||
|
||||
$product = new Product;
|
||||
|
||||
$product->type = 'simple';
|
||||
$product->attribute_family_id = '1';
|
||||
$product->sku = $request->get('sku');
|
||||
$product->save();
|
||||
$product = $this->product->create([
|
||||
'type' => 'simple',
|
||||
'attribute_family_id' => '1',
|
||||
'sku' => Str::slug($request->get('sku')),
|
||||
]);
|
||||
|
||||
if (!$product) {
|
||||
response([
|
||||
|
|
@ -211,14 +62,16 @@ class SellerProduct extends SellerProductController
|
|||
]);
|
||||
}
|
||||
|
||||
$sellerProduct = new SellerProductModel;
|
||||
$sellerProduct->price = 0;
|
||||
$sellerProduct->description = "";
|
||||
$sellerProduct->is_approved = 0;
|
||||
$sellerProduct->is_owner = 0;
|
||||
$sellerProduct->product_id = $product->id;
|
||||
$sellerProduct->marketplace_seller_id = $request->get('marketplace_seller_id');
|
||||
$sellerProduct->save();
|
||||
|
||||
$sellerProduct = $this->sellerProduct->create([
|
||||
'condition' => 'new',
|
||||
'price' => 0,
|
||||
'description' => '',
|
||||
'is_approved' => 0,
|
||||
'is_owner' => 1,
|
||||
'product_id' => $product->id,
|
||||
'marketplace_seller_id' => $request->get('marketplace_seller_id')
|
||||
]);
|
||||
|
||||
if (!$sellerProduct) {
|
||||
response([
|
||||
|
|
@ -238,18 +91,18 @@ class SellerProduct extends SellerProductController
|
|||
'error' => "error create prod inventory"
|
||||
]);
|
||||
}
|
||||
|
||||
return response([
|
||||
'status' => 200,
|
||||
'data' => $product,
|
||||
'message' => 'succesfully created product'
|
||||
]);
|
||||
} else {
|
||||
return response([
|
||||
'status' => 500,
|
||||
'message' => 'not authorized'
|
||||
]);
|
||||
}
|
||||
|
||||
return response([
|
||||
'status' => 200,
|
||||
'data' => $product,
|
||||
'message' => 'succesfully created product'
|
||||
]);
|
||||
}
|
||||
|
||||
public function updateProductFlat(Request $request)
|
||||
|
|
@ -258,6 +111,7 @@ class SellerProduct extends SellerProductController
|
|||
'product_id' => 'required',
|
||||
'user' => 'required',
|
||||
'password' => 'required',
|
||||
|
||||
]);
|
||||
|
||||
|
||||
|
|
@ -272,46 +126,32 @@ class SellerProduct extends SellerProductController
|
|||
|
||||
$prodId = $request->get('product_id');
|
||||
|
||||
// $product = ProductFlat::where('product_id', $prodId)->first();
|
||||
$product = ProductFlat::where('id', $prodId)->first();
|
||||
|
||||
// \Log::info($product);
|
||||
|
||||
//$images = json_decode($request['images']['files'][0]);
|
||||
//\Log::info($images);
|
||||
//\Log::info($request->all());
|
||||
|
||||
// dd($request->get('images'));
|
||||
// dd($request['images']);
|
||||
$data = array(
|
||||
"status" => $request->get('status'),
|
||||
"product_number" => $request->get('product_number'),
|
||||
"name" => $request->get('name'),
|
||||
"description" => $request->get('description'),
|
||||
"url_key" => Str::slug($request->get('name')),
|
||||
"featured" => $request->get('featured'),
|
||||
"status" => $request->get('status'),
|
||||
"price" => $request->get('price'),
|
||||
"special_price" => $request->get('special_price'),
|
||||
"weight" => 0,
|
||||
"visible_individually" => 1,
|
||||
"locale" => 'tm',
|
||||
"channel" => 'Nurgul',
|
||||
"short_description" => $request->get('short_description'),
|
||||
"images" => $request['images'],
|
||||
"categories" => $request['categories'],
|
||||
);
|
||||
|
||||
$product = $this->productRepository->update($data, $prodId, 'id');
|
||||
$product->product_number = $request->get('product_number');
|
||||
$product->name = $request->get('name');
|
||||
$product->description = $request->get('description');
|
||||
$product->url_key = Str::slug($request->get('name'));
|
||||
$product->new = $request->get('new');
|
||||
$product->featured = $request->get('featured');
|
||||
$product->status = $request->get('status');
|
||||
$product->price = $request->get('price');
|
||||
$product->special_price = $request->get('special_price');
|
||||
$product->weight = 0;
|
||||
$product->locale = 'tm';
|
||||
$product->channel = 'Nurgul';
|
||||
$product->short_description = $request->get('short_description');
|
||||
$product->save();
|
||||
|
||||
|
||||
$productInventory = ProductInventory::where('product_id', $prodId)->first();
|
||||
if ($productInventory) {
|
||||
$productInventory->qty = $request->get('qty');
|
||||
$productInventory->save();
|
||||
} else {
|
||||
}else{
|
||||
return response([
|
||||
'status' => 500,
|
||||
'message' => 'cant find product inv'
|
||||
'message' => 'cant find product'
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
@ -335,9 +175,5 @@ class SellerProduct extends SellerProductController
|
|||
}
|
||||
}
|
||||
|
||||
public function deleteProduct($product_id)
|
||||
{
|
||||
$this->productRepository->delete($product_id);
|
||||
return response()->json(['success' => true]);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,289 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace Sarga\API\Http\Controllers;
|
||||
|
||||
use DB;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Event;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Webkul\Customer\Repositories\CustomerRepository;
|
||||
use Illuminate\Support\Str;
|
||||
use Webkul\Marketplace\Http\Controllers\Shop\Account\ProductController as SellerProductController;
|
||||
use Webkul\Product\Models\ProductFlat;
|
||||
use Webkul\Product\Models\ProductInventory;
|
||||
use Webkul\Product\Models\Product;
|
||||
use Webkul\Product\Repositories\ProductRepository;
|
||||
use Webkul\Marketplace\Repositories\SellerRepository;
|
||||
use Webkul\Marketplace\Models\Product as SellerProductModel;
|
||||
use Webkul\Marketplace\Models\Order as SellerOrderModel;
|
||||
use Webkul\Marketplace\Models\OrderItem as SellerOrderItemModel;
|
||||
|
||||
class SellerProduct extends SellerProductController
|
||||
{
|
||||
/**
|
||||
* Product repository instance.
|
||||
*
|
||||
* @var \Webkul\Product\Repositories\ProductRepository
|
||||
*/
|
||||
protected $productRepository;
|
||||
/**
|
||||
* SellerRepository object
|
||||
*
|
||||
* @var Object
|
||||
*/
|
||||
protected $sellerRepository;
|
||||
/**
|
||||
* Method to store user's sign up form data to DB.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
* $categoryRepository
|
||||
* @param \Webkul\Product\Repositories\ProductRepository $productAttributeValueRepository
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(
|
||||
ProductRepository $productRepository,
|
||||
SellerRepository $sellerRepository,
|
||||
) {
|
||||
$this->_config = request('_config');
|
||||
$this->productRepository = $productRepository;
|
||||
$this->sellerRepository = $sellerRepository;
|
||||
}
|
||||
|
||||
|
||||
public function sellerOrderDetail(Request $request)
|
||||
{
|
||||
$validation = Validator::make($request->all(), [
|
||||
'order_id' => 'required',
|
||||
'user' => 'required',
|
||||
'password' => 'required',
|
||||
]);
|
||||
|
||||
|
||||
if ($validation->fails()) {
|
||||
return response()->json(['errors' => $validation->getMessageBag()->all()], 422);
|
||||
}
|
||||
|
||||
$user = $request->get('user');
|
||||
$pass = $request->get('password');
|
||||
|
||||
if ($user == "romanah_" && $pass == "bt110226$$") {
|
||||
|
||||
$orderItems = SellerOrderItemModel::where('marketplace_order_id', $request->get('order_id'))->with(['product', 'item'])->paginate(12);
|
||||
|
||||
if ($orderItems) {
|
||||
return response($orderItems);
|
||||
} else {
|
||||
return response([
|
||||
'status' => 500,
|
||||
'message' => 'not found order Items'
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
return response([
|
||||
'status' => 500,
|
||||
'message' => 'not authorized'
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
public function sellerOrders(Request $request)
|
||||
{
|
||||
$validation = Validator::make($request->all(), [
|
||||
'seller_id' => 'required',
|
||||
'user' => 'required',
|
||||
'password' => 'required',
|
||||
]);
|
||||
|
||||
|
||||
if ($validation->fails()) {
|
||||
return response()->json(['errors' => $validation->getMessageBag()->all()], 422);
|
||||
}
|
||||
|
||||
$user = $request->get('user');
|
||||
$pass = $request->get('password');
|
||||
|
||||
if ($user == "romanah_" && $pass == "bt110226$$") {
|
||||
|
||||
$seller = $this->sellerRepository->isSellerMarket($request->get('seller_id'));
|
||||
|
||||
if ($seller) {
|
||||
$orders = SellerOrderModel::where('marketplace_seller_id', $seller->id)->with('order.customer')->paginate(15);
|
||||
return response($orders);
|
||||
} else {
|
||||
return response([
|
||||
'status' => 500,
|
||||
'message' => 'not found seller'
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
return response([
|
||||
'status' => 500,
|
||||
'message' => 'not authorized'
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
public function storeSellerProd(Request $request)
|
||||
{
|
||||
$data = $request->all();
|
||||
$validation = Validator::make($request->all(), [
|
||||
'type' => 'required',
|
||||
'sku' => ['required', 'unique:products,sku', new \Webkul\Core\Contracts\Validations\Slug],
|
||||
'marketplace_seller_id' => 'required',
|
||||
'user' => 'required',
|
||||
'password' => 'required',
|
||||
]);
|
||||
|
||||
|
||||
if ($validation->fails()) {
|
||||
return response()->json(['errors' => $validation->getMessageBag()->all()], 422);
|
||||
}
|
||||
|
||||
$user = $request->get('user');
|
||||
$pass = $request->get('password');
|
||||
|
||||
if ($user == "romanah_" && $pass == "bt110226$$") {
|
||||
|
||||
$product = new Product;
|
||||
|
||||
$product->type = 'simple';
|
||||
$product->attribute_family_id = '1';
|
||||
$product->sku = $request->get('sku');
|
||||
$product->save();
|
||||
|
||||
if (!$product) {
|
||||
response([
|
||||
'error' => "error create prod"
|
||||
]);
|
||||
}
|
||||
|
||||
$sellerProduct = new SellerProductModel;
|
||||
$sellerProduct->price = 0;
|
||||
$sellerProduct->description = "";
|
||||
$sellerProduct->is_approved = 0;
|
||||
$sellerProduct->is_owner = 0;
|
||||
$sellerProduct->product_id = $product->id;
|
||||
$sellerProduct->marketplace_seller_id = $request->get('marketplace_seller_id');
|
||||
$sellerProduct->save();
|
||||
|
||||
if (!$sellerProduct) {
|
||||
response([
|
||||
'error' => "error create SELLER prod"
|
||||
]);
|
||||
}
|
||||
|
||||
$productInventory = ProductInventory::create([
|
||||
'qty' => 0,
|
||||
'product_id' => $product->id,
|
||||
'inventory_source_id' => 1,
|
||||
'vendor_id' => $request->get('marketplace_seller_id')
|
||||
]);
|
||||
|
||||
if (!$productInventory) {
|
||||
response([
|
||||
'error' => "error create prod inventory"
|
||||
]);
|
||||
}
|
||||
|
||||
return response([
|
||||
'status' => 200,
|
||||
'data' => $product,
|
||||
'message' => 'succesfully created product'
|
||||
]);
|
||||
} else {
|
||||
return response([
|
||||
'status' => 500,
|
||||
'message' => 'not authorized'
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
public function updateProductFlat(Request $request)
|
||||
{
|
||||
$validation = Validator::make($request->all(), [
|
||||
'product_id' => 'required',
|
||||
'user' => 'required',
|
||||
'password' => 'required',
|
||||
]);
|
||||
|
||||
|
||||
if ($validation->fails()) {
|
||||
return response()->json(['errors' => $validation->getMessageBag()->all()], 422);
|
||||
}
|
||||
|
||||
$user = $request->get('user');
|
||||
$pass = $request->get('password');
|
||||
|
||||
if ($user == "romanah_" && $pass == "bt110226$$") {
|
||||
|
||||
$prodId = $request->get('product_id');
|
||||
|
||||
// $product = ProductFlat::where('product_id', $prodId)->first();
|
||||
|
||||
// \Log::info($product);
|
||||
|
||||
//$images = json_decode($request['images']['files'][0]);
|
||||
//\Log::info($images);
|
||||
//\Log::info($request->all());
|
||||
\Log::info($request['images']);
|
||||
\Log::info($request['surats']);
|
||||
// dd($request->get('images'));
|
||||
// dd($request['images']);
|
||||
$data = array(
|
||||
"status" => $request->get('status'),
|
||||
"product_number" => $request->get('product_number'),
|
||||
"name" => $request->get('name'),
|
||||
"description" => $request->get('description'),
|
||||
"url_key" => Str::slug($request->get('name')),
|
||||
"featured" => $request->get('featured'),
|
||||
"status" => $request->get('status'),
|
||||
"price" => $request->get('price'),
|
||||
"special_price" => $request->get('special_price'),
|
||||
"weight" => 0,
|
||||
"visible_individually" => 1,
|
||||
"locale" => 'tm',
|
||||
"channel" => 'Nurgul',
|
||||
"short_description" => $request->get('short_description'),
|
||||
"images" => $request['images'],
|
||||
);
|
||||
|
||||
$product = $this->productRepository->update($data, $prodId, 'id');
|
||||
|
||||
|
||||
$productInventory = ProductInventory::where('product_id', $prodId)->first();
|
||||
if ($productInventory) {
|
||||
$productInventory->qty = $request->get('qty');
|
||||
$productInventory->save();
|
||||
} else {
|
||||
return response([
|
||||
'status' => 500,
|
||||
'message' => 'cant find product inv'
|
||||
]);
|
||||
}
|
||||
|
||||
if ($product && $productInventory) {
|
||||
return response([
|
||||
'status' => 200,
|
||||
'data' => $product,
|
||||
'message' => 'succesfully updated product'
|
||||
]);
|
||||
} else {
|
||||
return response([
|
||||
'status' => 500,
|
||||
'message' => 'cant update product'
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
return response([
|
||||
'status' => 500,
|
||||
'message' => 'not authorized'
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -26,8 +26,6 @@ class Vendors extends V1Controller
|
|||
{
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function sources(){
|
||||
$vendors = $this->vendorRepository->select('marketplace_sellers.id','url','shop_title')
|
||||
->where('is_approved',true)
|
||||
|
|
@ -65,18 +63,17 @@ class Vendors extends V1Controller
|
|||
|
||||
public function index()
|
||||
{
|
||||
$vendors = $this->vendorRepository->select('marketplace_sellers.id','url','logo','banner','shop_title', 'ship_time','ship_price','slogan')
|
||||
$vendors = $this->vendorRepository->select('marketplace_sellers.id','url','logo','banner','shop_title','brand_attribute_id','ship_time','ship_price','slogan')
|
||||
->where('is_approved',true)
|
||||
->with(['categories:seller_id,categories'])
|
||||
->with(['categories:seller_id,type,categories'])
|
||||
// ->leftJoin('seller_categories','marketplace_sellers.id','=','seller_categories.seller_id')
|
||||
->paginate(15);
|
||||
->get();
|
||||
$reviewed_vendors = $vendors->map(function ($item, $key){
|
||||
$item->review_average = $this->reviewRepository->getAverageRating($item);
|
||||
return $item;
|
||||
});
|
||||
|
||||
// $reviewed_vendors = $vendors->map(function ($item, $key){
|
||||
// $item->review_average = $this->reviewRepository->getAverageRating($item);
|
||||
// return $item;
|
||||
// });
|
||||
|
||||
return Vendor::collection($vendors);
|
||||
return Vendor::collection($reviewed_vendors);
|
||||
}
|
||||
|
||||
public function products(ProductRepository $productRepository,$seller_id){
|
||||
|
|
@ -85,22 +82,10 @@ class Vendors extends V1Controller
|
|||
return ProductResource::collection($products);
|
||||
}
|
||||
|
||||
public function sellerProducts(ProductRepository $productRepository,$seller_id){
|
||||
$products = $productRepository->findAllBySellerNotActive($seller_id,request()->input('category_id'));
|
||||
|
||||
return ProductResource::collection($products);
|
||||
}
|
||||
|
||||
public function sellerProductsById(ProductRepository $productRepository,$seller_id, $product_id){
|
||||
$products = $productRepository->findAllBySellerNotActive($seller_id,request()->input('category_id'), $product_id);
|
||||
|
||||
return ProductResource::collection($products);
|
||||
}
|
||||
|
||||
public function vendor($seller_id){
|
||||
$vendor = $this->vendorRepository->select('marketplace_sellers.id','url','logo','banner','shop_title', 'ship_time','ship_price','slogan')
|
||||
$vendor = $this->vendorRepository->select('marketplace_sellers.id','url','logo','banner','shop_title','brand_attribute_id','ship_time','ship_price','slogan')
|
||||
->where('id',$seller_id)
|
||||
->with(['categories:seller_id,categories'])
|
||||
->with(['categories:seller_id,type,categories'])
|
||||
->first();
|
||||
|
||||
if($vendor->categories && $mainCats = $vendor->categories()->first()){
|
||||
|
|
@ -115,11 +100,6 @@ class Vendors extends V1Controller
|
|||
->orderBy('position','asc')
|
||||
->get();
|
||||
|
||||
}else{
|
||||
return response([
|
||||
'status' => 500,
|
||||
'message' => 'cant find seller category'
|
||||
]);
|
||||
}
|
||||
// dd($vendor->categories()->first());
|
||||
|
||||
|
|
|
|||
|
|
@ -37,10 +37,9 @@ class Product extends JsonResource
|
|||
return [
|
||||
/* product's information */
|
||||
'id' => $product->id,
|
||||
'sku' => $product->sku,
|
||||
// 'sku' => $product->sku,
|
||||
'type' => $product->type,
|
||||
'name' => $product->name,
|
||||
'categories' => $product->categories,
|
||||
'url_key' => $product->url_key,
|
||||
'price' => core()->convertPrice($productTypeInstance->getMinimalPrice()),
|
||||
'formatted_price' => core()->currency($productTypeInstance->getMinimalPrice()),
|
||||
|
|
@ -51,13 +50,10 @@ class Product extends JsonResource
|
|||
'in_stock' => $product->haveSufficientQuantity(1),
|
||||
'is_wishlisted' => $this->isWishlisted($product) ,
|
||||
'is_item_in_cart' => \Cart::hasProduct($product),
|
||||
'shop_title' => $this->shop_title,
|
||||
'logo' => $this->logo ? Storage::url($this->logo) : null,
|
||||
//'shop_title' => $this->shop_title,
|
||||
//'logo' => $this->logo ? Storage::url($this->logo) : null,
|
||||
'new' => $this->new,
|
||||
'featured' => $this->featured,
|
||||
'qty' => $this->qty,
|
||||
'status' => $this->status,
|
||||
'product_number' => $this->product_number,
|
||||
// 'brand' => $product->brand->name ?? '',
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ class Vendor extends JsonResource
|
|||
'banner' => $this->banner_url,
|
||||
'ship_price' => $this->ship_price,
|
||||
'ship_time' => $this->ship_time,
|
||||
// 'review_average' => $this->review_average,
|
||||
'review_average' => $this->review_average,
|
||||
'slogan' => $this->slogan,
|
||||
// 'brand_id' => $this->brand_attribute_id,
|
||||
// $this->mergeWhen(!empty($this->main_categories) && $this->main_categories->count(),[
|
||||
|
|
|
|||
|
|
@ -35,16 +35,8 @@ Route::post('admin/romanah/login', [AuthController::class, 'login']);
|
|||
Route::group(['prefix' => 'api'], function () {
|
||||
|
||||
Route::group(['prefix' => 'seller'],function (){
|
||||
Route::post('report',[SellerProduct::class, 'reportSeller']);
|
||||
|
||||
Route::post('orders',[SellerProduct::class, 'sellerOrders']);
|
||||
Route::post('order', [SellerProduct::class, 'sellerOrderDetail']);
|
||||
|
||||
Route::get('products/{vendor_id}',[Vendors::class,'sellerProducts']);
|
||||
Route::get('products/{vendor_id}/{product_id}',[Vendors::class,'sellerProductsById']);
|
||||
Route::post('create/product', [SellerProduct::class, 'storeSellerProd']);
|
||||
Route::post('update/product', [SellerProduct::class, 'updateProductFlat']);
|
||||
Route::post('delete/product/{product_id}', [SellerProduct::class, 'deleteProduct']);
|
||||
});
|
||||
|
||||
Route::group(['middleware' => ['locale', 'currency']], function () {
|
||||
|
|
|
|||
|
|
@ -129,11 +129,11 @@
|
|||
|
||||
<div class="row">
|
||||
<span class="title">
|
||||
{{ __('admin::app.sales.orders.phone') }}
|
||||
{{ __('admin::app.sales.orders.email') }}
|
||||
</span>
|
||||
|
||||
<span class="value">
|
||||
{{ $order->customer->phone }}
|
||||
{{ $order->phone }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ class ProductRepository extends WProductRepository
|
|||
protected $vendorProductRepository;
|
||||
// protected $brandRepository;
|
||||
|
||||
protected $fillableTypes = ['sku', 'name', 'url_key', 'short_description', 'description', 'price', 'weight', 'status', 'qty'];
|
||||
protected $fillableTypes = ['sku', 'name', 'url_key', 'short_description', 'description', 'price', 'weight', 'status'];
|
||||
|
||||
public function __construct(AttributeRepository $attributeRepository,
|
||||
App $app,
|
||||
|
|
@ -502,115 +502,6 @@ class ProductRepository extends WProductRepository
|
|||
* @param integer $seller
|
||||
* @return Collection
|
||||
*/
|
||||
public function findAllBySellerNotActive($seller_id, $category_id = null, $product_id = null)
|
||||
{
|
||||
$params = request()->input();
|
||||
|
||||
$results = app('Webkul\Product\Repositories\ProductFlatRepository')->scopeQuery(function($query) use($seller_id, $params,$category_id, $product_id) {
|
||||
$channel = request()->get('channel') ?: (core()->getCurrentChannelCode() ?: core()->getDefaultChannelCode());
|
||||
|
||||
$locale = request()->get('locale') ?: app()->getLocale();
|
||||
|
||||
$qb = $query->distinct()
|
||||
->addSelect('product_flat.*')
|
||||
->join('product_flat as variants', 'product_flat.id', '=', DB::raw('COALESCE(' . DB::getTablePrefix() . 'variants.parent_id, ' . DB::getTablePrefix() . 'variants.id)'))
|
||||
->leftJoin('product_categories', 'product_categories.product_id', '=', 'product_flat.product_id')
|
||||
->leftJoin('product_attribute_values', 'product_attribute_values.product_id', '=', 'variants.product_id')
|
||||
->addSelect(DB::raw('IF( product_flat.special_price_from IS NOT NULL
|
||||
AND product_flat.special_price_to IS NOT NULL , IF( NOW( ) >= product_flat.special_price_from
|
||||
AND NOW( ) <= product_flat.special_price_to, IF( product_flat.special_price IS NULL OR product_flat.special_price = 0 , product_flat.price, LEAST( product_flat.special_price, product_flat.price ) ) , product_flat.price ) , IF( product_flat.special_price_from IS NULL , IF( product_flat.special_price_to IS NULL , IF( product_flat.special_price IS NULL OR product_flat.special_price = 0 , product_flat.price, LEAST( product_flat.special_price, product_flat.price ) ) , IF( NOW( ) <= product_flat.special_price_to, IF( product_flat.special_price IS NULL OR product_flat.special_price = 0 , product_flat.price, LEAST( product_flat.special_price, product_flat.price ) ) , product_flat.price ) ) , IF( product_flat.special_price_to IS NULL , IF( NOW( ) >= product_flat.special_price_from, IF( product_flat.special_price IS NULL OR product_flat.special_price = 0 , product_flat.price, LEAST( product_flat.special_price, product_flat.price ) ) , product_flat.price ) , product_flat.price ) ) ) AS price1'))
|
||||
->leftJoin('products', 'product_flat.product_id', '=', 'products.id')
|
||||
->leftJoin('product_inventories', 'products.id', '=', 'product_inventories.product_id')
|
||||
->addSelect('product_inventories.qty')
|
||||
->leftJoin('marketplace_products', 'product_flat.product_id', '=', 'marketplace_products.product_id')
|
||||
->where('product_flat.channel', $channel)
|
||||
->where('product_flat.locale', $locale)
|
||||
->whereNotNull('product_flat.url_key')
|
||||
->where('marketplace_products.marketplace_seller_id', $seller_id)
|
||||
->orderBy('products.id', 'desc');
|
||||
|
||||
|
||||
$qb->addSelect(DB::raw('(CASE WHEN marketplace_products.is_owner = 0 THEN marketplace_products.price ELSE product_flat.price END) AS price2'));
|
||||
|
||||
if ($category_id) {
|
||||
$qb->whereIn('product_categories.category_id', explode(',', $category_id));
|
||||
}
|
||||
if ($product_id) {
|
||||
$qb->where('products.id', $product_id);
|
||||
}
|
||||
if (isset($params['new'])){
|
||||
$qb->where('product_flat.new', $params['new']);
|
||||
}
|
||||
|
||||
if (isset($params['featured'])){
|
||||
$qb->where('product_flat.featured', $params['featured']);
|
||||
}
|
||||
$queryBuilder = $qb->leftJoin('product_flat as flat_variants', function($qb) use($channel, $locale) {
|
||||
$qb->on('product_flat.id', '=', 'flat_variants.parent_id')
|
||||
->where('flat_variants.channel', $channel)
|
||||
->where('flat_variants.locale', $locale);
|
||||
});
|
||||
|
||||
if (isset($params['sort'])) {
|
||||
$attribute = $this->attributeRepository->findOneByField('code', $params['sort']);
|
||||
|
||||
if ($params['sort'] == 'price') {
|
||||
$qb->orderBy($attribute->code, $params['order']);
|
||||
} else {
|
||||
$qb->orderBy($params['sort'] == 'created_at' ? 'product_flat.created_at' : $attribute->code, $params['order']);
|
||||
}
|
||||
}
|
||||
|
||||
//brand attribute added code
|
||||
$attributeFilters = $this->attributeRepository
|
||||
->getProductDefaultAttributes(array_keys(
|
||||
request()->input()
|
||||
));
|
||||
|
||||
if (count($attributeFilters) > 0) {
|
||||
$qb = $qb->where(function ($filterQuery) use ($attributeFilters) {
|
||||
|
||||
foreach ($attributeFilters as $attribute) {
|
||||
$filterQuery->orWhere(function ($attributeQuery) use ($attribute) {
|
||||
|
||||
$column = DB::getTablePrefix() . 'product_attribute_values.' . ProductAttributeValueProxy::modelClass()::$attributeTypeFields[$attribute->type];
|
||||
|
||||
$filterInputValues = explode(',', request()->get($attribute->code));
|
||||
|
||||
# define the attribute we are filtering
|
||||
$attributeQuery = $attributeQuery->where('product_attribute_values.attribute_id', $attribute->id);
|
||||
|
||||
# apply the filter values to the correct column for this type of attribute.
|
||||
if ($attribute->type != 'price') {
|
||||
|
||||
$attributeQuery->where(function ($attributeValueQuery) use ($column, $filterInputValues) {
|
||||
foreach ($filterInputValues as $filterValue) {
|
||||
if (! is_numeric($filterValue)) {
|
||||
continue;
|
||||
}
|
||||
$attributeValueQuery->orWhereRaw("find_in_set(?, {$column})", [$filterValue]);
|
||||
}
|
||||
});
|
||||
|
||||
} else {
|
||||
$attributeQuery->where($column, '>=', core()->convertToBasePrice(current($filterInputValues)))
|
||||
->where($column, '<=', core()->convertToBasePrice(end($filterInputValues)));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
$qb->groupBy('variants.id');
|
||||
$qb->havingRaw('COUNT(*) = ' . count($attributeFilters));
|
||||
}
|
||||
|
||||
return $qb->groupBy('product_flat.id');
|
||||
})->paginate(isset($params['limit']) ? $params['limit'] : 9);
|
||||
|
||||
return $results;
|
||||
}
|
||||
|
||||
public function findAllBySeller($seller_id,$category_id = null)
|
||||
{
|
||||
$params = request()->input();
|
||||
|
|
@ -630,7 +521,6 @@ class ProductRepository extends WProductRepository
|
|||
AND NOW( ) <= product_flat.special_price_to, IF( product_flat.special_price IS NULL OR product_flat.special_price = 0 , product_flat.price, LEAST( product_flat.special_price, product_flat.price ) ) , product_flat.price ) , IF( product_flat.special_price_from IS NULL , IF( product_flat.special_price_to IS NULL , IF( product_flat.special_price IS NULL OR product_flat.special_price = 0 , product_flat.price, LEAST( product_flat.special_price, product_flat.price ) ) , IF( NOW( ) <= product_flat.special_price_to, IF( product_flat.special_price IS NULL OR product_flat.special_price = 0 , product_flat.price, LEAST( product_flat.special_price, product_flat.price ) ) , product_flat.price ) ) , IF( product_flat.special_price_to IS NULL , IF( NOW( ) >= product_flat.special_price_from, IF( product_flat.special_price IS NULL OR product_flat.special_price = 0 , product_flat.price, LEAST( product_flat.special_price, product_flat.price ) ) , product_flat.price ) , product_flat.price ) ) ) AS price1'))
|
||||
|
||||
->leftJoin('products', 'product_flat.product_id', '=', 'products.id')
|
||||
// ->leftJoin('product_inventories', 'product_flat.product_id', '=', 'product_inventories.product_id')
|
||||
->leftJoin('marketplace_products', 'product_flat.product_id', '=', 'marketplace_products.product_id')
|
||||
->where('product_flat.visible_individually', 1)
|
||||
->where('product_flat.status', 1)
|
||||
|
|
|
|||
|
|
@ -413,7 +413,6 @@ return [
|
|||
'customer-notified' => ':date | Customer <b>Notified</b>',
|
||||
'customer-not-notified' => ':date | Customer <b>Not Notified</b>',
|
||||
'transactions' => 'Transactions',
|
||||
'phone' => 'Phone number',
|
||||
],
|
||||
|
||||
'invoices' => [
|
||||
|
|
@ -537,10 +536,10 @@ return [
|
|||
'bundle' => 'Bundle',
|
||||
'downloadable' => 'Downloadable',
|
||||
'grouped' => 'Grouped',
|
||||
'virtual' => 'Virtual',
|
||||
'virtual' => 'Virtual',
|
||||
'configurable' => 'Configurable',
|
||||
|
||||
],
|
||||
],
|
||||
'familiy' => 'Attribute Family',
|
||||
'sku' => 'SKU',
|
||||
'configurable-attributes' => 'Configurable Attributes',
|
||||
|
|
|
|||
|
|
@ -421,7 +421,6 @@ return [
|
|||
'customer-notified' => ':date | Покупатель <b>Notified</b>',
|
||||
'customer-not-notified' => ':date | Покупатель <b>Not Notified</b>',
|
||||
'transactions' => 'Транзакции',
|
||||
'phone' => 'Номер телефона',
|
||||
],
|
||||
|
||||
'invoices' => [
|
||||
|
|
|
|||
|
|
@ -341,6 +341,7 @@ return [
|
|||
'tax-percent' => 'Salgyt göterimi',
|
||||
'tax-amount' => 'Salgyt möçberi',
|
||||
'discount-amount' => 'Arzanladyş möçberi',
|
||||
// 'discount-amount' => 'Arzanladyş möçberi',
|
||||
'grand-total' => 'Umumy jemi',
|
||||
'total-paid' => 'Jemi tölenen',
|
||||
'total-refunded' => 'Jemi çykdajysy tölenen',
|
||||
|
|
@ -355,7 +356,6 @@ return [
|
|||
'customer-notified' => ':date | Customer <b>Notified</b>',
|
||||
'customer-not-notified' => ':date | Customer <b>Not Notified</b>',
|
||||
'transactions' => 'Transactions t',
|
||||
'phone' => 'Telefon belgisi',
|
||||
],
|
||||
|
||||
'invoices' => [
|
||||
|
|
|
|||
|
|
@ -154,7 +154,7 @@
|
|||
{!! view_render_event('sales.order.customer_group.after', ['order' => $order]) !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</accordian>
|
||||
|
|
@ -190,7 +190,7 @@
|
|||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
@endif
|
||||
|
|
@ -274,7 +274,7 @@
|
|||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
|
|
@ -362,7 +362,7 @@
|
|||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="summary-comment-container">
|
||||
<div class="comment-container">
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ class ProductDataGrid extends DataGrid
|
|||
{
|
||||
|
||||
$queryBuilder = DB::table('marketplace_products')
|
||||
->leftJoin('product_flat', 'marketplace_products.product_id', '=', 'product_flat.product_id')
|
||||
->leftJoin('product_flat', 'marketplace_products.product_id', '=', 'product_flat.id')
|
||||
->leftJoin('marketplace_product_flags', 'product_flat.product_id', '=', 'marketplace_product_flags.product_id')
|
||||
->leftJoin('marketplace_sellers', 'marketplace_products.marketplace_seller_id', '=', 'marketplace_sellers.id')
|
||||
->leftJoin('customers', 'marketplace_sellers.customer_id', '=', 'customers.id')
|
||||
|
|
|
|||
|
|
@ -152,7 +152,7 @@ class ProductRepository extends Repository
|
|||
|
||||
$seller = $this->sellerRepository->isSellerMarket($data["marketplace_seller_id"]);
|
||||
|
||||
// \Log::info($seller);
|
||||
\Log::info($seller);
|
||||
|
||||
$sellerProduct = parent::create(array_merge($data, [
|
||||
'marketplace_seller_id' => $seller->id,
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ class SellerRepository extends Repository
|
|||
|
||||
public function isSellerMarket($sellerId)
|
||||
{
|
||||
$seller = $this->getModel()->where('id', $sellerId)->where('is_approved', 1)->first();
|
||||
$seller = $this->getModel()->where('id', $sellerId)->first();
|
||||
|
||||
return $seller;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -179,6 +179,7 @@ return [
|
|||
'id' => 'Id',
|
||||
'sku' => 'SKU',
|
||||
'name' => 'Name',
|
||||
'price' => 'Price',
|
||||
'product-number' => 'Product Number',
|
||||
'quantity' => 'Quantity',
|
||||
'is-approved' => 'Is Approved',
|
||||
|
|
@ -210,6 +211,7 @@ return [
|
|||
'grand-total' => 'Grand Total',
|
||||
'order-date' => 'Order Date',
|
||||
'channel-name' => 'Channel Name',
|
||||
'status' => 'Status',
|
||||
'processing' => 'Processing',
|
||||
'completed' => 'Completed',
|
||||
'canceled' => 'Canceled',
|
||||
|
|
@ -311,6 +313,7 @@ return [
|
|||
'write-review' => 'Write Review',
|
||||
'total-rating' => ':total_rating Ratings & :total_reviews Reviews',
|
||||
'view-more' => 'View More',
|
||||
'write-review' => 'Write Review',
|
||||
'by-user-date' => '- By :name :date',
|
||||
'rating' => 'Rating',
|
||||
'comment' => 'Comment'
|
||||
|
|
@ -354,7 +357,6 @@ return [
|
|||
],
|
||||
|
||||
'admin' => [
|
||||
|
||||
'layouts' => [
|
||||
'marketplace' => 'Marketplace',
|
||||
'sellers' => 'Sellers',
|
||||
|
|
@ -516,6 +518,7 @@ return [
|
|||
'create-success' => 'Seller flag reason created successfully',
|
||||
'update-success' => 'Seller flag reason updated successfully',
|
||||
'delete-success' => 'Seller flag reason deleted successfully',
|
||||
'title' => 'Seller flag reasons',
|
||||
'edit-title' => 'Edit flag reason',
|
||||
|
||||
'create' => [
|
||||
|
|
@ -641,6 +644,7 @@ return [
|
|||
'create-success' => 'Product flag has been created successfully',
|
||||
'delete-success' => 'Product flag has been deleted successfully',
|
||||
'update-success' => 'Product flag has been updated successfully'
|
||||
|
||||
]
|
||||
],
|
||||
|
||||
|
|
|
|||
|
|
@ -121,6 +121,7 @@ return [
|
|||
'id' => 'Id',
|
||||
'sku' => 'SKU',
|
||||
'name' => 'Имя',
|
||||
'price' => 'Цена',
|
||||
'quantity' => 'Количество',
|
||||
'is-approved' => 'Подтвержденный',
|
||||
'yes' => 'Да',
|
||||
|
|
@ -148,6 +149,7 @@ return [
|
|||
'grand-total' => 'Общий итог',
|
||||
'order-date' => 'Дата заказа',
|
||||
'channel-name' => 'Название канала',
|
||||
'status' => 'Статус',
|
||||
'processing' => 'Обработка',
|
||||
'completed' => 'Завершено',
|
||||
'canceled' => 'Отменен',
|
||||
|
|
@ -241,6 +243,7 @@ return [
|
|||
'write-review' => 'Написать обзор',
|
||||
'total-rating' => ':total_rating Рейтинги & :total_reviews обзоры',
|
||||
'view-more' => 'Обширный',
|
||||
'write-review' => 'Написать обзор',
|
||||
'by-user-date' => '- по :name :date',
|
||||
'rating' => 'Рейтинг',
|
||||
'comment' => 'Комментарий'
|
||||
|
|
@ -340,13 +343,6 @@ return [
|
|||
'open-shop-info' => 'Информация об открытом магазине',
|
||||
],
|
||||
|
||||
'flag' => [
|
||||
'title' => 'Флаги',
|
||||
'name' => 'Имя',
|
||||
'email' => 'Электронная почта',
|
||||
'reason' => 'Причины'
|
||||
],
|
||||
|
||||
'sellers' => [
|
||||
'title' => 'Продавцы',
|
||||
'id' => 'Id',
|
||||
|
|
@ -365,15 +361,9 @@ return [
|
|||
'delete-success-msg' => 'Удалить успешное сообщение',
|
||||
'mass-delete-success' => 'Успешное массовое удаление',
|
||||
'mass-update-success' => 'Успешное массовое обновление',
|
||||
'seller-profile' => 'Профиль продавца',
|
||||
'view-seller-profile' => 'Посмотреть профиль продавца',
|
||||
'product' => 'Продукт',
|
||||
'add-product' => 'Добавить продукт',
|
||||
'add-title' => 'Продавец',
|
||||
'search-product' => 'Поиск продукта',
|
||||
'search' => 'Поиск',
|
||||
|
||||
'flag' => [
|
||||
'title' => 'Причины флага продавца',
|
||||
'add-btn-title' => 'Добавить причину пометки',
|
||||
'create-success' => 'Причина пометки продавца успешно создана',
|
||||
'update-success' => 'Причина пометки продавца успешно обновлена',
|
||||
|
|
@ -407,7 +397,6 @@ return [
|
|||
|
||||
'orders' => [
|
||||
'title' => 'Заказы',
|
||||
'discount' => 'Скидка',
|
||||
'manage-title' => 'Управление заказами поставщиков',
|
||||
'order-id' => 'Номер заказа',
|
||||
'seller-name' => 'Имя продавца',
|
||||
|
|
@ -467,8 +456,7 @@ return [
|
|||
'products' => [
|
||||
'id' => 'Id',
|
||||
'title' => 'Продукты',
|
||||
'product-id' => 'Ид продукта',
|
||||
'product-number' => 'Номер продукта',
|
||||
'product-id' => 'Номер продукта',
|
||||
'seller-name' => 'Имя продавца',
|
||||
'sku' => 'Sku',
|
||||
'name' => 'Имя',
|
||||
|
|
|
|||
|
|
@ -121,6 +121,7 @@ return [
|
|||
'id' => 'Id',
|
||||
'sku' => 'SKU',
|
||||
'name' => 'Ady',
|
||||
'price' => 'Bahasy',
|
||||
'quantity' => 'Mukdary',
|
||||
'is-approved' => 'Tassyklanan',
|
||||
'yes' => 'Hawa',
|
||||
|
|
@ -148,6 +149,7 @@ return [
|
|||
'grand-total' => 'Umumy jemi',
|
||||
'order-date' => 'Sargydyň senesi',
|
||||
'channel-name' => 'Kanalyň ady',
|
||||
'status' => 'Statusy',
|
||||
'processing' => 'Işlenilýär',
|
||||
'completed' => 'Tamamlandy',
|
||||
'canceled' => 'Ýatyryldy',
|
||||
|
|
@ -241,6 +243,7 @@ return [
|
|||
'write-review' => 'Syn ýazyň',
|
||||
'total-rating' => ':total_rating Reýtingleri & :total_reviews synlary',
|
||||
'view-more' => 'Giňişleýin',
|
||||
'write-review' => 'Syn ýazyň',
|
||||
'by-user-date' => '- :name :date boýunça',
|
||||
'rating' => 'Reýting',
|
||||
'comment' => 'Teswir'
|
||||
|
|
@ -340,13 +343,6 @@ return [
|
|||
'open-shop-info' => 'Dükan aç barada maglumat',
|
||||
],
|
||||
|
||||
'flag' => [
|
||||
'title' => 'Flaglar',
|
||||
'name' => 'Ady',
|
||||
'email' => 'Elekrton poçta',
|
||||
'reason' => 'Sebäbi'
|
||||
],
|
||||
|
||||
'sellers' => [
|
||||
'title' => 'Satyjylar',
|
||||
'id' => 'Id',
|
||||
|
|
@ -365,13 +361,6 @@ return [
|
|||
'delete-success-msg' => 'Satyjy üstünlikli pozuldy.',
|
||||
'mass-delete-success' => 'Saýlanan satyjylar üstünlikli pozuldy.',
|
||||
'mass-update-success' => 'Saýlanan satyjylar üstünlikli täzelendi.',
|
||||
'seller-profile' => 'Satyjy profili',
|
||||
'view-seller-profile' => 'Satyjy profilini görmek',
|
||||
'product' => 'Haryt',
|
||||
'add-product' => 'Haryt goşmak',
|
||||
'add-title' => 'Satyjy',
|
||||
'search-product' => 'Haryt gözlegi',
|
||||
'search' => 'Gözleg',
|
||||
|
||||
'flag' => [
|
||||
'title' => 'Seller Flag Reasons',
|
||||
|
|
@ -379,6 +368,7 @@ return [
|
|||
'create-success' => 'Seller flag reason created successfully',
|
||||
'update-success' => 'Seller flag reason updated successfully',
|
||||
'delete-success' => 'Seller flag reason deleted successfully',
|
||||
'title' => 'Seller flag reasons',
|
||||
'edit-title' => 'Edit flag reason',
|
||||
|
||||
'create' => [
|
||||
|
|
@ -407,7 +397,6 @@ return [
|
|||
|
||||
'orders' => [
|
||||
'title' => 'Sargytlar',
|
||||
'discount' => 'Arzanladyş',
|
||||
'manage-title' => 'Satyjynyň sargytlaryny dolandyr',
|
||||
'order-id' => 'Sargyt Id',
|
||||
'seller-name' => 'Satyjynyň ady',
|
||||
|
|
@ -467,8 +456,7 @@ return [
|
|||
'products' => [
|
||||
'id' => 'Id',
|
||||
'title' => 'Önümler',
|
||||
'product-id' => 'Önümiň Id-sy',
|
||||
'product-number' => 'Önümiň belgisi',
|
||||
'product-id' => 'Önümiň Id',
|
||||
'seller-name' => 'Ady',
|
||||
'sku' => 'Sku',
|
||||
'name' => 'Ady',
|
||||
|
|
|
|||
|
|
@ -223,7 +223,7 @@ class ProductFlat
|
|||
'locale' => $locale->code,
|
||||
]);
|
||||
}
|
||||
// $productFlat->brand_id = $product->brand_id;
|
||||
$productFlat->brand_id = $product->brand_id;
|
||||
foreach ($familyAttributes[$product->attribute_family->id] as $attribute) {
|
||||
if ($parentProduct && ! in_array($attribute->code, array_merge($superAttributes[$parentProduct->id], $this->fillableAttributeCodes))) {
|
||||
continue;
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ class Product extends Model implements ProductContract
|
|||
'attribute_family_id',
|
||||
'sku',
|
||||
'parent_id',
|
||||
// 'brand_id'
|
||||
'brand_id'
|
||||
];
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -51,11 +51,8 @@ class ProductMediaRepository extends Repository
|
|||
$previousIds = $this->resolveFileTypeQueryBuilder($product, $uploadFileType)->pluck('id');
|
||||
|
||||
if (isset($data[$uploadFileType]['files']) && $data[$uploadFileType]['files']) {
|
||||
|
||||
|
||||
foreach ($data[$uploadFileType]['files'] as $indexOrModelId => $file) {
|
||||
if ($file instanceof UploadedFile) {
|
||||
\Log::info("messageq: ".$file);
|
||||
$this->create([
|
||||
'type' => $uploadFileType,
|
||||
'path' => $file->store($this->getProductDirectory($product)),
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
/var/www/nurgulbackend/storage/app/public
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
@extends('errors::minimal')
|
||||
|
||||
@section('title', __('Payment Required'))
|
||||
@section('code', '402')
|
||||
@section('message', __('Payment Required'))
|
||||
|
|
@ -6,12 +6,16 @@
|
|||
|
||||
<title>@yield('title')</title>
|
||||
|
||||
<!-- Fonts -->
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com">
|
||||
<link href="https://fonts.googleapis.com/css2?family=Nunito&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- Styles -->
|
||||
<style>
|
||||
html, body {
|
||||
background-color: #fff;
|
||||
color: #636b6f;
|
||||
font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
|
||||
font-family: 'Nunito', sans-serif;
|
||||
font-weight: 100;
|
||||
height: 100vh;
|
||||
margin: 0;
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue