From d0235bfefe75decba8d6276028ab8d88ecfb9061 Mon Sep 17 00:00:00 2001 From: Faheed Date: Mon, 17 Nov 2025 12:48:32 +0300 Subject: [PATCH] changes --- .../__pycache__/settings.cpython-312.pyc | Bin 8849 -> 8897 bytes .../__pycache__/urls.cpython-312.pyc | Bin 3229 -> 3238 bytes recruitment/__pycache__/admin.cpython-312.pyc | Bin 9926 -> 9831 bytes recruitment/__pycache__/forms.cpython-312.pyc | Bin 78644 -> 84205 bytes .../__pycache__/models.cpython-312.pyc | Bin 106984 -> 107063 bytes .../__pycache__/serializers.cpython-312.pyc | Bin 1236 -> 1245 bytes .../__pycache__/signals.cpython-312.pyc | Bin 8114 -> 7900 bytes recruitment/__pycache__/views.cpython-312.pyc | Bin 185031 -> 187287 bytes recruitment/admin.py | 2 +- recruitment/forms.py | 6 +- recruitment/models.py | 494 ++++++++++-------- 11 files changed, 277 insertions(+), 225 deletions(-) diff --git a/NorahUniversity/__pycache__/settings.cpython-312.pyc b/NorahUniversity/__pycache__/settings.cpython-312.pyc index 741dbde2ba80d3bcafbd3231b3d0a7c1e09f0779..d8f921754502ef2231465b51df5fc35dda9a39a4 100644 GIT binary patch delta 1114 zcmYLHOH&kA6z)^rAq`@bhH!%0IawBrr^*7S-P0Jx7>!_@Mvv!gE|R>ON6OWJ;p&@6yLthpt8ZaZ>2wXvUBdacq&s#&z9V^dc zEyLm*4TbWC3fSx_x{j5yFlLMytUCI(#%*qB4eNLhckn*jA7BF?;v?L3yts!=e2h2K)XHisLQ#eC&yL#t@Xs-UHypuk<)Y{i@osj70|97ggM6 zW|C>6>a&ycONQHcHITP*dBd_zqY(30UsWDN{_u&Pq!AqnC*ljaj1j+?Trdp8XRX{V qBV`xlkI|ukUuYVCTA?JLMehcl*Le5qziE-@yDOUqc6z-&j{OTa#Y<-Z delta 1068 zcmYLIOLG)e6rS7D^I&iyjPoF1LP7$`Oh_gP3FO5y8NwssC15-%8u*${>r8smGbALU zqljTozvXZgNwF_5l+*oA|mOB?NEGd71=Qb7XuJfI9&*STJ?(O?yZY|ev zKN^kr`04pQVcqXrYpC}liUw1ogz3ZMRY6H?q7*{31)Hf6F+71d5~i>OlCEY6+KQCC zp>=m`xvME2pU)Hsp^>Y%R#nzES2qPU;Yn)d>L$4=CgeTQSZTQ{9_6DIJJ99^nX3iu z*vU2R*yUk|hnwhP!Ixj@r>hJE74o>}DOJ4s@f3SvrxWG2m;`dRj1hz2lBgB%}`Wo=N5%5SxO zm9h09X$bpi7zenWgH^$Js48&S+mI0)p;3&}7$#^xa&!Pk=^!TQ5X)iaK7wO3j^i|e z6a3X2PSR19Nlei(Ow)0kq7yhxCvgU6aSl%*!ULRVD}oCZ-m8mv8Z)jR&w%hOo@48I z4qb9Jyuk9J`xs4O7MF2_SAgN^t1vx12g}nh;bl+fQBc|p(lq8_^B6^SX1w1%EO=u% zJXQ&1&hg<|wW0!x>{{|1*Q>&qHm0%cYU>&++|VnyfmiVwDr~=wH*gbg;+Cu9Exe6) z@UCaShxhRTZY$f=`ItX+1NewPrQVNSKYLbPKb^uForb_C`7?#HbWUE<8>5mB@jUL( zg=H=MY3-K&m%sK+c>4wsmOpJC_y4K+WH6QqUgV$4nUQ;A-Rq_mTM$=j4`OYi)mFih zg0cc{d5x`fi!<*zLI&Ww(R+mvn1~&$HaB{cQTXwN=5WV%UE)% zD)Vav%QBnl6f1HjHPn$;2?47xYZ~=HdG>PN@H($YijG}0oU&z<(thW&+7GGU0^&P) zr)e}glAW^)M)vCLoMAxz(KH+h^9@v&u=Kg?Y`z(L81@Bvf7OQ{2K?K!pM9x+BDL?E KH|TnhbN&UR_BW^i diff --git a/NorahUniversity/__pycache__/urls.cpython-312.pyc b/NorahUniversity/__pycache__/urls.cpython-312.pyc index f543051cd4d7e84f457108a7b06de5f25fb25b7d..b2d58f64349025c9a71d0363e86cc8c67bb34400 100644 GIT binary patch delta 48 zcmbO$xlEG#G%qg~0}#A;EVYqao=ePLKO;XkRX;5;BQ-TeKcFZ-D>b>Kc(XZI8WR9i CbPmV> delta 39 tcmZ1`IaiYVG%qg~0}w2~Bf61Wo{QH^KO;XkRX;5;BQ-T;vjbNe69CYh3i$v4 diff --git a/recruitment/__pycache__/admin.cpython-312.pyc b/recruitment/__pycache__/admin.cpython-312.pyc index 8f7e3a6f718c1894a29401ba240937d62c2a32a3..6908ef3c5bd29d0f2c3a0b09ea1350bbc7d2136a 100644 GIT binary patch delta 2555 zcmb7G-%ndr9PcfqE&TxngwoPN%a4-FZ<#Y$Alrhd;GnaNiK3BR+LKbawB5P44oGyy z=|;i>!>6a8@9*#V zo^$V~Bi|1@KX*E92KM~9>rE`LIz7VtYRjco!4NaVEOPCfZ^9=Sj0WP{LM8T0_>G1q z4KeHMhFA#^X8Is3cwH0qoU}30zDHUo0?baB>4zpkghrtf&I#p~#w<6#&$)$u_+tNG zxurR)5isVgLRn7D<65%ZXIbvH5k2{ea#mtiBc0BIjK$@3o~d5aH=^qnav9+=$$HTmIQ@t{xv9`n8J zU(81ZvyUlJA9Psj%prXlv5tlPY#A0yXgyK^gdl(S}Y$U z(dlF&D#?KXqDl!_5lyrUuG;#9Zn$gn*ty3?(5MG~wq0ZFiv2}1Po@_h*v|?f7;>x# z$Kh*7t>*;l^)paR32BB~e?zns*tu!X7WO6z|s6?aF z3x%DDplSqucg^daiNH(ciqHYO>S`Vlkf+I)y|OA%=jHAr@&SMb5-|Dw-{m z#+b25Nu@_oC0jS2roUTjmJ4J`NvK3KWfa!j@Qu8&x9D?^b@;0aW?MqP65OpA($ki< zeU-fe&zR+zM(KG5TIq!polVOU+dp+7P4YLECQ&PeFvmbF;y=6u8b>yldvTsF_pP9u z2e1yOq7oh%)&nQpf9Qm81gfj9wV_MR7NvxDVrn7hSF;Z#RT8JVm5GkRH&v$u3a!;Y zn9=281B}$vK)2g|=n=ULw>@r{b)RGh>Xv&$ScbuxrbD%_z#BDZc$*e$;f}i+eyw@g zyo{0Rd88GO^-$X-7HM3!^`WgdDyI|@3yY-(ja#slUdGOxM!15ogix?|GIBC3dH>M& zPUeU4z1s9Kz9X-on2#O@#(HMSS%(uGSII(_+~OA!;HS-@Enp20Eva-$xBDH z|6}*idji#8ju0 zQKzXFK5F#n?^F@KZ1hI>tsg;SeqHdnXW| delta 2614 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 delta 6639 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 delta 26619 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 C<`2>U delta 39 tcmcc1d4-evG%qg~0}w2~Bf61$6C+v36H5lFZ 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 UFC*b-4FTGElz!ZzbBu*=0o#&K6951J diff --git a/recruitment/__pycache__/views.cpython-312.pyc b/recruitment/__pycache__/views.cpython-312.pyc index 2f473d0e7a775d66e21924fb4a1f302c923d7a9b..2b263c2bbe78377b9733cbabbd036e1d5bbcd115 100644 GIT binary patch delta 55952 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 z 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 delta 53939 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 diff --git a/recruitment/admin.py b/recruitment/admin.py index 140291a..55ccefa 100644 --- a/recruitment/admin.py +++ b/recruitment/admin.py @@ -5,7 +5,7 @@ from django.utils import timezone from .models import ( JobPosting, Application, TrainingMaterial, ZoomMeetingDetails, FormTemplate, FormStage, FormField, FormSubmission, FieldResponse, - SharedFormTemplate, Source, HiringAgency, IntegrationLog,InterviewSchedule,JobPostingImage,MeetingComment, + SharedFormTemplate, Source, HiringAgency, IntegrationLog,InterviewSchedule,JobPostingImage,InterviewNote, AgencyAccessLink, AgencyJobAssignment ) from django.contrib.auth import get_user_model diff --git a/recruitment/forms.py b/recruitment/forms.py index 491bf2d..90f5aaa 100644 --- a/recruitment/forms.py +++ b/recruitment/forms.py @@ -18,7 +18,7 @@ from .models import ( InterviewSchedule, BreakTime, JobPostingImage, - MeetingComment, + InterviewNote, ScheduledInterview, Source, HiringAgency, @@ -26,7 +26,7 @@ from .models import ( AgencyAccessLink, Participants, Message, - Person,OnsiteMeeting, + Person,OnsiteLocationDetails, Document ) @@ -725,7 +725,7 @@ class InterviewScheduleForm(forms.ModelForm): ) class Meta: - model = InterviewSchedule + model = InterviewSchedule fields = [ 'schedule_interview_type', "applications", diff --git a/recruitment/models.py b/recruitment/models.py index 0f7cc7e..e3c33cc 100644 --- a/recruitment/models.py +++ b/recruitment/models.py @@ -983,137 +983,326 @@ class TrainingMaterial(Base): return self.title -class OnsiteMeeting(Base): - class MeetingStatus(models.TextChoices): +class InterviewLocation(Base): + """ + Base model for all interview location/meeting details (remote or onsite) + using Multi-Table Inheritance. + """ + class LocationType(models.TextChoices): + REMOTE = 'Remote', _('Remote (e.g., Zoom, Google Meet)') + ONSITE = 'Onsite', _('In-Person (Physical Location)') + + class Status(models.TextChoices): + """Defines the possible real-time statuses for any interview location/meeting.""" WAITING = "waiting", _("Waiting") STARTED = "started", _("Started") ENDED = "ended", _("Ended") CANCELLED = "cancelled", _("Cancelled") - # Basic meeting details - topic = models.CharField(max_length=255, verbose_name=_("Topic")) - start_time = models.DateTimeField( - db_index=True, verbose_name=_("Start Time") - ) # Added index - duration = models.PositiveIntegerField( - verbose_name=_("Duration") - ) # Duration in minutes - timezone = models.CharField(max_length=50, verbose_name=_("Timezone")) - location = models.CharField(null=True, blank=True) - status = models.CharField( - db_index=True, - max_length=20, # Added index - null=True, + location_type = models.CharField( + max_length=10, + choices=LocationType.choices, + verbose_name=_("Location Type"), + db_index=True + ) + + details_url = models.URLField( + verbose_name=_("Meeting/Location URL"), + max_length=2048, blank=True, - verbose_name=_("Status"), - default=MeetingStatus.WAITING, + null=True + ) + + topic = models.CharField( # Renamed from 'description' to 'topic' to match your input + max_length=255, + verbose_name=_("Location/Meeting Topic"), + blank=True, + help_text=_("e.g., 'Zoom Topic: Software Interview' or 'Main Conference Room, 3rd Floor'") + ) + + timezone = models.CharField( + max_length=50, + verbose_name=_("Timezone"), + default='UTC' ) + def __str__(self): + # Use 'topic' instead of 'description' + return f"{self.get_location_type_display()} - {self.topic[:50]}" -class ZoomMeeting(Base): - class MeetingStatus(models.TextChoices): - WAITING = "waiting", _("Waiting") - STARTED = "started", _("Started") - ENDED = "ended", _("Ended") - CANCELLED = "cancelled", _("Cancelled") + class Meta: + verbose_name = _("Interview Location") + verbose_name_plural = _("Interview Locations") - # Basic meeting details - topic = models.CharField(max_length=255, verbose_name=_("Topic")) - meeting_id = models.CharField( + +class ZoomMeetingDetails(InterviewLocation): + """Concrete model for remote interviews (Zoom specifics).""" + + status = models.CharField( db_index=True, max_length=20, - unique=True, - verbose_name=_("Meeting ID"), # Added index - ) # Unique identifier for the meeting + choices=InterviewLocation.Status.choices, + default=InterviewLocation.Status.WAITING, + ) start_time = models.DateTimeField( db_index=True, verbose_name=_("Start Time") - ) # Added index + ) duration = models.PositiveIntegerField( - verbose_name=_("Duration") - ) # Duration in minutes - timezone = models.CharField(max_length=50, verbose_name=_("Timezone")) - join_url = models.URLField( - verbose_name=_("Join URL") - ) # URL for participants to join - participant_video = models.BooleanField( - default=True, verbose_name=_("Participant Video") + verbose_name=_("Duration (minutes)") + ) + meeting_id = models.CharField( + db_index=True, + max_length=50, + unique=True, + verbose_name=_("External Meeting ID") ) password = models.CharField( max_length=20, blank=True, null=True, verbose_name=_("Password") ) + zoom_gateway_response = models.JSONField( + blank=True, null=True, verbose_name=_("Zoom Gateway Response") + ) + participant_video = models.BooleanField( + default=True, verbose_name=_("Participant Video") + ) join_before_host = models.BooleanField( default=False, verbose_name=_("Join Before Host") ) + + host_email=models.CharField(null=True,blank=True) mute_upon_entry = models.BooleanField( default=False, verbose_name=_("Mute Upon Entry") ) waiting_room = models.BooleanField(default=False, verbose_name=_("Waiting Room")) - zoom_gateway_response = models.JSONField( - blank=True, null=True, verbose_name=_("Zoom Gateway Response") + # *** REVERTED TO @classmethod (Factory Method) for cleaner instantiation *** + # @classmethod + # def create(cls, **kwargs): + # """Factory method to ensure location_type is set to REMOTE.""" + # return cls(location_type=InterviewLocation.LocationType.REMOTE, **kwargs) + + class Meta: + verbose_name = _("Zoom Meeting Details") + verbose_name_plural = _("Zoom Meeting Details") + + +class OnsiteLocationDetails(InterviewLocation): + """Concrete model for onsite interviews (Room/Address specifics).""" + + physical_address = models.CharField( + max_length=255, + verbose_name=_("Physical Address"), + blank=True, + null=True + ) + room_number = models.CharField( + max_length=50, + verbose_name=_("Room Number/Name"), + blank=True, + null=True + ) + start_time = models.DateTimeField( + db_index=True, verbose_name=_("Start Time") + ) + duration = models.PositiveIntegerField( + verbose_name=_("Duration (minutes)") ) status = models.CharField( db_index=True, - max_length=20, # Added index + max_length=20, + choices=InterviewLocation.Status.choices, + default=InterviewLocation.Status.WAITING, + ) + + # *** REVERTED TO @classmethod (Factory Method) for cleaner instantiation *** + # @classmethod + # def create(cls, **kwargs): + # """Factory method to ensure location_type is set to ONSITE.""" + # return cls(location_type=InterviewLocation.LocationType.ONSITE, **kwargs) + + class Meta: + verbose_name = _("Onsite Location Details") + verbose_name_plural = _("Onsite Location Details") + + +# --- 2. Scheduling Models --- + +class InterviewSchedule(Base): + """Stores the TEMPLATE criteria for BULK interview generation.""" + + # We need a field to store the template location details linked to this bulk schedule. + # This location object contains the generic Zoom/Onsite info to be cloned. + template_location = models.ForeignKey( + InterviewLocation, + on_delete=models.SET_NULL, + related_name="schedule_templates", null=True, blank=True, - verbose_name=_("Status"), - default=MeetingStatus.WAITING, + verbose_name=_("Location Template (Zoom/Onsite)") + ) + + # NOTE: schedule_interview_type field is needed in the form, + # but not on the model itself if we use template_location. + # If you want to keep it: + schedule_interview_type = models.CharField( + max_length=10, + choices=InterviewLocation.LocationType.choices, + verbose_name=_("Interview Type"), + default=InterviewLocation.LocationType.REMOTE + ) + + job = models.ForeignKey( + JobPosting, + on_delete=models.CASCADE, + related_name="interview_schedules", + db_index=True, + ) + applications = models.ManyToManyField( + Application, related_name="interview_schedules", blank=True + ) + + start_date = models.DateField(db_index=True, verbose_name=_("Start Date")) + end_date = models.DateField(db_index=True, verbose_name=_("End Date")) + + working_days = models.JSONField( + verbose_name=_("Working Days") + ) + + start_time = models.TimeField(verbose_name=_("Start Time")) + end_time = models.TimeField(verbose_name=_("End Time")) + + break_start_time = models.TimeField( + verbose_name=_("Break Start Time"), null=True, blank=True + ) + break_end_time = models.TimeField( + verbose_name=_("Break End Time"), null=True, blank=True + ) + + interview_duration = models.PositiveIntegerField( + verbose_name=_("Interview Duration (minutes)") + ) + buffer_time = models.PositiveIntegerField( + verbose_name=_("Buffer Time (minutes)"), default=0 + ) + created_by = models.ForeignKey( + User, on_delete=models.CASCADE, db_index=True ) - # Timestamps def __str__(self): - return self.topic - - @property - def get_job(self): - return self.interview.job - - @property - def get_candidate(self): - return self.interview.application.person - - @property - def candidate_full_name(self): - return self.interview.application.person.full_name - - @property - def get_participants(self): - return self.interview.job.participants.all() - - @property - def get_users(self): - return self.interview.job.users.all() + return f"Schedule for {self.job.title}" -class MeetingComment(Base): - """ - Model for storing meeting comments/notes - """ +class ScheduledInterview(Base): + """Stores individual scheduled interviews (whether bulk or individually created).""" + + class InterviewStatus(models.TextChoices): + SCHEDULED = "scheduled", _("Scheduled") + CONFIRMED = "confirmed", _("Confirmed") + CANCELLED = "cancelled", _("Cancelled") + COMPLETED = "completed", _("Completed") - meeting = models.ForeignKey( - ZoomMeeting, + application = models.ForeignKey( + Application, on_delete=models.CASCADE, - related_name="comments", - verbose_name=_("Meeting"), + related_name="scheduled_interviews", + db_index=True, ) + job = models.ForeignKey( + JobPosting, + on_delete=models.CASCADE, + related_name="scheduled_interviews", + db_index=True, + ) + + # Links to the specific, individual location/meeting details for THIS interview + interview_location = models.OneToOneField( + InterviewLocation, + on_delete=models.SET_NULL, + related_name="scheduled_interview", + null=True, + blank=True, + db_index=True, + verbose_name=_("Meeting/Location Details") + ) + + # Link back to the bulk schedule template (optional if individually created) + schedule = models.ForeignKey( + InterviewSchedule, + on_delete=models.SET_NULL, + related_name="interviews", + null=True, + blank=True, + db_index=True, + ) + + participants = models.ManyToManyField('Participants', blank=True) + system_users = models.ManyToManyField(User, related_name="attended_interviews", blank=True) + + interview_date = models.DateField(db_index=True, verbose_name=_("Interview Date")) + interview_time = models.TimeField(verbose_name=_("Interview Time")) + + status = models.CharField( + db_index=True, + max_length=20, + choices=InterviewStatus.choices, + default=InterviewStatus.SCHEDULED, + ) + + def __str__(self): + return f"Interview with {self.application.person.full_name} for {self.job.title}" + + class Meta: + indexes = [ + models.Index(fields=["job", "status"]), + models.Index(fields=["interview_date", "interview_time"]), + models.Index(fields=["application", "job"]), + ] + + +# --- 3. Interview Notes Model (Fixed) --- + +class InterviewNote(Base): + """Model for storing notes, feedback, or comments related to a specific ScheduledInterview.""" + + class NoteType(models.TextChoices): + FEEDBACK = 'Feedback', _('Candidate Feedback') + LOGISTICS = 'Logistics', _('Logistical Note') + GENERAL = 'General', _('General Comment') + + 1 + interview = models.ForeignKey( + ScheduledInterview, + on_delete=models.CASCADE, + related_name="notes", + verbose_name=_("Scheduled Interview"), + db_index=True + ) + author = models.ForeignKey( User, on_delete=models.CASCADE, - related_name="meeting_comments", + related_name="interview_notes", verbose_name=_("Author"), + db_index=True ) - content = CKEditor5Field(verbose_name=_("Content"), config_name="extends") - # Inherited from Base: created_at, updated_at, slug - + + note_type = models.CharField( + max_length=50, + choices=NoteType.choices, + default=NoteType.FEEDBACK, + verbose_name=_("Note Type") + ) + + content = CKEditor5Field(verbose_name=_("Content/Feedback"), config_name="extends") + class Meta: - verbose_name = _("Meeting Comment") - verbose_name_plural = _("Meeting Comments") - ordering = ["-created_at"] + verbose_name = _("Interview Note") + verbose_name_plural = _("Interview Notes") + ordering = ["created_at"] def __str__(self): - return f"Comment by {self.author.get_username()} on {self.meeting.topic}" - + return f"{self.get_note_type_display()} by {self.author.get_username()} on {self.interview.id}" + class FormTemplate(Base): """ @@ -1926,143 +2115,6 @@ class BreakTime(models.Model): return f"{self.start_time} - {self.end_time}" -class InterviewSchedule(Base): - """Stores the scheduling criteria for interviews""" - - class InterviewType(models.TextChoices): - REMOTE = "Remote", "Remote Interview" - ONSITE = "Onsite", "In-Person Interview" - - interview_type = models.CharField( - max_length=10, - choices=InterviewType.choices, - default=InterviewType.REMOTE, - verbose_name="Interview Meeting Type", - ) - - job = models.ForeignKey( - JobPosting, - on_delete=models.CASCADE, - related_name="interview_schedules", - db_index=True, - ) - applications = models.ManyToManyField( - Application, related_name="interview_schedules", blank=True, null=True - ) - start_date = models.DateField( - db_index=True, verbose_name=_("Start Date") - ) # Added index - end_date = models.DateField( - db_index=True, verbose_name=_("End Date") - ) # Added index - working_days = models.JSONField( - verbose_name=_("Working Days") - ) # Store days of week as [0,1,2,3,4] for Mon-Fri - start_time = models.TimeField(verbose_name=_("Start Time")) - end_time = models.TimeField(verbose_name=_("End Time")) - - break_start_time = models.TimeField( - verbose_name=_("Break Start Time"), null=True, blank=True - ) - break_end_time = models.TimeField( - verbose_name=_("Break End Time"), null=True, blank=True - ) - - interview_duration = models.PositiveIntegerField( - verbose_name=_("Interview Duration (minutes)") - ) - buffer_time = models.PositiveIntegerField( - verbose_name=_("Buffer Time (minutes)"), default=0 - ) - created_by = models.ForeignKey( - User, on_delete=models.CASCADE, db_index=True - ) # Added index - - def __str__(self): - return f"Interview Schedule for {self.job.title}" - - class Meta: - indexes = [ - models.Index(fields=["start_date"]), - models.Index(fields=["end_date"]), - models.Index(fields=["created_by"]), - ] - - -class ScheduledInterview(Base): - """Stores individual scheduled interviews""" - - application = models.ForeignKey( - Application, - on_delete=models.CASCADE, - related_name="scheduled_interviews", - db_index=True, - ) - - participants = models.ManyToManyField("Participants", blank=True) - system_users = models.ManyToManyField(User, blank=True) - - job = models.ForeignKey( - "JobPosting", - on_delete=models.CASCADE, - related_name="scheduled_interviews", - db_index=True, - ) - zoom_meeting = models.OneToOneField( - ZoomMeeting, - on_delete=models.CASCADE, - related_name="interview", - db_index=True, - null=True, - blank=True, - ) - - onsite_meeting = models.OneToOneField( - OnsiteMeeting, - on_delete=models.CASCADE, - related_name="onsite_interview", - db_index=True, - null=True, - blank=True, - ) - schedule = models.ForeignKey( - InterviewSchedule, - on_delete=models.CASCADE, - related_name="interviews", - null=True, - blank=True, - db_index=True, - ) - - interview_date = models.DateField( - db_index=True, verbose_name=_("Interview Date") - ) # Added index - interview_time = models.TimeField(verbose_name=_("Interview Time")) - status = models.CharField( - db_index=True, - max_length=20, # Added index - choices=[ - ("scheduled", _("Scheduled")), - ("confirmed", _("Confirmed")), - ("cancelled", _("Cancelled")), - ("completed", _("Completed")), - ], - default="scheduled", - ) - created_at = models.DateTimeField(auto_now_add=True) - updated_at = models.DateTimeField(auto_now=True) - - def __str__(self): - return ( - f"Interview with {self.application.person.full_name} for {self.job.title}" - ) - - class Meta: - indexes = [ - models.Index(fields=["job", "status"]), - models.Index(fields=["interview_date", "interview_time"]), - models.Index(fields=["application", "job"]), - ] class Notification(models.Model): @@ -2101,7 +2153,7 @@ class Notification(models.Model): verbose_name=_("Status"), ) related_meeting = models.ForeignKey( - ZoomMeeting, + ZoomMeetingDetails, on_delete=models.CASCADE, related_name="notifications", null=True,