- else:
- errors.append('Incorrect username and/or password.')
- return render_to_response(template_name, {'errors': errors}, context_instance=RequestContext(request))
+ else:
+ if service is None:
+ # Try and pull the service off the session
+ service = request.session.pop('service', service)
+
+ if service is None:
+ # Normal internal success redirection.
+ logging.debug('Redirecting to %s', success_redirect)
+ return HttpResponseRedirect(success_redirect)
+ else:
+ # Create a service ticket and redirect to the service.
+ ticket = create_service_ticket(request.user, service)
+ if 'service' in request.session:
+ # Don't need this any more.
+ del request.session['service']
+
+ url = _build_service_url(service, ticket.ticket)
+ logging.debug('Redirecting to %s', url)
+ return HttpResponseRedirect(url)
+
+ logging.debug('Rendering response on %s, merge is %s', template_name, merge)
+ return render_to_response(template_name, {'form': form, 'errors': errors}, context_instance=RequestContext(request))