mirror of
https://github.com/Southampton-RSG/breccia-mapper.git
synced 2026-03-03 03:17:07 +00:00
feat(activities): Add read views for ActivitySeries
This commit is contained in:
19
activities/migrations/0003_rename_activity_series_fk.py
Normal file
19
activities/migrations/0003_rename_activity_series_fk.py
Normal file
@@ -0,0 +1,19 @@
|
||||
# Generated by Django 2.2.10 on 2020-02-19 13:32
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('activities', '0002_activity_type_medium'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='activity',
|
||||
name='series',
|
||||
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.PROTECT, related_name='activities', to='activities.ActivitySeries'),
|
||||
),
|
||||
]
|
||||
@@ -68,7 +68,8 @@ class Activity(models.Model):
|
||||
blank=False, null=False)
|
||||
|
||||
#: Optional :class:`ActivitySeries` to which this activity belongs
|
||||
series = models.ForeignKey(ActivitySeries, related_name='instances',
|
||||
series = models.ForeignKey(ActivitySeries,
|
||||
related_name='activities',
|
||||
on_delete=models.PROTECT,
|
||||
blank=True, null=True)
|
||||
|
||||
|
||||
50
activities/templates/activities/activity_series/detail.html
Normal file
50
activities/templates/activities/activity_series/detail.html
Normal file
@@ -0,0 +1,50 @@
|
||||
{% extends 'base.html' %}
|
||||
|
||||
{% block content %}
|
||||
<nav aria-label="breadcrumb">
|
||||
<ol class="breadcrumb">
|
||||
<li class="breadcrumb-item">
|
||||
<a href="{% url 'activities:activity-series.list' %}">Activity Series</a>
|
||||
</li>
|
||||
<li class="breadcrumb-item active" aria-current="page">{{ object }}</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<hr>
|
||||
|
||||
<dl>
|
||||
<dt>Type</dt>
|
||||
<dd>{{ activity_series.type }}</dd>
|
||||
|
||||
<dt>Medium</dt>
|
||||
<dd>{{ activity_series.medium }}</dd>
|
||||
</dl>
|
||||
|
||||
<hr>
|
||||
|
||||
<table class="table table-borderless">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{% for activity in activity_series.activities.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 %}
|
||||
37
activities/templates/activities/activity_series/list.html
Normal file
37
activities/templates/activities/activity_series/list.html
Normal 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">Activity Series</li>
|
||||
</ol>
|
||||
</nav>
|
||||
|
||||
<hr>
|
||||
|
||||
<table class="table table-borderless">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Name</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{% for activity_series in activity_series_list.all %}
|
||||
<tr>
|
||||
<td>{{ activity_series }}</td>
|
||||
<td>
|
||||
<a class="btn btn-sm btn-info"
|
||||
href="{% url 'activities:activity-series.detail' pk=activity_series.pk %}">Details</a>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{% empty %}
|
||||
<tr>
|
||||
<td>No records</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% endblock %}
|
||||
@@ -6,6 +6,14 @@ from . import views
|
||||
app_name = 'activities'
|
||||
|
||||
urlpatterns = [
|
||||
path('activity-series',
|
||||
views.ActivitySeriesListView.as_view(),
|
||||
name='activity-series.list'),
|
||||
|
||||
path('activity-series/<int:pk>',
|
||||
views.ActivitySeriesDetailView.as_view(),
|
||||
name='activity-series.detail'),
|
||||
|
||||
path('activities',
|
||||
views.ActivityListView.as_view(),
|
||||
name='activity.list'),
|
||||
|
||||
@@ -6,6 +6,24 @@ from django.views.generic import DetailView, ListView
|
||||
from . import models
|
||||
|
||||
|
||||
class ActivitySeriesListView(ListView):
|
||||
"""
|
||||
View displaying a list of :class:`ActivitySeries`.
|
||||
"""
|
||||
model = models.ActivitySeries
|
||||
template_name = 'activities/activity_series/list.html'
|
||||
context_object_name = 'activity_series_list'
|
||||
|
||||
|
||||
class ActivitySeriesDetailView(DetailView):
|
||||
"""
|
||||
View displaying details of a single :class:`ActivitySeries`.
|
||||
"""
|
||||
model = models.ActivitySeries
|
||||
template_name = 'activities/activity_series/detail.html'
|
||||
context_object_name = 'activity_series'
|
||||
|
||||
|
||||
class ActivityListView(ListView):
|
||||
"""
|
||||
View displaying a list of :class:`Activity`.
|
||||
|
||||
Reference in New Issue
Block a user