Add 'currency' field type for new forms

This commit is contained in:
Lance Edgar 2017-10-14 18:52:30 -07:00
parent 7442b933fd
commit 46b49ab987

View file

@ -301,6 +301,8 @@ class Form(object):
elif type_ == 'boolean': elif type_ == 'boolean':
self.set_renderer(key, self.render_boolean) self.set_renderer(key, self.render_boolean)
self.set_widget(key, dfwidget.CheckboxWidget(true_val='True', false_val='False')) self.set_widget(key, dfwidget.CheckboxWidget(true_val='True', false_val='False'))
elif type_ == 'currency':
self.set_renderer(key, self.render_currency)
elif type_ == 'enum': elif type_ == 'enum':
self.set_renderer(key, self.render_enum) self.set_renderer(key, self.render_enum)
elif type_ == 'codeblock': elif type_ == 'codeblock':
@ -427,6 +429,14 @@ class Form(object):
value = self.obtain_value(record, field_name) value = self.obtain_value(record, field_name)
return pretty_boolean(value) return pretty_boolean(value)
def render_currency(self, record, field_name):
value = self.obtain_value(record, field_name)
if value is None:
return ""
if value < 0:
return "(${:0,.2f})".format(0 - value)
return "${:0,.2f}".format(value)
def render_enum(self, record, field_name): def render_enum(self, record, field_name):
value = self.obtain_value(record, field_name) value = self.obtain_value(record, field_name)
if value is None: if value is None: