Refactor how batch editing is done; don't include rows for that sometimes

Various other fixes also..for sake of new purchase batches
This commit is contained in:
Lance Edgar 2016-11-08 12:56:12 -06:00
parent da8ef9ebd8
commit 7454e611c5
7 changed files with 85 additions and 26 deletions

View file

@ -51,6 +51,7 @@ class PurchaseBatchView(BatchMasterView):
url_prefix = '/purchases/batches'
rows_creatable = True
rows_editable = True
edit_with_rows = False
def _preconfigure_grid(self, g):
super(PurchaseBatchView, self)._preconfigure_grid(g)
@ -65,6 +66,10 @@ class PurchaseBatchView(BatchMasterView):
default_active=True, default_verb='contains')
g.sorters['buyer'] = g.make_sorter(model.Person.display_name)
if self.request.has_perm('purchases.batch.execute'):
g.filters['complete'].default_active = True
g.filters['complete'].default_verb = 'is_true'
g.date_ordered.set(label="Ordered")
def configure_grid(self, g):
@ -82,26 +87,31 @@ class PurchaseBatchView(BatchMasterView):
def _preconfigure_fieldset(self, fs):
super(PurchaseBatchView, self)._preconfigure_fieldset(fs)
fs.vendor.set(renderer=forms.renderers.VendorFieldRenderer)
fs.buyer.set(renderer=forms.renderers.EmployeeFieldRenderer)
fs.po_number.set(label="PO Number")
fs.po_total.set(label="PO Total")
fs.po_total.set(label="PO Total", readonly=True)
def configure_fieldset(self, fs):
fs.configure(
include=[
fs.id,
fs.store,
fs.vendor.with_renderer(forms.renderers.VendorFieldRenderer),
fs.buyer.with_renderer(forms.renderers.EmployeeFieldRenderer),
fs.vendor,
fs.buyer,
fs.date_ordered,
fs.po_number,
fs.po_total,
fs.created,
fs.created_by,
fs.complete,
fs.executed,
fs.executed_by,
])
if self.creating:
del fs.po_total
del fs.complete
# default store may be configured
store = self.rattail_config.get('rattail', 'store')
@ -119,6 +129,10 @@ class PurchaseBatchView(BatchMasterView):
# default order date is today
fs.model.date_ordered = localtime(self.rattail_config).date()
elif self.editing:
fs.store.set(readonly=True)
fs.vendor.set(readonly=True)
def template_kwargs_view(self, **kwargs):
kwargs = super(PurchaseBatchView, self).template_kwargs_view(**kwargs)
vendor = kwargs['batch'].vendor