diff --git a/admin/src/components/EditCreationFormular.vue b/admin/src/components/EditCreationFormular.vue index 4d7e52d6d..fbc60df15 100644 --- a/admin/src/components/EditCreationFormular.vue +++ b/admin/src/components/EditCreationFormular.vue @@ -97,15 +97,16 @@ export default { type: Object, required: true, }, + creation: { + type: Array, + default: () => [1000, 1000, 1000], + }, }, data() { return { text: !this.creationUserData.memo ? '' : this.creationUserData.memo, value: !this.creationUserData.amount ? 0 : Number(this.creationUserData.amount), rangeMin: 0, - rangeMax: 1000, - selected: '', - creation: [0, 0, 0], } }, methods: { @@ -115,14 +116,12 @@ export default { mutation: adminUpdateContribution, variables: { id: this.item.id, - email: this.item.email, creationDate: this.selected.date, amount: Number(this.value), memo: this.text, }, }) .then((result) => { - this.$emit('update-user-data', this.item, result.data.adminUpdateContribution.creation) this.$emit('update-creation-data', { amount: Number(result.data.adminUpdateContribution.amount), date: result.data.adminUpdateContribution.date, @@ -149,32 +148,23 @@ export default { }) }, }, - apollo: { - OpenCreations: { - query() { - return openCreations - }, - fetchPolicy: 'network-only', - variables() { - return { - userId: this.item.userId, - } - }, - update({ openCreations }) { - this.creation = openCreations.map((c) => c.amount) - }, - error({ message }) { - this.toastError(message) - }, + computed: { + creationIndex() { + const month = this.$d(new Date(this.item.contributionDate), 'month') + return this.radioOptions.findIndex((obj) => obj.item.short === month) + }, + selected() { + return this.radioOptions[this.creationIndex].item + }, + rangeMax() { + console.log('index', this.creationIndex, this.creation[this.creationIndex]) + return Number(this.creation[this.creationIndex]) + Number(this.item.amount) }, }, - created() { - if (this.creationUserData.date) { - const month = this.$d(new Date(this.creationUserData.date), 'month') - const index = this.radioOptions.findIndex((obj) => obj.item.short === month) - this.selected = this.radioOptions[index].item - this.rangeMax = Number(this.creation[index]) + Number(this.creationUserData.amount) - } + watch: { + creation() { + console.log('watch', this.creation) + }, }, } diff --git a/admin/src/components/Tables/OpenCreationsTable.vue b/admin/src/components/Tables/OpenCreationsTable.vue index 6900e9b4d..83150e236 100644 --- a/admin/src/components/Tables/OpenCreationsTable.vue +++ b/admin/src/components/Tables/OpenCreationsTable.vue @@ -95,6 +95,7 @@ type="singleCreation" :item="row.item" :row="row" + :creation="getOpenCreations(row.item.userId)" :creationUserData="creationUserData" @update-creation-data="updateCreationData" /> @@ -104,7 +105,6 @@ :contributionId="row.item.id" :contributionState="row.item.state" @update-state="updateState" - @update-user-data="updateUserData" /> @@ -119,6 +119,7 @@ import { toggleRowDetails } from '../../mixins/toggleRowDetails' import RowDetails from '../RowDetails' import EditCreationFormular from '../EditCreationFormular' import ContributionMessagesList from '../ContributionMessages/ContributionMessagesList' +import { openCreations } from '../../graphql/openCreations' const iconMap = { IN_PROGRESS: 'question-square', @@ -187,6 +188,22 @@ export default { updateState(id) { this.$emit('update-state', id) }, + getOpenCreations(userId) { + this.$apollo + .query({ + query: openCreations, + variables: { + userId, + }, + }) + .then(({ data: { openCreations } }) => { + console.log(openCreations.map((obj) => obj.amount)) + return openCreations.map((obj) => obj.amount) + }) + .catch((error) => { + console.log(error) + }) + }, }, } diff --git a/admin/src/graphql/adminListAllContributions.js b/admin/src/graphql/adminListAllContributions.js index 851cff7b8..9f360f6dc 100644 --- a/admin/src/graphql/adminListAllContributions.js +++ b/admin/src/graphql/adminListAllContributions.js @@ -31,6 +31,7 @@ export const adminListAllContributions = gql` deletedAt deletedBy moderatorId + userId } } } diff --git a/admin/src/graphql/adminUpdateContribution.js b/admin/src/graphql/adminUpdateContribution.js index b7c834109..7738640e7 100644 --- a/admin/src/graphql/adminUpdateContribution.js +++ b/admin/src/graphql/adminUpdateContribution.js @@ -1,14 +1,8 @@ import gql from 'graphql-tag' export const adminUpdateContribution = gql` - mutation ($id: Int!, $email: String!, $amount: Decimal!, $memo: String!, $creationDate: String!) { - adminUpdateContribution( - id: $id - email: $email - amount: $amount - memo: $memo - creationDate: $creationDate - ) { + mutation ($id: Int!, $amount: Decimal!, $memo: String!, $creationDate: String!) { + adminUpdateContribution(id: $id, amount: $amount, memo: $memo, creationDate: $creationDate) { amount date memo diff --git a/admin/src/graphql/openCreations.js b/admin/src/graphql/openCreations.js index f6da9600c..010ed62df 100644 --- a/admin/src/graphql/openCreations.js +++ b/admin/src/graphql/openCreations.js @@ -2,7 +2,7 @@ import gql from 'graphql-tag' export const openCreations = gql` query ($userId: Int) { - openCreations(userId: $userID) { + openCreations(userId: $userId) { year month amount diff --git a/admin/src/pages/CreationConfirm.vue b/admin/src/pages/CreationConfirm.vue index 55caf8677..faea501bb 100644 --- a/admin/src/pages/CreationConfirm.vue +++ b/admin/src/pages/CreationConfirm.vue @@ -44,7 +44,7 @@ :fields="fields" @show-overlay="showOverlay" @update-state="updateStatus" - @update-contributions="$apollo.queries.AllContributions.refetch()" + @update-contributions="$apollo.queries.ListAllContributions.refetch()" />