customer group
This commit is contained in:
commit
5dc60d0fe1
|
|
@ -19,6 +19,7 @@ class Kernel extends HttpKernel
|
|||
\App\Http\Middleware\TrimStrings::class,
|
||||
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
|
||||
\App\Http\Middleware\TrustProxies::class,
|
||||
// \Illuminate\Session\Middleware\StartSession::class,
|
||||
];
|
||||
|
||||
/**
|
||||
|
|
@ -31,7 +32,7 @@ class Kernel extends HttpKernel
|
|||
\App\Http\Middleware\EncryptCookies::class,
|
||||
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
|
||||
\Illuminate\Session\Middleware\StartSession::class,
|
||||
// \Illuminate\Session\Middleware\AuthenticateSession::class,
|
||||
\Illuminate\Session\Middleware\AuthenticateSession::class,
|
||||
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
|
||||
\App\Http\Middleware\VerifyCsrfToken::class,
|
||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||
|
|
|
|||
|
|
@ -65,35 +65,35 @@ class CustomerDataGrid
|
|||
'name' => 'id',
|
||||
'alias' => 'ID',
|
||||
'type' => 'number',
|
||||
'label' => 'Customer ID',
|
||||
'label' => 'ID',
|
||||
'sortable' => true,
|
||||
],
|
||||
[
|
||||
'name' => 'first_name',
|
||||
'alias' => 'FirstName',
|
||||
'type' => 'string',
|
||||
'label' => 'Customer First Name',
|
||||
'label' => 'First Name',
|
||||
'sortable' => false,
|
||||
],
|
||||
[
|
||||
'name' => 'email',
|
||||
'alias' => 'Email',
|
||||
'type' => 'string',
|
||||
'label' => 'Customer E-Mail',
|
||||
'label' => 'E-Mail',
|
||||
'sortable' => false,
|
||||
],
|
||||
[
|
||||
'name' => 'phone',
|
||||
'alias' => 'Phone',
|
||||
'type' => 'number',
|
||||
'label' => 'Customer Phone',
|
||||
'label' => 'Phone',
|
||||
'sortable' => true,
|
||||
],
|
||||
[
|
||||
'name' => 'customer_group_id',
|
||||
'alias' => 'CustomerGroupId',
|
||||
'type' => 'number',
|
||||
'label' => 'Customer Group',
|
||||
'label' => 'Group ID',
|
||||
'sortable' => false,
|
||||
],
|
||||
],
|
||||
|
|
@ -106,13 +106,13 @@ class CustomerDataGrid
|
|||
'column' => 'id',
|
||||
'alias' => 'ID',
|
||||
'type' => 'number',
|
||||
'label' => 'Customer ID',
|
||||
'label' => 'ID',
|
||||
],
|
||||
[
|
||||
'column' => 'first_name',
|
||||
'alias' => 'FirstName',
|
||||
'type' => 'string',
|
||||
'label' => 'Customer First Name',
|
||||
'label' => 'First Name',
|
||||
]
|
||||
],
|
||||
|
||||
|
|
@ -122,12 +122,12 @@ class CustomerDataGrid
|
|||
[
|
||||
'column' => 'FirstName',
|
||||
'type' => 'string',
|
||||
'label' => 'Customer First Name',
|
||||
'label' => 'First Name',
|
||||
],
|
||||
[
|
||||
'column' => 'email',
|
||||
'type' => 'string',
|
||||
'label' => 'Customer E-Mail',
|
||||
'label' => 'E-Mail',
|
||||
],
|
||||
],
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,163 @@
|
|||
<?php
|
||||
|
||||
namespace Webkul\Admin\DataGrids;
|
||||
|
||||
use Illuminate\View\View;
|
||||
use Webkul\Ui\DataGrid\Facades\DataGrid;
|
||||
|
||||
/**
|
||||
* Customer Group DataGrid
|
||||
*
|
||||
* @author Rahul Shukla <rahulshukla.symfony517@webkul.com>
|
||||
* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com)
|
||||
*/
|
||||
|
||||
class CustomerGroupDataGrid
|
||||
{
|
||||
/**
|
||||
* The Customer Group Data
|
||||
* Grid implementation.
|
||||
*
|
||||
* @var CustomerGroupDataGrid
|
||||
*/
|
||||
public function createCustomerGroupDataGrid()
|
||||
{
|
||||
|
||||
return DataGrid::make([
|
||||
|
||||
'name' => 'Customer Group',
|
||||
'table' => 'customer_groups as cg',
|
||||
'select' => 'cg.id',
|
||||
'perpage' => 10,
|
||||
'aliased' => true, //use this with false as default and true in case of joins
|
||||
|
||||
'massoperations' =>[
|
||||
[
|
||||
'route' => route('admin.datagrid.delete'),
|
||||
'method' => 'DELETE',
|
||||
'label' => 'Delete',
|
||||
'type' => 'button',
|
||||
],
|
||||
[
|
||||
'route' => route('admin.datagrid.index'),
|
||||
'method' => 'POST',
|
||||
'label' => 'View Grid',
|
||||
'type' => 'select',
|
||||
'options' =>[
|
||||
1 => 'Edit',
|
||||
2 => 'Set',
|
||||
3 => 'Change Status'
|
||||
]
|
||||
],
|
||||
],
|
||||
'actions' => [
|
||||
[
|
||||
'type' => 'Edit',
|
||||
'route' => route('admin.datagrid.delete'),
|
||||
'confirm_text' => 'Do you really wanis?',
|
||||
'icon' => 'icon pencil-lg-icon',
|
||||
],
|
||||
[
|
||||
'type' => 'Delete',
|
||||
'route' => route('admin.datagrid.delete'),
|
||||
'confirm_text' => 'Do you really want to do this?',
|
||||
'icon' => 'icon trash-icon',
|
||||
],
|
||||
],
|
||||
'join' => [
|
||||
// [
|
||||
// 'join' => 'leftjoin',
|
||||
// 'table' => 'roles as r',
|
||||
// 'primaryKey' => 'u.role_id',
|
||||
// 'condition' => '=',
|
||||
// 'secondaryKey' => 'r.id',
|
||||
// ]
|
||||
],
|
||||
|
||||
//use aliasing on secodary columns if join is performed
|
||||
'columns' => [
|
||||
[
|
||||
'name' => 'cg.id',
|
||||
'alias' => 'ID',
|
||||
'type' => 'number',
|
||||
'label' => 'ID',
|
||||
'sortable' => true,
|
||||
],
|
||||
[
|
||||
'name' => 'cg.group_name',
|
||||
'alias' => 'Name',
|
||||
'type' => 'string',
|
||||
'label' => 'Name',
|
||||
'sortable' => true,
|
||||
],
|
||||
[
|
||||
'name' => 'cg.is_user_defined',
|
||||
'alias' => 'User Defined',
|
||||
'type' => 'boolean',
|
||||
'label' => 'User Defined',
|
||||
'sortable' => true,
|
||||
'wrapper' => function ($value) {
|
||||
if($value == 1)
|
||||
return "False";
|
||||
else
|
||||
return "True";
|
||||
},
|
||||
],
|
||||
],
|
||||
//don't use aliasing in case of filters
|
||||
'filterable' => [
|
||||
[
|
||||
'column' => 'cg.group_name',
|
||||
'alias' => 'Name',
|
||||
'type' => 'string',
|
||||
'label' => 'Name'
|
||||
],
|
||||
[
|
||||
'column' => 'cg.id',
|
||||
'alias' => 'ID',
|
||||
'type' => 'number',
|
||||
'label' => 'ID'
|
||||
],
|
||||
[
|
||||
'column' => 'cg.is_user_defined',
|
||||
'alias' => 'User Defined',
|
||||
'type' => 'boolean',
|
||||
'label' => 'User Defined'
|
||||
]
|
||||
],
|
||||
//don't use aliasing in case of searchables
|
||||
'searchable' => [
|
||||
[
|
||||
'column' => 'cg.code',
|
||||
'type' => 'string',
|
||||
'label' => 'Code'
|
||||
],
|
||||
[
|
||||
'column' => 'cg.name',
|
||||
'type' => 'string',
|
||||
'label' => 'Name'
|
||||
]
|
||||
],
|
||||
'operators' => [
|
||||
'eq' => "=",
|
||||
'lt' => "<",
|
||||
'gt' => ">",
|
||||
'lte' => "<=",
|
||||
'gte' => ">=",
|
||||
'neqs' => "<>",
|
||||
'neqn' => "!=",
|
||||
'like' => "like",
|
||||
'nlike' => "not like",
|
||||
],
|
||||
// 'css' => []
|
||||
|
||||
]);
|
||||
|
||||
}
|
||||
|
||||
public function render() {
|
||||
|
||||
return $this->createCustomerGroupDataGrid()->render();
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -4,13 +4,13 @@ namespace Webkul\Admin\Http\Controllers\Customer;
|
|||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Routing\Controller;
|
||||
use Webkul\Admin\Http\Controllers\Controller;
|
||||
use Webkul\Customer\Repositories\CustomerRepository as Customer;
|
||||
use Webkul\Customer\Repositories\CustomerGroupRepository as CustomerGroup;
|
||||
use Webkul\Core\Repositories\ChannelRepository as Channel;
|
||||
|
||||
/**
|
||||
* Customer controlller for the customer
|
||||
* to show customer data on admin login
|
||||
* Customer controlller
|
||||
*
|
||||
* @author Rahul Shukla <rahulshukla.symfony517@webkul.com>
|
||||
* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com)
|
||||
|
|
@ -38,20 +38,30 @@ class CustomerController extends Controller
|
|||
*/
|
||||
protected $customerGroup;
|
||||
|
||||
/**
|
||||
* ChannelRepository object
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $channel;
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @param Webkul\Customer\Repositories\CustomerRepository as customer;
|
||||
* @param Webkul\Customer\Repositories\CustomerGroupRepository as customerGroup;
|
||||
* @param Webkul\Core\Repositories\ChannelRepository as Channel;
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(Customer $customer , CustomerGroup $customerGroup )
|
||||
public function __construct(Customer $customer, CustomerGroup $customerGroup, Channel $channel )
|
||||
{
|
||||
$this->_config = request('_config');
|
||||
|
||||
$this->customer = $customer;
|
||||
|
||||
$this->customerGroup = $customerGroup;
|
||||
|
||||
$this->channel = $channel;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -73,7 +83,9 @@ class CustomerController extends Controller
|
|||
{
|
||||
$customerGroup = $this->customerGroup->all();
|
||||
|
||||
return view($this->_config['view'],compact('customerGroup'));
|
||||
$channelName = $this->channel->all();
|
||||
|
||||
return view($this->_config['view'],compact('customerGroup','channelName'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -81,17 +93,18 @@ class CustomerController extends Controller
|
|||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
public function store()
|
||||
{
|
||||
$request->validate([
|
||||
$this->validate(request(), [
|
||||
'channel_id' => 'required',
|
||||
'first_name' => 'string|required',
|
||||
'last_name' => 'string|required',
|
||||
'gender' => 'required',
|
||||
'phone' => 'nullable|numeric',
|
||||
'phone' => 'nullable|numeric|unique:customers,phone',
|
||||
'email' => 'required|unique:customers,email'
|
||||
]);
|
||||
|
||||
$data=$request->all();
|
||||
$data=request()->all();
|
||||
|
||||
$password = bcrypt(rand(100000,10000000));
|
||||
|
||||
|
|
@ -116,7 +129,9 @@ class CustomerController extends Controller
|
|||
|
||||
$customerGroup = $this->customerGroup->all();
|
||||
|
||||
return view($this->_config['view'],compact('customer','customerGroup'));
|
||||
$channelName = $this->channel->all();
|
||||
|
||||
return view($this->_config['view'],compact('customer', 'customerGroup', 'channelName'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -128,11 +143,12 @@ class CustomerController extends Controller
|
|||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
$request->validate([
|
||||
$this->validate(request(), [
|
||||
'channel_id' => 'required',
|
||||
'first_name' => 'string|required',
|
||||
'last_name' => 'string|required',
|
||||
'gender' => 'required',
|
||||
'phone' => 'nullable|numeric',
|
||||
'phone' => 'nullable|numeric|unique:customers,phone,'. $id,
|
||||
'email' => 'required|unique:customers,email,'. $id
|
||||
]);
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,136 @@
|
|||
<?php
|
||||
|
||||
namespace Webkul\Admin\Http\Controllers\Customer;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Webkul\Admin\Http\Controllers\Controller;
|
||||
use Webkul\Customer\Repositories\CustomerGroupRepository as CustomerGroup;
|
||||
|
||||
/**
|
||||
* CustomerGroup controlller
|
||||
*
|
||||
* @author Rahul Shukla <rahulshukla.symfony517@webkul.com>
|
||||
* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com)
|
||||
*/
|
||||
class CustomerGroupController extends Controller
|
||||
{
|
||||
/**
|
||||
* Contains route related configuration
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $_config;
|
||||
|
||||
/**
|
||||
* CustomerGroupRepository object
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $customerGroup;
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @param Webkul\Customer\Repositories\CustomerGroupRepository as customerGroup;
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(CustomerGroup $customerGroup)
|
||||
{
|
||||
$this->_config = request('_config');
|
||||
|
||||
$this->customerGroup = $customerGroup;
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
return view($this->_config['view']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
return view($this->_config['view']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store()
|
||||
{
|
||||
$this->validate(request(), [
|
||||
'group_name' => 'string|required',
|
||||
]);
|
||||
|
||||
$this->customerGroup->create(request()->all());
|
||||
|
||||
session()->flash('success', 'Customer Group created successfully.');
|
||||
|
||||
return redirect()->route($this->_config['redirect']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
$group = $this->customerGroup->findOneWhere(['id'=>$id]);
|
||||
|
||||
return view($this->_config['view'],compact('group'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
$this->validate(request(), [
|
||||
'group_name' => 'string|required',
|
||||
]);
|
||||
|
||||
$this->customerGroup->update(request()->all(),$id);
|
||||
|
||||
session()->flash('success', 'Customer Group updated successfully.');
|
||||
|
||||
return redirect()->route($this->_config['redirect']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
$group = $this->customerGroup->findOneWhere(['id'=>$id]);
|
||||
|
||||
if($group->is_user_defined == 1) {
|
||||
session()->flash('error', 'This Customer Group can not be deleted');
|
||||
} else {
|
||||
$this->customerGroup->delete($id);
|
||||
|
||||
session()->flash('success', 'Customer Group deleted successfully.');
|
||||
}
|
||||
|
||||
return redirect()->back();
|
||||
}
|
||||
}
|
||||
|
|
@ -70,6 +70,7 @@ Route::group(['middleware' => ['web']], function () {
|
|||
'view' => 'admin::customers.review.index'
|
||||
])->name('admin.customer.review.index');
|
||||
|
||||
// Reviews Routes
|
||||
Route::get('reviews/edit/{id}', 'Webkul\Product\Http\Controllers\ReviewController@edit')->defaults('_config',[
|
||||
'view' => 'admin::customers.review.edit'
|
||||
])->name('admin.customer.review.edit');
|
||||
|
|
@ -78,6 +79,29 @@ Route::group(['middleware' => ['web']], function () {
|
|||
'redirect' => 'admin.customer.review.index'
|
||||
])->name('admin.customer.review.update');
|
||||
|
||||
// Customer Groups Routes
|
||||
|
||||
Route::get('groups', 'Webkul\Admin\Http\Controllers\Customer\CustomerGroupController@index')->defaults('_config',[
|
||||
'view' => 'admin::customers.group.index'
|
||||
])->name('admin.groups.index');
|
||||
|
||||
Route::get('groups/create', 'Webkul\Admin\Http\Controllers\Customer\CustomerGroupController@create')->defaults('_config',[
|
||||
'view' => 'admin::customers.group.create'
|
||||
])->name('admin.groups.create');
|
||||
|
||||
Route::post('groups/create', 'Webkul\Admin\Http\Controllers\Customer\CustomerGroupController@store')->defaults('_config',[
|
||||
'redirect' => 'admin.groups.index'
|
||||
])->name('admin.groups.store');
|
||||
|
||||
Route::get('groups/edit/{id}', 'Webkul\Admin\Http\Controllers\Customer\CustomerGroupController@edit')->defaults('_config',[
|
||||
'view' => 'admin::customers.group.edit'
|
||||
])->name('admin.groups.edit');
|
||||
|
||||
Route::put('groups/edit/{id}', 'Webkul\Admin\Http\Controllers\Customer\CustomerGroupController@update')->defaults('_config',[
|
||||
'redirect' => 'admin.groups.index'
|
||||
])->name('admin.groups.update');
|
||||
|
||||
Route::get('groups/delete/{id}', 'Webkul\Admin\Http\Controllers\Customer\CustomerGroupController@destroy')->name('admin.groups.delete');
|
||||
|
||||
// Sales Routes
|
||||
Route::prefix('sales')->group(function () {
|
||||
|
|
@ -403,11 +427,13 @@ Route::group(['middleware' => ['web']], function () {
|
|||
])->name('admin.sliders.index');
|
||||
|
||||
// Admin Store Front Settings Route
|
||||
Route::get('/slider/create','Webkul\Shop\Http\Controllers\SliderController@create')->defaults('_config',[
|
||||
|
||||
//slider create
|
||||
Route::get('slider/create','Webkul\Shop\Http\Controllers\SliderController@create')->defaults('_config',[
|
||||
'view' => 'admin::settings.sliders.create'
|
||||
])->name('admin.sliders.create');
|
||||
|
||||
Route::post('/slider/create','Webkul\Shop\Http\Controllers\SliderController@store')->defaults('_config',[
|
||||
Route::post('slider/create','Webkul\Shop\Http\Controllers\SliderController@store')->defaults('_config',[
|
||||
'redirect' => 'admin::sliders.index'
|
||||
])->name('admin.sliders.store');
|
||||
|
||||
|
|
@ -415,9 +441,11 @@ Route::group(['middleware' => ['web']], function () {
|
|||
Route::get('slider/edit/{id}','Webkul\Shop\Http\Controllers\SliderController@edit')->defaults('_config',[
|
||||
'view' => 'admin::settings.sliders.edit'
|
||||
])->name('admin.sliders.edit');
|
||||
|
||||
Route::post('slider/edit/{id}','Webkul\Shop\Http\Controllers\SliderController@update')->defaults('_config',[
|
||||
'redirect' => 'admin::sliders.index'
|
||||
])->name('admin.sliders.update');
|
||||
|
||||
//destroy a slider item
|
||||
Route::get('slider/delete/{id}', 'Webkul\Shop\Http\Controllers\SliderController@destroy');
|
||||
|
||||
|
|
|
|||
|
|
@ -38,6 +38,15 @@ class AdminServiceProvider extends ServiceProvider
|
|||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Register services.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Bind the the data to the views
|
||||
*
|
||||
|
|
@ -76,19 +85,6 @@ class AdminServiceProvider extends ServiceProvider
|
|||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Register services.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
// $this->mergeConfigFrom(
|
||||
// __DIR__ . '/../Config/auth.php',
|
||||
// 'auth'
|
||||
// );
|
||||
}
|
||||
|
||||
/**
|
||||
* Merge the given configuration with the existing configuration.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -71,6 +71,12 @@ class EventServiceProvider extends ServiceProvider
|
|||
'route' => 'admin.customer.review.index',
|
||||
'sort' => 2,
|
||||
'icon-class' => '',
|
||||
], [
|
||||
'key' => 'customers.groups',
|
||||
'name' => 'Groups',
|
||||
'route' => 'admin.groups.index',
|
||||
'sort' => 3,
|
||||
'icon-class' => '',
|
||||
], [
|
||||
'key' => 'configuration',
|
||||
'name' => 'Configure',
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 3.2 KiB |
|
|
@ -526,30 +526,6 @@ body {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// customer oder css for admin start here
|
||||
.sale-container {
|
||||
.sale-section {
|
||||
|
|
|
|||
|
|
@ -406,7 +406,19 @@ return [
|
|||
],
|
||||
],
|
||||
'customers' => [
|
||||
'groups' =>[
|
||||
'add-title' => 'Add Group',
|
||||
'edit-title' => 'Edit Group',
|
||||
'save-btn-title' => 'Save Group',
|
||||
'title' => 'Groups',
|
||||
'save-btn-title' => 'Save Group',
|
||||
'name' => 'Name',
|
||||
'is_user_defined' => 'User Defined',
|
||||
'yes' => 'Yes'
|
||||
],
|
||||
'customers' => [
|
||||
'add-title' => 'Add Customer',
|
||||
'edit-title' => 'Edit Customer',
|
||||
'title' => 'Customers',
|
||||
'first_name' => 'First Name',
|
||||
'last_name' => 'Last Name',
|
||||
|
|
@ -415,7 +427,8 @@ return [
|
|||
'date_of_birth' => 'Date of Birth',
|
||||
'phone' => 'Phone',
|
||||
'customer_group' => 'Customer Group',
|
||||
'save-btn-title' => 'Save Customer'
|
||||
'save-btn-title' => 'Save Customer',
|
||||
'channel_name' => 'Channel Name'
|
||||
],
|
||||
'reviews' => [
|
||||
'title' => 'Reviews',
|
||||
|
|
@ -459,5 +472,27 @@ return [
|
|||
'carrier' => 'Carrier',
|
||||
'tracking-number' => 'Tracking Number'
|
||||
]
|
||||
],
|
||||
'error' => [
|
||||
'go-to-home' => 'GO TO HOME',
|
||||
|
||||
'404' => [
|
||||
'page-title' => 'Page not found',
|
||||
'name' => '404',
|
||||
'title' => 'Page Not found',
|
||||
'message' => 'The Page you are looking for doesnt exist or have secrately escaped;head back to home and make a fresh move again.'
|
||||
],
|
||||
'403' => [
|
||||
'page-title' => '403 forbidden',
|
||||
'name' => '403',
|
||||
'title' => 'Forbidden error',
|
||||
'message' => 'You do not have permission to access this page'
|
||||
],
|
||||
'500' => [
|
||||
'page-title' => '500 Internal Server Error',
|
||||
'name' => '500',
|
||||
'title' => 'Internal Server Error',
|
||||
'message' => 'You do not have permission to access this page'
|
||||
]
|
||||
]
|
||||
];
|
||||
|
|
@ -77,7 +77,7 @@
|
|||
<input type="text" v-validate="'required'" class="control" id="sku" name="sku" value="{{ $sku ?: old('sku') }}"/>
|
||||
<span class="control-error" v-if="errors.has('sku')">@{{ errors.first('sku') }}</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
|
|
@ -94,7 +94,7 @@
|
|||
<th></th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
|
||||
<tbody>
|
||||
@foreach($configurableFamily->configurable_attributes as $attribute)
|
||||
<tr>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,12 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('admin::app.customers.customers.add-title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<div class="content">
|
||||
<form method="POST" action="{{ route('admin.customer.store') }}">
|
||||
<form method="POST" action="{{ route('admin.customer.store') }}" @submit.prevent="onSubmit">
|
||||
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
|
|
@ -45,7 +49,7 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('gender') ? 'has-error' : '']">
|
||||
<label for="gender" class="required">{{ __('admin::app.customers.customers.gender') }}</label>
|
||||
<select name="gender" class="control" v-validate="'gender'">
|
||||
<select name="gender" class="control" v-validate="'required'">
|
||||
<option value="Male">Male</option>
|
||||
<option value="Female">Female</option>
|
||||
</select>
|
||||
|
|
@ -64,7 +68,7 @@
|
|||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="name" >{{ __('admin::app.customers.customers.customer_group') }}</label>
|
||||
<label for="customerGroup" >{{ __('admin::app.customers.customers.customer_group') }}</label>
|
||||
<select class="control" name="customer_group_id">
|
||||
@foreach ($customerGroup as $group)
|
||||
<option value="{{ $group->id }}"> {{ $group->group_name}} </>
|
||||
|
|
@ -72,6 +76,16 @@
|
|||
</select>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('channel_id') ? 'has-error' : '']">
|
||||
<label for="channel" >{{ __('admin::app.customers.customers.channel_name') }}</label>
|
||||
<select class="control" name="channel_id" v-validate="'required'">
|
||||
@foreach ($channelName as $channel)
|
||||
<option value="{{ $channel->id }}"> {{ $channel->name}} </>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('channel_id')">@{{ errors.first('channel_id') }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('admin::app.customers.customers.edit-title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<div class="content">
|
||||
<form method="POST" action="{{ route('admin.customer.update', $customer->id) }}">
|
||||
|
|
@ -47,7 +51,7 @@
|
|||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="email" class="required">{{ __('admin::app.customers.customers.gender') }}</label>
|
||||
<label for="gender" class="required">{{ __('admin::app.customers.customers.gender') }}</label>
|
||||
<select name="gender" class="control" v-validate="'gender'" value="{{ $customer->gender }}" v-validate="'required'">
|
||||
<option value="Male">Male</option>
|
||||
<option value="Female">Female</option>
|
||||
|
|
@ -67,23 +71,42 @@
|
|||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="name" >{{ __('admin::app.customers.customers.customer_group') }}</label>
|
||||
<label for="customerGroup" >{{ __('admin::app.customers.customers.customer_group') }}</label>
|
||||
|
||||
@if(!is_null($customer->customer_group_id))
|
||||
<?php $selectedOption = $customer->customerGroup->id ?>
|
||||
<?php $selectedCustomerOption = $customer->customerGroup->id ?>
|
||||
@else
|
||||
<?php $selectedCustomerOption = '' ?>
|
||||
@endif
|
||||
|
||||
<select class="control" name="customer_group_id">
|
||||
|
||||
@foreach($customerGroup as $group)
|
||||
<option value="{{ $group->id }}" {{ $selectedOption == $group->id ? 'selected' : '' }}>
|
||||
<option value="{{ $group->id }}" {{ $selectedCustomerOption == $group->id ? 'selected' : '' }}>
|
||||
{{ $group->group_name}}
|
||||
</option>
|
||||
@endforeach
|
||||
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('channel_id') ? 'has-error' : '']">
|
||||
<label for="channel" >{{ __('admin::app.customers.customers.channel_name') }}</label>
|
||||
|
||||
@if(!is_null($customer->channel_id))
|
||||
<?php $selectedChannelOption = $customer->channel_id ?>
|
||||
@else
|
||||
<?php $selectedChannelOption = $customer->channel_id ?>
|
||||
@endif
|
||||
|
||||
<select class="control" name="channel_id" v-validate="'required'">
|
||||
@foreach($channelName as $channel)
|
||||
<option value="{{ $channel->id }}" {{ $selectedChannelOption == $channel->id ? 'selected' : '' }}>
|
||||
{{ $channel->name}}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('channel_id')">@{{ errors.first('channel_id') }}</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,54 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('admin::app.customers.groups.add-title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<div class="content">
|
||||
<form method="POST" action="{{ route('admin.groups.store') }}" @submit.prevent="onSubmit">
|
||||
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
<h1>
|
||||
{{ __('admin::app.customers.groups.add-title') }}
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
<div class="page-action">
|
||||
<button type="submit" class="btn btn-lg btn-primary">
|
||||
{{ __('admin::app.customers.groups.save-btn-title') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="page-content">
|
||||
|
||||
<div class="form-container">
|
||||
@csrf()
|
||||
|
||||
<div class="control-group" :class="[errors.has('group_name') ? 'has-error' : '']">
|
||||
<label for="group_name" class="required">
|
||||
{{ __('admin::app.customers.groups.name') }}
|
||||
</label>
|
||||
<input type="text" class="control" name="group_name" v-validate="'required'" value="{{ old('group_name') }}">
|
||||
<span class="control-error" v-if="errors.has('group_name')">@{{ errors.first('group_name') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="is_user_defined">
|
||||
{{ __('admin::app.customers.groups.is_user_defined') }}
|
||||
</label>
|
||||
<span class="checkbox">
|
||||
<input type="checkbox" name="is_user_defined" value="0">
|
||||
<label class="checkbox-view" for="is_user_defined"></label>
|
||||
{{ __('admin::app.customers.groups.yes') }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@stop
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('admin::app.customers.groups.edit-title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<div class="content">
|
||||
<form method="POST" action="{{ route('admin.groups.update', $group->id) }}">
|
||||
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
<h1>
|
||||
{{ __('admin::app.customers.groups.edit-title') }}
|
||||
</h1>
|
||||
</div>
|
||||
|
||||
<div class="page-action">
|
||||
<button type="submit" class="btn btn-lg btn-primary">
|
||||
{{ __('admin::app.customers.groups.save-btn-title') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="page-content">
|
||||
|
||||
<div class="form-container">
|
||||
@csrf()
|
||||
|
||||
<input name="_method" type="hidden" value="PUT">
|
||||
|
||||
<div class="control-group" :class="[errors.has('group_name') ? 'has-error' : '']">
|
||||
<label for="group_name" class="required">
|
||||
{{ __('admin::app.customers.groups.name') }}
|
||||
</label>
|
||||
<input type="text" class="control" name="group_name" v-validate="'required'" value="{{ $group->group_name }}">
|
||||
<span class="control-error" v-if="errors.has('group_name')">@{{ errors.first('group_name') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label for="is_user_defined">
|
||||
{{ __('admin::app.customers.groups.is_user_defined') }}
|
||||
</label>
|
||||
<span class="checkbox">
|
||||
<input type="checkbox" name="is_user_defined" value="{{ $group->is_user_defined }}" {{ $group->is_user_defined ? 'checked' : '' }}>
|
||||
<label class="checkbox-view" for="is_user_defined"></label>
|
||||
{{ __('admin::app.customers.groups.yes') }}
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@stop
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('admin::app.customers.groups.title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="content">
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
<h1>{{ __('admin::app.customers.groups.title') }}</h1>
|
||||
</div>
|
||||
<div class="page-action">
|
||||
<a href="{{ route('admin.groups.create') }}" class="btn btn-lg btn-primary">
|
||||
{{ __('admin::app.customers.groups.add-title') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="page-content">
|
||||
@inject('customerGroup','Webkul\Admin\DataGrids\CustomerGroupDataGrid')
|
||||
{!! $customerGroup->render() !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@stop
|
||||
|
|
@ -13,7 +13,7 @@
|
|||
</div>
|
||||
<div class="page-action">
|
||||
<a href="{{ route('admin.customer.create') }}" class="btn btn-lg btn-primary">
|
||||
{{ __('Add Customer') }}
|
||||
{{ __('admin::app.customers.customers.add-title') }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
|
||||
{{ __('admin::app.error.403.page-title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
|
|
@ -14,11 +14,17 @@
|
|||
|
||||
<div class="error-title" style="font-size: 100px;color: #5E5E5E"> {{ $code }}</div>
|
||||
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">Page Not Found</div>
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">
|
||||
{{ __('admin::app.error.403.title') }}
|
||||
</div>
|
||||
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">The Page you are looking for doesnt exist or have secrately escaped;head backm to home and make a fresh move again.</div>
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">
|
||||
{{ __('admin::app.error.403.message') }}
|
||||
</div>
|
||||
|
||||
<a href="{{ route('admin.dashboard.index') }}">GO TO HOME</a>
|
||||
<a href="{{ route('admin.dashboard.index') }}">
|
||||
{{ __('admin::app.error.go-to-home') }}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
|
||||
{{ __('admin::app.error.404.page-title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
|
|
@ -14,11 +14,17 @@
|
|||
|
||||
<div class="error-title" style="font-size: 100px;color: #5E5E5E"> {{ $code }}</div>
|
||||
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">Page Not Found</div>
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">
|
||||
{{ __('admin::app.error.404.title') }}
|
||||
</div>
|
||||
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">The Page you are looking for doesnt exist or have secrately escaped;head backm to home and make a fresh move again.</div>
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">
|
||||
{{ __('admin::app.error.404.message') }}
|
||||
</div>
|
||||
|
||||
<a href="{{ route('admin.dashboard.index') }}">GO TO HOME</a>
|
||||
<a href="{{ route('admin.dashboard.index') }}">
|
||||
{{ __('admin::app.error.go-to-home') }}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
|
||||
{{ __('admin::app.error.403.page-title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="error-container" style="width: 100%; display: flex; justify-content: center;">
|
||||
|
||||
<div class="wrapper" style="display: flex; height: 60vh; width: 100%;
|
||||
|
|
@ -14,11 +15,17 @@
|
|||
|
||||
<div class="error-title" style="font-size: 100px;color: #5E5E5E"> {{ $code }}</div>
|
||||
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">Page Not Found</div>
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">
|
||||
{{ __('admin::app.error.500.title') }}
|
||||
</div>
|
||||
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">The Page you are looking for doesnt exist or have secrately escaped;head backm to home and make a fresh move again.</div>
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">
|
||||
{{ __('admin::app.error.500.message') }}
|
||||
</div>
|
||||
|
||||
<a href="{{ route('admin.dashboard.index') }}">GO TO HOME</a>
|
||||
<a href="{{ route('admin.dashboard.index') }}">
|
||||
{{ __('admin::app.error.go-to-home') }}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
@ -27,4 +34,5 @@
|
|||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@stop
|
||||
|
|
@ -7,6 +7,8 @@
|
|||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
<link rel="icon" sizes="16x16" href="{{ asset('vendor/webkul/ui/assets/images/favicon.ico') }}" />
|
||||
|
||||
<link rel="stylesheet" href="{{ asset('vendor/webkul/admin/assets/css/admin.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('vendor/webkul/ui/assets/css/ui.css') }}">
|
||||
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<div class="dropdown-toggle">
|
||||
<div style="display: inline-block; vertical-align: middle;">
|
||||
<span class="name">
|
||||
{{-- {{ auth()->guard('admin')->user()->name }} --}}
|
||||
{{ auth()->guard('admin')->user()->name }}
|
||||
</span>
|
||||
|
||||
<span class="role">
|
||||
|
|
|
|||
|
|
@ -31,11 +31,14 @@
|
|||
<span class="control-error" v-if="errors.has('title')">@{{ errors.first('title') }}</span>
|
||||
</div>
|
||||
|
||||
<?php $channels = core()->getAllChannels() ?>
|
||||
<div class="control-group" :class="[errors.has('channel_id') ? 'has-error' : '']">
|
||||
<label for="channel_id">{{ __('admin::app.settings.sliders.channels') }}</label>
|
||||
<select class="control" id="channel_id" name="channel_id" value="" v-validate="'required'">
|
||||
@foreach($channels[0] as $channel)
|
||||
<option value="{{ $channel->id }}">{{ __($channel->name) }}</option>
|
||||
<select class="control" id="channel_id" name="channel_id" v-validate="'required'">
|
||||
@foreach($channels as $channel)
|
||||
<option value="{{ $channel->id }}" @if($channel->id == old('channel_id')) selected @endif>
|
||||
{{ __($channel->name) }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('channel_id')">@{{ errors.first('channel_id') }}</span>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,69 @@
|
|||
@extends('admin::layouts.content')
|
||||
|
||||
@section('page_title')
|
||||
{{ __('admin::app.settings.sliders.add-title') }}
|
||||
@stop
|
||||
|
||||
@section('content')
|
||||
<div class="content">
|
||||
<form method="POST" action="{{ route('admin.sliders.update', $slider->id) }}" @submit.prevent="onSubmit" enctype="multipart/form-data">
|
||||
<div class="page-header">
|
||||
<div class="page-title">
|
||||
<h1>{{ __('admin::app.settings.sliders.add-title') }}</h1>
|
||||
</div>
|
||||
|
||||
<div class="page-action">
|
||||
<button type="submit" class="btn btn-lg btn-primary">
|
||||
{{ __('admin::app.settings.sliders.save-btn-title') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="page-content">
|
||||
<div class="form-container">
|
||||
|
||||
@csrf()
|
||||
|
||||
<div class="control-group" :class="[errors.has('title') ? 'has-error' : '']">
|
||||
<label for="title">{{ __('admin::app.settings.sliders.title') }}</label>
|
||||
<input type="text" class="control" name="title" v-validate="'required'" value="{{ $slider->title ?: old('title') }}">
|
||||
<span class="control-error" v-if="errors.has('title')">@{{ errors.first('title') }}</span>
|
||||
</div>
|
||||
|
||||
<?php $channels = core()->getAllChannels() ?>
|
||||
<div class="control-group" :class="[errors.has('channel_id') ? 'has-error' : '']">
|
||||
<label for="channel_id">{{ __('admin::app.settings.sliders.channels') }}</label>
|
||||
<select class="control" id="channel_id" name="channel_id" value="" v-validate="'required'">
|
||||
@foreach($channels as $channel)
|
||||
<option value="{{ $channel->id }}" @if($channel->id == $slider->channel_id) selected @endif>
|
||||
{{ __($channel->name) }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<span class="control-error" v-if="errors.has('channel_id')">@{{ errors.first('channel_id') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('image') ? 'has-error' : '']">
|
||||
<label for="new_image">{{ __('admin::app.settings.sliders.image') }}</label>
|
||||
|
||||
<image-upload>
|
||||
<input type="file" class="control" id="add_image" name="image" value="" v-validate="'image|required'" placeholder="Upload Image" />
|
||||
|
||||
<span class="control-error" v-if="errors.has('image')">@{{ errors.first('image') }}</span>
|
||||
</image-upload>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('content') ? 'has-error' : '']">
|
||||
<label for="content">{{ __('admin::app.settings.sliders.content') }}</label>
|
||||
|
||||
<textarea class="control" id="add_content" name="content" v-validate="'required'" rows="5">{{ $slider->content ? : old('content') }}</textarea>
|
||||
|
||||
<span class="control-error" v-if="errors.has('content')">@{{ errors.first('content') }}</span>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@endsection
|
||||
|
|
@ -2,7 +2,10 @@
|
|||
|
||||
namespace Webkul\Core\Repositories;
|
||||
|
||||
use Illuminate\Container\Container as App;
|
||||
use Webkul\Core\Eloquent\Repository;
|
||||
use Webkul\Core\Repositories\ChannelRepository as Channel;
|
||||
use Storage;
|
||||
|
||||
/**
|
||||
* Slider Reposotory
|
||||
|
|
@ -12,6 +15,18 @@ use Webkul\Core\Eloquent\Repository;
|
|||
*/
|
||||
class SliderRepository extends Repository
|
||||
{
|
||||
protected $channel;
|
||||
|
||||
public function __construct(
|
||||
Channel $channel,
|
||||
App $app
|
||||
)
|
||||
{
|
||||
$this->channel = $channel;
|
||||
|
||||
parent::__construct($app);
|
||||
}
|
||||
|
||||
/**
|
||||
* Specify Model class name
|
||||
*
|
||||
|
|
@ -28,15 +43,52 @@ class SliderRepository extends Repository
|
|||
*/
|
||||
public function create(array $data)
|
||||
{
|
||||
$image = request()->file('image');
|
||||
|
||||
$image_name = uniqid(20).'.'.$image->getClientOriginalExtension();
|
||||
$channelName = $this->channel->find($data['channel_id'])->name;
|
||||
|
||||
$dir = 'slider_images/' . $channelName;
|
||||
|
||||
$image = request()->file('image')->store($dir);
|
||||
|
||||
unset($data['image'], $data['_token']);
|
||||
|
||||
$data['path'] = $image;
|
||||
|
||||
$destinationPath = public_path('/vendor/webkul/shop/assets/images/slider');
|
||||
$path = $image->move($destinationPath, $image_name);
|
||||
$path= 'vendor/webkul/shop/assets/images/slider/'.$image_name;
|
||||
$data['path'] = $path;
|
||||
$this->model->create($data);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $data
|
||||
* @return mixed
|
||||
*/
|
||||
public function updateItem(array $data, $id)
|
||||
{
|
||||
$channelName = $this->channel->find($data['channel_id'])->name;
|
||||
|
||||
$dir = 'slider_images/' . $channelName;
|
||||
|
||||
$image = request()->file('image')->store($dir);
|
||||
|
||||
unset($data['image'], $data['_token']);
|
||||
|
||||
$data['path'] = $image;
|
||||
|
||||
$this->update($data, $id);
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a slider item and delete the image from the disk or where ever it is
|
||||
*
|
||||
* @return Boolean
|
||||
*/
|
||||
public function destroy($id) {
|
||||
|
||||
$sliderItem = $this->find($id);
|
||||
|
||||
$sliderItemImage = $sliderItem->path;
|
||||
|
||||
Storage::delete($sliderItemImage);
|
||||
|
||||
return $this->model->destroy($id);
|
||||
}
|
||||
}
|
||||
|
|
@ -16,6 +16,7 @@ class CreateCustomerGroupsTable extends Migration
|
|||
Schema::create('customer_groups', function (Blueprint $table) {
|
||||
$table->increments('id');
|
||||
$table->string('group_name');
|
||||
$table->boolean('is_user_defined')->default(true);
|
||||
$table->timestamps();
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
|
||||
class CustomersPasswordResets extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function up()
|
||||
{
|
||||
Schema::create('customers_password_resets', function (Blueprint $table) {
|
||||
$table->string('email')->index();
|
||||
$table->string('token');
|
||||
$table->timestamp('created_at')->nullable();
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the migrations.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function down()
|
||||
{
|
||||
Schema::dropIfExists('customers_password_resets');
|
||||
}
|
||||
}
|
||||
|
|
@ -28,7 +28,6 @@ class AddressController extends Controller
|
|||
protected $customer;
|
||||
protected $address;
|
||||
|
||||
|
||||
public function __construct(CustomerRepository $customer, CustomerAddressRepository $address)
|
||||
{
|
||||
$this->middleware('customer');
|
||||
|
|
@ -41,22 +40,9 @@ class AddressController extends Controller
|
|||
}
|
||||
|
||||
/**
|
||||
* Getting logged in
|
||||
* customer helper
|
||||
* @return Array
|
||||
*/
|
||||
private function getCustomer($id) {
|
||||
|
||||
$customer = collect($this->customer->findOneWhere(['id'=>$id]));
|
||||
|
||||
return $customer;
|
||||
}
|
||||
|
||||
/**
|
||||
* Getting logged in
|
||||
* customer address
|
||||
* helper
|
||||
* @return Array
|
||||
* Getting logged in customer address helper
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
private function getAddress($id) {
|
||||
|
||||
|
|
@ -66,37 +52,32 @@ class AddressController extends Controller
|
|||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Address Route
|
||||
* index page
|
||||
* @return View
|
||||
* Address Route index page
|
||||
*
|
||||
* @return view
|
||||
*/
|
||||
public function index() {
|
||||
$id = auth()->guard('customer')->user()->id;
|
||||
|
||||
$customer = $this->getCustomer($id);
|
||||
|
||||
$address = $this->getAddress($id);
|
||||
|
||||
return view($this->_config['view'])->with('address', $address);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the address
|
||||
* create form
|
||||
* @return View
|
||||
* Show the address create form
|
||||
*
|
||||
* @return view
|
||||
*/
|
||||
public function show() {
|
||||
return view($this->_config['view']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new
|
||||
* address for
|
||||
* customer.
|
||||
* Create a new address for customer.
|
||||
*
|
||||
* @return View
|
||||
* @return view
|
||||
*/
|
||||
public function create() {
|
||||
|
||||
|
|
@ -144,11 +125,9 @@ class AddressController extends Controller
|
|||
}
|
||||
|
||||
/**
|
||||
* For editing the
|
||||
* existing address
|
||||
* of the customer
|
||||
* For editing the existing address of the customer
|
||||
*
|
||||
* @return View
|
||||
* @return view
|
||||
*/
|
||||
public function showEdit() {
|
||||
|
||||
|
|
@ -160,6 +139,12 @@ class AddressController extends Controller
|
|||
|
||||
}
|
||||
|
||||
/**
|
||||
* Edits the premade resource of customer called
|
||||
* Address.
|
||||
*
|
||||
* @return redirect
|
||||
*/
|
||||
public function edit() {
|
||||
|
||||
$id = auth()->guard('customer')->user()->id;
|
||||
|
|
|
|||
|
|
@ -10,10 +10,7 @@ use Webkul\Customer\Models\Customer;
|
|||
use Auth;
|
||||
|
||||
/**
|
||||
* Customer controlller for the customer
|
||||
* basically for the tasks of customers
|
||||
* which will be done after customer
|
||||
* authenticastion.
|
||||
* Customer controlller for the customer basically for the tasks of customers which will be done after customer authentication.
|
||||
*
|
||||
* @author Prashant Singh <prashant.singh852@webkul.com>
|
||||
* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com)
|
||||
|
|
@ -36,7 +33,7 @@ class CustomerController extends Controller
|
|||
protected $productReview;
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
* Create a new Repository instance.
|
||||
*
|
||||
* @param Webkul\Product\Repositories\ProductReviewRepository $productReview
|
||||
* @return void
|
||||
|
|
@ -54,9 +51,8 @@ class CustomerController extends Controller
|
|||
}
|
||||
|
||||
/**
|
||||
* For taking the customer
|
||||
* to the dashboard after
|
||||
* authentication
|
||||
* For taking the customer to the dashboard after authentication
|
||||
*
|
||||
* @return view
|
||||
*/
|
||||
private function getCustomer($id) {
|
||||
|
|
@ -65,9 +61,8 @@ class CustomerController extends Controller
|
|||
}
|
||||
|
||||
/**
|
||||
* Taking the customer
|
||||
* to profile details
|
||||
* page
|
||||
* Taking the customer to profile details page
|
||||
*
|
||||
* @return View
|
||||
*/
|
||||
public function index() {
|
||||
|
|
@ -79,8 +74,7 @@ class CustomerController extends Controller
|
|||
}
|
||||
|
||||
/**
|
||||
* For loading the
|
||||
* edit form page.
|
||||
* For loading the edit form page.
|
||||
*
|
||||
* @return View
|
||||
*/
|
||||
|
|
@ -93,9 +87,7 @@ class CustomerController extends Controller
|
|||
}
|
||||
|
||||
/**
|
||||
* Edit function
|
||||
* for editing customer
|
||||
* profile.
|
||||
* Edit function for editing customer profile.
|
||||
*
|
||||
* @return Redirect.
|
||||
*/
|
||||
|
|
@ -148,23 +140,40 @@ class CustomerController extends Controller
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the view for the customer account panel, showing orders in a table.
|
||||
*
|
||||
* @return Mixed
|
||||
*/
|
||||
public function orders() {
|
||||
return view($this->_config['view']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the view for the customer account panel, showing wishlist items.
|
||||
*
|
||||
* @return Mixed
|
||||
*/
|
||||
public function wishlist() {
|
||||
return view($this->_config['view']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the view for the customer account panel, showing approved reviews.
|
||||
*
|
||||
* @return Mixed
|
||||
*/
|
||||
public function reviews() {
|
||||
|
||||
$id = auth()->guard('customer')->user()->id;
|
||||
|
||||
$reviews = $this->productReview->getCustomerReview($id);
|
||||
$reviews = $this->productReview->getCustomerReview();
|
||||
|
||||
return view($this->_config['view'],compact('reviews'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Load the view for the customer account panel, shows the customer address.
|
||||
*
|
||||
* @return Mixed
|
||||
*/
|
||||
public function address() {
|
||||
return view($this->_config['view']);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,61 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace Webkul\Customer\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Webkul\Customer\Repositories\CustomerRepository;
|
||||
use Auth;
|
||||
|
||||
/**
|
||||
* Customer controlller for the customer
|
||||
* basically for the tasks of customers
|
||||
* which will be done after customer
|
||||
* authenticastion.
|
||||
*
|
||||
* @author Prashant Singh <prashant.singh852@webkul.com>
|
||||
* @copyright 2018 Webkul Software Pvt Ltd (http://www.webkul.com)
|
||||
*/
|
||||
class ReviewsController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
protected $_config;
|
||||
protected $customer;
|
||||
|
||||
|
||||
public function __construct(CustomerRepository $customer)
|
||||
{
|
||||
$this->middleware('customer');
|
||||
|
||||
$this->_config = request('_config');
|
||||
|
||||
$this->customer = $customer;
|
||||
}
|
||||
|
||||
/**
|
||||
* For taking the customer
|
||||
* to the dashboard after
|
||||
* authentication
|
||||
* @return view
|
||||
*/
|
||||
private function getCustomer($id) {
|
||||
$customer = collect($this->customer->findOneWhere(['id'=>$id]));
|
||||
return $customer;
|
||||
}
|
||||
|
||||
public function index() {
|
||||
$id = auth()->guard('customer')->user()->id;
|
||||
|
||||
$customer = $this->getCustomer($id);
|
||||
|
||||
return view($this->_config['view'])->with('customer', $customer);
|
||||
}
|
||||
|
||||
public function reviews() {
|
||||
return view($this->_config['view']);
|
||||
}
|
||||
}
|
||||
|
|
@ -18,7 +18,7 @@ class Customer extends Authenticatable
|
|||
|
||||
protected $table = 'customers';
|
||||
|
||||
protected $fillable = ['first_name', 'last_name', 'gender', 'date_of_birth','phone','email','password','customer_group_id','subscribed_to_news_letter'];
|
||||
protected $fillable = ['channel_id', 'first_name', 'last_name', 'gender', 'date_of_birth','phone','email','password','customer_group_id','subscribed_to_news_letter'];
|
||||
|
||||
protected $hidden = ['password','remember_token'];
|
||||
|
||||
|
|
|
|||
|
|
@ -6,4 +6,6 @@ use Illuminate\Database\Eloquent\Model;
|
|||
class CustomersGroups extends Model
|
||||
{
|
||||
protected $table = 'customer_groups';
|
||||
|
||||
protected $fillable = ['group_name', 'is_user_defined'];
|
||||
}
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ use Webkul\Product\Repositories\ProductRepository;
|
|||
*/
|
||||
class ProductReviewRepository extends Repository
|
||||
{
|
||||
/**
|
||||
/**
|
||||
* ProductImageRepository object
|
||||
*
|
||||
* @var array
|
||||
|
|
@ -51,9 +51,13 @@ class ProductReviewRepository extends Repository
|
|||
*
|
||||
* @param int $customerId
|
||||
*/
|
||||
function getCustomerReview($customerId)
|
||||
function getCustomerReview()
|
||||
{
|
||||
$reviews = $this->model->where('customer_id',$customerId)->with('product')->get();
|
||||
$customerId = auth()->guard('customer')->user()->id;
|
||||
|
||||
$reviews = $this->model->where(['customer_id'=> $customerId, 'status' => 'approved'])->with('product')->get();
|
||||
|
||||
// dd($reviews);
|
||||
|
||||
return $reviews;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,6 +46,10 @@ class ReviewController extends Controller
|
|||
*/
|
||||
public function __construct(Product $product, ProductReview $productReview)
|
||||
{
|
||||
$this->middleware('admin');
|
||||
|
||||
$this->middleware('customer')->only(['create', 'store']);
|
||||
|
||||
$this->product = $product;
|
||||
|
||||
$this->productReview = $productReview;
|
||||
|
|
@ -118,7 +122,7 @@ class ReviewController extends Controller
|
|||
return view($this->_config['view'],compact('product'));
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
|
|
@ -131,7 +135,7 @@ class ReviewController extends Controller
|
|||
return view($this->_config['view'],compact('review'));
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
|
|
|
|||
|
|
@ -45,20 +45,50 @@ class SliderController extends controller
|
|||
public function create() {
|
||||
$channels = core()->getAllChannels();
|
||||
|
||||
return view($this->_config['view'])->with('channels',[$channels]);
|
||||
return view($this->_config['view']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates the new
|
||||
* sider item
|
||||
* Creates the new sider item.
|
||||
*
|
||||
* @return response
|
||||
*/
|
||||
public function store() {
|
||||
|
||||
$this->slider->create(request()->all());
|
||||
|
||||
session()->flash('success', 'Slider created successfully.');
|
||||
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* Edit the previously created slider item.
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function edit($id) {
|
||||
$slider = $this->slider->find($id);
|
||||
|
||||
return view($this->_config['view'])->with('slider', $slider);
|
||||
}
|
||||
|
||||
/**
|
||||
* Edit the previously created slider item.
|
||||
*
|
||||
* @return response
|
||||
*/
|
||||
public function update($id) {
|
||||
if($this->slider->updateItem(request()->all(), $id)) {
|
||||
session()->flash('success', 'Slider Item Successfully Updated');
|
||||
} else {
|
||||
session()->flash('error', 'Slider Cannot Be Updated');
|
||||
}
|
||||
|
||||
return redirect()->back();
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a slider item and preserve the last one from deleting
|
||||
*
|
||||
* @return mixed
|
||||
|
|
@ -68,8 +98,10 @@ class SliderController extends controller
|
|||
session()->flash('warning', 'Cannot Delete The Last Slider Item');
|
||||
} else {
|
||||
$this->slider->destroy($id);
|
||||
|
||||
session()->flash('success', 'Slider Item Successfully Deleted');
|
||||
}
|
||||
|
||||
return redirect()->back();
|
||||
}
|
||||
}
|
||||
|
|
@ -66,10 +66,6 @@ Route::group(['middleware' => ['web', 'theme', 'locale']], function () {
|
|||
'redirect' => 'customer.reviews.index'
|
||||
])->name('shop.reviews.store');
|
||||
|
||||
// Route::post('/reviews/create/{slug}', 'Webkul\Shop\Http\Controllers\ReviewController@store')->defaults('_config', [
|
||||
// 'redirect' => 'admin.reviews.index'
|
||||
// ])->name('admin.reviews.store');
|
||||
|
||||
// forgot Password Routes
|
||||
Route::get('/forgot-password', 'Webkul\Customer\Http\Controllers\ForgotPasswordController@create')->defaults('_config', [
|
||||
'view' => 'shop::customers.signup.forgot-password'
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 5.3 KiB |
|
|
@ -7,11 +7,6 @@
|
|||
:item="item"
|
||||
:parent="index">
|
||||
</category-item>
|
||||
|
||||
<li>
|
||||
<img src="http://localhost/bagisto/public/vendor/webkul/shop/assets/images/offer-zone.svg"/>
|
||||
<span>Offer Zone</span>
|
||||
</li>
|
||||
</ul>
|
||||
</template>
|
||||
|
||||
|
|
|
|||
|
|
@ -25,6 +25,11 @@ export default {
|
|||
type: Array,
|
||||
required: true,
|
||||
default: () => [],
|
||||
},
|
||||
|
||||
public_path: {
|
||||
type: String,
|
||||
required: true,
|
||||
}
|
||||
},
|
||||
|
||||
|
|
@ -53,8 +58,9 @@ export default {
|
|||
setProps() {
|
||||
|
||||
var this_this = this;
|
||||
|
||||
this.slides.forEach(function(slider) {
|
||||
this_this.images.push(slider.path);
|
||||
this_this.images.push(this_this.public_path+'/storage/'+slider.path);
|
||||
});
|
||||
this.currentIndex = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -299,21 +299,12 @@ section.slider-block {
|
|||
div.slider-control {
|
||||
display: flex;
|
||||
justify-content:space-between;
|
||||
bottom: 48%;
|
||||
bottom: 46%;
|
||||
right: 0%;
|
||||
width:100%;
|
||||
|
||||
.dark-left-icon {
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
.light-right-icon {
|
||||
margin-right: 15px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//header navigation
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
|
||||
|
||||
@media only screen and (max-width: 425px) {
|
||||
.product-card {
|
||||
font-size: 90%;
|
||||
|
|
|
|||
|
|
@ -285,6 +285,7 @@ body {
|
|||
}
|
||||
|
||||
.responsive-layred-filter {
|
||||
@extend .layered-filter-wrapper;
|
||||
width: 100%;
|
||||
float: none;
|
||||
padding-right: 0px;
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@
|
|||
<div class="account-layout">
|
||||
|
||||
<div class="account-head">
|
||||
<span class="back-icon"><a href="{{ route('customer.account.index') }}"><i class="icon icon-menu-back"></i></a></span>
|
||||
<span class="account-heading">{{ __('shop::app.customer.account.address.index.title') }}</span>
|
||||
|
||||
@if(!$address->isEmpty())
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<div class="responsive-side-menu" id="responsive-side-menu" style="display: none">
|
||||
<div class="responsive-side-menu" id="responsive-side-menu" style="display:none">
|
||||
Menu
|
||||
<i class="icon icon-arrow-down right" id="down-icon"></i>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
<div class="account-head">
|
||||
|
||||
<span class="back-icon"><a href="{{ route('customer.account.index') }}"><i class="icon icon-menu-back"></i></a></span>
|
||||
{{-- <span class="back-icon"><a href="{{ route('customer.account.index') }}"><i class="icon icon-menu-back"></i></a></span> --}}
|
||||
|
||||
<span class="account-heading">{{ __('shop::app.customer.account.profile.index.title') }}</span>
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,8 @@
|
|||
<div class="account-layout">
|
||||
|
||||
<div class="account-head">
|
||||
<span class="back-icon"><a href="{{ route('customer.account.index') }}"><i class="icon icon-menu-back"></i></a></span>
|
||||
{{-- <span class="back-icon"><a href="{{ route('customer.account.index') }}"><i class="icon icon-menu-back"></i></a></span> --}}
|
||||
|
||||
<span class="account-heading">{{ __('shop::app.customer.account.review.index.title') }}</span>
|
||||
<span></span>
|
||||
<div class="horizontal-rule"></div>
|
||||
|
|
@ -16,7 +17,7 @@
|
|||
|
||||
<div class="account-items-list">
|
||||
|
||||
@if(is_null($reviews))
|
||||
@if(!is_null($reviews))
|
||||
@foreach($reviews as $review)
|
||||
<div class="account-item-card mt-15 mb-15">
|
||||
<div class="media-info">
|
||||
|
|
|
|||
|
|
@ -12,7 +12,6 @@
|
|||
<div class="account-head mb-15">
|
||||
<span class="account-heading">{{ __('shop::app.wishlist.title') }}</span>
|
||||
|
||||
<span class="account-heading">{{ __('shop::app.wishlist.title') }}</span>
|
||||
@if(count($items))
|
||||
<div class="account-action">
|
||||
<a href="" style="margin-right: 15px;">{{ __('shop::app.wishlist.deleteall') }}</a>
|
||||
|
|
|
|||
|
|
@ -9,13 +9,19 @@
|
|||
|
||||
<div class="error-box" style="width: 50%">
|
||||
|
||||
<div class="error-title" style="font-size: 100px;color: #5E5E5E"> {{ $code }} </div>
|
||||
<div class="error-title" style="font-size: 100px;color: #5E5E5E"> {{ $code }}</div>
|
||||
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">Page Not Found</div>
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">
|
||||
{{ __('admin::app.error.403.title') }}
|
||||
</div>
|
||||
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">The Page you are looking for doesnt exist or have secrately escaped;head backm to home and make a fresh move again.</div>
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">
|
||||
{{ __('admin::app.error.403.message') }}
|
||||
</div>
|
||||
|
||||
<a href="{{ route('shop.home.index') }}">GO TO HOME</a>
|
||||
<a href="{{ route('shop.home.index') }}">
|
||||
{{ __('admin::app.error.go-to-home') }}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -11,11 +11,17 @@
|
|||
|
||||
<div class="error-title" style="font-size: 100px;color: #5E5E5E"> {{ $code }}</div>
|
||||
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">Page Not Found</div>
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">
|
||||
{{ __('admin::app.error.404.title') }}
|
||||
</div>
|
||||
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">The Page you are looking for doesnt exist or have secrately escaped;head backm to home and make a fresh move again.</div>
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">
|
||||
{{ __('admin::app.error.404.message') }}
|
||||
</div>
|
||||
|
||||
<a href="{{ route('shop.home.index') }}">GO TO HOME</a>
|
||||
<a href="{{ route('shop.home.index') }}">
|
||||
{{ __('admin::app.error.go-to-home') }}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -9,13 +9,19 @@
|
|||
|
||||
<div class="error-box" style="width: 50%">
|
||||
|
||||
<div class="error-title" style="font-size: 100px;color: #5E5E5E"> {{ $code }} </div>
|
||||
<div class="error-title" style="font-size: 100px;color: #5E5E5E"> {{ $code }}</div>
|
||||
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">Page Not Found</div>
|
||||
<div class="error-messgae" style="font-size: 24px;color: #5E5E5E">
|
||||
{{ __('admin::app.error.500.title') }}
|
||||
</div>
|
||||
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">The Page you are looking for doesnt exist or have secrately escaped;head backm to home and make a fresh move again.</div>
|
||||
<div class="error-description" style="margin-top: 20px;margin-bottom: 20px;color: #242424">
|
||||
{{ __('admin::app.error.500.message') }}
|
||||
</div>
|
||||
|
||||
<a href="{{ route('shop.home.index') }}">GO TO HOME</a>
|
||||
<a href="{{ route('shop.home.index') }}">
|
||||
{{ __('admin::app.error.go-to-home') }}
|
||||
</a>
|
||||
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,3 @@
|
|||
<section class="slider-block">
|
||||
<image-slider :slides='@json($sliderData)'> </image-slider>
|
||||
<image-slider :slides='@json($sliderData)' public_path="{{ url()->to('/') }}"></image-slider>
|
||||
</section>
|
||||
|
|
@ -1,11 +1,14 @@
|
|||
|
||||
<div class="header" id="header">
|
||||
<div class="header-top">
|
||||
<div class="left-content">
|
||||
<ul class="logo-container">
|
||||
<li>
|
||||
<a href="{{ route('shop.home.index') }}">
|
||||
<img class="logo" src="{{ asset('vendor/webkul/shop/assets/images/logo.svg') }}" />
|
||||
@if ($logo = core()->getCurrentChannel()->logo_url)
|
||||
<img class="logo" src="{{ $logo }}" />
|
||||
@else
|
||||
<img class="logo" src="{{ bagisto_asset('images/logo.svg') }}" />
|
||||
@endif
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
@ -13,6 +16,7 @@
|
|||
<ul class="search-container">
|
||||
<li class="search-group">
|
||||
<input type="search" class="search-field" placeholder="Search for products">
|
||||
|
||||
<div class="search-icon-wrapper">
|
||||
<span class="icon icon-search"></span>
|
||||
</div>
|
||||
|
|
@ -29,6 +33,7 @@
|
|||
<i class="icon arrow-down-icon active"></i>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@guest('customer')
|
||||
<div class="dropdown-list bottom-right" style="display: none;">
|
||||
<div class="dropdown-container">
|
||||
|
|
@ -44,6 +49,7 @@
|
|||
|
||||
</div>
|
||||
@endguest
|
||||
|
||||
@auth('customer')
|
||||
<div class="dropdown-list bottom-right" style="display: none; max-width: 230px;">
|
||||
<div class="dropdown-container">
|
||||
|
|
@ -70,6 +76,7 @@
|
|||
@endauth
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="cart-dropdown-container">
|
||||
|
||||
<?php $cart = cart()->getCart(); ?>
|
||||
|
|
@ -79,27 +86,30 @@
|
|||
<li class="cart-dropdown">
|
||||
<span class="icon cart-icon"></span>
|
||||
@if($cart)
|
||||
@php
|
||||
$items = $cart->items;
|
||||
@endphp
|
||||
<?php $items = $cart->items; ?>
|
||||
|
||||
<div class="dropdown-toggle">
|
||||
<div style="display: inline-block; cursor: pointer;">
|
||||
@if($cart->items_qty - intval($cart->items_qty) > 0)
|
||||
|
||||
<span class="name">
|
||||
Cart
|
||||
<span class="count"> ({{ $cart->items_qty }})</span>
|
||||
</span>
|
||||
|
||||
@else
|
||||
|
||||
<span class="name">
|
||||
Cart
|
||||
<span class="count"> ({{ intval($cart->items_qty) }})</span>
|
||||
</span>
|
||||
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<i class="icon arrow-down-icon active"></i>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="dropdown-list" style="display: none; top: 50px; right: 0px">
|
||||
<div class="dropdown-container">
|
||||
<div class="dropdown-cart">
|
||||
|
|
@ -110,41 +120,45 @@
|
|||
<div class="dropdown-content">
|
||||
@foreach($items as $item)
|
||||
@if($item->type == "configurable")
|
||||
<div class="item">
|
||||
<div class="item-image" >
|
||||
@php
|
||||
$images = $productImageHelper->getProductBaseImage($item->child->product);
|
||||
@endphp
|
||||
<img src="{{ $images['small_image_url'] }}" />
|
||||
|
||||
<div class="item">
|
||||
<div class="item-image" >
|
||||
@php
|
||||
$images = $productImageHelper->getProductBaseImage($item->child->product);
|
||||
@endphp
|
||||
<img src="{{ $images['small_image_url'] }}" />
|
||||
</div>
|
||||
|
||||
<div class="item-details">
|
||||
|
||||
<div class="item-name">{{ $item->child->name }}</div>
|
||||
|
||||
<div class="item-price">{{ $item->total }}</div>
|
||||
|
||||
<div class="item-qty">Quantity - {{ $item->quantity }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="item-details">
|
||||
|
||||
<div class="item-name">{{ $item->child->name }}</div>
|
||||
|
||||
<div class="item-price">{{ $item->total }}</div>
|
||||
|
||||
<div class="item-qty">Quantity - {{ $item->quantity }}</div>
|
||||
</div>
|
||||
</div>
|
||||
@else
|
||||
<div class="item">
|
||||
<div class="item-image" >
|
||||
@php
|
||||
$images = $productImageHelper->getProductBaseImage($item->product);
|
||||
@endphp
|
||||
<img src="{{ $images['small_image_url'] }}" />
|
||||
|
||||
<div class="item">
|
||||
<div class="item-image" >
|
||||
@php
|
||||
$images = $productImageHelper->getProductBaseImage($item->product);
|
||||
@endphp
|
||||
<img src="{{ $images['small_image_url'] }}" />
|
||||
</div>
|
||||
|
||||
<div class="item-details">
|
||||
|
||||
<div class="item-name">{{ $item->name }}</div>
|
||||
|
||||
<div class="item-price">{{ $item->total }}</div>
|
||||
|
||||
<div class="item-qty">Quantity - {{ $item->quantity }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="item-details">
|
||||
|
||||
<div class="item-name">{{ $item->name }}</div>
|
||||
|
||||
<div class="item-price">{{ $item->total }}</div>
|
||||
|
||||
<div class="item-qty">Quantity - {{ $item->quantity }}</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
@endforeach
|
||||
</div>
|
||||
|
|
@ -157,7 +171,9 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@else
|
||||
|
||||
<div class="dropdown-toggle">
|
||||
<div style="display: inline-block; cursor: pointer;">
|
||||
|
||||
|
|
@ -193,6 +209,7 @@
|
|||
</div>
|
||||
</div>
|
||||
@endguest
|
||||
|
||||
@auth('customer')
|
||||
<div class="dropdown-list bottom-right" style="display: none;">
|
||||
<div class="dropdown-container">
|
||||
|
|
@ -221,6 +238,7 @@
|
|||
@endauth
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<ul class="resp-cart-dropdown-container">
|
||||
|
||||
<li class="cart-dropdown">
|
||||
|
|
@ -277,23 +295,23 @@
|
|||
hamMenu.addEventListener("click", header);
|
||||
|
||||
// for header responsive icon
|
||||
function header(){
|
||||
function header() {
|
||||
var className = document.getElementById(this.id).className;
|
||||
if(className === 'icon icon-search' ){
|
||||
if(className === 'icon icon-search' ) {
|
||||
search.classList.remove("icon-search");
|
||||
search.classList.add("icon-menu-close");
|
||||
hamMenu.classList.remove("icon-menu-close");
|
||||
hamMenu.classList.add("icon-menu");
|
||||
searchResponsive.style.display = 'block';
|
||||
navResponsive.style.display = 'none';
|
||||
}else if(className === 'icon icon-menu'){
|
||||
} else if(className === 'icon icon-menu') {
|
||||
hamMenu.classList.remove("icon-menu");
|
||||
hamMenu.classList.add("icon-menu-close");
|
||||
search.classList.remove("icon-menu-close");
|
||||
search.classList.add("icon-search");
|
||||
searchResponsive.style.display = 'none';
|
||||
navResponsive.style.display = 'block';
|
||||
}else{
|
||||
} else {
|
||||
search.classList.remove("icon-menu-close");
|
||||
search.classList.add("icon-search");
|
||||
hamMenu.classList.remove("icon-menu-close");
|
||||
|
|
|
|||
|
|
@ -11,6 +11,12 @@
|
|||
<link rel="stylesheet" href="{{ bagisto_asset('css/shop.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('vendor/webkul/ui/assets/css/ui.css') }}">
|
||||
|
||||
@if ($favicon = core()->getCurrentChannel()->favicon_url)
|
||||
<link rel="icon" sizes="16x16" href="{{ $favicon }}" />
|
||||
@else
|
||||
<link rel="icon" sizes="16x16" href="{{ bagisto_asset('images/favicon.ico') }}" />
|
||||
@endif
|
||||
|
||||
@yield('head')
|
||||
|
||||
@section('seo')
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@
|
|||
</div>
|
||||
|
||||
<?php $products = $productRepository->findAllByCategory($category->id); ?>
|
||||
|
||||
|
||||
@if ($products->count())
|
||||
|
||||
@include ('shop::products.list.toolbar')
|
||||
|
|
@ -84,7 +84,7 @@
|
|||
sort.classList.remove("sort-icon");
|
||||
sort.classList.add("icon-menu-close-adj");
|
||||
|
||||
filter.classList.remove("icon-menu-close-adj");
|
||||
filter.classList.remove("icon-menu-close");
|
||||
filter.classList.add("filter-icon");
|
||||
|
||||
sortLimit.style.display = "flex";
|
||||
|
|
|
|||
|
|
@ -80,24 +80,22 @@
|
|||
@endsection
|
||||
|
||||
@push('scripts')
|
||||
<script>
|
||||
<script>
|
||||
document.onreadystatechange = function () {
|
||||
var state = document.readyState
|
||||
var galleryTemplate = document.getElementById('product-gallery-template');
|
||||
var addTOButton = document.getElementsByClassName('add-to-buttons')[0];
|
||||
|
||||
document.onreadystatechange = function () {
|
||||
var state = document.readyState
|
||||
var galleryTemplate = document.getElementById('product-gallery-template');
|
||||
var addTOButton = document.getElementsByClassName('add-to-buttons')[0];
|
||||
|
||||
if(galleryTemplate){
|
||||
if (state == 'interactive') {
|
||||
galleryTemplate.style.display="none";
|
||||
} else {
|
||||
document.getElementById('loader').style.display="none";
|
||||
addTOButton.style.display="flex";
|
||||
if(galleryTemplate){
|
||||
if (state == 'interactive') {
|
||||
galleryTemplate.style.display="none";
|
||||
} else {
|
||||
document.getElementById('loader').style.display="none";
|
||||
// addTOButton.style.display="flex";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
</script>
|
||||
@endpush
|
||||
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 5.3 KiB |
|
|
@ -29,16 +29,23 @@
|
|||
mounted: function() {
|
||||
|
||||
this.sample = "";
|
||||
|
||||
var element = this.$el.getElementsByTagName("input")[0];
|
||||
|
||||
var this_this = this;
|
||||
|
||||
|
||||
element.onchange = function() {
|
||||
var fReader = new FileReader();
|
||||
|
||||
fReader.readAsDataURL(element.files[0]);
|
||||
|
||||
fReader.onload = function(event) {
|
||||
this.img = document.getElementsByTagName("input")[0];
|
||||
|
||||
this.img.src = event.target.result;
|
||||
|
||||
this_this.newImage = this.img.src;
|
||||
|
||||
this_this.changePreview();
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -574,7 +574,12 @@ h2 {
|
|||
}
|
||||
|
||||
.accordian {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
|
||||
.accordian-header {
|
||||
width: 100%;
|
||||
display: inline-block;
|
||||
font-size: 18px;
|
||||
color: $font-color;
|
||||
border-bottom: solid 1px $border-color;
|
||||
|
|
|
|||
|
|
@ -388,7 +388,7 @@ body {
|
|||
}
|
||||
|
||||
@media only screen and (max-width: 840px) {
|
||||
.layered-filter-wrapper {
|
||||
.layered-filter-wrapper, .responsive-layred-filter {
|
||||
display: none;
|
||||
}
|
||||
.main .category-block {
|
||||
|
|
@ -429,38 +429,38 @@ body {
|
|||
}
|
||||
}
|
||||
|
||||
.layered-filter-wrapper {
|
||||
.layered-filter-wrapper, .responsive-layred-filter {
|
||||
width: 25%;
|
||||
float: left;
|
||||
padding-right: 20px;
|
||||
min-height: 1px;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-title {
|
||||
.layered-filter-wrapper .filter-title, .responsive-layred-filter .filter-title {
|
||||
border-bottom: 1px solid #C7C7C7;
|
||||
color: #242424;
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item {
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item, .responsive-layred-filter .filter-attributes .filter-attributes-item {
|
||||
border-bottom: 1px solid #C7C7C7;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-title {
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-title, .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-title {
|
||||
padding: 10px 40px 0 10px;
|
||||
color: #5E5E5E;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-title .remove-filter-link {
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-title .remove-filter-link, .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-title .remove-filter-link {
|
||||
font-weight: 400;
|
||||
color: #0031F0;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-title .icon {
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-title .icon, .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-title .icon {
|
||||
background-image: url("../images/arrow-down.svg") !important;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
|
|
@ -469,45 +469,45 @@ body {
|
|||
top: 14px;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content {
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content, .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-content {
|
||||
padding: 10px;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items {
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items, .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-content ol.items {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
list-style: none none;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item {
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item, .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item {
|
||||
padding: 8px 0;
|
||||
color: #5E5E5E;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item .checkbox {
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item .checkbox, .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item .checkbox {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item .checkbox .checkbox-view {
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item .checkbox .checkbox-view, .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item .checkbox .checkbox-view {
|
||||
height: 16px;
|
||||
width: 16px;
|
||||
background-image: url("../images/checkbox.svg");
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item .checkbox input:checked + .checkbox-view {
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item .checkbox input:checked + .checkbox-view, .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-content ol.items li.item .checkbox input:checked + .checkbox-view {
|
||||
background-image: url("../images/checkbox-checked.svg");
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content .price-range-wrapper {
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item .filter-attributes-content .price-range-wrapper, .responsive-layred-filter .filter-attributes .filter-attributes-item .filter-attributes-content .price-range-wrapper {
|
||||
margin-top: 21px;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item.active .filter-attributes-content {
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item.active .filter-attributes-content, .responsive-layred-filter .filter-attributes .filter-attributes-item.active .filter-attributes-content {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item.active .filter-attributes-title .icon {
|
||||
.layered-filter-wrapper .filter-attributes .filter-attributes-item.active .filter-attributes-title .icon, .responsive-layred-filter .filter-attributes .filter-attributes-item.active .filter-attributes-title .icon {
|
||||
background-image: url("../images//arrow-up.svg") !important;
|
||||
}
|
||||
|
||||
|
|
@ -834,16 +834,10 @@ section.slider-block div.slider-content div.slider-control .light-right-icon {
|
|||
-webkit-box-pack: justify;
|
||||
-ms-flex-pack: justify;
|
||||
justify-content: space-between;
|
||||
bottom: 48%;
|
||||
bottom: 46%;
|
||||
right: 0%;
|
||||
width: 100%;
|
||||
}
|
||||
section.slider-block div.slider-content div.slider-control .dark-left-icon {
|
||||
margin-left: 15px;
|
||||
}
|
||||
section.slider-block div.slider-content div.slider-control .light-right-icon {
|
||||
margin-right: 15px;
|
||||
}
|
||||
}
|
||||
|
||||
.header {
|
||||
|
|
|
|||
|
|
@ -30693,11 +30693,6 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
|||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
//
|
||||
|
||||
// define the item component
|
||||
/* harmony default export */ __webpack_exports__["default"] = ({
|
||||
|
|
@ -30735,36 +30730,15 @@ var render = function() {
|
|||
return _c(
|
||||
"ul",
|
||||
{ staticClass: "nav" },
|
||||
[
|
||||
_vm._l(_vm.items, function(item, index) {
|
||||
return _c("category-item", {
|
||||
key: index,
|
||||
attrs: { url: _vm.url, item: item, parent: index }
|
||||
})
|
||||
}),
|
||||
_vm._v(" "),
|
||||
_vm._m(0)
|
||||
],
|
||||
2
|
||||
_vm._l(_vm.items, function(item, index) {
|
||||
return _c("category-item", {
|
||||
key: index,
|
||||
attrs: { url: _vm.url, item: item, parent: index }
|
||||
})
|
||||
})
|
||||
)
|
||||
}
|
||||
var staticRenderFns = [
|
||||
function() {
|
||||
var _vm = this
|
||||
var _h = _vm.$createElement
|
||||
var _c = _vm._self._c || _h
|
||||
return _c("li", [
|
||||
_c("img", {
|
||||
attrs: {
|
||||
src:
|
||||
"http://localhost/bagisto/public/vendor/webkul/shop/assets/images/offer-zone.svg"
|
||||
}
|
||||
}),
|
||||
_vm._v(" "),
|
||||
_c("span", [_vm._v("Offer Zone")])
|
||||
])
|
||||
}
|
||||
]
|
||||
var staticRenderFns = []
|
||||
render._withStripped = true
|
||||
module.exports = { render: render, staticRenderFns: staticRenderFns }
|
||||
if (false) {
|
||||
|
|
@ -31404,6 +31378,11 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
|||
default: function _default() {
|
||||
return [];
|
||||
}
|
||||
},
|
||||
|
||||
public_path: {
|
||||
type: String,
|
||||
required: true
|
||||
}
|
||||
},
|
||||
|
||||
|
|
@ -31431,8 +31410,9 @@ Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
|
|||
setProps: function setProps() {
|
||||
|
||||
var this_this = this;
|
||||
|
||||
this.slides.forEach(function (slider) {
|
||||
this_this.images.push(slider.path);
|
||||
this_this.images.push(this_this.public_path + '/storage/' + slider.path);
|
||||
});
|
||||
this.currentIndex = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue