diff --git a/src/components/donations/AddDonationModal.svelte b/src/components/donations/AddDonationModal.svelte
index ab9dd2a2..63e781e3 100644
--- a/src/components/donations/AddDonationModal.svelte
+++ b/src/components/donations/AddDonationModal.svelte
@@ -15,7 +15,7 @@
option.firstname + " " + (option.middlename || "") + " " + option.lastname;
const filterDonors = (label, filterText, option) =>
label.toLowerCase().includes(filterText.toLowerCase()) ||
- option.id.toString().startsWith(filterText.toLowerCase());
+ option.value.id.toString().startsWith(filterText.toLowerCase());
function focus(el) {
el.focus();
}
@@ -25,12 +25,14 @@
$: runners = [];
$: is_fixed = false;
DonorService.donorControllerGetAll().then((val) => {
- donors = val;
- donor = donors[0].id || 0;
+ donors = val.map((r) => {
+ return { label: getDonorLabel(r), value: r };
+ });
});
RunnerService.runnerControllerGetAll().then((val) => {
- runners = val;
- runner = runners[0].id || 0;
+ runners = val.map((r) => {
+ return { label: getDonorLabel(r), value: r };
+ });
});
$: amount_input = 0;
$: processed_last_submit = true;
@@ -184,7 +186,6 @@
-
{#if is_fixed}
{$_('create-a-new-fixed-donation')}
{:else}{$_('create-a-new-distance-donation')}{/if}
@@ -213,15 +214,13 @@
class="block text-sm font-medium text-gray-700">{$_('donor')}
{#if !is_fixed}
@@ -230,15 +229,13 @@
class="block text-sm font-medium text-gray-700">{$_('runner')}
{/if}
diff --git a/src/components/donations/DonationDetail.svelte b/src/components/donations/DonationDetail.svelte
index c464ef7b..b481a6fa 100644
--- a/src/components/donations/DonationDetail.svelte
+++ b/src/components/donations/DonationDetail.svelte
@@ -14,6 +14,8 @@
$: delete_triggered = false;
$: original_data = {};
$: editable = {};
+ $: donor = {};
+ $: runner = {};
$: current_donors = [];
$: current_runners = [];
$: amount_input = 0;
@@ -30,12 +32,7 @@
(original_data.responseType !== "DISTANCEDONATION" &&
!(Math.floor(amount_input * 100) === original_data.amount));
$: save_enabled = changes_performed && is_amount_valid && is_everything_set;
- const donor_promise = DonorService.donorControllerGetAll().then((val) => {
- current_donors = val;
- });
- const runner_promise = RunnerService.runnerControllerGetAll().then((val) => {
- current_runners = val;
- });
+
const promise = DonationService.donationControllerGetOne(
params.donationid
).then((data) => {
@@ -44,15 +41,27 @@
editable = Object.assign(editable, original_data);
if (data.responseType == "DISTANCEDONATION") {
amount_input = data.amountPerDistance / 100;
+ RunnerService.runnerControllerGetAll().then((val) => {
+ current_runners = val.map((r) => {
+ return { label: getDonorLabel(r), value: r };
+ });
+ runner = current_runners.find((g) => g.value.id == editable.runner.id);
+ });
} else {
amount_input = data.amount / 100;
}
+ DonorService.donorControllerGetAll().then((val) => {
+ current_donors = val.map((r) => {
+ return { label: getDonorLabel(r), value: r };
+ });
+ donor = current_donors.find((g) => g.value.id == editable.donor.id);
+ });
});
const getDonorLabel = (option) =>
option.firstname + " " + (option.middlename || "") + " " + option.lastname;
const filterDonors = (label, filterText, option) =>
label.toLowerCase().includes(filterText.toLowerCase()) ||
- option.id.toString().startsWith(filterText.toLowerCase());
+ option.value.id.toString().startsWith(filterText.toLowerCase());
function submit() {
if (data_loaded === true && save_enabled) {
@@ -116,7 +125,7 @@
}
-{#await donor_promise && runner_promise && promise}
+{#await promise}
{$_('loading-donation-details')}
{:then}
@@ -217,14 +226,13 @@
class="block font-medium text-gray-700">{$_('donor')}
{#if original_data.responseType == 'DISTANCEDONATION'}
@@ -234,14 +242,13 @@
class="block font-medium text-gray-700">{$_('runner')}