Comment 2 for bug 931672

Revision history for this message
MaLa (marco-malavolti) wrote :

I've tryed to configure PEER for Remote Authentication and it doesn't work without that modification.

This is the debug message that I obtain without the modification:

Environment:

Request Method: GET
Request URL: https://xxxx.it/peer/accounts/login/

Django Version: 1.3.1
Python Version: 2.6.6
Installed Applications:
['django.contrib.auth',
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
 'django.contrib.messages',
 'django.contrib.staticfiles',
 'django.contrib.admin',
 'registration',
 'south',
 'djangosaml2',
 'peer.account',
 'peer.domain',
 'peer.entity',
 'peer.portal']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware')

Template error:
In template /var/www/peer/lib/python2.6/site-packages/peer-0.8.0-py2.6.egg/peer/templates/registration/login.html, error at line 38
   Caught AttributeError while rendering: 'NoneType' object has no attribute 'organization_display_name'
   28 : {% if SAML_ENABLED %}

   29 : {% load idplist mailtoadmins %}

   30 :

   31 : <div class="right block">

   32 : <h2>{% trans "Federated sign in" %}</h2>

   33 : <form id="federated-login" action="{% url saml2_login %}" method="get">{% csrf_token %}

   34 : <fieldset>

   35 : <p>

   36 : <label for="id_idp">{% trans "Identity Provider" %}:</label>

   37 : <select id="id_idp" name="idp">

   38 : {% idplist as idps %}

   39 : {% for url, name in idps %}

   40 : <option value="{{ url }}">{% if name %}{{ name }}{% else %}{{ url }}{% endif %}</option>

   41 : {% endfor %}

   42 : </select>

   43 : </p>

   44 : <p>{% trans "Don't see your IdP in this list?" %} {% mailtoadmins %}</p>

   45 : </fieldset>

   46 : <fieldset class="actionRow">

   47 : <input class="button" type="submit" value="{% trans "Federated sign in" %}" />

   48 : </fieldset>

Traceback:
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/core/handlers/base.py" in get_response
  111. response = callback(request, *callback_args, **callback_kwargs)
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/utils/decorators.py" in _wrapped_view
  93. response = view_func(request, *args, **kwargs)
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/views/decorators/cache.py" in _wrapped_view_func
  79. response = view_func(request, *args, **kwargs)
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/contrib/auth/views.py" in login
  69. context_instance=RequestContext(request, current_app=current_app))
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/shortcuts/__init__.py" in render_to_response
  20. return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/template/loader.py" in render_to_string
  188. return t.render(context_instance)
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/template/base.py" in render
  123. return self._render(context)
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/template/base.py" in _render
  117. return self.nodelist.render(context)
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/template/base.py" in render
  744. bits.append(self.render_node(node, context))
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/template/debug.py" in render_node
  73. result = node.render(context)
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/template/loader_tags.py" in render
  127. return compiled_parent._render(context)
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/template/base.py" in _render
  117. return self.nodelist.render(context)
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/template/base.py" in render
  744. bits.append(self.render_node(node, context))
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/template/debug.py" in render_node
  73. result = node.render(context)
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/template/loader_tags.py" in render
  64. result = block.nodelist.render(context)
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/template/base.py" in render
  744. bits.append(self.render_node(node, context))
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/template/debug.py" in render_node
  73. result = node.render(context)
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/template/defaulttags.py" in render
  311. return self.nodelist_true.render(context)
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/template/base.py" in render
  744. bits.append(self.render_node(node, context))
File "/var/www/peer/lib/python2.6/site-packages/Django-1.3.1-py2.6.egg/django/template/debug.py" in render_node
  73. result = node.render(context)
File "/var/www/peer/lib/python2.6/site-packages/djangosaml2-0.3.2-py2.6.egg/djangosaml2/templatetags/idplist.py" in render
  29. context[self.variable_name] = conf.get_available_idps()
File "/var/www/peer/lib/python2.6/site-packages/pysaml2-0.2.0-py2.6.egg/saml2/config.py" in get_available_idps
  216. namn = self.metadata.name(eid)
File "/var/www/peer/lib/python2.6/site-packages/pysaml2-0.2.0-py2.6.egg/saml2/metadata.py" in keep_updated
  50. return func(self, entity_id, *args, **kwargs)
File "/var/www/peer/lib/python2.6/site-packages/pysaml2-0.2.0-py2.6.egg/saml2/metadata.py" in name
  522. name = org.organization_display_name[0]

Exception Type: TemplateSyntaxError at /accounts/login/
Exception Value: Caught AttributeError while rendering: 'NoneType' object has no attribute 'organization_display_name'