arassalayish ishleri
This commit is contained in:
parent
5e8565dd30
commit
0d44c66293
|
|
@ -32,7 +32,7 @@ class Vendors extends Controller
|
|||
->get();
|
||||
|
||||
foreach ($vendors as $vendor){
|
||||
if($vendor->categories && $mainCats = $vendor->categories->where('type','main')->first()){
|
||||
if($vendor->categories && $mainCats = $vendor->categories->first()){
|
||||
$cat_ids = json_decode($mainCats->categories,true);
|
||||
// $vendor->test = Category::collection($this->categoryRepository->getVisibleCategoryTree($cat_ids[0]));
|
||||
$vendor->main_categories = $this->categoryRepository->whereIn('id',$cat_ids)
|
||||
|
|
|
|||
|
|
@ -0,0 +1,208 @@
|
|||
<?php
|
||||
|
||||
namespace Sarga\Admin\DataGrids;
|
||||
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Webkul\Customer\Models\CustomerAddress;
|
||||
use Webkul\Customer\Repositories\CustomerRepository;
|
||||
use Webkul\Ui\DataGrid\DataGrid;
|
||||
use Webkul\Ui\DataGrid\Traits\ProvideDataGridPlus;
|
||||
|
||||
class AddressDataGrid extends DataGrid
|
||||
{
|
||||
use ProvideDataGridPlus;
|
||||
|
||||
/**
|
||||
* Index.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
public $index = 'address_id';
|
||||
|
||||
/**
|
||||
* Sort order.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $sortOrder = 'desc';
|
||||
|
||||
/**
|
||||
* Customer repository instance.
|
||||
*
|
||||
* @var \Webkul\Customer\Repositories\CustomerRepository
|
||||
*/
|
||||
protected $customerRepository;
|
||||
|
||||
/**
|
||||
* Create a new datagrid instance.
|
||||
*
|
||||
* @param \Webkul\Customer\Repositories\CustomerRepository $customerRepository
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(CustomerRepository $customerRepository)
|
||||
{
|
||||
$this->customerRepository = $customerRepository;
|
||||
|
||||
parent::__construct();
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepare query builder.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function prepareQueryBuilder()
|
||||
{
|
||||
$customer = $this->customerRepository->find(request('id'));
|
||||
|
||||
$queryBuilder = DB::table('addresses as ca')
|
||||
// ->leftJoin('countries', 'ca.country', '=', 'countries.code')
|
||||
->leftJoin('customers as c', 'ca.customer_id', '=', 'c.id')
|
||||
->addSelect('ca.id as address_id', 'ca.company_name', 'ca.address1', 'ca.state', 'ca.city')
|
||||
->where('ca.address_type', CustomerAddress::ADDRESS_TYPE)
|
||||
->where('c.id', $customer->id);
|
||||
|
||||
// $queryBuilder = $queryBuilder->leftJoin('country_states', function ($qb) {
|
||||
// $qb->on('ca.state', 'country_states.code')
|
||||
// ->on('countries.id', 'country_states.country_id');
|
||||
// });
|
||||
|
||||
// $queryBuilder->groupBy('ca.id')
|
||||
// ->addSelect(DB::raw(DB::getTablePrefix() . 'country_states.default_name as state_name'));
|
||||
|
||||
$this->addFilter('company_name', 'ca.company_name');
|
||||
$this->addFilter('address1', 'ca.address1');
|
||||
// $this->addFilter('postcode', 'ca.postcode');
|
||||
$this->addFilter('city', 'ca.city');
|
||||
$this->addFilter('state_name', DB::raw(DB::getTablePrefix() . 'country_states.default_name'));
|
||||
// $this->addFilter('country_name', DB::raw(DB::getTablePrefix() . 'countries.name'));
|
||||
// $this->addFilter('default_address', 'ca.default_address');
|
||||
|
||||
$this->setQueryBuilder($queryBuilder);
|
||||
}
|
||||
|
||||
/**
|
||||
* Add columns.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function addColumns()
|
||||
{
|
||||
$this->addColumn([
|
||||
'index' => 'address_id',
|
||||
'label' => trans('admin::app.datagrid.id'),
|
||||
'type' => 'number',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true,
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
'index' => 'company_name',
|
||||
'label' => 'Not',
|
||||
// 'label' => trans('admin::app.customers.addresses.company-name'),
|
||||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true,
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
'index' => 'address1',
|
||||
'label' => trans('admin::app.customers.addresses.address-1'),
|
||||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true,
|
||||
]);
|
||||
|
||||
// $this->addColumn([
|
||||
// 'index' => 'postcode',
|
||||
// 'label' => trans('admin::app.customers.addresses.postcode'),
|
||||
// 'type' => 'string',
|
||||
// 'searchable' => true,
|
||||
// 'sortable' => true,
|
||||
// 'filterable' => true,
|
||||
// ]);
|
||||
|
||||
$this->addColumn([
|
||||
'index' => 'city',
|
||||
'label' => trans('admin::app.customers.addresses.city'),
|
||||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true,
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
'index' => 'state',
|
||||
'label' => trans('admin::app.customers.addresses.state-name'),
|
||||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true,
|
||||
]);
|
||||
|
||||
// $this->addColumn([
|
||||
// 'index' => 'country_name',
|
||||
// 'label' => trans('admin::app.customers.addresses.country-name'),
|
||||
// 'type' => 'string',
|
||||
// 'searchable' => true,
|
||||
// 'sortable' => true,
|
||||
// 'filterable' => true,
|
||||
// ]);
|
||||
|
||||
// $this->addColumn([
|
||||
// 'index' => 'default_address',
|
||||
// 'label' => trans('admin::app.customers.addresses.default-address'),
|
||||
// 'type' => 'boolean',
|
||||
// 'sortable' => true,
|
||||
// 'searchable' => false,
|
||||
// 'closure' => function ($row) {
|
||||
// if ($row->default_address == 1) {
|
||||
// return '<span class="badge badge-md badge-success"">' . trans('admin::app.customers.addresses.yes') . '</span>';
|
||||
// } else {
|
||||
// return trans('admin::app.customers.addresses.dash');
|
||||
// }
|
||||
// },
|
||||
// ]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepare actions.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function prepareActions()
|
||||
{
|
||||
$this->addAction([
|
||||
'title' => trans('admin::app.datagrid.edit'),
|
||||
'method' => 'GET',
|
||||
'route' => 'admin.customer.addresses.edit',
|
||||
'icon' => 'icon pencil-lg-icon',
|
||||
]);
|
||||
|
||||
$this->addAction([
|
||||
'title' => trans('admin::app.datagrid.delete'),
|
||||
'method' => 'POST',
|
||||
'route' => 'admin.customer.addresses.delete',
|
||||
'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'address']),
|
||||
'icon' => 'icon trash-icon',
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Prepare mass actions.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function prepareMassActions()
|
||||
{
|
||||
$this->addMassAction([
|
||||
'type' => 'delete',
|
||||
'label' => trans('admin::app.customers.addresses.delete'),
|
||||
'action' => route('admin.customer.addresses.massdelete', request('id')),
|
||||
'method' => 'POST',
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,105 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace Sarga\Admin\DataGrids;
|
||||
|
||||
use DB;
|
||||
use Webkul\Ui\DataGrid\DataGrid;
|
||||
|
||||
/**
|
||||
* Seller Data Grid class
|
||||
*
|
||||
* @author Jitendra Singh <jitendra@webkul.com>
|
||||
* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com)
|
||||
*/
|
||||
class SellerCategoryDataGrid extends DataGrid
|
||||
{
|
||||
/**
|
||||
*
|
||||
* @var integer
|
||||
*/
|
||||
public $index = 'id';
|
||||
|
||||
protected $sortOrder = 'desc'; //asc or desc
|
||||
|
||||
protected $enableFilterMap = true;
|
||||
|
||||
public function prepareQueryBuilder()
|
||||
{
|
||||
$queryBuilder = DB::table('seller_categories')
|
||||
->leftJoin('marketplace_sellers', 'seller_categories.seller_id', 'marketplace_sellers.id')
|
||||
->leftJoin('customers', 'marketplace_sellers.customer_id', 'customers.id')
|
||||
|
||||
->select(DB::raw('CONCAT(customers.first_name, " ", customers.last_name) as name'),
|
||||
'seller_categories.categories',
|
||||
'seller_categories.id',
|
||||
'seller_categories.type'
|
||||
);
|
||||
|
||||
$this->addFilter('customer_name', DB::raw('CONCAT(customers.first_name, " ", customers.last_name)'));
|
||||
|
||||
|
||||
$this->setQueryBuilder($queryBuilder);
|
||||
}
|
||||
|
||||
public function addColumns()
|
||||
{
|
||||
$this->addColumn([
|
||||
'index' => 'id',
|
||||
'label' => trans('marketplace::app.admin.sellers.id'),
|
||||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
'index' => 'name',
|
||||
'label' => trans('marketplace::app.admin.flag.name'),
|
||||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
'index' => 'type',
|
||||
'label' => 'Type',
|
||||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
}
|
||||
|
||||
public function prepareActions()
|
||||
{
|
||||
$this->addAction([
|
||||
'type' => 'edit',
|
||||
'method' => 'GET',
|
||||
'route' => 'admin.marketplace.seller.category.edit',
|
||||
'icon' => 'icon pencil-lg-icon',
|
||||
'title' => ''
|
||||
], true);
|
||||
|
||||
$this->addAction([
|
||||
'type' => 'Delete',
|
||||
'method' => 'delete',
|
||||
'route' => 'admin.marketplace.seller.category.delete',
|
||||
'confirm_text' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'product']),
|
||||
'icon' => 'icon trash-icon',
|
||||
'title' => trans('ui::app.datagrid.massaction.delete', ['resource' => 'product'])
|
||||
], true);
|
||||
}
|
||||
|
||||
public function prepareMassActions()
|
||||
{
|
||||
$this->addMassAction([
|
||||
'type' => 'delete',
|
||||
'label' => trans('marketplace::app.admin.sellers.delete'),
|
||||
'action' => route('admin.marketplace.seller.category.mass-delete'),
|
||||
'method' => 'POST',
|
||||
'title' => ''
|
||||
], true) ;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class AddPromotionCategoryIdInChannelsTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('channels', function (Blueprint $table) {
|
||||
$table->integer('promotion_category_id')->nullable()->unsigned();
|
||||
$table->foreign('promotion_category_id')->references('id')->on('categories')->onDelete('set null');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('channels', function (Blueprint $table) {
|
||||
$table->dropColumn('promotion_category_id');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
class UpdateSellersTable extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::table('marketplace_sellers', function (Blueprint $table) {
|
||||
$table->unsignedInteger('brand_attribute_id')->nullable();
|
||||
});
|
||||
}
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::table('marketplace_sellers', function (Blueprint $table) {
|
||||
$table->dropColumn('brand_attribute_id');
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: merdan
|
||||
* Date: 12/29/2021
|
||||
* Time: 10:23
|
||||
*/
|
||||
|
||||
namespace Sarga\Admin\Listeners;
|
||||
|
||||
|
||||
use Illuminate\Support\Facades\Log;
|
||||
use Webkul\Attribute\Repositories\AttributeOptionRepository;
|
||||
|
||||
class Sellers
|
||||
{
|
||||
protected $optionRepository;
|
||||
public function __construct(AttributeOptionRepository $optionRepository)
|
||||
{
|
||||
$this->optionRepository = $optionRepository;
|
||||
}
|
||||
|
||||
public function edit($seller){
|
||||
Log::info(json_encode($seller));
|
||||
return view('sarga_admin::sellers.seller-brand');
|
||||
}
|
||||
}
|
||||
|
|
@ -18,6 +18,11 @@ class AdminServiceProvider extends ServiceProvider
|
|||
$this->loadViewsFrom(__DIR__ . '/../Resources/views', 'sarga_admin');
|
||||
$this->loadMigrationsFrom(__DIR__ . '/../Database/Migrations');
|
||||
$this->loadTranslationsFrom(__DIR__ . '/../Resources/lang', 'sarga');
|
||||
|
||||
$this->publishes([
|
||||
__DIR__ . '/../Resources/views/catalog/categories' => resource_path('views/vendor/admin/catalog/categories'),
|
||||
]);
|
||||
|
||||
$this->app->register(EventServiceProvider::class);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -16,8 +16,8 @@ class EventServiceProvider extends ServiceProvider
|
|||
{
|
||||
|
||||
public function boot(){
|
||||
Event::listen('marketplace.sellers.account.profile.edit.before', function($viewRenderEventManager) {
|
||||
$viewRenderEventManager->addTemplate('sarga_admin::sellers.seller-brand');
|
||||
});
|
||||
// Event::listen('marketplace.sellers.account.profile.edit.before', function($viewRenderEventManager) {
|
||||
// $viewRenderEventManager->addTemplate('sarga_admin::sellers.seller-brand');
|
||||
// });
|
||||
}
|
||||
}
|
||||
|
|
@ -1,64 +0,0 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('marketplace::app.admin.sellers.category.add-title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<div class="content">
|
||||
<form method="POST" action="{{ route('admin.marketplace.seller.category.store') }}" @submit.prevent="onSubmit">
|
||||
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
<h1>
|
||||
<i class="icon angle-left-icon back-link" onclick="history.length > 1 ? history.go(-1) : window.location = '{{ route('admin.dashboard.index') }}';"></i>
|
||||
|
||||
{{ __('marketplace::app.admin.sellers.category.add-title') }}
|
||||
|
||||
{{-- {{ Config::get('carrier.social.facebook.url') }} --}}
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
<div class="page-action">
|
||||
<button type="submit" class="btn btn-lg btn-primary">
|
||||
{{ __('marketplace::app.admin.sellers.category.save-btn-title') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="page-content">
|
||||
|
||||
<div class="form-container">
|
||||
@csrf()
|
||||
|
||||
<div class="control-group" :class="[errors.has('seller_id') ? 'has-error' : '']">
|
||||
<label for="seller_id" class="required">{{ __('marketplace::app.admin.sellers.category.seller') }}</label>
|
||||
<select name="seller_id" id="seller_id" class="control"
|
||||
data-vv-as=""{{ __('marketplace::app.admin.sellers.category.seller') }}""
|
||||
>
|
||||
@foreach ($sellers as $seller)
|
||||
<option value="{{$seller->id}}"> {{$seller->customer->name}}</option>
|
||||
@endforeach
|
||||
|
||||
</select>
|
||||
|
||||
<span class="control-error" v-if="errors.has('seller_id')">@{{ errors.first('seller_id') }}</span>
|
||||
</div>
|
||||
<div class="control-group" :class="[errors.has('type') ? 'has-error' : '']">
|
||||
<label for="type" class="required">Type</label>
|
||||
<select name="type" id="type" class="control" data-vv-as=""Type"">
|
||||
<option value="main">Main</option>
|
||||
<option value="promo">Promo</option>
|
||||
<option value="featured">Featured</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
@if ($categories->count())
|
||||
<tree-view behavior="normal" value-field="id" name-field="categories" input-type="checkbox" items='@json($categories)' value='' fallback-locale="{{ config('app.fallback_locale') }}"></tree-view>
|
||||
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@stop
|
||||
|
|
@ -1,63 +0,0 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('marketplace::app.admin.sellers.category.edit-title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<div class="content">
|
||||
<form method="POST" action="{{ route('admin.marketplace.seller.category.update', $sellerCategories->id) }}" @submit.prevent="onSubmit">
|
||||
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
<h1>
|
||||
<i class="icon angle-left-icon back-link" onclick="history.length > 1 ? history.go(-1) : window.location = '{{ route('admin.dashboard.index') }}';"></i>
|
||||
|
||||
{{ __('marketplace::app.admin.sellers.category.edit-title') }}
|
||||
|
||||
{{-- {{ Config::get('carrier.social.facebook.url') }} --}}
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
<div class="page-action">
|
||||
<button type="submit" class="btn btn-lg btn-primary">
|
||||
{{ __('marketplace::app.admin.sellers.category.update-btn-title') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="page-content">
|
||||
|
||||
<div class="form-container">
|
||||
@csrf()
|
||||
|
||||
<div class="control-group" :class="[errors.has('seller_id') ? 'has-error' : '']">
|
||||
<label for="seller_id" class="required">{{ __('marketplace::app.admin.sellers.category.seller') }}</label>
|
||||
<select name="seller_id" id="seller_id" class="control"
|
||||
data-vv-as=""{{ __('marketplace::app.admin.sellers.category.seller') }}""
|
||||
>
|
||||
@foreach ($sellers as $seller)
|
||||
<option value="{{$seller->id}}" @if(old('seller_id',$sellerCategories->seller_id)==$seller->id)selected @endif> {{$seller->customer->name}}</option>
|
||||
@endforeach
|
||||
|
||||
</select>
|
||||
|
||||
<span class="control-error" v-if="errors.has('seller_id')">@{{ errors.first('seller_id') }}</span>
|
||||
</div>
|
||||
<div class="control-group" :class="[errors.has('type') ? 'has-error' : '']">
|
||||
<label for="type" class="required">Type</label>
|
||||
<select name="type" id="type" class="control" data-vv-as=""Type"">
|
||||
<option value="main" @if(old('type',$sellerCategories->type)=="main")selected @endif>Main</option>
|
||||
<option value="promo" @if(old('type',$sellerCategories->type)=="promo")selected @endif>Promo</option>
|
||||
<option value="featured" @if(old('type',$sellerCategories->type)=="featured")selected @endif>Featured</option>
|
||||
</select>
|
||||
</div>
|
||||
@if ($categories->count())
|
||||
<tree-view behavior="normal" value-field="id" name-field="categories" input-type="checkbox" items='@json($categories)' value='@json(json_decode($sellerCategories->categories))' fallback-locale="{{ config('app.fallback_locale') }}"></tree-view>
|
||||
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@stop
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
@extends('marketplace::admin.layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('marketplace::app.admin.sellers.category.title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="content">
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
<h1>{{ __('marketplace::app.admin.sellers.category.title') }}</h1>
|
||||
</div>
|
||||
|
||||
<div class="page-action">
|
||||
<a href="{{route('admin.marketplace.seller.category.create')}}" class="btn btn-lg btn-primary">{{ __('marketplace::app.admin.sellers.category.create') }}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="page-content">
|
||||
|
||||
@inject('sellerCategory', 'Sarga\Admin\DataGrids\SellerCategoryDataGrid')
|
||||
{!! $sellerCategory->render() !!}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@stop
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
@php
|
||||
$attributes = app('Webkul\Attribute\Repositories\AttributeRepository')->findWhere(['type'=>'select']);
|
||||
@endphp
|
||||
<div class="control-group" :class="[errors.has('brand_attribute_id') ? 'has-error' : '']">
|
||||
<label for="brand_attribute_id" class="required">Brand Attribute</label>
|
||||
<select name="brand_attribute_id" id="brand_attribute_id" class="control"
|
||||
data-vv-as=""Brand Attribute""
|
||||
>
|
||||
@foreach ($attributes as $attribute)
|
||||
<option value="{{$attribute->id}}" @if(old('brand_attribute_id',$seller->brand_attribute_id)==$attribute->id)selected @endif>
|
||||
{{$attribute->admin_name}}</option>
|
||||
@endforeach
|
||||
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('brand_attribute_id')">@{{ errors.first('brand_attribute_id') }}</span>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
@ -1,270 +0,0 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('admin::app.settings.channels.add-title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<div class="content">
|
||||
|
||||
<form method="POST" action="{{ route('admin.channels.store') }}" @submit.prevent="onSubmit" enctype="multipart/form-data">
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
<h1>
|
||||
<i class="icon angle-left-icon back-link" onclick="window.location = '{{ route('admin.channels.index') }}'"></i>
|
||||
|
||||
{{ __('admin::app.settings.channels.add-title') }}
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
<div class="page-action">
|
||||
<button type="submit" class="btn btn-lg btn-primary">
|
||||
{{ __('admin::app.settings.channels.save-btn-title') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="page-content">
|
||||
<div class="form-container">
|
||||
@csrf()
|
||||
|
||||
{!! view_render_event('bagisto.admin.settings.channel.create.before') !!}
|
||||
|
||||
{{-- general --}}
|
||||
<accordian :title="'{{ __('admin::app.settings.channels.general') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="control-group" :class="[errors.has('code') ? 'has-error' : '']">
|
||||
<label for="code" class="required">{{ __('admin::app.settings.channels.code') }}</label>
|
||||
<input v-validate="'required'" class="control" id="code" name="code" value="{{ old('code') }}" data-vv-as=""{{ __('admin::app.settings.channels.code') }}"" v-code/>
|
||||
<span class="control-error" v-if="errors.has('code')">@{{ errors.first('code') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('name') ? 'has-error' : '']">
|
||||
<label for="name" class="required">{{ __('admin::app.settings.channels.name') }}</label>
|
||||
<input v-validate="'required'" class="control" id="name" name="name" data-vv-as=""{{ __('admin::app.settings.channels.name') }}"" value="{{ old('name') }}"/>
|
||||
<span class="control-error" v-if="errors.has('name')">@{{ errors.first('name') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="description">{{ __('admin::app.settings.channels.description') }}</label>
|
||||
<textarea class="control" id="description" name="description">{{ old('description') }}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('inventory_sources[]') ? 'has-error' : '']">
|
||||
<label for="inventory_sources" class="required">{{ __('admin::app.settings.channels.inventory_sources') }}</label>
|
||||
<select v-validate="'required'" class="control" id="inventory_sources" name="inventory_sources[]" data-vv-as=""{{ __('admin::app.settings.channels.inventory_sources') }}"" multiple>
|
||||
@foreach (app('Webkul\Inventory\Repositories\InventorySourceRepository')->findWhere(['status' => 1]) as $inventorySource)
|
||||
<option value="{{ $inventorySource->id }}" {{ old('inventory_sources') && in_array($inventorySource->id, old('inventory_sources')) ? 'selected' : '' }}>
|
||||
{{ $inventorySource->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('inventory_sources[]')">@{{ errors.first('inventory_sources[]') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('root_category_id') ? 'has-error' : '']">
|
||||
<label for="root_category_id" class="required">{{ __('admin::app.settings.channels.root-category') }}</label>
|
||||
<select v-validate="'required'" class="control" id="root_category_id" name="root_category_id" data-vv-as=""{{ __('admin::app.settings.channels.root-category') }}"">
|
||||
@foreach (app('Webkul\Category\Repositories\CategoryRepository')->getRootCategories() as $category)
|
||||
<option value="{{ $category->id }}" {{ old('root_category_id') == $category->id ? 'selected' : '' }}>
|
||||
{{ $category->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('root_category_id')">@{{ errors.first('root_category_id') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('promotion_category_id') ? 'has-error' : '']">
|
||||
<label for="promotion_category_id" class="required">{{ __('admin::app.settings.channels.root-category') }}</label>
|
||||
<select v-validate="'required'" class="control" id="promotion_category_id" name="promotion_category_id" data-vv-as=""{{ __('admin::app.settings.channels.root-category') }}"">
|
||||
@foreach (app('Sarga\Shop\Repositories\CategoryRepository')->getDescriptionCategories() as $category)
|
||||
<option value="{{ $category->id }}" {{ old('promotion_category_id') == $category->id ? 'selected' : '' }}>
|
||||
{{ $category->id }} - {{ $category->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('promotion_category_id')">@{{ errors.first('promotion_category_id') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('hostname') ? 'has-error' : '']">
|
||||
<label for="hostname">{{ __('admin::app.settings.channels.hostname') }}</label>
|
||||
<input class="control" v-validate="''" id="hostname" name="hostname" value="{{ old('hostname') }}" placeholder="{{ __('admin::app.settings.channels.hostname-placeholder') }}"/>
|
||||
|
||||
<span class="control-error" v-if="errors.has('hostname')">@{{ errors.first('hostname') }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
{{-- currencies and locales --}}
|
||||
<accordian :title="'{{ __('admin::app.settings.channels.currencies-and-locales') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="control-group" :class="[errors.has('locales[]') ? 'has-error' : '']">
|
||||
<label for="locales" class="required">{{ __('admin::app.settings.channels.locales') }}</label>
|
||||
<select v-validate="'required'" class="control" id="locales" name="locales[]" data-vv-as=""{{ __('admin::app.settings.channels.locales') }}"" multiple>
|
||||
@foreach (core()->getAllLocales() as $locale)
|
||||
<option value="{{ $locale->id }}" {{ old('locales') && in_array($locale->id, old('locales')) ? 'selected' : '' }}>
|
||||
{{ $locale->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('locales[]')">@{{ errors.first('locales[]') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('default_locale_id') ? 'has-error' : '']">
|
||||
<label for="default_locale_id" class="required">{{ __('admin::app.settings.channels.default-locale') }}</label>
|
||||
<select v-validate="'required'" class="control" id="default_locale_id" name="default_locale_id" data-vv-as=""{{ __('admin::app.settings.channels.default-locale') }}"">
|
||||
@foreach (core()->getAllLocales() as $locale)
|
||||
<option value="{{ $locale->id }}" {{ old('default_locale_id') == $locale->id ? 'selected' : '' }}>
|
||||
{{ $locale->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('default_locale_id')">@{{ errors.first('default_locale_id') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('currencies[]') ? 'has-error' : '']">
|
||||
<label for="currencies" class="required">{{ __('admin::app.settings.channels.currencies') }}</label>
|
||||
<select v-validate="'required'" class="control" id="currencies" name="currencies[]" data-vv-as=""{{ __('admin::app.settings.channels.currencies') }}"" multiple>
|
||||
@foreach (core()->getAllCurrencies() as $currency)
|
||||
<option value="{{ $currency->id }}" {{ old('currencies') && in_array($currency->id, old('currencies')) ? 'selected' : '' }}>
|
||||
{{ $currency->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('currencies[]')">@{{ errors.first('currencies[]') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('base_currency_id') ? 'has-error' : '']">
|
||||
<label for="base_currbase_currency_idency" class="required">{{ __('admin::app.settings.channels.base-currency') }}</label>
|
||||
<select v-validate="'required'" class="control" id="base_currency_id" name="base_currency_id" data-vv-as=""{{ __('admin::app.settings.channels.base-currency') }}"">
|
||||
@foreach (core()->getAllCurrencies() as $currency)
|
||||
<option value="{{ $currency->id }}" {{ old('base_currency_id') == $currency->id ? 'selected' : '' }}>
|
||||
{{ $currency->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('base_currency_id')">@{{ errors.first('base_currency_id') }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
{{-- design --}}
|
||||
<accordian :title="'{{ __('admin::app.settings.channels.design') }}'" :active="true">
|
||||
<div slot="body">
|
||||
<div class="control-group">
|
||||
<label for="theme">{{ __('admin::app.settings.channels.theme') }}</label>
|
||||
<select class="control" id="theme" name="theme">
|
||||
@foreach (config('themes.themes') as $themeCode => $theme)
|
||||
<option value="{{ $themeCode }}" {{ old('theme') == $themeCode ? 'selected' : '' }}>
|
||||
{{ $theme['name'] }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="home_page_content">{{ __('admin::app.settings.channels.home_page_content') }}</label>
|
||||
<textarea class="control" id="home_page_content" name="home_page_content">{{ old('home_page_content') }}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="footer_content">{{ __('admin::app.settings.channels.footer_content') }}</label>
|
||||
<textarea class="control" id="footer_content" name="footer_content">{{ old('footer_content') }}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label>{{ __('admin::app.settings.channels.logo') }}</label>
|
||||
|
||||
<image-wrapper :button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'" input-name="logo" :multiple="false"></image-wrapper>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label>{{ __('admin::app.settings.channels.favicon') }}</label>
|
||||
|
||||
<image-wrapper :button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'" input-name="logo" :multiple="false"></image-wrapper>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
{{-- home page seo --}}
|
||||
<accordian :title="'{{ __('admin::app.settings.channels.seo') }}'" :active="true">
|
||||
<div slot="body">
|
||||
<div class="control-group" :class="[errors.has('seo_title') ? 'has-error' : '']">
|
||||
<label for="seo_title" class="required">{{ __('admin::app.settings.channels.seo-title') }}</label>
|
||||
<input v-validate="'required'" class="control" id="seo_title" name="seo_title" data-vv-as=""{{ __('admin::app.settings.channels.seo-title') }}"" value="{{ old('seo_title') }}"/>
|
||||
<span class="control-error" v-if="errors.has('seo_title')">@{{ errors.first('seo_title') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('seo_description') ? 'has-error' : '']">
|
||||
<label for="seo_description" class="required">{{ __('admin::app.settings.channels.seo-description') }}</label>
|
||||
|
||||
<textarea v-validate="'required'" class="control" id="seo_description" name="seo_description" data-vv-as=""{{ __('admin::app.settings.channels.seo-description') }}"" value="{{ old('seo_description') }}"></textarea>
|
||||
|
||||
<span class="control-error" v-if="errors.has('seo_description')">@{{ errors.first('seo_description') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('seo_keywords') ? 'has-error' : '']">
|
||||
<label for="seo_keywords" class="required">{{ __('admin::app.settings.channels.seo-keywords') }}</label>
|
||||
|
||||
<textarea v-validate="'required'" class="control" id="seo_keywords" name="seo_keywords" data-vv-as=""{{ __('admin::app.settings.channels.seo-keywords') }}"" value="{{ old('seo_keywords') }}"></textarea>
|
||||
|
||||
<span class="control-error" v-if="errors.has('seo_keywords')">@{{ errors.first('seo_keywords') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
{{-- maintenance mode --}}
|
||||
<accordian title="{{ __('admin::app.settings.channels.maintenance-mode') }}" :active="true">
|
||||
<div slot="body">
|
||||
<div class="control-group">
|
||||
<label for="maintenance-mode-status">{{ __('admin::app.status') }}</label>
|
||||
<label class="switch">
|
||||
<input type="hidden" name="is_maintenance_on" value="0" />
|
||||
<input type="checkbox" id="maintenance-mode-status" name="is_maintenance_on" value="1">
|
||||
<span class="slider round"></span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="maintenance-mode-text">{{ __('admin::app.settings.channels.maintenance-mode-text') }}</label>
|
||||
<input class="control" id="maintenance-mode-text" name="maintenance_mode_text" value=""/>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="allowed-ips">{{ __('admin::app.settings.channels.allowed-ips') }}</label>
|
||||
<input class="control" id="allowed-ips" name="allowed_ips" value=""/>
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
{!! view_render_event('bagisto.admin.settings.channel.create.after') !!}
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@stop
|
||||
|
||||
@push('scripts')
|
||||
@include('admin::layouts.tinymce')
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
tinyMCEHelper.initTinyMCE({
|
||||
selector: 'textarea#home_page_content,textarea#footer_content',
|
||||
height: 200,
|
||||
width: "100%",
|
||||
plugins: 'image imagetools media wordcount save fullscreen code table lists link hr',
|
||||
toolbar1: 'formatselect | bold italic strikethrough forecolor backcolor link hr | alignleft aligncenter alignright alignjustify | numlist bullist outdent indent | removeformat | code | table',
|
||||
image_advtab: true,
|
||||
valid_elements : '*[*]',
|
||||
uploadRoute: '{{ route('admin.tinymce.upload') }}',
|
||||
csrfToken: '{{ csrf_token() }}',
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
|
@ -1,325 +0,0 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('admin::app.settings.channels.edit-title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<div class="content">
|
||||
@php $locale = core()->getRequestedLocaleCode(); @endphp
|
||||
|
||||
<form method="POST" action="{{ route('admin.channels.update', ['id' => $channel->id, 'locale' => $locale]) }}" @submit.prevent="onSubmit" enctype="multipart/form-data">
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
<h1>
|
||||
<i class="icon angle-left-icon back-link" onclick="window.location = '{{ route('admin.channels.index') }}'"></i>
|
||||
|
||||
{{ __('admin::app.settings.channels.edit-title') }}
|
||||
</h1>
|
||||
|
||||
<div class="control-group">
|
||||
<select class="control" id="locale-switcher" onChange="window.location.href = this.value">
|
||||
@foreach (core()->getAllLocales() as $localeModel)
|
||||
|
||||
<option value="{{ route('admin.channels.edit', $channel->id) . '?locale=' . $localeModel->code }}" {{ ($localeModel->code) == $locale ? 'selected' : '' }}>
|
||||
{{ $localeModel->name }}
|
||||
</option>
|
||||
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="page-action">
|
||||
<button type="submit" class="btn btn-lg btn-primary">
|
||||
{{ __('admin::app.settings.channels.save-btn-title') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="page-content">
|
||||
|
||||
<div class="form-container">
|
||||
@csrf()
|
||||
<input name="_method" type="hidden" value="PUT">
|
||||
|
||||
{!! view_render_event('bagisto.admin.settings.channel.edit.before') !!}
|
||||
|
||||
{{-- general --}}
|
||||
<accordian :title="'{{ __('admin::app.settings.channels.general') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="control-group" :class="[errors.has('code') ? 'has-error' : '']">
|
||||
<label for="code" class="required">{{ __('admin::app.settings.channels.code') }}</label>
|
||||
<input type="text" v-validate="'required'" class="control" id="code" name="code" data-vv-as=""{{ __('admin::app.settings.channels.code') }}"" value="{{ $channel->code }}" disabled="disabled"/>
|
||||
<input type="hidden" name="code" value="{{ $channel->code }}"/>
|
||||
<span class="control-error" v-if="errors.has('code')">@{{ errors.first('code') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('{{$locale}}[name]') ? 'has-error' : '']">
|
||||
<label for="name" class="required">
|
||||
{{ __('admin::app.settings.channels.name') }}
|
||||
<span class="locale">[{{ $locale }}]</span>
|
||||
</label>
|
||||
<input v-validate="'required'" class="control" id="name" name="{{$locale}}[name]" data-vv-as=""{{ __('admin::app.settings.channels.name') }}"" value="{{ old($locale)['name'] ?? ($channel->translate($locale)['name'] ?? $channel->name) }}"/>
|
||||
<span class="control-error" v-if="errors.has('{{$locale}}[name]')">@{{ errors.first('{!!$locale!!}[page_title]') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="description">
|
||||
{{ __('admin::app.settings.channels.description') }}
|
||||
<span class="locale">[{{ $locale }}]</span>
|
||||
</label>
|
||||
<textarea class="control" id="description" name="{{$locale}}[description]">{{ old($locale)['description'] ?? ($channel->translate($locale)['description'] ?? $channel->description) }}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('inventory_sources[]') ? 'has-error' : '']">
|
||||
<label for="inventory_sources" class="required">{{ __('admin::app.settings.channels.inventory_sources') }}</label>
|
||||
<?php $selectedOptionIds = old('inventory_sources') ?: $channel->inventory_sources->pluck('id')->toArray() ?>
|
||||
<select v-validate="'required'" class="control" id="inventory_sources" name="inventory_sources[]" data-vv-as=""{{ __('admin::app.settings.channels.inventory_sources') }}"" multiple>
|
||||
@foreach (app('Webkul\Inventory\Repositories\InventorySourceRepository')->findWhere(['status' => 1]) as $inventorySource)
|
||||
<option value="{{ $inventorySource->id }}" {{ in_array($inventorySource->id, $selectedOptionIds) ? 'selected' : '' }}>
|
||||
{{ $inventorySource->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('inventory_sources[]')">@{{ errors.first('inventory_sources[]') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('root_category_id') ? 'has-error' : '']">
|
||||
<label for="root_category_id" class="required">{{ __('admin::app.settings.channels.root-category') }}</label>
|
||||
<?php $selectedOption = old('root_category_id') ?: $channel->root_category_id ?>
|
||||
<select v-validate="'required'" class="control" id="root_category_id" name="root_category_id" data-vv-as=""{{ __('admin::app.settings.channels.root-category') }}"">
|
||||
@foreach (app('Webkul\Category\Repositories\CategoryRepository')->getRootCategories() as $category)
|
||||
<option value="{{ $category->id }}" {{ $selectedOption == $category->id ? 'selected' : '' }}>
|
||||
{{ $category->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('root_category_id')">@{{ errors.first('root_category_id') }}</span>
|
||||
</div>
|
||||
<div class="control-group" :class="[errors.has('promotion_category_id') ? 'has-error' : '']">
|
||||
<label for="promotion_category_id" class="required">Promotion Category</label>
|
||||
<select v-validate="'required'" class="control" id="promotion_category_id" name="promotion_category_id" data-vv-as=""{{ __('Promotion Category') }}"">
|
||||
<?php $selectedOption = old('promotion_category_id') ?: $channel->promotion_category_id ?>
|
||||
@foreach (app('Sarga\Shop\Repositories\CategoryRepository')->getDescriptionCategories() as $category)
|
||||
<option value="{{ $category->id }}" {{ old('promotion_category_id') == $category->id ? 'selected' : '' }}>
|
||||
{{ $category->id }} - {{ $category->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('promotion_category_id')">@{{ errors.first('promotion_category_id') }}</span>
|
||||
</div>
|
||||
<div class="control-group" :class="[errors.has('hostname') ? 'has-error' : '']">
|
||||
<label for="hostname">{{ __('admin::app.settings.channels.hostname') }}</label>
|
||||
<input type="text" v-validate="''" class="control" id="hostname" name="hostname" value="{{ $channel->hostname }}" placeholder="{{ __('admin::app.settings.channels.hostname-placeholder') }}"/>
|
||||
|
||||
<span class="control-error" v-if="errors.has('hostname')">@{{ errors.first('hostname') }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
{{-- currencies and locales --}}
|
||||
<accordian :title="'{{ __('admin::app.settings.channels.currencies-and-locales') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
<div class="control-group" :class="[errors.has('locales[]') ? 'has-error' : '']">
|
||||
<label for="locales" class="required">{{ __('admin::app.settings.channels.locales') }}</label>
|
||||
<?php $selectedOptionIds = old('locales') ?: $channel->locales->pluck('id')->toArray() ?>
|
||||
<select v-validate="'required'" class="control" id="locales" name="locales[]" data-vv-as=""{{ __('admin::app.settings.channels.locales') }}"" multiple>
|
||||
@foreach (core()->getAllLocales() as $localeModel)
|
||||
<option value="{{ $localeModel->id }}" {{ in_array($localeModel->id, $selectedOptionIds) ? 'selected' : '' }}>
|
||||
{{ $localeModel->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('locales[]')">@{{ errors.first('locales[]') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('default_locale_id') ? 'has-error' : '']">
|
||||
<label for="default_locale_id" class="required">{{ __('admin::app.settings.channels.default-locale') }}</label>
|
||||
<?php $selectedOption = old('default_locale_id') ?: $channel->default_locale_id ?>
|
||||
<select v-validate="'required'" class="control" id="default_locale_id" name="default_locale_id" data-vv-as=""{{ __('admin::app.settings.channels.default-locale') }}"">
|
||||
@foreach (core()->getAllLocales() as $localeModel)
|
||||
<option value="{{ $localeModel->id }}" {{ $selectedOption == $localeModel->id ? 'selected' : '' }}>
|
||||
{{ $localeModel->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('default_locale_id')">@{{ errors.first('default_locale_id') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('currencies[]') ? 'has-error' : '']">
|
||||
<label for="currencies" class="required">{{ __('admin::app.settings.channels.currencies') }}</label>
|
||||
<?php $selectedOptionIds = old('currencies') ?: $channel->currencies->pluck('id')->toArray() ?>
|
||||
<select v-validate="'required'" class="control" id="currencies" name="currencies[]" data-vv-as=""{{ __('admin::app.settings.channels.currencies') }}"" multiple>
|
||||
@foreach (core()->getAllCurrencies() as $currency)
|
||||
<option value="{{ $currency->id }}" {{ in_array($currency->id, $selectedOptionIds) ? 'selected' : '' }}>
|
||||
{{ $currency->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('currencies[]')">@{{ errors.first('currencies[]') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('base_currency_id') ? 'has-error' : '']">
|
||||
<label for="base_currency_id" class="required">{{ __('admin::app.settings.channels.base-currency') }}</label>
|
||||
<?php $selectedOption = old('base_currency_id') ?: $channel->base_currency_id ?>
|
||||
<select v-validate="'required'" class="control" id="base_currency_id" name="base_currency_id" data-vv-as=""{{ __('admin::app.settings.channels.base-currency') }}"">
|
||||
@foreach (core()->getAllCurrencies() as $currency)
|
||||
<option value="{{ $currency->id }}" {{ $selectedOption == $currency->id ? 'selected' : '' }}>
|
||||
{{ $currency->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('base_currency_id')">@{{ errors.first('base_currency_id') }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
{{-- design --}}
|
||||
<accordian :title="'{{ __('admin::app.settings.channels.design') }}'" :active="true">
|
||||
<div slot="body">
|
||||
<div class="control-group">
|
||||
<label for="theme">{{ __('admin::app.settings.channels.theme') }}</label>
|
||||
|
||||
<?php $selectedOption = old('theme') ?: $channel->theme ?>
|
||||
|
||||
<select class="control" id="theme" name="theme">
|
||||
@foreach (config('themes.themes') as $themeCode => $theme)
|
||||
<option value="{{ $themeCode }}" {{ $selectedOption == $themeCode ? 'selected' : '' }}>
|
||||
{{ $theme['name'] }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="home_page_content">
|
||||
{{ __('admin::app.settings.channels.home_page_content') }}
|
||||
<span class="locale">[{{ $locale }}]</span>
|
||||
</label>
|
||||
<textarea class="control" id="home_page_content" name="{{$locale}}[home_page_content]">{{ old($locale)['home_page_content'] ?? ($channel->translate($locale)['home_page_content'] ?? $channel->home_page_content) }}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="footer_content">
|
||||
{{ __('admin::app.settings.channels.footer_content') }}
|
||||
<span class="locale">[{{ $locale }}]</span>
|
||||
</label>
|
||||
<textarea class="control" id="footer_content" name="{{$locale}}[footer_content]">{{ old($locale)['footer_content'] ?? ($channel->translate($locale)['footer_content'] ?? $channel->footer_content) }}</textarea>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label>{{ __('admin::app.settings.channels.logo') }}</label>
|
||||
|
||||
<image-wrapper :button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'" input-name="logo" :multiple="false" :images='"{{ $channel->logo_url }}"'></image-wrapper>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label>{{ __('admin::app.settings.channels.favicon') }}</label>
|
||||
|
||||
<image-wrapper :button-label="'{{ __('admin::app.catalog.products.add-image-btn-title') }}'" input-name="favicon" :multiple="false" :images='"{{ $channel->favicon_url }}"'></image-wrapper>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
@php
|
||||
$home_seo = $channel->translate($locale)['home_seo'] ?? $channel->home_seo;
|
||||
$seo = json_decode($home_seo);
|
||||
@endphp
|
||||
|
||||
{{-- home page seo --}}
|
||||
<accordian :title="'{{ __('admin::app.settings.channels.seo') }}'" :active="true">
|
||||
<div slot="body">
|
||||
<div class="control-group" :class="[errors.has('{{$locale}}[seo_title]') ? 'has-error' : '']">
|
||||
<label for="seo_title" class="required">
|
||||
{{ __('admin::app.settings.channels.seo-title') }}
|
||||
<span class="locale">[{{ $locale }}]</span>
|
||||
</label>
|
||||
|
||||
<input v-validate="'required'" class="control" id="seo_title" name="{{$locale}}[seo_title]" data-vv-as=""{{ __('admin::app.settings.channels.seo-title') }}"" value="{{ $seo->meta_title ?? (old($locale)['seo_title'] ?? '') }}"/>
|
||||
|
||||
<span class="control-error" v-if="errors.has('{{$locale}}[seo_title]')">@{{ errors.first('{!!$locale!!}[page_title]') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('{{$locale}}[seo_description]') ? 'has-error' : '']">
|
||||
<label for="seo_description" class="required">
|
||||
{{ __('admin::app.settings.channels.seo-description') }}
|
||||
<span class="locale">[{{ $locale }}]</span>
|
||||
</label>
|
||||
|
||||
<textarea v-validate="'required'" class="control" id="seo_description" name="{{$locale}}[seo_description]" data-vv-as=""{{ __('admin::app.settings.channels.seo-description') }}"">{{ $seo->meta_description ?? (old($locale)['seo_description'] ?? '') }}</textarea>
|
||||
|
||||
<span class="control-error" v-if="errors.has('{{$locale}}[seo_description]')">@{{ errors.first('{!!$locale!!}[page_title]') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('{{$locale}}[seo_keywords]') ? 'has-error' : '']">
|
||||
<label for="seo_keywords" class="required">
|
||||
{{ __('admin::app.settings.channels.seo-keywords') }}
|
||||
<span class="locale">[{{ $locale }}]</span>
|
||||
</label>
|
||||
|
||||
<textarea v-validate="'required'" class="control" id="seo_keywords" name="{{$locale}}[seo_keywords]" data-vv-as=""{{ __('admin::app.settings.channels.seo-keywords') }}"">{{ $seo->meta_keywords ?? (old($locale)['seo_keywords'] ?? '') }}</textarea>
|
||||
|
||||
<span class="control-error" v-if="errors.has('{{$locale}}[seo_keywords]')">@{{ errors.first('{!!$locale!!}[page_title]') }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
{{-- maintenance mode --}}
|
||||
<accordian title="{{ __('admin::app.settings.channels.maintenance-mode') }}" :active="true">
|
||||
<div slot="body">
|
||||
<div class="control-group">
|
||||
<label for="maintenance-mode-status">{{ __('admin::app.status') }}</label>
|
||||
<label class="switch">
|
||||
<input type="hidden" name="is_maintenance_on" value="0" />
|
||||
<input type="checkbox" id="maintenance-mode-status" name="is_maintenance_on" value="1" {{ $channel->is_maintenance_on ? 'checked' : '' }}>
|
||||
<span class="slider round"></span>
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="maintenance-mode-text">
|
||||
{{ __('admin::app.settings.channels.maintenance-mode-text') }}
|
||||
<span class="locale">[{{ $locale }}]</span>
|
||||
</label>
|
||||
<input class="control" id="maintenance-mode-text" name="{{$locale}}[maintenance_mode_text]" value="{{ old('maintenance_mode_text') ?? ($channel->translate($locale)['maintenance_mode_text'] ?? $channel->maintenance_mode_text) }}"/>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="allowed-ips">{{ __('admin::app.settings.channels.allowed-ips') }}</label>
|
||||
<input class="control" id="allowed-ips" name="allowed_ips" value="{{ old('allowed_ips') ?: $channel->allowed_ips }}"/>
|
||||
</div>
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
{!! view_render_event('bagisto.admin.settings.channel.edit.after') !!}
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@stop
|
||||
|
||||
@push('scripts')
|
||||
@include('admin::layouts.tinymce')
|
||||
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
tinyMCEHelper.initTinyMCE({
|
||||
selector: 'textarea#home_page_content,textarea#footer_content',
|
||||
height: 200,
|
||||
width: "100%",
|
||||
plugins: 'image imagetools media wordcount save fullscreen code table lists link hr',
|
||||
toolbar1: 'formatselect | bold italic strikethrough forecolor backcolor link hr | alignleft aligncenter alignright alignjustify | numlist bullist outdent indent | removeformat | code | table',
|
||||
image_advtab: true,
|
||||
valid_elements : '*[*]',
|
||||
uploadRoute: '{{ route('admin.tinymce.upload') }}',
|
||||
csrfToken: '{{ csrf_token() }}',
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endpush
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Webkul\Attribute\Http\Controllers\AttributeController;
|
||||
use Webkul\Attribute\Http\Controllers\AttributeFamilyController;
|
||||
use Webkul\Category\Http\Controllers\CategoryController;
|
||||
use Webkul\Marketplace\Http\Controllers\Admin\SellerCategoryController;
|
||||
use Webkul\Product\Http\Controllers\ProductController;
|
||||
|
||||
/**
|
||||
* Catalog routes.
|
||||
*/
|
||||
Route::group(['middleware' => ['web', 'admin', 'admin_locale'], 'prefix' => config('app.admin_url')], function () {
|
||||
Route::prefix('catalog')->group(function () {
|
||||
/**
|
||||
* Categories routes.
|
||||
*/
|
||||
Route::get('/categories/create', [CategoryController::class, 'create'])->defaults('_config', [
|
||||
'view' => 'sarga_admin::catalog.categories.create',
|
||||
])->name('admin.catalog.categories.create');
|
||||
|
||||
Route::get('/categories/edit/{id}', [CategoryController::class, 'edit'])->defaults('_config', [
|
||||
'view' => 'sarga_admin::catalog.categories.edit',
|
||||
])->name('admin.catalog.categories.edit');
|
||||
|
||||
});
|
||||
Route::prefix('marketplace/seller-categories')->group(function () {
|
||||
|
||||
Route::get('/', 'Webkul\Marketplace\Http\Controllers\Admin\SellerCategoryController@index')->defaults('_config', [
|
||||
'view' => 'sarga_admin::sellers.category.index'
|
||||
])->name('admin.marketplace.seller.category.index');
|
||||
|
||||
Route::get('create', [SellerCategoryController::class, 'create'])->defaults('_config', [
|
||||
'view' => 'sarga_admin::sellers.category.create',
|
||||
])->name('admin.marketplace.seller.category.create');
|
||||
|
||||
Route::get('edit/{id}', 'Webkul\Marketplace\Http\Controllers\Admin\SellerCategoryController@edit')->defaults('_config', [
|
||||
'view' => 'sarga_admin::sellers.category.edit',
|
||||
])->name('admin.marketplace.seller.category.edit');
|
||||
});
|
||||
});
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Webkul\Attribute\Http\Controllers\AttributeController;
|
||||
use Webkul\Attribute\Http\Controllers\AttributeFamilyController;
|
||||
use Webkul\Category\Http\Controllers\CategoryController;
|
||||
use Webkul\Marketplace\Http\Controllers\Admin\SellerCategoryController;
|
||||
use Webkul\Product\Http\Controllers\ProductController;
|
||||
|
||||
/**
|
||||
* marketplace routes.
|
||||
*/
|
||||
Route::group(['middleware' => ['web', 'admin', 'admin_locale'], 'prefix' => config('app.admin_url')], function () {
|
||||
Route::prefix('marketplace')->group(function () {
|
||||
|
||||
Route::prefix('seller-categories')->group(function () {
|
||||
Route::get('/', 'Webkul\Marketplace\Http\Controllers\Admin\SellerCategoryController@index')->defaults('_config', [
|
||||
'view' => 'sarga_admin::sellers.category.index'
|
||||
])->name('admin.marketplace.seller.category.index');
|
||||
|
||||
Route::get('create', [SellerCategoryController::class, 'create'])->defaults('_config', [
|
||||
'view' => 'sarga_admin::sellers.category.create',
|
||||
])->name('admin.marketplace.seller.category.create');
|
||||
|
||||
Route::get('edit/{id}', 'Webkul\Marketplace\Http\Controllers\Admin\SellerCategoryController@edit')->defaults('_config', [
|
||||
'view' => 'sarga_admin::sellers.category.edit',
|
||||
])->name('admin.marketplace.seller.category.edit');
|
||||
});
|
||||
// seller profile routes start here
|
||||
Route::get('sellers/profile/edit/{id}', 'Webkul\Marketplace\Http\Controllers\Admin\SellerController@editProfile')->defaults('_config', [
|
||||
'view' => 'marketplace::admin.sellers.edit'
|
||||
])->name('admin.marketplace.seller.edit');
|
||||
|
||||
// seller profile routes end here
|
||||
});
|
||||
});
|
||||
|
|
@ -6,19 +6,6 @@ use Webkul\Core\Http\Controllers\ChannelController;
|
|||
* Settings routes.
|
||||
*/
|
||||
Route::group(['middleware' => ['web', 'admin', 'admin_locale'], 'prefix' => config('app.admin_url')], function () {
|
||||
/**
|
||||
* Channels routes.
|
||||
*/
|
||||
|
||||
// Route::get('/channels/create', [ChannelController::class, 'create'])->defaults('_config', [
|
||||
// 'view' => 'sarga_admin::settings.channels.create',
|
||||
// ])->name('admin.channels.create');
|
||||
//
|
||||
//
|
||||
// Route::get('/channels/edit/{id}', [ChannelController::class, 'edit'])->defaults('_config', [
|
||||
// 'view' => 'sarga_admin::settings.channels.edit',
|
||||
// ])->name('admin.channels.edit');
|
||||
|
||||
/*
|
||||
* Scrap
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,16 +1,6 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Catalog routes.
|
||||
*/
|
||||
require 'catalog-routes.php';
|
||||
|
||||
/**
|
||||
* Settings routes.
|
||||
*/
|
||||
require 'settings-routes.php';
|
||||
|
||||
/**
|
||||
* marketplace routes
|
||||
*/
|
||||
require 'marketplace-routes.php';
|
||||
Loading…
Reference in New Issue