Fixed some small issues in import routine.

This commit is contained in:
James Cole 2018-03-24 11:49:26 +01:00
parent 55602d632d
commit 796ab4bf2c
No known key found for this signature in database
GPG Key ID: C16961E655E74B5E
4 changed files with 21 additions and 6 deletions

View File

@ -171,7 +171,7 @@ class ImportBudget
Log::debug(sprintf('Find mapped budget based on field "%s" with value', $field), $array);
// check if a pre-mapped object exists.
$mapped = $this->getMappedObject($array);
if (null !== $mapped->id) {
if (null !== $mapped) {
Log::debug(sprintf('Found budget #%d!', $mapped->id));
return $mapped;

View File

@ -192,7 +192,7 @@ class ImportCategory
*
* @return Category
*/
private function getMappedObject(array $array): Category
private function getMappedObject(array $array): ?Category
{
Log::debug('In getMappedObject() for Category');
if (0 === count($array)) {

View File

@ -386,7 +386,7 @@ trait ImportSupport
*/
private function storeBill(TransactionJournal $journal, Bill $bill)
{
if (null !== $bill->id) {
if (null !== $bill) {
Log::debug(sprintf('Linked bill #%d to journal #%d', $bill->id, $journal->id));
$journal->bill()->associate($bill);
$journal->save();
@ -399,7 +399,7 @@ trait ImportSupport
*/
private function storeBudget(TransactionJournal $journal, Budget $budget)
{
if (null !== $budget->id) {
if (null !== $budget) {
Log::debug(sprintf('Linked budget #%d to journal #%d', $budget->id, $journal->id));
$journal->budgets()->save($budget);
}
@ -411,7 +411,7 @@ trait ImportSupport
*/
private function storeCategory(TransactionJournal $journal, Category $category)
{
if (null !== $category->id) {
if (null !== $category) {
Log::debug(sprintf('Linked category #%d to journal #%d', $category->id, $journal->id));
$journal->categories()->save($category);
}

View File

@ -184,6 +184,7 @@ class Roles implements ConfigurationInterface
*/
private function ignoreUnmappableColumns(): bool
{
Log::debug('Now in ignoreUnmappableColumns()');
$config = $this->getConfig();
$count = $config['column-count'];
for ($i = 0; $i < $count; ++$i) {
@ -254,24 +255,38 @@ class Roles implements ConfigurationInterface
$hasForeignAmount = true;
}
}
if ($assigned > 0 && $hasAmount && ($hasForeignCode === false && $hasForeignAmount === false)) {
Log::debug(
sprintf(
'Assigned is %d, hasAmount %s, hasForeignCode %s, hasForeignAmount %s',
$assigned,
var_export($hasAmount, true),
var_export($hasForeignCode, true),
var_export($hasForeignAmount, true)
)
);
// all assigned and correct foreign info
if ($assigned > 0 && $hasAmount && ($hasForeignCode === $hasForeignAmount)) {
$this->warning = '';
$this->saveConfig($config);
Log::debug('isRolesComplete() returns true.');
return true;
}
// warn if has foreign amount but no currency code:
if ($hasForeignAmount && !$hasForeignCode) {
$this->warning = strval(trans('import.foreign_amount_warning'));
Log::debug('isRolesComplete() returns FALSE because foreign amount present without foreign code.');
return false;
}
if (0 === $assigned || !$hasAmount) {
$this->warning = strval(trans('import.roles_warning'));
Log::debug('isRolesComplete() returns FALSE because no amount present.');
return false;
}
Log::debug('isRolesComplete() returns FALSE because no reason.');
return false;
}