Add support for Row Status Breakdown, for Import/Export batches
This commit is contained in:
parent
02649709aa
commit
234fd8b2e1
|
@ -58,7 +58,7 @@ master_doc = 'index'
|
||||||
|
|
||||||
# General information about the project.
|
# General information about the project.
|
||||||
project = u'Tailbone'
|
project = u'Tailbone'
|
||||||
copyright = u'2010 - 2018, Lance Edgar'
|
copyright = u'2010 - 2020, Lance Edgar'
|
||||||
|
|
||||||
# The version info for the project you're documenting, acts as replacement for
|
# The version info for the project you're documenting, acts as replacement for
|
||||||
# |version| and |release|, also used in various other places throughout the
|
# |version| and |release|, also used in various other places throughout the
|
||||||
|
|
2
setup.py
2
setup.py
|
@ -2,7 +2,7 @@
|
||||||
################################################################################
|
################################################################################
|
||||||
#
|
#
|
||||||
# Rattail -- Retail Software Framework
|
# Rattail -- Retail Software Framework
|
||||||
# Copyright © 2010-2019 Lance Edgar
|
# Copyright © 2010-2020 Lance Edgar
|
||||||
#
|
#
|
||||||
# This file is part of Rattail.
|
# This file is part of Rattail.
|
||||||
#
|
#
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
################################################################################
|
################################################################################
|
||||||
#
|
#
|
||||||
# Rattail -- Retail Software Framework
|
# Rattail -- Retail Software Framework
|
||||||
# Copyright © 2010-2019 Lance Edgar
|
# Copyright © 2010-2020 Lance Edgar
|
||||||
#
|
#
|
||||||
# This file is part of Rattail.
|
# This file is part of Rattail.
|
||||||
#
|
#
|
||||||
|
@ -166,19 +166,22 @@ class BatchMasterView(MasterView):
|
||||||
kwargs['status_breakdown'] = self.make_status_breakdown(batch)
|
kwargs['status_breakdown'] = self.make_status_breakdown(batch)
|
||||||
return kwargs
|
return kwargs
|
||||||
|
|
||||||
def make_status_breakdown(self, batch):
|
def make_status_breakdown(self, batch, rows=None, status_enum=None):
|
||||||
"""
|
"""
|
||||||
Returns a simple list of 2-tuples, each of which has the status display
|
Returns a simple list of 2-tuples, each of which has the status display
|
||||||
title as first member, and number of rows with that status as second
|
title as first member, and number of rows with that status as second
|
||||||
member.
|
member.
|
||||||
"""
|
"""
|
||||||
breakdown = {}
|
breakdown = {}
|
||||||
for row in batch.active_rows():
|
if rows is None:
|
||||||
|
rows = batch.active_rows()
|
||||||
|
for row in rows:
|
||||||
if row.status_code is not None:
|
if row.status_code is not None:
|
||||||
if row.status_code not in breakdown:
|
if row.status_code not in breakdown:
|
||||||
|
status = status_enum or row.STATUS
|
||||||
breakdown[row.status_code] = {
|
breakdown[row.status_code] = {
|
||||||
'code': row.status_code,
|
'code': row.status_code,
|
||||||
'title': row.STATUS[row.status_code],
|
'title': status[row.status_code],
|
||||||
'count': 0,
|
'count': 0,
|
||||||
}
|
}
|
||||||
breakdown[row.status_code]['count'] += 1
|
breakdown[row.status_code]['count'] += 1
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
################################################################################
|
################################################################################
|
||||||
#
|
#
|
||||||
# Rattail -- Retail Software Framework
|
# Rattail -- Retail Software Framework
|
||||||
# Copyright © 2010-2018 Lance Edgar
|
# Copyright © 2010-2020 Lance Edgar
|
||||||
#
|
#
|
||||||
# This file is part of Rattail.
|
# This file is part of Rattail.
|
||||||
#
|
#
|
||||||
|
@ -103,9 +103,19 @@ class ImporterBatchView(BatchMasterView):
|
||||||
f.set_readonly('importer_key')
|
f.set_readonly('importer_key')
|
||||||
f.set_readonly('row_table')
|
f.set_readonly('row_table')
|
||||||
|
|
||||||
def make_status_breakdown(self, batch):
|
def make_status_breakdown(self, batch, **kwargs):
|
||||||
# TODO: should implement this, just can't use batch.data_rows apparently
|
"""
|
||||||
pass
|
Returns a simple list of 2-tuples, each of which has the status display
|
||||||
|
title as first member, and number of rows with that status as second
|
||||||
|
member.
|
||||||
|
"""
|
||||||
|
if kwargs.get('rows') is None:
|
||||||
|
self.make_row_table(batch.row_table)
|
||||||
|
kwargs['rows'] = self.Session.query(self.current_row_table).all()
|
||||||
|
kwargs.setdefault('status_enum', self.enum.IMPORTER_BATCH_ROW_STATUS)
|
||||||
|
breakdown = super(ImporterBatchView, self).make_status_breakdown(
|
||||||
|
batch, **kwargs)
|
||||||
|
return breakdown
|
||||||
|
|
||||||
def delete_instance(self, batch):
|
def delete_instance(self, batch):
|
||||||
self.make_row_table(batch.row_table)
|
self.make_row_table(batch.row_table)
|
||||||
|
|
Loading…
Reference in a new issue