Add flag for rendering key value, for enum field renderers
Only valid during the readonly rendering. Not sure how useful this will be in the long run...
This commit is contained in:
parent
90bde4f2e0
commit
30e6b6e29c
1 changed files with 8 additions and 4 deletions
|
@ -158,12 +158,13 @@ class EnumFieldRenderer(SelectFieldRenderer):
|
|||
"""
|
||||
Renderer for simple enumeration fields.
|
||||
"""
|
||||
|
||||
enumeration = {}
|
||||
render_key = False
|
||||
|
||||
def __init__(self, arg):
|
||||
def __init__(self, arg, render_key=False):
|
||||
if isinstance(arg, dict):
|
||||
self.enumeration = arg
|
||||
self.render_key = render_key
|
||||
else:
|
||||
self(arg)
|
||||
|
||||
|
@ -174,8 +175,11 @@ class EnumFieldRenderer(SelectFieldRenderer):
|
|||
def render_readonly(self, **kwargs):
|
||||
value = self.raw_value
|
||||
if value is None:
|
||||
return u''
|
||||
return self.enumeration.get(value, unicode(value))
|
||||
return ''
|
||||
rendered = self.enumeration.get(value, unicode(value))
|
||||
if self.render_key:
|
||||
rendered = '{} - {}'.format(value, rendered)
|
||||
return rendered
|
||||
|
||||
def render(self, **kwargs):
|
||||
opts = [(self.enumeration[x], x) for x in self.enumeration]
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue