From 5d865ae8bf037df01480ab560cd23cb1e473a96c Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Thu, 14 Sep 2023 13:22:19 -0500 Subject: [PATCH] Use handler to generate NationBuilder URLs instead of config function --- tailbone_nationbuilder/menus.py | 5 ++--- .../views/nationbuilder/donations.py | 12 ++++++++++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/tailbone_nationbuilder/menus.py b/tailbone_nationbuilder/menus.py index 743c16b..68ae442 100644 --- a/tailbone_nationbuilder/menus.py +++ b/tailbone_nationbuilder/menus.py @@ -24,10 +24,9 @@ Common menus for NationBuilder """ -from rattail_nationbuilder.nationbuilder.util import get_nationbuilder_url - def make_nationbuilder_menu(request): + app = request.rattail_config.get_app() url = request.route_url nationbuilder_menu = { @@ -47,7 +46,7 @@ def make_nationbuilder_menu(request): ], } - url = get_nationbuilder_url(request.rattail_config) + url = app.get_nationbuilder_handler().get_url() if url: nationbuilder_menu['items'].insert( 0, { diff --git a/tailbone_nationbuilder/views/nationbuilder/donations.py b/tailbone_nationbuilder/views/nationbuilder/donations.py index 015f9b4..c5bed33 100644 --- a/tailbone_nationbuilder/views/nationbuilder/donations.py +++ b/tailbone_nationbuilder/views/nationbuilder/donations.py @@ -100,6 +100,18 @@ class NationBuilderCacheDonationView(NationBuilderMasterView): f.set_type('amount', 'currency') + def get_xref_buttons(self, donation): + buttons = super().get_xref_buttons(donation) + + app = self.get_rattail_app() + nationbuilder = app.get_nationbuilder_handler() + url = nationbuilder.get_url() + if url: + url = f'{url}/admin/signups/{donation.donor_id}/donations/{donation.id}' + buttons.append(self.make_xref_button(url=url, text="View in NationBuilder")) + + return buttons + def defaults(config, **kwargs): base = globals()