feat(activities): Add read views for Activity

This commit is contained in:
James Graham
2020-02-19 13:20:59 +00:00
parent 85a3ac082b
commit db57d3c08f
5 changed files with 104 additions and 0 deletions

View File

@@ -0,0 +1,26 @@
{% extends 'base.html' %}
{% block content %}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item">
<a href="{% url 'activities:activity.list' %}">Activities</a>
</li>
<li class="breadcrumb-item active" aria-current="page">{{ object }}</li>
</ol>
</nav>
<hr>
<dl>
<dt>Series</dt>
<dl>{{ activity.series|default_if_none:'Standalone Activity' }}</dl>
<dt>Type</dt>
<dd>{{ activity.type }}</dd>
<dt>Medium</dt>
<dd>{{ activity.medium }}</dd>
</dl>
{% endblock %}

View File

@@ -0,0 +1,37 @@
{% extends 'base.html' %}
{% block content %}
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item active" aria-current="page">Activities</li>
</ol>
</nav>
<hr>
<table class="table table-borderless">
<thead>
<tr>
<th>Name</th>
</tr>
</thead>
<tbody>
{% for activity in activity_list.all %}
<tr>
<td>{{ activity }}</td>
<td>
<a class="btn btn-sm btn-info"
href="{% url 'activities:activity.detail' pk=activity.pk %}">Details</a>
</td>
</tr>
{% empty %}
<tr>
<td>No records</td>
</tr>
{% endfor %}
</tbody>
</table>
{% endblock %}

16
activities/urls.py Normal file
View File

@@ -0,0 +1,16 @@
from django.urls import path
from . import views
app_name = 'activities'
urlpatterns = [
path('activities',
views.ActivityListView.as_view(),
name='activity.list'),
path('activities/<int:pk>',
views.ActivityDetailView.as_view(),
name='activity.detail'),
]

22
activities/views.py Normal file
View File

@@ -0,0 +1,22 @@
"""
Views for displaying / manipulating models within the Activities app.
"""
from django.views.generic import DetailView, ListView
from . import models
class ActivityListView(ListView):
"""
View displaying a list of :class:`Activity`.
"""
model = models.Activity
template_name = 'activities/activity/list.html'
class ActivityDetailView(DetailView):
"""
View displaying details of a single :class:`Activity`.
"""
model = models.Activity
template_name = 'activities/activity/detail.html'

View File

@@ -30,4 +30,7 @@ urlpatterns = [
path('',
include('people.urls')),
path('',
include('activities.urls')),
]