diff --git a/config/auth.php b/config/auth.php index 90efd519a..e9909741d 100644 --- a/config/auth.php +++ b/config/auth.php @@ -53,7 +53,7 @@ return [ ], 'customers' => [ 'provider' => 'customers', - 'table' => 'customers_password_resets', + 'table' => 'customer_password_resets', 'expire' => 60, ], ], diff --git a/packages/Webkul/Admin/src/Config/auth.php b/packages/Webkul/Admin/src/Config/auth.php index 21c43f718..021b99787 100644 --- a/packages/Webkul/Admin/src/Config/auth.php +++ b/packages/Webkul/Admin/src/Config/auth.php @@ -54,7 +54,7 @@ return [ ], 'customers' => [ 'provider' => 'customers', - 'table' => 'customers_password_resets', + 'table' => 'customer_password_resets', 'expire' => 60, ], ], diff --git a/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php b/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php index 98e8568f5..7108b1f69 100644 --- a/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/CustomerDataGrid.php @@ -79,7 +79,7 @@ class CustomerDataGrid 'name' => 'email', 'alias' => 'Email', 'type' => 'string', - 'label' => 'E-Mail', + 'label' => 'Email', 'sortable' => false, ], [ @@ -127,7 +127,7 @@ class CustomerDataGrid [ 'column' => 'email', 'type' => 'string', - 'label' => 'E-Mail', + 'label' => 'Email', ], ], diff --git a/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php b/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php index 0543693aa..bb42e8bba 100644 --- a/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php +++ b/packages/Webkul/Admin/src/DataGrids/UserDataGrid.php @@ -101,7 +101,7 @@ class UserDataGrid 'name' => 'u.email', 'alias' => 'Email', 'type' => 'string', - 'label' => 'E-Mail', + 'label' => 'Email', 'sortable' => true, ], [ @@ -134,7 +134,7 @@ class UserDataGrid [ 'column' => 'u.email', 'type' => 'string', - 'label' => 'E-Mail' + 'label' => 'Email' ], [ 'column' => 'u.name', 'type' => 'string', diff --git a/packages/Webkul/Admin/src/Database/Seeders/DatabaseSeeder.php b/packages/Webkul/Admin/src/Database/Seeders/DatabaseSeeder.php index d865fcf1e..a0015124a 100644 --- a/packages/Webkul/Admin/src/Database/Seeders/DatabaseSeeder.php +++ b/packages/Webkul/Admin/src/Database/Seeders/DatabaseSeeder.php @@ -6,6 +6,8 @@ use Illuminate\Database\Seeder; use Webkul\Attribute\Database\Seeders\DatabaseSeeder as AttributeSeeder; use Webkul\Core\Database\Seeders\DatabaseSeeder as CoreSeeder; use Webkul\User\Database\Seeders\DatabaseSeeder as UserSeeder; +use Webkul\Customer\Database\Seeders\DatabaseSeeder as CustomerSeeder; +use Webkul\Inventory\Database\Seeders\DatabaseSeeder as InventorySeeder; class DatabaseSeeder extends Seeder { @@ -16,8 +18,10 @@ class DatabaseSeeder extends Seeder */ public function run() { - $this->call(AttributeSeeder::class); $this->call(CoreSeeder::class); + $this->call(InventorySeeder::class); + $this->call(AttributeSeeder::class); $this->call(UserSeeder::class); + $this->call(CustomerSeeder::class); } } diff --git a/packages/Webkul/Admin/src/Exceptions/Handler.php b/packages/Webkul/Admin/src/Exceptions/Handler.php index e1c2a92ea..2329e6c60 100644 --- a/packages/Webkul/Admin/src/Exceptions/Handler.php +++ b/packages/Webkul/Admin/src/Exceptions/Handler.php @@ -22,37 +22,20 @@ class Handler extends ExceptionHandler */ public function render($request, Exception $exception) { + if ($exception instanceof HttpException) { $statusCode = $exception->getStatusCode(); if (strpos($_SERVER['REQUEST_URI'], 'admin') !== false) { - switch ($statusCode) { - case 404: - return response()->view('admin::errors.404', [], 404); - break; - case 403: - return response()->view('admin::errors.403', [], 403); - break; - case 401: - return response()->view('admin::errors.401', [], 401); - break; - default: - return response()->view('admin::errors.500', [], 500); - } + return response(view('admin::errors.'.$statusCode, [ + 'msg' => $exception->getMessage(), + 'code' => $statusCode + ]), $statusCode); } else { - switch ($statusCode) { - case 404: - return response()->view('shop::errors.404', [], 404); - break; - case 403: - return response()->view('shop::errors.403', [], 403); - break; - case 401: - return response()->view('shop::errors.401', [], 401); - break; - default: - return response()->view('shop::errors.500', [], 500); - } + return response(view('shop::errors.'.$statusCode, [ + 'msg' => $exception->getMessage(), + 'code' => $statusCode + ]), $statusCode); } } else if ($exception instanceof ModelNotFoundException) { diff --git a/packages/Webkul/Admin/src/Http/Controllers/DataGridController.php b/packages/Webkul/Admin/src/Http/Controllers/DataGridController.php index de3fa9e8d..d0aa132f3 100644 --- a/packages/Webkul/Admin/src/Http/Controllers/DataGridController.php +++ b/packages/Webkul/Admin/src/Http/Controllers/DataGridController.php @@ -37,7 +37,7 @@ class DataGridController extends Controller ], [ 'column' => 'u.email', 'type' => 'string', - 'label' => 'Admin E-Mail', + 'label' => 'Admin Email', ], [ 'column' => 'u.name', 'type' => 'string', @@ -76,7 +76,7 @@ class DataGridController extends Controller [ 'name' => 'u.email', 'type' => 'string', - 'label' => 'Admin E-Mail', + 'label' => 'Admin Email', 'sortable' => true, 'filterable' => true ], diff --git a/packages/Webkul/Admin/src/Http/routes.php b/packages/Webkul/Admin/src/Http/routes.php index 15ca6dacc..8c9f69bb8 100644 --- a/packages/Webkul/Admin/src/Http/routes.php +++ b/packages/Webkul/Admin/src/Http/routes.php @@ -21,7 +21,6 @@ Route::group(['middleware' => ['web']], function () { Route::post('/forget-password', 'Webkul\User\Http\Controllers\ForgetPasswordController@store')->name('admin.forget-password.store'); - // Reset Password Routes Route::get('/reset-password/{token}', 'Webkul\User\Http\Controllers\ResetPasswordController@create')->defaults('_config', [ 'view' => 'admin::users.reset-password.create' diff --git a/packages/Webkul/Admin/src/Resources/lang/en/app.php b/packages/Webkul/Admin/src/Resources/lang/en/app.php index 6c5b4599a..0c6ab60f1 100644 --- a/packages/Webkul/Admin/src/Resources/lang/en/app.php +++ b/packages/Webkul/Admin/src/Resources/lang/en/app.php @@ -458,48 +458,6 @@ return [ 'comment' => 'Comment' ] ], - 'mail' => [ - 'order' => [ - 'subject' => 'New Order Confirmation', - 'heading' => 'Order Confirmation!', - 'dear' => 'Dear :customer_name', - 'greeting' => 'Thanks for your Order :order_id placed on :created_at', - 'summary' => 'Summary of Order', - 'shipping-address' => 'Shipping Address', - 'billing-address' => 'Billing Address', - 'contact' => 'Contact', - 'shipping' => 'Shipping', - 'payment' => 'Payment', - 'price' => 'Price', - 'quantity' => 'Quantity', - 'subtotal' => 'Subtotal', - 'shipping-handling' => 'Shipping & Handling', - 'tax' => 'Tax', - 'grand-total' => 'Grand Total', - 'final-summary' => 'Thanks for showing your intrest in our store. we will send you track number once it shiped.', - 'help' => 'If you need any kind of help please contact us at :support_email', - 'thanks' => 'Thanks!' - ], - 'invoice' => [ - 'heading' => 'Your Invoice #:invoice_id for Order #:order_id', - 'subject' => 'Invoice for your order #:order_id', - 'summary' => 'Summary of Invoice', - ], - 'shipment' => [ - 'heading' => 'Your Shipment #:shipment_id for Order #:order_id', - 'subject' => 'Shipment for your order #:order_id', - 'summary' => 'Summary of Shipment', - 'carrier' => 'Carrier', - 'tracking-number' => 'Tracking Number' - ], - 'forget-password' => [ - 'dear' => 'Dear :name', - 'info' => 'You are receiving this email because we received a password reset request for your account.', - 'reset-password' => 'Reset Password', - 'final-summary' => 'If you did not request a password reset, no further action is required.', - 'thanks' => 'Thanks!' - ] - ], 'error' => [ 'go-to-home' => 'GO TO HOME', diff --git a/packages/Webkul/Checkout/src/Cart.php b/packages/Webkul/Checkout/src/Cart.php index 0f1761bdb..9fa624860 100644 --- a/packages/Webkul/Checkout/src/Cart.php +++ b/packages/Webkul/Checkout/src/Cart.php @@ -236,8 +236,6 @@ class Cart { 'base_total' => $parentPrice * ($prevQty + $newQty) ]); - $this->collectTotals(); - session()->flash('success', trans('shop::app.checkout.cart.quantity.success')); return true; diff --git a/packages/Webkul/Core/src/Database/Migrations/2018_07_20_064849_create_channels_table.php b/packages/Webkul/Core/src/Database/Migrations/2018_07_20_064849_create_channels_table.php index 5f1add3d5..1d3cd323b 100644 --- a/packages/Webkul/Core/src/Database/Migrations/2018_07_20_064849_create_channels_table.php +++ b/packages/Webkul/Core/src/Database/Migrations/2018_07_20_064849_create_channels_table.php @@ -20,6 +20,7 @@ class CreateChannelsTable extends Migration $table->text('description')->nullable(); $table->string('timezone')->nullable(); $table->string('theme')->nullable(); + $table->string('hostname')->nullable(); $table->string('logo')->nullable(); $table->string('favicon')->nullable(); $table->integer('default_locale_id')->unsigned(); @@ -57,4 +58,4 @@ class CreateChannelsTable extends Migration Schema::dropIfExists('channel_currencies'); } -} +} \ No newline at end of file diff --git a/packages/Webkul/Core/src/Database/Seeders/ChannelTableSeeder.php b/packages/Webkul/Core/src/Database/Seeders/ChannelTableSeeder.php new file mode 100644 index 000000000..d79d4b399 --- /dev/null +++ b/packages/Webkul/Core/src/Database/Seeders/ChannelTableSeeder.php @@ -0,0 +1,32 @@ +delete(); + + DB::table('channels')->insert([ + 'id' => 1, + 'code' => 'default', + 'name' => 'Default', + 'default_locale_id' => 1, + 'base_currency_id' => 1 + ]); + + DB::table('channel_currencies')->insert([ + 'channel_id' => 1, + 'currency_id' => 1, + ]); + + DB::table('channel_locales')->insert([ + 'channel_id' => 1, + 'locale_id' => 1, + ]); + } +} \ No newline at end of file diff --git a/packages/Webkul/Core/src/Database/Seeders/CurrencyTableSeeder..php b/packages/Webkul/Core/src/Database/Seeders/CurrencyTableSeeder..php index 9027e2dd5..0fbba8c4d 100644 --- a/packages/Webkul/Core/src/Database/Seeders/CurrencyTableSeeder..php +++ b/packages/Webkul/Core/src/Database/Seeders/CurrencyTableSeeder..php @@ -12,9 +12,9 @@ class CurrencyTableSeeder extends Seeder DB::table('currencies')->delete(); DB::table('currencies')->insert([ + 'id' => 1, 'code' => 'USD', - 'name' => 'US Dollar', - 'symbol' => '$', + 'name' => 'US Dollar' ]); } } \ No newline at end of file diff --git a/packages/Webkul/Core/src/Database/Seeders/DatabaseSeeder.php b/packages/Webkul/Core/src/Database/Seeders/DatabaseSeeder.php index 3c4f95522..919a033ef 100644 --- a/packages/Webkul/Core/src/Database/Seeders/DatabaseSeeder.php +++ b/packages/Webkul/Core/src/Database/Seeders/DatabaseSeeder.php @@ -14,8 +14,9 @@ class DatabaseSeeder extends Seeder public function run() { $this->call(LocalesTableSeeder::class); - $this->call(LocalesTableSeeder::class); + $this->call(CurrencyTableSeeder::class); $this->call(CountriesTableSeeder::class); $this->call(StatesTableSeeder::class); + $this->call(ChannelTableSeeder::class); } } diff --git a/packages/Webkul/Core/src/Database/Seeders/LocalesTableSeeder.php b/packages/Webkul/Core/src/Database/Seeders/LocalesTableSeeder.php index 3fe01c9db..9f3763d4d 100644 --- a/packages/Webkul/Core/src/Database/Seeders/LocalesTableSeeder.php +++ b/packages/Webkul/Core/src/Database/Seeders/LocalesTableSeeder.php @@ -12,9 +12,11 @@ class LocalesTableSeeder extends Seeder DB::table('locales')->delete(); DB::table('locales')->insert([ + 'id' => 1, 'code' => 'en', 'name' => 'English', ], [ + 'id' => 2, 'code' => 'fr', 'name' => 'French', ]); diff --git a/packages/Webkul/Core/src/Http/Controllers/LocaleController.php b/packages/Webkul/Core/src/Http/Controllers/LocaleController.php index bdc77fdee..d8b1a1a6a 100644 --- a/packages/Webkul/Core/src/Http/Controllers/LocaleController.php +++ b/packages/Webkul/Core/src/Http/Controllers/LocaleController.php @@ -72,7 +72,7 @@ class LocaleController extends Controller public function store(Request $request) { $this->validate(request(), [ - 'code' => 'required|unique:locales,code', + 'code' => ['required', 'unique:locales,code', new \Webkul\Core\Contracts\Validations\Code], 'name' => 'required' ]); diff --git a/packages/Webkul/Customer/src/Database/Seeders/CustomerGroupTableSeeder.php b/packages/Webkul/Customer/src/Database/Seeders/CustomerGroupTableSeeder.php new file mode 100644 index 000000000..b4457f230 --- /dev/null +++ b/packages/Webkul/Customer/src/Database/Seeders/CustomerGroupTableSeeder.php @@ -0,0 +1,24 @@ +delete(); + + DB::table('customer_groups')->insert([ + 'id' => 1, + 'name' => 'General', + 'is_user_defined' => 0, + ], [ + 'id' => 2, + 'name' => 'Wholesale', + 'is_user_defined' => 0, + ]); + } +} \ No newline at end of file diff --git a/packages/Webkul/Customer/src/Database/Seeders/DatabaseSeeder.php b/packages/Webkul/Customer/src/Database/Seeders/DatabaseSeeder.php new file mode 100644 index 000000000..9973f1369 --- /dev/null +++ b/packages/Webkul/Customer/src/Database/Seeders/DatabaseSeeder.php @@ -0,0 +1,18 @@ +call(CustomerGroupTableSeeder::class); + } +} diff --git a/packages/Webkul/Customer/src/Database/migrations/2018_09_11_064045_customers_password_resets.php b/packages/Webkul/Customer/src/Database/migrations/2018_09_11_064045_customer_password_resets.php similarity index 72% rename from packages/Webkul/Customer/src/Database/migrations/2018_09_11_064045_customers_password_resets.php rename to packages/Webkul/Customer/src/Database/migrations/2018_09_11_064045_customer_password_resets.php index 3312a7865..9ea751001 100644 --- a/packages/Webkul/Customer/src/Database/migrations/2018_09_11_064045_customers_password_resets.php +++ b/packages/Webkul/Customer/src/Database/migrations/2018_09_11_064045_customer_password_resets.php @@ -4,7 +4,7 @@ use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; -class CustomersPasswordResets extends Migration +class CustomerPasswordResets extends Migration { /** * Run the migrations. @@ -13,7 +13,7 @@ class CustomersPasswordResets extends Migration */ public function up() { - Schema::create('customers_password_resets', function (Blueprint $table) { + Schema::create('customer_password_resets', function (Blueprint $table) { $table->string('email')->index(); $table->string('token'); $table->timestamp('created_at')->nullable(); @@ -27,6 +27,6 @@ class CustomersPasswordResets extends Migration */ public function down() { - Schema::dropIfExists('customers_password_resets'); + Schema::dropIfExists('customer_password_resets'); } } \ No newline at end of file diff --git a/packages/Webkul/Customer/src/Http/Controllers/RegistrationController.php b/packages/Webkul/Customer/src/Http/Controllers/RegistrationController.php index 53b389bd1..67197fec6 100644 --- a/packages/Webkul/Customer/src/Http/Controllers/RegistrationController.php +++ b/packages/Webkul/Customer/src/Http/Controllers/RegistrationController.php @@ -54,7 +54,7 @@ class RegistrationController extends Controller $request->validate([ 'first_name' => 'string|required', 'last_name' => 'string|required', - 'email' => 'email|required', + 'email' => 'email|required|unique:customers,email', 'password' => 'confirmed|min:6|required', 'agreement' => 'required' ]); diff --git a/packages/Webkul/Customer/src/Models/Customer.php b/packages/Webkul/Customer/src/Models/Customer.php index 912086883..7a8ce11be 100644 --- a/packages/Webkul/Customer/src/Models/Customer.php +++ b/packages/Webkul/Customer/src/Models/Customer.php @@ -6,10 +6,7 @@ use Illuminate\Notifications\Notifiable; use Illuminate\Foundation\Auth\User as Authenticatable; use Webkul\Customer\Models\CustomerGroup; use Webkul\Sales\Models\Order; - -// use Webkul\User\Notifications\AdminResetPassword; - -// use Webkul\User\Notifications\AdminResetPassword; +use Webkul\Customer\Notifications\CustomerResetPassword; class Customer extends Authenticatable @@ -38,4 +35,15 @@ class Customer extends Authenticatable { return $this->belongsTo(CustomerGroup::class); } + + /** + * Send the password reset notification. + * + * @param string $token + * @return void + */ + public function sendPasswordResetNotification($token) + { + $this->notify(new CustomerResetPassword($token)); + } } diff --git a/packages/Webkul/Customer/src/Notifications/CustomerResetPassword.php b/packages/Webkul/Customer/src/Notifications/CustomerResetPassword.php index 9db9e27ae..148bd4b96 100644 --- a/packages/Webkul/Customer/src/Notifications/CustomerResetPassword.php +++ b/packages/Webkul/Customer/src/Notifications/CustomerResetPassword.php @@ -1,6 +1,6 @@ view('shop::emails.customer.forget-password')->with([ + ->view('shop::emails.customer.forget-password', [ 'user_name' => $notifiable->name, 'token' => $this->token ]); diff --git a/packages/Webkul/Inventory/src/Database/Migrations/2018_07_23_110040_create_inventory_sources_table.php b/packages/Webkul/Inventory/src/Database/Migrations/2018_07_23_110040_create_inventory_sources_table.php index 9345c387d..01f3a947e 100644 --- a/packages/Webkul/Inventory/src/Database/Migrations/2018_07_23_110040_create_inventory_sources_table.php +++ b/packages/Webkul/Inventory/src/Database/Migrations/2018_07_23_110040_create_inventory_sources_table.php @@ -26,11 +26,11 @@ class CreateInventorySourcesTable extends Migration $table->string('state')->nullable(); $table->string('city')->nullable(); $table->string('street')->nullable(); - $table->string('postcode'); + $table->string('postcode')->nullable(); $table->integer('priority')->default(0); $table->decimal('latitude', 10, 5)->nullable(); $table->decimal('longitude', 10, 5)->nullable(); - $table->boolean('status')->default(0); + $table->boolean('status')->default(1); $table->timestamps(); }); } diff --git a/packages/Webkul/Inventory/src/Database/Seeders/DatabaseSeeder.php b/packages/Webkul/Inventory/src/Database/Seeders/DatabaseSeeder.php new file mode 100644 index 000000000..0dbc8a344 --- /dev/null +++ b/packages/Webkul/Inventory/src/Database/Seeders/DatabaseSeeder.php @@ -0,0 +1,18 @@ +call(InventoryTableSeeder::class); + } +} diff --git a/packages/Webkul/Inventory/src/Database/Seeders/InventoryTableSeeder.php b/packages/Webkul/Inventory/src/Database/Seeders/InventoryTableSeeder.php new file mode 100644 index 000000000..7ae3ee6f8 --- /dev/null +++ b/packages/Webkul/Inventory/src/Database/Seeders/InventoryTableSeeder.php @@ -0,0 +1,21 @@ +delete(); + + DB::table('inventory_sources')->insert([ + 'id' => 1, + 'code' => 'default', + 'name' => 'Default', + 'status' => 1, + ]); + } +} \ No newline at end of file diff --git a/packages/Webkul/Inventory/src/Http/Controllers/InventorySourceController.php b/packages/Webkul/Inventory/src/Http/Controllers/InventorySourceController.php index 60c1bdd7e..be70c4ec0 100644 --- a/packages/Webkul/Inventory/src/Http/Controllers/InventorySourceController.php +++ b/packages/Webkul/Inventory/src/Http/Controllers/InventorySourceController.php @@ -69,6 +69,7 @@ class InventorySourceController extends Controller public function store() { $this->validate(request(), [ + 'code' => ['required', 'unique:inventory_sources,code', new \Webkul\Core\Contracts\Validations\Code], 'name' => 'required' ]); @@ -102,6 +103,7 @@ class InventorySourceController extends Controller public function update(Request $request, $id) { $this->validate(request(), [ + 'code' => ['required', 'unique:inventory_sources,code,' . $id, new \Webkul\Core\Contracts\Validations\Code], 'name' => 'required', ]); diff --git a/packages/Webkul/Product/src/Contracts/Criteria/ActiveProductCriteria.php b/packages/Webkul/Product/src/Contracts/Criteria/ActiveProductCriteria.php new file mode 100644 index 000000000..211c34c8b --- /dev/null +++ b/packages/Webkul/Product/src/Contracts/Criteria/ActiveProductCriteria.php @@ -0,0 +1,56 @@ +attribute = $attribute; + } + + /** + * Apply criteria in query repository + * + * @param string $model + * @param RepositoryInterface $repository + * + * @return mixed + */ + public function apply($model, RepositoryInterface $repository) + { + foreach(['status', 'visible_individually'] as $code) { + $attribute = $this->attribute->findOneByField('code', $code); + + $alias = 'filter_' . $attribute->code; + + $model = $model->leftJoin('product_attribute_values as ' . $alias, 'products.id', '=', $alias . '.product_id'); + + $model = $this->applyChannelLocaleFilter($attribute, $model, $alias); + + $model->where($alias . '.boolean_value', 1) + ->where($alias . '.attribute_id', $attribute->id); + } + + return $model; + } +} diff --git a/packages/Webkul/Product/src/Repositories/ProductRepository.php b/packages/Webkul/Product/src/Repositories/ProductRepository.php index beb6a2cb0..b49f9dbc5 100644 --- a/packages/Webkul/Product/src/Repositories/ProductRepository.php +++ b/packages/Webkul/Product/src/Repositories/ProductRepository.php @@ -11,6 +11,7 @@ use Webkul\Product\Repositories\ProductInventoryRepository; use Webkul\Product\Repositories\ProductImageRepository; use Webkul\Product\Models\ProductAttributeValue; use Webkul\Product\Contracts\Criteria\SortCriteria; +use Webkul\Product\Contracts\Criteria\ActiveProductCriteria; use Webkul\Product\Contracts\Criteria\AttributeToSelectCriteria; use Webkul\Product\Contracts\Criteria\FilterByAttributesCriteria; use Webkul\Product\Contracts\Criteria\FilterByCategoryCriteria; @@ -383,6 +384,7 @@ class ProductRepository extends Repository */ public function findAllByCategory($categoryId = null) { + $this->pushCriteria(app(ActiveProductCriteria::class)); $this->pushCriteria(app(SortCriteria::class)); $this->pushCriteria(app(FilterByAttributesCriteria::class)); $this->pushCriteria(new FilterByCategoryCriteria($categoryId)); @@ -419,9 +421,12 @@ class ProductRepository extends Repository ], ['product_id']); if($attributeValue && $attributeValue->product_id) { + $this->pushCriteria(app(ActiveProductCriteria::class)); $this->pushCriteria(app(AttributeToSelectCriteria::class)->addAttribueToSelect($columns)); - return $this->find($attributeValue->product_id); + $product = $this->findOrFail($attributeValue->product_id); + + return $product; } throw (new ModelNotFoundException)->setModel( @@ -436,6 +441,7 @@ class ProductRepository extends Repository */ public function getNewProducts() { + $this->pushCriteria(app(ActiveProductCriteria::class)); $this->pushCriteria(app(NewProductsCriteria::class)); $this->pushCriteria(app(AttributeToSelectCriteria::class)); @@ -453,6 +459,7 @@ class ProductRepository extends Repository */ public function getFeaturedProducts() { + $this->pushCriteria(app(ActiveProductCriteria::class)); $this->pushCriteria(app(FeaturedProductsCriteria::class)); $this->pushCriteria(app(AttributeToSelectCriteria::class)); diff --git a/packages/Webkul/Shop/src/Http/routes.php b/packages/Webkul/Shop/src/Http/routes.php index 73eae21d7..9b8586aa1 100644 --- a/packages/Webkul/Shop/src/Http/routes.php +++ b/packages/Webkul/Shop/src/Http/routes.php @@ -66,24 +66,24 @@ Route::group(['middleware' => ['web', 'theme', 'locale', 'currency']], function 'redirect' => 'customer.reviews.index' ])->name('shop.reviews.store'); - // forgot Password Routes - Route::get('/forgot-password', 'Webkul\Customer\Http\Controllers\ForgotPasswordController@create')->defaults('_config', [ - 'view' => 'shop::customers.signup.forgot-password' - ])->name('customer.forgot-password.create'); - - Route::post('/forgot-password', 'Webkul\Customer\Http\Controllers\ForgotPasswordController@store')->name('customer.forgot-password.store'); - - //Reset Password create - Route::get('/reset-password/{token}', 'Webkul\Customer\Http\Controllers\ResetPasswordController@create')->defaults('_config', [ - 'view' => 'shop::customers.signup.reset-password' - ])->name('customer.reset-password.create'); - - Route::post('/reset-password', 'Webkul\Customer\Http\Controllers\ResetPasswordController@store')->defaults('_config', [ - 'redirect' => 'customer.session.index' - ])->name('customer.reset-password.store'); //customer routes starts here Route::prefix('customer')->group(function () { + // forgot Password Routes + Route::get('/forgot-password', 'Webkul\Customer\Http\Controllers\ForgotPasswordController@create')->defaults('_config', [ + 'view' => 'shop::customers.signup.forgot-password' + ])->name('customer.forgot-password.create'); + + Route::post('/forgot-password', 'Webkul\Customer\Http\Controllers\ForgotPasswordController@store')->name('customer.forgot-password.store'); + + //Reset Password create + Route::get('/reset-password/{token}', 'Webkul\Customer\Http\Controllers\ResetPasswordController@create')->defaults('_config', [ + 'view' => 'shop::customers.signup.reset-password' + ])->name('customer.reset-password.create'); + + Route::post('/reset-password', 'Webkul\Customer\Http\Controllers\ResetPasswordController@store')->defaults('_config', [ + 'redirect' => 'customer.session.index' + ])->name('customer.reset-password.store'); // Login Routes Route::get('login', 'Webkul\Customer\Http\Controllers\SessionController@show')->defaults('_config', [ @@ -91,7 +91,7 @@ Route::group(['middleware' => ['web', 'theme', 'locale', 'currency']], function ])->name('customer.session.index'); Route::post('login', 'Webkul\Customer\Http\Controllers\SessionController@create')->defaults('_config', [ - 'redirect' => 'customer.account.index' + 'redirect' => 'customer.profile.index' ])->name('customer.session.create'); // Registration Routes @@ -120,22 +120,6 @@ Route::group(['middleware' => ['web', 'theme', 'locale', 'currency']], function Route::get('wishlist/moveall', 'Webkul\Customer\Http\Controllers\WishlistController@moveAll')->name('customer.wishlist.moveall'); - // Forget Password Routes - Route::get('/forget-password', 'Webkul\Customer\Http\Controllers\ForgetPasswordController@create')->defaults('_config', [ - 'view' => 'shop::customers.signup.forget-password' - ])->name('customer.forget-password.create'); - - Route::post('/forget-password', 'Webkul\Customer\Http\Controllers\ForgetPasswordController@store')->name('customer.forget-password.store'); - - //Reset Password create - Route::get('/reset-password/{token}', 'Webkul\Customer\Http\Controllers\ResetPasswordController@create')->defaults('_config', [ - 'view' => 'shop::customers.signup.reset-password' - ])->name('password.reset'); - - Route::post('/reset-password', 'Webkul\Customer\Http\Controllers\ResetPasswordController@store')->defaults('_config', [ - 'redirect' => 'customer.session.index' - ])->name('customer.reset-password.store'); - //customer account Route::prefix('account')->group(function () { diff --git a/packages/Webkul/Shop/src/Resources/assets/sass/app.scss b/packages/Webkul/Shop/src/Resources/assets/sass/app.scss index d48aa521b..7c065918f 100644 --- a/packages/Webkul/Shop/src/Resources/assets/sass/app.scss +++ b/packages/Webkul/Shop/src/Resources/assets/sass/app.scss @@ -2142,17 +2142,12 @@ section.review { flex-direction: column; max-width: 530px; min-width: 380px; - min-height: 345px; - padding-left: 25px; - padding-right: 25px; + padding: 25px; .login-text { font-size: 24px; - font-weight: bold; - color: $font-color; - - margin-top: 5%; - margin-bottom: 3%; + font-weight: 600; + margin-bottom: 30px; } .control-group { @@ -2169,17 +2164,14 @@ section.review { margin-bottom: 5%; } - .signup-confirm { + .signup-confirm { margin-bottom: 5%; } .btn-primary { width: 100%; text-transform: uppercase; - border-radius: 0px; - height: 45px; - margin-bottom: 4%; } } } diff --git a/packages/Webkul/Shop/src/Resources/lang/en/app.php b/packages/Webkul/Shop/src/Resources/lang/en/app.php index b43e2a085..1f29ab4ed 100644 --- a/packages/Webkul/Shop/src/Resources/lang/en/app.php +++ b/packages/Webkul/Shop/src/Resources/lang/en/app.php @@ -45,13 +45,13 @@ return [ 'login-text' => [ 'no_account' => 'Don\'t have account', - 'title' => 'Sign In', + 'title' => 'Sign Up', ], 'login-form' => [ 'page-title' => 'Customer - Login', 'title' => 'Sign In', - 'email' => 'E-Mail', + 'email' => 'Email', 'password' => 'Password', 'forgot_pass' => 'Forgot Password?', 'button_title' => 'Sign In', @@ -61,11 +61,20 @@ return [ 'forgot-password' => [ 'title' => 'Recover Password', - 'email' => 'E-Mail', + 'email' => 'Email', 'submit' => 'Submit', 'page_title' => 'Customer - Forgot Password Form' ], + 'reset-password' => [ + 'title' => 'Reset Password', + 'email' => 'Registered Email', + 'password' => 'Password', + 'confirm-password' => 'Confirm Password', + 'back-link-title' => 'Back to Sign In', + 'submit-btn-title' => 'Reset Password' + ], + 'account' => [ 'dashboard' => 'Customer - Edit Profile', @@ -81,7 +90,7 @@ return [ 'gender' => 'Gender', 'dob' => 'Date Of Birth', 'phone' => 'Phone', - 'email' => 'E-Mail', + 'email' => 'Email', 'opassword' => 'Old Password', 'password' => 'Password', 'cpassword' => 'Confirm Password', @@ -301,5 +310,48 @@ return [ 'order-id-info' => 'Your order id is #:order_id', 'info' => 'We will email you, your order details and tracking information.' ] - ] + ], + + 'mail' => [ + 'order' => [ + 'subject' => 'New Order Confirmation', + 'heading' => 'Order Confirmation!', + 'dear' => 'Dear :customer_name', + 'greeting' => 'Thanks for your Order :order_id placed on :created_at', + 'summary' => 'Summary of Order', + 'shipping-address' => 'Shipping Address', + 'billing-address' => 'Billing Address', + 'contact' => 'Contact', + 'shipping' => 'Shipping', + 'payment' => 'Payment', + 'price' => 'Price', + 'quantity' => 'Quantity', + 'subtotal' => 'Subtotal', + 'shipping-handling' => 'Shipping & Handling', + 'tax' => 'Tax', + 'grand-total' => 'Grand Total', + 'final-summary' => 'Thanks for showing your intrest in our store. we will send you track number once it shiped.', + 'help' => 'If you need any kind of help please contact us at :support_email', + 'thanks' => 'Thanks!' + ], + 'invoice' => [ + 'heading' => 'Your Invoice #:invoice_id for Order #:order_id', + 'subject' => 'Invoice for your order #:order_id', + 'summary' => 'Summary of Invoice', + ], + 'shipment' => [ + 'heading' => 'Your Shipment #:shipment_id for Order #:order_id', + 'subject' => 'Shipment for your order #:order_id', + 'summary' => 'Summary of Shipment', + 'carrier' => 'Carrier', + 'tracking-number' => 'Tracking Number' + ], + 'forget-password' => [ + 'dear' => 'Dear :name', + 'info' => 'You are receiving this email because we received a password reset request for your account.', + 'reset-password' => 'Reset Password', + 'final-summary' => 'If you did not request a password reset, no further action is required.', + 'thanks' => 'Thanks!' + ] + ], ]; \ No newline at end of file diff --git a/packages/Webkul/Shop/src/Resources/views/customers/account/index.blade.php b/packages/Webkul/Shop/src/Resources/views/customers/account/index.blade.php index efd7966d1..4097e93df 100644 --- a/packages/Webkul/Shop/src/Resources/views/customers/account/index.blade.php +++ b/packages/Webkul/Shop/src/Resources/views/customers/account/index.blade.php @@ -1,7 +1,9 @@ @extends('shop::layouts.master') + @section('content-wrapper')
- {{ __('admin::app.mail.forget-password.dear', ['name' => $user_name]) }}, + {{ __('shop::app.mail.forget-password.dear', ['name' => $user_name]) }},
- {{ __('admin::app.mail.forget-password.info') }} + {{ __('shop::app.mail.forget-password.info') }}
- {{ __('admin::app.mail.forget-password.final-summary') }} + {{ __('shop::app.mail.forget-password.final-summary') }}
- {{ __('admin::app.mail.forget-password.thanks') }} + {{ __('shop::app.mail.forget-password.thanks') }}
- {{ __('admin::app.mail.forget-password.dear', ['name' => $user_name]) }}, + {{ __('shop::app.mail.forget-password.dear', ['name' => $user_name]) }},
- {{ __('admin::app.mail.forget-password.info') }} + {{ __('shop::app.mail.forget-password.info') }}
- {{ __('admin::app.mail.forget-password.final-summary') }} + {{ __('shop::app.mail.forget-password.final-summary') }}
- {{ __('admin::app.mail.forget-password.thanks') }} + {{ __('shop::app.mail.forget-password.thanks') }}
- {{ __('admin::app.mail.order.dear', ['customer_name' => $order->customer_full_name]) }}, + {{ __('shop::app.mail.order.dear', ['customer_name' => $order->customer_full_name]) }},
- {!! __('admin::app.mail.order.greeting', [ + {!! __('shop::app.mail.order.greeting', [ 'order_id' => '#' . $order->id . '', 'created_at' => $order->created_at ]) @@ -27,13 +27,13 @@
{!! - __('admin::app.mail.order.help', [ + __('shop::app.mail.order.help', [ 'support_email' => '' . config('mail.from.address'). '' ]) !!}
- {{ __('admin::app.mail.order.thanks') }} + {{ __('shop::app.mail.order.thanks') }}
- {{ __('admin::app.mail.order.dear', ['customer_name' => $order->customer_full_name]) }}, + {{ __('shop::app.mail.order.dear', ['customer_name' => $order->customer_full_name]) }},
- {!! __('admin::app.mail.order.greeting', [ + {!! __('shop::app.mail.order.greeting', [ 'order_id' => '#' . $order->id . '', 'created_at' => $order->created_at ]) @@ -25,13 +25,13 @@
- {{ __('admin::app.mail.order.final-summary') }} + {{ __('shop::app.mail.order.final-summary') }}
{!! - __('admin::app.mail.order.help', [ + __('shop::app.mail.order.help', [ 'support_email' => '' . config('mail.from.address'). '' ]) !!}
- {{ __('admin::app.mail.order.thanks') }} + {{ __('shop::app.mail.order.thanks') }}
- {{ __('admin::app.mail.order.dear', ['customer_name' => $order->customer_full_name]) }}, + {{ __('shop::app.mail.order.dear', ['customer_name' => $order->customer_full_name]) }},
- {!! __('admin::app.mail.order.greeting', [ + {!! __('shop::app.mail.order.greeting', [ 'order_id' => '#' . $order->id . '', 'created_at' => $order->created_at ]) @@ -27,13 +27,13 @@
{!! - __('admin::app.mail.order.help', [ + __('shop::app.mail.order.help', [ 'support_email' => '' . config('mail.from.address'). '' ]) !!}
- {{ __('admin::app.mail.order.thanks') }} + {{ __('shop::app.mail.order.thanks') }}