first upload all files
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Account\Http\Controllers;
|
||||
|
||||
use Modules\Support\Country;
|
||||
use Illuminate\Routing\Controller;
|
||||
use Modules\Address\Entities\Address;
|
||||
use Modules\Account\Http\Requests\SaveAddressRequest;
|
||||
|
||||
class AccountAddressController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
return view('public.account.addresses.index', [
|
||||
'addresses' => auth()->user()->addresses->keyBy('id'),
|
||||
'defaultAddress' => auth()->user()->defaultAddress,
|
||||
'countries' => Country::supported(),
|
||||
]);
|
||||
}
|
||||
|
||||
public function store(SaveAddressRequest $request)
|
||||
{
|
||||
$address = auth()->user()->addresses()->create($request->all());
|
||||
|
||||
return response()->json([
|
||||
'address' => $address,
|
||||
'message' => trans('account::messages.address_saved'),
|
||||
]);
|
||||
}
|
||||
|
||||
public function update(SaveAddressRequest $request, $id)
|
||||
{
|
||||
$address = Address::find($id);
|
||||
$address->update($request->all());
|
||||
|
||||
return response()->json([
|
||||
'address' => $address,
|
||||
'message' => trans('account::messages.address_saved'),
|
||||
]);
|
||||
}
|
||||
|
||||
public function destroy($id)
|
||||
{
|
||||
auth()->user()->addresses()->find($id)->delete();
|
||||
|
||||
return response()->json([
|
||||
'message' => trans('account::messages.address_deleted'),
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Account\Http\Controllers;
|
||||
|
||||
class AccountDashboardController
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
return view('public.account.dashboard.index', [
|
||||
'account' => auth()->user(),
|
||||
'recentOrders' => auth()->user()->recentOrders(5),
|
||||
]);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Account\Http\Controllers;
|
||||
|
||||
use Illuminate\Routing\Controller;
|
||||
use Modules\Address\Entities\DefaultAddress;
|
||||
|
||||
class AccountDefaultAddressController extends Controller
|
||||
{
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @return \Illuminate\Contracts\Support\Renderable
|
||||
*/
|
||||
public function update()
|
||||
{
|
||||
DefaultAddress::updateOrCreate(
|
||||
['customer_id' => auth()->id()],
|
||||
['address_id' => request('address_id')]
|
||||
);
|
||||
|
||||
return trans('account::messages.default_address_updated');
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Account\Http\Controllers;
|
||||
|
||||
use Modules\Order\Entities\Order;
|
||||
|
||||
class AccountDownloadsController
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
return view('public.account.downloads.index', [
|
||||
'downloads' => $this->getDownloads(),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$file = $this->getDownloads()->firstWhere('id', decrypt($id));
|
||||
|
||||
if (is_null($file) || ! file_exists($file->realPath())) {
|
||||
return back()->with('error', trans('storefront::account.downloads.no_file_found'));
|
||||
}
|
||||
|
||||
return response()->download($file->realPath(), $file->filename);
|
||||
}
|
||||
|
||||
private function getDownloads()
|
||||
{
|
||||
return auth()->user()
|
||||
->orders()
|
||||
->with('downloads')
|
||||
->where('status', Order::COMPLETED)
|
||||
->latest()
|
||||
->get()
|
||||
->pluck('downloads.*.file')
|
||||
->flatten()
|
||||
->unique('id');
|
||||
}
|
||||
}
|
||||
38
Modules/Account/Http/Controllers/AccountOrdersController.php
Normal file
38
Modules/Account/Http/Controllers/AccountOrdersController.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Account\Http\Controllers;
|
||||
|
||||
class AccountOrdersController
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$orders = auth()->user()
|
||||
->orders()
|
||||
->latest()
|
||||
->paginate(20);
|
||||
|
||||
return view('public.account.orders.index', compact('orders'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$order = auth()->user()
|
||||
->orders()
|
||||
->with(['products', 'coupon', 'taxes'])
|
||||
->where('id', $id)
|
||||
->firstOrFail();
|
||||
|
||||
return view('public.account.orders.show', compact('order'));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Account\Http\Controllers;
|
||||
|
||||
use Modules\User\Http\Requests\UpdateProfileRequest;
|
||||
|
||||
class AccountProfileController
|
||||
{
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit()
|
||||
{
|
||||
return view('public.account.profile.edit', [
|
||||
'account' => auth()->user(),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Modules\User\Http\Requests\UpdateProfileRequest $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(UpdateProfileRequest $request)
|
||||
{
|
||||
$request->bcryptPassword($request);
|
||||
|
||||
auth()->user()->update($request->all());
|
||||
|
||||
return back()->with('success', trans('account::messages.profile_updated'));
|
||||
}
|
||||
}
|
||||
23
Modules/Account/Http/Controllers/AccountReviewController.php
Normal file
23
Modules/Account/Http/Controllers/AccountReviewController.php
Normal file
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Account\Http\Controllers;
|
||||
|
||||
class AccountReviewController
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$reviews = auth()->user()
|
||||
->reviews()
|
||||
->withoutGlobalScope('approved')
|
||||
->with('product.files')
|
||||
->whereHas('product')
|
||||
->paginate(20);
|
||||
|
||||
return view('public.account.reviews.index', compact('reviews'));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace Modules\Account\Http\Controllers;
|
||||
|
||||
class AccountWishlistController
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
return view('public.account.wishlist.index');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user