Adds ability for staff to extend a user’s reservations
This commit is contained in:
		
							parent
							
								
									d31d812001
								
							
						
					
					
						commit
						6dbc303e7c
					
				
					 3 changed files with 25 additions and 0 deletions
				
			
		|  | @ -15,6 +15,7 @@ from django.db.models import Case, When, Value | |||
| from django.db.models.fields.related import RelatedField | ||||
| from django.shortcuts import render | ||||
| 
 | ||||
| from registrasion.controllers.cart import CartController | ||||
| from registrasion.controllers.item import ItemController | ||||
| from registrasion.models import commerce | ||||
| from registrasion.models import people | ||||
|  | @ -417,6 +418,10 @@ def attendee(request, form, user_id=None): | |||
|         value = getattr(profile, field.name) | ||||
|         profile_data.append((field.verbose_name, value)) | ||||
| 
 | ||||
|     cart = CartController.for_user(attendee.user) | ||||
|     reservation = cart.cart.reservation_duration + cart.cart.time_last_updated | ||||
|     profile_data.append(("Current cart reserved until", reservation)) | ||||
| 
 | ||||
|     reports.append(ListReport("Profile", ["", ""], profile_data)) | ||||
| 
 | ||||
|     links = [] | ||||
|  | @ -424,6 +429,11 @@ def attendee(request, form, user_id=None): | |||
|         reverse(views.amend_registration, args=[user_id]), | ||||
|         "Amend current cart", | ||||
|     )) | ||||
|     links.append(( | ||||
|         reverse(views.extend_reservation, args=[user_id]), | ||||
|         "Extend reservation", | ||||
|     )) | ||||
| 
 | ||||
|     reports.append(Links("Actions for " + name, links)) | ||||
| 
 | ||||
|     # Paid and pending  products | ||||
|  |  | |||
|  | @ -8,6 +8,7 @@ from .views import ( | |||
|     checkout, | ||||
|     credit_note, | ||||
|     edit_profile, | ||||
|     extend_reservation, | ||||
|     guided_registration, | ||||
|     invoice, | ||||
|     invoice_access, | ||||
|  | @ -24,6 +25,7 @@ public = [ | |||
|     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"^extend/([0-9]+)$", extend_reservation, name="extend_reservation"), | ||||
|     url(r"^invoice/([0-9]+)$", invoice, name="invoice"), | ||||
|     url(r"^invoice/([0-9]+)/([A-Z0-9]+)$", invoice, name="invoice"), | ||||
|     url(r"^invoice/([0-9]+)/manual_payment$", | ||||
|  |  | |||
|  | @ -1,3 +1,4 @@ | |||
| import datetime | ||||
| import sys | ||||
| import util | ||||
| 
 | ||||
|  | @ -903,3 +904,15 @@ def amend_registration(request, user_id): | |||
|     } | ||||
| 
 | ||||
|     return render(request, "registrasion/amend_registration.html", data) | ||||
| 
 | ||||
| 
 | ||||
| @user_passes_test(_staff_only) | ||||
| def extend_reservation(request, user_id, days=7): | ||||
|     ''' Allows staff to extend the reservation on a given user's cart. | ||||
|     ''' | ||||
| 
 | ||||
|     user = User.objects.get(id=int(user_id)) | ||||
|     cart = CartController.for_user(user) | ||||
|     cart.extend_reservation(datetime.timedelta(days=days)) | ||||
| 
 | ||||
|     return redirect(request.META["HTTP_REFERER"]) | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Christopher Neugebauer
						Christopher Neugebauer