149 lines
5.2 KiB
HTML
149 lines
5.2 KiB
HTML
<!-- templates/recruitment/interview_detail.html -->
|
|
{% extends "base.html" %}
|
|
{% load static i18n %}
|
|
|
|
{% block customCSS %}
|
|
<style>
|
|
:root {
|
|
--calendar-color: #00636e;
|
|
}
|
|
|
|
.detail-header {
|
|
background-color: var(--calendar-color);
|
|
color: white;
|
|
padding: 1rem;
|
|
border-radius: 0.25rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.detail-card {
|
|
border-left: 4px solid var(--calendar-color);
|
|
}
|
|
|
|
.status-badge {
|
|
font-size: 0.875rem;
|
|
padding: 0.25rem 0.75rem;
|
|
border-radius: 1rem;
|
|
}
|
|
|
|
.status-scheduled {
|
|
background-color: #e3f2fd;
|
|
color: #0d47a1;
|
|
}
|
|
|
|
.status-confirmed {
|
|
background-color: #e8f5e9;
|
|
color: #1b5e20;
|
|
}
|
|
|
|
.status-cancelled {
|
|
background-color: #ffebee;
|
|
color: #b71c1c;
|
|
}
|
|
|
|
.status-completed {
|
|
background-color: #f5f5f5;
|
|
color: #424242;
|
|
}
|
|
</style>
|
|
{% endblock %}
|
|
|
|
{% block content %}
|
|
<div class="container mt-4">
|
|
<div class="detail-header">
|
|
<div class="d-flex justify-content-between align-items-center">
|
|
<h1 class="h3 mb-0">{% trans "Interview Details" %}</h1>
|
|
<div>
|
|
<span class="h5">{{ job.title }}</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="card detail-card mb-4">
|
|
<div class="card-body">
|
|
<div class="row">
|
|
<div class="col-md-6">
|
|
<h5>{% trans "Applicant Information"%}</h5>
|
|
<table class="table table-borderless">
|
|
<tr>
|
|
<td><strong>{% trans "Name:" %}</strong></td>
|
|
<td>{{ interview.candidate.name }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>{% trans "Email:" %}</strong></td>
|
|
<td>{{ interview.candidate.email }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>{% trans "Phone:" %}</strong></td>
|
|
<td>{{ interview.candidate.phone|default:"Not provided" }}</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="col-md-6">
|
|
<h5>{% trans "Interview Details" %}</h5>
|
|
<table class="table table-borderless">
|
|
<tr>
|
|
<td><strong>{% trans "Date:" %}</strong></td>
|
|
<td>{{ interview.interview_date|date:"l, F j, Y" }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>{% trans "Time:" %}</strong></td>
|
|
<td>{{ interview.interview_time|time:"g:i A" }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>{% trans "Status:" %}</strong></td>
|
|
<td>
|
|
<span class="status-badge status-{{ interview.status }}">
|
|
{{ interview.status|title }}
|
|
</span>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
{% if interview.zoom_meeting %}
|
|
<div class="mt-4">
|
|
<h5>{% trans "Meeting Information" %}</h5>
|
|
<table class="table table-borderless">
|
|
<tr>
|
|
<td><strong>{% trans "Meeting ID:" %}</strong></td>
|
|
<td>{{ interview.zoom_meeting.meeting_id }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>{% trans "Topic:" %}</strong></td>
|
|
<td>{{ interview.zoom_meeting.topic }}</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>{% trans "Duration:" %}</strong></td>
|
|
<td>{{ interview.zoom_meeting.duration }} {% trans "minutes" %}</td>
|
|
</tr>
|
|
<tr>
|
|
<td><strong>{% trans "Join URL:" %}</strong></td>
|
|
<td><a href="{{ interview.zoom_meeting.join_url }}" target="_blank">{{ interview.zoom_meeting.join_url }}</a></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div class="mt-4">
|
|
<div class="d-flex gap-2">
|
|
<a href="{% url 'interview_calendar' slug=job.slug %}" class="btn btn-secondary">
|
|
<i class="fas fa-calendar"></i> {% trans "Back to Calendar" %}
|
|
</a>
|
|
{% if interview.status == 'scheduled' %}
|
|
<button class="btn btn-success">
|
|
<i class="fas fa-check"></i> {% trans "Confirm Interview" %}
|
|
</button>
|
|
{% endif %}
|
|
{% if interview.status != 'cancelled' and interview.status != 'completed' %}
|
|
<button class="btn btn-danger">
|
|
<i class="fas fa-times"></i> {% trans "Cancel Interview" %}
|
|
</button>
|
|
{% endif %}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endblock %} |