From 1f13598ac1f11455c0ee6680d4d27fb6b6e4be21 Mon Sep 17 00:00:00 2001 From: mnietona Date: Thu, 19 Mar 2026 16:00:00 +0100 Subject: [PATCH 1/2] fix: update Makefile to use uv and fix user creation logic --- Makefile | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 460ca013..766d49b7 100644 --- a/Makefile +++ b/Makefile @@ -1,20 +1,23 @@ PY=uv run -init: database +.PHONY: init database +init: database database: $(PY) manage.py migrate -v 0 + @echo "Creating root category (ULB)" + @echo "from catalog.models import Category; Category.objects.get_or_create(slug='ULB', defaults={'name': 'ULB'})" | $(PY) manage.py shell > /dev/null @echo "Creating user ${USER} with password 'test'" - @echo "from users.models import User; u=User.objects.get_or_create(netid='${USER}', first_name='Gaston', last_name='Lagaffe', email='${USER}@fake.ulb.ac.be'); u[0].set_password('test'); u[0].save()" | $(PY) manage.py shell > /dev/null - + @echo "from users.models import User; u, _ = User.objects.get_or_create(netid='${USER}', defaults={'first_name': 'Gaston', 'last_name': 'Lagaffe', 'email': '${USER}@fake.ulb.ac.be'}); u.set_password('test'); u.is_moderator=True; u.save()" | $(PY) manage.py shell > /dev/null @echo "Creating user blabevue with password 'test'" - @echo "from users.models import User; u=User.objects.get_or_create(netid='blabevue', first_name='Bertrand', last_name='Labevue', email='blabevue@fake.ulb.ac.be'); u[0].set_password('test'); u[0].save()" | $(PY) manage.py shell > /dev/null - + @echo "from users.models import User; u, _ = User.objects.get_or_create(netid='blabevue', defaults={'first_name': 'Bertrand', 'last_name': 'Labevue', 'email': 'blabevue@fake.ulb.ac.be'}); u.set_password('test'); u.save()" | $(PY) manage.py shell > /dev/null @echo "Creating some tags" - @echo "[__import__('tags').models.Tag.objects.create(name=x) for x in ('syllabus', 'officiel', 'examen', 'resume', 'synthese', 'notes')]" | $(PY) manage.py shell > /dev/null - - @echo "Adding some fake document" + @echo "from tags.models import Tag; [Tag.objects.get_or_create(name=x) for x in ('syllabus', 'officiel', 'examen', 'resume', 'synthese', 'notes')]" | $(PY) manage.py shell > /dev/null + @echo "Loading tree and courses..." + $(PY) manage.py load_tree + $(PY) manage.py load_courses + @echo "Adding some fake documents" $(PY) manage.py create_fake_doc - - @echo "Your DB should be ready now. Run the server with ./manage.py runserver" + @echo "" + @echo "Done! Run: uv run python manage.py runserver" \ No newline at end of file From fe13cf88f06d0ea7b6a59b670b37690e28230dfc Mon Sep 17 00:00:00 2001 From: mnietona Date: Thu, 19 Mar 2026 16:22:58 +0100 Subject: [PATCH 2/2] fix: make load_tree and load_courses optional in Makefile to fix CI --- Makefile | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 766d49b7..87f07282 100644 --- a/Makefile +++ b/Makefile @@ -14,9 +14,20 @@ database: @echo "from users.models import User; u, _ = User.objects.get_or_create(netid='blabevue', defaults={'first_name': 'Bertrand', 'last_name': 'Labevue', 'email': 'blabevue@fake.ulb.ac.be'}); u.set_password('test'); u.save()" | $(PY) manage.py shell > /dev/null @echo "Creating some tags" @echo "from tags.models import Tag; [Tag.objects.get_or_create(name=x) for x in ('syllabus', 'officiel', 'examen', 'resume', 'synthese', 'notes')]" | $(PY) manage.py shell > /dev/null + @echo "Loading tree and courses..." - $(PY) manage.py load_tree - $(PY) manage.py load_courses + @if [ -f "csv/programs.json" ]; then \ + $(PY) manage.py load_tree; \ + else \ + echo "Warning: csv/programs.json not found, skipping load_tree"; \ + fi + + @if [ -f "csv/courses.json" ]; then \ + $(PY) manage.py load_courses; \ + else \ + echo "Warning: csv/courses.json not found, skipping load_courses"; \ + fi + @echo "Adding some fake documents" $(PY) manage.py create_fake_doc @echo ""