mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-10-22 12:11:19 +00:00
Merge branch 'release/4.6.2'
This commit is contained in:
@@ -43,4 +43,4 @@ interface ConfigurationInterface
|
||||
*/
|
||||
public function storeConfiguration(array $data): bool;
|
||||
|
||||
}
|
||||
}
|
||||
|
@@ -26,6 +26,7 @@ use Log;
|
||||
class Initial implements ConfigurationInterface
|
||||
{
|
||||
private $job;
|
||||
|
||||
/**
|
||||
* @return array
|
||||
*/
|
||||
@@ -106,6 +107,21 @@ class Initial implements ConfigurationInterface
|
||||
Log::error('Could not find anything for csv_import_account.', ['id' => $importId]);
|
||||
}
|
||||
|
||||
$config = $this->storeSpecifics($data, $config);
|
||||
$this->job->configuration = $config;
|
||||
$this->job->save();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array $data
|
||||
* @param array $config
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
private function storeSpecifics(array $data, array $config): array
|
||||
{
|
||||
// loop specifics.
|
||||
if (isset($data['specifics']) && is_array($data['specifics'])) {
|
||||
foreach ($data['specifics'] as $name => $enabled) {
|
||||
@@ -116,9 +132,7 @@ class Initial implements ConfigurationInterface
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->job->configuration = $config;
|
||||
$this->job->save();
|
||||
|
||||
return true;
|
||||
return $config;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -266,4 +266,4 @@ class Map implements ConfigurationInterface
|
||||
|
||||
return $column;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -68,6 +68,18 @@ class Roles implements ConfigurationInterface
|
||||
return $this->data;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ImportJob $job
|
||||
*
|
||||
* @return ConfigurationInterface
|
||||
*/
|
||||
public function setJob(ImportJob $job): ConfigurationInterface
|
||||
{
|
||||
$this->job = $job;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Store the result.
|
||||
*
|
||||
@@ -217,16 +229,20 @@ class Roles implements ConfigurationInterface
|
||||
*/
|
||||
private function setRolesComplete(): bool
|
||||
{
|
||||
$config = $this->job->configuration;
|
||||
$count = $config['column-count'];
|
||||
$assigned = 0;
|
||||
$config = $this->job->configuration;
|
||||
$count = $config['column-count'];
|
||||
$assigned = 0;
|
||||
$hasAmount = false;
|
||||
for ($i = 0; $i < $count; $i++) {
|
||||
$role = $config['column-roles'][$i] ?? '_ignore';
|
||||
if ($role !== '_ignore') {
|
||||
$assigned++;
|
||||
}
|
||||
if ($role === 'amount') {
|
||||
$hasAmount = true;
|
||||
}
|
||||
}
|
||||
if ($assigned > 0) {
|
||||
if ($assigned > 0 && $hasAmount) {
|
||||
$config['column-roles-complete'] = true;
|
||||
$this->job->configuration = $config;
|
||||
$this->job->save();
|
||||
@@ -248,16 +264,4 @@ class Roles implements ConfigurationInterface
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param ImportJob $job
|
||||
*
|
||||
* @return ConfigurationInterface
|
||||
*/
|
||||
public function setJob(ImportJob $job): ConfigurationInterface
|
||||
{
|
||||
$this->job = $job;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user