diff --git a/config/filesystems.php b/config/filesystems.php
index b36f4c121..ff77a5023 100644
--- a/config/filesystems.php
+++ b/config/filesystems.php
@@ -51,7 +51,7 @@ return [
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
- 'url' => env('APP_URL') . '/public/storage',
+ 'url' => env('APP_URL') . '/storage',
'visibility' => 'public',
],
diff --git a/packages/Webkul/Admin/src/Listeners/Order.php b/packages/Webkul/Admin/src/Listeners/Order.php
index 61a068d4e..3d3a8c1c7 100644
--- a/packages/Webkul/Admin/src/Listeners/Order.php
+++ b/packages/Webkul/Admin/src/Listeners/Order.php
@@ -52,7 +52,7 @@ class Order {
*/
public function updateProductInventory($order)
{
- $productListener = app(Webkul\Admin\Listeners\Product::class);
+ $productListener = app(\Webkul\Admin\Listeners\Product::class);
foreach ($order->items as $item) {
$productListener->afterProductCreated($item->product);
diff --git a/packages/Webkul/Admin/src/Listeners/Product.php b/packages/Webkul/Admin/src/Listeners/Product.php
index 78a82a86e..e716e8c65 100644
--- a/packages/Webkul/Admin/src/Listeners/Product.php
+++ b/packages/Webkul/Admin/src/Listeners/Product.php
@@ -97,7 +97,7 @@ class Product {
} else {
$qty = 0;
- foreach($product->inventories->get() as $inventory_source) {
+ foreach($product->inventories()->get() as $inventory_source) {
$qty = $qty + $inventory_source->qty;
}
diff --git a/packages/Webkul/Admin/src/Mail/NewOrderNotification.php b/packages/Webkul/Admin/src/Mail/NewOrderNotification.php
index d656499c7..b3d0b7b6c 100644
--- a/packages/Webkul/Admin/src/Mail/NewOrderNotification.php
+++ b/packages/Webkul/Admin/src/Mail/NewOrderNotification.php
@@ -41,7 +41,8 @@ class NewOrderNotification extends Mailable
*/
public function build()
{
- return $this->to($this->order->customer_email, $this->order->customer_full_name)
+ if($this->order->customer_email)
+ return $this->to($this->order->customer_email, $this->order->customer_full_name)
->subject(trans('shop::app.mail.order.subject'))
->view('shop::emails.sales.new-order');
}
diff --git a/packages/Webkul/Admin/src/Resources/views/layouts/anonymous-master.blade.php b/packages/Webkul/Admin/src/Resources/views/layouts/anonymous-master.blade.php
index 9fef717d7..c17d48dae 100644
--- a/packages/Webkul/Admin/src/Resources/views/layouts/anonymous-master.blade.php
+++ b/packages/Webkul/Admin/src/Resources/views/layouts/anonymous-master.blade.php
@@ -75,7 +75,7 @@
-
 }})
+
@yield('content')
diff --git a/packages/Webkul/Admin/webpack.mix.js b/packages/Webkul/Admin/webpack.mix.js
index 9fa7b1853..92e3d593b 100644
--- a/packages/Webkul/Admin/webpack.mix.js
+++ b/packages/Webkul/Admin/webpack.mix.js
@@ -8,7 +8,7 @@ mix.setPublicPath(publicPath).mergeManifest();
mix.disableNotifications();
mix.js(__dirname + "/src/Resources/assets/js/app.js", "js/admin.js")
- // .copyDirectory( __dirname + '/src/Resources/assets/images', publicPath + '/images')
+ .copyDirectory( __dirname + '/src/Resources/assets/images', publicPath + '/images')
.sass(__dirname + "/src/Resources/assets/sass/app.scss", "css/admin.css")
.options({
processCssUrls: false
diff --git a/packages/Webkul/Checkout/src/Cart.php b/packages/Webkul/Checkout/src/Cart.php
index 67b255f39..8b1659ab8 100644
--- a/packages/Webkul/Checkout/src/Cart.php
+++ b/packages/Webkul/Checkout/src/Cart.php
@@ -708,11 +708,11 @@ class Cart {
if($billingAddressModel = $cart->billing_address) {
$this->cartAddress->update($billingAddress, $billingAddressModel->id);
- if($shippingAddress = $cart->shipping_address) {
+ if($shippingAddressModel = $cart->shipping_address) {
if(isset($billingAddress['use_for_shipping']) && $billingAddress['use_for_shipping']) {
- $this->cartAddress->update($billingAddress, $shippingAddress->id);
+ $this->cartAddress->update($billingAddress, $shippingAddressModel->id);
} else {
- $this->cartAddress->update($shippingAddress, $shippingAddress->id);
+ $this->cartAddress->update($shippingAddress, $shippingAddressModel->id);
}
} else {
if(isset($billingAddress['use_for_shipping']) && $billingAddress['use_for_shipping']) {
@@ -731,7 +731,10 @@ class Cart {
}
}
- // If customer is guest, than save shipping address's email and name in cart as customer details
+ $cart->customer_email = $cart->shipping_address->email;
+ $cart->customer_first_name = $cart->shipping_address->first_name;
+ $cart->customer_last_name = $cart->shipping_address->last_name;
+ $cart->save();
return true;
}
diff --git a/packages/Webkul/Checkout/src/Models/CartAddress.php b/packages/Webkul/Checkout/src/Models/CartAddress.php
index 6af3f6a8f..b80c3215e 100644
--- a/packages/Webkul/Checkout/src/Models/CartAddress.php
+++ b/packages/Webkul/Checkout/src/Models/CartAddress.php
@@ -9,7 +9,7 @@ class CartAddress extends Model
{
protected $table = 'cart_address';
- protected $fillable = ['first_name', 'last_name', 'email', 'address1', 'address2', 'city', 'state', 'postcode', 'country', 'email', 'phone', 'address_type', 'cart_id'];
+ protected $fillable = ['first_name', 'last_name', 'email', 'address1', 'address2', 'city', 'state', 'postcode', 'country', 'phone', 'address_type', 'cart_id'];
/**
* Get the shipping rates for the cart address.
diff --git a/packages/Webkul/Customer/src/Database/migrations/2018_07_24_082930_create_customers_table.php b/packages/Webkul/Customer/src/Database/migrations/2018_07_24_082930_create_customers_table.php
index 691340260..83fe534fa 100644
--- a/packages/Webkul/Customer/src/Database/migrations/2018_07_24_082930_create_customers_table.php
+++ b/packages/Webkul/Customer/src/Database/migrations/2018_07_24_082930_create_customers_table.php
@@ -16,7 +16,7 @@ class CreateCustomersTable extends Migration
Schema::create('customers', function (Blueprint $table) {
$table->increments('id');
$table->integer('channel_id')->unsigned();
- $table->foreign('channel_id')->references('id')->on('channels')->onDelete('SET NULL');
+ $table->foreign('channel_id')->references('id')->on('channels')->onDelete('restrict');
$table->string('first_name');
$table->string('last_name');
$table->enum('gender', ['Male', 'Female']);
@@ -26,7 +26,7 @@ class CreateCustomersTable extends Migration
$table->tinyInteger('status')->default(1);
$table->string('password');
$table->integer('customer_group_id')->unsigned()->nullable();
- $table->foreign('customer_group_id')->references('id')->on('customer_groups')->onDelete('SET NULL');
+ $table->foreign('customer_group_id')->references('id')->on('customer_groups')->onDelete('set null');
$table->boolean('subscribed_to_news_letter')->default(0);
$table->rememberToken();
$table->timestamps();
diff --git a/packages/Webkul/Customer/src/Models/Customer.php b/packages/Webkul/Customer/src/Models/Customer.php
index 7a8ce11be..78381d7ba 100644
--- a/packages/Webkul/Customer/src/Models/Customer.php
+++ b/packages/Webkul/Customer/src/Models/Customer.php
@@ -46,4 +46,12 @@ class Customer extends Authenticatable
{
$this->notify(new CustomerResetPassword($token));
}
+
+ /**
+ * Get the customer address that owns the customer.
+ */
+ public function address()
+ {
+ return $this->hasOne(CustomerAddress::class);
+ }
}
diff --git a/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php b/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php
index 74ff4bb6a..82448b77f 100644
--- a/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php
+++ b/packages/Webkul/Sales/src/Repositories/InvoiceRepository.php
@@ -154,6 +154,8 @@ class InvoiceRepository extends Repository
$this->order->collectTotals($order);
$this->order->updateOrderStatus($order);
+
+ Event::fire('sales.invoice.save.after', $invoice);
} catch (\Exception $e) {
DB::rollBack();
@@ -162,8 +164,6 @@ class InvoiceRepository extends Repository
DB::commit();
- Event::fire('sales.invoice.save.after', $invoice);
-
return $invoice;
}
diff --git a/packages/Webkul/Sales/src/Repositories/OrderRepository.php b/packages/Webkul/Sales/src/Repositories/OrderRepository.php
index d8bb52768..39b299ed1 100644
--- a/packages/Webkul/Sales/src/Repositories/OrderRepository.php
+++ b/packages/Webkul/Sales/src/Repositories/OrderRepository.php
@@ -109,6 +109,8 @@ class OrderRepository extends Repository
$this->orderItemInventory->create(['orderItem' => $orderItem]);
}
+
+ Event::fire('checkout.order.save.after', $order);
} catch (\Exception $e) {
DB::rollBack();
@@ -117,8 +119,6 @@ class OrderRepository extends Repository
DB::commit();
- Event::fire('checkout.order.save.after', $order);
-
return $order;
}
diff --git a/packages/Webkul/Sales/src/Repositories/ShipmentRepository.php b/packages/Webkul/Sales/src/Repositories/ShipmentRepository.php
index fa80b5051..de5c5c043 100644
--- a/packages/Webkul/Sales/src/Repositories/ShipmentRepository.php
+++ b/packages/Webkul/Sales/src/Repositories/ShipmentRepository.php
@@ -128,6 +128,8 @@ class ShipmentRepository extends Repository
}
$this->order->updateOrderStatus($order);
+
+ Event::fire('sales.shipment.save.after', $shipment);
} catch (\Exception $e) {
DB::rollBack();
@@ -136,8 +138,6 @@ class ShipmentRepository extends Repository
DB::commit();
- Event::fire('sales.shipment.save.after', $shipment);
-
return $shipment;
}
}
\ No newline at end of file
diff --git a/packages/Webkul/Shop/src/Resources/views/checkout/onepage.blade.php b/packages/Webkul/Shop/src/Resources/views/checkout/onepage.blade.php
index af63858bd..fac86872c 100644
--- a/packages/Webkul/Shop/src/Resources/views/checkout/onepage.blade.php
+++ b/packages/Webkul/Shop/src/Resources/views/checkout/onepage.blade.php
@@ -117,6 +117,17 @@
var paymentHtml = '';
var reviewHtml = '';
var summaryHtml = Vue.compile(` $cart])->render(); ?>`);
+ var customerAddress = null;
+ @auth('customer')
+ @if(auth('customer')->user()->address)
+ customerAddress = @json(auth('customer')->user()->address);
+ @else
+ customerAddress = {};
+ @endif
+ customerAddress.email = "{{ auth('customer')->user()->email }}";
+ customerAddress.first_name = "{{ auth('customer')->user()->first_name }}";
+ customerAddress.last_name = "{{ auth('customer')->user()->last_name }}";
+ @endauth
Vue.component('checkout', {
@@ -146,6 +157,13 @@
countryStates: @json(core()->groupedStatesByCountries())
}),
+ created() {
+ if(customerAddress) {
+ this.address.billing = customerAddress;
+ this.address.use_for_shipping = true;
+ }
+ },
+
methods: {
navigateToStep (step) {
if(step <= this.completedStep) {
diff --git a/packages/Webkul/Shop/src/Resources/views/checkout/onepage/review.blade.php b/packages/Webkul/Shop/src/Resources/views/checkout/onepage/review.blade.php
index 17360e5c6..b8848fe8b 100644
--- a/packages/Webkul/Shop/src/Resources/views/checkout/onepage/review.blade.php
+++ b/packages/Webkul/Shop/src/Resources/views/checkout/onepage/review.blade.php
@@ -100,7 +100,7 @@
-
+
@@ -128,7 +128,7 @@
-
+
@include('shop::checkout.total.summary', ['cart' => $cart])
diff --git a/packages/Webkul/User/src/Database/Seeders/AdminsTableSeeder.php b/packages/Webkul/User/src/Database/Seeders/AdminsTableSeeder.php
index 46532b214..6b4050cd7 100644
--- a/packages/Webkul/User/src/Database/Seeders/AdminsTableSeeder.php
+++ b/packages/Webkul/User/src/Database/Seeders/AdminsTableSeeder.php
@@ -12,7 +12,7 @@ class AdminsTableSeeder extends Seeder
{
$role = Role::first();
$admin = new Admin();
- $admin->name = str_random(8);
+ $admin->name = 'Example';
$admin->email = 'admin@example.com';
$admin->password = bcrypt('admin123');
$admin->status = 1;