diff options
Diffstat (limited to 'coip/apps/userprofile')
-rw-r--r-- | coip/apps/userprofile/models.py | 6 | ||||
-rw-r--r-- | coip/apps/userprofile/views.py | 12 |
2 files changed, 14 insertions, 4 deletions
diff --git a/coip/apps/userprofile/models.py b/coip/apps/userprofile/models.py index 2387e36..76473b1 100644 --- a/coip/apps/userprofile/models.py +++ b/coip/apps/userprofile/models.py @@ -17,6 +17,10 @@ class UserProfile(models.Model): def __unicode__(self): return "%s [%s] - %s" % (self.identifier,self.user.username,self.display_name) + + +def last_used_profile(user): + return UserProfile.objects.filter(user=user).order_by('lastupdated')[0] class PKey(models.Model): user_profile = models.ForeignKey(UserProfile,related_name='keys') @@ -26,5 +30,3 @@ class PKey(models.Model): def __unicode__(self): return "A merge-key for "+self.user_profile - -
\ No newline at end of file diff --git a/coip/apps/userprofile/views.py b/coip/apps/userprofile/views.py index 2ea4e2a..282c572 100644 --- a/coip/apps/userprofile/views.py +++ b/coip/apps/userprofile/views.py @@ -7,12 +7,12 @@ from django.contrib.auth.decorators import login_required from coip.apps.userprofile.models import PKey from django.http import HttpResponseRedirect from coip.multiresponse import respond_to -from coip.apps.membership.models import Membership +from coip.apps.membership.models import Membership, add_member from coip.apps.userprofile.utils import user_profile from django.core.exceptions import ObjectDoesNotExist from pprint import pprint from coip.apps.auth.utils import nonce -from coip.apps.name.models import Name, NameLink +from coip.apps.name.models import Name, NameLink, lookup @login_required def merge(request,pkey=None): @@ -39,6 +39,14 @@ def home(request): except ObjectDoesNotExist: pass + anyuser = lookup("system:anyuser",True) + profile = user_profile(request) + home = lookup('user:'+request.user.username,autocreate=True) + home.short = "Home of %s (%s)" % (profile.display_name,profile.identifier) + home.save() + add_member(home,profile.user) + home.setacl(home,"rliw") + names = [(link.src,link.data) for link in NameLink.objects.filter(dst__memberships__user=request.user,type=NameLink.access_control).all()] return respond_to(request, {'text/html': 'apps/userprofile/home.html'},{'memberships': memberships,'names': names}) |