Fix RuleWidget

This commit is contained in:
sonny 2020-05-21 17:11:06 +02:00
parent 2d638cd977
commit c732fdc96e
3 changed files with 16 additions and 9 deletions

View file

@ -1,10 +1,10 @@
<input class="input category-form__input" type="checkbox" <input class="input category-form__input" type="{{ option.type }}"
name="rules" value="{{ rule.pk }}" checked{% endif %} /> name="{{ option.name }}" value="{{ option.value|stringformat:'s' }}"{% if option.selected %} checked{% endif %} />
{% if rule.favicon %} {% if option.instance.favicon %}
<img class="favicon" src="{{ rule.favicon }}" /> <img class="favicon" src="{{ option.instance.favicon }}" />
{% else %} {% else %}
<i class="gg-image"></i> <i class="gg-image"></i>
{% endif %} {% endif %}
<span>{{ rule.name }}</span> <span>{{ option.label }}</span>

View file

@ -1,7 +1,9 @@
<ul class="list checkbox-list"> <ul class="list checkbox-list">
{% for rule in rules %} {% for group, options, index in widget.optgroups %}
<li class="list__item checkbox-list__item"> {% for option in options %}
{% include "news/core/widgets/rule.html" %} <li class="list__item checkbox-list__item">
</li> {% include "news/core/widgets/rule.html" with option=option only %}
</li>
{% endfor %}
{% endfor %} {% endfor %}
</ul> </ul>

View file

@ -4,3 +4,8 @@ from django.forms.widgets import CheckboxSelectMultiple
class RulesWidget(CheckboxSelectMultiple): class RulesWidget(CheckboxSelectMultiple):
template_name = "news/core/widgets/rules.html" template_name = "news/core/widgets/rules.html"
option_template_name = "news/core/widgets/rule.html" option_template_name = "news/core/widgets/rule.html"
def create_option(self, *args, **kwargs):
option = super().create_option(*args, **kwargs)
instance = self.choices.queryset.get(pk=option["value"])
return {**option, "instance": instance}