From 36d4f0a5f763f1d1a9e77e291ddece693ef8a799 Mon Sep 17 00:00:00 2001 From: Lance Edgar Date: Sun, 24 Jul 2022 21:10:52 -0500 Subject: [PATCH] Add basic edit support for Purchases --- tailbone/views/purchases/core.py | 50 +++++++++++++++++++++----- tailbone/views/purchasing/receiving.py | 2 +- 2 files changed, 43 insertions(+), 9 deletions(-) diff --git a/tailbone/views/purchases/core.py b/tailbone/views/purchases/core.py index eb32fa73..eca5de34 100644 --- a/tailbone/views/purchases/core.py +++ b/tailbone/views/purchases/core.py @@ -42,7 +42,6 @@ class PurchaseView(MasterView): """ model_class = model.Purchase creatable = False - editable = False has_rows = True model_row_class = model.PurchaseItem @@ -73,7 +72,6 @@ class PurchaseView(MasterView): 'status', 'buyer', 'date_ordered', - 'date_received', 'po_number', 'po_total', 'ship_method', @@ -81,6 +79,7 @@ class PurchaseView(MasterView): 'invoice_date', 'invoice_number', 'invoice_total', + 'date_received', 'created', 'created_by', 'batches', @@ -201,22 +200,57 @@ class PurchaseView(MasterView): def configure_form(self, f): super(PurchaseView, self).configure_form(f) + # id f.set_renderer('id', self.render_id_str) + f.set_readonly('id') f.set_renderer('store', self.render_store) + + # vendor f.set_renderer('vendor', self.render_vendor) + f.set_readonly('vendor') + + # department f.set_renderer('department', self.render_department) + # buyer + f.set_readonly('buyer') + + # date_ordered + f.set_type('date_ordered', 'date_jquery') + + # po_number + f.set_label('po_number', "PO Number") + + # po_total + f.set_type('po_total', 'currency') + f.set_readonly('po_total') + f.set_label('po_total', "PO Total") + + # notes_to_vendor + f.set_type('notes_to_vendor', 'text_wrapped') + + # date_received + f.set_type('date_received', 'date_jquery') + + # invoice_date + f.set_type('invoice_date', 'date_jquery') + + # invoice_total + f.set_type('invoice_total', 'currency') + f.set_readonly('invoice_total') + + # status f.set_readonly('status') f.set_enum('status', self.enum.PURCHASE_STATUS) - f.set_label('po_number', "PO Number") - f.set_label('po_total', "PO Total") - f.set_type('po_total', 'currency') - - f.set_type('invoice_total', 'currency') - + # batches f.set_renderer('batches', self.render_batches) + f.set_readonly('batches') + + # created + f.set_readonly('created') + f.set_readonly('created_by') if self.viewing: purchase = f.model_instance diff --git a/tailbone/views/purchasing/receiving.py b/tailbone/views/purchasing/receiving.py index 3f49bf9a..a250ba0c 100644 --- a/tailbone/views/purchasing/receiving.py +++ b/tailbone/views/purchasing/receiving.py @@ -539,7 +539,7 @@ class ReceivingBatchView(PurchasingBatchView): f.set_widget('purchase_uuid', dfwidget.SelectWidget(values=values)) f.set_label('purchase_uuid', "Purchase Order") f.set_required('purchase_uuid') - else: + elif self.creating or not batch.purchase: f.remove_field('purchase') # department