Skip to content

Commit 302ec45

Browse files
committed
support customer and project number in import
1 parent 3b51352 commit 302ec45

File tree

4 files changed

+24
-3
lines changed

4 files changed

+24
-3
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
## Version 2.18.0
2+
3+
Compatibility: requires minimum Kimai 2.21.0
4+
5+
- Support: Project number via `projectnumber` for Project importer
6+
- Support: Customer number via `customernumber` for Customer importer (also possible via `account`)
7+
18
## Version 2.17.0
29

310
Compatibility: requires minimum Kimai 2.21.0

Importer/CustomerImporter.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,13 @@ final class CustomerImporter implements ImporterInterface
4646
'budget',
4747
'budgettype',
4848
'timebudget',
49+
'customernumber'
4950
];
5051

51-
public function __construct(private CustomerService $customerService, private ValidatorInterface $validator)
52+
public function __construct(
53+
private readonly CustomerService $customerService,
54+
private readonly ValidatorInterface $validator
55+
)
5256
{
5357
}
5458

@@ -169,8 +173,11 @@ private function mapEntryToCustomer(Customer $customer, array $row): void
169173
$customer->setCountry($value);
170174
break;
171175

176+
case 'customernumber':
172177
case 'account':
173-
$customer->setNumber($value);
178+
if (\is_string($value)) {
179+
$customer->setNumber($value);
180+
}
174181
break;
175182

176183
case 'tax':

Importer/ProjectImporter.php

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ final class ProjectImporter implements ImporterInterface
4242
'budget',
4343
'timebudget',
4444
'budgettype',
45+
'projectnumber'
4546
];
4647

4748
/**
@@ -283,6 +284,12 @@ private function mapEntryToProject(Project $project, array $row): void
283284
case 'timebudget':
284285
$project->setTimeBudget((int) $value);
285286
break;
287+
288+
case 'projectnumber':
289+
if (\is_string($value)) {
290+
$project->setNumber(mb_substr($value, 0, 10));
291+
}
292+
break;
286293
}
287294

288295
if (str_starts_with($key, 'meta.')) {

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"description": "Import data from CSV files via Web UI",
44
"homepage": "https://www.kimai.org/store/keleo-importer-bundle.html",
55
"type": "kimai-plugin",
6-
"version": "2.17.0",
6+
"version": "2.18.0",
77
"keywords": [
88
"kimai",
99
"kimai-plugin"

0 commit comments

Comments
 (0)