From ff50784aa82380af2acf8df3dda474169848db86 Mon Sep 17 00:00:00 2001 From: jitendra Date: Thu, 9 Aug 2018 10:05:13 +0530 Subject: [PATCH] Added product creation page --- .../src/Providers/EventServiceProvider.php | 10 +- .../Admin/src/Resources/assets/js/app.js | 14 +- .../assets/js/components/datetime.1.vue | 53 --- .../Admin/src/Resources/assets/sass/app.scss | 11 + .../Admin/src/Resources/lang/en/app.php | 18 +- .../views/catalog/attributes/create.blade.php | 6 +- .../views/catalog/attributes/edit.blade.php | 7 +- .../views/catalog/categories/edit.blade.php | 2 +- .../views/catalog/families/create.blade.php | 54 +-- .../views/catalog/families/edit.blade.php | 54 +-- .../products/accordians/categories.blade.php | 7 +- .../products/accordians/images.blade.php | 7 + .../products/accordians/inventories.blade.php | 29 ++ .../accordians/product-links.blade.php | 6 + .../products/accordians/variations.blade.php | 347 ++++++++++++++++++ .../views/catalog/products/create.blade.php | 4 + .../views/catalog/products/edit.blade.php | 95 ++++- .../products/field-types/boolean.blade.php | 24 +- .../products/field-types/date.blade.php | 14 +- .../products/field-types/datetime.blade.php | 14 +- .../field-types/multiselect.blade.php | 22 +- .../products/field-types/price.blade.php | 10 +- .../products/field-types/select.blade.php | 22 +- .../products/field-types/text.blade.php | 10 +- .../products/field-types/textarea.blade.php | 12 +- .../views/settings/channels/create.blade.php | 6 +- .../views/settings/channels/edit.blade.php | 6 +- .../views/settings/countries/create.blade.php | 2 +- .../settings/currencies/create.blade.php | 2 +- .../views/settings/currencies/edit.blade.php | 2 +- .../inventory_sources/create.blade.php | 2 +- .../settings/inventory_sources/edit.blade.php | 2 +- .../views/settings/locales/create.blade.php | 2 +- .../Seeders/AttributeFamilyTableSeeder.php | 5 +- .../Database/Seeders/AttributeTableSeeder.php | 58 +-- .../Http/Controllers/AttributeController.php | 4 +- .../Controllers/AttributeFamilyController.php | 16 +- .../Attribute/src/Models/AttributeFamily.php | 8 +- .../Attribute/src/Models/AttributeGroup.php | 2 +- .../Attribute/src/Models/AttributeOption.php | 2 +- .../AttributeFamilyRepository.php | 26 +- .../src/Repositories/AttributeRepository.php | 2 +- .../Http/Controllers/CategoryController.php | 2 +- .../src/Repositories/CategoryRepository.php | 2 +- packages/Webkul/Channel/src/Channel.php | 20 +- .../Core/src/Contracts/Validations/Code.php | 2 +- packages/Webkul/Core/src/Core.php | 2 +- .../Webkul/Core/src/Eloquent/Repository.php | 22 ++ ..._110040_create_inventory_sources_table.php | 4 +- ...018_07_27_065727_create_products_table.php | 7 - ..._create_product_attribute_values_table.php | 5 +- ...13956_create_product_inventories_table.php | 35 ++ .../Http/Controllers/ProductController.php | 47 ++- .../Product/src/Http/Requests/ProductForm.php | 118 ++++++ .../Webkul/Product/src/Models/Product.php | 130 +++++-- .../src/Models/ProductAttributeValue.php | 15 + .../Product/src/Models/ProductImage.php | 21 ++ .../Product/src/Models/ProductInventory.php | 12 + .../ProductAttributeValueRepository.php | 40 +- .../ProductInventoryRepository.php | 65 ++++ .../src/Repositories/ProductRepository.php | 253 ++++++++++++- .../Webkul/Ui/src/Resources/assets/js/app.js | 4 + .../assets/js/components/accordian.vue | 2 + .../assets/js/components/image/image-item.vue | 47 +++ .../js/components/image/image-wrapper.vue | 46 +++ .../js/components/tree-view/tree-checkbox.vue | 2 +- .../js/components/tree-view/tree-item.vue | 88 +++-- .../js/components/tree-view/tree-view.vue | 9 +- .../Resources/assets/js/directives/code.vue | 16 + .../assets/js/directives/slugify.vue | 16 + .../src/Resources/assets/sass/_variables.scss | 1 + .../Ui/src/Resources/assets/sass/app.scss | 35 +- .../Ui/src/Resources/assets/sass/icons.scss | 4 +- .../src/Providers/UserServiceProvider.php | 4 - 74 files changed, 1648 insertions(+), 427 deletions(-) delete mode 100644 packages/Webkul/Admin/src/Resources/assets/js/components/datetime.1.vue create mode 100644 packages/Webkul/Admin/src/Resources/views/catalog/products/accordians/images.blade.php create mode 100644 packages/Webkul/Admin/src/Resources/views/catalog/products/accordians/inventories.blade.php create mode 100644 packages/Webkul/Admin/src/Resources/views/catalog/products/accordians/product-links.blade.php create mode 100644 packages/Webkul/Admin/src/Resources/views/catalog/products/accordians/variations.blade.php create mode 100644 packages/Webkul/Product/src/Database/Migrations/2018_07_27_113956_create_product_inventories_table.php create mode 100644 packages/Webkul/Product/src/Http/Requests/ProductForm.php create mode 100644 packages/Webkul/Product/src/Models/ProductImage.php create mode 100644 packages/Webkul/Product/src/Models/ProductInventory.php create mode 100644 packages/Webkul/Product/src/Repositories/ProductInventoryRepository.php create mode 100644 packages/Webkul/Ui/src/Resources/assets/js/components/image/image-item.vue create mode 100644 packages/Webkul/Ui/src/Resources/assets/js/components/image/image-wrapper.vue create mode 100644 packages/Webkul/Ui/src/Resources/assets/js/directives/code.vue create mode 100644 packages/Webkul/Ui/src/Resources/assets/js/directives/slugify.vue diff --git a/packages/Webkul/Admin/src/Providers/EventServiceProvider.php b/packages/Webkul/Admin/src/Providers/EventServiceProvider.php index eb09fd1ca..af035c347 100644 --- a/packages/Webkul/Admin/src/Providers/EventServiceProvider.php +++ b/packages/Webkul/Admin/src/Providers/EventServiceProvider.php @@ -128,7 +128,15 @@ class EventServiceProvider extends ServiceProvider }); Event::listen('admin.catalog.products.accordian.build', function($accordian) { - $accordian->add('categories', 'Categories', 'admin::catalog.products.accordians.categories', 1); + $accordian->add('images', 'Inventories', 'admin::catalog.products.accordians.inventories', 1); + + $accordian->add('images', 'Images', 'admin::catalog.products.accordians.images', 2); + + $accordian->add('categories', 'Categories', 'admin::catalog.products.accordians.categories', 3); + + $accordian->add('variations', 'Variations', 'admin::catalog.products.accordians.variations', 4); + + // $accordian->add('product-links', 'Linked Products', 'admin::catalog.products.accordians.product-links', 4); }); } } diff --git a/packages/Webkul/Admin/src/Resources/assets/js/app.js b/packages/Webkul/Admin/src/Resources/assets/js/app.js index b248773a1..d195b7ee7 100644 --- a/packages/Webkul/Admin/src/Resources/assets/js/app.js +++ b/packages/Webkul/Admin/src/Resources/assets/js/app.js @@ -39,10 +39,16 @@ $(document).ready(function () { addServerErrors() { var scope = null; for (var key in serverErrors) { - var inputName = key; - if (key.indexOf(".") !== -1) { - inputName = key.replace(".", "[") + "]"; - } + var inputNames = []; + key.split('.').forEach(function(chunk, index) { + if(index) { + inputNames.push('[' + chunk + ']') + } else { + inputNames.push(chunk) + } + }) + + var inputName = inputNames.join(''); const field = this.$validator.fields.find({ name: inputName, diff --git a/packages/Webkul/Admin/src/Resources/assets/js/components/datetime.1.vue b/packages/Webkul/Admin/src/Resources/assets/js/components/datetime.1.vue deleted file mode 100644 index b86b30f34..000000000 --- a/packages/Webkul/Admin/src/Resources/assets/js/components/datetime.1.vue +++ /dev/null @@ -1,53 +0,0 @@ - - - \ No newline at end of file diff --git a/packages/Webkul/Admin/src/Resources/assets/sass/app.scss b/packages/Webkul/Admin/src/Resources/assets/sass/app.scss index 5c2dde827..2235e587f 100644 --- a/packages/Webkul/Admin/src/Resources/assets/sass/app.scss +++ b/packages/Webkul/Admin/src/Resources/assets/sass/app.scss @@ -202,6 +202,17 @@ body { } } +.control-group { + label { + width: 70%; + + .locale { + float: right; + color: #8E8E8E; + } + } +} + //style for dummy datagrid // .page-content { // .table-container { diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php index b5f7f76ec..8aa28cefd 100644 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -40,6 +40,7 @@ return [ 'all' => 'All' ], 'users' => [ + 'title' => 'Users', 'add-user-title' => 'Add User', 'edit-user-title' => 'Edit User', 'save-btn-title' => 'Save User', @@ -64,7 +65,7 @@ return [ ], 'catalog' => [ 'products' => [ - 'products' => 'products', + 'products' => 'Products', 'add-product-btn-title' => 'Add Product', 'add-title' => 'Add Product', 'edit-title' => 'Edit Product', @@ -79,7 +80,20 @@ return [ 'attribute-header' => 'Attribute(s)', 'attribute-option-header' => 'Attribute Option(s)', 'no' => 'No', - 'yes' => 'Yes' + 'yes' => 'Yes', + 'disabled' => 'Disabled', + 'enabled' => 'Enabled', + 'add-variant-btn-title' => 'Add Variant', + 'name' => 'Name', + 'qty' => 'Qty', + 'price' => 'Price', + 'weight' => 'Weight', + 'status' => 'Status', + 'enabled' => 'Enabled', + 'disabled' => 'Disabled', + 'add-variant-title' => 'Add Variant', + 'variant-already-exist-message' => 'Variant with same attribute options already exists.', + 'add-image-btn-title' => 'Add Image' ], 'attributes' => [ 'add-title' => 'Add Attribute', diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/attributes/create.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/attributes/create.blade.php index 99b9b27c5..3e64fc41f 100644 --- a/packages/Webkul/Admin/src/Resources/views/catalog/attributes/create.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/attributes/create.blade.php @@ -29,7 +29,7 @@
- + @{{ errors.first('code') }}
@@ -131,13 +131,13 @@
-
+
diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/attributes/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/attributes/edit.blade.php index 1feb24ea3..8cab79962 100644 --- a/packages/Webkul/Admin/src/Resources/views/catalog/attributes/edit.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/attributes/edit.blade.php @@ -4,7 +4,6 @@ {{ __('admin::app.catalog.attributes.edit-title') }} @stop - @section('content')
@@ -30,7 +29,7 @@
- + @{{ errors.first('code') }}
@@ -175,7 +174,7 @@
-
+
diff --git a/packages/Webkul/Admin/src/Resources/views/catalog/categories/edit.blade.php b/packages/Webkul/Admin/src/Resources/views/catalog/categories/edit.blade.php index c3a935e20..489c50210 100644 --- a/packages/Webkul/Admin/src/Resources/views/catalog/categories/edit.blade.php +++ b/packages/Webkul/Admin/src/Resources/views/catalog/categories/edit.blade.php @@ -16,7 +16,7 @@
+ @{{ errors.first('code') }}
@@ -101,7 +101,7 @@ @@ -118,7 +118,7 @@ -
+
@@ -130,9 +130,9 @@ - + @@ -156,7 +156,7 @@
- + @{{ attribute.code }} @{{ attribute.admin_name }}
@@ -130,9 +130,9 @@ - + @@ -156,7 +156,7 @@
- + @{{ attribute.code }} @{{ attribute.admin_name }}