Customize PayPal gateway options
This commit is contained in:
parent
eeaae71283
commit
fb38a8decf
|
|
@ -487,6 +487,7 @@ const String kGatewayStripe = 'd14dd26a37cecc30fdd65700bfb55b23';
|
||||||
const String kGatewayStripeConnect = 'd14dd26a47cecc30fdd65700bfb67b34';
|
const String kGatewayStripeConnect = 'd14dd26a47cecc30fdd65700bfb67b34';
|
||||||
const String kGatewayAuthorizeNet = '3b6621f970ab18887c4f6dca78d3f8bb';
|
const String kGatewayAuthorizeNet = '3b6621f970ab18887c4f6dca78d3f8bb';
|
||||||
const String kGatewayCheckoutCom = '3758e7f7c6f4cecf0f4f348b9a00f456';
|
const String kGatewayCheckoutCom = '3758e7f7c6f4cecf0f4f348b9a00f456';
|
||||||
|
const String kGatewayPayPalREST = '80af24a6a691230bbec33e930ab40665';
|
||||||
const String kGatewayPayPalExpress = '38f2c48af60c7dd69e04248cbb24c36e';
|
const String kGatewayPayPalExpress = '38f2c48af60c7dd69e04248cbb24c36e';
|
||||||
const String kGatewayPayPalPlatform = '80af24a6a691230bbec33e930ab40666';
|
const String kGatewayPayPalPlatform = '80af24a6a691230bbec33e930ab40666';
|
||||||
const String kGatewayWePay = '8fdeed552015b3c7b44ed6c8ebd9e992';
|
const String kGatewayWePay = '8fdeed552015b3c7b44ed6c8ebd9e992';
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,6 @@
|
||||||
// Package imports:
|
// Package imports:
|
||||||
import 'package:built_collection/built_collection.dart';
|
import 'package:built_collection/built_collection.dart';
|
||||||
|
import 'package:invoiceninja_flutter/constants.dart';
|
||||||
import 'package:memoize/memoize.dart';
|
import 'package:memoize/memoize.dart';
|
||||||
|
|
||||||
// Project imports:
|
// Project imports:
|
||||||
|
|
@ -127,13 +128,36 @@ List<String?> sizeList(BuiltMap<String, SizeEntity> sizeMap) {
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
var memoizedGatewayList = memo1(
|
var memoizedGatewayList = memo2(
|
||||||
(BuiltMap<String, GatewayEntity> gatewayMap) => gatewayList(gatewayMap));
|
(BuiltMap<String, GatewayEntity> gatewayMap, bool isHosted) =>
|
||||||
|
gatewayList(gatewayMap, isHosted));
|
||||||
|
|
||||||
List<String?> gatewayList(BuiltMap<String, GatewayEntity> gatewayMap) {
|
List<String?> gatewayList(
|
||||||
final list = gatewayMap.keys
|
BuiltMap<String, GatewayEntity> gatewayMap, bool isHosted) {
|
||||||
.where((gatewayId) => gatewayMap[gatewayId]!.isVisible)
|
final list = gatewayMap.keys.where((gatewayId) {
|
||||||
.toList();
|
final gateway = gatewayMap[gatewayId]!;
|
||||||
|
|
||||||
|
if (!gateway.isVisible) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isHosted) {
|
||||||
|
if ([
|
||||||
|
kGatewayPayPalExpress,
|
||||||
|
kGatewayPayPalREST,
|
||||||
|
].contains(gateway.id)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ([
|
||||||
|
kGatewayPayPalPlatform,
|
||||||
|
].contains(gateway.id)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}).toList();
|
||||||
|
|
||||||
list.sort((idA, idB) =>
|
list.sort((idA, idB) =>
|
||||||
gatewayMap[idA]!.sortOrder.compareTo(gatewayMap[idB]!.sortOrder));
|
gatewayMap[idA]!.sortOrder.compareTo(gatewayMap[idB]!.sortOrder));
|
||||||
|
|
|
||||||
|
|
@ -152,8 +152,8 @@ class _CompanyGatewayEditState extends State<CompanyGatewayEdit>
|
||||||
EntityDropdown(
|
EntityDropdown(
|
||||||
autofocus: true,
|
autofocus: true,
|
||||||
entityType: EntityType.gateway,
|
entityType: EntityType.gateway,
|
||||||
entityList:
|
entityList: memoizedGatewayList(
|
||||||
memoizedGatewayList(state.staticState.gatewayMap),
|
state.staticState.gatewayMap, state.isHosted),
|
||||||
labelText: localization.provider,
|
labelText: localization.provider,
|
||||||
entityId: companyGateway.gatewayId,
|
entityId: companyGateway.gatewayId,
|
||||||
onSelected: (SelectableEntity? gateway) {
|
onSelected: (SelectableEntity? gateway) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue