diff --git a/registrasion/controllers/discount.py b/registrasion/controllers/discount.py index 6b9b7582..e73928d0 100644 --- a/registrasion/controllers/discount.py +++ b/registrasion/controllers/discount.py @@ -71,7 +71,7 @@ def available_discounts(user, categories, products): # is not available any more. past_uses = commerce.DiscountItem.objects.filter( cart__user=user, - cart__status=commerce.Cart.STATUS_PAID, # Only past carts count + cart__status=commerce.Cart.STATUS_PAID, # Only past carts count discount=real_discount, ) agg = past_uses.aggregate(Sum("quantity")) diff --git a/registrasion/templatetags/registrasion_tags.py b/registrasion/templatetags/registrasion_tags.py index bd31d1f4..fabc7754 100644 --- a/registrasion/templatetags/registrasion_tags.py +++ b/registrasion/templatetags/registrasion_tags.py @@ -10,6 +10,7 @@ register = template.Library() _ProductAndQuantity = namedtuple("ProductAndQuantity", ["product", "quantity"]) + class ProductAndQuantity(_ProductAndQuantity): ''' Class that holds a product and a quantity. diff --git a/registrasion/tests/test_cart.py b/registrasion/tests/test_cart.py index bf781bb1..790c1df9 100644 --- a/registrasion/tests/test_cart.py +++ b/registrasion/tests/test_cart.py @@ -26,12 +26,16 @@ class RegistrationCartTestCase(SetTimeMixin, TestCase): super(RegistrationCartTestCase, self).setUp() def tearDown(self): - if False: + if True: # If you're seeing segfaults in tests, enable this. - call_command('flush', verbosity=0, interactive=False, - reset_sequences=False, - allow_cascade=False, - inhibit_post_migrate=False) + call_command( + 'flush', + verbosity=0, + interactive=False, + reset_sequences=False, + allow_cascade=False, + inhibit_post_migrate=False + ) super(RegistrationCartTestCase, self).tearDown() @@ -51,11 +55,11 @@ class RegistrationCartTestCase(SetTimeMixin, TestCase): password='top_secret') attendee1 = people.Attendee.get_instance(cls.USER_1) - profile1 = people.AttendeeProfileBase.objects.create( + people.AttendeeProfileBase.objects.create( attendee=attendee1, ) attendee2 = people.Attendee.get_instance(cls.USER_2) - profile2 = people.AttendeeProfileBase.objects.create( + people.AttendeeProfileBase.objects.create( attendee=attendee2, ) diff --git a/registrasion/tests/test_invoice.py b/registrasion/tests/test_invoice.py index 9e5b55cf..f1ed6ed0 100644 --- a/registrasion/tests/test_invoice.py +++ b/registrasion/tests/test_invoice.py @@ -484,7 +484,7 @@ class InvoiceTestCase(RegistrationCartTestCase): invoice.pay("Paying into the void.", cnval, pre_validate=False) notes = commerce.CreditNote.objects.filter(invoice=invoice.invoice) - notes = sorted(notes, key = lambda note: note.value) + notes = sorted(notes, key=lambda note: note.value) self.assertEqual(cnval, notes[0].value) self.assertEqual(val, notes[1].value) diff --git a/registrasion/views.py b/registrasion/views.py index 19417b55..f10de90f 100644 --- a/registrasion/views.py +++ b/registrasion/views.py @@ -21,7 +21,6 @@ from django.contrib import messages from django.core.exceptions import ObjectDoesNotExist from django.core.exceptions import ValidationError from django.http import Http404 -from django.shortcuts import get_object_or_404 from django.shortcuts import redirect from django.shortcuts import render @@ -42,17 +41,17 @@ class GuidedRegistrationSection(_GuidedRegistrationSection): ''' Represents a section of a guided registration page. Attributes: - title (str): The title of the section. + title (str): The title of the section. - discounts ([registrasion.contollers.discount.DiscountAndQuantity, ...]): + discounts ([registrasion.contollers.discount.DiscountAndQuantity, ...]): A list of discount objects that are available in the section. You can display ``.clause`` to show what the discount applies to, and ``.quantity`` to display the number of times that discount can be applied. - description (str): A description of the section. + description (str): A description of the section. - form (forms.Form): A form to display. + form (forms.Form): A form to display. ''' pass @@ -569,7 +568,6 @@ def invoice_access(request, access_code): user__attendee__access_code=access_code, ).order_by("-issue_time") - if not invoices: raise Http404() @@ -635,6 +633,7 @@ def _staff_only(user): ''' Returns true if the user is staff. ''' return user.is_staff + @user_passes_test(_staff_only) def manual_payment(request, invoice_id): ''' Allows staff to make manual payments or refunds on an invoice. diff --git a/setup.cfg b/setup.cfg index 257d3cd6..290fdb45 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,2 +1,2 @@ [flake8] -exclude = registrasion/migrations/*, build/* +exclude = registrasion/migrations/*, build/*, docs/*