def preflight_check(request: HttpRequest) -> JsonResponse: response = { "django": True, "redis": is_redis_alive() or settings.TEST, "plugins": is_plugin_server_alive() or settings.TEST, "celery": is_celery_alive() or settings.TEST, "db": is_postgres_alive(), "initiated": Organization.objects.exists(), "cloud": settings.MULTI_TENANCY, "demo": settings.DEMO, "realm": get_instance_realm(), "available_social_auth_providers": get_available_social_auth_providers(), "can_create_org": get_can_create_org(), "email_service_available": is_email_available(with_absolute_urls=True), } if request.user.is_authenticated: response = { **response, "db_backend": settings.PRIMARY_DB.value, "available_timezones": get_available_timezones_with_offsets(), "opt_out_capture": os.environ.get("OPT_OUT_CAPTURE", False), "posthog_version": VERSION, "is_debug": settings.DEBUG, "is_event_property_usage_enabled": settings.ASYNC_EVENT_PROPERTY_USAGE, "licensed_users_available": get_licensed_users_available(), "site_url": settings.SITE_URL, "instance_preferences": settings.INSTANCE_PREFERENCES, } return JsonResponse(response)
def finish_social_signup(request): """ TODO: DEPRECATED in favor of posthog.api.signup.SocialSignupSerializer """ if not get_can_create_org(): return redirect("/login?error_code=no_new_organizations") if request.method == "POST": form = CompanyNameForm(request.POST) if form.is_valid(): request.session["organization_name"] = form.cleaned_data["companyName"] request.session["email_opt_in"] = bool(form.cleaned_data["emailOptIn"]) return redirect(reverse("social:complete", args=[request.session["backend"]])) else: form = CompanyNameForm() return render(request, "signup_to_organization_company.html", {"user_name": request.session["user_name"]})
def has_permission(self, *args, **kwargs) -> bool: return get_can_create_org()