Extra code for #1668

This commit is contained in:
James Cole 2018-09-09 07:57:15 +02:00
parent d2c1e30979
commit c7043dffc2
3 changed files with 13 additions and 6 deletions

View File

@ -50,17 +50,19 @@ class GetBudgetsRequest extends YnabRequest
Log::debug(sprintf('URI is %s', $uri));
$result = $this->authenticatedGetRequest($uri, []);
//Log::debug('Raw GetBudgetsRequest result', $result);
Log::debug('Raw GetBudgetsRequest result', $result);
// expect data in [data][budgets]
$rawBudgets = $result['data']['budgets'] ?? [];
$freshBudgets = [];
foreach ($rawBudgets as $rawBudget) {
Log::debug('Raw content of budget is:', $rawBudget);
Log::debug(sprintf('Raw content of budget is: %s', json_encode($rawBudget, true)));
Log::debug(sprintf('Content of currency format is: %s', json_encode($rawBudget['currency_format'] ?? [], true)));
Log::debug(sprintf('ISO code is: %s', $rawBudget['currency_format']['iso_code'] ?? '(none)'));
$freshBudgets[] = [
'id' => $rawBudget['id'],
'name' => $rawBudget['name'],
'currency_code' => $rawBudget['currency_format']['iso_code'] ?? 'EUR',
'currency_code' => $rawBudget['currency_format']['iso_code'] ?? null,
];
}
$this->budgets = $freshBudgets;

View File

@ -74,6 +74,7 @@ abstract class YnabRequest
}
try {
$content = trim($res->getBody()->getContents());
Log::debug(sprintf('Raw body is: %s', $content));
} catch (RuntimeException $e) {
Log::error($e->getMessage());
Log::error($e->getTraceAsString());

View File

@ -29,6 +29,7 @@ use FireflyIII\Exceptions\FireflyException;
use FireflyIII\Models\Account;
use FireflyIII\Models\AccountType;
use FireflyIII\Models\ImportJob;
use FireflyIII\Models\TransactionCurrency;
use FireflyIII\Repositories\Account\AccountRepositoryInterface;
use FireflyIII\Repositories\ImportJob\ImportJobRepositoryInterface;
use FireflyIII\Services\Ynab\Request\GetTransactionsRequest;
@ -42,6 +43,8 @@ class ImportDataHandler
{
/** @var AccountRepositoryInterface */
private $accountRepository;
/** @var TransactionCurrency */
private $defaultCurrency;
/** @var ImportJob */
private $importJob;
/** @var OpposingAccountMapper */
@ -56,8 +59,9 @@ class ImportDataHandler
*/
public function run(): void
{
$config = $this->repository->getConfiguration($this->importJob);
$token = $config['access_token'];
$config = $this->repository->getConfiguration($this->importJob);
$this->defaultCurrency = app('amount')->getDefaultCurrencyByUser($this->importJob->user);
$token = $config['access_token'];
// make request for each mapping:
$mapping = $config['mapping'] ?? [];
$total = [[]];
@ -179,7 +183,7 @@ class ImportDataHandler
'transactions' => [
[
'currency_id' => null,
'currency_code' => $budget['currency_code'],
'currency_code' => $budget['currency_code'] ?? $this->defaultCurrency->code,
'description' => null,
'amount' => bcdiv((string)$transaction['amount'], '1000'),
'budget_id' => null,