mirror of
https://github.com/django/django.git
synced 2025-11-17 10:43:25 +00:00
Merge 8fc1fab66f into 5c60763561
This commit is contained in:
commit
c96e0e3f35
3 changed files with 9 additions and 3 deletions
|
|
@ -18,7 +18,7 @@
|
||||||
<a href="{{ header.url_toggle }}" class="toggle {{ header.ascending|yesno:'ascending,descending' }}" title="{% translate "Toggle sorting" %}"></a>
|
<a href="{{ header.url_toggle }}" class="toggle {{ header.ascending|yesno:'ascending,descending' }}" title="{% translate "Toggle sorting" %}"></a>
|
||||||
</div>
|
</div>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="text">{% if header.sortable %}<a role="button" href="{{ header.url_primary }}">{{ header.text|capfirst }}</a>{% else %}<span>{{ header.text|capfirst }}</span>{% endif %}</div>
|
<div class="text" id="{{ header.id }}">{% if header.sortable %}<a role="button" href="{{ header.url_primary }}">{{ header.text|capfirst }}</a>{% else %}<span>{{ header.text|capfirst }}</span>{% endif %}</div>
|
||||||
<div class="clear"></div>
|
<div class="clear"></div>
|
||||||
</th>{% endfor %}
|
</th>{% endfor %}
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ from django.urls import NoReverseMatch
|
||||||
from django.utils import formats, timezone
|
from django.utils import formats, timezone
|
||||||
from django.utils.html import format_html
|
from django.utils.html import format_html
|
||||||
from django.utils.safestring import mark_safe
|
from django.utils.safestring import mark_safe
|
||||||
from django.utils.text import capfirst
|
from django.utils.text import capfirst, slugify
|
||||||
from django.utils.translation import gettext as _
|
from django.utils.translation import gettext as _
|
||||||
|
|
||||||
from .base import InclusionAdminNode
|
from .base import InclusionAdminNode
|
||||||
|
|
@ -167,6 +167,7 @@ def result_headers(cl):
|
||||||
|
|
||||||
yield {
|
yield {
|
||||||
"text": text,
|
"text": text,
|
||||||
|
"id": slugify(text),
|
||||||
"sortable": True,
|
"sortable": True,
|
||||||
"sorted": is_sorted,
|
"sorted": is_sorted,
|
||||||
"ascending": order_type == "asc",
|
"ascending": order_type == "asc",
|
||||||
|
|
@ -219,6 +220,9 @@ def items_for_result(cl, result, form):
|
||||||
link_to_changelist = link_in_col(first, field_name, cl)
|
link_to_changelist = link_in_col(first, field_name, cl)
|
||||||
try:
|
try:
|
||||||
f, attr, value = lookup_field(field_name, result, cl.model_admin)
|
f, attr, value = lookup_field(field_name, result, cl.model_admin)
|
||||||
|
label, label_attr = label_for_field(
|
||||||
|
field_name, cl.model, model_admin=cl.model_admin, return_attr=True
|
||||||
|
)
|
||||||
except ObjectDoesNotExist:
|
except ObjectDoesNotExist:
|
||||||
result_repr = empty_value_display
|
result_repr = empty_value_display
|
||||||
else:
|
else:
|
||||||
|
|
@ -306,6 +310,8 @@ def items_for_result(cl, result, form):
|
||||||
)
|
)
|
||||||
):
|
):
|
||||||
bf = form[field_name]
|
bf = form[field_name]
|
||||||
|
if not label_attr:
|
||||||
|
bf.field.widget.attrs["aria-labelledby"] = slugify(label)
|
||||||
result_repr = mark_safe(str(bf.errors) + str(bf))
|
result_repr = mark_safe(str(bf.errors) + str(bf))
|
||||||
yield format_html("<td{}>{}</td>", row_class, result_repr)
|
yield format_html("<td{}>{}</td>", row_class, result_repr)
|
||||||
if form and not form[cl.model._meta.pk.name].is_hidden:
|
if form and not form[cl.model._meta.pk.name].is_hidden:
|
||||||
|
|
|
||||||
|
|
@ -432,7 +432,7 @@ class ChangeListTests(TestCase):
|
||||||
# make sure that list editable fields are rendered in divs correctly
|
# make sure that list editable fields are rendered in divs correctly
|
||||||
editable_name_field = (
|
editable_name_field = (
|
||||||
'<input name="form-0-name" value="name" class="vTextField" '
|
'<input name="form-0-name" value="name" class="vTextField" '
|
||||||
'maxlength="30" type="text" id="id_form-0-name">'
|
'maxlength="30" type="text" id="id_form-0-name" aria-labelledby="name">'
|
||||||
)
|
)
|
||||||
self.assertInHTML(
|
self.assertInHTML(
|
||||||
'<td class="field-name">%s</td>' % editable_name_field,
|
'<td class="field-name">%s</td>' % editable_name_field,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue