This is a widget for decimal/money/currency fields on Geraldo Reports.
When you use Geraldo to write reports, decimal fields must be formatted using get_value lambda attribute, because ObjectValue doesn't know what mask you want to use.
With this widget, you just copy it into a common use Python file, import into your reports file and use it replacing ObjectValue on elements for fields you must be formatted as money format.
from geraldo import Report, ReportBand, ObjectValue from utils.reports import DecimalObjectValue class ReportCustomers(Report): title = u'Customers List' page_size = A4 class band_detail(ReportBand): height = 0.5*cm elements = [ ObjectValue(attribute_name='id', top=0.1*cm), DecimalObjectValue(attribute_name='salary', left=26.2*cm, top=0.1*cm, format='%0.03f'), ]
1 2 3 4 5 6 7 8 9
class DecimalObjectValue(ObjectValue): format = '%0.02f' def get_object_value(self, instance=None): value = super(DecimalObjectValue, self).get_object_value(instance) if not value: value = 0 return self.format%value
More like this
- Image compression before saving the new model / work with JPG, PNG by Schleidens 6 days, 14 hours ago
- Help text hyperlinks by sa2812 1 month ago
- Stuff by NixonDash 3 months, 1 week ago
- Add custom fields to the built-in Group model by jmoppel 5 months, 1 week ago
- Month / Year SelectDateWidget based on django SelectDateWidget by pierreben 8 months, 3 weeks ago
Please login first before commenting.