diff --git a/counter/models.py b/counter/models.py index d3d3b39a..46b7ceae 100644 --- a/counter/models.py +++ b/counter/models.py @@ -478,6 +478,8 @@ class Selling(models.Model): return user.is_owner(self.counter) and self.payment_method != "CARD" def can_be_viewed_by(self, user): + if not hasattr(self, "customer"): # Customer can be set to Null + return False return user == self.customer.user def delete(self, *args, **kwargs): diff --git a/counter/views.py b/counter/views.py index ce6693e0..8b20e036 100644 --- a/counter/views.py +++ b/counter/views.py @@ -1752,7 +1752,11 @@ class EticketPDFView(CanViewMixin, DetailView): from reportlab.graphics.barcode.qr import QrCodeWidget from reportlab.graphics import renderPDF - self.object = self.get_object() + if not ( + hasattr(self.object, "product") and hasattr(self.object.product, "eticket") + ): + raise Http404 + eticket = self.object.product.eticket user = self.object.customer.user code = "%s %s %s %s" % (