def add_email(request): if request.method == "POST": form = AddEmailForm(request.POST) if form.is_valid(): channel = Channel(project=request.project, kind="email") channel.value = json.dumps({ "value": form.cleaned_data["value"], "up": form.cleaned_data["up"], "down": form.cleaned_data["down"] }) channel.save() channel.assign_all_checks() if settings.EMAIL_USE_VERIFICATION: channel.send_verify_link() else: # In self-hosted setting, administator has the option to # disable the email verification step. channel.email_verified = True channel.save() return redirect("hc-channels") else: form = AddEmailForm() ctx = { "page": "channels", "project": request.project, "use_verification": settings.EMAIL_USE_VERIFICATION, "form": form } return render(request, "integrations/add_email.html", ctx)
def add_email(request): if request.method == "POST": form = AddEmailForm(request.POST) if form.is_valid(): channel = Channel(user=request.team.user, kind="email") channel.value = form.cleaned_data["value"] channel.save() channel.assign_all_checks() channel.send_verify_link() return redirect("hc-channels") else: form = AddEmailForm() ctx = {"page": "channels", "form": form} return render(request, "integrations/add_email.html", ctx)
def add_email(request, code): project = _get_project_for_user(request, code) if request.method == "POST": form = AddEmailForm(request.POST) if form.is_valid(): channel = Channel(project=project, kind="email") channel.value = json.dumps( { "value": form.cleaned_data["value"], "up": form.cleaned_data["up"], "down": form.cleaned_data["down"], } ) channel.save() channel.assign_all_checks() is_own_email = form.cleaned_data["value"] == request.user.email if is_own_email or not settings.EMAIL_USE_VERIFICATION: # If user is subscribing *their own* address # we can skip the verification step. # Additionally, in self-hosted setting, administator has the # option to disable the email verification step altogether. channel.email_verified = True channel.save() else: channel.send_verify_link() return redirect("hc-p-channels", project.code) else: form = AddEmailForm() ctx = { "page": "channels", "project": project, "use_verification": settings.EMAIL_USE_VERIFICATION, "form": form, } return render(request, "integrations/add_email.html", ctx)