small fixes for single payout and big chunck for multiple payouts
This commit is contained in:
@@ -10,6 +10,8 @@ import 'package:pshared/models/recipient/recipient.dart';
|
||||
import 'package:pshared/provider/organizations.dart';
|
||||
import 'package:pshared/provider/payment/amount.dart';
|
||||
import 'package:pshared/provider/payment/flow.dart';
|
||||
import 'package:pshared/provider/payment/multiple/provider.dart';
|
||||
import 'package:pshared/provider/payment/multiple/quotation.dart';
|
||||
import 'package:pshared/provider/payment/provider.dart';
|
||||
import 'package:pshared/provider/payment/quotation/quotation.dart';
|
||||
import 'package:pshared/provider/recipient/provider.dart';
|
||||
@@ -18,6 +20,8 @@ import 'package:pshared/provider/recipient/pmethods.dart';
|
||||
|
||||
import 'package:pweb/app/router/pages.dart';
|
||||
import 'package:pweb/app/router/payout_routes.dart';
|
||||
import 'package:pweb/controllers/multiple_payouts.dart';
|
||||
import 'package:pweb/controllers/payment_page.dart';
|
||||
import 'package:pweb/providers/quotation/quotation.dart';
|
||||
import 'package:pshared/models/payment/wallet.dart';
|
||||
import 'package:pweb/pages/address_book/form/page.dart';
|
||||
@@ -34,52 +38,126 @@ import 'package:pweb/widgets/error/snackbar.dart';
|
||||
import 'package:pweb/widgets/sidebar/destinations.dart';
|
||||
import 'package:pweb/widgets/sidebar/page.dart';
|
||||
import 'package:pweb/utils/payment/availability.dart';
|
||||
import 'package:pweb/services/payments/csv_input.dart';
|
||||
|
||||
import 'package:pweb/generated/i18n/app_localizations.dart';
|
||||
|
||||
|
||||
RouteBase payoutShellRoute() => ShellRoute(
|
||||
builder: (context, state, child) => MultiProvider(
|
||||
providers: [
|
||||
ChangeNotifierProxyProvider2<OrganizationsProvider, RecipientsProvider, PaymentMethodsProvider>(
|
||||
ChangeNotifierProxyProvider2<
|
||||
OrganizationsProvider,
|
||||
RecipientsProvider,
|
||||
PaymentMethodsProvider
|
||||
>(
|
||||
create: (_) => PaymentMethodsProvider(),
|
||||
update: (context, organizations, recipients, provider) => provider!..updateProviders(organizations, recipients),
|
||||
update: (context, organizations, recipients, provider) =>
|
||||
provider!..updateProviders(organizations, recipients),
|
||||
),
|
||||
ChangeNotifierProxyProvider2<OrganizationsProvider, RecipientsProvider, RecipientMethodsCacheProvider>(
|
||||
ChangeNotifierProxyProvider2<
|
||||
OrganizationsProvider,
|
||||
RecipientsProvider,
|
||||
RecipientMethodsCacheProvider
|
||||
>(
|
||||
create: (_) => RecipientMethodsCacheProvider(),
|
||||
update: (context, organizations, recipients, provider) => provider!..updateProviders(organizations, recipients),
|
||||
update: (context, organizations, recipients, provider) =>
|
||||
provider!..updateProviders(organizations, recipients),
|
||||
),
|
||||
ChangeNotifierProxyProvider2<RecipientsProvider, PaymentMethodsProvider, PaymentFlowProvider>(
|
||||
create: (_) => PaymentFlowProvider(initialType: enabledPaymentTypes.first),
|
||||
update: (context, recipients, methods, provider) => provider!..update(
|
||||
recipients,
|
||||
methods,
|
||||
),
|
||||
ChangeNotifierProxyProvider2<
|
||||
RecipientsProvider,
|
||||
PaymentMethodsProvider,
|
||||
PaymentFlowProvider
|
||||
>(
|
||||
create: (_) =>
|
||||
PaymentFlowProvider(initialType: enabledPaymentTypes.first),
|
||||
update: (context, recipients, methods, provider) =>
|
||||
provider!..update(recipients, methods),
|
||||
),
|
||||
ChangeNotifierProvider(
|
||||
create: (_) => PaymentAmountProvider(),
|
||||
),
|
||||
ChangeNotifierProxyProvider6<OrganizationsProvider, PaymentAmountProvider, WalletsController, PaymentFlowProvider, RecipientsProvider, PaymentMethodsProvider, QuotationProvider>(
|
||||
ChangeNotifierProvider(create: (_) => PaymentAmountProvider()),
|
||||
ChangeNotifierProxyProvider6<
|
||||
OrganizationsProvider,
|
||||
PaymentAmountProvider,
|
||||
WalletsController,
|
||||
PaymentFlowProvider,
|
||||
RecipientsProvider,
|
||||
PaymentMethodsProvider,
|
||||
QuotationProvider
|
||||
>(
|
||||
create: (_) => QuotationProvider(),
|
||||
update: (_, organization, payment, wallet, flow, recipients, methods, provider) =>
|
||||
provider!..update(organization, payment, wallet, flow, recipients, methods),
|
||||
update:
|
||||
(
|
||||
_,
|
||||
organization,
|
||||
payment,
|
||||
wallet,
|
||||
flow,
|
||||
recipients,
|
||||
methods,
|
||||
provider,
|
||||
) => provider!
|
||||
..update(
|
||||
organization,
|
||||
payment,
|
||||
wallet,
|
||||
flow,
|
||||
recipients,
|
||||
methods,
|
||||
),
|
||||
),
|
||||
ChangeNotifierProxyProvider<QuotationProvider, QuotationController>(
|
||||
create: (_) => QuotationController(),
|
||||
update: (_, quotation, controller) => controller!..update(quotation),
|
||||
),
|
||||
ChangeNotifierProxyProvider2<OrganizationsProvider, QuotationProvider, PaymentProvider>(
|
||||
ChangeNotifierProxyProvider2<
|
||||
OrganizationsProvider,
|
||||
QuotationProvider,
|
||||
PaymentProvider
|
||||
>(
|
||||
create: (_) => PaymentProvider(),
|
||||
update: (context, organization, quotation, provider) => provider!..update(
|
||||
organization,
|
||||
quotation,
|
||||
),
|
||||
update: (context, organization, quotation, provider) =>
|
||||
provider!..update(organization, quotation),
|
||||
),
|
||||
ChangeNotifierProxyProvider4<
|
||||
PaymentProvider,
|
||||
QuotationProvider,
|
||||
PaymentFlowProvider,
|
||||
RecipientsProvider,
|
||||
PaymentPageController
|
||||
>(
|
||||
create: (_) => PaymentPageController(),
|
||||
update: (context, payment, quotation, flow, recipients, controller) =>
|
||||
controller!..update(payment, quotation, flow, recipients),
|
||||
),
|
||||
ChangeNotifierProxyProvider<
|
||||
OrganizationsProvider,
|
||||
MultiQuotationProvider
|
||||
>(
|
||||
create: (_) => MultiQuotationProvider(),
|
||||
update: (context, organization, provider) =>
|
||||
provider!..update(organization),
|
||||
),
|
||||
ChangeNotifierProxyProvider2<
|
||||
OrganizationsProvider,
|
||||
MultiQuotationProvider,
|
||||
MultiPaymentProvider
|
||||
>(
|
||||
create: (_) => MultiPaymentProvider(),
|
||||
update: (context, organization, quotation, provider) =>
|
||||
provider!..update(organization, quotation),
|
||||
),
|
||||
ChangeNotifierProxyProvider3<
|
||||
WalletsController,
|
||||
MultiQuotationProvider,
|
||||
MultiPaymentProvider,
|
||||
MultiplePayoutsController
|
||||
>(
|
||||
create: (_) =>
|
||||
MultiplePayoutsController(csvInput: WebCsvInputService()),
|
||||
update: (context, wallets, quotation, payment, provider) =>
|
||||
provider!..update(wallets, quotation, payment),
|
||||
),
|
||||
],
|
||||
child: PageSelector(
|
||||
child: child,
|
||||
routerState: state,
|
||||
),
|
||||
child: PageSelector(child: child, routerState: state),
|
||||
),
|
||||
routes: [
|
||||
GoRoute(
|
||||
@@ -135,11 +213,11 @@ RouteBase payoutShellRoute() => ShellRoute(
|
||||
);
|
||||
if (!confirmed) return;
|
||||
await executeActionWithNotification(
|
||||
context: context,
|
||||
action: () async =>
|
||||
context.read<RecipientsProvider>().delete(recipient.id),
|
||||
successMessage: loc.recipientDeletedSuccessfully,
|
||||
errorMessage: loc.errorDeleteRecipient,
|
||||
context: context,
|
||||
action: () async =>
|
||||
context.read<RecipientsProvider>().delete(recipient.id),
|
||||
successMessage: loc.recipientDeletedSuccessfully,
|
||||
errorMessage: loc.errorDeleteRecipient,
|
||||
);
|
||||
},
|
||||
),
|
||||
@@ -149,9 +227,7 @@ RouteBase payoutShellRoute() => ShellRoute(
|
||||
GoRoute(
|
||||
name: PayoutRoutes.invitations,
|
||||
path: PayoutRoutes.invitationsPath,
|
||||
pageBuilder: (_, _) => const NoTransitionPage(
|
||||
child: InvitationsPage(),
|
||||
),
|
||||
pageBuilder: (_, _) => const NoTransitionPage(child: InvitationsPage()),
|
||||
),
|
||||
GoRoute(
|
||||
name: PayoutRoutes.addRecipient,
|
||||
@@ -187,9 +263,8 @@ RouteBase payoutShellRoute() => ShellRoute(
|
||||
GoRoute(
|
||||
name: PayoutRoutes.settings,
|
||||
path: PayoutRoutes.settingsPath,
|
||||
pageBuilder: (_, _) => const NoTransitionPage(
|
||||
child: ProfileSettingsPage(),
|
||||
),
|
||||
pageBuilder: (_, _) =>
|
||||
const NoTransitionPage(child: ProfileSettingsPage()),
|
||||
),
|
||||
GoRoute(
|
||||
name: PayoutRoutes.reports,
|
||||
@@ -249,16 +324,10 @@ void _startPayment(
|
||||
required PayoutDestination returnTo,
|
||||
}) {
|
||||
context.read<RecipientsProvider>().setCurrentObject(recipient?.id);
|
||||
context.pushToPayment(
|
||||
paymentType: paymentType,
|
||||
returnTo: returnTo,
|
||||
);
|
||||
context.pushToPayment(paymentType: paymentType, returnTo: returnTo);
|
||||
}
|
||||
|
||||
void _openAddRecipient(
|
||||
BuildContext context, {
|
||||
Recipient? recipient,
|
||||
}) {
|
||||
void _openAddRecipient(BuildContext context, {Recipient? recipient}) {
|
||||
context.read<RecipientsProvider>().setCurrentObject(recipient?.id);
|
||||
context.pushNamed(PayoutRoutes.addRecipient);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user