From 0d19944304fc01fe0f415d6722540988c2e562fd Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Thu, 22 Dec 2016 17:54:43 +0100 Subject: [PATCH] Fix bug in CartMixin --- src/pretix/plugins/pretixdroid/signals.py | 2 +- src/pretix/presale/views/__init__.py | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/pretix/plugins/pretixdroid/signals.py b/src/pretix/plugins/pretixdroid/signals.py index df71bd9e44..7164ff39eb 100644 --- a/src/pretix/plugins/pretixdroid/signals.py +++ b/src/pretix/plugins/pretixdroid/signals.py @@ -3,8 +3,8 @@ import json from django.core.urlresolvers import resolve, reverse from django.dispatch import receiver from django.utils.translation import ugettext_lazy as _ -from pretix.base.signals import logentry_display +from pretix.base.signals import logentry_display from pretix.control.signals import nav_event diff --git a/src/pretix/presale/views/__init__.py b/src/pretix/presale/views/__init__.py index 1712403308..d5a6c1cb61 100644 --- a/src/pretix/presale/views/__init__.py +++ b/src/pretix/presale/views/__init__.py @@ -6,7 +6,7 @@ from django.db.models import Sum from django.utils.functional import cached_property from django.utils.timezone import now -from pretix.base.models import CartPosition +from pretix.base.models import CartPosition, OrderPosition from pretix.base.signals import register_payment_providers @@ -39,11 +39,15 @@ class CartMixin: # We do this by list manipulations instead of a GROUP BY query, as # Django is unable to join related models in a .values() query def keyfunc(pos): + if isinstance(pos, OrderPosition): + i = pos.positionid + else: + i = pos.pk if downloads: - return pos.positionid, 0, 0, 0, 0 + return i, 0, 0, 0, 0 if answers and ((pos.item.admission and self.request.event.settings.attendee_names_asked) or pos.item.questions.all()): - return pos.positionid, 0, 0, 0, 0 + return i, 0, 0, 0, 0 return 0, pos.item_id, pos.variation_id, pos.price, (pos.voucher_id or 0) positions = []