feat: add export views for organisation types

This commit is contained in:
James Graham
2021-05-17 19:13:45 +01:00
parent f37d7c77c4
commit 264c353b1d
4 changed files with 124 additions and 0 deletions

View File

@@ -87,3 +87,55 @@ class RelationshipAnswerSetSerializer(AnswerSetSerializer):
'timestamp',
'replaced_timestamp',
]
class OrganisationSerializer(base.FlattenedModelSerializer):
class Meta:
model = models.Organisation
fields = [
'id',
'name',
]
class OrganisationAnswerSetSerializer(AnswerSetSerializer):
question_model = models.OrganisationQuestion
organisation = OrganisationSerializer()
class Meta:
model = models.OrganisationAnswerSet
fields = [
'id',
'organisation',
'timestamp',
'replaced_timestamp',
'latitude',
'longitude',
]
class OrganisationRelationshipSerializer(base.FlattenedModelSerializer):
source = OrganisationSerializer()
target = OrganisationSerializer()
class Meta:
model = models.OrganisationRelationship
fields = [
'id',
'source',
'target',
]
class OrganisationRelationshipAnswerSetSerializer(AnswerSetSerializer):
question_model = models.OrganisationRelationshipQuestion
relationship = OrganisationRelationshipSerializer()
class Meta:
model = models.OrganisationRelationshipAnswerSet
fields = [
'id',
'relationship',
'timestamp',
'replaced_timestamp',
]

View File

@@ -57,6 +57,42 @@
</td>
</tr>
<tr>
<td>Organisation</td>
<td></td>
<td>
<a class="btn btn-info"
href="{% url 'export:organisation' %}">Export</a>
</td>
</tr>
<tr>
<td>Organisation Answer Sets</td>
<td></td>
<td>
<a class="btn btn-info"
href="{% url 'export:organisation-answer-set' %}">Export</a>
</td>
</tr>
<tr>
<td>Organisation Relationships</td>
<td></td>
<td>
<a class="btn btn-info"
href="{% url 'export:organisation-relationship' %}">Export</a>
</td>
</tr>
<tr>
<td>Organisation Relationship Answer Sets</td>
<td></td>
<td>
<a class="btn btn-info"
href="{% url 'export:organisation-relationship-answer-set' %}">Export</a>
</td>
</tr>
<tr>
<td>Activities</td>
<td></td>

View File

@@ -26,6 +26,22 @@ urlpatterns = [
views.people.RelationshipAnswerSetExportView.as_view(),
name='relationship-answer-set'),
path('export/organisation',
views.people.OrganisationExportView.as_view(),
name='organisation'),
path('export/organisation-answer-sets',
views.people.OrganisationAnswerSetExportView.as_view(),
name='organisation-answer-set'),
path('export/organisation-relationships',
views.people.OrganisationRelationshipExportView.as_view(),
name='organisation-relationship'),
path('export/organisation-relationship-answer-sets',
views.people.OrganisationRelationshipAnswerSetExportView.as_view(),
name='organisation-relationship-answer-set'),
path('export/activities',
views.activities.ActivityExportView.as_view(),
name='activity'),

View File

@@ -22,3 +22,23 @@ class RelationshipExportView(base.CsvExportView):
class RelationshipAnswerSetExportView(base.CsvExportView):
model = models.relationship.RelationshipAnswerSet
serializer_class = serializers.people.RelationshipAnswerSetSerializer
class OrganisationExportView(base.CsvExportView):
model = models.person.Organisation
serializer_class = serializers.people.OrganisationSerializer
class OrganisationAnswerSetExportView(base.CsvExportView):
model = models.organisation.OrganisationAnswerSet
serializer_class = serializers.people.OrganisationAnswerSetSerializer
class OrganisationRelationshipExportView(base.CsvExportView):
model = models.relationship.OrganisationRelationship
serializer_class = serializers.people.OrganisationRelationshipSerializer
class OrganisationRelationshipAnswerSetExportView(base.CsvExportView):
model = models.relationship.OrganisationRelationshipAnswerSet
serializer_class = serializers.people.OrganisationRelationshipAnswerSetSerializer