diff --git a/Makefile b/Makefile
index ec6263ec0..7a29b16ed 100644
--- a/Makefile
+++ b/Makefile
@@ -46,5 +46,8 @@ local-certs:
mkcert -install
cd certs && mkcert local_lookit.mit.edu
+media:
+ gsutil -m cp -r "gs://lookit-staging/media" ./project
+
test:
docker compose run --rm -e ENVIRONMENT= web poetry run ./manage.py test --failfast
diff --git a/accounts/forms.py b/accounts/forms.py
index 00d4155aa..500f7415c 100644
--- a/accounts/forms.py
+++ b/accounts/forms.py
@@ -478,7 +478,7 @@ class StudyLocation(FormChoiceEnum):
study_list_tabs = forms.ChoiceField(
choices=Tabs.choices(),
initial=0,
- widget=forms.RadioSelect(attrs={"class": "hidden"}),
+ widget=forms.RadioSelect(attrs={"class": "d-none"}),
required=False,
)
study_location = forms.ChoiceField(choices=StudyLocation.choices(), required=False)
diff --git a/accounts/templates/accounts/2fa-setup.html b/accounts/templates/accounts/2fa-setup.html
index 09c898956..c5a55b1df 100644
--- a/accounts/templates/accounts/2fa-setup.html
+++ b/accounts/templates/accounts/2fa-setup.html
@@ -1,5 +1,5 @@
{% extends "web/base.html" %}
-{% load bootstrap3 %}
+{% load django_bootstrap5 %}
{% block title %}
Set up Two Factor Authentication
{% endblock title %}
diff --git a/accounts/templates/accounts/account-update.html b/accounts/templates/accounts/account-update.html
index 98bc6b4ce..f95735610 100644
--- a/accounts/templates/accounts/account-update.html
+++ b/accounts/templates/accounts/account-update.html
@@ -1,5 +1,5 @@
{% extends "web/base.html" %}
-{% load bootstrap3 %}
+{% load django_bootstrap5 %}
{% block title %}
Update account information
{% endblock title %}
diff --git a/accounts/templates/accounts/participant_detail.html b/accounts/templates/accounts/participant_detail.html
index e91bb6c96..0e3b5fd1f 100644
--- a/accounts/templates/accounts/participant_detail.html
+++ b/accounts/templates/accounts/participant_detail.html
@@ -1,5 +1,5 @@
{% extends "exp/base.html" %}
-{% load bootstrap3 %}
+{% load django_bootstrap5 %}
{% load exp_extras %}
{% load i18n %}
{% block title %}
diff --git a/accounts/templates/accounts/participant_list.html b/accounts/templates/accounts/participant_list.html
index ecb521afb..9609b5385 100644
--- a/accounts/templates/accounts/participant_list.html
+++ b/accounts/templates/accounts/participant_list.html
@@ -1,5 +1,5 @@
{% extends "exp/base.html" %}
-{% load bootstrap3 %}
+{% load django_bootstrap5 %}
{% load exp_extras %}
{% load i18n %}
{% block title %}
diff --git a/accounts/templates/accounts/researcher-registration.html b/accounts/templates/accounts/researcher-registration.html
index 16d1a74e4..fb764f401 100644
--- a/accounts/templates/accounts/researcher-registration.html
+++ b/accounts/templates/accounts/researcher-registration.html
@@ -1,5 +1,5 @@
{% extends "web/base.html" %}
-{% load bootstrap3 %}
+{% load django_bootstrap5 %}
{% block title %}
Researcher Registration
{% endblock title %}
diff --git a/exp/templates/exp/base.html b/exp/templates/exp/base.html
index 90adba2a4..1077bbaef 100644
--- a/exp/templates/exp/base.html
+++ b/exp/templates/exp/base.html
@@ -1,4 +1,4 @@
-{% load bootstrap3 %}
+{% load django_bootstrap5 %}
{% load static %}
{% load guardian_tags %}
{% load web_extras %}
@@ -47,6 +47,7 @@
{% endblock header %}
+ {% bootstrap_messages %}
{% block flash %}
{% endblock flash %}
diff --git a/exp/templates/exp/support.html b/exp/templates/exp/support.html
index b1950ad35..8a2f2a405 100644
--- a/exp/templates/exp/support.html
+++ b/exp/templates/exp/support.html
@@ -1,5 +1,5 @@
{% extends "exp/base.html" %}
-{% load bootstrap3 %}
+{% load django_bootstrap5 %}
{% load i18n %}
{% block title %}
Support Lookit
diff --git a/poetry.lock b/poetry.lock
index ec94e86e1..929f30939 100644
--- a/poetry.lock
+++ b/poetry.lock
@@ -584,19 +584,35 @@ six = "*"
tests = ["flake8", "mysqlclient", "psycopg2 (>=2.3)", "pytest-django"]
[[package]]
-name = "django-bootstrap3"
-version = "21.2"
-description = "Bootstrap 3 support for Django projects"
+name = "django-bootstrap-icons"
+version = "0.8.2"
+description = "A quick way to add Bootstrap Icons with Django template tags."
+category = "main"
+optional = false
+python-versions = ">=3.6"
+files = [
+ {file = "django-bootstrap-icons-0.8.2.tar.gz", hash = "sha256:e7684db3af0fca41eb8aa9d2503c61942ca549c322b6e8a51e8b34abe14ae20d"},
+ {file = "django_bootstrap_icons-0.8.2-py3-none-any.whl", hash = "sha256:209fa35897dab37e6ca7d6eddc52734dd5f35b02c44e33ec3636eaf157778446"},
+]
+
+[package.dependencies]
+django = "*"
+requests = "*"
+
+[[package]]
+name = "django-bootstrap5"
+version = "22.2"
+description = "Bootstrap 5 for Django"
category = "main"
optional = false
python-versions = ">=3.7"
files = [
- {file = "django-bootstrap3-21.2.tar.gz", hash = "sha256:9a7e95a053455c15cdcbc5dc7f9261f9aecf01d0558435b59e7b364765f2c3e2"},
- {file = "django_bootstrap3-21.2-py3-none-any.whl", hash = "sha256:845a53e0f68fd520e3df6d53686a641e5008329e492687e225a0c394941dd430"},
+ {file = "django-bootstrap5-22.2.tar.gz", hash = "sha256:e944f5ced342e0e16cde77e1ddacb4b9fd5bce4cc190df2f7da0b8e18a24c9cb"},
+ {file = "django_bootstrap5-22.2-py3-none-any.whl", hash = "sha256:5d677bbfb94207c1a034d63a5f39d95ce287ef509e0b31dfb4d233cc81f93bcc"},
]
[package.dependencies]
-Django = ">=2.2"
+Django = ">=3.2"
[[package]]
name = "django-celery-beat"
@@ -2732,4 +2748,4 @@ testing = ["coverage (>=5.0.3)", "zope.event", "zope.testing"]
[metadata]
lock-version = "2.0"
python-versions = "^3.9"
-content-hash = "5524efc056e790c8c34780cb8152a4427791243b4e2820e11ac0af50aa2c765f"
+content-hash = "47cdfece4c2fb8e3c34c3d1075382e401d263f4eabb75383bd27e9fd0a7e05d0"
diff --git a/project/settings.py b/project/settings.py
index 8cb9b5298..834d8452d 100644
--- a/project/settings.py
+++ b/project/settings.py
@@ -62,7 +62,8 @@
"guardian",
"localflavor",
"rest_framework",
- "bootstrap3",
+ "django_bootstrap5",
+ "django_bootstrap_icons",
"ace_overlay",
"corsheaders",
"rest_framework.authtoken",
diff --git a/pyproject.toml b/pyproject.toml
index 4fa66575e..59c9ca767 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -13,7 +13,7 @@ Django = "3.2.11"
django-ace-overlay = { git = "https://github.com/lookit/django-ace-overlay.git", branch = "master" }
django-allauth = "0.42.0"
django-bitfield = "2.1.0"
-django-bootstrap3 = "^21.1"
+django-bootstrap5 = "22.2"
django-celery-beat = "2.0.0"
django-cors-headers = "3.13.0"
django-countries = "7.2.1"
@@ -51,6 +51,7 @@ sentry-sdk = "1.3.0"
transitions = "0.8.1"
uWSGI = "2.0.19.1"
pillow = "9.4.0"
+django-bootstrap-icons = "0.8.2"
[tool.poetry.dev-dependencies]
coverage = "^5.5"
diff --git a/studies/templates/studies/_all_json_and_csv_data.html b/studies/templates/studies/_all_json_and_csv_data.html
index f6c813f0f..59a7095eb 100644
--- a/studies/templates/studies/_all_json_and_csv_data.html
+++ b/studies/templates/studies/_all_json_and_csv_data.html
@@ -1,5 +1,5 @@
{% extends "exp/base.html" %}
-{% load bootstrap3 %}
+{% load django_bootstrap5 %}
{% load exp_extras %}
{% block title %}
All Responses | {{ study.name }}
diff --git a/studies/templates/studies/_study_fields.html b/studies/templates/studies/_study_fields.html
index e9024487c..209bf4a45 100644
--- a/studies/templates/studies/_study_fields.html
+++ b/studies/templates/studies/_study_fields.html
@@ -1,4 +1,4 @@
-{% load bootstrap3 %}
+{% load django_bootstrap5 %}
-
-
- {% google_tag_manager %}
-
-
-
- {% bootstrap_messages %}
-
- {% block header %}
- {% include 'web/_navigation.html' %}
- {% endblock header %}
-
-
- {% block flash %}
- {% endblock flash %}
-
-
-
-
- {% block content %}
- {% endblock content %}
-
-
-
- {% block footerjs %}
- {% endblock footerjs %}
-
-
-
-