Merge branch 'develop' into 5.8-dev

This commit is contained in:
James Cole 2022-07-24 08:16:27 +02:00
commit 4e394d6017
6 changed files with 69 additions and 6 deletions

View File

@ -119,8 +119,8 @@ class AccountController extends Controller
// see if there is an accompanying start amount.
// grab the difference and find the currency.
$startAmount = $startBalances[$accountId][$currencyId] ?? '0';
$diff = bcsub($endAmount, $startAmount);
$startAmount = (string) ($startBalances[$accountId][$currencyId] ?? '0');
$diff = bcsub((string)$endAmount, $startAmount);
$currencies[$currencyId] = $currencies[$currencyId] ?? $this->currencyRepository->find($currencyId);
if (0 !== bccomp($diff, '0')) {
// store the values in a temporary array.
@ -578,8 +578,8 @@ class AccountController extends Controller
// see if there is an accompanying start amount.
// grab the difference and find the currency.
$startAmount = $startBalances[$accountId][$currencyId] ?? '0';
$diff = bcsub($endAmount, $startAmount);
$startAmount = (string)($startBalances[$accountId][$currencyId] ?? '0');
$diff = bcsub((string) $endAmount, $startAmount);
$currencies[$currencyId] = $currencies[$currencyId] ?? $this->currencyRepository->find($currencyId);
if (0 !== bccomp($diff, '0')) {
// store the values in a temporary array.

View File

@ -24,6 +24,7 @@ namespace FireflyIII\Models;
use Eloquent;
use FireflyIII\User;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
@ -223,4 +224,28 @@ class Bill extends Model
{
return $this->belongsTo(User::class);
}
/**
* Get the max amount
*
* @return Attribute
*/
protected function amountMax(): Attribute
{
return Attribute::make(
get: fn($value) => (string) $value,
);
}
/**
* Get the min amount
*
* @return Attribute
*/
protected function amountMin(): Attribute
{
return Attribute::make(
get: fn($value) => (string) $value,
);
}
}

View File

@ -24,6 +24,7 @@ namespace FireflyIII\Models;
use Eloquent;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Support\Carbon;
@ -119,4 +120,16 @@ class BudgetLimit extends Model
{
return $this->belongsTo(TransactionCurrency::class);
}
/**
* Get the amount
*
* @return Attribute
*/
protected function amount(): Attribute
{
return Attribute::make(
get: fn($value) => (string) $value,
);
}
}

View File

@ -25,6 +25,7 @@ namespace FireflyIII\Models;
use Carbon\Carbon;
use Eloquent;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Casts\Attribute;
use Illuminate\Database\Eloquent\Collection;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
@ -256,4 +257,28 @@ class Transaction extends Model
{
return $this->belongsTo(TransactionJournal::class);
}
/**
* Get the amount
*
* @return Attribute
*/
protected function amount(): Attribute
{
return Attribute::make(
get: fn($value) => (string) $value,
);
}
/**
* Get the foreign amount
*
* @return Attribute
*/
protected function foreignAmount(): Attribute
{
return Attribute::make(
get: fn($value) => (string) $value,
);
}
}

View File

@ -336,7 +336,7 @@ class Steam
$return = [];
/** @var stdClass $entry */
foreach ($balances as $entry) {
$return[(int) $entry->transaction_currency_id] = $entry->sum_for_currency;
$return[(int) $entry->transaction_currency_id] = (string) $entry->sum_for_currency;
}
$cache->store($return);

View File

@ -354,7 +354,7 @@ class TransactionGroupTransformer extends AbstractTransformer
$destination = $this->getDestinationTransaction($journal);
$type = $journal->transactionType->type;
$amount = $this->getAmount($type, (string) $source->amount);
$foreignAmount = $this->getForeignAmount($type, $source->foreign_amount);
$foreignAmount = $this->getForeignAmount($type, null === $source->foreign_amount ? null : (string) $source->foreign_amount);
$metaFieldData = $this->groupRepos->getMetaFields($journal->id, $this->metaFields);
$metaDates = $this->getDates($this->groupRepos->getMetaDateFields($journal->id, $this->metaDateFields));
$currency = $source->transactionCurrency;