mirror of
https://github.com/vitodeploy/vito.git
synced 2025-04-19 09:51:37 +00:00
add timezone edit to profile (#63)
This commit is contained in:
parent
38e23a1ceb
commit
8282d39722
@ -19,6 +19,10 @@ public function update(User $user, array $input): void
|
|||||||
Validator::make($input, [
|
Validator::make($input, [
|
||||||
'name' => ['required', 'string', 'max:255'],
|
'name' => ['required', 'string', 'max:255'],
|
||||||
'email' => ['required', 'email', 'max:255', Rule::unique('users')->ignore($user->id)],
|
'email' => ['required', 'email', 'max:255', Rule::unique('users')->ignore($user->id)],
|
||||||
|
'timezone' => [
|
||||||
|
'required',
|
||||||
|
Rule::in(timezone_identifiers_list()),
|
||||||
|
],
|
||||||
])->validateWithBag('updateProfileInformation');
|
])->validateWithBag('updateProfileInformation');
|
||||||
|
|
||||||
if ($input['email'] !== $user->email) {
|
if ($input['email'] !== $user->email) {
|
||||||
@ -27,6 +31,7 @@ public function update(User $user, array $input): void
|
|||||||
$user->forceFill([
|
$user->forceFill([
|
||||||
'name' => $input['name'],
|
'name' => $input['name'],
|
||||||
'email' => $input['email'],
|
'email' => $input['email'],
|
||||||
|
'timezone' => $input['timezone'],
|
||||||
])->save();
|
])->save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -39,6 +44,7 @@ protected function updateVerifiedUser(User $user, array $input): void
|
|||||||
$user->forceFill([
|
$user->forceFill([
|
||||||
'name' => $input['name'],
|
'name' => $input['name'],
|
||||||
'email' => $input['email'],
|
'email' => $input['email'],
|
||||||
|
'timezone' => $input['timezone'],
|
||||||
])->save();
|
])->save();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -15,10 +15,13 @@ class UpdateProfileInformation extends Component
|
|||||||
|
|
||||||
public string $email;
|
public string $email;
|
||||||
|
|
||||||
|
public string $timezone;
|
||||||
|
|
||||||
public function mount(): void
|
public function mount(): void
|
||||||
{
|
{
|
||||||
$this->name = auth()->user()->name;
|
$this->name = auth()->user()->name;
|
||||||
$this->email = auth()->user()->email;
|
$this->email = auth()->user()->email;
|
||||||
|
$this->timezone = auth()->user()->timezone;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -45,6 +45,18 @@
|
|||||||
</div>
|
</div>
|
||||||
@endif
|
@endif
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<x-input-label for="timezone" :value="__('Timezone')" />
|
||||||
|
<x-select-input wire:model.defer="timezone" id="timezone" name="timezone" class="mt-1 block w-full" required>
|
||||||
|
@foreach(timezone_identifiers_list() as $timezone)
|
||||||
|
<option value="{{ $timezone }}">{{ $timezone }}</option>
|
||||||
|
@endforeach
|
||||||
|
</x-select-input>
|
||||||
|
@error('timezone')
|
||||||
|
<x-input-error class="mt-2" :messages="$message" />
|
||||||
|
@enderror
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<x-slot name="actions">
|
<x-slot name="actions">
|
||||||
|
@ -29,6 +29,7 @@ public function test_profile_information_can_be_updated(): void
|
|||||||
Livewire::test(UpdateProfileInformation::class)
|
Livewire::test(UpdateProfileInformation::class)
|
||||||
->set('name', 'Test')
|
->set('name', 'Test')
|
||||||
->set('email', 'test@example.com')
|
->set('email', 'test@example.com')
|
||||||
|
->set('timezone', 'Europe/Berlin')
|
||||||
->call('submit')
|
->call('submit')
|
||||||
->assertSuccessful();
|
->assertSuccessful();
|
||||||
|
|
||||||
@ -36,5 +37,6 @@ public function test_profile_information_can_be_updated(): void
|
|||||||
|
|
||||||
$this->assertSame('Test', $this->user->name);
|
$this->assertSame('Test', $this->user->name);
|
||||||
$this->assertSame('test@example.com', $this->user->email);
|
$this->assertSame('test@example.com', $this->user->email);
|
||||||
|
$this->assertSame('Europe/Berlin', $this->user->timezone);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user