From 4b2560b228ef26583a507747f69dd744646178e3 Mon Sep 17 00:00:00 2001 From: Robin Doherty Date: Sun, 26 May 2019 23:00:53 -0400 Subject: [PATCH 1/3] prevent error when a provider commission does not exist --- .../BookingBreakdown/LineItemCustomerCommissionMaybe.js | 6 +++++- .../BookingBreakdown/LineItemProviderCommissionMaybe.js | 8 ++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/components/BookingBreakdown/LineItemCustomerCommissionMaybe.js b/src/components/BookingBreakdown/LineItemCustomerCommissionMaybe.js index 6f156392..d926e292 100644 --- a/src/components/BookingBreakdown/LineItemCustomerCommissionMaybe.js +++ b/src/components/BookingBreakdown/LineItemCustomerCommissionMaybe.js @@ -12,7 +12,11 @@ const { Money } = sdkTypes; // Validate the assumption that the commission exists and the amount // is zero or positive. const isValidCommission = commissionLineItem => { - return commissionLineItem.lineTotal instanceof Money && commissionLineItem.lineTotal.amount >= 0; + return ( + commissionLineItem && + commissionLineItem.lineTotal instanceof Money && + commissionLineItem.lineTotal.amount >= 0 + ); }; const LineItemCustomerCommissionMaybe = props => { diff --git a/src/components/BookingBreakdown/LineItemProviderCommissionMaybe.js b/src/components/BookingBreakdown/LineItemProviderCommissionMaybe.js index d8b034fe..20a0199e 100644 --- a/src/components/BookingBreakdown/LineItemProviderCommissionMaybe.js +++ b/src/components/BookingBreakdown/LineItemProviderCommissionMaybe.js @@ -12,11 +12,7 @@ const { Money } = sdkTypes; // Validate the assumption that the commission exists and the amount // is zero or negative. const isValidCommission = commissionLineItem => { - return ( - commissionLineItem && - commissionLineItem.lineTotal instanceof Money && - commissionLineItem.lineTotal.amount <= 0 - ); + return commissionLineItem.lineTotal instanceof Money && commissionLineItem.lineTotal.amount <= 0; }; const LineItemProviderCommissionMaybe = props => { @@ -29,7 +25,7 @@ const LineItemProviderCommissionMaybe = props => { // If commission is passed it will be shown as a fee already reduces from the total price let commissionItem = null; - if (isProvider) { + if (isProvider && providerCommissionLineItem) { if (!isValidCommission(providerCommissionLineItem)) { // eslint-disable-next-line no-console console.error('invalid commission line item:', providerCommissionLineItem); From bab325bccc4b3877220871272738d16b5fc2bba1 Mon Sep 17 00:00:00 2001 From: Jenni Nurmi Date: Mon, 10 Jun 2019 13:44:49 +0300 Subject: [PATCH 2/3] Add comment about default process --- .../BookingBreakdown/LineItemProviderCommissionMaybe.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/components/BookingBreakdown/LineItemProviderCommissionMaybe.js b/src/components/BookingBreakdown/LineItemProviderCommissionMaybe.js index 20a0199e..8016e641 100644 --- a/src/components/BookingBreakdown/LineItemProviderCommissionMaybe.js +++ b/src/components/BookingBreakdown/LineItemProviderCommissionMaybe.js @@ -25,6 +25,9 @@ const LineItemProviderCommissionMaybe = props => { // If commission is passed it will be shown as a fee already reduces from the total price let commissionItem = null; + // Flex Template for Web is using the default transaction process (https://www.sharetribe.com/docs/background/transaction-process/#sharetribe-flex-default-transaction-process) + // which containt provider commissions so by default the providerCommissionLineItem should exist. + // If you are not using provider commisison you might want to remove this whole component from BookingBreakdown.js file. if (isProvider && providerCommissionLineItem) { if (!isValidCommission(providerCommissionLineItem)) { // eslint-disable-next-line no-console From 2ca26d149a57e57d34b587d4ae667d545e4a5b88 Mon Sep 17 00:00:00 2001 From: Jenni Nurmi Date: Mon, 10 Jun 2019 13:48:45 +0300 Subject: [PATCH 3/3] Update changelog --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 82efe230..a4d8f05a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,10 @@ way to update this template, but currently, we follow a pattern: ## Upcoming version 2019-XX-XX +- [fix] In `LineItemProviderCommissionMaybe.js` file check that `providerCommissionLineItem` exists. + In default transaction process the `providerCommissionLineItem` can be expected to be there but if + the process is using only customer commission there will be error. + [#1112](https://github.com/sharetribe/flex-template-web/pull/1112) - [fix] Fix a bug in showing review links. Because of the bug the second review link was not visible in `ActivityFeed`. [#1106](https://github.com/sharetribe/flex-template-web/pull/1106) - [fix] Emptying the priceFilter component in the searchPage caused a page breaking error.