diff --git a/registrasion/models.py b/registrasion/models.py index 80e0141c..8d9a7127 100644 --- a/registrasion/models.py +++ b/registrasion/models.py @@ -4,7 +4,6 @@ import datetime import itertools from django.core.exceptions import ValidationError -from django.core.exceptions import ObjectDoesNotExist from django.contrib.auth.models import User from django.db import models from django.db.models import F, Q diff --git a/registrasion/templatetags/registrasion_tags.py b/registrasion/templatetags/registrasion_tags.py index b7ae5dd5..ac9fa0ca 100644 --- a/registrasion/templatetags/registrasion_tags.py +++ b/registrasion/templatetags/registrasion_tags.py @@ -50,6 +50,7 @@ def items_purchased(context): out.append(ProductAndQuantity(product, quantity)) return out + @register.filter def multiply(value, arg): ''' Multiplies value by arg ''' diff --git a/registrasion/tests/test_discount.py b/registrasion/tests/test_discount.py index 5f536e9b..f2eb36bb 100644 --- a/registrasion/tests/test_discount.py +++ b/registrasion/tests/test_discount.py @@ -382,22 +382,34 @@ class DiscountTestCase(RegistrationCartTestCase): self.add_discount_prod_1_includes_prod_2(quantity=2) cart = CartController.for_user(self.USER_1) cart.add_to_cart(self.PROD_1, 1) # Enable the discount - discounts = discount.available_discounts(self.USER_1, [], [self.PROD_2]) + discounts = discount.available_discounts( + self.USER_1, + [], + [self.PROD_2], + ) self.assertEqual(1, len(discounts)) cart.cart.active = False # Keep discount enabled cart.cart.save() cart = CartController.for_user(self.USER_1) - cart.add_to_cart(self.PROD_2, 2) # The discount will be exhausted + cart.add_to_cart(self.PROD_2, 2) # The discount will be exhausted cart.cart.active = False cart.cart.save() - discounts = discount.available_discounts(self.USER_1, [], [self.PROD_2]) + discounts = discount.available_discounts( + self.USER_1, + [], + [self.PROD_2], + ) self.assertEqual(0, len(discounts)) cart.cart.released = True cart.cart.save() - discounts = discount.available_discounts(self.USER_1, [], [self.PROD_2]) + discounts = discount.available_discounts( + self.USER_1, + [], + [self.PROD_2], + ) self.assertEqual(1, len(discounts)) diff --git a/registrasion/tests/test_refund.py b/registrasion/tests/test_refund.py index 14811b78..0fe0648f 100644 --- a/registrasion/tests/test_refund.py +++ b/registrasion/tests/test_refund.py @@ -1,10 +1,5 @@ -import datetime import pytz -from decimal import Decimal -from django.core.exceptions import ValidationError - -from registrasion import models as rego from registrasion.controllers.cart import CartController from registrasion.controllers.invoice import InvoiceController diff --git a/registrasion/views.py b/registrasion/views.py index edd619ff..16733840 100644 --- a/registrasion/views.py +++ b/registrasion/views.py @@ -1,4 +1,3 @@ -import symposion.speakers import sys from registrasion import forms @@ -34,12 +33,14 @@ GuidedRegistrationSection.__new__.__defaults__ = ( (None,) * len(GuidedRegistrationSection._fields) ) + def get_form(name): dot = name.rindex(".") mod_name, form_name = name[:dot], name[dot + 1:] __import__(mod_name) return getattr(sys.modules[mod_name], form_name) + @login_required def guided_registration(request, page_id=0): ''' Goes through the registration process in order, @@ -50,7 +51,6 @@ def guided_registration(request, page_id=0): through each category one by one ''' - dashboard = redirect("dashboard") next_step = redirect("guided_registration") sections = [] @@ -71,7 +71,8 @@ def guided_registration(request, page_id=0): profile = None if not profile: - # TODO: if voucherform is invalid, make sure that profileform does not save + # TODO: if voucherform is invalid, make sure + # that profileform does not save voucher_form, voucher_handled = handle_voucher(request, "voucher") profile_form, profile_handled = handle_profile(request, "profile") @@ -137,7 +138,6 @@ def guided_registration(request, page_id=0): # This is only saved if we pass each form with no errors. attendee.highest_complete_category = category.id - if sections and request.method == "POST": for section in sections: if section.form.errors: @@ -150,7 +150,7 @@ def guided_registration(request, page_id=0): data = { "current_step": current_step, "sections": sections, - "title" : title, + "title": title, "total_steps": 3, } return render(request, "registrasion/guided_registration.html", data) @@ -165,6 +165,7 @@ def edit_profile(request): } return render(request, "registrasion/profile_form.html", data) + def handle_profile(request, prefix): ''' Returns a profile form instance, and a boolean which is true if the form was handled. ''' @@ -185,7 +186,6 @@ def handle_profile(request, prefix): except ObjectDoesNotExist: speaker_name = None - name_field = ProfileForm.Meta.model.name_field() initial = {} if name_field is not None: @@ -206,6 +206,7 @@ def handle_profile(request, prefix): return form, handled + @login_required def product_category(request, category_id): ''' Registration selections form for a specific category of items. diff --git a/setup.py b/setup.py index 77082b55..6686b6fb 100644 --- a/setup.py +++ b/setup.py @@ -20,7 +20,8 @@ setup( author="Christopher Neugebauer", author_email="_@chrisjrn.com", version=registrasion.__version__, - description="A registration app for the Symposion conference management system.", + description="A registration app for the Symposion conference management " + "system.", url="http://github.com/chrisjrn/registrasion/", packages=find_packages(), include_package_data=True,