partial fix for #307

This commit is contained in:
James Cole 2016-09-25 08:46:57 +02:00
parent 9a53d8c21c
commit 7232c1d7bb
2 changed files with 61 additions and 1 deletions

View File

@ -0,0 +1,59 @@
<?php
/**
* PresidentsChoice.php
* Copyright (C) 2016 thegrumpydictator@gmail.com
*
* This software may be modified and distributed under the terms
* of the MIT license. See the LICENSE file for details.
*/
declare(strict_types = 1);
namespace FireflyIII\Import\Specifics;
/**
* Class PresidentsChoice
*
* @package FireflyIII\Import\Specifics
*/
class PresidentsChoice implements SpecificInterface
{
/**
* @return string
*/
public static function getDescription(): string
{
return 'Fixes problems with files from Presidents Choice Financial.';
}
/**
* @return string
*/
public static function getName(): string
{
return 'Presidents "Choice"';
}
/**
* @param array $row
*
* @return array
*/
public function run(array $row): array
{
// first, if column 2 is empty and 3 is not, do nothing.
// if column 3 is empty and column 2 is not, move amount to column 3, *-1
if (isset($row[3]) && strlen($row[3]) === 0) {
$row[3] = bcmul($row[2], '-1');
}
if (isset($row[1])) {
// copy description into column 2, which is now usable.
$row[2] = $row[1];
}
return $row;
}
}

View File

@ -10,6 +10,7 @@ return [
'import_specifics' => [
'RabobankDescription' => 'FireflyIII\Import\Specifics\RabobankDescription',
'AbnAmroDescription' => 'FireflyIII\Import\Specifics\AbnAmroDescription',
'PresidentsChoice' => 'FireflyIII\Import\Specifics\PresidentsChoice',
],
/*
@ -279,7 +280,7 @@ return [
// number of example rows:
'example_rows' => 5,
'default_config' => [
'default_config' => [
'has-headers' => false, // assume
'date-format' => 'Ymd', // assume
'delimiter' => ',', // assume