from django.views.generic import View
from django.shortcuts import render

from rules.contrib.views import PermissionRequiredMixin

from aleksis.core.views import RenderPDFView

from .models.invoice import Invoice


class GetInvoicePDF(PermissionRequiredMixin, RenderPDFView):

    permission_required = "tezor.can_print_invoice"

    def get_context_data(self, *args, **kwargs):
        context = super().get_context_data(*args, **kwargs)
        invoice = Invoice.objects.get(id=self.kwargs["pk"])
        self.template_name = invoice.group.template_name
        context["invoice"] = invoice

        print(invoice.group.__dict__)
        return context