OAuth: Add description

This commit is contained in:
rubenwardy 2023-11-07 22:57:19 +00:00
parent d4b1344f6a
commit f74931633c
3 changed files with 11 additions and 3 deletions

@ -15,15 +15,15 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>. # along with this program. If not, see <https://www.gnu.org/licenses/>.
import urllib.parse as urlparse import urllib.parse as urlparse
from typing import Optional
from urllib.parse import urlencode from urllib.parse import urlencode
import typing
from flask import Blueprint, render_template, redirect, url_for, request, jsonify, abort, make_response, flash from flask import Blueprint, render_template, redirect, url_for, request, jsonify, abort, make_response, flash
from flask_babel import lazy_gettext, gettext from flask_babel import lazy_gettext, gettext
from flask_login import current_user, login_required from flask_login import current_user, login_required
from flask_wtf import FlaskForm from flask_wtf import FlaskForm
from wtforms import StringField, SubmitField, URLField from wtforms import StringField, SubmitField, URLField
from wtforms.validators import InputRequired, Length from wtforms.validators import InputRequired, Length, Optional
from app import csrf from app import csrf
from app.blueprints.users.settings import get_setting_tabs from app.blueprints.users.settings import get_setting_tabs
@ -33,7 +33,7 @@ from app.utils import random_string, add_audit_log
bp = Blueprint("oauth", __name__) bp = Blueprint("oauth", __name__)
def build_redirect_url(url: str, code: str, state: Optional[str]): def build_redirect_url(url: str, code: str, state: typing.Optional[str]):
params = {"code": code} params = {"code": code}
if state is not None: if state is not None:
params["state"] = state params["state"] = state
@ -165,6 +165,7 @@ def list_clients(username):
class OAuthClientForm(FlaskForm): class OAuthClientForm(FlaskForm):
title = StringField(lazy_gettext("Title"), [InputRequired(), Length(5, 30)]) title = StringField(lazy_gettext("Title"), [InputRequired(), Length(5, 30)])
description = StringField(lazy_gettext("Description"), [Optional()])
redirect_url = URLField(lazy_gettext("Redirect URL"), [InputRequired(), Length(5, 123)]) redirect_url = URLField(lazy_gettext("Redirect URL"), [InputRequired(), Length(5, 123)])
submit = SubmitField(lazy_gettext("Save")) submit = SubmitField(lazy_gettext("Save"))

@ -80,6 +80,12 @@
</div> </div>
</article> </article>
</form> </form>
{% if client.description %}
<div class="alert alert-secondary mt-5 w-50 mx-auto">
<h3 class="mt-0 mb-2">{{ _("About %(title)s", title=client.title) }}</h3>
<p class="mb-0">{{ client.description }}</p>
</div>
{% endif %}
{% if not client.approved %} {% if not client.approved %}
<aside class="alert alert-danger mt-5 w-50 mx-auto"> <aside class="alert alert-danger mt-5 w-50 mx-auto">
<h3 class="mt-0">{{ _("Application isn't approved yet") }}</h3> <h3 class="mt-0">{{ _("Application isn't approved yet") }}</h3>

@ -63,6 +63,7 @@
{{ form.hidden_tag() }} {{ form.hidden_tag() }}
{{ render_field(form.title) }} {{ render_field(form.title) }}
{{ render_field(form.description, hint=_("Shown to users when you request access to their account")) }}
{{ render_field(form.redirect_url) }} {{ render_field(form.redirect_url) }}
{{ render_submit_field(form.submit) }} {{ render_submit_field(form.submit) }}