project/scipycon/user/views.py
changeset 324 1ad0be6866d6
parent 320 9414017a5589
child 325 1255f442e4f8
equal deleted inserted replaced
323:5d8dd7139b49 324:1ad0be6866d6
    36 
    36 
    37 #Pdf badge generation
    37 #Pdf badge generation
    38 from reportlab.pdfgen import canvas
    38 from reportlab.pdfgen import canvas
    39 from reportlab.lib.units import cm
    39 from reportlab.lib.units import cm
    40 from reportlab.platypus import  Image as reportlabImage
    40 from reportlab.platypus import  Image as reportlabImage
       
    41 from django.core.exceptions import ObjectDoesNotExist
    41 
    42 
    42 
    43 
    43 @login_required
    44 @login_required
    44 def account(request, scope, template_name="user/account.html"):
    45 def account(request, scope, template_name="user/account.html"):
    45     """Displays the main screen of the current user's account.
    46     """Displays the main screen of the current user's account.
   336     c = canvas.Canvas(response)
   337     c = canvas.Canvas(response)
   337 
   338 
   338     ref=5*cm
   339     ref=5*cm
   339     # Draw things on the PDF. Here's where the PDF generation happens.
   340     # Draw things on the PDF. Here's where the PDF generation happens.
   340     # See the ReportLab documentation for the full list of functionality.
   341     # See the ReportLab documentation for the full list of functionality.
   341     c.rect(ref,ref,9.45*cm,6.45*cm)
   342     c.rect(ref,ref,9*cm,6*cm)
   342 
   343 
   343     im = reportlabImage("project/static/img/scipyshiny_small.png", width=1.75*cm, height=1.75*cm)
   344     im = reportlabImage("project/static/img/scipyshiny_small.png", width=1.75*cm, height=1.75*cm)
   344     im.drawOn(c,(ref+0.8*cm),(ref+4.5*cm))
   345     im.drawOn(c,(ref+0.8*cm),(ref+4.3*cm))
   345     c.setFont('Helvetica', 6)
   346     c.setFont('Helvetica', 6)
   346     c.drawString((ref+1.0*cm),(ref+4.4*cm),'scipy.in 2010') 
   347     c.drawString((ref+1.0*cm),(ref+4.2*cm),'scipy.in 2010') 
   347     c.drawString((ref+1.1*cm),(ref+4.2*cm),'Hyderabad') 
   348     c.drawString((ref+1.1*cm),(ref+4.0*cm),'Hyderabad') 
   348 
   349 
   349     c.setFont('Helvetica', 12)
   350     c.setFont('Helvetica', 14)
   350     print request.user.id
   351     print request.user.id
   351     reg_obj=Registration.objects.get(registrant=request.user.id)
   352     reg_obj=Registration.objects.get(registrant=request.user.id)
   352 
   353     c.drawString((ref+3.4*cm),(ref+4.9*cm),str(reg_obj.slug)) 
   353     c.drawString((ref+5*cm),(ref+5*cm),str(reg_obj.slug)) 
   354     
   354     c.setFont('Helvetica-Bold', 14)
   355     c.setFont('Helvetica-Bold', 14)
   355     c.drawString((ref+0.6*cm),(ref+3.5*cm),str(request.user.get_full_name()))
   356     c.drawString((ref+0.6*cm),(ref+3.4*cm),str(request.user.get_full_name()))
   356     c.setFont('Helvetica', 10)
   357     c.setFont('Helvetica', 10)
   357     c.drawString((ref+2.8*cm),(ref+2.8*cm),reg_obj.organisation)
   358     c.drawString((ref+2.8*cm),(ref+2.7*cm),reg_obj.organisation)
   358     c.setFont('Helvetica', 10)
   359     c.setFont('Helvetica', 10)
   359     try:
   360     try:
   360         c.drawString((ref+2.8*cm),(ref+2.3*cm),reg_obj.occupation.split(':')[1])
   361         c.drawString((ref+2.8*cm),(ref+2.2*cm),reg_obj.occupation.split(':')[1])
   361     except IndexError:
   362     except IndexError:
   362         c.drawString((ref+2.8*cm),(ref+2.3*cm),reg_obj.occupation)
   363         c.drawString((ref+2.8*cm),(ref+2.3*cm),reg_obj.occupation)
   363         
   364         
   364     c.setFont('Helvetica', 10)
   365     c.setFont('Helvetica', 10)
   365     c.drawString((ref+2.8*cm),(ref+1.8*cm),reg_obj.city)
   366     c.drawString((ref+2.8*cm),(ref+1.7*cm),reg_obj.city)
   366     c.setFont('Helvetica', 10)
   367     c.setFont('Helvetica', 10)
   367     c.drawString((ref+2.8*cm),(ref+1*cm),'Delegate')
   368     c.drawString((ref+2.8*cm),(ref+1*cm),'Participant')
   368 
   369     
       
   370    
       
   371     try:
       
   372         wifi_obj=Wifi.objects.get(user=request.user.id)
       
   373         c.setFont('Helvetica', 10)
       
   374         c.drawString((ref+5.6*cm),(ref+0.5*cm),wifi_obj.registration_id)
       
   375     except :
       
   376         pass
   369 
   377 
   370     
   378     
   371     # Close the PDF object cleanly, and we're done.
   379     # Close the PDF object cleanly, and we're done.
   372     c.showPage()
   380     c.showPage()
   373     c.save()
   381     c.save()