feat: Email templates, bulk delete, communication credits, plan features
- Add email template presets for Browse Templates tab (12 templates) - Add bulk selection and deletion for My Templates tab - Add communication credits system with Twilio integration - Add payment views for credit purchases and auto-reload - Add SMS reminder and masked calling plan permissions - Fix appointment status mapping (frontend/backend mismatch) - Clear masquerade stack on login/logout for session hygiene - Update platform settings with credit configuration - Add new migrations for Twilio and Stripe payment fields 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -3,12 +3,58 @@ Payments App URLs
|
||||
"""
|
||||
from django.urls import path
|
||||
from .views import (
|
||||
# Config status
|
||||
PaymentConfigStatusView,
|
||||
# API Keys (Free Tier)
|
||||
ApiKeysView,
|
||||
ApiKeysValidateView,
|
||||
ApiKeysRevalidateView,
|
||||
ApiKeysDeleteView,
|
||||
# Connect (Paid Tiers)
|
||||
ConnectStatusView,
|
||||
ConnectOnboardView,
|
||||
ConnectRefreshLinkView,
|
||||
ConnectAccountSessionView,
|
||||
ConnectRefreshStatusView,
|
||||
# Transactions
|
||||
TransactionListView,
|
||||
TransactionSummaryView,
|
||||
StripeChargesView,
|
||||
StripePayoutsView,
|
||||
StripeBalanceView,
|
||||
TransactionExportView,
|
||||
# Payment operations
|
||||
CreatePaymentIntentView,
|
||||
TerminalConnectionTokenView,
|
||||
RefundPaymentView,
|
||||
)
|
||||
|
||||
urlpatterns = [
|
||||
# Payment configuration status
|
||||
path('config/status/', PaymentConfigStatusView.as_view(), name='payment-config-status'),
|
||||
|
||||
# API Keys endpoints (free tier)
|
||||
path('api-keys/', ApiKeysView.as_view(), name='api-keys'),
|
||||
path('api-keys/validate/', ApiKeysValidateView.as_view(), name='api-keys-validate'),
|
||||
path('api-keys/revalidate/', ApiKeysRevalidateView.as_view(), name='api-keys-revalidate'),
|
||||
path('api-keys/delete/', ApiKeysDeleteView.as_view(), name='api-keys-delete'),
|
||||
|
||||
# Connect endpoints (paid tiers)
|
||||
path('connect/status/', ConnectStatusView.as_view(), name='connect-status'),
|
||||
path('connect/onboard/', ConnectOnboardView.as_view(), name='connect-onboard'),
|
||||
path('connect/refresh-link/', ConnectRefreshLinkView.as_view(), name='connect-refresh-link'),
|
||||
path('connect/account-session/', ConnectAccountSessionView.as_view(), name='connect-account-session'),
|
||||
path('connect/refresh-status/', ConnectRefreshStatusView.as_view(), name='connect-refresh-status'),
|
||||
|
||||
# Transaction endpoints
|
||||
path('transactions/', TransactionListView.as_view(), name='transaction-list'),
|
||||
path('transactions/summary/', TransactionSummaryView.as_view(), name='transaction-summary'),
|
||||
path('transactions/charges/', StripeChargesView.as_view(), name='stripe-charges'),
|
||||
path('transactions/payouts/', StripePayoutsView.as_view(), name='stripe-payouts'),
|
||||
path('transactions/balance/', StripeBalanceView.as_view(), name='stripe-balance'),
|
||||
path('transactions/export/', TransactionExportView.as_view(), name='transaction-export'),
|
||||
|
||||
# Payment operations (existing)
|
||||
path('payment-intents/', CreatePaymentIntentView.as_view(), name='create-payment-intent'),
|
||||
path('terminal/connection-token/', TerminalConnectionTokenView.as_view(), name='terminal-connection-token'),
|
||||
path('refunds/', RefundPaymentView.as_view(), name='create-refund'),
|
||||
|
||||
Reference in New Issue
Block a user