From 11225c6bc774283249c6c5618172b2304625b1f0 Mon Sep 17 00:00:00 2001 From: karthikmurakonda Date: Sat, 5 Aug 2023 02:10:41 +0530 Subject: [PATCH] changed cdc reps emails --- CDC_Backend/APIs/admin.py | 4 +-- CDC_Backend/APIs/constants.py | 13 +++++++--- CDC_Backend/APIs/models.py | 49 ++++++++++++++++++++++++++++++++--- CDC_Backend/APIs/utils.py | 12 ++++----- 4 files changed, 63 insertions(+), 15 deletions(-) diff --git a/CDC_Backend/APIs/admin.py b/CDC_Backend/APIs/admin.py index 66c874d..3cb49a0 100644 --- a/CDC_Backend/APIs/admin.py +++ b/CDC_Backend/APIs/admin.py @@ -123,7 +123,7 @@ class AdminAdmin(ExportMixin, SimpleHistoryAdmin): @admin.register(Placement) class Placement(AdminAdmin): - list_display = (COMPANY_NAME, CONTACT_PERSON_NAME, PHONE_NUMBER, 'tier', 'compensation_CTC', 'email_verified', 'updated_at') + list_display = (COMPANY_NAME, DESIGNATION , CONTACT_PERSON_NAME, PHONE_NUMBER, 'tier', 'compensation_CTC', 'email_verified', 'updated_at') search_fields = (COMPANY_NAME, CONTACT_PERSON_NAME) ordering = ('updated_at', COMPANY_NAME, CONTACT_PERSON_NAME, 'tier', 'compensation_CTC') list_filter = ('tier',) @@ -195,7 +195,7 @@ class InternAdmin(ExportMixin, SimpleHistoryAdmin): @admin.register(Internship) class Placement(InternAdmin): - list_display = (COMPANY_NAME, CONTACT_PERSON_NAME, PHONE_NUMBER, 'stipend', 'email_verified', 'updated_at') + list_display = (COMPANY_NAME, DESIGNATION, CONTACT_PERSON_NAME, PHONE_NUMBER, 'stipend', 'email_verified', 'updated_at') search_fields = (COMPANY_NAME, CONTACT_PERSON_NAME) ordering = ('updated_at', COMPANY_NAME, CONTACT_PERSON_NAME, 'stipend') diff --git a/CDC_Backend/APIs/constants.py b/CDC_Backend/APIs/constants.py index eecda64..34083ec 100644 --- a/CDC_Backend/APIs/constants.py +++ b/CDC_Backend/APIs/constants.py @@ -47,7 +47,14 @@ DEGREE_CHOICES = [ TOTAL_BRANCHES = 4 # Total No of Branches TOTAL_BATCHES = 5 # Total No of Batches -CDC_MAIl_ADDRESS = 'cdc@iitdh.ac.in' +CDC_REPS_EMAILS = [ + "cdc@iitdh.ac.in", + "cdcfic@iitdh.ac.in", + "priyanka.naga@iitdh.ac.in", + "bharathbn@iitdh.ac.in", + "naveenmb@iitdh.ac.in", + "sraut@iitdh.ac.in" +] # To be Configured Properly CLIENT_ID = os.environ.get('GOOGLE_OAUTH_CLIENT_ID') # Google Login Client ID @@ -228,6 +235,6 @@ INF_FACILITIES_PROVIDED = [ ['Medical', 'Medical'], ] -INF_TOTAL_SEASONS = 4 +INF_TOTAL_SEASONS = len(SEASONS) -INF_TOTAL_FACILITIES = 4 +INF_TOTAL_FACILITIES = len(FACILITIES_CHOICES) diff --git a/CDC_Backend/APIs/models.py b/CDC_Backend/APIs/models.py index 1f6496b..b813fb0 100644 --- a/CDC_Backend/APIs/models.py +++ b/CDC_Backend/APIs/models.py @@ -211,7 +211,7 @@ class Placement(models.Model): return super(Placement, self).save(*args, **kwargs) def __str__(self): - return self.company_name + " - " + self.id + return self.company_name + " - " + self.designation class PlacementApplication(models.Model): @@ -327,9 +327,10 @@ class Internship(models.Model): blank=True) stipend=models.IntegerField(blank=False, default=None, null=True) facilities_provided=ArrayField( - models.CharField(choices=INF_FACILITIES_PROVIDED, blank=False, max_length=20), + models.CharField(null=True, choices=INF_FACILITIES_PROVIDED, max_length=20), size=INF_TOTAL_FACILITIES, - default=list + default=list, + blank=True ) additional_facilities = models.CharField(blank=True, max_length=JNF_TEXTAREA_MAX_CHARACTER_COUNT, default=None, null=True) academic_requirements = models.CharField(blank=True, max_length=JNF_TEXTAREA_MAX_CHARACTER_COUNT, default=None, null=True) @@ -410,7 +411,47 @@ class Internship(models.Model): return super(Internship, self).save(*args, **kwargs) def __str__(self): - return self.company_name + " - " + self.id + return self.company_name + " - " + self.designation + + +class InternshipApplication(models.Model): + id = models.CharField(blank=False, primary_key=True, max_length=15) + internship = models.ForeignKey(Internship, blank=False, on_delete=models.RESTRICT, default=None, null=True) + student = models.ForeignKey(Student, blank=False, on_delete=models.CASCADE) + resume = models.CharField(max_length=JNF_TEXT_MAX_CHARACTER_COUNT, blank=False, null=True, default=None) + additional_info = models.JSONField(blank=True, null=True, default=None) + selected = models.BooleanField(null=True, default=None, blank=True) + stipend = models.IntegerField(blank=True, default=None, null=True) + applied_at = models.DateTimeField(blank=False, default=None, null=True) + updated_at = models.DateTimeField(blank=False, default=None, null=True) + changed_by = models.ForeignKey(User, blank=False, on_delete=models.RESTRICT, default=None, null=True) + history = HistoricalRecords(user_model=User) + + def save(self, *args, **kwargs): + ''' On save, add timestamps ''' + if not self.applied_at: + self.applied_at = timezone.now() + self.updated_at = timezone.now() + + return super(InternshipApplication, self).save(*args, **kwargs) + + @property + def _history_user(self): + return self.changed_by + + @_history_user.setter + def _history_user(self, value): + if isinstance(value, User): + self.changed_by = value + else: + self.changed_by = None + + class Meta: + verbose_name_plural = "Internship Applications" + unique_together = ('internship_id', 'student_id') + + def __str__(self): + return self.internship.company_name + " - " + self.student.name class Contributor(models.Model): diff --git a/CDC_Backend/APIs/utils.py b/CDC_Backend/APIs/utils.py index 851c99e..435edb3 100644 --- a/CDC_Backend/APIs/utils.py +++ b/CDC_Backend/APIs/utils.py @@ -416,7 +416,7 @@ def exception_email(opening): "html": pdfhtml, } - sendEmail(CDC_MAIl_ADDRESS, COMPANY_OPENING_ERROR_TEMPLATE.format(company_name=opening["company_name"]), data, + sendEmail("cdc@iitdh.ac.in", COMPANY_OPENING_ERROR_TEMPLATE.format(company_name=opening["company_name"]), data, COMPANY_OPENING_SUBMITTED_TEMPLATE, attachment_jnf_respone) @@ -448,7 +448,10 @@ def send_email_for_opening(opening): # Prepare email data and attachment pdfhtml = opening_description_table_html(opening) - name = opening.company_name + '_jnf_response.pdf' + if isinstance(opening, Placement): + name = opening.company_name + '_jnf_response.pdf' + elif isinstance(opening, Internship): + name = opening.company_name + '_inf_response.pdf' attachment_jnf_respone = { "name": name, "html": pdfhtml, @@ -459,10 +462,7 @@ def send_email_for_opening(opening): "company_name": opening.company_name, } - if DEBUG: - emails = [opening.email] - else: - emails = [opening.email, CDC_MAIl_ADDRESS] + emails = [opening.email] + CDC_REPS_EMAILS # Send the email sendEmail(emails, COMPANY_OPENING_SUBMITTED_TEMPLATE_SUBJECT.format(id=opening.designation, company=opening.company_name), data,