Fix non-valid HTML tags attributes

This commit is contained in:
seroy 2017-07-18 13:52:17 +03:00
parent f434566338
commit 3d4f9c413e
3 changed files with 12 additions and 6 deletions

View File

@ -3,12 +3,12 @@
<ul class="localized-fields-widget tabs">
{% for widget in widget.subwidgets %}
<li class="localized-fields-widget tab">
<a href="#{{ widget_id }}_{{ widget.attrs.lang_code }}">{{ widget.attrs.lang_name|capfirst }}</a>
<a href="#{{ widget_id }}_{{ widget.lang_code }}">{{ widget.lang_name|capfirst }}</a>
</li>
{% endfor %}
</ul>
{% for widget in widget.subwidgets %}
<div role="tabpanel" id="{{ widget_id }}_{{ widget.attrs.lang_code }}">
<div role="tabpanel" id="{{ widget_id }}_{{ widget.lang_code }}">
{% include widget.template_name %}
</div>
{% endfor %}

View File

@ -1,4 +1,4 @@
{% for widget in widget.subwidgets %}
<label for="{{ widget.attrs.id }}">{{ widget.attrs.lang_name }}</label>
<label for="{{ widget.attrs.id }}">{{ widget.lang_name }}</label>
{% include widget.template_name %}
{% endfor %}

View File

@ -23,8 +23,9 @@ class LocalizedFieldWidget(forms.MultiWidget):
super().__init__(initial_widgets, *args, **kwargs)
for ((lang_code, lang_name), widget) in zip(settings.LANGUAGES, self.widgets):
widget.attrs['lang_code'] = lang_code
widget.attrs['lang_name'] = lang_name
widget.attrs['lang'] = lang_code
widget.lang_code = lang_code
widget.lang_name = lang_name
def decompress(self, value: LocalizedValue) -> List[str]:
"""Decompresses the specified value so
@ -76,7 +77,12 @@ class LocalizedFieldWidget(forms.MultiWidget):
else:
widget_attrs = final_attrs
widget_attrs = self.build_widget_attrs(widget, widget_value, widget_attrs)
subwidgets.append(widget.get_context(widget_name, widget_value, widget_attrs)['widget'])
widget_context = widget.get_context(widget_name, widget_value, widget_attrs)['widget']
widget_context.update(dict(
lang_code=widget.lang_code,
lang_name=widget.lang_name
))
subwidgets.append(widget_context)
context['widget']['subwidgets'] = subwidgets
return context