Add created_date and modified_date fields to Resource model; update resource detail and list templates for improved display

This commit is contained in:
Ross
2025-11-14 21:12:03 +00:00
parent 74765e70a2
commit 639e91fc1e
3 changed files with 115 additions and 24 deletions
+91 -23
View File
@@ -5,32 +5,100 @@
{% include "atlas/resource_link_header.html" %}
{% endif %}
{{resource}}
<div class="container mt-3">
<div class="row">
<div class="col-lg-8">
<div class="card mb-3">
<div class="card-header d-flex justify-content-between align-items-center">
<h5 class="mb-0">{{ resource.name }}</h5>
<small class="text-muted">by {{ resource.get_authors|default:"Unknown" }}</small>
</div>
<div class="card-body">
{% if resource.description %}
<p class="card-text">{{ resource.description|linebreaksbr }}</p>
{% endif %}
Name: {{resource.name}}<br>
Description: {{resource.description}}<br>
URL: {{resource.url}}<br>
file: {{resource.file}}<br>
author: {{resource.get_authors}}<br>
<dl class="row">
{% if resource.url %}
<dt class="col-sm-3">URL</dt>
<dd class="col-sm-9"><a href="{{ resource.url }}" target="_blank" rel="noopener">{{ resource.url }}</a></dd>
{% endif %}
{{resource.case}}
{% if resource.file %}
<dt class="col-sm-3">File</dt>
<dd class="col-sm-9">
<a href="{{ resource.file.url }}" target="_blank" rel="noopener">Download</a>
{% if resource.file.name %}
<small class="text-muted ms-2">({{ resource.file.name|truncatechars:40 }})</small>
{% endif %}
</dd>
{% endif %}
<div>
<a href="{% url 'atlas:resource_view' resource.pk %}" target="_blank">View Resource</a>
<dt class="col-sm-3">Source</dt>
<dd class="col-sm-9">{{ resource.get_display }}</dd>
</dl>
<div class="mt-3">
<a class="btn btn-sm btn-outline-primary" href="{% url 'atlas:resource_view' resource.pk %}" target="_blank">Open resource page</a>
</div>
</div>
</div>
<div class="card">
<div class="card-header">
<h6 class="mb-0">Used in cases</h6>
</div>
<div class="card-body">
{% if resource.case_set.all %}
<ul class="list-unstyled mb-0">
{% for case in resource.case_set.all %}
<li><a href="{% url 'atlas:case_detail' case.id %}">{{ case.title }}</a></li>
{% endfor %}
</ul>
{% else %}
<p class="mb-0 text-muted">This resource is not used in any cases.</p>
{% endif %}
</div>
</div>
</div>
<div class="col-lg-4">
<aside class="card mb-3">
<div class="card-body">
<h6 class="card-title">Details</h6>
<ul class="list-unstyled small mb-0">
<li><strong>Author:</strong> {{ resource.get_authors|default:"-" }}</li>
<li><strong>Sites:</strong>
{% if resource.sites.all %}
{% for s in resource.sites.all %}
<div><a href="{% url 'generic:site_detail' s.pk %}">{{ s.name }}</a></div>
{% endfor %}
{% else %}
-
{% endif %}
</li>
<li class="mt-2"><strong>Subspecialty:</strong>
{% if resource.subspecialty.all %}
{% for sp in resource.subspecialty.all %}
<div>{{ sp.name }}</div>
{% endfor %}
{% else %}
-
{% endif %}
</li>
<li class="mt-2"><strong>Created:</strong> {{ resource.created_date|date:"Y-m-d H:i" }}</li>
<li><strong>Updated:</strong> {{ resource.modified_date|date:"Y-m-d H:i" }}</li>
</ul>
</div>
</aside>
<div class="d-grid gap-2">
<a class="btn btn-primary" href="{% url 'atlas:resource_update' resource.pk %}">Edit</a>
<a class="btn btn-outline-danger" href="{% url 'atlas:resource_delete' resource.pk %}">Delete</a>
<a class="btn btn-outline-secondary" href="{% url 'atlas:resource_view' %}">Back to resources</a>
</div>
</div>
</div>
</div>
{% if resource.case_set.all %}
<h3>Cases</h3>
This resource is used in the following cases:
<ul>
{% for case in resource.case_set.all %}
<li><a href="{% url 'atlas:case_detail' case.id %}">{{case.title}}</a></li>
{% endfor %}
</ul>
{% else %}
<p>This resource is not used in any cases.</p>
{% endif %}
{% endblock %}
-1
View File
@@ -1,7 +1,6 @@
{% extends 'atlas/base.html' %}
{% load render_table from django_tables2 %}
{% block content %}
<a href="{% url 'atlas:resource_create' %}">Create a new resource</a>
<h2>Resources</h2>