0006-escape-html-57134.patch
combo/apps/wcs/templates/combo/wcs/card.html | ||
---|---|---|
15 | 15 |
{% for item in cell.custom_schema.cells %} |
16 | 16 |
<div class="{{ item.cell_size|default:"" }}"> |
17 | 17 |
{% if item.varname == "@custom@" and item.template %} |
18 |
{% with card.custom_fields|get:item.template as value %} |
|
18 |
{% with card.custom_fields|get:item.template|force_escape as value %}
|
|
19 | 19 |
{% if item.display_mode == "title" %} |
20 | 20 |
<h3>{{ value }}</h3> |
21 | 21 |
{% elif item.display_mode == "label" %} |
combo/manager/static/js/combo.manager.js | ||
---|---|---|
551 | 551 |
let cell_text = ""; |
552 | 552 |
if (schema_field || schema_cell.varname == '@custom@') { |
553 | 553 |
const cell_content = schema_cell.varname == '@custom@' ? schema_cell.template + ' (' + gettext('Custom') + ')' : schema_field.label; |
554 |
cell_text += '<span class="' + schema_cell.display_mode + '">' + cell_content + '</span>';
|
|
554 |
cell_text += $('<span/>').addClass(schema_cell.display_mode).text(cell_content).html();
|
|
555 | 555 |
cell_text += '<span class="cell-meta">'; |
556 | 556 |
let cell_display_mode_label = $(this.grid_cell_form).find('select[name="display_mode"] option[value="' + schema_cell.display_mode + '"]').text(); |
557 | 557 |
cell_text += '<span class="cell-display-mode-label">' + cell_display_mode_label + '</span>'; |
tests/test_wcs.py | ||
---|---|---|
1921 | 1921 |
# custom field |
1922 | 1922 |
cell.custom_schema = { |
1923 | 1923 |
'cells': [ |
1924 |
{'varname': '@custom@', 'template': 'Foo bar baz', 'display_mode': 'title'},
|
|
1924 |
{'varname': '@custom@', 'template': '<b>Foo</b> bar baz', 'display_mode': 'title'},
|
|
1925 | 1925 |
] |
1926 | 1926 |
} |
1927 | 1927 |
cell.save() |
1928 | 1928 |
result = cell.render(context) |
1929 |
assert PyQuery(result).find('h3').text() == 'Foo bar baz' |
|
1929 |
assert '<b>Foo</b>' in result |
|
1930 |
assert PyQuery(result).find('h3').text() == '<b>Foo</b> bar baz' |
|
1930 | 1931 | |
1931 | 1932 |
# test context |
1932 | 1933 |
cell.custom_schema['cells'][0][ |
1933 |
- |