def create_ticket(request): if request.method == 'POST': data = json.loads(request.body.decode('utf-8')) form = TicketForm(data) error = form.get_error() if error != '': error = {'id': 2, 'message': error} return HttpResponseBadRequest(json.dumps(error)) edition = Edition.objects.get(year=EDITION_YEAR) attendant = Attendant() attendant.edition = edition attendant.name = data['name'].strip() attendant.lastname = data['lastname'].strip() attendant.email = data['email'].strip() attendant.student = data['student'] attendant.identity = data['identity'].strip().upper() if attendant.student: attendant.upm_student = data['upm_student'] if attendant.upm_student: attendant.college = data['college'].strip() attendant.degree = data['degree'].strip() attendant.grade = data['grade'] attendant.phone = data['phone'].strip() # create attendant try: attendant.save() except: error = {'id': 1, 'message': 'Email ya registrado'} return HttpResponseBadRequest(json.dumps(error)) ticket = Ticket() ticket_type = TicketType.objects.get(edition__year=EDITION_YEAR, name='General') ticket.type = ticket_type ticket.attendant = attendant # create ticket ticket.save() generate_pdf(ticket) return HttpResponse('ok') else: return HttpResponseNotAllowed(permitted_methods=['POST'])