from django.urls import path
from banking.views import ProcessPaymentView
from . import views
from reportlab.lib.pagesizes import A4
from reportlab.lib import colors
from reportlab.platypus import SimpleDocTemplate, Table, TableStyle, Paragraph, Spacer
from reportlab.lib.styles import getSampleStyleSheet
from django.http import HttpResponse
from django.utils import timezone
from django.utils.translation import gettext as _
from django.views import View
from django.db.models import Q
import io
import datetime
from banking.views import VerifyPaymentView
from django.urls import path
from banking.views import impersonate_user, stop_impersonation
from banking import views


urlpatterns = [
    path("new_transaction/",
         views.NewTransactionCreateView.as_view(),
         name="new_transaction_create",
         ),
    path("accounts/", views.AccountsListView.as_view(), name="account_list"),
    path("impersonate/<int:user_id>/", impersonate_user, name="impersonate_user"),
    path("stop-impersonation/", stop_impersonation, name="stop_impersonation"),
    path(
        "accounts/<slug:slug>", views.AccountDetailView.as_view(), name="account_detail"
    ),
    path(
        "accounts/<slug:slug>/new_transaction/",
        views.NewTransactionFromAccountCreateView.as_view(),
        name="transaction_create",
    ),
    path(
        "accounts/<slug:slug>/statement/pdf/",
        views.AccountStatementPDFView.as_view(),
        name="account_statement_pdf",
    ),
    path(
        "accounts/<slug:slug>/statement/pdf/filter/",
        views.AccountStatementFilteredPDFView.as_view(),
        name="account_statement_pdf_filtered",
    ),
    path("impersonate/<int:user_id>/", impersonate_user, name="impersonate-user"),
    path(
        "transactions/<int:pk>/",
        views.TransactionDetailView.as_view(),
        name="transaction_detail",
    ),
    path(
        "verify-payment/<int:pk>/",
        VerifyPaymentView.as_view(),
        name="verify_payment",
    ),
    path(
        "accounts/<slug:slug>/<int:transaction_id>/duplicate/",
        views.DuplicateTransactionView.as_view(),
        name="duplicate_transaction",
    ),
    path("", views.landing_page_view, name="landing_page"),
    path(
        "account/<slug:slug>/update-name/",
        views.UpdateAccountNameView.as_view(),
        name="update_account_name",
    ),
    #path('opencart_paymentGET/', views.ProcessPaymentViewGET.as_view(), name='process_payment'),
    #path('opencart_paymentPOST/', views.ProcessPaymentViewPOST.as_view(), name='process_payment'),
    path("process-payment/", ProcessPaymentView.as_view(), name="process_payment"),
]
