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
This commit is contained in:
Gary Wilson Jr 2007-07-26 05:01:53 +00:00
parent b263e1704c
commit 29078eaeca
9 changed files with 14 additions and 12 deletions

View File

@ -214,6 +214,7 @@ answer newbie questions, and generally made Django that much better:
plisk plisk
Daniel Poelzleithner <http://poelzi.org/> Daniel Poelzleithner <http://poelzi.org/>
polpak@yahoo.com polpak@yahoo.com
Johann Queuniet <johann.queuniet@adh.naellia.eu>
J. Rademaker J. Rademaker
Michael Radziej <mir@noris.de> Michael Radziej <mir@noris.de>
Ramiro Morales <rm0@gmx.net> Ramiro Morales <rm0@gmx.net>

View File

@ -37,9 +37,10 @@ class FieldChoicePlugin(DatabrowsePlugin):
def urls(self, plugin_name, easy_instance_field): def urls(self, plugin_name, easy_instance_field):
if easy_instance_field.field in self.field_dict(easy_instance_field.model.model).values(): if easy_instance_field.field in self.field_dict(easy_instance_field.model.model).values():
field_value = smart_str(easy_instance_field.raw_value)
return [u'%s%s/%s/%s/' % (easy_instance_field.model.url(), return [u'%s%s/%s/%s/' % (easy_instance_field.model.url(),
plugin_name, easy_instance_field.field.name, plugin_name, easy_instance_field.field.name,
urllib.quote(smart_str(easy_instance_field.raw_value)))] urllib.quote(field_value, safe=''))]
def model_view(self, request, model_databrowse, url): def model_view(self, request, model_databrowse, url):
self.model, self.site = model_databrowse.model, model_databrowse.site self.model, self.site = model_databrowse.model, model_databrowse.site

View File

@ -10,7 +10,7 @@
<ul class="objectlist"> <ul class="objectlist">
{% for object in object_list %} {% for object in object_list %}
<li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object }}</a></li> <li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object|escape }}</a></li>
{% endfor %} {% endfor %}
</ul> </ul>

View File

@ -10,7 +10,7 @@
<ul class="objectlist"> <ul class="objectlist">
{% for object in object_list %} {% for object in object_list %}
<li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object }}</a></li> <li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object|escape }}</a></li>
{% endfor %} {% endfor %}
</ul> </ul>

View File

@ -10,7 +10,7 @@
<ul class="objectlist"> <ul class="objectlist">
{% for object in object_list %} {% for object in object_list %}
<li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object }}</a></li> <li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object|escape }}</a></li>
{% endfor %} {% endfor %}
</ul> </ul>

View File

@ -10,7 +10,7 @@
<ul class="objectlist"> <ul class="objectlist">
{% for choice in field.choices %} {% for choice in field.choices %}
<li class="{% cycle odd,even %}"><a href="{{ choice.url }}">{{ choice.label }}</a></li> <li class="{% cycle odd,even %}"><a href="{{ choice.url }}">{{ choice.label|escape }}</a></li>
{% endfor %} {% endfor %}
</ul> </ul>

View File

@ -11,7 +11,7 @@
<h2><a href="{{ model.url }}">{{ model.verbose_name_plural|capfirst }}</a></h2> <h2><a href="{{ model.url }}">{{ model.verbose_name_plural|capfirst }}</a></h2>
<p> <p>
{% for object in model.sample_objects %} {% for object in model.sample_objects %}
<a href="{{ object.url }}">{{ object }}</a>, <a href="{{ object.url }}">{{ object|escape }}</a>,
{% endfor %} {% endfor %}
<a class="more" href="{{ model.url }}">More &rarr;</a> <a class="more" href="{{ model.url }}">More &rarr;</a>
</p> </p>

View File

@ -12,7 +12,7 @@
<ul class="objectlist"> <ul class="objectlist">
{% for object in model.objects %} {% for object in model.objects %}
<li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object }}</a></li> <li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object|escape }}</a></li>
{% endfor %} {% endfor %}
</ul> </ul>

View File

@ -4,9 +4,9 @@
{% block content %} {% block content %}
<div id="breadcrumbs"><a href="{{ root_url }}">Home</a> / <a href="{{ object.model.url }}">{{ object.model.verbose_name_plural|capfirst }}</a> / {{ object }}</div> <div id="breadcrumbs"><a href="{{ root_url }}">Home</a> / <a href="{{ object.model.url }}">{{ object.model.verbose_name_plural|capfirst }}</a> / {{ object|escape }}</div>
<h1>{{ object.model.verbose_name|capfirst }}: {{ object }}</h1> <h1>{{ object.model.verbose_name|capfirst }}: {{ object|escape }}</h1>
<table class="objectinfo"> <table class="objectinfo">
{% for field in object.fields %} {% for field in object.fields %}
@ -14,8 +14,8 @@
<th>{{ field.field.verbose_name|capfirst }}</th> <th>{{ field.field.verbose_name|capfirst }}</th>
<td> <td>
{% if field.urls %} {% if field.urls %}
{% for urlvalue in field.urls %} {% for value, url in field.urls %}
{% if urlvalue.1 %}<a href="{{ urlvalue.1 }}">{% endif %}{{ urlvalue.0 }}{% if urlvalue.1 %}</a>{% endif %}{% if not forloop.last %}, {% endif %} {% if url %}<a href="{{ url }}">{% endif %}{{ value|escape }}{% if url %}</a>{% endif %}{% if not forloop.last %}, {% endif %}
{% endfor %} {% endfor %}
{% else %}None{% endif %} {% else %}None{% endif %}
</td> </td>
@ -29,7 +29,7 @@
{% if related_object.object_list %} {% if related_object.object_list %}
<ul class="objectlist"> <ul class="objectlist">
{% for object in related_object.object_list %} {% for object in related_object.object_list %}
<li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object }}</a></li> <li class="{% cycle odd,even %}"><a href="{{ object.url }}">{{ object|escape }}</a></li>
{% endfor %} {% endfor %}
</ul> </ul>
{% else %} {% else %}