@gzip_page
    @handle_exceptions_for_ajax
    def get(self, request, project_id):
        project = Project.objects.get_single(request.user, project_id)
        contributions = project.get_all_contributions(
            request.user,
            search=request.GET.get('search'),
            subset=request.GET.get('subset')
        ).select_related('location', 'creator', 'updator', 'category')

        serializer = ContributionSerializer(
            contributions,
            many=True,
            context={
                'user': request.user,
                'project': project,
                'search': request.GET.get('search')
            }
        )

        return Response(serializer.data, status=status.HTTP_200_OK)


# ############################################################################
#
# SINGLE CONTRIBUTIONS
#
# ############################################################################
Enforce a canonical URL for a resource.
dataset/ETHPy150Open ExCiteS/geokey/geokey/contributions/views/observations.py/ProjectObservations.get--crossover with--dataset/ETHPy150Open 2buntu/2buntu-blog/twobuntu/decorators.py/canonical