|
|
@ -417,21 +417,7 @@ |
|
|
|
<router-link |
|
|
|
:to="{ |
|
|
|
name: 'gifted-details', |
|
|
|
query: { |
|
|
|
amountInput, |
|
|
|
description, |
|
|
|
giverDid: showProjects ? undefined : giver?.did, |
|
|
|
giverName: giver?.name, |
|
|
|
offerId, |
|
|
|
fulfillsProjectId: |
|
|
|
showProjects && isFromProjectView |
|
|
|
? giver?.handleId |
|
|
|
: toProjectId, |
|
|
|
providerProjectId: showProjects ? giver?.handleId : fromProjectId, |
|
|
|
recipientDid: receiver?.did, |
|
|
|
recipientName: receiver?.name, |
|
|
|
unitCode, |
|
|
|
}, |
|
|
|
query: giftedDetailsQuery, |
|
|
|
}" |
|
|
|
class="block w-full text-center text-md uppercase bg-gradient-to-b from-slate-400 to-slate-700 shadow-[inset_0_-1px_0_0_rgba(0,0,0,0.5)] text-white px-1.5 py-2 rounded-lg mb-4" |
|
|
|
> |
|
|
@ -824,24 +810,46 @@ export default class GiftedDialog extends Vue { |
|
|
|
unitCode: string = "HUR", |
|
|
|
) { |
|
|
|
try { |
|
|
|
// Determine the correct parameters based on entity types |
|
|
|
let fromDid: string | undefined; |
|
|
|
let toDid: string | undefined; |
|
|
|
let fulfillsProjectHandleId: string | undefined; |
|
|
|
let providerPlanHandleId: string | undefined; |
|
|
|
|
|
|
|
if (this.giverEntityType === "project" && this.recipientEntityType === "person") { |
|
|
|
// Project-to-person gift |
|
|
|
fromDid = undefined; // No person giver |
|
|
|
toDid = recipientDid as string; // Person recipient |
|
|
|
fulfillsProjectHandleId = undefined; // No project recipient |
|
|
|
providerPlanHandleId = this.giver?.handleId; // Project giver |
|
|
|
} else if (this.giverEntityType === "person" && this.recipientEntityType === "project") { |
|
|
|
// Person-to-project gift |
|
|
|
fromDid = giverDid as string; // Person giver |
|
|
|
toDid = undefined; // No person recipient |
|
|
|
fulfillsProjectHandleId = this.toProjectId; // Project recipient |
|
|
|
providerPlanHandleId = undefined; // No project giver |
|
|
|
} else { |
|
|
|
// Person-to-person gift |
|
|
|
fromDid = giverDid as string; |
|
|
|
toDid = recipientDid as string; |
|
|
|
fulfillsProjectHandleId = undefined; |
|
|
|
providerPlanHandleId = undefined; |
|
|
|
} |
|
|
|
|
|
|
|
const result = await createAndSubmitGive( |
|
|
|
this.axios, |
|
|
|
this.apiServer, |
|
|
|
this.activeDid, |
|
|
|
this.showProjects ? undefined : (giverDid as string), |
|
|
|
this.showProjects && this.isFromProjectView |
|
|
|
? this.giver?.handleId |
|
|
|
: (recipientDid as string), |
|
|
|
fromDid, |
|
|
|
toDid, |
|
|
|
description, |
|
|
|
amount, |
|
|
|
unitCode, |
|
|
|
this.showProjects && this.isFromProjectView |
|
|
|
? this.giver?.handleId |
|
|
|
: this.toProjectId, |
|
|
|
fulfillsProjectHandleId, |
|
|
|
this.offerId, |
|
|
|
false, |
|
|
|
undefined, |
|
|
|
this.showProjects ? this.giver?.handleId : undefined, |
|
|
|
providerPlanHandleId, |
|
|
|
); |
|
|
|
|
|
|
|
if (!result.success) { |
|
|
@ -1003,6 +1011,26 @@ export default class GiftedDialog extends Vue { |
|
|
|
}; |
|
|
|
this.currentStep = 2; |
|
|
|
} |
|
|
|
|
|
|
|
// Computed property for the query parameters |
|
|
|
get giftedDetailsQuery() { |
|
|
|
return { |
|
|
|
amountInput: this.amountInput, |
|
|
|
description: this.description, |
|
|
|
giverDid: this.giverEntityType === "person" ? this.giver?.did : undefined, |
|
|
|
giverName: this.giver?.name, |
|
|
|
offerId: this.offerId, |
|
|
|
fulfillsProjectId: this.giverEntityType === "person" && this.recipientEntityType === "project" |
|
|
|
? this.toProjectId |
|
|
|
: undefined, |
|
|
|
providerProjectId: this.giverEntityType === "project" && this.recipientEntityType === "person" |
|
|
|
? this.giver?.handleId |
|
|
|
: this.fromProjectId, |
|
|
|
recipientDid: this.receiver?.did, |
|
|
|
recipientName: this.receiver?.name, |
|
|
|
unitCode: this.unitCode, |
|
|
|
}; |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
|
|
|
|