mirror of https://github.com/4xmen/xshop.git
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
119 lines
3.0 KiB
PHP
119 lines
3.0 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Address;
|
|
use App\Models\Customer;
|
|
use Illuminate\Http\Request;
|
|
|
|
class AddressController extends Controller
|
|
{
|
|
|
|
public function save(Address $address, Request $request)
|
|
{
|
|
$address->address = $request->input('address');
|
|
$address->lat = $request->input('lat');
|
|
$address->lng = $request->input('lng');
|
|
$address->state_id = $request->input('state_id')??null;
|
|
$address->city_id = $request->input('city_id')??null;
|
|
$address->zip = $request->input('zip');
|
|
$address->save();
|
|
return $address;
|
|
}
|
|
|
|
/**
|
|
* Display a listing of the resource.
|
|
*/
|
|
public function index()
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Show the form for creating a new resource.
|
|
*/
|
|
public function create()
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Store a newly created resource in storage.
|
|
*/
|
|
public function store(Request $request, Customer $item)
|
|
{
|
|
//
|
|
|
|
$request->validate([
|
|
'address' => ['required', 'string', 'min:10'],
|
|
'zip' => ['required', 'string', 'min:5'],
|
|
'state_id' => ['required', 'exists:states,id'],
|
|
'city_id' => ['required', 'exists:cities,id'],
|
|
'lat' => ['nullable'],
|
|
'lng' => ['nullable'],
|
|
]);
|
|
|
|
$address = new Address();
|
|
$address->customer_id = $item->id;
|
|
$address = $this->save($address, $request);
|
|
logAdmin(__METHOD__,Address::class,$address->id);
|
|
return ['OK' => true,'message' => __("Address added to :CUSTOMER",['CUSTOMER'=>$item->name]), 'list'=> $item->addresses];
|
|
|
|
}
|
|
|
|
/**
|
|
* Display the specified resource.
|
|
*/
|
|
public function show(Address $address)
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Show the form for editing the specified resource.
|
|
*/
|
|
public function edit(Address $address)
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Update the specified resource in storage.
|
|
*/
|
|
public function update(Request $request, Address $item)
|
|
{
|
|
//
|
|
$request->validate([
|
|
'address' => ['required', 'string', 'min:10'],
|
|
'zip' => ['required', 'string', 'min:5'],
|
|
'state_id' => ['required', 'exists:states,id'],
|
|
'city_id' => ['required', 'exists:cities,id'],
|
|
'lat' => ['nullable'],
|
|
'lng' => ['nullable'],
|
|
]);
|
|
$this->save($item, $request);
|
|
logAdmin(__METHOD__,Address::class,$item->id);
|
|
return ['OK' => true, "message" => __("address updated")];
|
|
}
|
|
|
|
/**
|
|
* Remove the specified resource from storage.
|
|
*/
|
|
public function destroy(Address $item)
|
|
{
|
|
//
|
|
$add = $item->address ;
|
|
|
|
logAdmin(__METHOD__,Address::class,$item->id);
|
|
$item->delete();
|
|
return ['OK' => true, "message" => __(":ADDRESS removed",['ADDRESS' => $add])];
|
|
}
|
|
|
|
|
|
public function customer(Customer $item)
|
|
{
|
|
return $item->addresses;
|
|
}
|
|
}
|