def submit_bug(request): response = pq('<response></response>') if request.method == 'POST': try: choices, initial = utils.get_priorities() form = TicketForm(choices, initial, request.POST) except utils.GadgetError as e: mail.mail_admins('FogBugz Gadget Error', e.msg) form = TicketForm(data=request.POST) if form.is_valid(): try: case = utils.submit_ticket(form.cleaned_data) except utils.GadgetError as e: mail.mail_admins('FogBugz Gadget Error', e.msg) raise RuntimeError(e.msg) response.attr('type', 'success').html(case) else: response.attr('type', 'invalid') # include validation errors in response for field, errors in form.errors.items(): for error in errors: response.append('<error field="%s">%s</error>' % (field, error)) return HttpResponse(response.outerHtml())
def forms(request): try: choices, initial = utils.get_priorities() form = TicketForm(choices, initial) except utils.GadgetError as e: mail.mail_admins('FogBugz Gadget Error', e.msg) form = TicketForm() return {'ticket_form': form}
def submit_bug(request): response = pq('<response></response>') if request.method == 'POST': try: choices, initial = utils.get_priorities() form = TicketForm(choices, initial, request.POST) except utils.GadgetError as e: mail.mail_admins('FogBugz Gadget Error', e.msg) form = TicketForm(data=request.POST) if form.is_valid(): try: case = utils.submit_ticket(form.cleaned_data) except utils.GadgetError as e: mail.mail_admins('FogBugz Gadget Error', e.msg) raise RuntimeError(e.msg) response.attr('type', 'success').html(case)