Skip to content

Commit

Permalink
fix(allot_courses): Added transaction atomic in the view
Browse files Browse the repository at this point in the history
  • Loading branch information
Akashsah2003 committed Feb 3, 2025
1 parent f848d35 commit 3202b7d
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 4 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Generated by Django 3.1.5 on 2025-02-03 16:19

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('academic_information', '0001_initial'),
('academic_procedures', '0006_auto_20250114_0326'),
]

operations = [
migrations.AlterUniqueTogether(
name='finalregistration',
unique_together={('course_id', 'student_id', 'semester_id', 'registration_type')},
),
migrations.AlterUniqueTogether(
name='initialregistration',
unique_together={('course_id', 'student_id', 'semester_id', 'registration_type')},
),
]
2 changes: 2 additions & 0 deletions FusionIIIT/applications/academic_procedures/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -617,6 +617,7 @@ class InitialRegistration(models.Model):

class Meta:
db_table = 'InitialRegistration'
unique_together = ('course_id', 'student_id', 'semester_id', 'registration_type')

class FinalRegistration(models.Model):
'''
Expand Down Expand Up @@ -652,6 +653,7 @@ class FinalRegistration(models.Model):

class Meta:
db_table = 'FinalRegistration'
unique_together = ('course_id', 'student_id', 'semester_id', 'registration_type')


class CourseRequested(models.Model):
Expand Down
10 changes: 6 additions & 4 deletions FusionIIIT/applications/academic_procedures/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -1725,10 +1725,11 @@ def allot_courses(request):


try:
InitialRegistration.objects.bulk_create(pre_registrations)
StudentRegistrationChecks.objects.bulk_create(student_checks)
FinalRegistration.objects.bulk_create(final_registrations)
course_registration.objects.bulk_create(course_registrations)
with transaction.atomic():
InitialRegistration.objects.bulk_create(pre_registrations)
StudentRegistrationChecks.objects.bulk_create(student_checks)
FinalRegistration.objects.bulk_create(final_registrations)
course_registration.objects.bulk_create(course_registrations)
messages.success(request, 'Successfully uploaded!')
return HttpResponseRedirect('/academic-procedures/main')
# return HttpResponse("Success")
Expand All @@ -1737,6 +1738,7 @@ def allot_courses(request):
return HttpResponseRedirect('/academic-procedures/main')
# return HttpResponse("Success")
except Exception as e:
print(e)
messages.error(request, 'Error: Query does not match. Please check if all the data input is in the correct format.')
return HttpResponseRedirect('/academic-procedures/main')
# return HttpResponseRedirect(request.META.get('HTTP_REFERER'))
Expand Down

0 comments on commit 3202b7d

Please sign in to comment.