Skip to content

Commit 29078ea

Browse files
committed
Fixed #4971 -- Fixed some escaping and quoting problems in the databrowse contrib app. Based on patch from Johann Queuniet.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@5764 bcc190cf-cafb-0310-a4f2-bffc1f526a37
1 parent b263e17 commit 29078ea

File tree

9 files changed

+14
-12
lines changed

9 files changed

+14
-12
lines changed

AUTHORS

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ answer newbie questions, and generally made Django that much better:
214214
plisk
215215
Daniel Poelzleithner <http://poelzi.org/>
216216
polpak@yahoo.com
217+
Johann Queuniet <johann.queuniet@adh.naellia.eu>
217218
J. Rademaker
218219
Michael Radziej <mir@noris.de>
219220
Ramiro Morales <rm0@gmx.net>

django/contrib/databrowse/plugins/fieldchoices.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,10 @@ def model_index_html(self, request, model, site):
3737

3838
def urls(self, plugin_name, easy_instance_field):
3939
if easy_instance_field.field in self.field_dict(easy_instance_field.model.model).values():
40+
field_value = smart_str(easy_instance_field.raw_value)
4041
return [u'%s%s/%s/%s/' % (easy_instance_field.model.url(),
4142
plugin_name, easy_instance_field.field.name,
42-
urllib.quote(smart_str(easy_instance_field.raw_value)))]
43+
urllib.quote(field_value, safe=''))]
4344

4445
def model_view(self, request, model_databrowse, url):
4546
self.model, self.site = model_databrowse.model, model_databrowse.site

django/contrib/databrowse/templates/databrowse/calendar_day.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ <h1>{{ model.verbose_name_plural|capfirst }} with {{ field.verbose_name }} on {{
1010

1111
<ul class="objectlist">
1212
{% for object in object_list %}
13-
<li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object }}</a></li>
13+
<li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object|escape }}</a></li>
1414
{% endfor %}
1515
</ul>
1616

django/contrib/databrowse/templates/databrowse/calendar_month.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ <h1>{{ model.verbose_name_plural|capfirst }} with {{ field.verbose_name }} in {{
1010

1111
<ul class="objectlist">
1212
{% for object in object_list %}
13-
<li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object }}</a></li>
13+
<li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object|escape }}</a></li>
1414
{% endfor %}
1515
</ul>
1616

django/contrib/databrowse/templates/databrowse/choice_detail.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ <h1>{{ model.verbose_name_plural|capfirst }} by {{ field.field.verbose_name }}:
1010

1111
<ul class="objectlist">
1212
{% for object in object_list %}
13-
<li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object }}</a></li>
13+
<li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object|escape }}</a></li>
1414
{% endfor %}
1515
</ul>
1616

django/contrib/databrowse/templates/databrowse/choice_list.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ <h1>{{ model.verbose_name_plural|capfirst }} by {{ field.field.verbose_name }}</
1010

1111
<ul class="objectlist">
1212
{% for choice in field.choices %}
13-
<li class="{% cycle odd,even %}"><a href="{{ choice.url }}">{{ choice.label }}</a></li>
13+
<li class="{% cycle odd,even %}"><a href="{{ choice.url }}">{{ choice.label|escape }}</a></li>
1414
{% endfor %}
1515
</ul>
1616

django/contrib/databrowse/templates/databrowse/homepage.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
<h2><a href="{{ model.url }}">{{ model.verbose_name_plural|capfirst }}</a></h2>
1212
<p>
1313
{% for object in model.sample_objects %}
14-
<a href="{{ object.url }}">{{ object }}</a>,
14+
<a href="{{ object.url }}">{{ object|escape }}</a>,
1515
{% endfor %}
1616
<a class="more" href="{{ model.url }}">More &rarr;</a>
1717
</p>

django/contrib/databrowse/templates/databrowse/model_detail.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ <h1>{{ model.verbose_name_plural|capfirst }}</h1>
1212

1313
<ul class="objectlist">
1414
{% for object in model.objects %}
15-
<li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object }}</a></li>
15+
<li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object|escape }}</a></li>
1616
{% endfor %}
1717
</ul>
1818

django/contrib/databrowse/templates/databrowse/object_detail.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,18 @@
44

55
{% block content %}
66

7-
<div id="breadcrumbs"><a href="{{ root_url }}">Home</a> / <a href="{{ object.model.url }}">{{ object.model.verbose_name_plural|capfirst }}</a> / {{ object }}</div>
7+
<div id="breadcrumbs"><a href="{{ root_url }}">Home</a> / <a href="{{ object.model.url }}">{{ object.model.verbose_name_plural|capfirst }}</a> / {{ object|escape }}</div>
88

9-
<h1>{{ object.model.verbose_name|capfirst }}: {{ object }}</h1>
9+
<h1>{{ object.model.verbose_name|capfirst }}: {{ object|escape }}</h1>
1010

1111
<table class="objectinfo">
1212
{% for field in object.fields %}
1313
<tr class="{% cycle odd,even %}">
1414
<th>{{ field.field.verbose_name|capfirst }}</th>
1515
<td>
1616
{% if field.urls %}
17-
{% for urlvalue in field.urls %}
18-
{% if urlvalue.1 %}<a href="{{ urlvalue.1 }}">{% endif %}{{ urlvalue.0 }}{% if urlvalue.1 %}</a>{% endif %}{% if not forloop.last %}, {% endif %}
17+
{% for value, url in field.urls %}
18+
{% if url %}<a href="{{ url }}">{% endif %}{{ value|escape }}{% if url %}</a>{% endif %}{% if not forloop.last %}, {% endif %}
1919
{% endfor %}
2020
{% else %}None{% endif %}
2121
</td>
@@ -29,7 +29,7 @@ <h2>Appears in "{{ related_object.related_field }}" in the following {{ related_
2929
{% if related_object.object_list %}
3030
<ul class="objectlist">
3131
{% for object in related_object.object_list %}
32-
<li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object }}</a></li>
32+
<li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object|escape }}</a></li>
3333
{% endfor %}
3434
</ul>
3535
{% else %}

0 commit comments

Comments
 (0)