DMS/templates/view_document.html
2025-05-01 00:24:26 +08:00

161 lines
7.4 KiB
HTML

{% extends "layout.html" %}
{% block content %}
<div class="row mb-3">
<div class="col-md-8">
<h2><i class="bi bi-file-earmark"></i> {{ document.original_filename }}</h2>
</div>
<div class="col-md-4 text-end">
<a href="{{ url_for('dashboard') }}" class="btn btn-secondary">
<i class="bi bi-arrow-left"></i> Back to Dashboard
</a>
</div>
</div>
<div class="row">
<div class="col-md-8">
<div class="card mb-4">
<div class="card-header bg-primary text-white">
<h5 class="mb-0"><i class="bi bi-eye"></i> Document Viewer</h5>
</div>
<div class="card-body">
<div class="document-viewer">
{% if document.file_type == 'pdf' %}
<div class="ratio ratio-16x9">
<iframe src="{{ url_for('serve_document_file', document_id=document.id) }}" allowfullscreen></iframe>
</div>
{% elif document.file_type == 'image' %}
<img src="{{ url_for('download_document', document_id=document.id) }}" class="img-fluid" alt="{{ document.original_filename }}">
{% elif document.file_type == 'video' %}
<div class="ratio ratio-16x9">
<video controls>
<source src="{{ url_for('download_document', document_id=document.id) }}" type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
{% else %}
<div class="alert alert-info">
<i class="bi bi-info-circle"></i> Preview not available for this file type. Please download the file to view its contents.
</div>
{% endif %}
</div>
<div class="mt-3">
<a href="{{ url_for('download_document', document_id=document.id) }}" class="btn btn-primary">
<i class="bi bi-download"></i> Download
</a>
<a href="{{ url_for('share_document', document_id=document.id) }}" class="btn btn-info">
<i class="bi bi-share"></i> Share
</a>
{% if document.user_id == session.user_id or session.role == 'admin' %}
<a href="{{ url_for('delete_document', document_id=document.id) }}" class="btn btn-danger"
onclick="return confirm('Are you sure you want to delete this document?')">
<i class="bi bi-trash"></i> Delete
</a>
{% endif %}
</div>
</div>
</div>
<div class="card mb-4">
<div class="card-header bg-info text-white">
<h5 class="mb-0"><i class="bi bi-clock-history"></i> Version History</h5>
</div>
<div class="card-body">
<div class="table-responsive">
<table class="table table-striped">
<thead>
<tr>
<th>Version</th>
<th>Date</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
{% for version in versions %}
<tr>
<td>v{{ version.version_number }}</td>
<td>{{ version.created_at }}</td>
<td>
<a href="#" class="btn btn-sm btn-primary">
<i class="bi bi-download"></i> Download
</a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card mb-4">
<div class="card-header bg-secondary text-white">
<h5 class="mb-0"><i class="bi bi-info-circle"></i> Document Information</h5>
</div>
<div class="card-body">
<ul class="list-group list-group-flush">
<li class="list-group-item d-flex justify-content-between align-items-center">
File Type
<span class="badge bg-primary rounded-pill">{{ document.file_type }}</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Size
<span class="badge bg-secondary rounded-pill">{{ (document.file_size / 1024)|round(1) }} KB</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Uploaded
<span class="badge bg-info rounded-pill">{{ document.created_at.split(' ')[0] }}</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Visibility
<span class="badge bg-{{ 'success' if document.visibility == 'public' else 'warning' }} rounded-pill">
{{ document.visibility }}
</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center">
Versions
<span class="badge bg-dark rounded-pill">{{ versions|length }}</span>
</li>
</ul>
</div>
</div>
<div class="card">
<div class="card-header bg-success text-white">
<h5 class="mb-0"><i class="bi bi-share"></i> Sharing Information</h5>
</div>
<div class="card-body">
{% if shares %}
<h6>Shared With</h6>
<ul class="list-group list-group-flush mb-3">
{% for share in shares %}
<li class="list-group-item d-flex justify-content-between align-items-center">
{% if share.shared_with %}
<span><i class="bi bi-person"></i> {{ share.username }}</span>
{% elif share.share_link %}
<span><i class="bi bi-link"></i> Via Link</span>
<small class="text-muted">
{% if share.expires_at %}
Expires: {{ share.expires_at.split(' ')[0] }}
{% endif %}
</small>
{% endif %}
</li>
{% endfor %}
</ul>
{% else %}
<p>This document hasn't been shared yet.</p>
{% endif %}
<a href="{{ url_for('share_document', document_id=document.id) }}" class="btn btn-success w-100">
<i class="bi bi-share"></i> Manage Sharing
</a>
</div>
</div>
</div>
</div>
{% endblock %}