Added fixes for various profile page problems found by the test crawler.
- Legacy-Id: 11321
This commit is contained in:
parent
e3cbabaf9b
commit
8ba02dfd2c
|
@ -4,5 +4,5 @@ from ietf.person import views, ajax
|
|||
urlpatterns = patterns('',
|
||||
(r'^search/(?P<model_name>(person|email))/$', "ietf.person.views.ajax_select2_search", None, 'ajax_select2_search_person_email'),
|
||||
(r'^(?P<personid>[a-z0-9]+).json$', ajax.person_json),
|
||||
(ur'^(?P<email_or_name>[\w\s]+)', views.profile),
|
||||
(ur'^(?P<email_or_name>[-\w\s\']+)', views.profile),
|
||||
)
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
|
||||
from django.db.models import Q
|
||||
from django.http import HttpResponse
|
||||
from django.http import HttpResponse, Http404
|
||||
from django.shortcuts import render, get_object_or_404
|
||||
|
||||
import debug # pyflakes:ignore
|
||||
|
||||
from ietf.person.models import Email, Person, Alias
|
||||
from ietf.person.fields import select2_id_name_json
|
||||
|
||||
|
@ -55,5 +57,8 @@ def profile(request, email_or_name):
|
|||
if '@' in email_or_name:
|
||||
person = get_object_or_404(Email, address=email_or_name).person
|
||||
else:
|
||||
person = get_object_or_404(Alias, name=email_or_name).person
|
||||
return render(request, 'person/profile.html', {'person': person})
|
||||
aliases = Alias.objects.filter(name=email_or_name)
|
||||
persons = set([ a.person for a in aliases ])
|
||||
if not persons:
|
||||
raise Http404
|
||||
return render(request, 'person/profile.html', {'persons': persons})
|
||||
|
|
|
@ -6,19 +6,29 @@
|
|||
{% block title %}Profile for {{ person }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
{% origin %}
|
||||
<h1>{{ person.name }}</h1>
|
||||
|
||||
<div class="bio-text">
|
||||
{% if person.photo %}
|
||||
<a href="{{person.photo.url}}">
|
||||
<img class="bio-photo" src="{{ person.photo.url }}" alt="Photo of {{ person }}" />
|
||||
</a>
|
||||
{% else %}
|
||||
<img class="bio-photo" src="{{ MEDIA_URL }}photos/nopictureavailable.jpg" alt="No photo available"/>
|
||||
{% endif %}
|
||||
{{ person.biography | apply_markup:"restructuredtext" }}
|
||||
{% if persons|length > 1 %}
|
||||
<div class="col-md-12">
|
||||
<h4>Duplicate person records found. This is an error. Showing all:</h4>
|
||||
<hr>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% for person in persons %}
|
||||
<div class="col-md-12">
|
||||
{% if not forloop.first %}<hr>{% endif %}
|
||||
|
||||
<h1>{{ person.name }}</h1>
|
||||
|
||||
<div class="bio-text">
|
||||
{% if person.photo %}
|
||||
<a href="{{person.photo.url}}">
|
||||
<img class="bio-photo" src="{{ person.photo.url }}" alt="Photo of {{ person }}" />
|
||||
</a>
|
||||
{% else %}
|
||||
<img class="bio-photo" src="{{ MEDIA_URL }}photos/nopictureavailable.jpg" alt="No photo available"/>
|
||||
{% endif %}
|
||||
{{ person.biography | apply_markup:"restructuredtext" }}
|
||||
</div>
|
||||
</div>
|
||||
{% endfor %}
|
||||
{% endblock %}
|
||||
|
|
Loading…
Reference in a new issue