HH/templates/standards/attachment_upload.html

143 lines
6.3 KiB
HTML

{% extends 'layouts/base.html' %}
{% load i18n %}
{% block title %}{% trans "Upload Evidence" %}{% endblock %}
{% block content %}
<div class="container-fluid px-4">
<div class="d-flex justify-content-between align-items-center mb-4">
<div>
<h1 class="h3 mb-0">{% trans "Upload Evidence Attachment" %}</h1>
<p class="text-muted mb-0">{{ compliance.standard.code }} - {{ compliance.standard.title }}</p>
</div>
<a href="{% url 'standards:standard_compliance_update' compliance_id=compliance.id %}"
class="btn btn-outline-secondary">
<i class="fas fa-arrow-left me-2"></i>{% trans "Back to Assessment" %}
</a>
</div>
<div class="row">
<div class="col-lg-8">
<div class="card mb-4">
<div class="card-header">
<h5 class="card-title mb-0">{% trans "Upload New Attachment" %}</h5>
</div>
<div class="card-body">
<form method="post" enctype="multipart/form-data">
{% csrf_token %}
<div class="mb-3">
<label for="{{ form.file.id_for_label }}" class="form-label">
{% trans "File" %}
</label>
{{ form.file }}
{% if form.file.errors %}
<div class="text-danger">{{ form.file.errors }}</div>
{% endif %}
<small class="form-text text-muted">
{% trans "Accepted formats: PDF, DOC, DOCX, XLS, XLSX, JPG, PNG" %}
</small>
</div>
<div class="mb-3">
<label for="{{ form.description.id_for_label }}" class="form-label">
{% trans "Description" %}
</label>
{{ form.description }}
{% if form.description.errors %}
<div class="text-danger">{{ form.description.errors }}</div>
{% endif %}
</div>
<button type="submit" class="btn btn-primary">
<i class="fas fa-upload me-2"></i>{% trans "Upload" %}
</button>
<a href="{% url 'standards:standard_compliance_update' compliance_id=compliance.id %}"
class="btn btn-outline-secondary ms-2">
{% trans "Cancel" %}
</a>
</form>
</div>
</div>
</div>
<div class="col-lg-4">
<div class="card">
<div class="card-header">
<h5 class="card-title mb-0">{% trans "Compliance Details" %}</h5>
</div>
<div class="card-body">
<table class="table table-sm">
<tr>
<th width="40%">{% trans "Standard" %}</th>
<td>{{ compliance.standard.code }}</td>
</tr>
<tr>
<th>{% trans "Title" %}</th>
<td>{{ compliance.standard.title }}</td>
</tr>
<tr>
<th>{% trans "Department" %}</th>
<td>{{ compliance.department.name }}</td>
</tr>
<tr>
<th>{% trans "Status" %}</th>
<td>
<span class="badge {% if compliance.status == 'met' %}bg-success{% elif compliance.status == 'partially_met' %}bg-warning{% elif compliance.status == 'not_met' %}bg-danger{% else %}bg-secondary{% endif %}">
{{ compliance.get_status_display }}
</span>
</td>
</tr>
</table>
</div>
</div>
</div>
</div>
<!-- Existing Attachments -->
{% if compliance.attachments.all %}
<div class="card mt-4">
<div class="card-header">
<h5 class="card-title mb-0">{% trans "Existing Attachments" %}</h5>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th>{% trans "File Name" %}</th>
<th>{% trans "Description" %}</th>
<th>{% trans "Uploaded By" %}</th>
<th>{% trans "Date" %}</th>
<th>{% trans "Actions" %}</th>
</tr>
</thead>
<tbody>
{% for attachment in compliance.attachments.all %}
<tr>
<td>
<i class="fas fa-file me-2"></i>{{ attachment.filename }}
</td>
<td>{{ attachment.description|default:"-" }}</td>
<td>{{ attachment.uploaded_by.get_full_name }}</td>
<td>{{ attachment.created_at|date:"Y-m-d H:i" }}</td>
<td>
<a href="{{ attachment.file.url }}" target="_blank"
class="btn btn-sm btn-outline-primary">
<i class="fas fa-download"></i>
</a>
<a href="{% url 'standards:attachment_delete' pk=attachment.id %}"
class="btn btn-sm btn-outline-danger">
<i class="fas fa-trash"></i>
</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
{% endif %}
</div>
{% endblock %}