enhance add to basket
This commit is contained in:
@@ -14,8 +14,6 @@ class ArticleController extends Controller
|
||||
{
|
||||
$data = self::init();
|
||||
$data['article'] = Articles::getArticleToSell($id);
|
||||
// dump($data);
|
||||
// exit;
|
||||
return view('Shop.Articles.show', $data);
|
||||
}
|
||||
}
|
||||
|
||||
88
app/Http/Controllers/Shop/Auth/LoginController.php
Normal file
88
app/Http/Controllers/Shop/Auth/LoginController.php
Normal file
@@ -0,0 +1,88 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Shop\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Foundation\Auth\AuthenticatesUsers;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
use App\Repositories\Layout;
|
||||
use App\Repositories\Languages;
|
||||
use App\Repositories\Shop\Customers;
|
||||
|
||||
class LoginController extends Controller
|
||||
{
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Login Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller handles authenticating users for the application and
|
||||
| redirecting them to your home screen. The controller uses a trait
|
||||
| to conveniently provide its functionality to your applications.
|
||||
|
|
||||
*/
|
||||
|
||||
use AuthenticatesUsers;
|
||||
|
||||
/**
|
||||
* Where to redirect users after login.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $redirectTo = '/';
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('customer')->except('logout');
|
||||
}
|
||||
|
||||
public function showLoginForm()
|
||||
{
|
||||
$data['url'] = route('Shop.Auth.login.post');
|
||||
return view('Shop.Auth.login', $data);
|
||||
}
|
||||
|
||||
protected function guard()
|
||||
{
|
||||
return Auth::guard('customer');
|
||||
}
|
||||
|
||||
public function login(Request $request)
|
||||
{
|
||||
$this->validate($request, [
|
||||
'username' => 'required|email',
|
||||
'password' => 'required|min:6'
|
||||
]);
|
||||
|
||||
if (Auth::guard('customer')->attempt(['username' => $request->username, 'password' => $request->password], $request->get('remember'))) {
|
||||
return redirect()->intended(route('Conferencing.event'));
|
||||
}
|
||||
return back()->withInput($request->only('username', 'remember'));
|
||||
}
|
||||
|
||||
public function logout(Request $request)
|
||||
{
|
||||
|
||||
// Get the session key for this user
|
||||
$sessionKey = $this->guard()->getName();
|
||||
|
||||
$this->guard()->logout();
|
||||
|
||||
// Delete single session key (just for this user)
|
||||
$request->session()->forget($sessionKey);
|
||||
|
||||
return redirect()->route('home');
|
||||
}
|
||||
|
||||
public function username()
|
||||
{
|
||||
return 'username';
|
||||
}
|
||||
}
|
||||
48
app/Http/Controllers/Shop/Auth/ResetPasswordController.php
Normal file
48
app/Http/Controllers/Shop/Auth/ResetPasswordController.php
Normal file
@@ -0,0 +1,48 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Shop\Auth;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Foundation\Auth\ResetsPasswords;
|
||||
|
||||
class ResetPasswordController extends Controller
|
||||
{
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Reset Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller is responsible for handling password reset requests
|
||||
| and uses a simple trait to include this behavior. You're free to
|
||||
| explore this trait and override any methods you wish to tweak.
|
||||
|
|
||||
*/
|
||||
|
||||
use ResetsPasswords;
|
||||
|
||||
/**
|
||||
* Where to redirect users after resetting their password.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $redirectTo = '/';
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('guest');
|
||||
}
|
||||
|
||||
public function showResetForm(Request $request, $token = null)
|
||||
{
|
||||
$data = $this->initHeader();
|
||||
$data['token'] = $token;
|
||||
$data['email'] = $request->email;
|
||||
return view('Auth.passwords.reset', $data);
|
||||
}
|
||||
}
|
||||
@@ -23,21 +23,21 @@ class BasketController extends Controller
|
||||
{
|
||||
$offer_id = $request->input('offer_id');
|
||||
$quantity = $request->input('quantity');
|
||||
|
||||
if (ShopCart::has($offer_id)) {
|
||||
$ret = ShopCart::remove($offer_id);
|
||||
}
|
||||
$data = $quantity ? Offers::getBasketData($offer_id, $quantity) : false;
|
||||
$ret = $data ? ShopCart::add($data) : false;
|
||||
return true;
|
||||
return Offers::addBasket($offer_id, $quantity);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function modalBasket($offer_id, $quantity)
|
||||
{
|
||||
$data['offer'] = Offers::getFull($offer_id)->toArray();
|
||||
$data['basket'] = Offers::addBasket($offer_id, $quantity);
|
||||
return view('Shop.Baskets.partials.modalBasket', $data);
|
||||
}
|
||||
|
||||
public function basket()
|
||||
{
|
||||
$data = self::init();
|
||||
$data['basket'] = Offers::getBasket();
|
||||
//dump($data['basket']);
|
||||
// exit;
|
||||
return view('Shop.Baskets.basket', $data);
|
||||
}
|
||||
|
||||
|
||||
@@ -8,9 +8,15 @@ use \Cart;
|
||||
|
||||
class ShopCart
|
||||
{
|
||||
public static function add($data)
|
||||
public static function add($item)
|
||||
{
|
||||
return self::get()->add($data);
|
||||
$ret = self::get()->add($item);
|
||||
return [
|
||||
'count' => self::count(),
|
||||
'quantity' => self::getTotalQuantity(),
|
||||
'total' => self::getTotal(),
|
||||
'added' => $item,
|
||||
];
|
||||
}
|
||||
|
||||
public static function remove($id)
|
||||
@@ -39,6 +45,16 @@ class ShopCart
|
||||
return self::getContent()->count();
|
||||
}
|
||||
|
||||
public static function getTotalQuantity()
|
||||
{
|
||||
return self::get()->getTotalQuantity();
|
||||
}
|
||||
|
||||
public static function getTotal()
|
||||
{
|
||||
return self::get()->getTotal();
|
||||
}
|
||||
|
||||
public static function getContent()
|
||||
{
|
||||
return self::get()->getContent();
|
||||
|
||||
@@ -98,12 +98,12 @@ class Articles
|
||||
case 'App\Models\Botanic\Variety':
|
||||
$variety = $article->product;
|
||||
$specie = $variety->specie;
|
||||
$description = empty($specie->description) ? '' : $specie->description . '<br>';
|
||||
$description .= empty($variety->description) ? '' : $variety->description . '<br>';
|
||||
$description = empty($specie->description) ? '' : $specie->description . '<br><br>';
|
||||
$description .= empty($variety->description) ? '' : $variety->description . '<br><br>';
|
||||
break;
|
||||
case 'App\Models\Botanic\Specie':
|
||||
$specie = $article->product;
|
||||
$description = empty($specie->description) ? '' : $specie->description . '<br>';
|
||||
$description = empty($specie->description) ? '' : $specie->description . '<br><br>';
|
||||
break;
|
||||
default:
|
||||
$description = '';
|
||||
|
||||
@@ -7,6 +7,32 @@ use App\Repositories\Core\User\ShopCart;
|
||||
|
||||
class Offers
|
||||
{
|
||||
public static function addBasket($offer_id, $quantity = 1)
|
||||
{
|
||||
if (ShopCart::has($offer_id)) {
|
||||
$ret = ShopCart::remove($offer_id);
|
||||
}
|
||||
$data = $quantity ? Offers::getBasketData($offer_id, $quantity) : false;
|
||||
return $data ? ShopCart::add($data) : false;
|
||||
}
|
||||
|
||||
public static function getFull($id, $sale_channel_id = false)
|
||||
{
|
||||
$sale_channel_id = $sale_channel_id ? $sale_channel_id : SaleChannels::getDefaultID();
|
||||
return Offer::with([
|
||||
'article.article_nature',
|
||||
'article.product',
|
||||
'article.image',
|
||||
'tariff' => function ($query) use ($sale_channel_id) {
|
||||
$query->bySaleChannel($sale_channel_id);
|
||||
},
|
||||
'tariff.price_lists' => function ($query) use ($sale_channel_id) {
|
||||
$query->BySaleChannel($sale_channel_id);
|
||||
},
|
||||
'tariff.price_lists.price_list_values',
|
||||
'variation',
|
||||
])->find($id);
|
||||
}
|
||||
|
||||
public static function getPrice($id, $quantity = 1, $sale_channel_id = false)
|
||||
{
|
||||
@@ -153,5 +179,4 @@ class Offers
|
||||
{
|
||||
return self::update(['status_id' => $status_id], $id);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user