diff --git a/ietf/ietfauth/urls.py b/ietf/ietfauth/urls.py new file mode 100644 index 000000000..bd7af30bb --- /dev/null +++ b/ietf/ietfauth/urls.py @@ -0,0 +1,21 @@ +from django.conf.urls.defaults import * +from ietf.my.views import my + +urlpatterns = patterns('django.contrib.auth.views', + (r'^login/$', 'login'), + # need to provide templates for logout, password_change, + # password_change_done + # right now they use the admin templates, which are not + # really appropriate. + (r'^logout/$', 'logout'), + (r'^password_change/$', 'password_change'), + (r'^password_change/done/$', 'password_change_done'), + # Built-in password reset changes before validation + # so we want to implement a scheme similar to henrik's + # loginmgr. + #(r'^password_reset/$', 'password_reset'), + #(r'^password_reset/done/$', 'password_reset_done'), +) +urlpatterns += patterns('', + (r'^profile/$', my) +) diff --git a/ietf/my/views.py b/ietf/my/views.py index 44c4020e8..34114c727 100644 --- a/ietf/my/views.py +++ b/ietf/my/views.py @@ -1,21 +1,14 @@ from django.http import HttpResponse,HttpResponseRedirect from django import newforms as forms -from django.template import RequestContext, Context, loader -from django.shortcuts import get_object_or_404 -from ietf.idtracker.models import PersonOrOrgInfo, EmailAddress +from django.template import RequestContext +from django.shortcuts import render_to_response +from ietf.idtracker.models import PersonOrOrgInfo def my(request, addr=None): - if addr is None: - # get email address from logged in user - return - person = PersonOrOrgInfo.objects.filter(emailaddresses__email_address=addr).distinct() - if len(person) != 1: - if len(person) == 0: - raise Http404 - # multiple people matched! - return "Oops" - t = loader.get_template('my/my.html') - c = RequestContext(request, { - 'me': person[0], - }) - return HttpResponse(t.render(c)) + if request.user: + person = request.user.get_profile().person + else: + person = PersonOrOrgInfo.objects.distinct().get(emailaddresses__email_address=addr) + return render_to_response('my/my.html', { + 'me': person, + }, context_instance=RequestContext(request)) diff --git a/ietf/templates/base.html b/ietf/templates/base.html index d9f22064c..a099e4fac 100644 --- a/ietf/templates/base.html +++ b/ietf/templates/base.html @@ -9,7 +9,8 @@ {% block css %}{% endblock %} --> -
![]() |
@@ -28,6 +29,11 @@
-{{ me.person_or_org_tag }} -
Your username and password didn't match our records. Please try again.
+{% endif %} + + + +{% endblock %} diff --git a/ietf/urls.py b/ietf/urls.py index f35bba794..3abc9e324 100644 --- a/ietf/urls.py +++ b/ietf/urls.py @@ -24,6 +24,7 @@ urlpatterns = patterns('', (r'^(?P