feat: Add Activity export

See #27
See #29
Resolves #24
This commit is contained in:
James Graham
2020-04-01 16:48:23 +01:00
parent 7d1aac2021
commit 15aab2eb33
6 changed files with 76 additions and 0 deletions

View File

@@ -1,3 +1,4 @@
from . import (
activities,
people
)

View File

@@ -0,0 +1,52 @@
from rest_framework import serializers
from activities import models
from . import base
class ActivityTypeSerializer(serializers.ModelSerializer):
class Meta:
model = models.ActivityType
fields = [
'pk',
'name',
]
class ActivityMediumSerializer(serializers.ModelSerializer):
class Meta:
model = models.ActivityMedium
fields = [
'pk',
'name',
]
class ActivitySeriesSerializer(serializers.ModelSerializer):
type = ActivityTypeSerializer()
medium = ActivityMediumSerializer()
class Meta:
model = models.ActivitySeries
fields = [
'pk',
'name',
'type',
'medium',
]
class ActivitySerializer(base.FlattenedModelSerializer):
series = ActivitySeriesSerializer()
type = ActivityTypeSerializer()
medium = ActivityMediumSerializer()
class Meta:
model = models.Activity
fields = [
'name',
'series',
'type',
'medium',
]

View File

@@ -36,6 +36,15 @@
href="{% url 'export:relationship' %}">Export</a>
</td>
</tr>
<tr>
<td>Activities</td>
<td></td>
<td>
<a class="btn btn-info"
href="{% url 'export:activity' %}">Export</a>
</td>
</tr>
</tbody>
</table>

View File

@@ -17,4 +17,8 @@ urlpatterns = [
path('export/relationships',
views.people.RelationshipExportView.as_view(),
name='relationship'),
path('export/activities',
views.activities.ActivityExportView.as_view(),
name='activity'),
]

View File

@@ -1,5 +1,6 @@
from .base import ExportListView
from . import (
activities,
people
)

View File

@@ -0,0 +1,9 @@
from . import base
from .. import serializers
from activities import models
class ActivityExportView(base.CsvExportView):
model = models.Activity
serializer_class = serializers.activities.ActivitySerializer