reload contribution after changing memo

This commit is contained in:
einhorn_b 2023-11-10 20:48:26 +01:00
parent 5c5cd286f6
commit 14f2cb551c
6 changed files with 69 additions and 0 deletions

View File

@ -136,6 +136,7 @@ export default {
.then((result) => {
this.$emit('get-list-contribution-messages', this.contributionId)
this.$emit('update-status', this.contributionId)
this.$emit('reload-contribution', this.contributionId)
this.toastSuccess(this.$t('message.request'))
this.loading = false
})

View File

@ -14,6 +14,7 @@
:contributionMemo="contributionMemo"
@get-list-contribution-messages="$apollo.queries.Messages.refetch()"
@update-status="updateStatus"
@reload-contribution="reloadContribution"
/>
</div>
</div>
@ -75,6 +76,9 @@ export default {
updateStatus(id) {
this.$emit('update-status', id)
},
reloadContribution(id) {
this.$emit('reload-contribution', id)
},
},
}
</script>

View File

@ -113,6 +113,7 @@
:contributionUserId="row.item.userId"
:contributionMemo="row.item.memo"
@update-status="updateStatus"
@reload-contribution="reloadContribution"
/>
</div>
</template>
@ -172,6 +173,9 @@ export default {
updateStatus(id) {
this.$emit('update-status', id)
},
reloadContribution(id) {
this.$emit('reload-contribution', id)
},
},
}
</script>

View File

@ -49,6 +49,7 @@
:fields="fields"
@show-overlay="showOverlay"
@update-status="updateStatus"
@reload-contribution="reloadContribution"
@update-contributions="$apollo.queries.ListAllContributions.refetch()"
/>
@ -95,6 +96,33 @@ import { adminListContributions } from '../graphql/adminListContributions'
import { adminDeleteContribution } from '../graphql/adminDeleteContribution'
import { confirmContribution } from '../graphql/confirmContribution'
import { denyContribution } from '../graphql/denyContribution'
import gql from 'graphql-tag'
export const getContribution = gql`
query ($id: Int!) {
contribution(id: $id) {
id
firstName
lastName
amount
memo
createdAt
contributionDate
confirmedAt
confirmedBy
updatedAt
updatedBy
status
messagesCount
deniedAt
deniedBy
deletedAt
deletedBy
moderatorId
userId
}
}
`
const FILTER_TAB_MAP = [
['IN_PROGRESS', 'PENDING'],
@ -131,6 +159,22 @@ export default {
},
},
methods: {
reloadContribution(id) {
this.$apollo
.query({ query: getContribution, variables: { id } })
.then((result) => {
const contribution = result.data.contribution
this.$set(
this.items,
this.items.findIndex((obj) => obj.id === contribution.id),
contribution,
)
})
.catch((error) => {
this.overlay = false
this.toastError(error.message)
})
},
swapNoHashtag() {
this.query()
},

View File

@ -45,6 +45,7 @@ import { calculateDecay } from '@/util/decay'
import { TRANSACTIONS_LOCK } from '@/util/TRANSACTIONS_LOCK'
import { fullName } from '@/util/utilities'
import { findContribution } from './util/contributions'
import { getUserCreation, validateContribution, getOpenCreations } from './util/creations'
import { findContributions } from './util/findContributions'
import { getLastTransaction } from './util/getLastTransaction'
@ -52,6 +53,16 @@ import { sendTransactionsToDltConnector } from './util/sendTransactionsToDltConn
@Resolver()
export class ContributionResolver {
@Authorized([RIGHTS.ADMIN_LIST_CONTRIBUTIONS])
@Query(() => Contribution)
async contribution(@Arg('id', () => Int) id: number): Promise<Contribution> {
const contribution = await findContribution(id)
if (!contribution) {
throw new LogError('Contribution not found', id)
}
return new Contribution(contribution)
}
@Authorized([RIGHTS.CREATE_CONTRIBUTION])
@Mutation(() => UnconfirmedContribution)
async createContribution(

View File

@ -0,0 +1,5 @@
import { Contribution } from '@entity/Contribution'
export const findContribution = async (id: number): Promise<Contribution | null> => {
return Contribution.findOne({ where: { id } })
}