Changeset 19
- Timestamp:
- 01/05/07 21:22:20 (4 years ago)
- Files:
-
- trunk/djangoid/templates/users/userpage.html (modified) (2 diffs)
- trunk/djangoid/users/models.py (modified) (2 diffs)
- trunk/djangoid/users/views.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/djangoid/templates/users/userpage.html
r17 r19 7 7 </head> 8 8 <body> 9 <h1>User page of {{ user.djangouser }}</h1> 9 <h1>User page of {{ user.get_name }}</h1> 10 <h2>About {{ user.get_name }}</h2> 11 <div class="vcard"> 12 {% if user.attributes.FIRST_NAME %} 13 <div>Name: <span class="fn"><span class="given-name">{{ user.attributes.FIRST_NAME }}</span>{% if user.attributes.LAST_NAME %} <span class="family-name">{{ user.attributes.LAST_NAME }}</span>{% endif %}</span></div> 14 {% endif %} 15 {% if user.attributes.HOMEPAGE_URI %} 16 <div>Homepage: <a class="url" href="{{ user.attributes.HOMEPAGE_URI }}">{{ user.attributes.HOMEPAGE_URI }}</a></div> 17 {% endif %} 18 {% if user.attributes.EMAIL %} 19 <div>Email: <a class="email" href="mailto:{{ user.attributes.EMAIL }}">{{ user.attributes.EMAIL }}</a></div> 20 {% endif %} 21 {% if user.attributes.IM_JID %} 22 <div>Jabber: <a class="url jid" href="xmpp:{{ user.attributes.IM_JID }}">{{ user.attributes.IM_JID }}</a></div> 23 {% endif %} 24 {% if user.attributes.NICKNAME %} 25 <div>Nick: <span class="nickname">{{ user.attributes.NICKNAME }}</span></div> 26 {% endif %} 27 {% if user.attributes.DATE_OF_BIRTH %} 28 <div>Date of birth: <abbr class="bday" title="{{ user.attributes.DATE_OF_BIRTH }}">{{ user.attributes.DATE_OF_BIRTH }}</abbr></div> 29 {% endif %} 30 </div> 10 31 <h2>Claimed URIs</h2> 11 32 <table> … … 21 42 {% for uri in user.claimeduri_set.all %} 22 43 <tr> 23 <td><a href="{{ uri.uri }}" >{{ uri.uri }}</a></td>44 <td><a href="{{ uri.uri }}" rel="me">{{ uri.uri }}</a></td> 24 45 <td>{{ uri.is_valid }}</td> 25 46 <td>{{ uri.last_checked }}</td> 26 <td>{{ uri.get_microid }}</td>47 <td>{{ uri.get_microids }}</td> 27 48 </tr> 28 49 {% endfor %} trunk/djangoid/users/models.py
r18 r19 64 64 return settings.BASE_URL[:-1] + urlreverse("djangoid.users.views.useryadis", kwargs = {"uid": self.djangouser}) 65 65 66 def get_name(self): 67 f = None 68 l = None 69 try: 70 f = UserAttribute.objects.get(user = self, attribute__name__exact = "FIRST_NAME", public = True).value 71 except: 72 pass 73 try: 74 l = UserAttribute.objects.get(user = self, attribute__name__exact = "LAST_NAME", public = True).value 75 except: 76 pass 77 78 if l is None and f is None: 79 return self.djangouser 80 else: 81 if l is None: 82 return f 83 if f is None: 84 return l 85 return f + " " + l 86 66 87 class Admin: 67 88 pass … … 69 90 #Identities can have attributes. These items represent one possible attribute. 70 91 class IdentityAttribute(models.Model): 71 name = models.CharField("Name", maxlength = 128, help_text = " Name of the attribute. In \"openid.sreg.nickname\" this is \"nickname\"")92 name = models.CharField("Name", maxlength = 128, help_text = "Internal name of the attribute.", primary_key = True) 72 93 title = models.CharField("Title", maxlength = 128, help_text = "Title of the attribute, as displayed to the user") 73 namespace = models.CharField("Namespace", maxlength = 32, help_text = "Namespace of the attribute. In \"openid.sreg.nickname\" this is \"sreg\"")74 94 description = models.TextField("Description", blank = True, help_text = "Longer description of the attribute, as displayed to the user") 75 95 regex = models.CharField("Validation regex", maxlength = 128, blank = True, help_text = "Regex the value of this field is validated upon on updates") 76 96 77 97 def __str__(self): 78 return self. namespace + "." + self.name98 return self.title 79 99 80 100 class Admin: 81 101 pass 82 83 class Meta:84 unique_together = (("name", "namespace"),)85 102 86 103 #This maps an attribute to a user, including a value, obviously trunk/djangoid/users/views.py
r17 r19 23 23 24 24 from djangoid.server.views import getDjangoidUserFromIdentity 25 from djangoid.users.models import TrustedRoot, DjangoidUser 25 from djangoid.users.models import TrustedRoot, DjangoidUser, UserAttribute 26 26 from djangoid.openidhandlers import convertToOpenIDRequest, checkYadisRequest, convertToHttpResponse 27 27 from djangoid.microidutils import microid … … 39 39 40 40 user = DjangoidUser.objects.get(djangouser = uid) 41 user.attributes = {} 42 for a in UserAttribute.objects.filter(user = user, public = True): 43 user.attributes[a.attribute.name] = a.value 41 44 mid = microid(user.get_user_page(), user.get_user_page()) 42 45 res = render_to_response("users/userpage.html", {"server_url": settings.BASE_URL[:-1] + urlreverse("djangoid.server.views.endpoint"), "user": user, "microid": mid})
