diff --git a/NorahUniversity/__pycache__/settings.cpython-312.pyc b/NorahUniversity/__pycache__/settings.cpython-312.pyc index 7d14999..648d4bf 100644 Binary files a/NorahUniversity/__pycache__/settings.cpython-312.pyc and b/NorahUniversity/__pycache__/settings.cpython-312.pyc differ diff --git a/db.sqlite3 b/db.sqlite3 index f69db19..4df3956 100644 Binary files a/db.sqlite3 and b/db.sqlite3 differ diff --git a/recruitment/__pycache__/forms.cpython-312.pyc b/recruitment/__pycache__/forms.cpython-312.pyc index 676af2b..9c5c51f 100644 Binary files a/recruitment/__pycache__/forms.cpython-312.pyc and b/recruitment/__pycache__/forms.cpython-312.pyc differ diff --git a/recruitment/__pycache__/models.cpython-312.pyc b/recruitment/__pycache__/models.cpython-312.pyc index 8546972..8037941 100644 Binary files a/recruitment/__pycache__/models.cpython-312.pyc and b/recruitment/__pycache__/models.cpython-312.pyc differ diff --git a/recruitment/__pycache__/signals.cpython-312.pyc b/recruitment/__pycache__/signals.cpython-312.pyc index e8303fa..784a796 100644 Binary files a/recruitment/__pycache__/signals.cpython-312.pyc and b/recruitment/__pycache__/signals.cpython-312.pyc differ diff --git a/recruitment/__pycache__/urls.cpython-312.pyc b/recruitment/__pycache__/urls.cpython-312.pyc index f89276b..dda7654 100644 Binary files a/recruitment/__pycache__/urls.cpython-312.pyc and b/recruitment/__pycache__/urls.cpython-312.pyc differ diff --git a/recruitment/__pycache__/utils.cpython-312.pyc b/recruitment/__pycache__/utils.cpython-312.pyc index bc58dfb..30b5486 100644 Binary files a/recruitment/__pycache__/utils.cpython-312.pyc and b/recruitment/__pycache__/utils.cpython-312.pyc differ diff --git a/recruitment/__pycache__/views.cpython-312.pyc b/recruitment/__pycache__/views.cpython-312.pyc index 5166bda..23664e6 100644 Binary files a/recruitment/__pycache__/views.cpython-312.pyc and b/recruitment/__pycache__/views.cpython-312.pyc differ diff --git a/recruitment/__pycache__/views_frontend.cpython-312.pyc b/recruitment/__pycache__/views_frontend.cpython-312.pyc index 1b05fc2..6ad7682 100644 Binary files a/recruitment/__pycache__/views_frontend.cpython-312.pyc and b/recruitment/__pycache__/views_frontend.cpython-312.pyc differ diff --git a/recruitment/forms.py b/recruitment/forms.py index 8317b4b..6cec608 100644 --- a/recruitment/forms.py +++ b/recruitment/forms.py @@ -480,6 +480,9 @@ class JobPostingStatusForm(forms.ModelForm): class Meta: model = JobPosting fields = ['status'] + widgets = { + 'status': forms.Select(attrs={'class': 'form-select'}), + } class FormTemplateIsActiveForm(forms.ModelForm): class Meta: model = FormTemplate diff --git a/recruitment/views.py b/recruitment/views.py index 82c536a..a62796b 100644 --- a/recruitment/views.py +++ b/recruitment/views.py @@ -15,7 +15,7 @@ from .forms import ( ZoomMeetingForm, JobPostingForm, FormTemplateForm, - InterviewScheduleForm,JobStatusUpdateForm, + InterviewScheduleForm,JobPostingStatusForm, BreakTimeFormSet, ) from rest_framework import viewsets @@ -277,12 +277,12 @@ def job_detail(request, slug): interview_count = candidates.filter(stage="Interview").count() offer_count = candidates.filter(stage="Offer").count() - status_form = JobStatusUpdateForm(instance=job) + status_form = JobPostingStatusForm(instance=job) # 2. Check for POST request (Status Update Submission) if request.method == 'POST': - status_form = JobStatusUpdateForm(request.POST, instance=job) + status_form = JobPostingStatusForm(request.POST, instance=job) if status_form.is_valid(): status_form.save() diff --git a/templates/jobs/job_detail.html b/templates/jobs/job_detail.html index 5e90f5e..c4c7001 100644 --- a/templates/jobs/job_detail.html +++ b/templates/jobs/job_detail.html @@ -46,7 +46,15 @@ .bg-secondary { background-color: #6c757d !important; } .bg-danger { background-color: #dc3545 !important; } - + /* Fix for active tab text visibility */ + .nav-tabs .nav-link.active, + .right-column-tabs .nav-link.active { + color: var(--kaauh-teal-dark) !important; + background-color: white !important; + border-bottom: 3px solid var(--kaauh-teal) !important; + font-weight: 600; + z-index: 2; + } /* Card enhancements */ .card { border: 1px solid var(--kaauh-border); @@ -198,6 +206,8 @@ display: inline-flex; align-items: center; gap: 0.5rem; + justify-content: center; + text-align: center; } .btn-main-action:hover { @@ -247,7 +257,7 @@
| - {{ candidate.first_name }} {{ candidate.last_name }} - | -- - {{ candidate.stage }} - - | -- - - - | -
+ {% trans "Manage the custom application forms associated with this job posting." %} +
+ + {% if not job.form_template %} + + {% trans "Create New Form Template" %} + + {% else %} + + {% trans "View Form Template" %} + + {% endif %} + + +- {% trans "Manage the custom application forms associated with this job posting." %} -
- - - {% trans "Create New Form" %} - - - - {% trans "View All Existing Forms" %} - - - - {% trans "Create Candidate" %} - -{% trans "Internal Job ID:" %} {{ job.internal_job_id }}
-{% trans "Created:" %} {{ job.created_at|date:"M d, Y" }}
-{% trans "Last Updated:" %} {{ job.updated_at|date:"M d, Y" }}
- {% if job.reporting_to %} -{% trans "Reports To:" %} {{ job.reporting_to }}
- {% endif %} -