Skip to content

Kiveify fails on an anonymous user #319

Open
@donkirkby

Description

@donkirkby

If you misconfigure an API view set without the IsAuthenticated permission, and then hit it without logging in, you get a confusing error:

2015-05-12 15:52:02[ERROR]django.request.handle_uncaught_exception(): Internal Server Error: /api/datasets/
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/django/core/handlers/base.py", line 111, in get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/views/decorators/csrf.py", line 57, in wrapped_view
    return view_func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/rest_framework/viewsets.py", line 85, in view
    return self.dispatch(request, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/rest_framework/views.py", line 452, in dispatch
    response = self.handle_exception(exc)
  File "/usr/local/lib/python2.7/dist-packages/rest_framework/views.py", line 449, in dispatch
    response = handler(request, *args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/rest_framework/mixins.py", line 39, in list
    queryset = self.filter_queryset(self.get_queryset())
  File "/mnt/data/don/git/Kive/kive/kive/ajax.py", line 63, in get_queryset
    return self.filter_granted(base_queryset)
  File "/mnt/data/don/git/Kive/kive/archive/ajax.py", line 61, in filter_granted
    symbolicdataset__in=SymbolicDataset.filter_by_user(self.request.user))
  File "/mnt/data/don/git/Kive/kive/metadata/models.py", line 453, in filter_by_user
    user_plus = KiveUser.kiveify(user)
  File "/mnt/data/don/git/Kive/kive/metadata/models.py", line 294, in kiveify
    return KiveUser.objects.get(pk=user.pk)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/manager.py", line 92, in manager_method
    return getattr(self.get_queryset(), name)(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 357, in get
    self.model._meta.object_name)
DoesNotExist: KiveUser matching query does not exist.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions