mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-26 05:26:17 +00:00
Fix account name validator and make sure the location CRUD works in the API for accounts.
This commit is contained in:
@@ -101,20 +101,28 @@ class AccountUpdateService
|
||||
$this->updateMetaData($account, $data);
|
||||
|
||||
// update, delete or create location:
|
||||
$hasLocation = $data['has_location'] ?? false;
|
||||
if (false === $hasLocation) {
|
||||
$account->locations()->delete();
|
||||
}
|
||||
if (true === $hasLocation) {
|
||||
$location = $this->accountRepository->getLocation($account);
|
||||
if (null === $location) {
|
||||
$location = new Location;
|
||||
$location->locatable()->associate($account);
|
||||
$updateLocation = $data['has_location'] ?? false;
|
||||
|
||||
// location must be updated?
|
||||
if (true === $updateLocation) {
|
||||
// if all set to NULL, delete
|
||||
if(null === $data['latitude'] && null === $data['longitude'] && null === $data['zoom_level']) {
|
||||
$account->locations()->delete();
|
||||
}
|
||||
|
||||
// otherwise, update or create.
|
||||
if(!(null === $data['latitude'] && null === $data['longitude'] && null === $data['zoom_level'])) {
|
||||
$location = $this->accountRepository->getLocation($account);
|
||||
if (null === $location) {
|
||||
$location = new Location;
|
||||
$location->locatable()->associate($account);
|
||||
}
|
||||
|
||||
$location->latitude = $data['latitude'] ?? config('firefly.default_location.latitude');
|
||||
$location->longitude = $data['longitude'] ?? config('firefly.default_location.longitude');
|
||||
$location->zoom_level = $data['zoom_level'] ?? config('firefly.default_location.zoom_level');
|
||||
$location->save();
|
||||
}
|
||||
$location->latitude = $data['latitude'] ?? config('firefly.default_location.latitude');
|
||||
$location->longitude = $data['longitude'] ?? config('firefly.default_location.longitude');
|
||||
$location->zoom_level = $data['zoom_level'] ?? config('firefly.default_location.zoom_level');
|
||||
$location->save();
|
||||
}
|
||||
|
||||
// has valid initial balance (IB) data?
|
||||
|
||||
Reference in New Issue
Block a user