This commit is contained in:
ismail 2025-10-23 18:54:55 +03:00
parent a5e3198fdd
commit e3df7fd698
11 changed files with 29 additions and 24 deletions

View File

@ -135,9 +135,9 @@ WSGI_APPLICATION = 'NorahUniversity.wsgi.application'
DATABASES = { DATABASES = {
'default': { 'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2', 'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': 'haikal_db', 'NAME': 'norahuniversity',
'USER': 'faheed', 'USER': 'norahuniversity',
'PASSWORD': 'Faheed@215', 'PASSWORD': 'norahuniversity',
'HOST': '127.0.0.1', 'HOST': '127.0.0.1',
'PORT': '5432', 'PORT': '5432',
} }

View File

@ -162,7 +162,7 @@
font-size: 0.8rem !important; /* Slightly smaller font */ font-size: 0.8rem !important; /* Slightly smaller font */
} }
</style> </style>
{% endblock %} {% endblock %}
@ -195,7 +195,7 @@
{# Form 1: Status Update #} {# Form 1: Status Update #}
<form hx-boost="true" hx-include="#candidate-form" action="{% url 'candidate_update_status' job.slug %}" method="post" class="d-flex align-items-end gap-2 action-group"> <form hx-boost="true" hx-include="#candidate-form" action="{% url 'candidate_update_status' job.slug %}" method="post" class="d-flex align-items-end gap-2 action-group">
{% csrf_token %} {% csrf_token %}
{# Select Input Group - No label needed for this one, so we just flex the select and button #} {# Select Input Group - No label needed for this one, so we just flex the select and button #}
<select name="mark_as" id="update_status" class="form-select form-select-sm" style="width: 120px;"> <select name="mark_as" id="update_status" class="form-select form-select-sm" style="width: 120px;">
<option selected> <option selected>
@ -214,8 +214,8 @@
</form> </form>
{# Separator (Vertical Rule) - Aligns automatically at the bottom with align-items-end #} {# Separator (Vertical Rule) - Aligns automatically at the bottom with align-items-end #}
<div class="vr" style="height: 28px;"></div> <div class="vr" style="height: 28px;"></div>
{# Form 2: Schedule Interviews #} {# Form 2: Schedule Interviews #}
<form hx-boost="true" hx-include="#candidate-form" action="{% url 'schedule_interviews' job.slug %}" method="get" class="action-group"> <form hx-boost="true" hx-include="#candidate-form" action="{% url 'schedule_interviews' job.slug %}" method="get" class="action-group">
<button type="submit" class="btn btn-main-action btn-sm"> <button type="submit" class="btn btn-main-action btn-sm">
@ -240,15 +240,15 @@
</div> </div>
{% endif %} {% endif %}
</th> </th>
<th style="width: 8%"><i class="fas fa-user me-1"></i> {% trans "Name" %}</th> <th style="width: 13%"><i class="fas fa-user me-1"></i> {% trans "Name" %}</th>
<th style="width: 15%"><i class="fas fa-phone me-1"></i> {% trans "Contact" %}</th> <th style="width: 15%"><i class="fas fa-phone me-1"></i> {% trans "Contact" %}</th>
<th style="width: 15%"><i class="fas fa-tag me-1"></i> {% trans "Topic" %}</th> <th style="width: 15%"><i class="fas fa-tag me-1"></i> {% trans "Topic" %}</th>
<th style="width: 10%"><i class="fas fa-clock me-1"></i> {% trans "Duration" %}</th> <th style="width: 15%"><i class="fas fa-clock me-1"></i> {% trans "Duration" %}</th>
<th style="width: 10%"><i class="fas fa-calendar me-1"></i> {% trans "Meeting Date" %}</th> <th style="width: 10%"><i class="fas fa-calendar me-1"></i> {% trans "Meeting Date" %}</th>
<th style="width: 5%"><i class="fas fa-video me-1"></i> {% trans "Link" %}</th> <th style="width: 7%"><i class="fas fa-video me-1"></i> {% trans "Link" %}</th>
<th style="width: 5%"><i class="fas fa-check-circle me-1"></i> {% trans "Meeting Status" %}</th> <th style="width: 8%"><i class="fas fa-check-circle me-1"></i> {% trans "Meeting Status" %}</th>
<th style="width: 5%"><i class="fas fa-check-circle me-1"></i> {% trans "Interview Result" %}</th> <th style="width: 5%"><i class="fas fa-check-circle me-1"></i> {% trans "Interview Result" %}</th>
<th style="width: 15%"><i class="fas fa-cog me-1"></i> {% trans "Actions" %}</th> <th style="width: 10%"><i class="fas fa-cog me-1"></i> {% trans "Actions" %}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
@ -298,8 +298,8 @@
{% if latest_meeting and latest_meeting.join_url %} {% if latest_meeting and latest_meeting.join_url %}
<a href="{{ latest_meeting.join_url }}" target="_blank" class="btn btn-sm bg-primary-theme text-white" title="Join Interview" <a href="{{ latest_meeting.join_url }}" target="_blank" class="btn btn-sm bg-primary-theme text-white" title="Join Interview"
{% if latest_meeting.status == 'ended' %}disabled{% endif %}> {% if latest_meeting.status == 'ended' %}disabled{% endif %}>
click to join join
<i class="fas fa-video me-1"></i> <i class="fas fa-video me-1"></i>
</a> </a>
{% else %} {% else %}
<span class="text-muted">--</span> <span class="text-muted">--</span>
@ -332,10 +332,15 @@
<i class="fas fa-plus"></i> <i class="fas fa-plus"></i>
</button> </button>
{% else %} {% else %}
{% if candidate.interview_status == "Passed" %} {% if candidate.interview_status %}
<span class="status-badge bg-success">{{ candidate.interview_status }}</span> <button type="button" class="btn btn-{% if candidate.interview_status == 'Passed' %}success{% else %}danger{% endif %} btn-sm"
{% elif candidate.interview_status == "Failed" %} data-bs-toggle="modal"
<span class="status-badge bg-danger">{{ candidate.interview_status }}</span> data-bs-target="#candidateviewModal"
hx-get="{% url 'update_candidate_status' job.slug candidate.slug 'interview' 'passed' %}"
hx-target="#candidateviewModalBody"
title="Pass Exam">
{{ candidate.interview_status }}
</button>
{% else %} {% else %}
-- --
{% endif %} {% endif %}

View File

@ -162,7 +162,7 @@
font-size: 0.8rem !important; /* Slightly smaller font */ font-size: 0.8rem !important; /* Slightly smaller font */
} }
</style> </style>
{% endblock %} {% endblock %}
@ -196,7 +196,7 @@
{# Form: Hired/Rejected Status Update #} {# Form: Hired/Rejected Status Update #}
<form hx-boost="true" hx-include="#candidate-form" action="{% url 'candidate_update_status' job.slug %}" method="post" class="d-flex align-items-end gap-2 action-group"> <form hx-boost="true" hx-include="#candidate-form" action="{% url 'candidate_update_status' job.slug %}" method="post" class="d-flex align-items-end gap-2 action-group">
{% csrf_token %} {% csrf_token %}
{# Select element #} {# Select element #}
<select name="mark_as" id="update_status" class="form-select form-select-sm" style="width: 120px;"> <select name="mark_as" id="update_status" class="form-select form-select-sm" style="width: 120px;">
<option selected> <option selected>
@ -209,7 +209,7 @@
{% trans "To Rejected" %} {% trans "To Rejected" %}
</option> </option>
</select> </select>
{# Button #} {# Button #}
<button type="submit" class="btn btn-main-action btn-sm"> <button type="submit" class="btn btn-main-action btn-sm">
<i class="fas fa-arrow-right me-1"></i> {% trans "Move" %} <i class="fas fa-arrow-right me-1"></i> {% trans "Move" %}
@ -217,7 +217,7 @@
</form> </form>
{# Separator (Vertical Rule) #} {# Separator (Vertical Rule) #}
<div class="vr" style="height: 28px;"></div> <div class="vr" style="height: 28px;"></div>
</div> </div>
</div> </div>
@ -228,7 +228,7 @@
<table class="table candidate-table align-middle"> <table class="table candidate-table align-middle">
<thead> <thead>
<tr> <tr>
<th> <th style="width: 2%">
{% if candidates %} {% if candidates %}
<div class="form-check"> <div class="form-check">
<input <input
@ -238,7 +238,7 @@
</th> </th>
<th style="width: 15%"><i class="fas fa-user me-1"></i> {% trans "Name" %}</th> <th style="width: 15%"><i class="fas fa-user me-1"></i> {% trans "Name" %}</th>
<th style="width: 15%"><i class="fas fa-phone me-1"></i> {% trans "Contact" %}</th> <th style="width: 15%"><i class="fas fa-phone me-1"></i> {% trans "Contact" %}</th>
<th style="width: 10%"><i class="fas fa-check-circle me-1"></i> {% trans "Offer" %}</th> <th class="text-center" style="width: 10%"><i class="fas fa-check-circle me-1"></i> {% trans "Offer" %}</th>
<th style="width: 15%"><i class="fas fa-cog me-1"></i> {% trans "Actions" %}</th> <th style="width: 15%"><i class="fas fa-cog me-1"></i> {% trans "Actions" %}</th>
</tr> </tr>
</thead> </thead>