Compare commits

...

3 Commits

Author SHA1 Message Date
Jaya Surya P c89cae549f
Merge pull request #201 from CDC-IITDH/nitin
changes to student model
2024-08-16 21:43:22 +05:30
NitinVangipuram 020a10f71a changes to internshipfilter 2024-08-15 23:02:03 +05:30
NitinVangipuram bab382c8ec changes to student model 2024-08-14 22:42:40 +05:30
3 changed files with 19 additions and 7 deletions

View File

@ -26,7 +26,7 @@ class Student(models.Model):
roll_no = models.CharField(blank=False, max_length=15, unique=True)
name = models.CharField(blank=False, max_length=JNF_TEXT_MAX_CHARACTER_COUNT)
batch = models.CharField(max_length=10, choices=BATCH_CHOICES, blank=False)
branch = models.CharField(choices=BRANCH_CHOICES, blank=False, max_length=10)
branch = models.CharField(choices=BRANCH_CHOICES, blank=True,default=None, null=True, max_length=10)
phone_number = models.PositiveBigIntegerField(blank=True, default=None, null=True)
resumes = ArrayField(models.CharField(null=True, default=None, max_length=JNF_TEXT_MAX_CHARACTER_COUNT), size=10,
default=list, blank=True)

View File

@ -121,10 +121,22 @@ def getDashboard(request, id, email, user_type):
placementApplications = PlacementApplication.objects.filter(student_id=id).order_by('-updated_at')
placementApplications = PlacementApplicationSerializer(placementApplications, many=True).data
internships = Internship.objects.filter(allowed_batch__contains=[studentDetails.batch],
allowed_branch__contains=[studentDetails.branch],
deadline_datetime__gte=datetime.datetime.now(),
offer_accepted=True, email_verified=True).order_by('deadline_datetime')
if studentDetails.degree == 'BSMS': # for BSMS branch is not considered
internships = Internship.objects.filter(
allowed_batch__contains=[studentDetails.batch],
deadline_datetime__gte=datetime.datetime.now(),
offer_accepted=True,
email_verified=True
).order_by('deadline_datetime')
else:
internships = Internship.objects.filter(
allowed_batch__contains=[studentDetails.batch],
allowed_branch__contains=[studentDetails.branch],
deadline_datetime__gte=datetime.datetime.now(),
offer_accepted=True,
email_verified=True
).order_by('deadline_datetime')
filtered_internships = internship_eligibility_filters(studentDetails, internships)
internshipsdata = InternshipSerializerForStudent(filtered_internships, many=True).data

View File

@ -286,9 +286,9 @@ def InternshipApplicationConditions(student, internship):
return False, "You have already secured a Internship"
if student.degree not in internship.eligiblestudents:
raise PermissionError("Can't apply for this Internship")
if student.branch not in internship.allowed_branch:
if student.degree != 'BSMS' and student.branch not in internship.allowed_branch: # for BSMS branch is not considered
raise PermissionError("Can't apply for this Internship")
if student.degree == 'bTech' and student.batch not in internship.allowed_batch:
if student.degree == bTech and student.batch not in internship.allowed_batch:
raise PermissionError("Can't apply for this Internship")
if student.can_apply_internship == False:
raise PermissionError("Can't apply for this Internship")