diff --git a/Makefile b/Makefile index 60a885cba..99d1c3b82 100644 --- a/Makefile +++ b/Makefile @@ -107,8 +107,8 @@ tests: ## Run tests and generate coverage report $(TOX)coverage report test-karma: ## Run JS tests through Karma & install firefox. This command needs to be ran manually in the devstack container before submitting a pull request. It can not be run in CI as of APER-2136. - sudo apt-get update - sudo apt-get install --no-install-recommends -y firefox xvfb + apt-get update + apt-get install --no-install-recommends -y firefox xvfb xvfb-run $(NODE_BIN)/karma start ### Frontend commands ### diff --git a/credentials/settings/base.py b/credentials/settings/base.py index 42273d824..e0c253931 100644 --- a/credentials/settings/base.py +++ b/credentials/settings/base.py @@ -63,6 +63,7 @@ "drf_yasg", "xss_utils", "openedx_events", + "fontawesomefree", ] PROJECT_APPS = [ diff --git a/credentials/templates/_actions.html b/credentials/templates/_actions.html index 157f52082..d93354857 100644 --- a/credentials/templates/_actions.html +++ b/credentials/templates/_actions.html @@ -12,7 +12,7 @@

{% trans 'Print or share your certificate' as tmsg %}{{ tmsg data-track-event-property-category="certificates" data-track-event-property-credential-uuid="{{ user_credential.uuid }}" data-track-event-property-program-uuid="{{ user_credential.credential.program_uuid }}"> - + {% trans 'Share this certificate via Facebook' as tmsg %}{{ tmsg | force_escape }} {% endif %} @@ -25,7 +25,7 @@

{% trans 'Print or share your certificate' as tmsg %}{{ tmsg data-track-event-property-program-uuid="{{ user_credential.credential.program_uuid }}"> - + {% trans 'Tweet this certificate' as tmsg %}{{ tmsg | force_escape }} @@ -39,7 +39,7 @@

{% trans 'Print or share your certificate' as tmsg %}{{ tmsg data-track-event-property-program-uuid="{{ user_credential.credential.program_uuid }}"> - + {% trans 'Add this certificate to your LinkedIn profile' as tmsg %}{{ tmsg | force_escape }} diff --git a/credentials/templates/base.html b/credentials/templates/base.html index 0d6528c36..a0523bd47 100644 --- a/credentials/templates/base.html +++ b/credentials/templates/base.html @@ -1,6 +1,7 @@ {# Base template for edX-specific pages. #} {% load i18n %} +{% load static %} {% load statici18n %} {% load render_bundle from webpack_loader %} @@ -15,6 +16,10 @@ {% block title %}{% endblock title %} + + + + {% if base_style_template %} {% include base_style_template %} diff --git a/package-lock.json b/package-lock.json index 286720957..9bca7566b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,6 @@ "css-loader": "6.11.0", "css-minimizer-webpack-plugin": "6.0.0", "file-loader": "6.2.0", - "font-awesome": "4.7.0", "mini-css-extract-plugin": "2.8.1", "sass": "1.75.0", "sass-loader": "14.2.0", diff --git a/package.json b/package.json index 46a5a8478..b0bc0cfdd 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,6 @@ "css-loader": "6.11.0", "css-minimizer-webpack-plugin": "6.0.0", "file-loader": "6.2.0", - "font-awesome": "4.7.0", "mini-css-extract-plugin": "2.8.1", "sass": "1.75.0", "sass-loader": "14.2.0", diff --git a/requirements/all.txt b/requirements/all.txt index 8bac5fa4e..9646cf893 100644 --- a/requirements/all.txt +++ b/requirements/all.txt @@ -38,17 +38,17 @@ bcrypt==4.1.2 # via # -r requirements/dev.txt # paramiko -black==24.3.0 +black==24.4.0 # via -r requirements/dev.txt bleach==6.1.0 # via # -r requirements/dev.txt # -r requirements/production.txt -boto3==1.34.81 +boto3==1.34.84 # via # -r requirements/production.txt # django-ses -botocore==1.34.81 +botocore==1.34.84 # via # -r requirements/production.txt # boto3 @@ -208,7 +208,7 @@ django-rest-swagger==2.2.0 # via # -r requirements/dev.txt # -r requirements/production.txt -django-ses==3.5.2 +django-ses==3.6.0 # via -r requirements/production.txt django-simple-history==3.5.0 # via @@ -305,7 +305,7 @@ edx-event-bus-kafka==5.7.0 # via # -r requirements/dev.txt # -r requirements/production.txt -edx-i18n-tools==1.3.0 +edx-i18n-tools==1.5.0 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -333,7 +333,7 @@ exceptiongroup==1.2.0 # pytest factory-boy==3.3.0 # via -r requirements/dev.txt -faker==24.8.0 +faker==24.9.0 # via # -r requirements/dev.txt # factory-boy @@ -347,6 +347,10 @@ filelock==3.13.4 # -r requirements/dev.txt # tox # virtualenv +fontawesomefree==6.5.1 + # via + # -r requirements/dev.txt + # -r requirements/production.txt gevent==24.2.1 # via -r requirements/production.txt greenlet==3.0.3 @@ -357,7 +361,7 @@ gunicorn==21.2.0 # via -r requirements/production.txt httpretty==1.1.4 # via -r requirements/dev.txt -idna==3.6 +idna==3.7 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -451,7 +455,7 @@ openedx-atlas==0.6.0 # via # -r requirements/dev.txt # -r requirements/production.txt -openedx-events==9.7.0 +openedx-events==9.9.1 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -708,7 +712,7 @@ social-auth-core==4.5.3 # -r requirements/production.txt # edx-auth-backends # social-auth-app-django -sqlparse==0.4.4 +sqlparse==0.5.0 # via # -r requirements/dev.txt # -r requirements/production.txt @@ -799,7 +803,7 @@ zope-event==5.0 # via # -r requirements/production.txt # gevent -zope-interface==6.2 +zope-interface==6.3 # via # -r requirements/production.txt # gevent diff --git a/requirements/base.in b/requirements/base.in index 6569ee809..05e4aeb72 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -36,6 +36,7 @@ edx-event-bus-kafka edx-opaque-keys edx-rest-api-client edx-toggles +fontawesomefree markdown mysqlclient newrelic diff --git a/requirements/base.txt b/requirements/base.txt index 38f740350..18ffd6c99 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -145,7 +145,7 @@ edx-drf-extensions==10.3.0 # via -r requirements/base.in edx-event-bus-kafka==5.7.0 # via -r requirements/base.in -edx-i18n-tools==1.3.0 +edx-i18n-tools==1.5.0 # via edx-credentials-themes edx-opaque-keys[django]==2.5.1 # via @@ -160,7 +160,9 @@ edx-toggles==5.2.0 # edx-event-bus-kafka fastavro==1.9.4 # via openedx-events -idna==3.6 +fontawesomefree==6.5.1 + # via -r requirements/base.in +idna==3.7 # via requests importlib-metadata==6.11.0 # via @@ -197,7 +199,7 @@ openapi-codec==1.3.2 # via django-rest-swagger openedx-atlas==0.6.0 # via -r requirements/base.in -openedx-events==9.7.0 +openedx-events==9.9.1 # via edx-event-bus-kafka packaging==24.0 # via drf-yasg @@ -294,7 +296,7 @@ social-auth-core==4.5.3 # via # edx-auth-backends # social-auth-app-django -sqlparse==0.4.4 +sqlparse==0.5.0 # via django stevedore==5.2.0 # via diff --git a/requirements/dev.txt b/requirements/dev.txt index e7509ff64..22182b1d8 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -32,7 +32,7 @@ backports-zoneinfo==0.2.1 # djangorestframework bcrypt==4.1.2 # via paramiko -black==24.3.0 +black==24.4.0 # via -r requirements/test.txt bleach==6.1.0 # via -r requirements/test.txt @@ -223,7 +223,7 @@ edx-drf-extensions==10.3.0 # via -r requirements/test.txt edx-event-bus-kafka==5.7.0 # via -r requirements/test.txt -edx-i18n-tools==1.3.0 +edx-i18n-tools==1.5.0 # via # -r requirements/dev.in # -r requirements/test.txt @@ -247,7 +247,7 @@ exceptiongroup==1.2.0 # pytest factory-boy==3.3.0 # via -r requirements/test.txt -faker==24.8.0 +faker==24.9.0 # via # -r requirements/test.txt # factory-boy @@ -260,9 +260,11 @@ filelock==3.13.4 # -r requirements/test.txt # tox # virtualenv +fontawesomefree==6.5.1 + # via -r requirements/test.txt httpretty==1.1.4 # via -r requirements/test.txt -idna==3.6 +idna==3.7 # via # -r requirements/test.txt # requests @@ -331,7 +333,7 @@ openapi-codec==1.3.2 # django-rest-swagger openedx-atlas==0.6.0 # via -r requirements/test.txt -openedx-events==9.7.0 +openedx-events==9.9.1 # via # -r requirements/test.txt # edx-event-bus-kafka @@ -538,7 +540,7 @@ social-auth-core==4.5.3 # -r requirements/test.txt # edx-auth-backends # social-auth-app-django -sqlparse==0.4.4 +sqlparse==0.5.0 # via # -r requirements/test.txt # django diff --git a/requirements/docs.txt b/requirements/docs.txt index 06a52edb0..196bb1021 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -22,7 +22,7 @@ docutils==0.19 # via # pydata-sphinx-theme # sphinx -idna==3.6 +idna==3.7 # via requests imagesize==1.4.1 # via sphinx diff --git a/requirements/pip.txt b/requirements/pip.txt index cf449024a..e3ffcc7b6 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -10,5 +10,5 @@ wheel==0.43.0 # The following packages are considered to be unsafe in a requirements file: pip==24.0 # via -r requirements/pip.in -setuptools==69.2.0 +setuptools==69.5.1 # via -r requirements/pip.in diff --git a/requirements/production.txt b/requirements/production.txt index d2bf7bab0..1bb1ca488 100644 --- a/requirements/production.txt +++ b/requirements/production.txt @@ -26,9 +26,9 @@ backports-zoneinfo==0.2.1 # djangorestframework bleach==6.1.0 # via -r requirements/base.txt -boto3==1.34.81 +boto3==1.34.84 # via django-ses -botocore==1.34.81 +botocore==1.34.84 # via # boto3 # s3transfer @@ -123,7 +123,7 @@ django-ratelimit==4.1.0 # via -r requirements/base.txt django-rest-swagger==2.2.0 # via -r requirements/base.txt -django-ses==3.5.2 +django-ses==3.6.0 # via -r requirements/production.in django-simple-history==3.5.0 # via -r requirements/base.txt @@ -176,7 +176,7 @@ edx-drf-extensions==10.3.0 # via -r requirements/base.txt edx-event-bus-kafka==5.7.0 # via -r requirements/base.txt -edx-i18n-tools==1.3.0 +edx-i18n-tools==1.5.0 # via # -r requirements/base.txt # edx-credentials-themes @@ -195,13 +195,15 @@ fastavro==1.9.4 # via # -r requirements/base.txt # openedx-events +fontawesomefree==6.5.1 + # via -r requirements/base.txt gevent==24.2.1 # via -r requirements/production.in greenlet==3.0.3 # via gevent gunicorn==21.2.0 # via -r requirements/production.in -idna==3.6 +idna==3.7 # via # -r requirements/base.txt # requests @@ -259,7 +261,7 @@ openapi-codec==1.3.2 # django-rest-swagger openedx-atlas==0.6.0 # via -r requirements/base.txt -openedx-events==9.7.0 +openedx-events==9.9.1 # via # -r requirements/base.txt # edx-event-bus-kafka @@ -400,7 +402,7 @@ social-auth-core==4.5.3 # -r requirements/base.txt # edx-auth-backends # social-auth-app-django -sqlparse==0.4.4 +sqlparse==0.5.0 # via # -r requirements/base.txt # django @@ -444,7 +446,7 @@ zipp==3.18.1 # importlib-metadata zope-event==5.0 # via gevent -zope-interface==6.2 +zope-interface==6.3 # via gevent # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/test.txt b/requirements/test.txt index 5cd956c45..1d4472435 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -28,7 +28,7 @@ backports-zoneinfo==0.2.1 # -r requirements/base.txt # django # djangorestframework -black==24.3.0 +black==24.4.0 # via -r requirements/test.in bleach==6.1.0 # via -r requirements/base.txt @@ -193,7 +193,7 @@ edx-drf-extensions==10.3.0 # via -r requirements/base.txt edx-event-bus-kafka==5.7.0 # via -r requirements/base.txt -edx-i18n-tools==1.3.0 +edx-i18n-tools==1.5.0 # via # -r requirements/base.txt # edx-credentials-themes @@ -214,7 +214,7 @@ exceptiongroup==1.2.0 # via pytest factory-boy==3.3.0 # via -r requirements/test.in -faker==24.8.0 +faker==24.9.0 # via factory-boy fastavro==1.9.4 # via @@ -224,9 +224,11 @@ filelock==3.13.4 # via # tox # virtualenv +fontawesomefree==6.5.1 + # via -r requirements/base.txt httpretty==1.1.4 # via -r requirements/test.in -idna==3.6 +idna==3.7 # via # -r requirements/base.txt # requests @@ -287,7 +289,7 @@ openapi-codec==1.3.2 # django-rest-swagger openedx-atlas==0.6.0 # via -r requirements/base.txt -openedx-events==9.7.0 +openedx-events==9.9.1 # via # -r requirements/base.txt # edx-event-bus-kafka @@ -466,7 +468,7 @@ social-auth-core==4.5.3 # -r requirements/base.txt # edx-auth-backends # social-auth-app-django -sqlparse==0.4.4 +sqlparse==0.5.0 # via # -r requirements/base.txt # django diff --git a/requirements/translations.txt b/requirements/translations.txt index 72b8ed997..a7fef1475 100644 --- a/requirements/translations.txt +++ b/requirements/translations.txt @@ -12,7 +12,7 @@ django==4.2.11 # via # -c requirements/common_constraints.txt # edx-i18n-tools -edx-i18n-tools==1.3.0 +edx-i18n-tools==1.5.0 # via -r requirements/translations.in lxml==5.1.1 # via @@ -26,7 +26,7 @@ pyyaml==5.4.1 # via # -c requirements/constraints.txt # edx-i18n-tools -sqlparse==0.4.4 +sqlparse==0.5.0 # via django typing-extensions==4.11.0 # via asgiref