Source code for django_program.manage.views_terminal

"""Stripe Terminal POS views for the manage app.

Provides the staff-facing Point of Sale interface for processing in-person
payments via Stripe Terminal hardware readers during on-site registration.
"""

from django.views.generic import TemplateView

from django_program.manage.views import ManagePermissionMixin


[docs] class TerminalPOSView(ManagePermissionMixin, TemplateView): """Staff-facing Point of Sale interface for Stripe Terminal payments. Renders the POS template with conference context. All payment processing, reader management, and cart logic is handled client-side via the terminal API endpoints and the Stripe Terminal JS SDK. """ template_name = "django_program/manage/terminal_pos.html" required_permission = "use_terminal"
[docs] def get_context_data(self, **kwargs: object) -> dict[str, object]: """Add active navigation state to the template context. Args: **kwargs: Additional context data. Returns: Template context with conference and active navigation state. """ context = super().get_context_data(**kwargs) context["active_nav"] = "terminal" return context