Alter guided_registrasion logic to handle new page
This is required for the new method of accepting terms and conditions
This commit is contained in:
		
							parent
							
								
									b8dcbd89b7
								
							
						
					
					
						commit
						362ed28be2
					
				
					 2 changed files with 29 additions and 9 deletions
				
			
		
							
								
								
									
										6
									
								
								vendor/registrasion/registrasion/forms.py
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								vendor/registrasion/registrasion/forms.py
									
										
									
									
										vendored
									
									
								
							| 
						 | 
					@ -262,8 +262,12 @@ class _CheckboxProductsForm(_ProductsForm):
 | 
				
			||||||
    @classmethod
 | 
					    @classmethod
 | 
				
			||||||
    def set_fields(cls, category, products):
 | 
					    def set_fields(cls, category, products):
 | 
				
			||||||
        for product in products:
 | 
					        for product in products:
 | 
				
			||||||
 | 
					            if product.price:
 | 
				
			||||||
 | 
					                label='%s -- $%s' % (product.name, product.price)
 | 
				
			||||||
 | 
					            else:
 | 
				
			||||||
 | 
					                label='%s' % (product.name)
 | 
				
			||||||
            field = forms.BooleanField(
 | 
					            field = forms.BooleanField(
 | 
				
			||||||
                label='%s -- $%s' % (product.name, product.price),
 | 
					                label=label,
 | 
				
			||||||
                required=False,
 | 
					                required=False,
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
            cls.base_fields[cls.field_name(product)] = field
 | 
					            cls.base_fields[cls.field_name(product)] = field
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										32
									
								
								vendor/registrasion/registrasion/views.py
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										32
									
								
								vendor/registrasion/registrasion/views.py
									
										
									
									
										vendored
									
									
								
							| 
						 | 
					@ -1,6 +1,9 @@
 | 
				
			||||||
import datetime
 | 
					import datetime
 | 
				
			||||||
import zipfile
 | 
					import zipfile
 | 
				
			||||||
import os
 | 
					import os
 | 
				
			||||||
 | 
					import logging
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					from django.contrib import messages
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from . import forms
 | 
					from . import forms
 | 
				
			||||||
from . import util
 | 
					from . import util
 | 
				
			||||||
| 
						 | 
					@ -43,7 +46,6 @@ from registrasion.contrib.badger import (
 | 
				
			||||||
                                         InvalidTicketChoiceError
 | 
					                                         InvalidTicketChoiceError
 | 
				
			||||||
                                         )
 | 
					                                         )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
_GuidedRegistrationSection = namedtuple(
 | 
					_GuidedRegistrationSection = namedtuple(
 | 
				
			||||||
    "GuidedRegistrationSection",
 | 
					    "GuidedRegistrationSection",
 | 
				
			||||||
    (
 | 
					    (
 | 
				
			||||||
| 
						 | 
					@ -107,9 +109,10 @@ def guided_registration(request, page_number=None):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    PAGE_PROFILE = 1
 | 
					    PAGE_PROFILE = 1
 | 
				
			||||||
    PAGE_TICKET = 2
 | 
					    PAGE_TICKET = 2
 | 
				
			||||||
    PAGE_PRODUCTS = 3
 | 
					    PAGE_TERMS = 3
 | 
				
			||||||
    PAGE_PRODUCTS_MAX = 4
 | 
					    PAGE_PRODUCTS = 4
 | 
				
			||||||
    TOTAL_PAGES = 4
 | 
					    PAGE_PRODUCTS_MAX = 5
 | 
				
			||||||
 | 
					    TOTAL_PAGES = 5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ticket_category = inventory.Category.objects.get(
 | 
					    ticket_category = inventory.Category.objects.get(
 | 
				
			||||||
        id=settings.TICKET_PRODUCT_CATEGORY
 | 
					        id=settings.TICKET_PRODUCT_CATEGORY
 | 
				
			||||||
| 
						 | 
					@ -136,12 +139,18 @@ def guided_registration(request, page_number=None):
 | 
				
			||||||
        products = inventory.Product.objects.filter(
 | 
					        products = inventory.Product.objects.filter(
 | 
				
			||||||
            productitem__cart=cart.cart
 | 
					            productitem__cart=cart.cart
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        products = products.filter(category=ticket_category)
 | 
					        tickets = products.filter(category=ticket_category)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if products.count() == 0:
 | 
					        logger.debug("tickets count %s" % tickets.count())
 | 
				
			||||||
 | 
					        logger.debug("products: %s" % products.count())
 | 
				
			||||||
 | 
					        if tickets.count() == 0:
 | 
				
			||||||
            # If no ticket, they can only see the profile or ticket page.
 | 
					            # If no ticket, they can only see the profile or ticket page.
 | 
				
			||||||
            max_page = PAGE_TICKET
 | 
					            max_page = PAGE_TICKET
 | 
				
			||||||
            redirect_page = PAGE_TICKET
 | 
					            redirect_page = PAGE_TICKET
 | 
				
			||||||
 | 
					        elif products.count() == 1:
 | 
				
			||||||
 | 
					            # They have a ticket, now to accept terms and conditions
 | 
				
			||||||
 | 
					            max_page = PAGE_TERMS
 | 
				
			||||||
 | 
					            redirect_page = PAGE_TERMS
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            # If there's a ticket, they should *see* the general products page#
 | 
					            # If there's a ticket, they should *see* the general products page#
 | 
				
			||||||
            # but be able to go to the overflow page if needs be.
 | 
					            # but be able to go to the overflow page if needs be.
 | 
				
			||||||
| 
						 | 
					@ -180,6 +189,12 @@ def guided_registration(request, page_number=None):
 | 
				
			||||||
            sections = _guided_registration_products(
 | 
					            sections = _guided_registration_products(
 | 
				
			||||||
                request, GUIDED_MODE_TICKETS_ONLY
 | 
					                request, GUIDED_MODE_TICKETS_ONLY
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
 | 
					        elif page_number == PAGE_TERMS:
 | 
				
			||||||
 | 
					            # Accept terms
 | 
				
			||||||
 | 
					            title = "Terms and Conditions"
 | 
				
			||||||
 | 
					            sections = _guided_registration_products(
 | 
				
			||||||
 | 
					                request, GUIDED_MODE_TERMS
 | 
				
			||||||
 | 
					            )
 | 
				
			||||||
        elif page_number == PAGE_PRODUCTS:
 | 
					        elif page_number == PAGE_PRODUCTS:
 | 
				
			||||||
            # Select additional items
 | 
					            # Select additional items
 | 
				
			||||||
            title = "Additional items"
 | 
					            title = "Additional items"
 | 
				
			||||||
| 
						 | 
					@ -219,8 +234,9 @@ def guided_registration(request, page_number=None):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GUIDED_MODE_TICKETS_ONLY = 2
 | 
					GUIDED_MODE_TICKETS_ONLY = 2
 | 
				
			||||||
GUIDED_MODE_ALL_ADDITIONAL = 3
 | 
					GUIDED_MODE_TERMS = 3
 | 
				
			||||||
GUIDED_MODE_EXCLUDE_COMPLETE = 4
 | 
					GUIDED_MODE_ALL_ADDITIONAL = 4
 | 
				
			||||||
 | 
					GUIDED_MODE_EXCLUDE_COMPLETE =5
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@login_required
 | 
					@login_required
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue