Merge pull request #819 from rahulshukla-webkul/development
Development
This commit is contained in:
commit
72305acff6
|
|
@ -36,41 +36,81 @@ return [
|
|||
'name' => 'admin::app.acl.products',
|
||||
'route' => 'admin.catalog.products.index',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'catalog.products.create',
|
||||
'name' => 'admin::app.acl.create',
|
||||
'route' => 'admin.catalog.products.create',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'catalog.products.edit',
|
||||
'name' => 'admin::app.acl.edit',
|
||||
'route' => 'admin.catalog.products.edit',
|
||||
'sort' => 1
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'catalog.products.delete',
|
||||
'name' => 'admin::app.acl.delete',
|
||||
'route' => 'admin.catalog.products.delete',
|
||||
'sort' => 3
|
||||
], [
|
||||
'key' => 'catalog.categories',
|
||||
'name' => 'admin::app.acl.categories',
|
||||
'route' => 'admin.catalog.categories.index',
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'catalog.categories.create',
|
||||
'name' => 'admin::app.acl.create',
|
||||
'route' => 'admin.catalog.categories.create',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'catalog.categories.edit',
|
||||
'name' => 'admin::app.acl.edit',
|
||||
'route' => 'admin.catalog.categories.edit',
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'catalog.categories.delete',
|
||||
'name' => 'admin::app.acl.delete',
|
||||
'route' => 'admin.catalog.categories.delete',
|
||||
'sort' => 3
|
||||
], [
|
||||
'key' => 'catalog.attributes',
|
||||
'name' => 'admin::app.acl.attributes',
|
||||
'route' => 'admin.catalog.attributes.index',
|
||||
'sort' => 3
|
||||
], [
|
||||
'key' => 'catalog.attributes.create',
|
||||
'name' => 'admin::app.acl.create',
|
||||
'route' => 'admin.catalog.attributes.create',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'catalog.attributes.edit',
|
||||
'name' => 'admin::app.acl.edit',
|
||||
'route' => 'admin.catalog.attributes.edit',
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'catalog.attributes.delete',
|
||||
'name' => 'admin::app.acl.delete',
|
||||
'route' => 'admin.catalog.attributes.delete',
|
||||
'sort' => 3
|
||||
], [
|
||||
'key' => 'catalog.families',
|
||||
'name' => 'admin::app.acl.attribute-families',
|
||||
'route' => 'admin.catalog.families.index',
|
||||
'sort' => 4
|
||||
], [
|
||||
'key' => 'catalog.families.create',
|
||||
'name' => 'admin::app.acl.create',
|
||||
'route' => 'admin.catalog.families.create',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'catalog.families.edit',
|
||||
'name' => 'admin::app.acl.edit',
|
||||
'route' => 'admin.catalog.families.edit',
|
||||
'sort' => 4
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'catalog.families.delete',
|
||||
'name' => 'admin::app.acl.delete',
|
||||
'route' => 'admin.catalog.families.delete',
|
||||
'sort' => 3
|
||||
], [
|
||||
'key' => 'customers',
|
||||
'name' => 'admin::app.acl.customers',
|
||||
|
|
@ -81,21 +121,41 @@ return [
|
|||
'name' => 'admin::app.acl.customers',
|
||||
'route' => 'admin.customer.index',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'customers.customers.create',
|
||||
'name' => 'admin::app.acl.create',
|
||||
'route' => 'admin.customer.create',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'customers.customers.edit',
|
||||
'name' => 'admin::app.acl.edit',
|
||||
'route' => 'admin.customer.edit',
|
||||
'sort' => 1
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'customers.customers.delete',
|
||||
'name' => 'admin::app.acl.delete',
|
||||
'route' => 'admin.customer.delete',
|
||||
'sort' => 3
|
||||
], [
|
||||
'key' => 'customers.groups',
|
||||
'name' => 'admin::app.acl.groups',
|
||||
'route' => 'admin.groups.index',
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'customers.groups.create',
|
||||
'name' => 'admin::app.acl.create',
|
||||
'route' => 'admin.groups.create',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'customers.groups.edit',
|
||||
'name' => 'admin::app.acl.edit',
|
||||
'route' => 'admin.groups.edit',
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'customers.groups.delete',
|
||||
'name' => 'admin::app.acl.delete',
|
||||
'route' => 'admin.groups.delete',
|
||||
'sort' => 3
|
||||
], [
|
||||
'key' => 'customers.reviews',
|
||||
'name' => 'admin::app.acl.reviews',
|
||||
|
|
@ -105,7 +165,12 @@ return [
|
|||
'key' => 'customers.reviews.edit',
|
||||
'name' => 'admin::app.acl.edit',
|
||||
'route' => 'admin.customer.review.edit',
|
||||
'sort' => 3
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'customers.reviews.delete',
|
||||
'name' => 'admin::app.acl.delete',
|
||||
'route' => 'admin.customer.review.delete',
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'configuration',
|
||||
'name' => 'admin::app.acl.configure',
|
||||
|
|
@ -121,51 +186,101 @@ return [
|
|||
'name' => 'admin::app.acl.locales',
|
||||
'route' => 'admin.locales.index',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'settings.locales.create',
|
||||
'name' => 'admin::app.acl.create',
|
||||
'route' => 'admin.locales.create',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'settings.locales.edit',
|
||||
'name' => 'admin::app.acl.edit',
|
||||
'route' => 'admin.locales.edit',
|
||||
'sort' => 1
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'settings.locales.delete',
|
||||
'name' => 'admin::app.acl.delete',
|
||||
'route' => 'admin.locales.delete',
|
||||
'sort' => 3
|
||||
], [
|
||||
'key' => 'settings.currencies',
|
||||
'name' => 'admin::app.acl.currencies',
|
||||
'route' => 'admin.currencies.index',
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'settings.currencies.create',
|
||||
'name' => 'admin::app.acl.create',
|
||||
'route' => 'admin.currencies.create',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'settings.currencies.edit',
|
||||
'name' => 'admin::app.acl.edit',
|
||||
'route' => 'admin.currencies.edit',
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'settings.currencies.delete',
|
||||
'name' => 'admin::app.acl.delete',
|
||||
'route' => 'admin.currencies.delete',
|
||||
'sort' => 3
|
||||
], [
|
||||
'key' => 'settings.exchange_rates',
|
||||
'name' => 'admin::app.acl.exchange-rates',
|
||||
'route' => 'admin.exchange_rates.index',
|
||||
'sort' => 3
|
||||
], [
|
||||
'key' => 'settings.exchange_rates.create',
|
||||
'name' => 'admin::app.acl.create',
|
||||
'route' => 'admin.exchange_rates.create',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'settings.exchange_rates.edit',
|
||||
'name' => 'admin::app.acl.edit',
|
||||
'route' => 'admin.exchange_rates.edit',
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'settings.exchange_rates.delete',
|
||||
'name' => 'admin::app.acl.delete',
|
||||
'route' => 'admin.exchange_rates.delete',
|
||||
'sort' => 3
|
||||
], [
|
||||
'key' => 'settings.inventory_sources',
|
||||
'name' => 'admin::app.acl.inventory-sources',
|
||||
'route' => 'admin.inventory_sources.index',
|
||||
'sort' => 4
|
||||
], [
|
||||
'key' => 'settings.inventory_sources.create',
|
||||
'name' => 'admin::app.acl.create',
|
||||
'route' => 'admin.inventory_sources.create',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'settings.inventory_sources.edit',
|
||||
'name' => 'admin::app.acl.edit',
|
||||
'route' => 'admin.inventory_sources.edit',
|
||||
'sort' => 4
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'settings.inventory_sources.delete',
|
||||
'name' => 'admin::app.acl.delete',
|
||||
'route' => 'admin.inventory_sources.delete',
|
||||
'sort' => 3
|
||||
], [
|
||||
'key' => 'settings.channels',
|
||||
'name' => 'admin::app.acl.channels',
|
||||
'route' => 'admin.channels.index',
|
||||
'sort' => 5
|
||||
], [
|
||||
'key' => 'settings.channels.create',
|
||||
'name' => 'admin::app.acl.create',
|
||||
'route' => 'admin.channels.create',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'settings.channels.edit',
|
||||
'name' => 'admin::app.acl.edit',
|
||||
'route' => 'admin.channels.edit',
|
||||
'sort' => 5
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'settings.channels.delete',
|
||||
'name' => 'admin::app.acl.delete',
|
||||
'route' => 'admin.channels.delete',
|
||||
'sort' => 3
|
||||
], [
|
||||
'key' => 'settings.users',
|
||||
'name' => 'admin::app.acl.users',
|
||||
|
|
@ -176,31 +291,61 @@ return [
|
|||
'name' => 'admin::app.acl.users',
|
||||
'route' => 'admin.users.index',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'settings.users.users.create',
|
||||
'name' => 'admin::app.acl.create',
|
||||
'route' => 'admin.users.create',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'settings.users.users.edit',
|
||||
'name' => 'admin::app.acl.edit',
|
||||
'route' => 'admin.users.edit',
|
||||
'sort' => 1
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'settings.users.users.delete',
|
||||
'name' => 'admin::app.acl.delete',
|
||||
'route' => 'admin.users.delete',
|
||||
'sort' => 3
|
||||
], [
|
||||
'key' => 'settings.users.roles',
|
||||
'name' => 'admin::app.acl.roles',
|
||||
'route' => 'admin.roles.index',
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'settings.users.roles.create',
|
||||
'name' => 'admin::app.acl.create',
|
||||
'route' => 'admin.roles.create',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'settings.users.roles.edit',
|
||||
'name' => 'admin::app.acl.edit',
|
||||
'route' => 'admin.roles.edit',
|
||||
'sort' => 1
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'settings.users.roles.delete',
|
||||
'name' => 'admin::app.acl.delete',
|
||||
'route' => 'admin.roles.delete',
|
||||
'sort' => 3
|
||||
], [
|
||||
'key' => 'settings.sliders',
|
||||
'name' => 'admin::app.acl.sliders',
|
||||
'route' => 'admin.sliders.index',
|
||||
'sort' => 7
|
||||
], [
|
||||
'key' => 'settings.sliders.create',
|
||||
'name' => 'admin::app.acl.create',
|
||||
'route' => 'admin.sliders.create',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'settings.sliders.edit',
|
||||
'name' => 'admin::app.acl.edit',
|
||||
'route' => 'admin.sliders.edit',
|
||||
'sort' => 1
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'settings.sliders.delete',
|
||||
'name' => 'admin::app.acl.delete',
|
||||
'route' => 'admin.sliders.delete',
|
||||
'sort' => 3
|
||||
], [
|
||||
'key' => 'settings.taxes',
|
||||
'name' => 'admin::app.acl.taxes',
|
||||
|
|
@ -211,21 +356,41 @@ return [
|
|||
'name' => 'admin::app.acl.tax-categories',
|
||||
'route' => 'admin.tax-categories.index',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'settings.taxes.tax-categories.create',
|
||||
'name' => 'admin::app.acl.create',
|
||||
'route' => 'admin.tax-categories.create',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'settings.taxes.tax-categories.edit',
|
||||
'name' => 'admin::app.acl.edit',
|
||||
'route' => 'admin.tax-categories.edit',
|
||||
'sort' => 1
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'settings.taxes.tax-categories.delete',
|
||||
'name' => 'admin::app.acl.delete',
|
||||
'route' => 'admin.tax-categories.delete',
|
||||
'sort' => 3
|
||||
], [
|
||||
'key' => 'settings.taxes.tax-rates',
|
||||
'name' => 'admin::app.acl.tax-rates',
|
||||
'route' => 'admin.tax-rates.index',
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'settings.taxes.tax-rates.create',
|
||||
'name' => 'admin::app.acl.create',
|
||||
'route' => 'admin.tax-rates.create',
|
||||
'sort' => 1
|
||||
], [
|
||||
'key' => 'settings.taxes.tax-rates.edit',
|
||||
'name' => 'admin::app.acl.edit',
|
||||
'route' => 'admin.tax-rates.edit',
|
||||
'sort' => 1
|
||||
'sort' => 2
|
||||
], [
|
||||
'key' => 'settings.taxes.tax-rates.delete',
|
||||
'name' => 'admin::app.acl.delete',
|
||||
'route' => 'admin.tax-rates.delete',
|
||||
'sort' => 3
|
||||
]
|
||||
];
|
||||
|
||||
|
|
|
|||
|
|
@ -69,6 +69,8 @@ return [
|
|||
'tax-categories' => 'فئات الضرائب',
|
||||
'tax-rates' => 'المعدلات الضريبية',
|
||||
'edit' => 'Edit',
|
||||
'create' => 'Add',
|
||||
'delete' => 'Delete',
|
||||
],
|
||||
'dashboard' => [
|
||||
'title' => 'لوحة العدادات',
|
||||
|
|
|
|||
|
|
@ -71,6 +71,8 @@ return [
|
|||
'tax-categories' => 'Tax Categories',
|
||||
'tax-rates' => 'Tax Rates',
|
||||
'edit' => 'Edit',
|
||||
'create' => 'Add',
|
||||
'delete' => 'Delete',
|
||||
],
|
||||
|
||||
'dashboard' => [
|
||||
|
|
|
|||
|
|
@ -71,6 +71,8 @@ return [
|
|||
'tax-categories' => 'Categorias de Impostos',
|
||||
'tax-rates' => 'Impostos de Impostos',
|
||||
'edit' => 'Edit',
|
||||
'create' => 'Add',
|
||||
'delete' => 'Delete',
|
||||
],
|
||||
|
||||
'dashboard' => [
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
<select v-validate="'{{$validations}}'" class="control" id="{{ $attribute->code }}" name="{{ $attribute->code }}[]" data-vv-as=""{{ $attribute->admin_name }}"" multiple {{ $disabled ? 'disabled' : '' }}>
|
||||
|
||||
@foreach ($attribute->options as $option)
|
||||
<option value="{{ $option->id }}" {{ in_array($option->id, explode(',', $attribute[$attribute->code])) ? 'selected' : ''}}>
|
||||
<option value="{{ $option->id }}" {{ in_array($option->id, explode(',', $product[$attribute->code])) ? 'selected' : ''}}>
|
||||
{{ $option->admin_name }}
|
||||
</option>
|
||||
@endforeach
|
||||
|
|
|
|||
|
|
@ -83,38 +83,42 @@ class ProductForm extends FormRequest
|
|||
$attributes = $product->attribute_family->custom_attributes;
|
||||
|
||||
foreach ($attributes as $attribute) {
|
||||
if ($attribute->code == 'sku')
|
||||
continue;
|
||||
if (! $product->super_attributes->contains($attribute)) {
|
||||
if ($attribute->code == 'sku') {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($product->type == 'configurable' && in_array($attribute->code, ['price', 'cost', 'special_price', 'special_price_from', 'special_price_to', 'width', 'height', 'depth', 'weight']))
|
||||
continue;
|
||||
if ($product->type == 'configurable' && in_array($attribute->code, ['price', 'cost', 'special_price', 'special_price_from', 'special_price_to', 'width', 'height', 'depth', 'weight'])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$validations = [];
|
||||
if ($attribute->is_required) {
|
||||
array_push($validations, 'required');
|
||||
} else {
|
||||
array_push($validations, 'nullable');
|
||||
$validations = [];
|
||||
if ($attribute->is_required) {
|
||||
array_push($validations, 'required');
|
||||
} else {
|
||||
array_push($validations, 'nullable');
|
||||
}
|
||||
|
||||
if ($attribute->type == 'text' && $attribute->validation) {
|
||||
array_push($validations, $attribute->validation);
|
||||
}
|
||||
|
||||
if ($attribute->type == 'price') {
|
||||
array_push($validations, 'decimal');
|
||||
}
|
||||
|
||||
if ($attribute->is_unique) {
|
||||
array_push($validations, function ($field, $value, $fail) use ($inputs, $attribute) {
|
||||
$column = ProductAttributeValue::$attributeTypeFields[$attribute->type];
|
||||
|
||||
if (!$this->attributeValue->isValueUnique($this->id, $attribute->id, $column, $inputs[$attribute->code])) {
|
||||
$fail('The :attribute has already been taken.');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$this->rules[$attribute->code] = $validations;
|
||||
}
|
||||
|
||||
if ($attribute->type == 'text' && $attribute->validation) {
|
||||
array_push($validations, $attribute->validation);
|
||||
}
|
||||
|
||||
if ($attribute->type == 'price') {
|
||||
array_push($validations, 'decimal');
|
||||
}
|
||||
|
||||
if ($attribute->is_unique) {
|
||||
array_push($validations, function ($field, $value, $fail) use ($inputs, $attribute) {
|
||||
$column = ProductAttributeValue::$attributeTypeFields[$attribute->type];
|
||||
|
||||
if (!$this->attributeValue->isValueUnique($this->id, $attribute->id, $column, $inputs[$attribute->code])) {
|
||||
$fail('The :attribute has already been taken.');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
$this->rules[$attribute->code] = $validations;
|
||||
}
|
||||
|
||||
return $this->rules;
|
||||
|
|
|
|||
|
|
@ -1090,6 +1090,7 @@ section.slider-block {
|
|||
.nav > li {
|
||||
float: left;
|
||||
margin-right: 1px;
|
||||
height: 45px;
|
||||
}
|
||||
|
||||
.nav > li > a {
|
||||
|
|
@ -3487,6 +3488,10 @@ section.review {
|
|||
}
|
||||
}
|
||||
|
||||
.show-wishlist {
|
||||
z-index: -1 !important;
|
||||
}
|
||||
|
||||
/// rtl css start here
|
||||
.rtl {
|
||||
direction: rtl;
|
||||
|
|
|
|||
|
|
@ -161,13 +161,15 @@
|
|||
});
|
||||
|
||||
$(document).mousemove(function(event) {
|
||||
if ( (event.pageX - $('.product-hero-image').offset().left > 440 ) && (event.pageX - $('.product-hero-image').offset().left < 465) && (event.pageY - $('.product-hero-image').offset().top > 16) && (event.pageY - $('.product-hero-image').offset().top < 38)) {
|
||||
if ($('.add-to-wishlist').length) {
|
||||
if (event.pageX > $('.add-to-wishlist').offset().left && event.pageX < $('.add-to-wishlist').offset().left+32 && event.pageY > $('.add-to-wishlist').offset().top && event.pageY < $('.add-to-wishlist').offset().top+32) {
|
||||
|
||||
$('.zoomContainer').attr('style', 'z-index: -1 !important');
|
||||
$(".zoomContainer").addClass("show-wishlist");
|
||||
|
||||
} else {
|
||||
$('.zoomContainer').css({"position": "absolute", "z-index": "999" });
|
||||
}
|
||||
} else {
|
||||
$(".zoomContainer").removeClass("show-wishlist");
|
||||
}
|
||||
};
|
||||
});
|
||||
})
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -182,7 +182,7 @@ class TaxCategoryController extends Controller
|
|||
|
||||
Event::fire('tax.tax_category.delete.after', $id);
|
||||
|
||||
session()->flash('success', trans('admin::app.response.delete-failed', ['name' => 'Tax Category']));
|
||||
session()->flash('success', trans('admin::app.response.delete-success', ['name' => 'Tax Category']));
|
||||
|
||||
return response()->json(['message' => true], 200);
|
||||
} catch(Exception $e) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue