Before Merge
This commit is contained in:
parent
b6df4e1dc8
commit
34d4a1c3a4
|
|
@ -14,9 +14,9 @@ class AttributeTableSeeder extends Seeder
|
|||
[
|
||||
'code' => 'sku',
|
||||
'admin_name' => 'SKU',
|
||||
// 'en' => [
|
||||
// 'name' => 'SKU'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'SKU'
|
||||
],
|
||||
'type' => 'text',
|
||||
'position' => 1,
|
||||
'is_unique' => 1,
|
||||
|
|
@ -29,9 +29,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'name',
|
||||
'admin_name' => 'Name',
|
||||
// 'en' => [
|
||||
// 'name' => 'Name'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'Name'
|
||||
],
|
||||
'type' => 'text',
|
||||
'position' => 2,
|
||||
'is_required' => 1,
|
||||
|
|
@ -43,9 +43,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'url_key',
|
||||
'admin_name' => 'URL Key',
|
||||
// 'en' => [
|
||||
// 'name' => 'URL Key'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'URL Key'
|
||||
],
|
||||
'type' => 'text',
|
||||
'position' => 3,
|
||||
'is_unique' => 1,
|
||||
|
|
@ -58,9 +58,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'new_from',
|
||||
'admin_name' => 'New From',
|
||||
// 'en' => [
|
||||
// 'name' => 'New From'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'New From'
|
||||
],
|
||||
'type' => 'datetime',
|
||||
'position' => 4,
|
||||
'is_required' => 0,
|
||||
|
|
@ -72,9 +72,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'new_to',
|
||||
'admin_name' => 'New To',
|
||||
// 'en' => [
|
||||
// 'name' => 'New To'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'New To'
|
||||
],
|
||||
'type' => 'datetime',
|
||||
'position' => 5,
|
||||
'is_required' => 0,
|
||||
|
|
@ -86,9 +86,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'visible_individually',
|
||||
'admin_name' => 'Visible Individually',
|
||||
// 'en' => [
|
||||
// 'name' => 'Visible Individually'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'Visible Individually'
|
||||
],
|
||||
'type' => 'boolean',
|
||||
'position' => 6,
|
||||
'is_required' => 1,
|
||||
|
|
@ -100,9 +100,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'status',
|
||||
'admin_name' => 'Status',
|
||||
// 'en' => [
|
||||
// 'name' => 'Status'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'Status'
|
||||
],
|
||||
'type' => 'boolean',
|
||||
'position' => 7,
|
||||
'is_required' => 1,
|
||||
|
|
@ -114,9 +114,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'short_description',
|
||||
'admin_name' => 'Short Description',
|
||||
// 'en' => [
|
||||
// 'name' => 'Short Description'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'Short Description'
|
||||
],
|
||||
'type' => 'textarea',
|
||||
'position' => 8,
|
||||
'is_required' => 1,
|
||||
|
|
@ -128,9 +128,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'description',
|
||||
'admin_name' => 'Description',
|
||||
// 'en' => [
|
||||
// 'name' => 'Description'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'Description'
|
||||
],
|
||||
'type' => 'textarea',
|
||||
'position' => 9,
|
||||
'is_required' => 1,
|
||||
|
|
@ -142,9 +142,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'price',
|
||||
'admin_name' => 'Price',
|
||||
// 'en' => [
|
||||
// 'name' => 'Price'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'Price'
|
||||
],
|
||||
'type' => 'price',
|
||||
'position' => 10,
|
||||
'is_required' => 1,
|
||||
|
|
@ -156,9 +156,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'cost',
|
||||
'admin_name' => 'Cost',
|
||||
// 'en' => [
|
||||
// 'name' => 'Cost'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'Cost'
|
||||
],
|
||||
'type' => 'price',
|
||||
'position' => 11,
|
||||
'is_required' => 0,
|
||||
|
|
@ -170,9 +170,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'special_price',
|
||||
'admin_name' => 'Special Price',
|
||||
// 'en' => [
|
||||
// 'name' => 'Special Price'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'Special Price'
|
||||
],
|
||||
'type' => 'price',
|
||||
'position' => 12,
|
||||
'is_required' => 0,
|
||||
|
|
@ -184,9 +184,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'special_price_from',
|
||||
'admin_name' => 'Special Price From',
|
||||
// 'en' => [
|
||||
// 'name' => 'Special Price From'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'Special Price From'
|
||||
],
|
||||
'type' => 'date',
|
||||
'position' => 13,
|
||||
'is_required' => 0,
|
||||
|
|
@ -198,9 +198,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'special_price_to',
|
||||
'admin_name' => 'Special Price To',
|
||||
// 'en' => [
|
||||
// 'name' => 'Special Price To'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'Special Price To'
|
||||
],
|
||||
'type' => 'date',
|
||||
'position' => 14,
|
||||
'is_required' => 0,
|
||||
|
|
@ -212,9 +212,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'meta_title',
|
||||
'admin_name' => 'Meta Title',
|
||||
// 'en' => [
|
||||
// 'name' => 'Meta Description'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'Meta Description'
|
||||
],
|
||||
'type' => 'textarea',
|
||||
'position' => 15,
|
||||
'is_required' => 0,
|
||||
|
|
@ -226,9 +226,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'meta_keywords',
|
||||
'admin_name' => 'Meta Keywords',
|
||||
// 'en' => [
|
||||
// 'name' => 'Meta Keywords'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'Meta Keywords'
|
||||
],
|
||||
'type' => 'textarea',
|
||||
'position' => 16,
|
||||
'is_required' => 0,
|
||||
|
|
@ -240,9 +240,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'meta_description',
|
||||
'admin_name' => 'Meta Description',
|
||||
// 'en' => [
|
||||
// 'name' => 'Meta Description'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'Meta Description'
|
||||
],
|
||||
'type' => 'textarea',
|
||||
'position' => 17,
|
||||
'is_required' => 0,
|
||||
|
|
@ -254,9 +254,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'width',
|
||||
'admin_name' => 'Width',
|
||||
// 'en' => [
|
||||
// 'name' => 'Width'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'Width'
|
||||
],
|
||||
'type' => 'text',
|
||||
'validation' => 'numeric',
|
||||
'position' => 18,
|
||||
|
|
@ -269,9 +269,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'height',
|
||||
'admin_name' => 'Height',
|
||||
// 'en' => [
|
||||
// 'name' => 'Height'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'Height'
|
||||
],
|
||||
'type' => 'text',
|
||||
'validation' => 'numeric',
|
||||
'position' => 19,
|
||||
|
|
@ -284,9 +284,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'depth',
|
||||
'admin_name' => 'Depth',
|
||||
// 'en' => [
|
||||
// 'name' => 'Depth'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'Depth'
|
||||
],
|
||||
'type' => 'text',
|
||||
'validation' => 'numeric',
|
||||
'position' => 20,
|
||||
|
|
@ -299,9 +299,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'weight',
|
||||
'admin_name' => 'Weight',
|
||||
// 'en' => [
|
||||
// 'name' => 'Weight'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'Weight'
|
||||
],
|
||||
'type' => 'text',
|
||||
'validation' => 'numeric',
|
||||
'position' => 21,
|
||||
|
|
@ -314,9 +314,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'color',
|
||||
'admin_name' => 'Color',
|
||||
// 'en' => [
|
||||
// 'name' => 'Color'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'Color'
|
||||
],
|
||||
'type' => 'select',
|
||||
'position' => 22,
|
||||
'is_required' => 0,
|
||||
|
|
@ -356,9 +356,9 @@ class AttributeTableSeeder extends Seeder
|
|||
], [
|
||||
'code' => 'size',
|
||||
'admin_name' => 'Size',
|
||||
// 'en' => [
|
||||
// 'name' => 'Size'
|
||||
// ],
|
||||
'en' => [
|
||||
'name' => 'Size'
|
||||
],
|
||||
'type' => 'select',
|
||||
'position' => 23,
|
||||
'is_required' => 0,
|
||||
|
|
|
|||
|
|
@ -636,7 +636,7 @@ class Cart {
|
|||
|
||||
$cart->sub_total = 0;
|
||||
$cart->base_sub_total = 0;
|
||||
|
||||
|
||||
$cart->tax_total = 0;
|
||||
$cart->base_tax_total = 0;
|
||||
|
||||
|
|
|
|||
|
|
@ -47,9 +47,6 @@ class CreateCartTable extends Migration
|
|||
$table->string('checkout_method')->nullable();
|
||||
$table->boolean('is_guest')->nullable();
|
||||
$table->boolean('is_active')->nullable()->default(1);
|
||||
$table->string('customer_first_name')->nullable();
|
||||
$table->string('customer_last_name')->nullable();
|
||||
$table->string('customer_email')->nullable();
|
||||
$table->dateTime('conversion_time')->nullable();
|
||||
|
||||
$table->integer('customer_id')->unsigned()->nullable();
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ class Cart extends Model
|
|||
{
|
||||
protected $table = 'cart';
|
||||
|
||||
protected $fillable = ['customer_id', 'session_id', 'channel_id', 'coupon_code', 'is_gift', 'items_count', 'items_qty', 'exchange_rate', 'global_currency_code', 'base_currency_code', 'channel_currency_code', 'cart_currency_code', 'grand_total', 'base_grand_total', 'sub_total', 'base_sub_total', 'sub_total_with_discount', 'base_sub_total_with_discount', 'checkout_method', 'is_guest', 'is_active', 'customer_first_name', 'conversion_time'];
|
||||
protected $guarded = ['id', 'created_at', 'updated_at'];
|
||||
|
||||
protected $hidden = ['coupon_code'];
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ class CartItem extends Model
|
|||
'additional' => 'array',
|
||||
];
|
||||
|
||||
protected $fillable = ['product_id', 'quantity', 'cart_id', 'sku', 'type', 'name', 'parent_id','tax_category_id', 'coupon_code', 'weight', 'total_weight', 'base_total_weight', 'price', 'total', 'base_total', 'total_with_discount', 'base_total_with_discount', 'base_price', 'custom_price', 'discount_percent', 'discount_amount', 'base_discount_amount', 'no_discount', 'free_shipping', 'additional'];
|
||||
protected $guarded = ['id', 'created_at', 'updated_at'];
|
||||
|
||||
public function product() {
|
||||
return $this->hasOne('Webkul\Product\Models\Product', 'id', 'product_id');
|
||||
|
|
|
|||
|
|
@ -111,7 +111,7 @@ class AddressController extends Controller
|
|||
'country' => 'string|required',
|
||||
'state' => 'string|required',
|
||||
'city' => 'string|required',
|
||||
'postcode' => 'numeric|required',
|
||||
'postcode' => 'required',
|
||||
|
||||
]);
|
||||
|
||||
|
|
@ -171,7 +171,7 @@ class AddressController extends Controller
|
|||
'country' => 'string|required',
|
||||
'state' => 'string|required',
|
||||
'city' => 'string|required',
|
||||
'postcode' => 'numeric|required',
|
||||
'postcode' => 'required',
|
||||
|
||||
]);
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,79 @@
|
|||
<?php
|
||||
|
||||
namespace Webkul\Customer\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
|
||||
use Illuminate\Support\Facades\Password;
|
||||
|
||||
class ForgotPasswordController extends Controller
|
||||
{
|
||||
|
||||
use SendsPasswordResetEmails;
|
||||
|
||||
/**
|
||||
* Contains route related configuration
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $_config;
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->_config = request('_config');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
return view($this->_config['view']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store()
|
||||
{
|
||||
$this->validate(request(), [
|
||||
'email' => 'required|email'
|
||||
]);
|
||||
|
||||
$response = $this->broker()->sendResetLink(
|
||||
request(['email'])
|
||||
);
|
||||
//dd($response);
|
||||
if($response == Password::RESET_LINK_SENT) {
|
||||
session()->flash('success', trans($response));
|
||||
|
||||
return back();
|
||||
}
|
||||
|
||||
return back()
|
||||
->withInput(request(['email']))
|
||||
->withErrors(
|
||||
['email' => trans($response)]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the broker to be used during password reset.
|
||||
*
|
||||
* @return \Illuminate\Contracts\Auth\PasswordBroker
|
||||
*/
|
||||
public function broker()
|
||||
{
|
||||
return Password::broker('customers');
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,113 @@
|
|||
<?php
|
||||
|
||||
namespace Webkul\Customer\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Foundation\Auth\ResetsPasswords;
|
||||
use Illuminate\Support\Facades\Password;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Auth\Events\PasswordReset;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
|
||||
class ResetPasswordController extends Controller
|
||||
{
|
||||
|
||||
use ResetsPasswords;
|
||||
|
||||
/**
|
||||
* Contains route related configuration
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $_config;
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->_config = request('_config');
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the password reset view for the given token.
|
||||
*
|
||||
* If no token is present, display the link request form.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param string|null $token
|
||||
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
|
||||
*/
|
||||
public function create(Request $request, $token = null)
|
||||
{
|
||||
return view($this->_config['view'])->with(
|
||||
['token' => $token, 'email' => $request->email]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store()
|
||||
{
|
||||
//dd(request()->input());
|
||||
$this->validate(request(), [
|
||||
'token' => 'required',
|
||||
'email' => 'required|email',
|
||||
'password' => 'required|confirmed|min:6',
|
||||
]);
|
||||
|
||||
$response = $this->broker()->reset(
|
||||
request(['email', 'password', 'password_confirmation', 'token']), function ($customer, $password) {
|
||||
$this->resetPassword($customer, $password);
|
||||
}
|
||||
);
|
||||
// dd($response);
|
||||
if($response == Password::PASSWORD_RESET) {
|
||||
return redirect()->route($this->_config['redirect']);
|
||||
}
|
||||
|
||||
return back()
|
||||
->withInput(request(['email']))
|
||||
->withErrors([
|
||||
'email' => trans($response)
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Reset the given customer password.
|
||||
*
|
||||
* @param \Illuminate\Contracts\Auth\CanResetPassword $customer
|
||||
* @param string $password
|
||||
* @return void
|
||||
*/
|
||||
protected function resetPassword($customer, $password)
|
||||
{
|
||||
$customer->password = Hash::make($password);
|
||||
|
||||
$customer->setRememberToken(Str::random(60));
|
||||
|
||||
$customer->save();
|
||||
|
||||
event(new PasswordReset($customer));
|
||||
|
||||
auth()->guard('customer')->login($customer);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the broker to be used during password reset.
|
||||
*
|
||||
* @return \Illuminate\Contracts\Auth\PasswordBroker
|
||||
*/
|
||||
public function broker()
|
||||
{
|
||||
return Password::broker('customers');
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -67,6 +67,21 @@ Route::group(['middleware' => ['web']], function () {
|
|||
// 'redirect' => 'admin.reviews.index'
|
||||
// ])->name('admin.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('password.reset');
|
||||
|
||||
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 () {
|
||||
|
|
|
|||
|
|
@ -786,7 +786,7 @@ section.slider-block {
|
|||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
display: flex;
|
||||
background: #f2f2f2;
|
||||
|
||||
border: 1px solid $border-color;
|
||||
flex-direction: column;
|
||||
max-width: 530px;
|
||||
|
|
@ -848,7 +848,7 @@ section.slider-block {
|
|||
align-content: center;
|
||||
justify-content: flex-start;
|
||||
border: 1px solid $border-color;
|
||||
background: #f2f2f2;
|
||||
|
||||
width: 25%;
|
||||
height: 100%;
|
||||
text-transform: capitalize;
|
||||
|
|
@ -934,6 +934,31 @@ section.slider-block {
|
|||
margin-top: 1%;
|
||||
width: 100%;
|
||||
|
||||
.section-head {
|
||||
.profile-heading {
|
||||
font-size: 28px;
|
||||
color: $font-color;
|
||||
text-transform: capitalize;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.profile-edit {
|
||||
font-size: 17px;
|
||||
margin-top: 1%;
|
||||
color: $brand-color;
|
||||
letter-spacing: -0.11px;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.horizontal-rule {
|
||||
margin-top: 1.1%;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
vertical-align: middle;
|
||||
background: $border-color;
|
||||
}
|
||||
}
|
||||
|
||||
.edit-text {
|
||||
margin-bottom: 2%;
|
||||
margin-left: auto;
|
||||
|
|
@ -943,7 +968,7 @@ section.slider-block {
|
|||
|
||||
.edit-form {
|
||||
display: flex;
|
||||
background: #f2f2f2;
|
||||
|
||||
border: 1px solid $border-color;
|
||||
flex-direction: column;
|
||||
min-height: 345px;
|
||||
|
|
|
|||
|
|
@ -10,8 +10,7 @@
|
|||
.product-grid-3 {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
|
||||
grid-column-gap: 27px;
|
||||
grid-row-gap: 15px;
|
||||
grid-gap: 27px;
|
||||
grid-auto-rows: auto;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
@extends('shop::layouts.master')
|
||||
|
||||
@section('page_title')
|
||||
Customer - Address
|
||||
@endsection
|
||||
|
||||
@section('content-wrapper')
|
||||
|
||||
<div class="account-content">
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
@extends('shop::layouts.master')
|
||||
@section('page_title')
|
||||
Customer - Create Address
|
||||
@endsection
|
||||
@section('content-wrapper')
|
||||
<div class="account-content">
|
||||
@include('shop::customers.account.partials.sidemenu')
|
||||
|
|
@ -43,7 +46,7 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('postcode') ? 'has-error' : '']">
|
||||
<label for="postcode">Postcode</label>
|
||||
<input type="text" class="control" name="postcode" v-validate="'required|digits:6'">
|
||||
<input type="text" class="control" name="postcode" v-validate="'required'">
|
||||
<span class="control-error" v-if="errors.has('postcode')">@{{ errors.first('postcode') }}</span>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,10 +1,17 @@
|
|||
@extends('shop::layouts.master')
|
||||
@section('page_title')
|
||||
Customer - Edit Address
|
||||
@endsection
|
||||
@section('content-wrapper')
|
||||
<div class="account-content">
|
||||
@include('shop::customers.account.partials.sidemenu')
|
||||
|
||||
<div class="address-form-content">
|
||||
<div class="title">Add Address</div>
|
||||
<div class="edit-form-content">
|
||||
|
||||
<div class="section-head mb-10">
|
||||
<div class="profile-heading">Edit Address</div>
|
||||
</div>
|
||||
|
||||
<form method="post" action="{{ route('customer.address.edit') }}">
|
||||
|
||||
<div class="edit-form">
|
||||
|
|
@ -42,7 +49,7 @@
|
|||
|
||||
<div class="control-group" :class="[errors.has('postcode') ? 'has-error' : '']">
|
||||
<label for="postcode">Postcode</label>
|
||||
<input type="text" class="control" name="postcode" v-validate="'required|digits:10'" value ="{{ $address['postcode'] }}">
|
||||
<input type="text" class="control" name="postcode" v-validate="'required'" value ="{{ $address['postcode'] }}">
|
||||
<span class="control-error" v-if="errors.has('postcode')">@{{ errors.first('postcode') }}</span>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,9 @@
|
|||
@extends('shop::layouts.master')
|
||||
|
||||
@section('page_title')
|
||||
Customer - Edit Profile
|
||||
@endsection
|
||||
|
||||
@section('content-wrapper')
|
||||
<div class="account-content">
|
||||
|
||||
|
|
@ -7,7 +11,9 @@
|
|||
|
||||
<div class="edit-form-content">
|
||||
|
||||
<div class="title">Edit Profile</div>
|
||||
<div class="section-head mb-10">
|
||||
<div class="profile-heading">Edit Profile</div>
|
||||
</div>
|
||||
|
||||
<form method="post" action="{{ route('customer.profile.edit') }}">
|
||||
|
||||
|
|
|
|||
|
|
@ -6,23 +6,22 @@
|
|||
|
||||
@include('shop::customers.account.partials.sidemenu')
|
||||
|
||||
<div class="profile">
|
||||
<div class="account-lauyout = profile">
|
||||
|
||||
<div class="section-head">
|
||||
<span class="profile-heading">Profile</span>
|
||||
<span class="profile-heading"> profile</span>
|
||||
<span class="profile-edit"><a href="{{ route('customer.profile.edit') }}">Edit</a></span>
|
||||
<div class="horizontal-rule"></div>
|
||||
</div>
|
||||
|
||||
<div class="profile-content">
|
||||
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>First Name</td>
|
||||
<td>{{ $customer['first_name'] }}</td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td>Last Name</td>
|
||||
<td>{{ $customer['last_name'] }}</td>
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@
|
|||
</div>
|
||||
|
||||
<div class="forgot-password-link">
|
||||
<a href="">{{ __('shop::app.customer.login-form.forgot_pass') }}</a>
|
||||
<a href="{{ route('customer.forgot-password.create') }}">{{ __('shop::app.customer.login-form.forgot_pass') }}</a>
|
||||
</div>
|
||||
|
||||
<input class="btn btn-primary btn-lg" type="submit" value="{{ __('shop::app.customer.login-form.button_title') }}">
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
@extends('shop::layouts.master')
|
||||
|
||||
@section('content-wrapper')
|
||||
|
||||
<div class="content">
|
||||
|
||||
<form method="post" action="{{ route('customer.forgot-password.store') }}">
|
||||
|
||||
{{ csrf_field() }}
|
||||
|
||||
<div class="login-form">
|
||||
|
||||
<div class="login-text">{{ __('shop::app.customer.forgot-password-form.title') }}</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('email') ? 'has-error' : '']">
|
||||
<label for="email">{{ __('shop::app.customer.forgot-password-form.email') }}</label>
|
||||
<input type="email" class="control" name="email" v-validate="'required|email'">
|
||||
<span class="control-error" v-if="errors.has('email')">@{{ errors.first('email') }}</span>
|
||||
</div>
|
||||
|
||||
<input class="btn btn-primary btn-lg" type="submit" value="{{ __('shop::app.customer.forgot-password-form.button_title') }}">
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@endsection
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
@extends('shop::layouts.master')
|
||||
|
||||
@section('content-wrapper')
|
||||
|
||||
<div class="content">
|
||||
|
||||
<form method="post" action="{{ route('customer.reset-password.store') }}" >
|
||||
|
||||
{{ csrf_field() }}
|
||||
|
||||
<div class="login-form">
|
||||
|
||||
<div class="login-text">{{ __('shop::app.customer.password-reset-form.title') }}</div>
|
||||
|
||||
<input type="hidden" name="token" value="{{ $token }}">
|
||||
|
||||
<div class="control-group" :class="[errors.has('email') ? 'has-error' : '']">
|
||||
<label for="email">{{ __('shop::app.customer.password-reset-form.email') }}</label>
|
||||
<input type="text" v-validate="'required|email'" class="control" id="email" name="email" value="{{ old('email') }}"/>
|
||||
<span class="control-error" v-if="errors.has('email')">@{{ errors.first('email') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('password') ? 'has-error' : '']">
|
||||
<label for="password">{{ __('shop::app.customer.password-reset-form.password') }}</label>
|
||||
<input type="password" class="control" name="password" v-validate="'required|min:6'" ref="password">
|
||||
<span class="control-error" v-if="errors.has('password')">@{{ errors.first('password') }}</span>
|
||||
</div>
|
||||
|
||||
<div class="control-group" :class="[errors.has('confirm_password') ? 'has-error' : '']">
|
||||
<label for="confirm_password">{{ __('shop::app.customer.password-reset-form.confirm_pass') }}</label>
|
||||
<input type="password" class="control" name="password_confirmation" v-validate="'required|min:6|confirmed:password'">
|
||||
<span class="control-error" v-if="errors.has('confirm_password')">@{{ errors.first('confirm_password') }}</span>
|
||||
</div>
|
||||
|
||||
<input class="btn btn-primary btn-lg" type="submit" value="{{ __('shop::app.customer.password-reset-form.button_title') }}">
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
@endsection
|
||||
|
|
@ -1,5 +1,9 @@
|
|||
@extends('shop::layouts.master')
|
||||
|
||||
@section('page_title')
|
||||
Bagisto - Home
|
||||
@endsection
|
||||
|
||||
@section('slider')
|
||||
@include('shop::home.slider')
|
||||
@endsection
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
<div class="header" id="header">
|
||||
<div class="header-top">
|
||||
<div class="left-content">
|
||||
|
||||
<ul class="logo-container">
|
||||
<li>
|
||||
<a href="{{ route('shop.home.index') }}">
|
||||
|
|
@ -22,30 +21,30 @@
|
|||
</div>
|
||||
|
||||
<div class="right-content">
|
||||
|
||||
<ul class="account-dropdown-container">
|
||||
|
||||
<li class="account-dropdown">
|
||||
|
||||
<span class="icon account-icon"></span>
|
||||
|
||||
<div class="dropdown-toggle">
|
||||
|
||||
<div style="display: inline-block; cursor: pointer;">
|
||||
<span class="name">Account</span>
|
||||
|
||||
@guest('customer')
|
||||
<span class="name">Login & Register</span>
|
||||
@endguest
|
||||
|
||||
@auth('customer')
|
||||
<span class="name">Account</span>
|
||||
@endauth
|
||||
|
||||
</div>
|
||||
|
||||
<i class="icon arrow-down-icon active"></i>
|
||||
|
||||
</div>
|
||||
|
||||
@guest
|
||||
<div class="dropdown-list bottom-right" style="display: none;">
|
||||
|
||||
<div class="dropdown-container">
|
||||
|
||||
<label>Account</label>
|
||||
|
||||
<ul>
|
||||
<li><a href="{{ route('customer.session.index') }}">Sign In</a></li>
|
||||
|
||||
|
|
@ -85,7 +84,7 @@
|
|||
<ul class="cart-dropdown-container">
|
||||
|
||||
<?php $cart = cart()->getCart(); ?>
|
||||
|
||||
|
||||
@inject ('productImageHelper', 'Webkul\Product\Product\ProductImage')
|
||||
|
||||
<li class="cart-dropdown">
|
||||
|
|
|
|||
|
|
@ -96,8 +96,7 @@
|
|||
.product-grid-3 {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
|
||||
grid-column-gap: 27px;
|
||||
grid-row-gap: 15px;
|
||||
grid-gap: 27px;
|
||||
grid-auto-rows: auto;
|
||||
}
|
||||
|
||||
|
|
@ -1383,7 +1382,6 @@ section.slider-block div.slider-content div.slider-control .light-right-icon {
|
|||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
background: #f2f2f2;
|
||||
border: 1px solid #E8E8E8;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
|
|
@ -1460,7 +1458,6 @@ section.slider-block div.slider-content div.slider-control .light-right-icon {
|
|||
-ms-flex-pack: start;
|
||||
justify-content: flex-start;
|
||||
border: 1px solid #E8E8E8;
|
||||
background: #f2f2f2;
|
||||
width: 25%;
|
||||
height: 100%;
|
||||
text-transform: capitalize;
|
||||
|
|
@ -1549,6 +1546,29 @@ section.slider-block div.slider-content div.slider-control .light-right-icon {
|
|||
width: 100%;
|
||||
}
|
||||
|
||||
.account-content .edit-form-content .section-head .profile-heading {
|
||||
font-size: 28px;
|
||||
color: #242424;
|
||||
text-transform: capitalize;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.account-content .edit-form-content .section-head .profile-edit {
|
||||
font-size: 17px;
|
||||
margin-top: 1%;
|
||||
color: #0041FF;
|
||||
letter-spacing: -0.11px;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.account-content .edit-form-content .section-head .horizontal-rule {
|
||||
margin-top: 1.1%;
|
||||
width: 100%;
|
||||
height: 1px;
|
||||
vertical-align: middle;
|
||||
background: #E8E8E8;
|
||||
}
|
||||
|
||||
.account-content .edit-form-content .edit-text {
|
||||
margin-bottom: 2%;
|
||||
margin-left: auto;
|
||||
|
|
@ -1560,7 +1580,6 @@ section.slider-block div.slider-content div.slider-control .light-right-icon {
|
|||
display: -webkit-box;
|
||||
display: -ms-flexbox;
|
||||
display: flex;
|
||||
background: #f2f2f2;
|
||||
border: 1px solid #E8E8E8;
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-box-direction: normal;
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue