Create /boardingpass
This commit is contained in:
		
							parent
							
								
									9abea97625
								
							
						
					
					
						commit
						79085a798a
					
				
					 3 changed files with 28 additions and 1 deletions
				
			
		|  | @ -30,6 +30,7 @@ urlpatterns = [ | ||||||
|     url(r'^pages/', include('django.contrib.flatpages.urls')), |     url(r'^pages/', include('django.contrib.flatpages.urls')), | ||||||
| 
 | 
 | ||||||
|     url(r'^dashboard/', RedirectView.as_view(url='/')), |     url(r'^dashboard/', RedirectView.as_view(url='/')), | ||||||
|  |     url(r'^boardingpass', RedirectView.as_view(pattern_name="regidesk:boardingpass")), | ||||||
|     url(r'^$', symposion.views.dashboard, name="dashboard"), |     url(r'^$', symposion.views.dashboard, name="dashboard"), | ||||||
| 
 | 
 | ||||||
| ] | ] | ||||||
|  |  | ||||||
							
								
								
									
										2
									
								
								vendor/regidesk/regidesk/urls.py
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								vendor/regidesk/regidesk/urls.py
									
										
									
									
										vendored
									
									
								
							|  | @ -4,9 +4,11 @@ from regidesk import views | ||||||
| 
 | 
 | ||||||
| app_name='regidesk' | app_name='regidesk' | ||||||
| urlpatterns = [ | urlpatterns = [ | ||||||
|  |     url(r"^boardingpass", views.boardingpass, name="boardingpass"), | ||||||
|     url(r"^([A-Z0-9]{6}$)", views.boarding_overview, name="checkin_detail"), |     url(r"^([A-Z0-9]{6}$)", views.boarding_overview, name="checkin_detail"), | ||||||
|     url(r"^([A-Z0-9]{6}).png$", views.checkin_png, name="checkin_png"), |     url(r"^([A-Z0-9]{6}).png$", views.checkin_png, name="checkin_png"), | ||||||
|     url(r"^overview/([a-z]+)?$", views.boarding_overview, name="boarding_overview"), |     url(r"^overview/([a-z]+)?$", views.boarding_overview, name="boarding_overview"), | ||||||
|     url(r"^prepare_passes/", views.boarding_prepare, name="boarding_prepare"), |     url(r"^prepare_passes/", views.boarding_prepare, name="boarding_prepare"), | ||||||
|     url(r"^send_passes/", views.boarding_send, name="boarding_send") |     url(r"^send_passes/", views.boarding_send, name="boarding_send") | ||||||
| ] | ] | ||||||
|  | . | ||||||
|  |  | ||||||
							
								
								
									
										26
									
								
								vendor/regidesk/regidesk/views.py
									
										
									
									
										vendored
									
									
								
							
							
						
						
									
										26
									
								
								vendor/regidesk/regidesk/views.py
									
										
									
									
										vendored
									
									
								
							|  | @ -35,6 +35,30 @@ def _staff_only(user): | ||||||
|     ''' Returns true if the user is staff. ''' |     ''' Returns true if the user is staff. ''' | ||||||
|     return user.is_staff |     return user.is_staff | ||||||
| 
 | 
 | ||||||
|  | @login_required | ||||||
|  | def boardingpass(request): | ||||||
|  | 
 | ||||||
|  |     user=request.user | ||||||
|  |     checkin = CheckIn.objects.get_or_create(user=user)[0] | ||||||
|  |     if not checkin.boardingpass: | ||||||
|  |         messages.add_message(request, messages.WARNING, 'Your boarding pass has not been prepared. Please try again later.') | ||||||
|  |         return redirect('/') | ||||||
|  | 
 | ||||||
|  |     boardingpass = checkin.boardingpass.html_body | ||||||
|  |     qrcode_url = request.build_absolute_uri(reverse("regidesk:checkin_png", args=[checkin.code])) | ||||||
|  |     qrcode = checkin.qrcode | ||||||
|  |     qrcode_string ='<img src="data:image/png;base64,' + qrcode + '"/>' | ||||||
|  |     not_qrcode_string = '<img src="cid:qrcode.png"/>' | ||||||
|  | 
 | ||||||
|  |     boardingpass = boardingpass.replace(not_qrcode_string, qrcode_string) | ||||||
|  |     ctx = { 'attendee': user.attendee, | ||||||
|  |         'boardingpass': checkin.boardingpass.html_body | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     response = render(request, "regidesk/boardingpass.html", ctx) | ||||||
|  |     return response | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| @permission_required("regidesk.view_boarding_pass") | @permission_required("regidesk.view_boarding_pass") | ||||||
| def boarding_overview(request, boarding_state="pending"): | def boarding_overview(request, boarding_state="pending"): | ||||||
| 
 | 
 | ||||||
|  | @ -177,7 +201,7 @@ def boarding_send(request): | ||||||
|             "user": user, |             "user": user, | ||||||
|             "checkin": user.checkin, |             "checkin": user.checkin, | ||||||
|             "code": user.checkin.code, |             "code": user.checkin.code, | ||||||
|             "qrcode": '<img src="cid:qrcode.png"/>', |             "qrcode": '<img src="cid:qrcode.png" alt="' + user.checkin.code + '"/>', | ||||||
|             "qrcode_url": request.build_absolute_uri( |             "qrcode_url": request.build_absolute_uri( | ||||||
|                 reverse("regidesk:checkin_png", args=[user.checkin.code])), |                 reverse("regidesk:checkin_png", args=[user.checkin.code])), | ||||||
|         } |         } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 James Polley
						James Polley