From b40fbf7cab0f01e06afe60f3879e96ea283b1898 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Mon, 15 Feb 2021 12:59:21 -0600 Subject: [PATCH] Add the `Product.complete_size` convenience attribute also define `str(VendorItem)` --- corepos/db/office_op/model.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/corepos/db/office_op/model.py b/corepos/db/office_op/model.py index 8e24e05..c7fa505 100644 --- a/corepos/db/office_op/model.py +++ b/corepos/db/office_op/model.py @@ -611,6 +611,18 @@ class Product(Base): fields = filter(bool, fields) return ' '.join(fields) + @property + def complete_size(self): + """ + Returns the "complete" size string for the product. This is based on + the :attr:`size` and :attr:`unit_of_measure` attributes. + """ + parts = [self.size, self.unit_of_measure] + parts = [(part or '').strip() + for part in parts] + parts = [part for part in parts if part] + return " ".join(parts).strip() + def __str__(self): return self.description or '' @@ -771,6 +783,9 @@ class VendorItem(Base): modified = sa.Column(sa.DateTime(), nullable=True) + def __str__(self): + return "{} from {}".format(self.sku, self.vendor) + class ScaleItem(Base): """