Skip to content

Commit 0c74846

Browse files
authored
Feature/5095 (#1219)
* Update payment method for the premium account linked to BCOL: From PAD to BCOL
1 parent 3df7890 commit 0c74846

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

auth-web/src/components/auth/account-settings/payment/AccountPaymentMethods.vue

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
@payment-method-selected="setSelectedPayment"
1919
@get-PAD-info="getPADInfo"
2020
@is-pad-valid="isPADValid"
21+
isTouchedUpdate="true"
2122
></PaymentMethods>
2223
<v-divider class="my-10"></v-divider>
2324
<div class="form__btns d-flex">
@@ -112,22 +113,24 @@ export default class AccountPaymentMethods extends Mixins(AccountChangeMixin) {
112113
private errorText = ''
113114
private isLoading: boolean = false
114115
private padValid: boolean = false
115-
private paymentMethodChanged:boolean = true // false // now always enable save button after discussion need to change
116+
private paymentMethodChanged:boolean = false
116117
117118
$refs: {
118119
errorDialog: ModalDialog
119120
}
120121
121122
private setSelectedPayment (payment) {
122-
this.selectedPaymentMethod = payment
123-
this.isBtnSaved = false
124-
this.paymentMethodChanged = true
123+
this.selectedPaymentMethod = payment.selectedPaymentMethod
124+
this.isBtnSaved = (this.isBtnSaved && !payment.isTouched) || false
125+
this.paymentMethodChanged = payment.isTouched || false
125126
}
126127
127128
private get isDisableSaveBtn () {
128129
let disableSaveBtn = false
129130
130-
if ((this.selectedPaymentMethod === PaymentTypes.PAD && !this.padValid) || (!this.paymentMethodChanged)) {
131+
if (this.isBtnSaved) {
132+
disableSaveBtn = false
133+
} else if ((this.selectedPaymentMethod === PaymentTypes.PAD && !this.padValid) || (!this.paymentMethodChanged)) {
131134
disableSaveBtn = true
132135
}
133136

auth-web/src/components/auth/common/PaymentMethods.vue

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,6 +144,7 @@ export default class PaymentMethods extends Vue {
144144
@Prop({ default: '' }) currentSelectedPaymentMethod: string
145145
@Prop({ default: false }) isChangeView: boolean
146146
@Prop({ default: true }) isAcknowledgeNeeded: boolean
147+
@Prop({ default: false }) isTouchedUpdate: boolean
147148
private selectedPaymentMethod: string = ''
148149
private paymentTypes = PaymentTypes
149150
private padInfo: PADInfo = {} as PADInfo
@@ -168,7 +169,7 @@ export default class PaymentMethods extends Vue {
168169
169170
private mounted () {
170171
if (!this.isPADOnly) {
171-
this.paymentMethodSelected({ type: this.currentSelectedPaymentMethod })
172+
this.paymentMethodSelected({ type: this.currentSelectedPaymentMethod }, false)
172173
}
173174
}
174175
@@ -177,8 +178,12 @@ export default class PaymentMethods extends Vue {
177178
}
178179
179180
@Emit()
180-
private paymentMethodSelected (payment) {
181+
private paymentMethodSelected (payment, isTouched = true) {
181182
this.selectedPaymentMethod = payment.type
183+
// emit touched flag for parent element
184+
if (this.isTouchedUpdate) {
185+
return { selectedPaymentMethod: this.selectedPaymentMethod, isTouched }
186+
}
182187
return this.selectedPaymentMethod
183188
}
184189

auth-web/src/store/modules/org.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -695,7 +695,7 @@ export default class OrgModule extends VuexModule {
695695
public async getOrgPayments (orgId?: number): Promise<OrgPaymentDetails> {
696696
const id = orgId || this.context.state['currentOrganization'].id
697697
const response = await OrgService.getOrgPayments(id)
698-
let paymentType = response?.data?.paymentMethod || undefined
698+
let paymentType = response?.data?.futurePaymentMethod ? response?.data?.futurePaymentMethod : response?.data?.paymentMethod || undefined
699699
paymentType = (paymentType === PaymentTypes.DIRECT_PAY) ? PaymentTypes.CREDIT_CARD : paymentType
700700
this.context.commit('setCurrentOrganizationPaymentType', paymentType)
701701
// setting padinfo for showing details

0 commit comments

Comments
 (0)