Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion conditional/blueprints/major_project_submission.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
import json
import os

import html
import markdown

from flask import Blueprint
from flask import request
from flask import jsonify
Expand Down Expand Up @@ -52,7 +55,7 @@ def display_major_project(user_dict=None):
"tldr": p.tldr,
"time_spent": p.time_spent,
"skills": p.skills,
"desc": p.description,
"desc": markdown.markdown(html.escape(p.description)),
"links": [] if p.links is None else list(filter(None, p.links.split("\n"))),
"status": p.status,
"is_owner": bool(user_dict["username"] == p.uid),
Expand Down
2 changes: 1 addition & 1 deletion conditional/templates/major_project_submission.html
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@ <h5><strong>Links</strong></h5>
<div class="row">
<div class="col-md-12 ">
<h5><strong>Description</strong></h5>
<p class="mb-0 h6 line-med text-wrap">{{p['desc']}}</p>
<p class="mb-0 h6 line-med text-wrap">{{p['desc'] | safe}}</p>
</div>
</div>

Expand Down
1 change: 1 addition & 0 deletions requirements.in
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,4 @@ structlog~=25.5.0
Werkzeug~=3.1.6
wrapt~=2.1.2
click~=8.1
markdown~=3.10.3
34 changes: 18 additions & 16 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,22 @@ botocore==1.35.99
# -r requirements.in
# boto3
# s3transfer
build==1.5.0
build==1.6.1
# via pip-tools
certifi==2026.7.22
# via
# requests
# sentry-sdk
cffi==2.1.1
# via cryptography
charset-normalizer==3.4.9
charset-normalizer==3.5.1
# via requests
click==8.4.2
# via
# -r requirements.in
# flask
# pip-tools
cryptography==50.0.0
cryptography==50.0.1
# via oic
csh-ldap==2.5.8
# via -r requirements.in
Expand Down Expand Up @@ -67,11 +67,11 @@ flask-sqlalchemy==3.1.1
# flask-migrate
future==1.0.0
# via pyjwkest
greenlet==3.5.4
greenlet==3.5.6
# via sqlalchemy
gunicorn==25.3.0
# via -r requirements.in
idna==3.18
idna==3.20
# via requests
importlib-resources==7.1.0
# via flask-pyoidc
Expand All @@ -98,6 +98,8 @@ mako==1.3.12
# -r requirements.in
# alembic
# oic
markdown==3.10.3
# via -r requirements.in
markupsafe==3.0.3
# via
# -r requirements.in
Expand All @@ -123,9 +125,9 @@ pip==26.2.1
# via pip-tools
pip-tools==7.5.3
# via -r requirements.in
platformdirs==4.11.1
platformdirs==4.11.11
# via pylint
psycopg2-binary==2.9.12
psycopg2-binary==2.9.13
# via -r requirements.in
pyasn1==0.6.4
# via
Expand All @@ -139,23 +141,23 @@ pycryptodomex==3.23.0
# via
# oic
# pyjwkest
pydantic==2.13.4
pydantic==2.13.5
# via pydantic-settings
pydantic-core==2.46.4
pydantic-core==2.46.5
# via pydantic
pydantic-settings==2.15.0
# via oic
pyjwkest==1.4.4
# via oic
pylint==3.3.9
# via -r requirements.in
pyproject-hooks==1.2.0
pyproject-hooks==1.3.3
# via
# build
# pip-tools
python-dateutil==2.9.0.post0
# via botocore
python-dotenv==1.2.2
python-dotenv==1.2.3
# via pydantic-settings
python-editor==1.0.4
# via -r requirements.in
Expand All @@ -170,14 +172,14 @@ s3transfer==0.10.4
# via boto3
sentry-sdk==2.63.0
# via -r requirements.in
setuptools==83.0.0
setuptools==84.0.0
# via pip-tools
six==1.17.0
# via
# -r requirements.in
# pyjwkest
# python-dateutil
sqlalchemy==2.0.51
sqlalchemy==2.0.54
# via
# -r requirements.in
# alembic
Expand All @@ -195,11 +197,11 @@ typing-extensions==4.16.0
# pydantic-core
# sqlalchemy
# typing-inspection
typing-inspection==0.4.2
typing-inspection==0.4.4
# via
# pydantic
# pydantic-settings
urllib3==2.7.0
urllib3==2.8.0
# via
# botocore
# requests
Expand All @@ -208,7 +210,7 @@ werkzeug==3.1.8
# via
# -r requirements.in
# flask
wheel==0.47.0
wheel==0.48.0
# via pip-tools
wrapt==2.1.2
# via -r requirements.in
Loading