def new(request): """ List session types, create a new session, launch it and redirect the user to it's page """ api = API(request) if api.get: return api.respond( template="sessions/new.html", context={ "sessions": Session.list(user=request.user, filter={"active": True}).count(), "types": SessionType.objects.order_by("rank").all(), "images": SessionImage.objects.all(), }, ) elif api.post: session = Session.launch(user=request.user, type_id=api.required("type"), image_name=api.required("image")) return api.respond_created(url=session.url()) return api.respond_bad()