summaryrefslogtreecommitdiff
path: root/coip/apps/auth/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'coip/apps/auth/views.py')
-rw-r--r--coip/apps/auth/views.py62
1 files changed, 3 insertions, 59 deletions
diff --git a/coip/apps/auth/views.py b/coip/apps/auth/views.py
index 6dd311d..bab6bf8 100644
--- a/coip/apps/auth/views.py
+++ b/coip/apps/auth/views.py
@@ -4,71 +4,15 @@ Created on Jul 5, 2010
@author: leifj
'''
from django.http import HttpResponseRedirect
-from coip.apps.userprofile.models import UserProfile
-from django.contrib.auth.models import User
-from coip.apps.auth.utils import anonid
+from coip.apps.userprofile.models import UserProfile, user_profile
from coip.apps.name.models import lookup
-import datetime
from django.views.decorators.cache import never_cache
-import logging
+from coip.apps.membership.models import add_member
-def meta(request,attr):
- v = request.META.get(attr)
- if not v:
- return None
- values = filter(lambda x: x != "(null)",v.split(";"))
- return values;
-
-def meta1(request,attr):
- v = meta(request,attr)
- if v:
- return v[0]
- else:
- return None
def accounts_login_federated(request):
if request.user.is_authenticated():
- profile,created = UserProfile.objects.get_or_create(identifier=request.user.username)
- if created:
- profile.identifier = request.user.username
- profile.user = request.user
- profile.save()
-
-
- update = False
- cn = meta1(request,'cn')
- if not cn:
- cn = meta1(request,'displayName')
- logging.warn(cn)
- if not cn:
- fn = meta1(request,'givenName')
- ln = meta1(request,'sn')
- if fn and ln:
- cn = "%s %s" % (fn,ln)
- if not cn:
- cn = profile.identifier
-
- mail = meta1(request,'mail')
-
- idp = meta1(request,'Shib-Identity-Provider')
-
- for attrib_name, meta_value in (('display_name',cn),('email',mail),('idp',idp)):
- attrib_value = getattr(profile, attrib_name)
- if meta_value and not attrib_value:
- setattr(profile,attrib_name,meta_value)
- update = True
-
- if request.user.password == "":
- request.user.password = "(not used for federated logins)"
- update = True
-
- if update:
- request.user.save()
-
- # Allow auto_now to kick in for the lastupdated field
- #profile.lastupdated = datetime.datetime.now()
- profile.save()
-
+ #profile,created = UserProfile.objects.get_or_create(user=request.user)
next = request.session.get("after_login_redirect", None)
if next is not None:
return HttpResponseRedirect(next)