HH/templates/references/document_view.html

214 lines
9.8 KiB
HTML

{% extends "layouts/base.html" %}
{% load i18n %}
{% block title %}{{ document.title }} - {% trans "Reference Section" %}{% endblock %}
{% block content %}
<div class="container-fluid px-4">
<!-- Page Header -->
<div class="d-flex justify-content-between align-items-center mb-4">
<div>
<nav aria-label="breadcrumb">
<ol class="breadcrumb mb-1">
<li class="breadcrumb-item">
<a href="{% url 'references:dashboard' %}">{% trans "Reference Section" %}</a>
</li>
{% if document.folder %}
{% for folder in document.folder.get_full_path_folders %}
<li class="breadcrumb-item">
<a href="{% url 'references:folder_view' folder.id %}">{{ folder.name }}</a>
</li>
{% endfor %}
{% endif %}
<li class="breadcrumb-item active">{{ document.title }}</li>
</ol>
</nav>
<h1 class="h3 mb-0">
<i class="{{ document.get_file_icon }} me-2"></i>
{{ document.title }}
</h1>
<p class="text-muted small mb-0">{{ document.description }}</p>
</div>
<div class="d-flex gap-2">
<a href="{% url 'references:document_edit' document.id %}" class="btn btn-outline-primary">
<i class="fas fa-edit me-2"></i>{% trans "Edit" %}
</a>
<a href="{% url 'references:api_document_download' document.id %}" class="btn btn-primary">
<i class="fas fa-download me-2"></i>{% trans "Download" %}
</a>
</div>
</div>
<div class="row">
<!-- Document Details -->
<div class="col-lg-8">
<div class="card mb-4">
<div class="card-header">
<h5 class="mb-0">{% trans "Document Details" %}</h5>
</div>
<div class="card-body">
<dl class="row">
<dt class="col-sm-4">{% trans "File Name" %}</dt>
<dd class="col-sm-8">{{ document.filename }}</dd>
<dt class="col-sm-4">{% trans "File Type" %}</dt>
<dd class="col-sm-8">
<span class="badge bg-light text-dark">{{ document.file_type|upper }}</span>
</dd>
<dt class="col-sm-4">{% trans "File Size" %}</dt>
<dd class="col-sm-8">{{ document.get_file_size_display }}</dd>
<dt class="col-sm-4">{% trans "Version" %}</dt>
<dd class="col-sm-8">
{% if document.is_latest_version %}
<span class="badge bg-success">{{ document.version }}</span>
{% else %}
<span class="badge bg-secondary">{{ document.version }}</span>
{% endif %}
</dd>
<dt class="col-sm-4">{% trans "Downloads" %}</dt>
<dd class="col-sm-8">{{ document.download_count }}</dd>
<dt class="col-sm-4">{% trans "Uploaded By" %}</dt>
<dd class="col-sm-8">
{% if document.uploaded_by %}
{{ document.uploaded_by.get_full_name }}
{% else %}
{% trans "Unknown" %}
{% endif %}
</dd>
<dt class="col-sm-4">{% trans "Created" %}</dt>
<dd class="col-sm-8">{{ document.created_at|date:"M d, Y H:i" }}</dd>
<dt class="col-sm-4">{% trans "Last Modified" %}</dt>
<dd class="col-sm-8">{{ document.updated_at|date:"M d, Y H:i" }}</dd>
{% if document.tags %}
<dt class="col-sm-4">{% trans "Tags" %}</dt>
<dd class="col-sm-8">
{% for tag in document.tags_list %}
<span class="badge bg-info text-white me-1">{{ tag }}</span>
{% endfor %}
</dd>
{% endif %}
</dl>
</div>
</div>
<!-- Version History -->
{% if versions %}
<div class="card">
<div class="card-header">
<h5 class="mb-0">{% trans "Version History" %}</h5>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-sm">
<thead>
<tr>
<th>{% trans "Version" %}</th>
<th>{% trans "File" %}</th>
<th>{% trans "Size" %}</th>
<th>{% trans "Created" %}</th>
</tr>
</thead>
<tbody>
{% for version in versions %}
<tr{% if version.is_latest_version %} class="table-light"{% endif %}>
<td>
{% if version.is_latest_version %}
<span class="badge bg-success">{{ version.version }}</span>
{% else %}
<span class="badge bg-secondary">{{ version.version }}</span>
{% endif %}
</td>
<td>{{ version.filename }}</td>
<td>{{ version.get_file_size_display }}</td>
<td>{{ version.created_at|date:"M d, Y H:i" }}</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
{% endif %}
</div>
<!-- Sidebar -->
<div class="col-lg-4">
<!-- Actions -->
<div class="card mb-4">
<div class="card-header">
<h5 class="mb-0">{% trans "Actions" %}</h5>
</div>
<div class="card-body">
<div class="d-grid gap-2">
<a href="{% url 'references:api_document_download' document.id %}" class="btn btn-primary">
<i class="fas fa-download me-2"></i>{% trans "Download Document" %}
</a>
<a href="{% url 'references:document_edit' document.id %}" class="btn btn-outline-primary">
<i class="fas fa-edit me-2"></i>{% trans "Edit Metadata" %}
</a>
{% if document.folder %}
<a href="{% url 'references:document_create_in_folder' folder_pk=document.folder.id %}" class="btn btn-outline-success">
<i class="fas fa-upload me-2"></i>{% trans "Upload New Version" %}
</a>
{% endif %}
<button type="button" class="btn btn-outline-danger" onclick="confirmDelete()">
<i class="fas fa-trash me-2"></i>{% trans "Delete Document" %}
</button>
</div>
</div>
</div>
<!-- Description -->
{% if document.description %}
<div class="card mb-4">
<div class="card-header">
<h5 class="mb-0">{% trans "Description" %}</h5>
</div>
<div class="card-body">
<p class="mb-0">{{ document.description|linebreaks }}</p>
</div>
</div>
{% endif %}
<!-- Related Documents -->
{% if related_documents %}
<div class="card">
<div class="card-header">
<h5 class="mb-0">{% trans "Related Documents" %}</h5>
</div>
<div class="card-body">
<div class="list-group list-group-flush">
{% for related in related_documents %}
<a href="{% url 'references:document_view' related.id %}" class="list-group-item list-group-item-action text-decoration-none">
<i class="{{ related.get_file_icon }} me-2"></i>
{{ related.title|truncatechars:30 }}
</a>
{% endfor %}
</div>
</div>
</div>
{% endif %}
</div>
</div>
</div>
<form id="deleteForm" method="post" action="{% url 'references:document_delete' document.id %}" style="display: none;">
{% csrf_token %}
</form>
<script>
function confirmDelete() {
if (confirm('{% trans "Are you sure you want to delete this document?" %}')) {
document.getElementById('deleteForm').submit();
}
}
</script>
{% endblock %}