Appearance: Fix form CSS media rendering

Fix the way the form CSS contained in the media attribute
is rendered. This is now an interator and not a single value.
Replace the current method with a for loop.

Signed-off-by: Roberto Rosario <roberto.rosario.gonzalez@gmail.com>
This commit is contained in:
Roberto Rosario
2018-11-29 01:12:36 -04:00
parent ef3453b48c
commit cfe1934b9b
17 changed files with 226 additions and 98 deletions

View File

@@ -1,8 +1,7 @@
from __future__ import unicode_literals
from django import forms
from django.urls import reverse
from django.utils.html import format_html_join, mark_safe
from django.utils.html import format_html_join
def widget_transition_events(transition):
@@ -15,19 +14,10 @@ def widget_transition_events(transition):
)
def widget_workflow_diagram(workflow):
return mark_safe(
'<img class="img-responsive" src="{}" style="margin:auto;">'.format(
reverse('document_states:workflow_image', args=(workflow.pk,))
)
)
class WorkflowImageWidget(forms.widgets.Widget):
def render(self, name, value, attrs=None):
if value:
output = []
output.append(widget_workflow_diagram(value))
return mark_safe(''.join(output))
else:
return ''
template_name = 'document_states/forms/widgets/workflow_image.html'
def format_value(self, value):
if value == '' or value is None:
return None
return value