Changeset 17

Show
Ignore:
Timestamp:
01/05/07 15:06:41 (5 years ago)
Author:
nicolast
Message:

Some URL resolving/reverse work

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/djangoid/server/views.py

    r16 r17  
    2020from django.shortcuts import render_to_response 
    2121from django.contrib.auth.views import redirect_to_login 
     22from django.core.urlresolvers import reverse as urlreverse 
    2223from django.contrib.auth.models import User as DjangoUser 
    2324from djangoid.users.models import DjangoidUser, ClaimedUri 
     
    3031#                             ^^^^^^^ 
    3132#Watch the trailing / 
    32 _identityRe = re.compile(settings.BASE_URL + "(?P<uid>[^/]+)/$"
     33_identityRe = re.compile(settings.BASE_URL[:-1] + (urlreverse("djangoid.users.views.userpage", kwargs = {"uid": "@blah@"})[:-1].replace("@blah@", "(?P<uid>[^/]+)/$"))
    3334 
    3435#Get a DjangoidUser object, based on a delegate URI 
     
    9495#A server YADIS document is requested. I don't think this is widely used yet, but well... Let's just return it. 
    9596def serveryadis(request): 
    96         res = render_to_response("server/yadis.xrds", {"server_url": settings.BASE_URL}) 
     97        res = render_to_response("server/yadis.xrds", {"server_url": settings.BASE_URL[:-1] + urlreverse("djangoid.server.views.endpoint")}) 
    9798        res["Content-Type"] = "application/xrds+xml; charset=%s" % settings.DEFAULT_CHARSET 
    9899        return res 
  • trunk/djangoid/templates/users/userpage.html

    r16 r17  
    22        <head> 
    33                <link rel="openid.server" href="{{ server_url }}" /> 
    4                 <link rel="openid.delegate" href="{{ server_url}}{{ user.djangouser }}/" /> 
    5                 <meta http-equiv="x-xrds-location" content="{{ server_url }}{{ user.djangouser }}/yadis/" /> 
     4                <link rel="openid.delegate" href="{{ user.get_user_page }}/" /> 
     5                <meta http-equiv="x-xrds-location" content="{{ user.get_yadis_uri }}" /> 
    66                <meta name="microid" content="{{ microid }}" /> 
    77        </head> 
  • trunk/djangoid/users/models.py

    r15 r17  
    1919from django.contrib.auth.models import User 
    2020from django.conf import settings 
     21from django.core.urlresolvers import reverse as urlreverse 
    2122import datetime 
    2223from djangoid.microidutils import microid, find_microid 
     
    5455 
    5556        def get_user_page(self): 
    56                 return settings.BASE_URL + self.djangouser + "/" 
     57                #Strip of last / from BASE_URL 
     58                return settings.BASE_URL[:-1] + urlreverse("djangoid.users.views.userpage", kwargs = {"uid": self.djangouser}) 
     59 
     60        def get_yadis_uri(self): 
     61                return settings.BASE_URL[:-1] + urlreverse("djangoid.users.views.useryadis", kwargs = {"uid": self.djangouser}) 
    5762 
    5863        class Admin: 
     
    101106        user = models.ForeignKey(DjangoidUser) 
    102107        uri = models.URLField() 
     108        description = models.CharField(maxlength = 128, blank = True) 
    103109        last_checked = models.DateTimeField(default = datetime.datetime(2006, 1, 1)) 
    104110        is_valid = models.BooleanField(default = False) 
  • trunk/djangoid/users/views.py

    r16 r17  
    1919from django.http import HttpResponse 
    2020from django.conf import settings 
     21from django.core.urlresolvers import reverse as urlreverse 
    2122from openid.server import server 
    2223 
     
    2728 
    2829def useryadis(request, uid): 
    29         res = render_to_response("users/yadis.xrds", {"server_url": settings.BASE_URL, "uid": uid}) 
     30        res = render_to_response("users/yadis.xrds", {"server_url": settings.BASE_URL[:-1] + urlreverse("djangoid.server.views.endpoint"), "uid": uid}) 
    3031        mimetype = "application/xrds+xml; charset=%s" % settings.DEFAULT_CHARSET 
    3132        res["Content-Type"] = mimetype 
     
    3940        user = DjangoidUser.objects.get(djangouser = uid) 
    4041        mid = microid(user.get_user_page(), user.get_user_page()) 
    41         res = render_to_response("users/userpage.html", {"server_url": settings.BASE_URL, "user": user, "microid": mid}) 
    42         res["X-XRDS-Location"] = settings.BASE_URL + uid + "/yadis/" 
     42        res = render_to_response("users/userpage.html", {"server_url": settings.BASE_URL[:-1] + urlreverse("djangoid.server.views.endpoint"), "user": user, "microid": mid}) 
     43        res["X-XRDS-Location"] = user.get_yadis_uri() 
    4344        return res 
    4445