error message
This commit is contained in:
parent
8b9c5ad8d8
commit
af512667f0
1 changed files with 24 additions and 7 deletions
|
|
@ -26,7 +26,14 @@
|
|||
class="my-4 alert"
|
||||
cmsWidgetName="AlertInvalidPromoWidget"
|
||||
alertClass="alert-danger"
|
||||
v-bind:isDismissible="true" />
|
||||
v-bind:isDismissible="false" />
|
||||
<alert
|
||||
ref="AlertSimilarPromo"
|
||||
v-if="displaySimilarPromoAlert"
|
||||
class="my-4 alert"
|
||||
cmsWidgetName="AlertSimilarPromoWidget"
|
||||
alertClass="alert-danger"
|
||||
v-bind:isDismissible="false" />
|
||||
<alert
|
||||
ref="alertInvalidPromoOnOrder"
|
||||
v-if="displayInvalidOnOrderPromoAlert"
|
||||
|
|
@ -34,7 +41,7 @@
|
|||
class="my-4 alert"
|
||||
cmsWidgetName="AlertInvalidPromoOnOrderWidget"
|
||||
alertClass="alert-danger"
|
||||
v-bind:isDismissible="true" />
|
||||
v-bind:isDismissible="false" />
|
||||
<div v-for="(promoCode, i) in this.getPromoCodeList()" :key="i">
|
||||
<span class="applied-promo">Promo code "{{ promoCode }}" applied </span>
|
||||
<textLink
|
||||
|
|
@ -72,6 +79,7 @@ export default {
|
|||
promoCode: "",
|
||||
promoTextInputId: "",
|
||||
displayInvalidPromoAlert: false,
|
||||
displaySimilarPromoAlert: false,
|
||||
displayInvalidOnOrderPromoAlert: false,
|
||||
lineItems: deepClone(this.modelValue),
|
||||
};
|
||||
|
|
@ -171,6 +179,7 @@ export default {
|
|||
isValid: !("errorCode" in promoValidationResponse),
|
||||
promoCode: promoValidationResponse?.orderPromos,
|
||||
errorCode: promoValidationResponse?.errorCode,
|
||||
additionalInfo: promoValidationResponse?.additionalInfo,
|
||||
};
|
||||
},
|
||||
removeItem(promo) {
|
||||
|
|
@ -181,6 +190,17 @@ export default {
|
|||
getPromoCodeWithoutBundleIdentifier(lineItemsToKeep.promoCode) != promo
|
||||
);
|
||||
},
|
||||
getErrorMessage(error, additionalInfo) {
|
||||
switch (error) {
|
||||
case promoErrorCodes.PROMO_STACKING_NOT_ALLOWED:
|
||||
case promoErrorCodes.SIMILAR_PROMO_ALREADY_ON_ORDER:
|
||||
if (additionalInfo[0] === this.promoCode.toUpperCase())
|
||||
return (this.displaySimilarPromoAlert = true);
|
||||
return (this.displayInvalidOnOrderPromoAlert = true);
|
||||
default:
|
||||
return (this.displayInvalidPromoAlert = true);
|
||||
}
|
||||
},
|
||||
async addPromoCode() {
|
||||
if (this.promoCode) {
|
||||
this.resetAlerts();
|
||||
|
|
@ -227,11 +247,7 @@ export default {
|
|||
this.lineItems.vaps?.push(...getVaps);
|
||||
this.closeModal();
|
||||
} else {
|
||||
if (promoCodeData.errorCode == promoErrorCodes.PROMO_STACKING_NOT_ALLOWED) {
|
||||
this.displayInvalidOnOrderPromoAlert = true;
|
||||
} else {
|
||||
this.displayInvalidPromoAlert = true;
|
||||
}
|
||||
this.getErrorMessage(promoCodeData.errorCode, promoCodeData.additionalInfo);
|
||||
this.focusOnPromoInput();
|
||||
this.resetModalButtonStyle();
|
||||
}
|
||||
|
|
@ -242,6 +258,7 @@ export default {
|
|||
promoCode() {
|
||||
this.displayInvalidPromoAlert = false;
|
||||
this.displayInvalidOnOrderPromoAlert = false;
|
||||
this.displaySimilarPromoAlert = false;
|
||||
},
|
||||
modelValue: {
|
||||
handler(newValue) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue