diff --git a/app/components/add-reimbursement/component.js b/app/components/add-reimbursement/component.js
index fd00dea..2bc100b 100644
--- a/app/components/add-reimbursement/component.js
+++ b/app/components/add-reimbursement/component.js
@@ -6,6 +6,7 @@ import { action } from '@ember/object';
import { A } from '@ember/array';
import { scheduleOnce } from '@ember/runloop';
import isValidAmount from 'kredits-web/utils/is-valid-amount';
+import readFileContent from 'kredits-web/utils/read-file-content';
import config from 'kredits-web/config/environment';
export default class AddReimbursementComponent extends Component {
@@ -85,7 +86,22 @@ export default class AddReimbursementComponent extends Component {
}
@action
- updateContributor(event) {
+ async addExpensesFromFile (evt) {
+ const content = await readFileContent(evt.target.files[0]);
+ const expenses = JSON.parse(content);
+
+ if (expenses instanceof Array) {
+ for (const item of expenses) {
+ this.addExpenseItem(item);
+ }
+ } else {
+ console.warn("Expenses in file must be a list of items:");
+ console.debug(content);
+ }
+ }
+
+ @action
+ updateContributor (event) {
this.recipientId = event.target.value;
}
diff --git a/app/components/add-reimbursement/template.hbs b/app/components/add-reimbursement/template.hbs
index 6c1c06a..43235b3 100644
--- a/app/components/add-reimbursement/template.hbs
+++ b/app/components/add-reimbursement/template.hbs
@@ -87,3 +87,9 @@