Staff can now check out an invoice for a user
This commit is contained in:
		
							parent
							
								
									c2065dd4b9
								
							
						
					
					
						commit
						1152e185d1
					
				
					 2 changed files with 15 additions and 2 deletions
				
			
		|  | @ -21,6 +21,7 @@ public = [ | ||||||
|     url(r"^amend/([0-9]+)$", amend_registration, name="amend_registration"), |     url(r"^amend/([0-9]+)$", amend_registration, name="amend_registration"), | ||||||
|     url(r"^category/([0-9]+)$", product_category, name="product_category"), |     url(r"^category/([0-9]+)$", product_category, name="product_category"), | ||||||
|     url(r"^checkout$", checkout, name="checkout"), |     url(r"^checkout$", checkout, name="checkout"), | ||||||
|  |     url(r"^checkout/([0-9]+)$", checkout, name="checkout"), | ||||||
|     url(r"^credit_note/([0-9]+)$", credit_note, name="credit_note"), |     url(r"^credit_note/([0-9]+)$", credit_note, name="credit_note"), | ||||||
|     url(r"^invoice/([0-9]+)$", invoice, name="invoice"), |     url(r"^invoice/([0-9]+)$", invoice, name="invoice"), | ||||||
|     url(r"^invoice/([0-9]+)/([A-Z0-9]+)$", invoice, name="invoice"), |     url(r"^invoice/([0-9]+)/([A-Z0-9]+)$", invoice, name="invoice"), | ||||||
|  |  | ||||||
|  | @ -506,7 +506,7 @@ def _handle_voucher(request, prefix): | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| @login_required | @login_required | ||||||
| def checkout(request): | def checkout(request, user_id=None): | ||||||
|     ''' Runs the checkout process for the current cart. |     ''' Runs the checkout process for the current cart. | ||||||
| 
 | 
 | ||||||
|     If the query string contains ``fix_errors=true``, Registrasion will attempt |     If the query string contains ``fix_errors=true``, Registrasion will attempt | ||||||
|  | @ -514,6 +514,10 @@ def checkout(request): | ||||||
|     cancelling expired discounts and vouchers, and removing any unavailable |     cancelling expired discounts and vouchers, and removing any unavailable | ||||||
|     products. |     products. | ||||||
| 
 | 
 | ||||||
|  |     Arguments: | ||||||
|  |         user_id (castable to int): | ||||||
|  |             If the requesting user is staff, then the user ID can be used to | ||||||
|  |             run checkout for another user. | ||||||
|     Returns: |     Returns: | ||||||
|         render or redirect: |         render or redirect: | ||||||
|             If the invoice is generated successfully, or there's already a |             If the invoice is generated successfully, or there's already a | ||||||
|  | @ -527,7 +531,15 @@ def checkout(request): | ||||||
| 
 | 
 | ||||||
|     ''' |     ''' | ||||||
| 
 | 
 | ||||||
|     current_cart = CartController.for_user(request.user) |     if user_id is not None: | ||||||
|  |         if request.user.is_staff: | ||||||
|  |             user = User.objects.get(id=int(user_id)) | ||||||
|  |         else: | ||||||
|  |             raise Http404() | ||||||
|  |     else: | ||||||
|  |         user = request.user | ||||||
|  | 
 | ||||||
|  |     current_cart = CartController.for_user(user) | ||||||
| 
 | 
 | ||||||
|     if "fix_errors" in request.GET and request.GET["fix_errors"] == "true": |     if "fix_errors" in request.GET and request.GET["fix_errors"] == "true": | ||||||
|         current_cart.fix_simple_errors() |         current_cart.fix_simple_errors() | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Christopher Neugebauer
						Christopher Neugebauer