]> git.parisson.com Git - teleforma.git/commitdiff
https://trackers.pilotsystems.net/prebarreau/0268 : Add order to CourseType
authorYoan Le Clanche <yoanl@pilotsystems.net>
Tue, 21 Sep 2021 14:27:08 +0000 (16:27 +0200)
committerYoan Le Clanche <yoanl@pilotsystems.net>
Tue, 21 Sep 2021 14:27:08 +0000 (16:27 +0200)
teleforma/admin.py
teleforma/migrations/0011_coursetype_order.py [new file with mode: 0644]
teleforma/models/core.py
teleforma/views/crfpa.py

index 36d0c0604fe028e3fe009204691e74088d81f22d..8838a7ba285e065ef0d90c7ca992249bff343338 100644 (file)
@@ -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 (file)
index 0000000..5f3c41b
--- /dev/null
@@ -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),
+        ),
+    ]
index 116c974bde0a108caff7645649fd21595fab8f7c..fcbe0b580ec5ca9646386d46dc8dcb4626f59021 100755 (executable)
@@ -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
index aa1a50036ea94c5c40149c87204a4f07b912bcf5..8eaa56767caa777864aa25bd2ee89018adf3dae0 100644 (file)
@@ -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