예제 #1
0
    def delete(self, request, dataset_id=None, *args, **kwargs):

        user, profile = user_and_profile(request)

        dataset = get_object_or_404_extended(Dataset,
                                             user,
                                             include={'id': dataset_id})

        id = request.POST.get('id', request.GET.get('id'))
        if not id:
            raise Http404
        include = {'id': id, 'dataset': dataset}
        resource = get_object_or_404_extended(Resource, user, include=include)

        try:
            resource.delete(current_user=user)
        except Exception as e:
            status = 500
            message = e.__str__()
            messages.error(request, message)
        else:
            status = 200
            message = 'La ressource a été supprimée avec succès.'
            messages.success(request, message)
            send_resource_delete_mail(user, resource)

        return HttpResponse(status=status)
예제 #2
0
 def delete(self, request, dataset_name, resource_id):
     """Supprimer la ressource."""
     try:
         resource_id = UUID(resource_id)
     except ValueError:
         raise Http404()
     instance = None
     for resource in handler_get_request(request, dataset_name):
         if resource.ckan_id == resource_id:
             instance = resource
             break
     if not instance:
         raise Http404()
     instance.delete(current_user=request.user)
     send_resource_delete_mail(request.user, instance)
     return HttpResponse(status=204)