1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-05 18:52:44 +01:00
invoiceninja/app/Http/Livewire/Profile/Settings/PersonalAddress.php

67 lines
1.6 KiB
PHP
Raw Normal View History

2020-09-24 14:23:05 +02:00
<?php
namespace App\Http\Livewire\Profile\Settings;
use Livewire\Component;
class PersonalAddress extends Component
{
public $profile;
public $address1;
public $address2;
public $city;
public $state;
public $postal_code;
public $country_id;
public $countries;
public $saved;
protected $rules = [
'address1' => ['sometimes'],
'address2' => ['sometimes'],
'city' => ['sometimes'],
'state' => ['sometimes'],
2020-09-24 14:23:05 +02:00
'postal_code' => ['required'],
'country_id' => ['sometimes'],
2020-09-24 14:23:05 +02:00
];
public function mount($countries)
{
$this->fill([
'profile' => auth()->user('contact')->client,
'address1' => auth()->user('contact')->client->address1,
'address2' => auth()->user('contact')->client->address2,
'city' => auth()->user('contact')->client->city,
'state' => auth()->user('contact')->client->state,
'postal_code' => auth()->user('contact')->client->postal_code,
'country_id' => auth()->user('contact')->client->country_id,
2020-09-24 14:23:05 +02:00
'countries' => $countries,
'saved' => ctrans('texts.save'),
]);
}
public function render()
{
return render('profile.settings.personal-address');
}
public function submit()
{
$data = $this->validate($this->rules);
if ($data['country_id'] == 'none') {
$data['country_id'] = null;
}
2020-09-24 14:23:05 +02:00
$this->profile
->fill($data)
->save();
$this->saved = ctrans('texts.saved_at', ['time' => now()->toTimeString()]);
}
}