From 808707eb0cae67bbecb165f229c9d36970daf48f Mon Sep 17 00:00:00 2001 From: Reede Stockton Date: Sun, 25 Sep 2022 16:19:31 -0700 Subject: [PATCH 001/515] Show elevate widget based on configured payment methods. --- .../labels/CustomLabels.labels-meta.xml | 4 +-- .../lwc/geFormRenderer/geFormRenderer.js | 2 ++ .../geFormWidgetTokenizeCard.js | 32 ++++++++++++++++--- 3 files changed, 31 insertions(+), 7 deletions(-) diff --git a/force-app/main/default/labels/CustomLabels.labels-meta.xml b/force-app/main/default/labels/CustomLabels.labels-meta.xml index 20c326139cc..87b4416fc27 100644 --- a/force-app/main/default/labels/CustomLabels.labels-meta.xml +++ b/force-app/main/default/labels/CustomLabels.labels-meta.xml @@ -7553,8 +7553,8 @@ If preferred, you can disable Gift Entry and instead use older Batch Gift Entry Gift Entry en_US true - Credit card(s) will not be processed until batch is processed - The donor's credit card will be processed when you process the batch. + Payment(s) will not be processed until batch is processed + The donor's payment will be processed when you process the batch. geBodyTemplateInfoLeftCol diff --git a/force-app/main/default/lwc/geFormRenderer/geFormRenderer.js b/force-app/main/default/lwc/geFormRenderer/geFormRenderer.js index 0c1607db912..153b49dddbc 100644 --- a/force-app/main/default/lwc/geFormRenderer/geFormRenderer.js +++ b/force-app/main/default/lwc/geFormRenderer/geFormRenderer.js @@ -34,6 +34,7 @@ import GeFormElementHelper from './geFormElementHelper' import GeFormService from 'c/geFormService'; import Settings from 'c/geSettings'; import GeLabelService from 'c/geLabelService'; +import GeGatewaySettings from 'c/geGatewaySettings'; import messageLoading from '@salesforce/label/c.labelMessageLoading'; import geMakeRecurring from '@salesforce/label/c.geMakeRecurring'; import btnContinue from '@salesforce/label/c.btnContinue'; @@ -542,6 +543,7 @@ export default class GeFormRenderer extends LightningElement{ } if (!this.isSingleGiftEntry) { + GeGatewaySettings.setElevateSettings(formTemplate.elevateSettings); this.sections = this.prepareFormForBatchMode(formTemplate.layout.sections); this.dispatchEvent(new CustomEvent('sectionsretrieved')); } diff --git a/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js b/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js index 3c8f0901615..5dfa2a0bcf1 100755 --- a/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js +++ b/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js @@ -20,6 +20,7 @@ import { import ElevateWidgetDisplay from './helpers/elevateWidgetDisplay'; import GeFormService from 'c/geFormService'; import Settings from 'c/geSettings'; +import GeGatewaySettings from 'c/geGatewaySettings'; import DATA_IMPORT_PAYMENT_AUTHORIZATION_TOKEN_FIELD from '@salesforce/schema/DataImport__c.Payment_Authorization_Token__c'; import DATA_IMPORT_PAYMENT_STATUS_FIELD from '@salesforce/schema/DataImport__c.Payment_Status__c'; @@ -282,19 +283,40 @@ export default class geFormWidgetTokenizeCard extends LightningElement { } updateDisplayStateWhenInBatchGiftEntry() { - if (this.isPaymentStatusAuthorized() && !this.isPaymentMethodCreditCard()) { + if (this.isPaymentStatusAuthorized() && !this.isValidBatchElevatePaymentMethod()) { this.display.transitionTo('resetToDeactivated'); } - if (this.isPaymentStatusAuthorized() && this.isPaymentMethodCreditCard()) { + if (this.isPaymentStatusAuthorized() && this.isValidBatchElevatePaymentMethod()) { this.display.transitionTo('readOnly'); - } else if (this.isPaymentMethodCreditCard()) { + } else if (this.isValidBatchElevatePaymentMethod()) { this.display.transitionTo('charge'); + if (this.isMounted) { + this.requestSetPaymentMethod(this._currentPaymentMethod); + } } else { this.display.transitionTo('deactivated'); } } + isValidBatchElevatePaymentMethod() { + if (!(this.isPaymentMethodAch() || this.isPaymentMethodCreditCard())) { + return false; + } + + if (!GeGatewaySettings.getElevateSettings()) { + return true; + } else if (GeGatewaySettings.getElevateSettings().isACHEnabled && GeGatewaySettings.getElevateSettings().isCreditCardEnabled) { + return true; + } else if (GeGatewaySettings.getElevateSettings().isCreditCardEnabled && this.isPaymentMethodCreditCard()) { + return true; + } else if (GeGatewaySettings.getElevateSettings().isACHEnabled && this.isPaymentMethodAch()) { + return true; + } + + return false; + } + updateDisplayStateWhenInSingleGiftEntry() { if (!this.hasPaymentMethodFieldInForm) { this.display.transitionTo('charge'); @@ -503,8 +525,8 @@ export default class geFormWidgetTokenizeCard extends LightningElement { } hasValidPaymentMethod() { - if (this.isInBatchGiftEntry() && this._currentPaymentMethod === PAYMENT_METHODS.ACH) { - return false; + if (this.isInBatchGiftEntry()) { + return this.isValidBatchElevatePaymentMethod(); } return this._currentPaymentMethod === PAYMENT_METHODS.ACH || this._currentPaymentMethod === PAYMENT_METHOD_CREDIT_CARD; From 394f301383c3cb6516f343866e1fb22c0776e8ab Mon Sep 17 00:00:00 2001 From: Daniel Fuller Date: Wed, 28 Sep 2022 11:50:13 -0400 Subject: [PATCH 002/515] add schedule criteria for removing from batch --- .../main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js b/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js index e34212d121a..ab4795537b7 100644 --- a/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js +++ b/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js @@ -608,7 +608,7 @@ export default class GeGiftEntryFormApp extends NavigationMixin(LightningElement } shouldRemoveFromElevateBatch(gift) { - return gift && gift.isAuthorized() && this.isElevateCustomer; + return gift && this.isElevateCustomer && (gift.isAuthorized() || gift.hasSchedule()); } async deleteFromElevateBatch(gift) { From ca87f7d95d98ce10ca77cfa19dfc678a2bdc3706 Mon Sep 17 00:00:00 2001 From: Daniel Fuller Date: Wed, 28 Sep 2022 11:50:28 -0400 Subject: [PATCH 003/515] rename parameter variable --- force-app/main/default/classes/ElevateBatchService.cls | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/force-app/main/default/classes/ElevateBatchService.cls b/force-app/main/default/classes/ElevateBatchService.cls index 94a01ca4c1f..403133141aa 100644 --- a/force-app/main/default/classes/ElevateBatchService.cls +++ b/force-app/main/default/classes/ElevateBatchService.cls @@ -39,8 +39,8 @@ public virtual with sharing class ElevateBatchService { return new ElevateCreateBatchItemRequest(batchItemRequestDTO); } - public virtual ElevateBatchItem removeFromElevateBatch(ElevateBatchItem authorizedGift) { - return new ElevateBatch(authorizedGift.elevateBatchId).remove(authorizedGift.id()); + public virtual ElevateBatchItem removeFromElevateBatch(ElevateBatchItem batchItem) { + return new ElevateBatch(batchItem.elevateBatchId).remove(batchItem.id()); } public virtual ElevateBatch createElevateBatch() { From 3eb77d65304723c01279709fa4e3849a8ec9ae8a Mon Sep 17 00:00:00 2001 From: Reede Stockton Date: Wed, 28 Sep 2022 09:50:25 -0700 Subject: [PATCH 004/515] Use configured gateway to override default. --- .../main/default/classes/ElevateBatch.cls | 5 +- .../default/classes/ElevateBatchService.cls | 12 +- .../ElevateBatchServiceInvalidRequest.cls | 6 +- .../ElevateBatchServiceValidRequest.cls | 3 +- .../classes/ElevateCreateBatchItemRequest.cls | 30 ++- .../classes/GE_GiftEntryController.cls | 5 +- .../classes/GE_GiftEntryController_TEST.cls | 12 +- .../lwc/geElevateBatch/geElevateBatch.js | 6 +- .../lwc/geFormRenderer/geFormRenderer.js | 16 +- .../geFormWidgetTokenizeCard.html | 5 + .../geFormWidgetTokenizeCard.js | 13 +- .../geGatewaySelectWidget.css | 14 + .../geGatewaySelectWidget.html | 239 +++++++++--------- .../geGatewaySelectWidget.js | 34 ++- .../geGatewaySettings/geGatewaySettings.js | 42 +++ .../psElevateTokenHandler.js | 5 +- .../main/default/pages/GE_TokenizeCard.page | 7 +- 17 files changed, 287 insertions(+), 167 deletions(-) diff --git a/force-app/main/default/classes/ElevateBatch.cls b/force-app/main/default/classes/ElevateBatch.cls index 809c6a71cb3..ef30253e2c5 100644 --- a/force-app/main/default/classes/ElevateBatch.cls +++ b/force-app/main/default/classes/ElevateBatch.cls @@ -54,10 +54,9 @@ public with sharing class ElevateBatch { return elevateBatchService.getElevateBatch(); } - public ElevateBatchItem add(ElevateCreateBatchItemRequestDTO batchItemRequestDTO) { + public ElevateBatchItem add(ElevateCreateBatchItemRequestDTO batchItemRequestDTO, String gatewayOverride) { return elevateBatchService.sendAddRequest( - elevateBatchService.buildBatchItemRequestFrom(batchItemRequestDTO), - elevateBatchId()); + elevateBatchService.buildBatchItemRequestFrom(batchItemRequestDTO, gatewayOverride), elevateBatchId()); } public ElevateBatchItem remove(String elevateTransactionId) { diff --git a/force-app/main/default/classes/ElevateBatchService.cls b/force-app/main/default/classes/ElevateBatchService.cls index 94a01ca4c1f..c4fe21fabe0 100644 --- a/force-app/main/default/classes/ElevateBatchService.cls +++ b/force-app/main/default/classes/ElevateBatchService.cls @@ -29,14 +29,14 @@ */ public virtual with sharing class ElevateBatchService { - public virtual ElevateBatchItem addToElevateBatch(ElevateCreateBatchItemRequestDTO batchItemRequestDTO, String - elevateBatchId) { - return new ElevateBatch(elevateBatchId).add(batchItemRequestDTO); + public virtual ElevateBatchItem addToElevateBatch(ElevateCreateBatchItemRequestDTO batchItemRequestDTO, + String elevateBatchId, String gatewayOverride) { + return new ElevateBatch(elevateBatchId).add(batchItemRequestDTO, gatewayOverride); } - public ElevateCreateBatchItemRequest buildBatchItemRequestFrom(ElevateCreateBatchItemRequestDTO - batchItemRequestDTO) { - return new ElevateCreateBatchItemRequest(batchItemRequestDTO); + public ElevateCreateBatchItemRequest buildBatchItemRequestFrom(ElevateCreateBatchItemRequestDTO batchItemRequestDTO, + String gatewayOverride) { + return new ElevateCreateBatchItemRequest(batchItemRequestDTO, gatewayOverride); } public virtual ElevateBatchItem removeFromElevateBatch(ElevateBatchItem authorizedGift) { diff --git a/force-app/main/default/classes/ElevateBatchServiceInvalidRequest.cls b/force-app/main/default/classes/ElevateBatchServiceInvalidRequest.cls index 820286e52b0..864a8bb0fdc 100644 --- a/force-app/main/default/classes/ElevateBatchServiceInvalidRequest.cls +++ b/force-app/main/default/classes/ElevateBatchServiceInvalidRequest.cls @@ -44,9 +44,9 @@ public class ElevateBatchServiceInvalidRequest extends ElevateBatchService { set; } - public override ElevateBatchItem addToElevateBatch(ElevateCreateBatchItemRequestDTO createBatchItemRequestDTO, String elevateBatchId) { - ElevateBatchItemCreateResponse giftResponse = ElevateBatchItemCreateResponse.parse( - addToElevateBatchErrorResponse()); + public override ElevateBatchItem addToElevateBatch(ElevateCreateBatchItemRequestDTO createBatchItemRequestDTO, + String elevateBatchId, String gatewayOverride) { + ElevateBatchItemCreateResponse giftResponse = ElevateBatchItemCreateResponse.parse(addToElevateBatchErrorResponse()); elevateBatchService.checkForBatchItemErrorsIn(giftResponse); return new ElevateBatchItem(giftResponse); diff --git a/force-app/main/default/classes/ElevateBatchServiceValidRequest.cls b/force-app/main/default/classes/ElevateBatchServiceValidRequest.cls index 00fa43cee89..d380bb6a3a4 100644 --- a/force-app/main/default/classes/ElevateBatchServiceValidRequest.cls +++ b/force-app/main/default/classes/ElevateBatchServiceValidRequest.cls @@ -59,7 +59,8 @@ public class ElevateBatchServiceValidRequest extends ElevateBatchService { this.paymentMethod = paymentMethod; } - public override ElevateBatchItem addToElevateBatch(ElevateCreateBatchItemRequestDTO createBatchItemRequestDTO, String elevateBatchId) { + public override ElevateBatchItem addToElevateBatch(ElevateCreateBatchItemRequestDTO createBatchItemRequestDTO, + String elevateBatchId, String gatewayOverride) { ElevateBatchItemCreateResponse giftResponse; if (batchItemType == ElevateBatchItemType.ONE_TIME) { diff --git a/force-app/main/default/classes/ElevateCreateBatchItemRequest.cls b/force-app/main/default/classes/ElevateCreateBatchItemRequest.cls index 3b63dfecd6e..0c24ce71847 100644 --- a/force-app/main/default/classes/ElevateCreateBatchItemRequest.cls +++ b/force-app/main/default/classes/ElevateCreateBatchItemRequest.cls @@ -34,31 +34,37 @@ public with sharing class ElevateCreateBatchItemRequest { public CommitmentInfo commitmentInfo; public PurchaseInfo purchaseInfo; - public ElevateCreateBatchItemRequest(ElevateCreateBatchItemRequestDTO batchItemRequestDTO) { + public ElevateCreateBatchItemRequest(ElevateCreateBatchItemRequestDTO batchItemRequestDTO, String gatewayOverride) { if (batchItemRequestDTO.schedule == null || batchItemRequestDTO.schedule.isEmpty()) { batchItemType = ElevateBatchItemType.ONE_TIME; } else { batchItemType = ElevateBatchItemType.COMMITMENT; } - buildRequestBody(batchItemRequestDTO); + buildRequestBody(batchItemRequestDTO, gatewayOverride); } - private void buildRequestBody(ElevateCreateBatchItemRequestDTO batchItemRequestDTO) { + private void buildRequestBody(ElevateCreateBatchItemRequestDTO batchItemRequestDTO, String gatewayOverride) { PS_IntegrationServiceConfig.Service configService = new PS_IntegrationServiceConfig.Service(); if (batchItemType == ElevateBatchItemType.COMMITMENT) { - buildCommitmentInfoBody(batchItemRequestDTO, configService); + buildCommitmentInfoBody(batchItemRequestDTO, configService, gatewayOverride); } else { - buildPurchaseInfoBody(batchItemRequestDTO, configService); + buildPurchaseInfoBody(batchItemRequestDTO, configService, gatewayOverride); } } private void buildPurchaseInfoBody(ElevateCreateBatchItemRequestDTO batchItemRequestDTO, - PS_IntegrationServiceConfig.Service configService) { + PS_IntegrationServiceConfig.Service configService, + String gatewayOverride) { purchaseInfo = new ElevateCreateBatchItemRequest.PurchaseInfo(); purchaseInfo.merchantId = configService.getMerchantIds(); - purchaseInfo.gatewayId = configService.getGatewayIds(); + if (String.isNotBlank(gatewayOverride)) { + purchaseInfo.gatewayId = gatewayOverride; + } + else { + purchaseInfo.gatewayId = configService.getGatewayIds(); + } purchaseInfo.currencyCode = UserInfo.getDefaultCurrency(); purchaseInfo.amount = Integer.valueOf(batchItemRequestDTO.amount); @@ -68,10 +74,16 @@ public with sharing class ElevateCreateBatchItemRequest { } private void buildCommitmentInfoBody(ElevateCreateBatchItemRequestDTO batchItemRequestDTO, - PS_IntegrationServiceConfig.Service configService) { + PS_IntegrationServiceConfig.Service configService, + String gatewayOverride) { commitmentInfo = new ElevateCreateBatchItemRequest.CommitmentInfo(); - commitmentInfo.gatewayId = configService.getGatewayIds(); + if (String.isNotBlank(gatewayOverride)) { + commitmentInfo.gatewayId = gatewayOverride; + } + else { + commitmentInfo.gatewayId = configService.getGatewayIds(); + } commitmentInfo.merchantId = configService.getMerchantIds(); commitmentInfo.currencyCode = UserInfo.getDefaultCurrency(); diff --git a/force-app/main/default/classes/GE_GiftEntryController.cls b/force-app/main/default/classes/GE_GiftEntryController.cls index e57605873a4..f46b2b73176 100644 --- a/force-app/main/default/classes/GE_GiftEntryController.cls +++ b/force-app/main/default/classes/GE_GiftEntryController.cls @@ -339,10 +339,11 @@ public with sharing class GE_GiftEntryController { @AuraEnabled public static ElevateBatchItem addToElevateBatch(ElevateCreateBatchItemRequestDTO batchItemRequestDTO, - String elevateBatchId) { + String elevateBatchId, + String gatewayOverride) { ElevateBatchItem batchItem; try { - batchItem = elevateBatchService.addToElevateBatch(batchItemRequestDTO, elevateBatchId); + batchItem = elevateBatchService.addToElevateBatch(batchItemRequestDTO, elevateBatchId, gatewayOverride); } catch (AuraHandledException ex) { UTIL_AuraEnabledCommon.throwAuraHandledException(ex.getMessage()); } diff --git a/force-app/main/default/classes/GE_GiftEntryController_TEST.cls b/force-app/main/default/classes/GE_GiftEntryController_TEST.cls index 8a050e7fdc7..5ad0696f41a 100755 --- a/force-app/main/default/classes/GE_GiftEntryController_TEST.cls +++ b/force-app/main/default/classes/GE_GiftEntryController_TEST.cls @@ -183,7 +183,7 @@ public with sharing class GE_GiftEntryController_TEST { String.valueOf(npe03__Recurring_Donation__c.StartDate__c) => String.valueOf(Date.today()) }; Test.startTest(); - ElevateCreateBatchItemRequest request = new ElevateBatchService().buildBatchItemRequestFrom(dto); + ElevateCreateBatchItemRequest request = new ElevateBatchService().buildBatchItemRequestFrom(dto, null); Test.stopTest(); System.assertEquals(ElevateBatchItemType.COMMITMENT, request.batchItemType, 'The request batch item type ' + @@ -230,7 +230,7 @@ public with sharing class GE_GiftEntryController_TEST { Test.startTest(); try { elevateBatchItem = GE_GiftEntryController.addToElevateBatch(new ElevateCreateBatchItemRequestDTO(), - 'test-valid-id'); + 'test-valid-id', null); } catch (AuraHandledException ex) { auraException = ex; } @@ -255,7 +255,7 @@ public with sharing class GE_GiftEntryController_TEST { Test.startTest(); try { elevateBatchItem = GE_GiftEntryController.addToElevateBatch(new ElevateCreateBatchItemRequestDTO(), - 'test-valid-id'); + 'test-valid-id', null); } catch (AuraHandledException ex) { auraException = ex; } @@ -280,7 +280,7 @@ ElevateBatchItemType.ONE_TIME, TEST_PAYMENT_METHOD_CARD); Test.startTest(); try { elevateBatchItem = GE_GiftEntryController.addToElevateBatch(new ElevateCreateBatchItemRequestDTO(), - 'test-valid-id'); + 'test-valid-id', null); } catch (AuraHandledException ex) { auraException = ex; } @@ -305,7 +305,7 @@ ElevateBatchItemType.ONE_TIME, TEST_PAYMENT_METHOD_CARD); Test.startTest(); try { elevateBatchItem = GE_GiftEntryController.addToElevateBatch(new ElevateCreateBatchItemRequestDTO(), - 'test-valid-id'); + 'test-valid-id', null); } catch (AuraHandledException ex) { auraException = ex; } @@ -349,7 +349,7 @@ ElevateBatchItemType.ONE_TIME, TEST_PAYMENT_METHOD_CARD); Test.startTest(); try { - GE_GiftEntryController.addToElevateBatch(new ElevateCreateBatchItemRequestDTO(), 'test-valid-group-id'); + GE_GiftEntryController.addToElevateBatch(new ElevateCreateBatchItemRequestDTO(), 'test-valid-group-id', null); } catch (AuraHandledException ex) { auraException = ex; } diff --git a/force-app/main/default/lwc/geElevateBatch/geElevateBatch.js b/force-app/main/default/lwc/geElevateBatch/geElevateBatch.js index a3390bdb71f..80ab85d1d3a 100644 --- a/force-app/main/default/lwc/geElevateBatch/geElevateBatch.js +++ b/force-app/main/default/lwc/geElevateBatch/geElevateBatch.js @@ -3,6 +3,7 @@ import apexCreateElevateBatch from '@salesforce/apex/GE_GiftEntryController.crea import apexRemoveFromElevateBatch from '@salesforce/apex/GE_GiftEntryController.removeFromElevateBatch'; import PAYMENT_ELEVATE_ID from '@salesforce/schema/DataImport__c.Payment_Elevate_ID__c'; import PAYMENT_ELEVATE_ELEVATE_BATCH_ID from '@salesforce/schema/DataImport__c.Payment_Elevate_Batch_Id__c'; +import GeGatewaySettings from 'c/geGatewaySettings'; class ElevateBatch { @@ -20,8 +21,9 @@ class ElevateBatch { this.elevateBatchId = await this.create(); } - return await apexAddToElevateBatch( - {batchItemRequestDTO: tokenizedGift, elevateBatchId: this.elevateBatchId} + return await apexAddToElevateBatch({batchItemRequestDTO: tokenizedGift, + elevateBatchId: this.elevateBatchId, + gatewayOverride: GeGatewaySettings.getDecryptedGatewayId()} ); } catch (exception) { if (retryOnFailure) { diff --git a/force-app/main/default/lwc/geFormRenderer/geFormRenderer.js b/force-app/main/default/lwc/geFormRenderer/geFormRenderer.js index 0c1607db912..b82bda3e03e 100644 --- a/force-app/main/default/lwc/geFormRenderer/geFormRenderer.js +++ b/force-app/main/default/lwc/geFormRenderer/geFormRenderer.js @@ -34,6 +34,7 @@ import GeFormElementHelper from './geFormElementHelper' import GeFormService from 'c/geFormService'; import Settings from 'c/geSettings'; import GeLabelService from 'c/geLabelService'; +import GeGatewaySettings from 'c/geGatewaySettings'; import messageLoading from '@salesforce/label/c.labelMessageLoading'; import geMakeRecurring from '@salesforce/label/c.geMakeRecurring'; import btnContinue from '@salesforce/label/c.btnContinue'; @@ -542,9 +543,13 @@ export default class GeFormRenderer extends LightningElement{ } if (!this.isSingleGiftEntry) { + GeGatewaySettings.initDecryptedElevateSettings(formTemplate.elevateSettings); this.sections = this.prepareFormForBatchMode(formTemplate.layout.sections); this.dispatchEvent(new CustomEvent('sectionsretrieved')); } + else { + GeGatewaySettings.clearDecryptedElevateSettings(); + } } this.sections = this.appendRecordTypeLocationInfoToPicklistElements(); @@ -921,6 +926,7 @@ export default class GeFormRenderer extends LightningElement{ } async shouldRemoveFromElevateBatch(gift, shouldBeCreditCard) { + // TODO: Review with team. Why are we omitting ACH here? const isCreditCard = (this.selectedPaymentMethod() === PAYMENT_METHOD_CREDIT_CARD); if (!gift.id() || !this.isElevateCustomer || isCreditCard !== shouldBeCreditCard) { return false; @@ -999,6 +1005,7 @@ export default class GeFormRenderer extends LightningElement{ [apiNameFor(PAYMENT_ELEVATE_ELEVATE_BATCH_ID)]: this.currentElevateBatch.elevateBatchId }); + // TODO: Review with Daniel. Is there anything that needs to be done for ACH?? if (this.selectedPaymentMethod() === PAYMENT_METHOD_CREDIT_CARD) { this.updateFormState({ [apiNameFor(DATA_IMPORT_RECURRING_DONATION_CARD_EXPIRATION_MONTH)]: @@ -2509,14 +2516,9 @@ export default class GeFormRenderer extends LightningElement{ } hasChargeableTransactionStatus = () => { - const nonChargeableForSingleGift = this.selectedPaymentMethod() !== PAYMENT_METHODS.ACH + const nonChargeable = this.selectedPaymentMethod() !== PAYMENT_METHODS.ACH && this.selectedPaymentMethod() !== PAYMENT_METHOD_CREDIT_CARD; - if (this.isSingleGiftEntry && nonChargeableForSingleGift) { - return false; - } - - const nonChargeableForBatchGift = this.selectedPaymentMethod() !== PAYMENT_METHOD_CREDIT_CARD; - if (!this.isSingleGiftEntry && nonChargeableForBatchGift) { + if (nonChargeable) { return false; } diff --git a/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.html b/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.html index 89ccf8ccd8a..428f1ff6518 100755 --- a/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.html +++ b/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.html @@ -178,6 +178,11 @@

+ + + + + diff --git a/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js b/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js index 3c8f0901615..76e3e8b2ef5 100755 --- a/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js +++ b/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js @@ -20,6 +20,7 @@ import { import ElevateWidgetDisplay from './helpers/elevateWidgetDisplay'; import GeFormService from 'c/geFormService'; import Settings from 'c/geSettings'; +import GeGatewaySettings from 'c/geGatewaySettings'; import DATA_IMPORT_PAYMENT_AUTHORIZATION_TOKEN_FIELD from '@salesforce/schema/DataImport__c.Payment_Authorization_Token__c'; import DATA_IMPORT_PAYMENT_STATUS_FIELD from '@salesforce/schema/DataImport__c.Payment_Status__c'; @@ -503,9 +504,6 @@ export default class geFormWidgetTokenizeCard extends LightningElement { } hasValidPaymentMethod() { - if (this.isInBatchGiftEntry() && this._currentPaymentMethod === PAYMENT_METHODS.ACH) { - return false; - } return this._currentPaymentMethod === PAYMENT_METHODS.ACH || this._currentPaymentMethod === PAYMENT_METHOD_CREDIT_CARD; } @@ -540,7 +538,14 @@ export default class geFormWidgetTokenizeCard extends LightningElement { } requestMount() { - tokenHandler.mount(this.iframe(), this._currentPaymentMethod, this.handleError, this.resolveMount); + let gatewayOverride = GeGatewaySettings.getDecryptedGatewayId(); + tokenHandler.mount( + this.iframe(), + this._currentPaymentMethod, + this.handleError, + this.resolveMount, + gatewayOverride + ); } resolveMount = () => { diff --git a/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.css b/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.css index ff6cfa6f2b8..f88e81ad553 100644 --- a/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.css +++ b/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.css @@ -2,7 +2,21 @@ padding-top: 0.50rem; } +.template-top { + padding-top: 0.50rem; +} + +.gift-entry-top { + padding-top: 0.0rem; + margin-top: 0.0rem; +} + .half-reduced { padding-top: 0.30rem; width: 50%; } + +.expand-collapse-link { + font-size: 0.8125rem; + font-weight: 500; +} \ No newline at end of file diff --git a/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.html b/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.html index 525f152fff2..deabe9efa2d 100644 --- a/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.html +++ b/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.html @@ -1,129 +1,132 @@ diff --git a/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js b/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js index b02137bf3b1..d889fd8deeb 100644 --- a/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js +++ b/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js @@ -9,11 +9,11 @@ import psElevateConnectionTimeout from '@salesforce/label/c.psElevateConnectionT import psGatewayDefault from '@salesforce/label/c.psGatewayDefault'; import psGatewaysNotFound from '@salesforce/label/c.psGatewaysNotFound'; import psGatewayNotValid from '@salesforce/label/c.psGatewayNotValid'; -import psHideGatewaysAndMethods from '@salesforce/label/c.psHideGateways'; +import psHideGatewaysAndMethods from '@salesforce/label/c.psHideGatewaysAndMethods'; import psHidePaymentMethods from '@salesforce/label/c.psHidePaymentMethods'; import psSelectPaymentGateway from '@salesforce/label/c.psSelectPaymentGateway'; import psSelectPaymentMethods from '@salesforce/label/c.psSelectPaymentMethods'; -import psShowGatewaysAndMethods from '@salesforce/label/c.psShowGateways'; +import psShowGatewaysAndMethods from '@salesforce/label/c.psShowGatewaysAndMethods'; import psShowPaymentMethods from '@salesforce/label/c.psShowPaymentMethods'; import psUnableToConnect from '@salesforce/label/c.psUnableToConnect'; import RD2_Credit_Card_Payment_Method_Label from '@salesforce/label/c.RD2_Credit_Card_Payment_Method_Label'; @@ -61,7 +61,6 @@ export default class GeGatewaySelectWidget extends LightningElement { _firstDisplay = true; _defaultTemplateId = null; _defaultGatewayId = null; - _achInBatch = false; async init() { let gatewayAssignmentSettings = JSON.parse(await getGatewayAssignmentSettings()); diff --git a/force-app/main/default/lwc/geTemplateBuilderWidget/geTemplateBuilderWidget.html b/force-app/main/default/lwc/geTemplateBuilderWidget/geTemplateBuilderWidget.html index a4f9d4c4a61..d1954c61567 100755 --- a/force-app/main/default/lwc/geTemplateBuilderWidget/geTemplateBuilderWidget.html +++ b/force-app/main/default/lwc/geTemplateBuilderWidget/geTemplateBuilderWidget.html @@ -23,8 +23,8 @@

{CUSTOM_LABELS.commonCreditNumber}

{CUSTOM_LABELS.commonMMYY}

{CUSTOM_LABELS.commonCVC}

- - +

{CUSTOM_LABELS.commonRoutingNumber}

+

{CUSTOM_LABELS.commonAccountNumber}

From ed9028166ee5a872305e3d380cf69e8f1c6fbdac Mon Sep 17 00:00:00 2001 From: Reede Stockton Date: Sat, 1 Oct 2022 10:01:59 -0700 Subject: [PATCH 024/515] Remove unused property. --- .../default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js | 1 - 1 file changed, 1 deletion(-) diff --git a/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js b/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js index d889fd8deeb..e348c8f23f2 100644 --- a/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js +++ b/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js @@ -28,7 +28,6 @@ export default class GeGatewaySelectWidget extends LightningElement { @track isExpanded = false; @track selectedGateway = null; @track gatewayOptions = []; - @track preGatewayOptions = []; @track isACHEnabled = true; @track isACHDisabled = false; @track isCreditCardEnabled = true; From 87a6c2cf2a6e49030b6dad0eefae36c2b7164071 Mon Sep 17 00:00:00 2001 From: Reede Stockton Date: Sat, 1 Oct 2022 11:59:55 -0700 Subject: [PATCH 025/515] Change handleUserPaymentInformation() and resetForBatch() to use isValidBatchElevatePaymentMethod(). --- .../lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js b/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js index 5dfa2a0bcf1..06ba56a1f0a 100755 --- a/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js +++ b/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js @@ -352,7 +352,7 @@ export default class geFormWidgetTokenizeCard extends LightningElement { isElevateWidgetDisabled: false }); - if (this.isInBatchGiftEntry() && !this.isPaymentMethodCreditCard()) { + if (this.isInBatchGiftEntry() && !this.isValidBatchElevatePaymentMethod()) { this.display.transitionTo('userOriginatedDeactivated'); } else { this.display.transitionTo('userOriginatedCharge'); @@ -409,7 +409,7 @@ export default class geFormWidgetTokenizeCard extends LightningElement { } resetForBatch() { - if (this.isPaymentMethodCreditCard()) { + if (this.isValidBatchElevatePaymentMethod()) { this.display.transitionTo('resetToCharge'); } else { this.display.transitionTo('resetToDeactivated'); From 0303419d394b7240aa1120dfe76c8a150ca3624a Mon Sep 17 00:00:00 2001 From: Reede Stockton Date: Sat, 1 Oct 2022 13:16:13 -0700 Subject: [PATCH 026/515] Unit tests for Gateway Override. --- .../classes/GE_GiftEntryController_TEST.cls | 62 +++++++++++++++++-- 1 file changed, 56 insertions(+), 6 deletions(-) diff --git a/force-app/main/default/classes/GE_GiftEntryController_TEST.cls b/force-app/main/default/classes/GE_GiftEntryController_TEST.cls index 5ad0696f41a..1347a7bd36f 100755 --- a/force-app/main/default/classes/GE_GiftEntryController_TEST.cls +++ b/force-app/main/default/classes/GE_GiftEntryController_TEST.cls @@ -178,12 +178,12 @@ public with sharing class GE_GiftEntryController_TEST { dto.currencyCode = 'USD'; dto.paymentMethodToken = '12345'; dto.schedule = new Map { - String.valueOf(npe03__Recurring_Donation__c.npe03__Installment_Period__c) => 'Monthly', - String.valueOf(npe03__Recurring_Donation__c.InstallmentFrequency__c) => '1', - String.valueOf(npe03__Recurring_Donation__c.StartDate__c) => String.valueOf(Date.today()) + String.valueOf(npe03__Recurring_Donation__c.npe03__Installment_Period__c) => 'Monthly', + String.valueOf(npe03__Recurring_Donation__c.InstallmentFrequency__c) => '1', + String.valueOf(npe03__Recurring_Donation__c.StartDate__c) => String.valueOf(Date.today()) }; Test.startTest(); - ElevateCreateBatchItemRequest request = new ElevateBatchService().buildBatchItemRequestFrom(dto, null); + ElevateCreateBatchItemRequest request = new ElevateBatchService().buildBatchItemRequestFrom(dto, null); Test.stopTest(); System.assertEquals(ElevateBatchItemType.COMMITMENT, request.batchItemType, 'The request batch item type ' + @@ -216,10 +216,60 @@ public with sharing class GE_GiftEntryController_TEST { Datetime startDateTime = Datetime.newInstance(Date.today().year(), Date.today().month(), Date.today().day()); System.assertEquals(startDateTime.formatGmt('yyyy-MM-dd\'T\'HH:mm:ss\'Z\''), request.commitmentInfo.schedules[0].firstOccurrenceOnTimestamp, 'The request first occurrence ' + - 'timestamp should should match the DTO and be converted to ISO 8601 format.'); + 'timestamp should should match the DTO and be converted to ISO 8601 format.'); } - @IsTest + @isTest + static void batchItemRequestIncludesDefaultGateway() { + + ElevateCreateBatchItemRequestDTO dto = new ElevateCreateBatchItemRequestDTO(); + dto.amount = '2000'; + dto.firstName = 'test'; + dto.lastName = 'donor'; + dto.currencyCode = 'USD'; + dto.paymentMethodToken = '12345'; + + PS_IntegrationService.setConfiguration(PS_IntegrationServiceConfig_TEST.testConfig); + + Test.startTest(); + ElevateCreateBatchItemRequest request = new ElevateBatchService().buildBatchItemRequestFrom(dto, null); + Test.stopTest(); + + System.assertEquals(ElevateBatchItemType.ONE_TIME, request.batchItemType, 'The request batch item type ' + + 'should be ONE_TIME'); + System.assertNotEquals(null, request.purchaseInfo, 'The request purchase info object should not be null.'); + System.assert(request.commitmentInfo == null, 'The request commitment info object should be null.'); + + System.assertEquals(PS_IntegrationServiceConfig_TEST.testGatewayId, request.purchaseInfo.gatewayId, + 'The gateway Id should be populated with the default gateway when we do not override'); + } + + @isTest + static void batchItemRequestIncludesOverrideGateway() { + final String gatewayOverride = 'Override Gateway'; + ElevateCreateBatchItemRequestDTO dto = new ElevateCreateBatchItemRequestDTO(); + dto.amount = '2000'; + dto.firstName = 'test'; + dto.lastName = 'donor'; + dto.currencyCode = 'USD'; + dto.paymentMethodToken = '12345'; + + PS_IntegrationService.setConfiguration(PS_IntegrationServiceConfig_TEST.testConfig); + + Test.startTest(); + ElevateCreateBatchItemRequest request = new ElevateBatchService().buildBatchItemRequestFrom(dto, gatewayOverride); + Test.stopTest(); + + System.assertEquals(ElevateBatchItemType.ONE_TIME, request.batchItemType, 'The request batch item type ' + + 'should be ONE_TIME'); + System.assertNotEquals(null, request.purchaseInfo, 'The request purchase info object should not be null.'); + System.assert(request.commitmentInfo == null, 'The request commitment info object should be null.'); + + System.assertEquals(gatewayOverride, request.purchaseInfo.gatewayId, + 'The gateway Id should be populated with the Override Gateway'); + } + + @isTest static void addCardCommitmentToElevateBatchShouldReturnSuccessResponse() { GE_GiftEntryController.elevateBatchService = new ElevateBatchServiceValidRequest( ElevateBatchItemType.COMMITMENT, TEST_PAYMENT_METHOD_CARD); From 2725e75460146e69e7904c470eaeb7960ce4947b Mon Sep 17 00:00:00 2001 From: Reede Stockton Date: Sun, 2 Oct 2022 10:42:55 -0700 Subject: [PATCH 027/515] Working version of ACH in batch. ACH payment created in Elevate immediately - Payments issue? --- .../classes/ElevateCreateBatchItemRequest.cls | 27 ++++++++++++++++++- .../ElevateCreateBatchItemRequestDTO.cls | 2 ++ .../classes/GE_GiftEntryController.cls | 1 + .../classes/GE_GiftEntryController_TEST.cls | 10 +++---- .../default/classes/PS_CommitmentRequest.cls | 6 ++--- .../geFormRenderer/elevateTokenizeableGift.js | 4 ++- .../lwc/geFormRenderer/geFormRenderer.js | 27 ++++++++++--------- .../main/default/pages/GE_TokenizeCard.page | 2 +- 8 files changed, 56 insertions(+), 23 deletions(-) diff --git a/force-app/main/default/classes/ElevateCreateBatchItemRequest.cls b/force-app/main/default/classes/ElevateCreateBatchItemRequest.cls index 0c24ce71847..dbf68811cef 100644 --- a/force-app/main/default/classes/ElevateCreateBatchItemRequest.cls +++ b/force-app/main/default/classes/ElevateCreateBatchItemRequest.cls @@ -28,7 +28,6 @@ * POSSIBILITY OF SUCH DAMAGE. */ public with sharing class ElevateCreateBatchItemRequest { - //TODO: If we choose to support ACH we will need to explicitly pass paymentMethodType or the callout will fail public ElevateBatchItemType batchItemType; public CommitmentInfo commitmentInfo; @@ -71,6 +70,17 @@ public with sharing class ElevateCreateBatchItemRequest { purchaseInfo.firstName = batchItemRequestDTO.firstName; purchaseInfo.lastName = batchItemRequestDTO.lastName; purchaseInfo.paymentMethodToken = batchItemRequestDTO.paymentMethodToken; + purchaseInfo.paymentMethodType = batchItemRequestDTO.paymentMethodType; + + if (batchItemRequestDTO.paymentMethodType == 'ACH') { + ElevateCreateBatchItemRequest.AchData achData = new ElevateCreateBatchItemRequest.AchData(); + achData.achCode = PS_CommitmentRequest.ACH_CODE_WEB; + achData.bankType = PS_CommitmentRequest.ACH_BANK_TYPE_CHECKING; + achData.consent = PS_CommitmentRequest.ACH_CONSENT_MESSAGE; + achData.type = batchItemRequestDTO.type; + + purchaseInfo.achData = achData; + } } private void buildCommitmentInfoBody(ElevateCreateBatchItemRequestDTO batchItemRequestDTO, @@ -95,6 +105,17 @@ public with sharing class ElevateCreateBatchItemRequest { }; commitmentInfo.paymentMethodToken = batchItemRequestDTO.paymentMethodToken; commitmentInfo.productMetadataSchemaUri = PS_Request.PRODUCT_METADATA_SCHEMA_URI; + commitmentInfo.paymentMethodType = batchItemRequestDTO.paymentMethodType; + + if (batchItemRequestDTO.paymentMethodType == 'ACH') { + ElevateCreateBatchItemRequest.AchData achData = new ElevateCreateBatchItemRequest.AchData(); + achData.achCode = PS_CommitmentRequest.ACH_CODE_WEB; + achData.bankType = PS_CommitmentRequest.ACH_BANK_TYPE_CHECKING; + achData.consent = PS_CommitmentRequest.ACH_CONSENT_MESSAGE; + achData.type = batchItemRequestDTO.type; + + commitmentInfo.achData = achData; + } } public class CommitmentInfo { @@ -105,10 +126,12 @@ public with sharing class ElevateCreateBatchItemRequest { public String gatewayId; public String merchantId; public String paymentMethodToken; + public String paymentMethodType; public Map productMetadata; public String productMetadataSchemaUri; public List schedules; public String type; + public AchData achData; public CommitmentInfo() { this.productMetadata = getProductMetadata(); @@ -166,8 +189,10 @@ public with sharing class ElevateCreateBatchItemRequest { public String lastName; public String email; public String paymentMethodToken; + public String paymentMethodType; public Map productMetadata; public String productMetadataSchemaUri; + public AchData achData; public PurchaseInfo() { this.productMetadata = getProductMetadata(); diff --git a/force-app/main/default/classes/ElevateCreateBatchItemRequestDTO.cls b/force-app/main/default/classes/ElevateCreateBatchItemRequestDTO.cls index 40bb111bcda..1fff28a66e4 100644 --- a/force-app/main/default/classes/ElevateCreateBatchItemRequestDTO.cls +++ b/force-app/main/default/classes/ElevateCreateBatchItemRequestDTO.cls @@ -38,5 +38,7 @@ public with sharing class ElevateCreateBatchItemRequestDTO { @AuraEnabled public String lastName {get; set;} @AuraEnabled public String currencyCode {get; set;} @AuraEnabled public String paymentMethodToken {get; set;} + @AuraEnabled public String paymentMethodType {get; set;} + @AuraEnabled public String type {get; set;} @AuraEnabled public Map schedule {get; set;} } \ No newline at end of file diff --git a/force-app/main/default/classes/GE_GiftEntryController.cls b/force-app/main/default/classes/GE_GiftEntryController.cls index f46b2b73176..da25b4d9cc3 100644 --- a/force-app/main/default/classes/GE_GiftEntryController.cls +++ b/force-app/main/default/classes/GE_GiftEntryController.cls @@ -347,6 +347,7 @@ public with sharing class GE_GiftEntryController { } catch (AuraHandledException ex) { UTIL_AuraEnabledCommon.throwAuraHandledException(ex.getMessage()); } + return batchItem; } diff --git a/force-app/main/default/classes/GE_GiftEntryController_TEST.cls b/force-app/main/default/classes/GE_GiftEntryController_TEST.cls index 1347a7bd36f..427961b6a9d 100755 --- a/force-app/main/default/classes/GE_GiftEntryController_TEST.cls +++ b/force-app/main/default/classes/GE_GiftEntryController_TEST.cls @@ -178,12 +178,12 @@ public with sharing class GE_GiftEntryController_TEST { dto.currencyCode = 'USD'; dto.paymentMethodToken = '12345'; dto.schedule = new Map { - String.valueOf(npe03__Recurring_Donation__c.npe03__Installment_Period__c) => 'Monthly', - String.valueOf(npe03__Recurring_Donation__c.InstallmentFrequency__c) => '1', - String.valueOf(npe03__Recurring_Donation__c.StartDate__c) => String.valueOf(Date.today()) + String.valueOf(npe03__Recurring_Donation__c.npe03__Installment_Period__c) => 'Monthly', + String.valueOf(npe03__Recurring_Donation__c.InstallmentFrequency__c) => '1', + String.valueOf(npe03__Recurring_Donation__c.StartDate__c) => String.valueOf(Date.today()) }; Test.startTest(); - ElevateCreateBatchItemRequest request = new ElevateBatchService().buildBatchItemRequestFrom(dto, null); + ElevateCreateBatchItemRequest request = new ElevateBatchService().buildBatchItemRequestFrom(dto, null); Test.stopTest(); System.assertEquals(ElevateBatchItemType.COMMITMENT, request.batchItemType, 'The request batch item type ' + @@ -216,7 +216,7 @@ public with sharing class GE_GiftEntryController_TEST { Datetime startDateTime = Datetime.newInstance(Date.today().year(), Date.today().month(), Date.today().day()); System.assertEquals(startDateTime.formatGmt('yyyy-MM-dd\'T\'HH:mm:ss\'Z\''), request.commitmentInfo.schedules[0].firstOccurrenceOnTimestamp, 'The request first occurrence ' + - 'timestamp should should match the DTO and be converted to ISO 8601 format.'); + 'timestamp should should match the DTO and be converted to ISO 8601 format.'); } @isTest diff --git a/force-app/main/default/classes/PS_CommitmentRequest.cls b/force-app/main/default/classes/PS_CommitmentRequest.cls index 3bae3c58059..45870a608a5 100644 --- a/force-app/main/default/classes/PS_CommitmentRequest.cls +++ b/force-app/main/default/classes/PS_CommitmentRequest.cls @@ -112,9 +112,9 @@ public inherited sharing class PS_CommitmentRequest { */ private static final Integer MAX_NAME_LENGTH = 60; - private static final String ACH_BANK_TYPE_CHECKING = 'CHECKING'; - private static final String ACH_CODE_WEB = 'WEB'; - private static final String ACH_CONSENT_MESSAGE = 'true'; + public static final String ACH_BANK_TYPE_CHECKING = 'CHECKING'; + public static final String ACH_CODE_WEB = 'WEB'; + public static final String ACH_CONSENT_MESSAGE = 'true'; private static final Map BANK_ACCOUNT_TYPE_MAP = new Map{ Contact.SObjectType => ElevateBankAccountType.INDIVIDUAL, diff --git a/force-app/main/default/lwc/geFormRenderer/elevateTokenizeableGift.js b/force-app/main/default/lwc/geFormRenderer/elevateTokenizeableGift.js index 606a49be4c2..83d1acba8f8 100644 --- a/force-app/main/default/lwc/geFormRenderer/elevateTokenizeableGift.js +++ b/force-app/main/default/lwc/geFormRenderer/elevateTokenizeableGift.js @@ -3,13 +3,15 @@ import PAYMENT_AUTHORIZE_TOKEN from '@salesforce/schema/DataImport__c.Payment_Au class ElevateTokenizeabledGift { - constructor(fullName, amount, schedule) { + constructor(fullName, amount, schedule, paymentMethod, type) { this.amount = amount; this.firstName = fullName.firstName; this.lastName = fullName.lastName; this.currencyCode = CURRENCY; this.paymentMethodToken = null; this.schedule = schedule; + this.paymentMethodType = paymentMethod; + this.type = type; } async tokenize(sections) { diff --git a/force-app/main/default/lwc/geFormRenderer/geFormRenderer.js b/force-app/main/default/lwc/geFormRenderer/geFormRenderer.js index b26f648b8ad..37dfe61d2d5 100644 --- a/force-app/main/default/lwc/geFormRenderer/geFormRenderer.js +++ b/force-app/main/default/lwc/geFormRenderer/geFormRenderer.js @@ -128,7 +128,8 @@ import { PAYMENT_UNKNOWN_ERROR_STATUS, FAILED, COMMITMENT_INACTIVE_STATUS, - BATCH_COMMITMENT_CREATED_STATUS_REASON + BATCH_COMMITMENT_CREATED_STATUS_REASON, + PAYMENT_METHOD_ACH } from 'c/geConstants'; @@ -867,7 +868,9 @@ export default class GeFormRenderer extends LightningElement{ getCurrencyLowestCommonDenominator( this.getFieldValueFromFormState(DATA_IMPORT_DONATION_AMOUNT) ), - this.giftInView.schedule + this.giftInView.schedule, + this.selectedPaymentMethod() === 'ACH' ? 'ACH' : 'CARD', + this.accountHolderType() ); this.updateFormState(await tokenizedGift.tokenize(sectionsList)); } @@ -925,9 +928,11 @@ export default class GeFormRenderer extends LightningElement{ })); } - async shouldRemoveFromElevateBatch(gift, shouldBeCreditCard) { - const isCreditCard = (this.selectedPaymentMethod() === PAYMENT_METHOD_CREDIT_CARD); - if (!gift.id() || !this.isElevateCustomer || isCreditCard !== shouldBeCreditCard) { + async shouldRemoveFromElevateBatch(gift, isTokenizedGift) { + const shouldBeTokenized = ( + this.selectedPaymentMethod() === PAYMENT_METHOD_CREDIT_CARD || + this.selectedPaymentMethod() === PAYMENT_METHOD_ACH ); + if (!gift.id() || !this.isElevateCustomer || shouldBeTokenized !== isTokenizedGift) { return false; } @@ -995,6 +1000,7 @@ export default class GeFormRenderer extends LightningElement{ } populateFormStateWithRDInfo(elevateBatchItem) { + // TODO: Will need to review status... const isSuccessful = elevateBatchItem.status === COMMITMENT_INACTIVE_STATUS && elevateBatchItem.statusReason === BATCH_COMMITMENT_CREATED_STATUS_REASON; if (isSuccessful) { @@ -1004,6 +1010,7 @@ export default class GeFormRenderer extends LightningElement{ [apiNameFor(PAYMENT_ELEVATE_ELEVATE_BATCH_ID)]: this.currentElevateBatch.elevateBatchId }); + // TODO: May need some adjustment - review status after Connector update... if (this.selectedPaymentMethod() === PAYMENT_METHOD_CREDIT_CARD) { this.updateFormState({ [apiNameFor(DATA_IMPORT_RECURRING_DONATION_CARD_EXPIRATION_MONTH)]: @@ -1021,6 +1028,7 @@ export default class GeFormRenderer extends LightningElement{ const isAuthorized = elevateBatchItem.status === this.PAYMENT_TRANSACTION_STATUS_ENUM.AUTHORIZED || elevateBatchItem.status === this.PAYMENT_TRANSACTION_STATUS_ENUM.PENDING + // TODO: May need some adjustment - review after connector update... if (isAuthorized) { this.updateFormState({ [apiNameFor(PAYMENT_ELEVATE_ELEVATE_BATCH_ID)]: this.currentElevateBatch.elevateBatchId, @@ -2514,14 +2522,9 @@ export default class GeFormRenderer extends LightningElement{ } hasChargeableTransactionStatus = () => { - const nonChargeableForSingleGift = this.selectedPaymentMethod() !== PAYMENT_METHODS.ACH + const nonChargeable = this.selectedPaymentMethod() !== PAYMENT_METHODS.ACH && this.selectedPaymentMethod() !== PAYMENT_METHOD_CREDIT_CARD; - if (this.isSingleGiftEntry && nonChargeableForSingleGift) { - return false; - } - - const nonChargeableForBatchGift = this.selectedPaymentMethod() !== PAYMENT_METHOD_CREDIT_CARD; - if (!this.isSingleGiftEntry && nonChargeableForBatchGift) { + if (nonChargeable) { return false; } diff --git a/force-app/main/default/pages/GE_TokenizeCard.page b/force-app/main/default/pages/GE_TokenizeCard.page index 1ba83186776..ec133afc79b 100755 --- a/force-app/main/default/pages/GE_TokenizeCard.page +++ b/force-app/main/default/pages/GE_TokenizeCard.page @@ -88,7 +88,7 @@ function handleMounting(paymentMethod, gatewayOverride) { if (isValidPaymentMethod(paymentMethod)) { - const mountGateway = gatewayOverride ? gatewayOverride : '{!gatewayIds}'; + const mountGateway = !!gatewayOverride ? gatewayOverride : '{!gatewayIds}'; const config = { id: 'payments', clientId: '{!clientId}', From 590c257a5501d90645c28bb52019fd4f17cea037 Mon Sep 17 00:00:00 2001 From: screcco-sfdo Date: Mon, 3 Oct 2022 09:54:06 -0400 Subject: [PATCH 028/515] update active/inactive messaging as per @ErinWiedemer --- .../gePaymentGatewayManagement.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.html b/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.html index edae60c6e7a..bc851c3637d 100644 --- a/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.html +++ b/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.html @@ -75,8 +75,8 @@

Elevate Gateway Managemen label={CUSTOM_LABELS.psEnableGatewayAssignment} onchange={handleToggle} checked={gatewayAssignmentEnabled} - message-toggle-active="Enabled" - message-toggle-inactive="Disabled"> + message-toggle-active="On" + message-toggle-inactive="Off"> From 7ca6cfd62cfd14a36e2dbb0d3671c04307651786 Mon Sep 17 00:00:00 2001 From: Victor Oduyemi Date: Mon, 3 Oct 2022 09:28:11 -0600 Subject: [PATCH 029/515] Updated custom label --- force-app/main/default/classes/RD2_PauseForm_CTRL.cls | 2 +- force-app/main/default/classes/RD2_PauseForm_TEST.cls | 3 ++- .../main/default/labels/CustomLabels.labels-meta.xml | 8 ++++++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/force-app/main/default/classes/RD2_PauseForm_CTRL.cls b/force-app/main/default/classes/RD2_PauseForm_CTRL.cls index 6aa71d6816a..e283a7a8c86 100644 --- a/force-app/main/default/classes/RD2_PauseForm_CTRL.cls +++ b/force-app/main/default/classes/RD2_PauseForm_CTRL.cls @@ -277,7 +277,7 @@ public with sharing class RD2_PauseForm_CTRL { if (isPauseRemoved(pause)) return; if (nextInstalmentDate.addDays(-1).isSameDay(pause.startDate)) { - throw new PauseException('Invalid Pause'); + throw new PauseException(System.Label.RD2_ElevatePauseInstallmentDateErrorMessage); } } diff --git a/force-app/main/default/classes/RD2_PauseForm_TEST.cls b/force-app/main/default/classes/RD2_PauseForm_TEST.cls index 457f2d9751d..dee933ad617 100644 --- a/force-app/main/default/classes/RD2_PauseForm_TEST.cls +++ b/force-app/main/default/classes/RD2_PauseForm_TEST.cls @@ -225,7 +225,8 @@ public with sharing class RD2_PauseForm_TEST { Test.stopTest(); - System.assertEquals('Invalid Pause', auraEx.getMessage(), 'An exception should be thrown'); + System.assertEquals(System.Label.RD2_ElevatePauseInstallmentDateErrorMessage, + auraEx.getMessage(), 'An exception should be thrown'); } diff --git a/force-app/main/default/labels/CustomLabels.labels-meta.xml b/force-app/main/default/labels/CustomLabels.labels-meta.xml index 20c326139cc..f037d89d2fa 100644 --- a/force-app/main/default/labels/CustomLabels.labels-meta.xml +++ b/force-app/main/default/labels/CustomLabels.labels-meta.xml @@ -1609,6 +1609,14 @@ Cannot change payment method to a non-Elevate payment method Valid Payment Methods for an active Elevate-connected Recurring Donation are Credit Card or ACH. + + RD2_ElevatePauseInstallmentDateErrorMessage + Recurring-Donations, Pause + en_US + true + Error message when trying to pause an RD a day from instalment date + We can't pause an Elevate-connected Recurring Donation less than two days before the installment date. + RD2_CurrencyChangeIsRestrictedOnRD Recurring-Donations, Error From a4f8b4e9ed6769a154cf161f05682bd91ecf5526 Mon Sep 17 00:00:00 2001 From: Reede Stockton Date: Sun, 2 Oct 2022 19:38:13 -0700 Subject: [PATCH 030/515] Fix broken jest tests. --- .../geGatewaySelectWidget.js | 22 ++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js b/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js index e348c8f23f2..91b4f1471da 100644 --- a/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js +++ b/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js @@ -62,11 +62,17 @@ export default class GeGatewaySelectWidget extends LightningElement { _defaultGatewayId = null; async init() { - let gatewayAssignmentSettings = JSON.parse(await getGatewayAssignmentSettings()); + try { + let gatewayAssignmentSettings = JSON.parse(await getGatewayAssignmentSettings()); - this._defaultTemplateId = gatewayAssignmentSettings.defaultTemplateId; - this.isGatewayAssignmentEnabled = gatewayAssignmentSettings.gatewayAssignmentEnabled; - this._defaultGatewayId = gatewayAssignmentSettings.defaultGatewayId; + this._defaultTemplateId = gatewayAssignmentSettings.defaultTemplateId; + this.isGatewayAssignmentEnabled = gatewayAssignmentSettings.gatewayAssignmentEnabled; + this._defaultGatewayId = gatewayAssignmentSettings.defaultGatewayId; + } + catch (e) { + this._firstDisplay = false; + this.handleErrors(); + } if (this._defaultTemplateId === GeGatewaySettings.getTemplateRecordId()) { this.isDefaultTemplate = true; @@ -101,7 +107,13 @@ export default class GeGatewaySelectWidget extends LightningElement { return; } - this._elevateGateways = JSON.parse(await getGatewaysFromElevate()); + try { + this._elevateGateways = JSON.parse(await getGatewaysFromElevate()); + } + catch (e) { + this._firstDisplay = false; + this.handleErrors(); + } if (this._elevateGateways && this._elevateGateways.length > 0 && !(this._elevateGateways.errors)) { this.buildOptions(); From 7c61bb2c729a67cc5b4cbe56316d4f3367689a7f Mon Sep 17 00:00:00 2001 From: Reede Stockton Date: Sun, 2 Oct 2022 20:12:49 -0700 Subject: [PATCH 031/515] Refactor disable controls in batch gift entry. --- .../geFormWidgetTokenizeCard.html | 3 ++- .../geFormWidgetTokenizeCard.js | 1 + .../geGatewaySelectWidget/geGatewaySelectWidget.js | 12 +++++++----- .../lwc/geGatewaySettings/geGatewaySettings.js | 8 -------- 4 files changed, 10 insertions(+), 14 deletions(-) diff --git a/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.html b/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.html index 428f1ff6518..d2132d5c605 100755 --- a/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.html +++ b/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.html @@ -179,7 +179,8 @@

- + diff --git a/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js b/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js index 022510ddb40..fa8e006c9e1 100755 --- a/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js +++ b/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js @@ -60,6 +60,7 @@ export default class geFormWidgetTokenizeCard extends LightningElement { alert = {}; dataImportId; isMounted = false; + parentIsGE = true; _displayState; _showSpinner = true; diff --git a/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js b/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js index 91b4f1471da..2d1120ad717 100644 --- a/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js +++ b/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js @@ -1,4 +1,4 @@ -import { LightningElement, track } from 'lwc'; +import { LightningElement, track, api } from 'lwc'; import getGatewaysFromElevate from '@salesforce/apex/GE_GiftEntryController.getGatewaysFromElevate'; import encryptGatewayId from '@salesforce/apex/GE_GiftEntryController.encryptGatewayId'; import decryptGatewayId from '@salesforce/apex/GE_GiftEntryController.decryptGatewayId'; @@ -37,6 +37,8 @@ export default class GeGatewaySelectWidget extends LightningElement { @track isGatewayAssignmentEnabled = false; @track isGatewaySelectionDisabled = false; + @api parentIsGE = false; + CUSTOM_LABELS = Object.freeze({ messageLoading, psACH, @@ -93,7 +95,7 @@ export default class GeGatewaySelectWidget extends LightningElement { this.isLoading = false; } - if (GeGatewaySettings.getIsGiftEntryBatch()) { + if (this.parentIsGE) { await this.restoreSavedSettings(); } } @@ -154,7 +156,7 @@ export default class GeGatewaySelectWidget extends LightningElement { this.handleInitialPaymentMethodSelections(elevateSettings); } - if (GeGatewaySettings.getIsGiftEntryBatch()) { + if (this.parentIsGE) { this.disableAllControls(); } @@ -321,7 +323,7 @@ export default class GeGatewaySelectWidget extends LightningElement { } get hideInGiftEntryBatch() { - if (GeGatewaySettings.getIsGiftEntry()) { + if (this.parentIsGE) { if (GeGatewaySettings.getIsGiftEntryBatch() && this.isGatewayAssignmentEnabled) { return false; } @@ -331,6 +333,6 @@ export default class GeGatewaySelectWidget extends LightningElement { } get cssClassPrefix() { - return GeGatewaySettings.getIsGiftEntry() ? GIFT_ENTRY_CSS_CLASS : TEMPLATE_CSS_CLASS; + return this.parentIsGE ? GIFT_ENTRY_CSS_CLASS : TEMPLATE_CSS_CLASS; } } \ No newline at end of file diff --git a/force-app/main/default/lwc/geGatewaySettings/geGatewaySettings.js b/force-app/main/default/lwc/geGatewaySettings/geGatewaySettings.js index d90d23d5b60..f15efbaa2f7 100644 --- a/force-app/main/default/lwc/geGatewaySettings/geGatewaySettings.js +++ b/force-app/main/default/lwc/geGatewaySettings/geGatewaySettings.js @@ -9,10 +9,8 @@ class GeGatewaySettings { templateRecordId = null; decryptedGatewayId = null; isGiftEntryBatch = false; - isGiftEntry = false; setElevateSettings(initialSettings, templateRecordId) { - this.isGiftEntry = false; this.isGiftEntryBatch = false; this.elevateSettings = initialSettings; this.templateRecordId = templateRecordId; @@ -20,7 +18,6 @@ class GeGatewaySettings { } initDecryptedElevateSettings(elevateSettings) { - this.isGiftEntry = true; this.isGiftEntryBatch = true; this.elevateSettings = elevateSettings; if (this.elevateSettings?.uniqueKey) { @@ -33,7 +30,6 @@ class GeGatewaySettings { } clearDecryptedElevateSettings() { - this.isGiftEntry = true; this.isGiftEntryBatch = false; this.elevateSettings = {}; this.decryptedGatewayId = null; @@ -51,10 +47,6 @@ class GeGatewaySettings { return this.decryptedGatewayId; } - getIsGiftEntry() { - return this.isGiftEntry; - } - getIsGiftEntryBatch() { return this.isGiftEntryBatch; } From da05d5889941df585c1237b7ca73812feb7b18a9 Mon Sep 17 00:00:00 2001 From: Reede Stockton Date: Mon, 3 Oct 2022 09:15:38 -0700 Subject: [PATCH 032/515] Switch parentId to const string value. --- .../geFormWidgetTokenizeCard.html | 2 +- .../geFormWidgetTokenizeCard.js | 3 ++- .../geGatewaySelectWidget/geGatewaySelectWidget.js | 11 ++++++----- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.html b/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.html index d2132d5c605..54aa0487019 100755 --- a/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.html +++ b/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.html @@ -180,7 +180,7 @@

+ parent-id={parentId}> diff --git a/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js b/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js index fa8e006c9e1..99c87275997 100755 --- a/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js +++ b/force-app/main/default/lwc/geFormWidgetTokenizeCard/geFormWidgetTokenizeCard.js @@ -50,6 +50,7 @@ import commonPaymentServices from '@salesforce/label/c.commonPaymentServices'; import geElevateWidgetPaymentServiceUnavailable from '@salesforce/label/c.geElevateWidgetPaymentServiceUnavailable'; const CONTACT_DONOR_TYPE = 'Contact1'; +const PARENT_ID = 'TOKENIZE'; export default class geFormWidgetTokenizeCard extends LightningElement { CUSTOM_LABELS = GeLabelService.CUSTOM_LABELS; @@ -60,7 +61,7 @@ export default class geFormWidgetTokenizeCard extends LightningElement { alert = {}; dataImportId; isMounted = false; - parentIsGE = true; + parentId = PARENT_ID; _displayState; _showSpinner = true; diff --git a/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js b/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js index 2d1120ad717..cc1345e7d0d 100644 --- a/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js +++ b/force-app/main/default/lwc/geGatewaySelectWidget/geGatewaySelectWidget.js @@ -23,6 +23,7 @@ import { isEmpty, showToast } from 'c/utilCommon'; const TEMPLATE_CSS_CLASS = 'template-top'; const GIFT_ENTRY_CSS_CLASS = 'gift-entry-top'; +const TOKENIZE_ID = 'TOKENIZE'; export default class GeGatewaySelectWidget extends LightningElement { @track isExpanded = false; @@ -37,7 +38,7 @@ export default class GeGatewaySelectWidget extends LightningElement { @track isGatewayAssignmentEnabled = false; @track isGatewaySelectionDisabled = false; - @api parentIsGE = false; + @api parentId = ''; CUSTOM_LABELS = Object.freeze({ messageLoading, @@ -95,7 +96,7 @@ export default class GeGatewaySelectWidget extends LightningElement { this.isLoading = false; } - if (this.parentIsGE) { + if (this.parentId === TOKENIZE_ID) { await this.restoreSavedSettings(); } } @@ -156,7 +157,7 @@ export default class GeGatewaySelectWidget extends LightningElement { this.handleInitialPaymentMethodSelections(elevateSettings); } - if (this.parentIsGE) { + if (this.parentId === TOKENIZE_ID) { this.disableAllControls(); } @@ -323,7 +324,7 @@ export default class GeGatewaySelectWidget extends LightningElement { } get hideInGiftEntryBatch() { - if (this.parentIsGE) { + if (this.parentId === TOKENIZE_ID) { if (GeGatewaySettings.getIsGiftEntryBatch() && this.isGatewayAssignmentEnabled) { return false; } @@ -333,6 +334,6 @@ export default class GeGatewaySelectWidget extends LightningElement { } get cssClassPrefix() { - return this.parentIsGE ? GIFT_ENTRY_CSS_CLASS : TEMPLATE_CSS_CLASS; + return this.parentId === TOKENIZE_ID ? GIFT_ENTRY_CSS_CLASS : TEMPLATE_CSS_CLASS; } } \ No newline at end of file From 0e6bdd71113b248988ac5185d9bfde055a9663af Mon Sep 17 00:00:00 2001 From: Balsam Hindi Date: Mon, 3 Oct 2022 12:54:58 -0400 Subject: [PATCH 033/515] Updated labels and associated translations. --- .../labels/CustomLabels.labels-meta.xml | 14 ----- .../bdiFieldMappings/bdiFieldMappings.html | 6 -- .../lwc/bdiFieldMappings/bdiFieldMappings.js | 2 - .../bdiObjectMappings/bdiObjectMappings.html | 5 -- .../bdiObjectMappings/bdiObjectMappings.js | 2 - .../pages/STG_PanelCustomizableRollup.page | 4 -- .../main/default/pages/STG_PanelHome.page | 2 +- .../default/pages/STG_PanelHouseholds.page | 1 - .../translations/de.translation-meta.xml | 60 +++++++----------- .../translations/en_GB.translation-meta.xml | 51 ++++++---------- .../translations/es.translation-meta.xml | 59 +++++++----------- .../translations/fr.translation-meta.xml | 59 +++++++----------- .../translations/iw.translation-meta.xml | 30 +++------ .../translations/ja.translation-meta.xml | 61 +++++++------------ .../translations/nl_NL.translation-meta.xml | 51 ++++++---------- .../translations/pt_BR.translation-meta.xml | 46 +++++--------- 16 files changed, 149 insertions(+), 304 deletions(-) diff --git a/force-app/main/default/labels/CustomLabels.labels-meta.xml b/force-app/main/default/labels/CustomLabels.labels-meta.xml index 02fd5f84dee..1eac881b96a 100644 --- a/force-app/main/default/labels/CustomLabels.labels-meta.xml +++ b/force-app/main/default/labels/CustomLabels.labels-meta.xml @@ -13833,13 +13833,6 @@ Before starting this process, we recommend disabling the following when they aff <br/> Once the process is 100% complete, you can safely leave or refresh this page. - - stgHelpCustomizableRollupsEnable1 - Settings - en_US - true - stgHelpCustomizableRollupsEnable1 - stgHelpCustomizableRollupsEnable2 Settings @@ -14008,13 +14001,6 @@ Once the process is 100% complete, you can safely leave or refresh this page.stgHelpHHOCROn When selected, NPSP automatically creates Contact Roles on Individual gifts for Household members of the Opportunity's Primary Contact. - - stgHelpHHObjectOverview - Settings - en_US - false - stgHelpHHObjectOverview - stgHelpHHRules Settings diff --git a/force-app/main/default/lwc/bdiFieldMappings/bdiFieldMappings.html b/force-app/main/default/lwc/bdiFieldMappings/bdiFieldMappings.html index 253eeca4604..566e8f27fe2 100644 --- a/force-app/main/default/lwc/bdiFieldMappings/bdiFieldMappings.html +++ b/force-app/main/default/lwc/bdiFieldMappings/bdiFieldMappings.html @@ -60,12 +60,6 @@

{customLabels.bdiFMUIDescription2}

- -

- - -

diff --git a/force-app/main/default/lwc/bdiFieldMappings/bdiFieldMappings.js b/force-app/main/default/lwc/bdiFieldMappings/bdiFieldMappings.js index daf9ad0f9b1..2fcba63d919 100644 --- a/force-app/main/default/lwc/bdiFieldMappings/bdiFieldMappings.js +++ b/force-app/main/default/lwc/bdiFieldMappings/bdiFieldMappings.js @@ -25,7 +25,6 @@ import bdiFMUITarget from '@salesforce/label/c.bdiFMUITarget'; import bdiFMUITryAgain from '@salesforce/label/c.bdiFMUITryAgain'; import bdiFMUIUnsuccessful from '@salesforce/label/c.bdiFMUIUnsuccessful'; import bdiFMUIUpdate from '@salesforce/label/c.bdiFMUIUpdate'; -import stgHelpAdvancedMapping3 from '@salesforce/label/c.stgHelpAdvancedMapping3'; import stgLabelObject from '@salesforce/label/c.stgLabelObject'; import stgUnknownError from '@salesforce/label/c.stgUnknownError'; @@ -72,7 +71,6 @@ export default class bdiFieldMappings extends LightningElement { bdiFMUINoFieldMappings, bdiFMUISourceObject, bdiFMUITarget, - stgHelpAdvancedMapping3, stgLabelObject, bdiOMUIFieldMappingProblemHeader, bdiOMUIFieldMappingProblemMessagePart1, diff --git a/force-app/main/default/lwc/bdiObjectMappings/bdiObjectMappings.html b/force-app/main/default/lwc/bdiObjectMappings/bdiObjectMappings.html index 518e63668c4..766a3f86f1c 100644 --- a/force-app/main/default/lwc/bdiObjectMappings/bdiObjectMappings.html +++ b/force-app/main/default/lwc/bdiObjectMappings/bdiObjectMappings.html @@ -61,11 +61,6 @@

{customLabels.bdiOMUIPageDescriptionPt3}

-

- - -

+ +

+ + {CUSTOM_LABELS.psEnableGatewayAssignment} + +

+
+ +

+ {CUSTOM_LABELS.psEnableGatewayAssignmentHelp} +

+
+ + + + \ No newline at end of file diff --git a/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.js b/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.js index 3ea28fe7aae..289daa0666c 100644 --- a/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.js +++ b/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.js @@ -35,7 +35,9 @@ import messageLoading from '@salesforce/label/c.labelMessageLoading'; import insufficientPermissions from '@salesforce/label/c.commonInsufficientPermissions'; import commonAdminPermissionErrorMessage from '@salesforce/label/c.commonAdminPermissionErrorMessage'; import psEnableGatewayAssignment from '@salesforce/label/c.psEnableGatewayAssignment'; - +import psEnableGatewayAssignmentHeader from '@salesforce/label/c.psEnableGatewayAssignmentHeader'; +import psEnableGatewayAssignmentHelp from '@salesforce/label/c.psEnableGatewayAssignmentHelp'; +import psGatewayManagementHelp from '@salesforce/label/c.psGatewayManagementHelp'; import setGatewayId from '@salesforce/apex/PS_GatewayManagement.setGatewayId'; import getGatewayIdFromConfig from '@salesforce/apex/PS_GatewayManagement.getGatewayIdFromConfig'; @@ -58,7 +60,15 @@ export default class GePaymentGatewayManagement extends LightningElement { @track gatewayAssignmentEnabled; - CUSTOM_LABELS = { messageLoading, insufficientPermissions, commonAdminPermissionErrorMessage, psEnableGatewayAssignment }; + CUSTOM_LABELS = { + commonAdminPermissionErrorMessage, + insufficientPermissions, + messageLoading, + psEnableGatewayAssignment, + psEnableGatewayAssignmentHeader, + psEnableGatewayAssignmentHelp, + psGatewayManagementHelp + }; async connectedCallback() { try { @@ -147,7 +157,7 @@ export default class GePaymentGatewayManagement extends LightningElement { async handleToggle(event) { this.showSpinner = true; - let gatewayAssignmentEnabled = this.template.querySelector("[data-id='enableGatewayAssignment']"); + const gatewayAssignmentEnabled = this.template.querySelector("[data-id='enableGatewayAssignment']"); try { await setGatewayAssignmentEnabled({ gatewayAssignmentEnabled: gatewayAssignmentEnabled.checked}); From 9f513d8343956c6699f37bcda42c9bc4231a3c95 Mon Sep 17 00:00:00 2001 From: balsamhindi <105941702+balsamhindi@users.noreply.github.com> Date: Mon, 3 Oct 2022 22:04:48 -0400 Subject: [PATCH 037/515] Update force-app/main/default/translations/de.translation-meta.xml Co-authored-by: Erin Wiedemer --- force-app/main/default/translations/de.translation-meta.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/force-app/main/default/translations/de.translation-meta.xml b/force-app/main/default/translations/de.translation-meta.xml index 19f230e337b..4b47bf2af88 100644 --- a/force-app/main/default/translations/de.translation-meta.xml +++ b/force-app/main/default/translations/de.translation-meta.xml @@ -7214,7 +7214,7 @@ WICHTIG: Die Datentypen beider Felder müssen identisch sein. stgHelpTrailHeadHub - + stgHelpPrimaryContactBatch From e11e7b3261c7a6e93c017c77166a1498eace315d Mon Sep 17 00:00:00 2001 From: balsamhindi <105941702+balsamhindi@users.noreply.github.com> Date: Mon, 3 Oct 2022 22:04:58 -0400 Subject: [PATCH 038/515] Update force-app/main/default/translations/pt_BR.translation-meta.xml Co-authored-by: Erin Wiedemer --- force-app/main/default/translations/pt_BR.translation-meta.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/force-app/main/default/translations/pt_BR.translation-meta.xml b/force-app/main/default/translations/pt_BR.translation-meta.xml index d6ea9f99df6..aee13888ee1 100644 --- a/force-app/main/default/translations/pt_BR.translation-meta.xml +++ b/force-app/main/default/translations/pt_BR.translation-meta.xml @@ -7216,7 +7216,7 @@ IMPORTANTE: ambos os campos precisam ter o mesmo tipo de dados. stgHelpTrailHeadHub - + stgHelpPrimaryContactBatch From 42d92bb41455a69ec3c05f766fa3f331a6b15b9b Mon Sep 17 00:00:00 2001 From: balsamhindi <105941702+balsamhindi@users.noreply.github.com> Date: Mon, 3 Oct 2022 22:05:03 -0400 Subject: [PATCH 039/515] Update force-app/main/default/translations/nl_NL.translation-meta.xml Co-authored-by: Erin Wiedemer --- force-app/main/default/translations/nl_NL.translation-meta.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/force-app/main/default/translations/nl_NL.translation-meta.xml b/force-app/main/default/translations/nl_NL.translation-meta.xml index a1eadee9f6f..2973153d0f4 100644 --- a/force-app/main/default/translations/nl_NL.translation-meta.xml +++ b/force-app/main/default/translations/nl_NL.translation-meta.xml @@ -7214,7 +7214,7 @@ BELANGRIJK: Beide velden moeten van hetzelfde gegevenstype zijn. stgHelpTrailHeadHub - + stgHelpPrimaryContactBatch From 23bb897f593681df4dfcd4640c8cdb4a0c4e5dd3 Mon Sep 17 00:00:00 2001 From: balsamhindi <105941702+balsamhindi@users.noreply.github.com> Date: Mon, 3 Oct 2022 22:05:10 -0400 Subject: [PATCH 040/515] Update force-app/main/default/translations/ja.translation-meta.xml Co-authored-by: Erin Wiedemer --- force-app/main/default/translations/ja.translation-meta.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/force-app/main/default/translations/ja.translation-meta.xml b/force-app/main/default/translations/ja.translation-meta.xml index 3bb32935a2c..54206594db4 100644 --- a/force-app/main/default/translations/ja.translation-meta.xml +++ b/force-app/main/default/translations/ja.translation-meta.xml @@ -7210,7 +7210,7 @@ stgHelpTrailHeadHub - + stgHelpPrimaryContactBatch From 56a8754b004a738262901b8ef7202dc43d47c462 Mon Sep 17 00:00:00 2001 From: balsamhindi <105941702+balsamhindi@users.noreply.github.com> Date: Mon, 3 Oct 2022 22:05:18 -0400 Subject: [PATCH 041/515] Update force-app/main/default/translations/iw.translation-meta.xml Co-authored-by: Erin Wiedemer --- force-app/main/default/translations/iw.translation-meta.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/force-app/main/default/translations/iw.translation-meta.xml b/force-app/main/default/translations/iw.translation-meta.xml index 98dc4c3739d..4e5dd1d796f 100644 --- a/force-app/main/default/translations/iw.translation-meta.xml +++ b/force-app/main/default/translations/iw.translation-meta.xml @@ -6672,7 +6672,7 @@ stgHelpPaymentsEnabled - + stgHelpTrailHeadHub From d0650bd52ea75540c8e854d7306034405abfdc97 Mon Sep 17 00:00:00 2001 From: balsamhindi <105941702+balsamhindi@users.noreply.github.com> Date: Mon, 3 Oct 2022 22:05:24 -0400 Subject: [PATCH 042/515] Update force-app/main/default/translations/fr.translation-meta.xml Co-authored-by: Erin Wiedemer --- force-app/main/default/translations/fr.translation-meta.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/force-app/main/default/translations/fr.translation-meta.xml b/force-app/main/default/translations/fr.translation-meta.xml index 03b0b6d9cdf..2cd79828aa5 100644 --- a/force-app/main/default/translations/fr.translation-meta.xml +++ b/force-app/main/default/translations/fr.translation-meta.xml @@ -7216,7 +7216,7 @@ IMPORTANT : ces deux champs doivent avoir le même type de données. stgHelpTrailHeadHub - + stgHelpPrimaryContactBatch From 3d284fa6f41144e7e20c4c9debd34d10d5850be3 Mon Sep 17 00:00:00 2001 From: balsamhindi <105941702+balsamhindi@users.noreply.github.com> Date: Mon, 3 Oct 2022 22:05:31 -0400 Subject: [PATCH 043/515] Update force-app/main/default/translations/es.translation-meta.xml Co-authored-by: Erin Wiedemer --- force-app/main/default/translations/es.translation-meta.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/force-app/main/default/translations/es.translation-meta.xml b/force-app/main/default/translations/es.translation-meta.xml index bf5d7c0115d..c56b2643b09 100644 --- a/force-app/main/default/translations/es.translation-meta.xml +++ b/force-app/main/default/translations/es.translation-meta.xml @@ -7204,7 +7204,7 @@ IMPORTANTE: Ambos campos deben ser del mismo tipo de datos. stgHelpTrailHeadHub - + stgHelpPrimaryContactBatch From d6fc221042b2ccae82cc8e0a513d56f845fddb98 Mon Sep 17 00:00:00 2001 From: screcco-sfdo Date: Tue, 4 Oct 2022 08:33:57 -0400 Subject: [PATCH 044/515] convert hardcoded text to labels --- .../default/labels/CustomLabels.labels-meta.xml | 16 ++++++++++++++++ .../gePaymentGatewayManagement.html | 12 +++--------- .../gePaymentGatewayManagement.js | 4 ++++ 3 files changed, 23 insertions(+), 9 deletions(-) diff --git a/force-app/main/default/labels/CustomLabels.labels-meta.xml b/force-app/main/default/labels/CustomLabels.labels-meta.xml index 800d345757c..0740f4616c7 100644 --- a/force-app/main/default/labels/CustomLabels.labels-meta.xml +++ b/force-app/main/default/labels/CustomLabels.labels-meta.xml @@ -12765,6 +12765,22 @@ If preferred, you can disable Gift Entry and instead use older Batch Gift Entry Label for Gateway Management Help Message. These settings manage the payment gateways for Elevate transactions. + + psGatewayIDHeader + Payment Gateway Management + en_US + true + Label for Gateway ID Header. + Gateway ID + + + psGatewayIDHelp + Payment Gateway Management + en_US + true + Label for Gateway ID Help Message. + NPSP uses the gateway that was added to Elevate most recently unless you override it. To change the gateway NPSP usess, click Edit, enter the gateway ID, and save your work. Find the gateway ID in the Elevate Admin Console | Gateway Management. + psShowPaymentMethods Payment Gateway Management diff --git a/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.html b/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.html index ea0537f934e..5e64b717ad6 100644 --- a/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.html +++ b/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.html @@ -69,7 +69,6 @@

Elevate Gateway Management

-

{CUSTOM_LABELS.psGatewayManagementHelp}

@@ -82,20 +81,15 @@

Elevate Gateway Managemen -

- - Gateway ID + + {CUSTOM_LABELS.psGatewayIDHeader}

-

- NPSP uses the gateway that was added to Elevate - most recently unless you override it. To change the gateway NPSP uses, click Edit, enter the - gateway ID, and save your work. Find the gateway ID in the - Elevate Admin Console | Gateway Management. + {CUSTOM_LABELS.psGatewayIDHelp}

diff --git a/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.js b/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.js index 289daa0666c..3462032a5db 100644 --- a/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.js +++ b/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.js @@ -37,6 +37,8 @@ import commonAdminPermissionErrorMessage from '@salesforce/label/c.commonAdminPe import psEnableGatewayAssignment from '@salesforce/label/c.psEnableGatewayAssignment'; import psEnableGatewayAssignmentHeader from '@salesforce/label/c.psEnableGatewayAssignmentHeader'; import psEnableGatewayAssignmentHelp from '@salesforce/label/c.psEnableGatewayAssignmentHelp'; +import psGatewayIDHeader from '@salesforce/label/c.psGatewayIdHeader'; +import psGatewayIDHelp from '@salesforce/label/c.psGatewayIdHelp'; import psGatewayManagementHelp from '@salesforce/label/c.psGatewayManagementHelp'; import setGatewayId from '@salesforce/apex/PS_GatewayManagement.setGatewayId'; @@ -67,6 +69,8 @@ export default class GePaymentGatewayManagement extends LightningElement { psEnableGatewayAssignment, psEnableGatewayAssignmentHeader, psEnableGatewayAssignmentHelp, + psGatewayIDHeader, + psGatewayIDHelp, psGatewayManagementHelp }; From c6e505b12e0e2077acc1ce582663c00ea77b7ad9 Mon Sep 17 00:00:00 2001 From: Daniel Fuller Date: Tue, 4 Oct 2022 10:36:02 -0400 Subject: [PATCH 045/515] add additional tests --- .../default/classes/ElevateBatchService.cls | 1 + .../ElevateBatchServiceInvalidRequest.cls | 2 +- .../ElevateBatchServiceValidRequest.cls | 11 +++++++ .../classes/GE_GiftEntryController_TEST.cls | 30 ++++++++++++++++++- 4 files changed, 42 insertions(+), 2 deletions(-) diff --git a/force-app/main/default/classes/ElevateBatchService.cls b/force-app/main/default/classes/ElevateBatchService.cls index 88aced43e84..5cc5c0a4da7 100644 --- a/force-app/main/default/classes/ElevateBatchService.cls +++ b/force-app/main/default/classes/ElevateBatchService.cls @@ -54,6 +54,7 @@ public virtual with sharing class ElevateBatchService { return new ElevateBatch(batchItem.elevateBatchId).remove(batchItem.id()); } + // Method is used for dependency injection in test classes @TestVisible private virtual ElevateBatchItem removeFromElevateBatch(ElevateBatch elevateBatch, ElevateBatchItem batchItem) { return elevateBatch.remove(batchItem.id()); diff --git a/force-app/main/default/classes/ElevateBatchServiceInvalidRequest.cls b/force-app/main/default/classes/ElevateBatchServiceInvalidRequest.cls index ca8bd96c02d..4f6a3b95ccf 100644 --- a/force-app/main/default/classes/ElevateBatchServiceInvalidRequest.cls +++ b/force-app/main/default/classes/ElevateBatchServiceInvalidRequest.cls @@ -63,7 +63,7 @@ public class ElevateBatchServiceInvalidRequest extends ElevateBatchService { return (UTIL_Http.Response) JSON.deserialize(removeFromBatchErrorResponse(), UTIL_Http.Response.class); } - public String removeFromBatchErrorResponse() { + private String removeFromBatchErrorResponse() { return '{\n' + '"statusCode": "400",\n' + '"status": "Bad Request"\n' + diff --git a/force-app/main/default/classes/ElevateBatchServiceValidRequest.cls b/force-app/main/default/classes/ElevateBatchServiceValidRequest.cls index 00fa43cee89..06461183681 100644 --- a/force-app/main/default/classes/ElevateBatchServiceValidRequest.cls +++ b/force-app/main/default/classes/ElevateBatchServiceValidRequest.cls @@ -76,6 +76,17 @@ public class ElevateBatchServiceValidRequest extends ElevateBatchService { return new ElevateBatch(elevateBatchResponse); } + public override UTIL_Http.Response sendRemoveRequest(String elevatePaymentId, String elevateBatchId) { + return (UTIL_Http.Response) JSON.deserialize(removeBatchItemSuccessResponse(), UTIL_Http.Response.class); + } + + private static String removeBatchItemSuccessResponse() { + return '{\n' + + '"statusCode": "204",\n' + + '"status": "Remove successful"\n' + + '}'; + } + private static String oneTimeCardSuccessResponse() { return '{\n' + ' "batchItemType": "ONE_TIME",\n' + diff --git a/force-app/main/default/classes/GE_GiftEntryController_TEST.cls b/force-app/main/default/classes/GE_GiftEntryController_TEST.cls index 7dccc15d1f6..4376ac93cdf 100755 --- a/force-app/main/default/classes/GE_GiftEntryController_TEST.cls +++ b/force-app/main/default/classes/GE_GiftEntryController_TEST.cls @@ -339,15 +339,42 @@ ElevateBatchItemType.ONE_TIME, TEST_PAYMENT_METHOD_CARD); System.assertEquals(UTIL_Http.STATUS_CODE_CREATED, response.statusCode, 'Response status should match: ' + response); } + @IsTest + static void removeBatchItemFromElevateBatchReturnsSuccessResponse() { + AuraHandledException auraException; + ElevateBatchItem batchItem; + + Test.startTest(); + try { + ElevateBatchItem testBatchItem = new ElevateBatchItem(); + testBatchItem.id = 'test-batch-item-id'; + + ElevateBatch elevateBatch = new ElevateBatch('test-batch-id'); + elevateBatch.elevateBatchService = new ElevateBatchServiceValidRequest(); + batchItem = elevateBatch.elevateBatchService.removeFromElevateBatch(elevateBatch, testBatchItem); + } catch (AuraHandledException ex) { + auraException = ex; + } + Test.stopTest(); + + System.assert(auraException == null, 'The aura handled exception should be null since an valid request ' + + 'has been sent.'); + System.assertEquals(batchItem.elevateBatchId, 'test-batch-id', 'the correct batch id is not set for the ' + + 'removed batch item.'); + System.assertEquals(batchItem.id, 'test-batch-item-id', 'the correct batch item id is not set for the ' + + 'removed batch item.'); + } + @IsTest static void removeBatchItemFromElevateBatchReturnsErrorResponse() { AuraHandledException auraException; + ElevateBatchItem batchItem; Test.startTest(); try { ElevateBatch elevateBatch = new ElevateBatch('test-batch-id'); elevateBatch.elevateBatchService = new ElevateBatchServiceInvalidRequest(); - elevateBatch.elevateBatchService.removeFromElevateBatch(elevateBatch, new ElevateBatchItem()); + batchItem = elevateBatch.elevateBatchService.removeFromElevateBatch(elevateBatch, new ElevateBatchItem()); } catch (AuraHandledException ex) { auraException = ex; } @@ -355,6 +382,7 @@ ElevateBatchItemType.ONE_TIME, TEST_PAYMENT_METHOD_CARD); System.assert(auraException != null, 'The aura handled exception should not be null since an invalid request ' + 'has been sent.'); + System.assert(batchItem == null, 'The failed batch item should be null.'); System.assertEquals('Bad Request', auraException.getMessage(), 'The error message in the elevate batch response ' + 'should throw an exception and the message should be the create elevate batch error ' + From bf26c8c26990c70efc61f7b00439c286e8241642 Mon Sep 17 00:00:00 2001 From: Victor Oduyemi Date: Tue, 4 Oct 2022 09:34:54 -0600 Subject: [PATCH 046/515] Update force-app/main/default/labels/CustomLabels.labels-meta.xml --- force-app/main/default/labels/CustomLabels.labels-meta.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/force-app/main/default/labels/CustomLabels.labels-meta.xml b/force-app/main/default/labels/CustomLabels.labels-meta.xml index f037d89d2fa..4b2a8a13101 100644 --- a/force-app/main/default/labels/CustomLabels.labels-meta.xml +++ b/force-app/main/default/labels/CustomLabels.labels-meta.xml @@ -1614,7 +1614,7 @@ Recurring-Donations, Pause en_US true - Error message when trying to pause an RD a day from instalment date + Error message when trying to pause an RD a day from installment date We can't pause an Elevate-connected Recurring Donation less than two days before the installment date. From 31f5bd2a1ba6f96f34186a0190e661064fb8aa21 Mon Sep 17 00:00:00 2001 From: Daniel Fuller Date: Tue, 4 Oct 2022 11:49:38 -0400 Subject: [PATCH 047/515] update parameter to use correct scope --- .../main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js b/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js index 69c5cca789a..0228a9466fb 100644 --- a/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js +++ b/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js @@ -610,7 +610,7 @@ export default class GeGiftEntryFormApp extends NavigationMixin(LightningElement shouldRemoveFromElevateBatch(gift) { return gift && this.isElevateCustomer && - (gift.isAuthorized() || this.gift.hasCommitmentId()); + (gift.isAuthorized() || gift.hasCommitmentId()); } async deleteFromElevateBatch(gift) { From b2539351e5edda644e93d215a8a45dc0441e0861 Mon Sep 17 00:00:00 2001 From: Daniel Fuller Date: Tue, 4 Oct 2022 12:18:03 -0400 Subject: [PATCH 048/515] disable save button when batch item is being removed from the batch table --- force-app/main/default/lwc/geFormRenderer/geFormRenderer.js | 4 +++- .../default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.html | 1 + .../main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js | 4 ++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/force-app/main/default/lwc/geFormRenderer/geFormRenderer.js b/force-app/main/default/lwc/geFormRenderer/geFormRenderer.js index 338e9fdecca..47ab8d4bcdf 100644 --- a/force-app/main/default/lwc/geFormRenderer/geFormRenderer.js +++ b/force-app/main/default/lwc/geFormRenderer/geFormRenderer.js @@ -187,6 +187,7 @@ export default class GeFormRenderer extends LightningElement{ @api pageLevelErrorMessageList = []; @api batchCurrencyIsoCode; @api isElevateCustomer = false; + @api saveDisabled = false; @track isPermissionError = false; @track permissionErrorTitle; @@ -1378,7 +1379,8 @@ export default class GeFormRenderer extends LightningElement{ } get isUpdateActionDisabled() { - return this.getFieldValueFromFormState(STATUS_FIELD) === 'Imported'; + return this.getFieldValueFromFormState(STATUS_FIELD) === 'Imported' || + this.saveDisabled; } get cardholderNames() { diff --git a/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.html b/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.html index 0fe54d9f02a..8dc37b7a95a 100644 --- a/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.html +++ b/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.html @@ -67,6 +67,7 @@

ontogglemodal={handleToggleModal} onnavigate={handleNavigateEvent} loading-text={loadingText} + save-disabled={isFormSaveDisabled} batch-currency-iso-code={batchCurrencyIsoCode} > diff --git a/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js b/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js index 0228a9466fb..a1043f66398 100644 --- a/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js +++ b/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js @@ -62,6 +62,7 @@ export default class GeGiftEntryFormApp extends NavigationMixin(LightningElement isLoading = true; isFormRendering = false; isFormCollapsed = false; + isFormSaveDisabled = false; giftBatch = new GiftBatch(); elevateBatch = new ElevateBatch(); @@ -540,6 +541,7 @@ export default class GeGiftEntryFormApp extends NavigationMixin(LightningElement async handleDelete(event) { try { + this.isFormSaveDisabled = true; const gift = new Gift({fields: event.detail}); const isRemovedFromElevate = await this.removeFromElevateBatch(gift); @@ -556,7 +558,9 @@ export default class GeGiftEntryFormApp extends NavigationMixin(LightningElement 'dismissible', null ); + this.isFormSaveDisabled = false; } catch(error) { + this.isFormSaveDisabled = false; handleError(error); } } From bd5c405d2469c3b48e55e7b603cf21f3049a99b6 Mon Sep 17 00:00:00 2001 From: Daniel Fuller Date: Tue, 4 Oct 2022 13:10:57 -0400 Subject: [PATCH 049/515] improve precision when converting to lowest common denominator --- .../default/lwc/utilNumberFormatter/utilNumberFormatter.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/force-app/main/default/lwc/utilNumberFormatter/utilNumberFormatter.js b/force-app/main/default/lwc/utilNumberFormatter/utilNumberFormatter.js index 950fdf56791..0448f97af1c 100755 --- a/force-app/main/default/lwc/utilNumberFormatter/utilNumberFormatter.js +++ b/force-app/main/default/lwc/utilNumberFormatter/utilNumberFormatter.js @@ -40,11 +40,11 @@ const getNumberAsCurrencyByCode = (amount, currencyCode) => { * @description Formats the provided number into the lowest common denominator by currency as a string * based on the logged in user's locale and currency. * -* @param {integer} number: Number to convert into lowest common denominator +* @param number: Number to convert into lowest common denominator */ const getCurrencyLowestCommonDenominator = (number) => { let multiplier = isNull(currencyMultiplier.get(CURRENCY)) ? DEFAULT_MULTIPLIER : currencyMultiplier.get(CURRENCY); - return number * multiplier; + return parseInt(parseFloat(number) * multiplier, 10); } export { From 10e3a1840c7db43443d1172833bbad807d93629a Mon Sep 17 00:00:00 2001 From: screcco-sfdo Date: Tue, 4 Oct 2022 14:04:46 -0400 Subject: [PATCH 050/515] remove outdated comment --- .../gePaymentGatewayManagement/gePaymentGatewayManagement.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.js b/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.js index 3462032a5db..55bd0df5ad6 100644 --- a/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.js +++ b/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.js @@ -175,8 +175,6 @@ export default class GePaymentGatewayManagement extends LightningElement { } validateGatewayId() { - // Temporary Hardcoded Text until this functionality is moved out of NPSP entirely - let gatewayIdField = this.template.querySelector("[data-id='gatewayIdField']"); if (isEmpty(gatewayIdField.value)) { From 54cdf9ac06bfb021cd9587148807d01a65bb8d8a Mon Sep 17 00:00:00 2001 From: Luke Parrott Date: Tue, 4 Oct 2022 15:57:33 -0500 Subject: [PATCH 051/515] Updating Request body for Stripe ACH payments --- .../classes/ElevateCreateBatchItemRequest.cls | 29 +++++++++++++++++++ .../default/classes/PS_CommitmentRequest.cls | 12 ++++++-- 2 files changed, 38 insertions(+), 3 deletions(-) diff --git a/force-app/main/default/classes/ElevateCreateBatchItemRequest.cls b/force-app/main/default/classes/ElevateCreateBatchItemRequest.cls index 3b63dfecd6e..b3112e01f95 100644 --- a/force-app/main/default/classes/ElevateCreateBatchItemRequest.cls +++ b/force-app/main/default/classes/ElevateCreateBatchItemRequest.cls @@ -65,6 +65,18 @@ public with sharing class ElevateCreateBatchItemRequest { purchaseInfo.firstName = batchItemRequestDTO.firstName; purchaseInfo.lastName = batchItemRequestDTO.lastName; purchaseInfo.paymentMethodToken = batchItemRequestDTO.paymentMethodToken; + purchaseInfo.paymentMethodType = batchItemRequestDTO.paymentMethodType; + + if (batchItemRequestDTO.paymentMethodType == 'ACH') { + ElevateCreateBatchItemRequest.AchData achData = new ElevateCreateBatchItemRequest.AchData(); + achData.achCode = PS_CommitmentRequest.ACH_CODE_WEB; + achData.bankType = PS_CommitmentRequest.ACH_BANK_TYPE_CHECKING; + achData.consent = PS_CommitmentRequest.ACH_CONSENT_MESSAGE; + achData.consentDetails.consentType = PS_CommitmentRequest.ACH_CONSENT_TYPE; + achData.type = batchItemRequestDTO.type; + + purchaseInfo.achData = achData; + } } private void buildCommitmentInfoBody(ElevateCreateBatchItemRequestDTO batchItemRequestDTO, @@ -83,6 +95,18 @@ public with sharing class ElevateCreateBatchItemRequest { }; commitmentInfo.paymentMethodToken = batchItemRequestDTO.paymentMethodToken; commitmentInfo.productMetadataSchemaUri = PS_Request.PRODUCT_METADATA_SCHEMA_URI; + commitmentInfo.paymentMethodType = batchItemRequestDTO.paymentMethodType; + + if (batchItemRequestDTO.paymentMethodType == 'ACH') { + ElevateCreateBatchItemRequest.AchData achData = new ElevateCreateBatchItemRequest.AchData(); + achData.achCode = PS_CommitmentRequest.ACH_CODE_WEB; + achData.bankType = PS_CommitmentRequest.ACH_BANK_TYPE_CHECKING; + achData.consent = PS_CommitmentRequest.ACH_CONSENT_MESSAGE; + achData.consentDetails.consentType = PS_CommitmentRequest.ACH_CONSENT_TYPE; + achData.type = batchItemRequestDTO.type; + + commitmentInfo.achData = achData; + } } public class CommitmentInfo { @@ -169,6 +193,11 @@ public with sharing class ElevateCreateBatchItemRequest { public String checkNumber; public String consent; public String type; + public ConsentDetails consentDetails = new ConsentDetails(); + } + + public class ConsentDetails { + public String consentType; } private static Map getProductMetadata() { diff --git a/force-app/main/default/classes/PS_CommitmentRequest.cls b/force-app/main/default/classes/PS_CommitmentRequest.cls index 3bae3c58059..34e949d1818 100644 --- a/force-app/main/default/classes/PS_CommitmentRequest.cls +++ b/force-app/main/default/classes/PS_CommitmentRequest.cls @@ -112,9 +112,10 @@ public inherited sharing class PS_CommitmentRequest { */ private static final Integer MAX_NAME_LENGTH = 60; - private static final String ACH_BANK_TYPE_CHECKING = 'CHECKING'; - private static final String ACH_CODE_WEB = 'WEB'; - private static final String ACH_CONSENT_MESSAGE = 'true'; + public static final String ACH_BANK_TYPE_CHECKING = 'CHECKING'; + public static final String ACH_CODE_WEB = 'WEB'; + public static final String ACH_CONSENT_MESSAGE = 'true'; + public static final String ACH_CONSENT_TYPE = 'OFFLINE'; private static final Map BANK_ACCOUNT_TYPE_MAP = new Map{ Contact.SObjectType => ElevateBankAccountType.INDIVIDUAL, @@ -464,8 +465,12 @@ public inherited sharing class PS_CommitmentRequest { public String consent; public String type; public String bankType; + public ConsentDetails consentDetails = new ConsentDetails(); } + public with sharing class ConsentDetails { + public String consentType; + } /*** * @description Assists in constructing the Commitment HttpRequest body. @@ -588,6 +593,7 @@ public inherited sharing class PS_CommitmentRequest { this.achData.achCode = ACH_CODE_WEB; this.achData.bankType = ACH_BANK_TYPE_CHECKING; this.achData.consent = ACH_CONSENT_MESSAGE; + this.achData.consentDetails.consentType = ACH_CONSENT_TYPE; this.achData.type = accountHolderType.name(); return this; } From b0cf4a649e680ce2e19899a85d5be2a9efb147f7 Mon Sep 17 00:00:00 2001 From: Daniel Fuller Date: Tue, 4 Oct 2022 17:42:15 -0400 Subject: [PATCH 052/515] update logic for determining when remove callout is made to Elevate --- force-app/main/default/lwc/geGift/geGift.js | 6 +++++- .../default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/force-app/main/default/lwc/geGift/geGift.js b/force-app/main/default/lwc/geGift/geGift.js index 9d23a3a9f0f..90848572d30 100644 --- a/force-app/main/default/lwc/geGift/geGift.js +++ b/force-app/main/default/lwc/geGift/geGift.js @@ -44,8 +44,12 @@ class Gift { return Object.keys(this._schedule).length > 0; } + isImported() { + return this._fields[STATUS.fieldApiName] === GIFT_STATUSES.IMPORTED; + } + hasCommitmentId() { - return !!this._fields[DATA_IMPORT_RECURRING_DONATION_ELEVATE_ID]; + return !!this._fields[DATA_IMPORT_RECURRING_DONATION_ELEVATE_ID.fieldApiName]; } addSchedule(scheduleData) { diff --git a/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js b/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js index a1043f66398..1e557dafb47 100644 --- a/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js +++ b/force-app/main/default/lwc/geGiftEntryFormApp/geGiftEntryFormApp.js @@ -614,7 +614,9 @@ export default class GeGiftEntryFormApp extends NavigationMixin(LightningElement shouldRemoveFromElevateBatch(gift) { return gift && this.isElevateCustomer && - (gift.isAuthorized() || gift.hasCommitmentId()); + !gift.isImported() && + gift.hasCommitmentId() || + gift.isAuthorized(); } async deleteFromElevateBatch(gift) { From 16588810bc1289e30b0d7e560eac8867dfdc0fe2 Mon Sep 17 00:00:00 2001 From: screcco-sfdo Date: Tue, 4 Oct 2022 20:35:55 -0400 Subject: [PATCH 053/515] consolidate backend calls and text change --- .../default/classes/PS_GatewayManagement.cls | 29 ++++++++++++++++--- .../labels/CustomLabels.labels-meta.xml | 2 +- .../gePaymentGatewayManagement.html | 2 +- .../gePaymentGatewayManagement.js | 22 +++++++------- 4 files changed, 37 insertions(+), 18 deletions(-) diff --git a/force-app/main/default/classes/PS_GatewayManagement.cls b/force-app/main/default/classes/PS_GatewayManagement.cls index cbfc316771a..21c334139e9 100644 --- a/force-app/main/default/classes/PS_GatewayManagement.cls +++ b/force-app/main/default/classes/PS_GatewayManagement.cls @@ -51,29 +51,50 @@ public with sharing class PS_GatewayManagement { upsert giftEntrySettings; } - @AuraEnabled public static Boolean isGatewayAssignmentEnabled() { Gift_Entry_Settings__c giftEntrySettings = UTIL_CustomSettingsFacade.getGiftEntrySettings(); return giftEntrySettings.Enable_Gateway_Assignment__c; } - @AuraEnabled public static String getGatewayIdFromConfig() { PS_IntegrationServiceConfig.Service configService = new PS_IntegrationServiceConfig.Service(); return configService.getGatewayIds(); } - @AuraEnabled public static Boolean isElevateCustomer() { PS_IntegrationServiceConfig ps = new PS_IntegrationServiceConfig(); return ps.isIntegrationEnabled(); } - @AuraEnabled public static Boolean isSystemAdmin() { return STG_Panel.runningUserIsAdmin(); } + + @AuraEnabled + public static String getGatewayManagementSettings() { + + try { + GatewayManagementSettings gmSettings = new GatewayManagementSettings(); + + gmSettings.isElevateCustomer = isElevateCustomer(); + gmSettings.isGatewayAssignmentEnabled = isGatewayAssignmentEnabled(); + gmSettings.isSystemAdmin = isSystemAdmin(); + + return JSON.serialize(gmSettings); + + } catch (Exception e) { + UTIL_AuraEnabledCommon.throwAuraHandledException(e.getMessage()); + } + + return null; + } + + public class GatewayManagementSettings { + Boolean isElevateCustomer; + Boolean isGatewayAssignmentEnabled; + Boolean isSystemAdmin; + } } \ No newline at end of file diff --git a/force-app/main/default/labels/CustomLabels.labels-meta.xml b/force-app/main/default/labels/CustomLabels.labels-meta.xml index 0740f4616c7..6b5910ead18 100644 --- a/force-app/main/default/labels/CustomLabels.labels-meta.xml +++ b/force-app/main/default/labels/CustomLabels.labels-meta.xml @@ -12755,7 +12755,7 @@ If preferred, you can disable Gift Entry and instead use older Batch Gift Entry en_US true Label for Gateway Assignment Help Message. - Enabling gateway assignment will allow you to select the payment gateway and respective payment methods when modifying Gift Entry Templates. + Enabling gateway assignment allows you to select the payment gateway and respective payment methods when modifying Gift Entry Templates. psGatewayManagementHelp diff --git a/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.html b/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.html index 5e64b717ad6..c31b8deced2 100644 --- a/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.html +++ b/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.html @@ -133,7 +133,7 @@

diff --git a/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.js b/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.js index 55bd0df5ad6..27206f7e439 100644 --- a/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.js +++ b/force-app/main/default/lwc/gePaymentGatewayManagement/gePaymentGatewayManagement.js @@ -42,11 +42,8 @@ import psGatewayIDHelp from '@salesforce/label/c.psGatewayIdHelp'; import psGatewayManagementHelp from '@salesforce/label/c.psGatewayManagementHelp'; import setGatewayId from '@salesforce/apex/PS_GatewayManagement.setGatewayId'; -import getGatewayIdFromConfig from '@salesforce/apex/PS_GatewayManagement.getGatewayIdFromConfig'; -import checkForElevateCustomer from '@salesforce/apex/PS_GatewayManagement.isElevateCustomer'; -import checkForSystemAdmin from '@salesforce/apex/PS_GatewayManagement.isSystemAdmin'; -import isGatewayAssignmentEnabled from '@salesforce/apex/PS_GatewayManagement.isGatewayAssignmentEnabled'; import setGatewayAssignmentEnabled from '@salesforce/apex/PS_GatewayManagement.setGatewayAssignmentEnabled'; +import getGatewayManagementSettings from '@salesforce/apex/PS_GatewayManagement.getGatewayManagementSettings'; export default class GePaymentGatewayManagement extends LightningElement { @@ -60,7 +57,7 @@ export default class GePaymentGatewayManagement extends LightningElement { isSystemAdmin; hasAccess; - @track gatewayAssignmentEnabled; + @track isGatewayAssignmentEnabled; CUSTOM_LABELS = { commonAdminPermissionErrorMessage, @@ -76,19 +73,20 @@ export default class GePaymentGatewayManagement extends LightningElement { async connectedCallback() { try { - this.isSystemAdmin = await checkForSystemAdmin(); - this.isElevateCustomer = await checkForElevateCustomer(); + const gatewayManagementSettings = JSON.parse(await getGatewayManagementSettings()); + + this.isSystemAdmin = gatewayManagementSettings.isSystemAdmin; + this.isElevateCustomer = gatewayManagementSettings.isElevateCustomer; this.hasAccess = !!(this.isElevateCustomer && this.isSystemAdmin); + + if (this.hasAccess) { + this.isGatewayAssignmentEnabled = await gatewayManagementSettings.isGatewayAssignmentEnabled; + } } catch(ex) { this.errorMessage = buildErrorMessage(ex); this.isError = true; } - - if (this.hasAccess) { - this.gatewayId = await getGatewayIdFromConfig(); - this.gatewayAssignmentEnabled = await isGatewayAssignmentEnabled(); - } } _isSuccess; From fbd2c9ed71ba9283d669fec2a620dbd3c084cf86 Mon Sep 17 00:00:00 2001 From: Balsam Hindi Date: Tue, 4 Oct 2022 22:56:18 -0400 Subject: [PATCH 054/515] Revert label name change --- .../main/default/labels/CustomLabels.labels-meta.xml | 10 +++++----- force-app/main/default/pages/STG_PanelHome.page | 2 +- .../main/default/translations/de.translation-meta.xml | 4 ++-- .../default/translations/en_GB.translation-meta.xml | 2 +- .../main/default/translations/es.translation-meta.xml | 4 ++-- .../main/default/translations/fr.translation-meta.xml | 4 ++-- .../main/default/translations/iw.translation-meta.xml | 6 +++--- .../main/default/translations/ja.translation-meta.xml | 4 ++-- .../default/translations/nl_NL.translation-meta.xml | 2 +- .../default/translations/pt_BR.translation-meta.xml | 2 +- 10 files changed, 20 insertions(+), 20 deletions(-) diff --git a/force-app/main/default/labels/CustomLabels.labels-meta.xml b/force-app/main/default/labels/CustomLabels.labels-meta.xml index 1eac881b96a..23297fb1e34 100644 --- a/force-app/main/default/labels/CustomLabels.labels-meta.xml +++ b/force-app/main/default/labels/CustomLabels.labels-meta.xml @@ -14286,12 +14286,12 @@ IMPORTANT: Both of these fields must have the same data type. If enabled, Salesforce automatically creates Payments for new Opportunities (Donations). - stgHelpTrailHeadHub + stgHelpPowerOfUsHub Settings en_US false - stgHelpTrailHeadHub - Got questions? Try the <a href="https://trailhead.salesforce.com/trailblazer-community/groups/0F94S000000kHitSAE" target="_blank">Nonprofit Success Pack</a> group for questions about NPSP and the <a href="https://trailhead.salesforce.com/fr/trailblazer-community/groups/0F94S000000kHiLSAU?sort=LAST_MODIFIED_DATE_DESC&tab=discussion" target="_blank">System Administrators</a> group for questions about Salesforce administration and configuration.<br/><br/>Keep up with the latest NPSP release notes in the <a href="https://trailhead.salesforce.com/fr/trailblazer-community/groups/0F94S000000kHOXSA2?sort=LAST_MODIFIED_DATE_DESC&tab=discussion" target="_blank">NPSP Release Announcements</a> group. + stgHelpPowerOfUsHub + Got questions? Try the <a href="https://powerofus.force.com/HUB_NPSP_Group" target="_blank">Nonprofit Success Pack</a> group for questions about NPSP and the <a href="https://powerofus.force.com/HUB_System_Admin_Group" target="_blank">System Administrators</a> group for questions about Salesforce administration and configuration.<br/><br/>Keep up with the latest NPSP release notes in the <a href="https://powerofus.force.com/HUB_NPSP_Release_Group" target="_blank">NPSP Release Announcements</a> group. stgHelpPrimaryContactBatch @@ -15900,11 +15900,11 @@ Note: The NPSP Settings tab is visible in the Nonprofit Success Pack application When you create an Opportunity, the Name is automatically populated using a default naming convention. You can customize the naming convention by creating custom Opportunity Names. - stgHelpTrailHeadHub + stgPowerOfUsHub Settings en_US false - stgHelpTrailHeadHub + stgPowerOfUsHub Trailblazer Community diff --git a/force-app/main/default/pages/STG_PanelHome.page b/force-app/main/default/pages/STG_PanelHome.page index 2273c93a23b..82b92c51259 100644 --- a/force-app/main/default/pages/STG_PanelHome.page +++ b/force-app/main/default/pages/STG_PanelHome.page @@ -37,7 +37,7 @@
{!$Label.stgPowerOfUsHub}
-

+

diff --git a/force-app/main/default/translations/de.translation-meta.xml b/force-app/main/default/translations/de.translation-meta.xml index 4b47bf2af88..e4208586ff7 100644 --- a/force-app/main/default/translations/de.translation-meta.xml +++ b/force-app/main/default/translations/de.translation-meta.xml @@ -7213,7 +7213,7 @@ WICHTIG: Die Datentypen beider Felder müssen identisch sein. - stgHelpTrailHeadHub + stgHelpPowerOfUsHub @@ -8036,7 +8036,7 @@ Hinweis: Die Registerkarte "NPSP-Einstellungen" ist in der Nonprofit S - stgHelpTrailHeadHub + stgPowerOfUsHub diff --git a/force-app/main/default/translations/en_GB.translation-meta.xml b/force-app/main/default/translations/en_GB.translation-meta.xml index 27400d95921..2a68e424d81 100644 --- a/force-app/main/default/translations/en_GB.translation-meta.xml +++ b/force-app/main/default/translations/en_GB.translation-meta.xml @@ -7214,7 +7214,7 @@ IMPORTANT: Both of these fields must have the same data type. - stgHelpTrailHeadHub + stgHelpPowerOfUsHub diff --git a/force-app/main/default/translations/es.translation-meta.xml b/force-app/main/default/translations/es.translation-meta.xml index c56b2643b09..a698c94fefb 100644 --- a/force-app/main/default/translations/es.translation-meta.xml +++ b/force-app/main/default/translations/es.translation-meta.xml @@ -7203,7 +7203,7 @@ IMPORTANTE: Ambos campos deben ser del mismo tipo de datos. - stgHelpTrailHeadHub + stgHelpPowerOfUsHub @@ -8026,7 +8026,7 @@ Nota: La ficha Configuración de NPSP es visible en la aplicación Nonprofit Suc - stgHelpTrailHeadHub + stgPowerOfUsHub diff --git a/force-app/main/default/translations/fr.translation-meta.xml b/force-app/main/default/translations/fr.translation-meta.xml index 2cd79828aa5..30464a84818 100644 --- a/force-app/main/default/translations/fr.translation-meta.xml +++ b/force-app/main/default/translations/fr.translation-meta.xml @@ -7215,7 +7215,7 @@ IMPORTANT : ces deux champs doivent avoir le même type de données. - stgHelpTrailHeadHub + stgHelpPowerOfUsHub @@ -8038,7 +8038,7 @@ Remarque : l’onglet de paramètres NPSP est visible dans l’application NPSP - stgHelpTrailHeadHub + stgPowerOfUsHub diff --git a/force-app/main/default/translations/iw.translation-meta.xml b/force-app/main/default/translations/iw.translation-meta.xml index 4e5dd1d796f..9b1d8ba5fc5 100644 --- a/force-app/main/default/translations/iw.translation-meta.xml +++ b/force-app/main/default/translations/iw.translation-meta.xml @@ -6673,7 +6673,7 @@ - stgHelpTrailHeadHub + stgHelpPowerOfUsHub - - stgHelpTrailHeadHub + + stgPowerOfUsHub diff --git a/force-app/main/default/translations/ja.translation-meta.xml b/force-app/main/default/translations/ja.translation-meta.xml index 54206594db4..18d11ba84d8 100644 --- a/force-app/main/default/translations/ja.translation-meta.xml +++ b/force-app/main/default/translations/ja.translation-meta.xml @@ -7209,7 +7209,7 @@ - stgHelpTrailHeadHub + stgHelpPowerOfUsHub @@ -8032,7 +8032,7 @@ - stgHelpTrailHeadHub + stgPowerOfUsHub diff --git a/force-app/main/default/translations/nl_NL.translation-meta.xml b/force-app/main/default/translations/nl_NL.translation-meta.xml index 2973153d0f4..d25d3b5cd1c 100644 --- a/force-app/main/default/translations/nl_NL.translation-meta.xml +++ b/force-app/main/default/translations/nl_NL.translation-meta.xml @@ -7213,7 +7213,7 @@ BELANGRIJK: Beide velden moeten van hetzelfde gegevenstype zijn. - stgHelpTrailHeadHub + stgHelpPowerOfUsHub diff --git a/force-app/main/default/translations/pt_BR.translation-meta.xml b/force-app/main/default/translations/pt_BR.translation-meta.xml index aee13888ee1..22b7464d36a 100644 --- a/force-app/main/default/translations/pt_BR.translation-meta.xml +++ b/force-app/main/default/translations/pt_BR.translation-meta.xml @@ -7215,7 +7215,7 @@ IMPORTANTE: ambos os campos precisam ter o mesmo tipo de dados. - stgHelpTrailHeadHub + stgHelpPowerOfUsHub From 4ced5375677be37f8a0db3d50da3bc61d0996165 Mon Sep 17 00:00:00 2001 From: Balsam Hindi Date: Tue, 4 Oct 2022 23:51:45 -0400 Subject: [PATCH 055/515] Escape URLs properly --- force-app/main/default/translations/de.translation-meta.xml | 2 +- force-app/main/default/translations/en_GB.translation-meta.xml | 2 +- force-app/main/default/translations/es.translation-meta.xml | 2 +- force-app/main/default/translations/fr.translation-meta.xml | 2 +- force-app/main/default/translations/iw.translation-meta.xml | 2 +- force-app/main/default/translations/ja.translation-meta.xml | 2 +- force-app/main/default/translations/nl_NL.translation-meta.xml | 2 +- force-app/main/default/translations/pt_BR.translation-meta.xml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/force-app/main/default/translations/de.translation-meta.xml b/force-app/main/default/translations/de.translation-meta.xml index e4208586ff7..c03ac11b2fa 100644 --- a/force-app/main/default/translations/de.translation-meta.xml +++ b/force-app/main/default/translations/de.translation-meta.xml @@ -7214,7 +7214,7 @@ WICHTIG: Die Datentypen beider Felder müssen identisch sein. stgHelpPowerOfUsHub - + stgHelpPrimaryContactBatch diff --git a/force-app/main/default/translations/en_GB.translation-meta.xml b/force-app/main/default/translations/en_GB.translation-meta.xml index 2a68e424d81..d8c1b1d16af 100644 --- a/force-app/main/default/translations/en_GB.translation-meta.xml +++ b/force-app/main/default/translations/en_GB.translation-meta.xml @@ -7215,7 +7215,7 @@ IMPORTANT: Both of these fields must have the same data type. stgHelpPowerOfUsHub - + stgHelpPrimaryContactBatch diff --git a/force-app/main/default/translations/es.translation-meta.xml b/force-app/main/default/translations/es.translation-meta.xml index a698c94fefb..61998f0843a 100644 --- a/force-app/main/default/translations/es.translation-meta.xml +++ b/force-app/main/default/translations/es.translation-meta.xml @@ -7204,7 +7204,7 @@ IMPORTANTE: Ambos campos deben ser del mismo tipo de datos. stgHelpPowerOfUsHub - + stgHelpPrimaryContactBatch diff --git a/force-app/main/default/translations/fr.translation-meta.xml b/force-app/main/default/translations/fr.translation-meta.xml index 30464a84818..a7a9a223ece 100644 --- a/force-app/main/default/translations/fr.translation-meta.xml +++ b/force-app/main/default/translations/fr.translation-meta.xml @@ -7216,7 +7216,7 @@ IMPORTANT : ces deux champs doivent avoir le même type de données. stgHelpPowerOfUsHub - + stgHelpPrimaryContactBatch diff --git a/force-app/main/default/translations/iw.translation-meta.xml b/force-app/main/default/translations/iw.translation-meta.xml index 9b1d8ba5fc5..fb5709e226a 100644 --- a/force-app/main/default/translations/iw.translation-meta.xml +++ b/force-app/main/default/translations/iw.translation-meta.xml @@ -6672,7 +6672,7 @@ stgHelpPaymentsEnabled - + stgHelpPowerOfUsHub diff --git a/force-app/main/default/translations/ja.translation-meta.xml b/force-app/main/default/translations/ja.translation-meta.xml index 18d11ba84d8..f15ba883a2a 100644 --- a/force-app/main/default/translations/ja.translation-meta.xml +++ b/force-app/main/default/translations/ja.translation-meta.xml @@ -7210,7 +7210,7 @@ stgHelpPowerOfUsHub - + stgHelpPrimaryContactBatch diff --git a/force-app/main/default/translations/nl_NL.translation-meta.xml b/force-app/main/default/translations/nl_NL.translation-meta.xml index d25d3b5cd1c..78bbd05fd6c 100644 --- a/force-app/main/default/translations/nl_NL.translation-meta.xml +++ b/force-app/main/default/translations/nl_NL.translation-meta.xml @@ -7214,7 +7214,7 @@ BELANGRIJK: Beide velden moeten van hetzelfde gegevenstype zijn. stgHelpPowerOfUsHub - + stgHelpPrimaryContactBatch diff --git a/force-app/main/default/translations/pt_BR.translation-meta.xml b/force-app/main/default/translations/pt_BR.translation-meta.xml index 22b7464d36a..39c104a59fa 100644 --- a/force-app/main/default/translations/pt_BR.translation-meta.xml +++ b/force-app/main/default/translations/pt_BR.translation-meta.xml @@ -7216,7 +7216,7 @@ IMPORTANTE: ambos os campos precisam ter o mesmo tipo de dados. stgHelpPowerOfUsHub - + stgHelpPrimaryContactBatch From 647dc96767b8657ffc91512ebbc440269bc5c431 Mon Sep 17 00:00:00 2001 From: Balsam Hindi Date: Wed, 5 Oct 2022 00:16:13 -0400 Subject: [PATCH 056/515] Remove label references --- .../default/pages/STG_PanelDataImportAdvancedMapping.page | 6 ------ 1 file changed, 6 deletions(-) diff --git a/force-app/main/default/pages/STG_PanelDataImportAdvancedMapping.page b/force-app/main/default/pages/STG_PanelDataImportAdvancedMapping.page index 324f2491334..869cc10d064 100644 --- a/force-app/main/default/pages/STG_PanelDataImportAdvancedMapping.page +++ b/force-app/main/default/pages/STG_PanelDataImportAdvancedMapping.page @@ -48,12 +48,6 @@ styleClass="slds-text-body_small" /> -
- -