Fixed conflict and Assets compiled for prodcution
This commit is contained in:
commit
12a4c6dc09
|
|
@ -28,6 +28,8 @@ to the ever demanding online world. Your business whether small or huge it suits
|
|||
|
||||
**We are also having a forum for any type of your concern, feature request discussions. Please visit: [Bagisto Forums](https://forums.bagisto.com/)**
|
||||
|
||||
# Visit our live [Demo](https://demo.bagisto.com)
|
||||
|
||||
It packs in lots of demanding features that allows your business to scale in no time:
|
||||
|
||||
* Multiple Channels, Locale, Currencies.
|
||||
|
|
|
|||
|
|
@ -0,0 +1,7 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
|
||||
];
|
||||
|
||||
?>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"/js/admin.js": "/js/admin.js?id=7683c8f127f6ad2ac3ce",
|
||||
"/css/admin.css": "/css/admin.css?id=4b792d17cf1107f94a6b"
|
||||
}
|
||||
"/js/admin.js": "/js/admin.js?id=da5ebef9c25a064e7ed6",
|
||||
"/css/admin.css": "/css/admin.css?id=54d5d3e2b0d00847e473"
|
||||
}
|
||||
|
|
@ -34,6 +34,7 @@ class AttributeDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -42,6 +43,7 @@ class AttributeDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -50,6 +52,7 @@ class AttributeDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -58,6 +61,7 @@ class AttributeDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'sortable' => true,
|
||||
'searchable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -80,6 +84,7 @@ class AttributeDataGrid extends DataGrid
|
|||
'type' => 'boolean',
|
||||
'sortable' => true,
|
||||
'searchable' => false,
|
||||
'filterable' => true,
|
||||
'wrapper' => function($value) {
|
||||
if ($value->is_unique == 1)
|
||||
return 'True';
|
||||
|
|
@ -94,6 +99,7 @@ class AttributeDataGrid extends DataGrid
|
|||
'type' => 'boolean',
|
||||
'sortable' => true,
|
||||
'searchable' => false,
|
||||
'filterable' => true,
|
||||
'wrapper' => function($value) {
|
||||
if ($value->value_per_locale == 1)
|
||||
return 'True';
|
||||
|
|
@ -108,6 +114,7 @@ class AttributeDataGrid extends DataGrid
|
|||
'type' => 'boolean',
|
||||
'sortable' => true,
|
||||
'searchable' => false,
|
||||
'filterable' => true,
|
||||
'wrapper' => function($value) {
|
||||
if ($value->value_per_channel == 1)
|
||||
return 'True';
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ class AttributeFamilyDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -40,6 +41,7 @@ class AttributeFamilyDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -48,6 +50,7 @@ class AttributeFamilyDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -43,6 +43,7 @@ class CategoryDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -51,6 +52,7 @@ class CategoryDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -59,6 +61,7 @@ class CategoryDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -67,6 +70,7 @@ class CategoryDataGrid extends DataGrid
|
|||
'type' => 'boolean',
|
||||
'sortable' => true,
|
||||
'searchable' => true,
|
||||
'filterable' => true,
|
||||
'wrapper' => function($value) {
|
||||
if ($value->status == 1)
|
||||
return 'Active';
|
||||
|
|
@ -81,6 +85,7 @@ class CategoryDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'sortable' => true,
|
||||
'searchable' => false,
|
||||
'filterable' => false
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ class ChannelDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -40,6 +41,7 @@ class ChannelDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -48,6 +50,7 @@ class ChannelDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -56,6 +59,7 @@ class ChannelDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'sortable' => true,
|
||||
'searchable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ class CurrencyDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -40,6 +41,7 @@ class CurrencyDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -48,6 +50,7 @@ class CurrencyDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -37,6 +37,7 @@ class CustomerDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -45,6 +46,7 @@ class CustomerDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -53,6 +55,7 @@ class CustomerDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -61,6 +64,7 @@ class CustomerDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ class CustomerGroupDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -40,6 +41,7 @@ class CustomerGroupDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ class CustomerReviewDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => false
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -47,6 +47,7 @@ class CustomerReviewDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -55,6 +56,7 @@ class CustomerReviewDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -63,6 +65,7 @@ class CustomerReviewDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => false
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -72,6 +75,7 @@ class CustomerReviewDataGrid extends DataGrid
|
|||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'width' => '100px',
|
||||
'filterable' => true,
|
||||
'closure' => true,
|
||||
'wrapper' => function ($value) {
|
||||
if ($value->product_review_status == 'approved')
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ class ExchangeRatesDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -42,6 +43,7 @@ class ExchangeRatesDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -50,6 +52,7 @@ class ExchangeRatesDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ class InventorySourcesDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -40,6 +41,7 @@ class InventorySourcesDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -48,6 +50,7 @@ class InventorySourcesDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -56,6 +59,7 @@ class InventorySourcesDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -64,6 +68,7 @@ class InventorySourcesDataGrid extends DataGrid
|
|||
'type' => 'boolean',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true,
|
||||
'wrapper' => function($value) {
|
||||
if ($value->status == 1)
|
||||
return 'Active';
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ class LocalesDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -40,6 +41,7 @@ class LocalesDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -48,6 +50,7 @@ class LocalesDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ class NewsLetterDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -40,6 +41,7 @@ class NewsLetterDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true,
|
||||
'wrapper' => function($value) {
|
||||
if ($value->is_subscribed == 1)
|
||||
return 'True';
|
||||
|
|
@ -54,6 +56,7 @@ class NewsLetterDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,6 +47,7 @@ class OrderDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -55,6 +56,7 @@ class OrderDataGrid extends DataGrid
|
|||
'type' => 'price',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -63,6 +65,7 @@ class OrderDataGrid extends DataGrid
|
|||
'type' => 'price',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -71,6 +74,7 @@ class OrderDataGrid extends DataGrid
|
|||
'type' => 'datetime',
|
||||
'sortable' => true,
|
||||
'searchable' => false,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -79,6 +83,7 @@ class OrderDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'sortable' => true,
|
||||
'searchable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -88,6 +93,7 @@ class OrderDataGrid extends DataGrid
|
|||
'sortable' => true,
|
||||
'searchable' => true,
|
||||
'closure' => true,
|
||||
'filterable' => true,
|
||||
'wrapper' => function ($value) {
|
||||
if ($value->status == 'processing')
|
||||
return '<span class="badge badge-md badge-success">Processing</span>';
|
||||
|
|
@ -112,6 +118,7 @@ class OrderDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -120,6 +127,7 @@ class OrderDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ class OrderInvoicesDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -40,6 +41,7 @@ class OrderInvoicesDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -48,6 +50,7 @@ class OrderInvoicesDataGrid extends DataGrid
|
|||
'type' => 'price',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -56,6 +59,7 @@ class OrderInvoicesDataGrid extends DataGrid
|
|||
'type' => 'datetime',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ class OrderShipmentsDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -56,6 +57,7 @@ class OrderShipmentsDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -64,6 +66,7 @@ class OrderShipmentsDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -72,6 +75,7 @@ class OrderShipmentsDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -80,6 +84,7 @@ class OrderShipmentsDataGrid extends DataGrid
|
|||
'type' => 'datetime',
|
||||
'sortable' => true,
|
||||
'searchable' => false,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -88,6 +93,7 @@ class OrderShipmentsDataGrid extends DataGrid
|
|||
'type' => 'datetime',
|
||||
'sortable' => true,
|
||||
'searchable' => false,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -96,6 +102,7 @@ class OrderShipmentsDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'sortable' => true,
|
||||
'searchable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,7 +42,8 @@ class ProductDataGrid extends DataGrid
|
|||
'label' => trans('admin::app.datagrid.id'),
|
||||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -51,6 +52,7 @@ class ProductDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
// 'width' => '100px'
|
||||
]);
|
||||
|
||||
|
|
@ -59,7 +61,8 @@ class ProductDataGrid extends DataGrid
|
|||
'label' => trans('admin::app.datagrid.name'),
|
||||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -67,7 +70,8 @@ class ProductDataGrid extends DataGrid
|
|||
'label' => trans('admin::app.datagrid.attribute-family'),
|
||||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -75,7 +79,8 @@ class ProductDataGrid extends DataGrid
|
|||
'label' => trans('admin::app.datagrid.type'),
|
||||
'type' => 'string',
|
||||
'sortable' => true,
|
||||
'searchable' => true
|
||||
'searchable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -84,6 +89,7 @@ class ProductDataGrid extends DataGrid
|
|||
'type' => 'boolean',
|
||||
'sortable' => true,
|
||||
'searchable' => false,
|
||||
'filterable' => true,
|
||||
'wrapper' => function($value) {
|
||||
if ($value->status == 1)
|
||||
return 'Active';
|
||||
|
|
@ -97,7 +103,8 @@ class ProductDataGrid extends DataGrid
|
|||
'label' => trans('admin::app.datagrid.price'),
|
||||
'type' => 'price',
|
||||
'sortable' => true,
|
||||
'searchable' => false
|
||||
'searchable' => false,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -105,7 +112,8 @@ class ProductDataGrid extends DataGrid
|
|||
'label' => trans('admin::app.datagrid.qty'),
|
||||
'type' => 'number',
|
||||
'sortable' => true,
|
||||
'searchable' => false
|
||||
'searchable' => false,
|
||||
'filterable' => false
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,7 +32,8 @@ class RolesDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'width' => '40px'
|
||||
'width' => '40px',
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -41,6 +42,7 @@ class RolesDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -49,6 +51,7 @@ class RolesDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ class SliderDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -44,6 +45,7 @@ class SliderDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -52,6 +54,7 @@ class SliderDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ class TaxCategoryDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -40,6 +41,7 @@ class TaxCategoryDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -48,6 +50,7 @@ class TaxCategoryDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ class TaxRateDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -40,6 +41,7 @@ class TaxRateDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -48,6 +50,7 @@ class TaxRateDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -56,6 +59,7 @@ class TaxRateDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -64,6 +68,7 @@ class TaxRateDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ class UserDataGrid extends DataGrid
|
|||
'type' => 'number',
|
||||
'searchable' => false,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -44,6 +45,7 @@ class UserDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -52,6 +54,7 @@ class UserDataGrid extends DataGrid
|
|||
'type' => 'boolean',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true,
|
||||
'wrapper' => function($value) {
|
||||
if ($value->status == 1) {
|
||||
return 'Active';
|
||||
|
|
@ -67,6 +70,7 @@ class UserDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
|
||||
$this->addColumn([
|
||||
|
|
@ -75,6 +79,7 @@ class UserDataGrid extends DataGrid
|
|||
'type' => 'string',
|
||||
'searchable' => true,
|
||||
'sortable' => true,
|
||||
'filterable' => true
|
||||
]);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -517,32 +517,32 @@ Route::group(['middleware' => ['web']], function () {
|
|||
])->name('admin.customers.subscribers.update');
|
||||
|
||||
//slider index
|
||||
Route::get('/slider','Webkul\Shop\Http\Controllers\SliderController@index')->defaults('_config',[
|
||||
Route::get('/slider','Webkul\Core\Http\Controllers\SliderController@index')->defaults('_config',[
|
||||
'view' => 'admin::settings.sliders.index'
|
||||
])->name('admin.sliders.index');
|
||||
|
||||
//slider create show
|
||||
Route::get('slider/create','Webkul\Shop\Http\Controllers\SliderController@create')->defaults('_config',[
|
||||
Route::get('slider/create','Webkul\Core\Http\Controllers\SliderController@create')->defaults('_config',[
|
||||
'view' => 'admin::settings.sliders.create'
|
||||
])->name('admin.sliders.create');
|
||||
|
||||
//slider create show
|
||||
Route::post('slider/create','Webkul\Shop\Http\Controllers\SliderController@store')->defaults('_config',[
|
||||
Route::post('slider/create','Webkul\Core\Http\Controllers\SliderController@store')->defaults('_config',[
|
||||
'redirect' => 'admin.sliders.index'
|
||||
])->name('admin.sliders.store');
|
||||
|
||||
//slider edit show
|
||||
Route::get('slider/edit/{id}','Webkul\Shop\Http\Controllers\SliderController@edit')->defaults('_config',[
|
||||
Route::get('slider/edit/{id}','Webkul\Core\Http\Controllers\SliderController@edit')->defaults('_config',[
|
||||
'view' => 'admin::settings.sliders.edit'
|
||||
])->name('admin.sliders.edit');
|
||||
|
||||
//slider edit update
|
||||
Route::post('slider/edit/{id}','Webkul\Shop\Http\Controllers\SliderController@update')->defaults('_config',[
|
||||
Route::post('slider/edit/{id}','Webkul\Core\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')->name('admin.sliders.delete');
|
||||
Route::get('slider/delete/{id}', 'Webkul\Core\Http\Controllers\SliderController@destroy')->name('admin.sliders.delete');
|
||||
|
||||
//tax routes
|
||||
Route::get('/tax-categories', 'Webkul\Tax\Http\Controllers\TaxController@index')->defaults('_config', [
|
||||
|
|
|
|||
|
|
@ -93,8 +93,42 @@ body {
|
|||
}
|
||||
}
|
||||
|
||||
.open-nav-aside {
|
||||
display: none;
|
||||
width: 100%;
|
||||
height: 8%;
|
||||
margin-top: 2%;
|
||||
padding: 5px;
|
||||
text-align: center;
|
||||
border: 1px solid $border-color;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.close-nav-aside {
|
||||
display: block;
|
||||
width: 100%;
|
||||
height: 8%;
|
||||
margin-top: 3%;
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
border: 1px solid $border-color;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.close-nav-aside:hover, .open-nav-aside:hover {
|
||||
background: $brand-color;
|
||||
}
|
||||
|
||||
.open-nav-aside, .close-nav-aside {
|
||||
.icon {
|
||||
height: 28px;
|
||||
width: 28px;
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-left {
|
||||
position: absolute;
|
||||
display: block;
|
||||
position: fixed;
|
||||
top: 60px;
|
||||
bottom: 0;
|
||||
width: 90px;
|
||||
|
|
@ -104,6 +138,8 @@ body {
|
|||
z-index: 2;
|
||||
|
||||
ul.menubar {
|
||||
height: 93%;
|
||||
|
||||
li.menu-item {
|
||||
height: 90px;
|
||||
padding: 10px 5px;
|
||||
|
|
@ -143,9 +179,13 @@ body {
|
|||
border-right: 1px solid $border-color;
|
||||
background: #f8f9fa;
|
||||
padding-top: 10px;
|
||||
overflow-y: auto;
|
||||
z-index: 4;
|
||||
|
||||
ul {
|
||||
height: 93%;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
a {
|
||||
padding: 15px;
|
||||
display: block;
|
||||
|
|
@ -576,6 +616,40 @@ body {
|
|||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.aside-nav-toggle {
|
||||
height: 48px;
|
||||
width: 100%;
|
||||
padding-top: 15px;
|
||||
border-top: 1px solid rgba(162, 162, 162, 0.2);
|
||||
|
||||
.close-icon, .open-icon {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
left: 45%;
|
||||
}
|
||||
}
|
||||
|
||||
.aside-nav-toggle.open {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.linked-product-search-result {
|
||||
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.16), 0 0 9px 0 rgba(0, 0, 0, 0.16);
|
||||
z-index: 10;
|
||||
text-align: left;
|
||||
border-radius: 3px;
|
||||
background-color: #ffffff;
|
||||
width: 70%;
|
||||
max-height: 200px;
|
||||
overflow-y: auto;
|
||||
|
||||
li {
|
||||
padding: 10px;
|
||||
border-bottom: 1px solid #e8e8e8;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
|
||||
// css for rtl start here
|
||||
.rtl {
|
||||
direction: rtl;
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<div class="page-title">
|
||||
<h1>
|
||||
<i class="icon angle-left-icon back-link" onclick="history.length > 1 ? history.go(-1) : window.location = '{{ url('/admin/dashboard') }}';"></i>
|
||||
|
||||
|
||||
{{ __('admin::app.catalog.categories.add-title') }}
|
||||
</h1>
|
||||
</div>
|
||||
|
|
@ -103,7 +103,7 @@
|
|||
|
||||
<accordian :title="'{{ __('admin::app.catalog.categories.parent-category') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
|
||||
{!! view_render_event('bagisto.admin.catalog.category.create_form_accordian.parent_category.controls.before') !!}
|
||||
|
||||
<tree-view value-field="id" name-field="parent_id" input-type="radio" items='@json($categories)'></tree-view>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<div class="page-title">
|
||||
<h1>
|
||||
<i class="icon angle-left-icon back-link" onclick="history.length > 1 ? history.go(-1) : window.location = '{{ url('/admin/dashboard') }}';"></i>
|
||||
|
||||
|
||||
{{ __('admin::app.catalog.categories.edit-title') }}
|
||||
</h1>
|
||||
|
||||
|
|
@ -79,7 +79,7 @@
|
|||
|
||||
</div>
|
||||
</accordian>
|
||||
|
||||
|
||||
{!! view_render_event('bagisto.admin.catalog.category.edit_form_accordian.general.after', ['category' => $category]) !!}
|
||||
|
||||
|
||||
|
|
@ -87,7 +87,7 @@
|
|||
|
||||
<accordian :title="'{{ __('admin::app.catalog.categories.description-and-images') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
|
||||
{!! view_render_event('bagisto.admin.catalog.category.edit_form_accordian.description_images.controls.before', ['category' => $category]) !!}
|
||||
|
||||
<div class="control-group" :class="[errors.has('{{$locale}}[description]') ? 'has-error' : '']">
|
||||
|
|
@ -111,12 +111,12 @@
|
|||
{!! view_render_event('bagisto.admin.catalog.category.edit_form_accordian.description_images.after', ['category' => $category]) !!}
|
||||
|
||||
@if ($categories->count())
|
||||
|
||||
|
||||
{!! view_render_event('bagisto.admin.catalog.category.edit_form_accordian.parent_category.before', ['category' => $category]) !!}
|
||||
|
||||
<accordian :title="'{{ __('admin::app.catalog.categories.parent-category') }}'" :active="true">
|
||||
<div slot="body">
|
||||
|
||||
|
||||
{!! view_render_event('bagisto.admin.catalog.category.edit_form_accordian.parent_category.controls.before', ['category' => $category]) !!}
|
||||
|
||||
<tree-view value-field="id" name-field="parent_id" input-type="radio" items='@json($categories)' value='@json($category->parent_id)'></tree-view>
|
||||
|
|
|
|||
|
|
@ -19,20 +19,23 @@
|
|||
<label for="up-selling">{{ __('admin::app.catalog.products.up-selling') }}</label>
|
||||
<input type="text" class="control" autocomplete="off" v-model="search_term" placeholder="{{ __('admin::app.catalog.products.product-search-hint') }}">
|
||||
|
||||
<div class="linked-product-search-result">
|
||||
<ul>
|
||||
<li v-for='(product, index) in products'@click="addProduct(product)">
|
||||
@{{ product.name }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="up_sell[]" v-for='(product, index) in this.addedProduct' :value="product.id"/>
|
||||
|
||||
<span class="filter-tag" style="text-transform: capitalize; margin-top: 10px; margin-right: 0px; justify-content: flex-start">
|
||||
<span class="filter-tag" v-if="this.addedProduct.length" style="text-transform: capitalize; margin-top: 10px; margin-right: 0px; justify-content: flex-start">
|
||||
<span class="wrapper" style="margin-left: 0px; margin-right: 10px;" v-for='(product, index) in this.addedProduct'>
|
||||
@{{ product.name }}
|
||||
<span class="icon cross-icon" @click="removeProduct(product)"></span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<ul>
|
||||
<li v-for='(product, index) in products' style="padding: 10px; border-bottom: 1px solid #e8e8e8; width: 70%; cursor: pointer;" @click="addProduct(product)">
|
||||
@{{ product.name }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
|
@ -108,20 +111,22 @@
|
|||
<label for="up-selling">{{ __('admin::app.catalog.products.cross-selling') }}</label>
|
||||
<input type="text" class="control" autocomplete="off" v-model="search_term" placeholder="{{ __('admin::app.catalog.products.product-search-hint') }}">
|
||||
|
||||
<div class="linked-product-search-result">
|
||||
<ul>
|
||||
<li v-for='(product, index) in products'@click="addProduct(product)">
|
||||
@{{ product.name }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="cross_sell[]" v-for='(product, index) in this.addedProduct' :value="product.id"/>
|
||||
|
||||
<span class="filter-tag" style="text-transform: capitalize; margin-top: 10px; margin-right: 0px; justify-content: flex-start">
|
||||
<span class="filter-tag" v-if="this.addedProduct.length" style="text-transform: capitalize; margin-top: 10px; margin-right: 0px; justify-content: flex-start">
|
||||
<span class="wrapper" style="margin-left: 0px; margin-right: 10px;" v-for='(product, index) in this.addedProduct'>
|
||||
@{{ product.name }}
|
||||
<span class="icon cross-icon" @click="removeProduct(product)"></span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<ul>
|
||||
<li v-for='(product, index) in products' style="padding: 10px; border-bottom: 1px solid #e8e8e8; width: 70%; cursor: pointer;" @click="addProduct(product)">
|
||||
@{{ product.name }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
|
@ -197,20 +202,22 @@
|
|||
<label for="up-selling">{{ __('admin::app.catalog.products.related-products') }}</label>
|
||||
<input type="text" class="control" autocomplete="off" v-model="search_term" placeholder="{{ __('admin::app.catalog.products.product-search-hint') }}">
|
||||
|
||||
<div class="linked-product-search-result">
|
||||
<ul>
|
||||
<li v-for='(product, index) in products'@click="addProduct(product)">
|
||||
@{{ product.name }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="related_products[]" v-for='(product, index) in this.addedProduct' :value="product.id"/>
|
||||
|
||||
<span class="filter-tag" style="text-transform: capitalize; margin-top: 10px; margin-right: 0px; justify-content: flex-start">
|
||||
<span class="filter-tag" v-if="this.addedProduct.length" style="text-transform: capitalize; margin-top: 10px; margin-right: 0px; justify-content: flex-start">
|
||||
<span class="wrapper" style="margin-left: 0px; margin-right: 10px;" v-for='(product, index) in this.addedProduct'>
|
||||
@{{ product.name }}
|
||||
<span class="icon cross-icon" @click="removeProduct(product)"></span>
|
||||
</span>
|
||||
</span>
|
||||
|
||||
<ul>
|
||||
<li v-for='(product, index) in products' style="padding: 10px; border-bottom: 1px solid #e8e8e8; width: 70%; cursor: pointer;" @click="addProduct(product)">
|
||||
@{{ product.name }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
<div class="page-title">
|
||||
<h1>
|
||||
<i class="icon angle-left-icon back-link" onclick="history.length > 1 ? history.go(-1) : window.location = '{{ url('/admin/dashboard') }}';"></i>
|
||||
|
||||
|
||||
{{ __('admin::app.catalog.products.add-title') }}
|
||||
</h1>
|
||||
</div>
|
||||
|
|
@ -44,7 +44,6 @@
|
|||
|
||||
<?php $familyId = app('request')->input('family') ?>
|
||||
<?php $sku = app('request')->input('sku') ?>
|
||||
|
||||
{!! view_render_event('bagisto.admin.catalog.product.create_form_accordian.general.before') !!}
|
||||
|
||||
<accordian :title="'{{ __('admin::app.catalog.products.general') }}'" :active="true">
|
||||
|
|
@ -55,8 +54,9 @@
|
|||
<div class="control-group" :class="[errors.has('type') ? 'has-error' : '']">
|
||||
<label for="type" class="required">{{ __('admin::app.catalog.products.product-type') }}</label>
|
||||
<select class="control" v-validate="'required'" id="type" name="type" {{ $familyId ? 'disabled' : '' }} data-vv-as=""{{ __('admin::app.catalog.products.product-type') }}"">
|
||||
<option value="simple">{{ __('admin::app.catalog.products.simple') }}</option>
|
||||
<option value="configurable" {{ $familyId ? 'selected' : '' }}>{{ __('admin::app.catalog.products.configurable') }}</option>
|
||||
@foreach($productTypes as $key => $productType)
|
||||
<option value="{{ $key }}">{{ $productType['name'] }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
|
||||
@if ($familyId)
|
||||
|
|
|
|||
|
|
@ -1,8 +1,5 @@
|
|||
<div class="aside-nav">
|
||||
<ul>
|
||||
{{-- <li class="slider-aside">
|
||||
<span class="icon cross-icon" style="height: 64px; width: 64px; background: red;"></span>
|
||||
</li> --}}
|
||||
@if (request()->route()->getName() != 'admin.configuration.index')
|
||||
<?php $keys = explode('.', $menu->currentKey); ?>
|
||||
|
||||
|
|
@ -31,30 +28,26 @@
|
|||
@endforeach
|
||||
@endif
|
||||
</ul>
|
||||
|
||||
{{-- <div class="close-nav-aside">
|
||||
<i class="icon angle-left-icon close-icon"></i>
|
||||
</div> --}}
|
||||
</div>
|
||||
|
||||
{{-- @push('scripts')
|
||||
<script type="text/javascript">
|
||||
var turned = false;
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
if(turned == false) {
|
||||
$('.slider-aside').on('click', function() {
|
||||
$('.aside-nav').css('display', 'none');
|
||||
|
||||
$('.content-wrapper').css('margin-left', '0px');
|
||||
|
||||
turned = true;
|
||||
});
|
||||
} else {
|
||||
$('.slider-aside').on('click', function() {
|
||||
$('.aside-nav').css('display', '');
|
||||
|
||||
$('.content-wrapper').css('margin-left', '305px');
|
||||
|
||||
turned = false;
|
||||
});
|
||||
}
|
||||
$(".close-nav-aside").on('click', function(e) {
|
||||
$('.content-wrapper').css("margin-left", "0px");
|
||||
$('.aside-nav').css('display', 'none');
|
||||
$('.open-nav-aside').css('display', 'block');
|
||||
});
|
||||
|
||||
$(".open-nav-aside").on('click', function(e) {
|
||||
$('.content-wrapper').css("margin-left", "305px");
|
||||
$('.aside-nav').css('display', '');
|
||||
$('.open-nav-aside').css('display', 'none');
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
@endpush --}}
|
||||
|
|
@ -10,4 +10,8 @@
|
|||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
|
||||
<div class="open-nav-aside">
|
||||
<i class="icon angle-right-icon open-icon"></i>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -152,7 +152,7 @@ class AttributeRepository extends Repository
|
|||
*/
|
||||
public function getFilterAttributes()
|
||||
{
|
||||
return $this->model->filterableAttributes()->get();
|
||||
return $this->model->where('is_filterable', 1)->get();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -75,7 +75,7 @@ class CategoryController extends Controller
|
|||
$this->validate(request(), [
|
||||
'slug' => ['required', 'unique:category_translations,slug', new \Webkul\Core\Contracts\Validations\Slug],
|
||||
'name' => 'required',
|
||||
'image.*' => 'mimes:jpeg, jpg, bmp, png'
|
||||
'image.*' => 'mimes:jpeg,jpg,bmp,png'
|
||||
]);
|
||||
|
||||
if (strtolower(request()->input('name')) == 'root') {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
<?php
|
||||
|
||||
return [
|
||||
[
|
||||
'key' => 'simple',
|
||||
'name' => 'Simple',
|
||||
'sort' => 1
|
||||
|
||||
], [
|
||||
'key' => 'configurable',
|
||||
'name' => 'Configurable',
|
||||
'sort' => 2
|
||||
]
|
||||
];
|
||||
|
|
@ -21,6 +21,8 @@ class ProductServiceProvider extends ServiceProvider
|
|||
$this->app->register(EventServiceProvider::class);
|
||||
|
||||
$this->app->register(ModuleServiceProvider::class);
|
||||
|
||||
$this->composeView();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -30,6 +32,28 @@ class ProductServiceProvider extends ServiceProvider
|
|||
*/
|
||||
public function register()
|
||||
{
|
||||
$this->registerConfig();
|
||||
}
|
||||
|
||||
public function registerConfig() {
|
||||
$this->mergeConfigFrom(
|
||||
dirname(__DIR__) . '/Config/product_types.php', 'product_types'
|
||||
);
|
||||
}
|
||||
|
||||
public function composeView() {
|
||||
view()->composer(['admin::catalog.products.create'], function ($view) {
|
||||
$items = array();
|
||||
|
||||
foreach (config('product_types') as $item) {
|
||||
$item['children'] = [];
|
||||
|
||||
array_push($items, $item);
|
||||
}
|
||||
|
||||
$types = core()->sortItems($items);
|
||||
|
||||
$view->with('productTypes', $types);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
@ -196,14 +196,23 @@ class ProductRepository extends Repository
|
|||
|
||||
if (isset($data['up_sell'])) {
|
||||
$product->up_sells()->sync($data['up_sell']);
|
||||
} else {
|
||||
$data['up_sell'] = [];
|
||||
$product->up_sells()->sync($data['up_sell']);
|
||||
}
|
||||
|
||||
if (isset($data['cross_sell'])) {
|
||||
$product->cross_sells()->sync($data['cross_sell']);
|
||||
} else {
|
||||
$data['cross_sell'] = [];
|
||||
$product->cross_sells()->sync($data['cross_sell']);
|
||||
}
|
||||
|
||||
if (isset($data['related_products'])) {
|
||||
$product->related_products()->sync($data['related_products']);
|
||||
} else {
|
||||
$data['related_products'] = [];
|
||||
$product->related_products()->sync($data['related_products']);
|
||||
}
|
||||
|
||||
$previousVariantIds = $product->variants->pluck('id');
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"/js/shop.js": "/js/shop.js?id=e019a3a0b0cbcc981fd8",
|
||||
"/css/shop.css": "/css/shop.css?id=6a1fef3231745a7b94ce"
|
||||
}
|
||||
"/js/shop.js": "/js/shop.js?id=391400bc9a994e60b97f",
|
||||
"/css/shop.css": "/css/shop.css?id=f179c72a73d0f8996e4e"
|
||||
}
|
||||
|
|
@ -58,10 +58,10 @@ class SubscriptionController extends Controller
|
|||
public function subscribe()
|
||||
{
|
||||
$this->validate(request(), [
|
||||
'email' => 'email|required'
|
||||
'subscriber_email' => 'email|required'
|
||||
]);
|
||||
|
||||
$email = request()->input('email');
|
||||
$email = request()->input('subscriber_email');
|
||||
|
||||
$unique = 0;
|
||||
|
||||
|
|
@ -133,4 +133,4 @@ class SubscriptionController extends Controller
|
|||
|
||||
return redirect()->route('shop.home.index');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2692,6 +2692,7 @@ section.review {
|
|||
|
||||
.product-info {
|
||||
font-size: 24px;
|
||||
max-width: 25%;
|
||||
|
||||
.product-image {
|
||||
img {
|
||||
|
|
@ -2857,6 +2858,8 @@ section.review {
|
|||
flex-direction: column;
|
||||
|
||||
.product-info {
|
||||
max-width: 100%;
|
||||
|
||||
.product-image, .product-name, .product-price {
|
||||
max-width: 280px;
|
||||
margin-left: auto;
|
||||
|
|
@ -2881,7 +2884,7 @@ section.review {
|
|||
.left-side {
|
||||
width: 100%;
|
||||
padding: 0px 0px 40px 0px;
|
||||
margin-top: -50px;
|
||||
margin-top: -30px;
|
||||
}
|
||||
|
||||
.right-side {
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@
|
|||
|
||||
<div class="button-group">
|
||||
|
||||
<button type="button" class="btn btn-lg btn-primary" @click="validateForm('address-form')" :disabled="disable_button" id="checkout-continue-button">
|
||||
<button type="button" class="btn btn-lg btn-primary" @click="validateForm('address-form')" :disabled="disable_button" id="checkout-address-continue-button">
|
||||
{{ __('shop::app.checkout.onepage.continue') }}
|
||||
</button>
|
||||
|
||||
|
|
@ -65,7 +65,7 @@
|
|||
|
||||
<div class="button-group">
|
||||
|
||||
<button type="button" class="btn btn-lg btn-primary" @click="validateForm('shipping-form')" :disabled="disable_button" id="checkout-continue-button">
|
||||
<button type="button" class="btn btn-lg btn-primary" @click="validateForm('shipping-form')" :disabled="disable_button" id="checkout-shipping-continue-button">
|
||||
{{ __('shop::app.checkout.onepage.continue') }}
|
||||
</button>
|
||||
|
||||
|
|
@ -79,7 +79,7 @@
|
|||
|
||||
<div class="button-group">
|
||||
|
||||
<button type="button" class="btn btn-lg btn-primary" @click="validateForm('payment-form')" :disabled="disable_button" id="checkout-continue-button">
|
||||
<button type="button" class="btn btn-lg btn-primary" @click="validateForm('payment-form')" :disabled="disable_button" id="checkout-payment-continue-button">
|
||||
{{ __('shop::app.checkout.onepage.continue') }}
|
||||
</button>
|
||||
|
||||
|
|
@ -158,7 +158,7 @@
|
|||
}),
|
||||
|
||||
created() {
|
||||
if(!customerAddress) {
|
||||
if(! customerAddress) {
|
||||
this.new_shipping_address = true;
|
||||
this.new_billing_address = true;
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -22,8 +22,8 @@
|
|||
<span class="list-heading">{{ __('shop::app.footer.subscribe-newsletter') }}</span>
|
||||
<div class="form-container">
|
||||
<form action="{{ route('shop.subscribe') }}">
|
||||
<div class="control-group" :class="[errors.has('email') ? 'has-error' : '']">
|
||||
<input type="email" class="control subscribe-field" name="email" placeholder="Email Address" required><br/>
|
||||
<div class="control-group" :class="[errors.has('subscriber_email') ? 'has-error' : '']">
|
||||
<input type="email" class="control subscribe-field" name="subscriber_email" placeholder="Email Address" required><br/>
|
||||
|
||||
<button class="btn btn-md btn-primary">{{ __('shop::app.subscription.subscribe') }}</button>
|
||||
</div>
|
||||
|
|
@ -61,4 +61,4 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -5,27 +5,32 @@
|
|||
@endforeach
|
||||
|
||||
@if ($products)
|
||||
<div class="attached-products-wrapper mt-50">
|
||||
|
||||
<div class="title">
|
||||
{{ __('shop::app.products.cross-sell-title') }}
|
||||
<span class="border-bottom"></span>
|
||||
</div>
|
||||
@foreach ($products as $product)
|
||||
|
||||
<div class="product-grid-4">
|
||||
@if ($product->cross_sells()->count())
|
||||
|
||||
@foreach ($products as $product)
|
||||
<div class="attached-products-wrapper mt-50">
|
||||
|
||||
@foreach ($product->cross_sells()->paginate(4) as $cross_sell_product)
|
||||
<div class="title">
|
||||
{{ __('shop::app.products.cross-sell-title') }}
|
||||
<span class="border-bottom"></span>
|
||||
</div>
|
||||
|
||||
@include ('shop::products.list.card', ['product' => $cross_sell_product])
|
||||
<div class="product-grid-4">
|
||||
|
||||
@endforeach
|
||||
@foreach ($product->cross_sells()->paginate(4) as $cross_sell_product)
|
||||
|
||||
@endforeach
|
||||
@include ('shop::products.list.card', ['product' => $cross_sell_product])
|
||||
|
||||
</div>
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@endforeach
|
||||
|
||||
</div>
|
||||
@endif
|
||||
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@
|
|||
<i class="icon arrow-up-white-icon"></i>
|
||||
</li>
|
||||
|
||||
<li class="thumb-frame" v-for='(thumb, index) in thumbs' @click="changeImage(thumb)" :class="[thumb.large_image_url == currentLargeImageUrl ? 'active' : '']">
|
||||
<li class="thumb-frame" v-for='(thumb, index) in thumbs' @mouseover="changeImage(thumb)" :class="[thumb.large_image_url == currentLargeImageUrl ? 'active' : '']">
|
||||
<img :src="thumb.small_image_url" />
|
||||
</li>
|
||||
|
||||
|
|
@ -111,5 +111,4 @@
|
|||
});
|
||||
|
||||
</script>
|
||||
|
||||
@endpush
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -1,4 +1,4 @@
|
|||
{
|
||||
"/js/ui.js": "/js/ui.js?id=83b5b520995eba4ce1f3",
|
||||
"/css/ui.css": "/css/ui.css?id=6e9dd13119891a48ec16"
|
||||
}
|
||||
"/js/ui.js": "/js/ui.js?id=0219a3829322d1811a09",
|
||||
"/css/ui.css": "/css/ui.css?id=212dcb4147a9796aee09"
|
||||
}
|
||||
|
|
@ -207,7 +207,9 @@ abstract class DataGrid
|
|||
if ($column['searchable'] == true) {
|
||||
if($this->enableFilterMap && isset($this->filterMap[$column['index']])) {
|
||||
$collection->orWhere($this->filterMap[$column['index']], 'like', '%'.$info['all'].'%');
|
||||
} else {
|
||||
} else if($this->enableFilterMap && !isset($this->filterMap[$column['index']])) {
|
||||
$collection->orWhere($column['index'], 'like', '%'.$info['all'].'%');
|
||||
}else {
|
||||
$collection->orWhere($column['index'], 'like', '%'.$info['all'].'%');
|
||||
}
|
||||
}
|
||||
|
|
@ -215,6 +217,12 @@ abstract class DataGrid
|
|||
});
|
||||
}
|
||||
} else {
|
||||
foreach ($this->completeColumnDetails as $column) {
|
||||
if($column['index'] == $columnName && !$column['filterable']) {
|
||||
return $collection;
|
||||
}
|
||||
}
|
||||
|
||||
if (array_keys($info)[0] == "like" || array_keys($info)[0] == "nlike") {
|
||||
foreach ($info as $condition => $filter_value) {
|
||||
if ($this->enableFilterMap && isset($this->filterMap[$columnName])) {
|
||||
|
|
@ -223,6 +231,12 @@ abstract class DataGrid
|
|||
$this->operators[$condition],
|
||||
'%'.$filter_value.'%'
|
||||
);
|
||||
} else if($this->enableFilterMap && !isset($this->filterMap[$columnName])) {
|
||||
$collection->where(
|
||||
$columnName,
|
||||
$this->operators[$condition],
|
||||
'%'.$filter_value.'%'
|
||||
);
|
||||
} else {
|
||||
$collection->where(
|
||||
$columnName,
|
||||
|
|
@ -240,6 +254,12 @@ abstract class DataGrid
|
|||
$this->operators[$condition],
|
||||
$filter_value
|
||||
);
|
||||
} else if($this->enableFilterMap && !isset($this->filterMap[$columnName])) {
|
||||
$collection->whereDate(
|
||||
$columnName,
|
||||
$this->operators[$condition],
|
||||
$filter_value
|
||||
);
|
||||
} else {
|
||||
$collection->whereDate(
|
||||
$columnName,
|
||||
|
|
@ -254,6 +274,12 @@ abstract class DataGrid
|
|||
$this->operators[$condition],
|
||||
$filter_value
|
||||
);
|
||||
} else if($this->enableFilterMap && !isset($this->filterMap[$columnName])) {
|
||||
$collection->where(
|
||||
$columnName,
|
||||
$this->operators[$condition],
|
||||
$filter_value
|
||||
);
|
||||
} else {
|
||||
$collection->where(
|
||||
$columnName,
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ return [
|
|||
'edit' => 'Do you really want to edit this :resource?',
|
||||
],
|
||||
|
||||
'zero-index' => 'Index columns can have values greater than zero only',
|
||||
'no-records' => 'No Records Found',
|
||||
'filter-fields-missing' => 'Some of the required field is null, please check column, condition and value properly',
|
||||
'click_on_action' => 'Do you really want to perform this action?',
|
||||
|
|
|
|||
|
|
@ -32,9 +32,11 @@
|
|||
<select class="filter-column-select control" v-model="filterColumn" v-on:click="getColumnOrAlias(filterColumn)">
|
||||
<option selected disabled>{{ __('ui::app.datagrid.column') }}</option>
|
||||
@foreach($results['columns'] as $column)
|
||||
<option value="{{ $column['index'] }}">
|
||||
{{ $column['label'] }}
|
||||
</option>
|
||||
@if(isset($column['filterable']) && $column['filterable'])
|
||||
<option value="{{ $column['index'] }}">
|
||||
{{ $column['label'] }}
|
||||
</option>
|
||||
@endif
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
|
@ -338,7 +340,7 @@
|
|||
if (this.filterIndex == this.columnOrAlias && (this.numberValue == 0 || this.numberValue < 0)) {
|
||||
indexConditions = false;
|
||||
|
||||
alert('index columns can have values greater than zero only');
|
||||
alert('{{__('ui::app.datagrid.zero-index')}}');
|
||||
}
|
||||
|
||||
if(indexConditions)
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
$data = array();
|
||||
|
||||
// run command on terminal
|
||||
$command = 'cd ../.. && php artisan migrate';
|
||||
$command = 'cd ../.. && php artisan migrate --force';
|
||||
$last_line = exec($command, $data['migrate'], $data['results']);
|
||||
|
||||
// return a response
|
||||
|
|
|
|||
Loading…
Reference in New Issue