diff --git a/django/exchange/migrations/0009_courseunitenrollments_user_name.py b/django/exchange/migrations/0009_courseunitenrollments_user_name.py new file mode 100644 index 00000000..d637e12a --- /dev/null +++ b/django/exchange/migrations/0009_courseunitenrollments_user_name.py @@ -0,0 +1,18 @@ +# Generated by Django 5.1.12 on 2025-12-16 13:55 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('exchange', '0008_directexchange_last_validated'), + ] + + operations = [ + migrations.AddField( + model_name='courseunitenrollments', + name='user_name', + field=models.CharField(default='', max_length=256), + ), + ] diff --git a/django/exchange/models.py b/django/exchange/models.py index 4ee13cef..fafb632f 100644 --- a/django/exchange/models.py +++ b/django/exchange/models.py @@ -16,6 +16,7 @@ class Meta: class CourseUnitEnrollments(models.Model): user_nmec = models.CharField(max_length=32) + user_name = models.CharField(max_length=256, default='') accepted = models.BooleanField(blank=True, null=True, default=False) admin_state = models.CharField(max_length=32, default='untreated') date = models.DateTimeField(blank=True, null=True, default=timezone.now) diff --git a/django/university/routes/course_unit/CourseUnitEnrollmentView.py b/django/university/routes/course_unit/CourseUnitEnrollmentView.py index 0d91912a..fa57d94a 100644 --- a/django/university/routes/course_unit/CourseUnitEnrollmentView.py +++ b/django/university/routes/course_unit/CourseUnitEnrollmentView.py @@ -81,14 +81,16 @@ def post(self, request): student_course_units = list(UserCourseUnits.objects.filter(user_nmec=request.user.username).all()) - username = request.user.username + user_nmec = request.user.username + user_name = f"{request.user.first_name} {request.user.last_name}" - if len(username) > 9: - username = request.user.email[2:11] + if len(user_nmec) > 9: + user_nmec = request.user.email[2:11] with transaction.atomic(): course_unit_enrollment = CourseUnitEnrollments( - user_nmec=username, + user_nmec=user_nmec, + user_name=user_name, accepted=False, admin_state="untreated", date=timezone.now() diff --git a/django/university/serializers/CourseUnitEnrollmentsSerializer.py b/django/university/serializers/CourseUnitEnrollmentsSerializer.py index d2d6e1c9..de10a329 100644 --- a/django/university/serializers/CourseUnitEnrollmentsSerializer.py +++ b/django/university/serializers/CourseUnitEnrollmentsSerializer.py @@ -9,6 +9,7 @@ class CourseUnitEnrollmentsSerializer(serializers.Serializer): id = serializers.IntegerField() user_nmec = serializers.CharField(max_length=32) + user_name = serializers.CharField(max_length=256) accepted = serializers.BooleanField() admin_state = serializers.CharField(max_length=32) date = serializers.DateTimeField() diff --git a/scripts/marketplace/mock_data.sql b/scripts/marketplace/mock_data.sql index 92c32a92..87703e1d 100644 --- a/scripts/marketplace/mock_data.sql +++ b/scripts/marketplace/mock_data.sql @@ -8,6 +8,8 @@ DELETE FROM direct_exchange_participants; DELETE FROM direct_exchange; DELETE FROM marketplace_exchange_class; DELETE FROM marketplace_exchange; +DELETE FROM course_unit_enrollments; +DELETE FROM course_unit_enrollment_options; -- Students -- 202307365 -> Alice Oliveira (3LEIC01) @@ -105,6 +107,17 @@ INSERT INTO direct_exchange_participants(direct_exchange, participant_name, part (5, 'João Marques', '202304594', '3LEIC14', '3LEIC11', 'LBAW', 560108, false), (5, 'Gabriela Lima', '202306618', '3LEIC11', '3LEIC14', 'LBAW', 560108, false); +INSERT INTO course_unit_enrollments (id, user_nmec, user_name, accepted, admin_state, date) VALUES + (389, '202105327', 'Diogo Martins', FALSE, 'untreated', '2025-11-27 22:59:32.924732'); + +INSERT INTO course_unit_enrollment_options (id, course_unit_id, enrolling, course_unit_enrollment_id, date) VALUES + (1287, 560099, TRUE, 389, '2025-11-27 22:59:32.926747'), --ldts + (1288, 560096, TRUE, 389, '2025-11-27 22:59:32.927713'), --aed + (1289, 560100, TRUE, 389, '2025-11-27 22:59:32.928713'), --so + (1290, 560097, TRUE, 389, '2025-11-27 22:59:32.929737'), --bd + (1291, 560098, TRUE, 389, '2025-11-27 22:59:32.930762'), --fisica + (1292, 564470, TRUE, 389, '2025-11-27 22:59:32.931717'); --lgp + -- Admin mock data INSERT INTO exchange_admin (id, username) VALUES (2, '');