From 0534294a3474dd8f375d74b60496c7b7d57979f5 Mon Sep 17 00:00:00 2001 From: Yoan Le Clanche Date: Tue, 21 Sep 2021 16:27:08 +0200 Subject: [PATCH] https://trackers.pilotsystems.net/prebarreau/0268 : Add order to CourseType --- teleforma/admin.py | 7 ++++++- teleforma/migrations/0011_coursetype_order.py | 18 ++++++++++++++++++ teleforma/models/core.py | 1 + teleforma/views/crfpa.py | 6 +++--- 4 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 teleforma/migrations/0011_coursetype_order.py diff --git a/teleforma/admin.py b/teleforma/admin.py index 36d0c060..8838a7ba 100644 --- a/teleforma/admin.py +++ b/teleforma/admin.py @@ -242,6 +242,11 @@ class TrainingAdmin(admin.ModelAdmin): 'written_speciality', 'oral_1', 'oral_2', 'magistral'] exclude = ['options'] +class CourseTypeAdmin(admin.ModelAdmin): + model = CourseType + list_display = ('name', 'order') + ordering = ('order',) + class CourseAdmin(admin.ModelAdmin): model = Course @@ -444,7 +449,7 @@ admin.site.register(Media, MediaAdmin) admin.site.register(Room) admin.site.register(User, UserProfileAdmin) admin.site.register(Training, TrainingAdmin) -admin.site.register(CourseType) +admin.site.register(CourseType, CourseTypeAdmin) admin.site.register(StreamingServer) admin.site.register(LiveStream) admin.site.register(Student, StudentAdmin) diff --git a/teleforma/migrations/0011_coursetype_order.py b/teleforma/migrations/0011_coursetype_order.py new file mode 100644 index 00000000..5f3c41b7 --- /dev/null +++ b/teleforma/migrations/0011_coursetype_order.py @@ -0,0 +1,18 @@ +# Generated by Django 3.2.3 on 2021-09-21 16:18 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('teleforma', '0010_student_payment_generated'), + ] + + operations = [ + migrations.AddField( + model_name='coursetype', + name='order', + field=models.IntegerField(default=0), + ), + ] diff --git a/teleforma/models/core.py b/teleforma/models/core.py index 116c974b..fcbe0b58 100755 --- a/teleforma/models/core.py +++ b/teleforma/models/core.py @@ -204,6 +204,7 @@ class CourseType(models.Model): name = models.CharField(_('name'), max_length=255) description = models.CharField( _('description'), max_length=255, blank=True) + order = models.IntegerField(default=0, blank=False, null=False) def __str__(self): return self.name diff --git a/teleforma/views/crfpa.py b/teleforma/views/crfpa.py index aa1a5003..8eaa5676 100644 --- a/teleforma/views/crfpa.py +++ b/teleforma/views/crfpa.py @@ -88,7 +88,7 @@ def get_crfpa_courses(user, date_order=False, num_order=False, period=None): if professor: professor = user.professor.get() courses = format_courses(courses, queryset=professor.courses.all(), - types=CourseType.objects.all()) + types=CourseType.objects.order_by('order').all()) elif quotas and not user.is_staff: corrector_courses = set() @@ -96,7 +96,7 @@ def get_crfpa_courses(user, date_order=False, num_order=False, period=None): corrector_courses.add(quota.course) for course in corrector_courses: courses = format_courses(courses, course=course, - types=CourseType.objects.all()) + types=CourseType.objects.order_by('order').all()) elif student: student = user.student.get() @@ -138,7 +138,7 @@ def get_crfpa_courses(user, date_order=False, num_order=False, period=None): elif user.is_staff or user.is_superuser: courses = format_courses(courses, queryset=Course.objects.all(), - types=CourseType.objects) + types=CourseType.objects.order_by('order').all()) else: courses = None -- 2.39.5