2020-09-24 14:40:27 +02:00
|
|
|
<?php
|
|
|
|
|
2023-12-13 17:52:49 +01:00
|
|
|
namespace App\Livewire\Profile\Settings;
|
2020-09-24 14:40:27 +02:00
|
|
|
|
|
|
|
use Livewire\Component;
|
|
|
|
|
|
|
|
class ShippingAddress extends Component
|
|
|
|
{
|
|
|
|
public $profile;
|
|
|
|
|
|
|
|
public $shipping_address1;
|
2022-06-21 11:57:17 +02:00
|
|
|
|
2020-09-24 14:40:27 +02:00
|
|
|
public $shipping_address2;
|
2022-06-21 11:57:17 +02:00
|
|
|
|
2020-09-24 14:40:27 +02:00
|
|
|
public $shipping_city;
|
2022-06-21 11:57:17 +02:00
|
|
|
|
2020-09-24 14:40:27 +02:00
|
|
|
public $shipping_state;
|
2022-06-21 11:57:17 +02:00
|
|
|
|
2020-09-24 14:40:27 +02:00
|
|
|
public $shipping_postal_code;
|
2022-06-21 11:57:17 +02:00
|
|
|
|
2020-09-24 14:40:27 +02:00
|
|
|
public $shipping_country_id;
|
|
|
|
|
|
|
|
public $countries;
|
|
|
|
|
|
|
|
public $saved;
|
|
|
|
|
|
|
|
protected $rules = [
|
2021-01-15 13:27:46 +01:00
|
|
|
'shipping_address1' => ['sometimes'],
|
|
|
|
'shipping_address2' => ['sometimes'],
|
|
|
|
'shipping_city' => ['sometimes'],
|
|
|
|
'shipping_state' => ['sometimes'],
|
|
|
|
'shipping_postal_code' => ['sometimes'],
|
|
|
|
'shipping_country_id' => ['sometimes'],
|
2020-09-24 14:40:27 +02:00
|
|
|
];
|
|
|
|
|
|
|
|
public function mount($countries)
|
|
|
|
{
|
|
|
|
$this->fill([
|
2022-02-15 23:13:23 +01:00
|
|
|
'profile' => auth()->guard('contact')->user()->client,
|
|
|
|
'shipping_address1' => auth()->guard('contact')->user()->client->shipping_address1,
|
|
|
|
'shipping_address2' => auth()->guard('contact')->user()->client->shipping_address2,
|
|
|
|
'shipping_city' => auth()->guard('contact')->user()->client->shipping_city,
|
|
|
|
'shipping_state' => auth()->guard('contact')->user()->client->shipping_state,
|
|
|
|
'shipping_postal_code' => auth()->guard('contact')->user()->client->shipping_postal_code,
|
|
|
|
'shipping_country_id' => auth()->guard('contact')->user()->client->shipping_country_id,
|
2020-09-24 14:40:27 +02:00
|
|
|
|
|
|
|
'countries' => $countries,
|
|
|
|
'saved' => ctrans('texts.save'),
|
|
|
|
]);
|
|
|
|
}
|
|
|
|
|
|
|
|
public function render()
|
|
|
|
{
|
|
|
|
return render('profile.settings.shipping-address');
|
|
|
|
}
|
|
|
|
|
|
|
|
public function submit()
|
|
|
|
{
|
|
|
|
$data = $this->validate($this->rules);
|
|
|
|
|
2020-10-09 16:03:27 +02:00
|
|
|
if ($data['shipping_country_id'] == 'none') {
|
|
|
|
$data['shipping_country_id'] = null;
|
|
|
|
}
|
|
|
|
|
2020-09-24 14:40:27 +02:00
|
|
|
$this->profile
|
|
|
|
->fill($data)
|
|
|
|
->save();
|
|
|
|
|
|
|
|
$this->saved = ctrans('texts.saved_at', ['time' => now()->toTimeString()]);
|
|
|
|
}
|
|
|
|
}
|