From 77ef358fefc2d1172a8a8b38ad2ca1655633e776 Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Sat, 17 Dec 2022 17:02:42 -0700 Subject: Allow markdown on signup text --- users/views/admin/settings.py | 2 +- users/views/auth.py | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'users') diff --git a/users/views/admin/settings.py b/users/views/admin/settings.py index f72c0bd..d87fb7e 100644 --- a/users/views/admin/settings.py +++ b/users/views/admin/settings.py @@ -77,7 +77,7 @@ class BasicSettings(AdminSettingsPage): }, "signup_text": { "title": "Signup Page Text", - "help_text": "Shown above the signup form", + "help_text": "Shown above the signup form.\nUse Markdown for formatting.", "display": "textarea", }, "restricted_usernames": { diff --git a/users/views/auth.py b/users/views/auth.py index 02c75e6..546aa49 100644 --- a/users/views/auth.py +++ b/users/views/auth.py @@ -1,9 +1,11 @@ +import markdown_it from django import forms from django.conf import settings from django.contrib.auth.forms import AuthenticationForm from django.contrib.auth.password_validation import validate_password from django.contrib.auth.views import LoginView, LogoutView from django.shortcuts import get_object_or_404, render +from django.utils.safestring import mark_safe from django.utils.translation import gettext_lazy as _ from django.views.generic import FormView @@ -110,6 +112,14 @@ class Signup(FormView): {"email": user.email}, ) + def get_context_data(self, **kwargs): + context = super().get_context_data(**kwargs) + if Config.system.signup_text: + context["signup_text"] = mark_safe( + markdown_it.MarkdownIt().render(Config.system.signup_text) + ) + return context + class TriggerReset(FormView): -- cgit v1.2.3