diff --git a/combo/apps/lingo/views.py b/combo/apps/lingo/views.py index 4cc799a5..8c1dc69e 100644 --- a/combo/apps/lingo/views.py +++ b/combo/apps/lingo/views.py @@ -27,6 +27,11 @@ from django.views.generic import View, ListView import eopayment +try: + from mellon.models import UserSAMLIdentifier +except ImportError: + UserSAMLIdentifier = None + from .models import Regie, BasketItem, Transaction class RegiesApiView(ListView): @@ -59,7 +64,12 @@ class AddBasketItemApiView(View): try: if request.GET.get('NameId'): - user = User.objects.get(username=request.GET.get('NameId')) + if UserSAMLIdentifier is None: + raise Exception('missing mellon?') + try: + user = UserSAMLIdentifier.objects.get(name_id=request.GET.get('NameId')).user + except UserSAMLIdentifier.DoesNotExist: + raise Exception('unknown name id') elif request.GET.get('email'): user = User.objects.get(email=request.GET.get('email')) else: