Add search and links to plugin settings (#4854)

* Show links to plugin views and settings in plugin list and in success message after activating a plugin
* Fix menu highlighting in payment provider settings
* Specify settings_links and navigation_links for built-in plugins
* Add link to payment plugins from payment settings
* Add client-side search and "View only active plugins" for plugins page
This commit is contained in:
luelista
2025-03-24 15:04:35 +01:00
committed by GitHub
parent 6a92b98766
commit 5375e22781
20 changed files with 272 additions and 36 deletions
+3
View File
@@ -38,6 +38,9 @@ class AutoCheckinApp(AppConfig):
description = _(
"Automatically check-in specific tickets after they have been sold."
)
navigation_links = [
((_("Check-in"), _("Auto check-in")), "plugins:autocheckin:index", {}),
]
def ready(self):
from . import signals # NOQA
+3
View File
@@ -37,6 +37,9 @@ class BadgesApp(AppConfig):
featured = True
description = _("Automatically generate badges or name tags for your attendees. You can download the badges in the "
"backend or automatically print them with our check-in apps.")
settings_links = [
(_("Badges"), "plugins:badges:index", {}),
]
def ready(self):
from . import signals # NOQA
+7
View File
@@ -38,6 +38,13 @@ class BankTransferApp(AppConfig):
version = version
description = _("Accept payments from your customers using classical wire transfer methods with your own "
"bank account.")
settings_links = [
((_("Payment"), _("Bank transfer")), "control:event.settings.payment.provider", {"provider": "banktransfer"}),
]
navigation_links = [
((_("Bank transfer"), _("Import bank data")), "plugins:banktransfer:import", {}),
((_("Bank transfer"), _("Export refunds")), "plugins:banktransfer:refunds.list", {}),
]
def ready(self):
from . import signals # NOQA
+3
View File
@@ -35,3 +35,6 @@ class ManualPaymentApp(AppConfig):
version = version
category = 'PAYMENT'
description = _("A fully customizable payment method for manual processing.")
settings_links = [
((_("Payment"), _("Manual payment")), "control:event.settings.payment.provider", {"provider": "manual"}),
]
+3
View File
@@ -41,6 +41,9 @@ class Paypal2App(AppConfig):
"also offer payments in a variety of local payment methods such as eps, iDEAL, and "
"many more to your customers - they don't even need a PayPal account. PayPal is one of the "
"most popular payment methods world-wide.")
settings_links = [
((_("Payment"), _("PayPal")), "control:event.settings.payment.provider", {"provider": "paypal_settings"}),
]
def ready(self):
from . import signals # NOQA
+3
View File
@@ -36,6 +36,9 @@ class ReturnURLApp(AppConfig):
category = 'API'
description = _("This plugin allows to link to payments and redirect back afterwards. This is useful in "
"combination with our API.")
settings_links = [
((_("Settings"), _("Redirection")), "plugins:returnurl:settings", {}),
]
def ready(self):
from . import signals # NOQA
+3
View File
@@ -35,6 +35,9 @@ class StatisticsApp(AppConfig):
version = version
category = 'FEATURE'
description = _("Get a birds-eye view of your event sales with graphical statistics.")
navigation_links = [
((_("Orders"), _("Statistics")), "plugins:statistics:index", {}),
]
def ready(self):
from . import signals # NOQA
+3
View File
@@ -40,6 +40,9 @@ class StripeApp(AppConfig):
description = _("Accept payments via Stripe, a globally popular payment service provider. Stripe supports "
"payments via credit cards as well as many local payment methods such as iDEAL, Alipay,"
"and many more.")
settings_links = [
((_("Payment"), _("Stripe")), "control:event.settings.payment.provider", {"provider": "stripe_settings"}),
]
def ready(self):
from . import signals, tasks # NOQA
@@ -51,6 +51,9 @@ class TicketOutputPdfApp(AppConfig):
featured = True
description = _("Issue tickets as PDF files, usable on any device. Our drag-and-drop editor allows you to "
"customize the layout of the PDF files to your brand.")
settings_links = [
((_("Settings"), _("Tickets")), "control:event.settings.tickets", {}),
]
def ready(self):
from . import signals # NOQA
+3
View File
@@ -36,6 +36,9 @@ class WebCheckinApp(AppConfig):
experimental = True
category = "FEATURE"
description = _("Turn your browser into a check-in device to perform access control.")
navigation_links = [
((_("Check-in"), _("Web Check-in")), "plugins:webcheckin:index", {}),
]
def ready(self):
from . import signals # NOQA