1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-11-16 16:13:20 +01:00
invoiceninja/app/Http/Livewire/Profile/Settings/ShippingAddress.php
Shift 19080933b6
Apply Laravel coding style
Shift automatically applies the Laravel coding style - which uses the PSR-2 coding style as a base with some minor additions.

You may customize the code style applied by adding a [PHP CS Fixer][1] or [PHP CodeSniffer][2] ruleset to your project root. Feel free to use [Shift's Laravel ruleset][3] to help you get started.

For more information on customizing the code style applied by Shift, [watch this short video][4].

[1]: https://github.com/FriendsOfPHP/PHP-CS-Fixer
[2]: https://github.com/squizlabs/PHP_CodeSniffer
[3]: https://gist.github.com/laravel-shift/cab527923ed2a109dda047b97d53c200
[4]: https://laravelshift.com/videos/shift-code-style
2022-06-21 09:57:17 +00:00

72 lines
1.9 KiB
PHP

<?php
namespace App\Http\Livewire\Profile\Settings;
use Livewire\Component;
class ShippingAddress extends Component
{
public $profile;
public $shipping_address1;
public $shipping_address2;
public $shipping_city;
public $shipping_state;
public $shipping_postal_code;
public $shipping_country_id;
public $countries;
public $saved;
protected $rules = [
'shipping_address1' => ['sometimes'],
'shipping_address2' => ['sometimes'],
'shipping_city' => ['sometimes'],
'shipping_state' => ['sometimes'],
'shipping_postal_code' => ['sometimes'],
'shipping_country_id' => ['sometimes'],
];
public function mount($countries)
{
$this->fill([
'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,
'countries' => $countries,
'saved' => ctrans('texts.save'),
]);
}
public function render()
{
return render('profile.settings.shipping-address');
}
public function submit()
{
$data = $this->validate($this->rules);
if ($data['shipping_country_id'] == 'none') {
$data['shipping_country_id'] = null;
}
$this->profile
->fill($data)
->save();
$this->saved = ctrans('texts.saved_at', ['time' => now()->toTimeString()]);
}
}