Fix bulk-delete for batch rows, allow it for pricing batches

This commit is contained in:
Lance Edgar 2017-08-08 16:57:05 -05:00
parent 2df51bfef8
commit 2dc539c357
3 changed files with 16 additions and 2 deletions

View file

@ -740,7 +740,7 @@ class BatchMasterView(MasterView):
"Delete" all rows matching the current row grid view query. This sets "Delete" all rows matching the current row grid view query. This sets
the ``removed`` flag on the rows but does not truly delete them. the ``removed`` flag on the rows but does not truly delete them.
""" """
query = self.get_effective_row_query() query = self.get_effective_row_data(sort=False)
query.update({'removed': True}, synchronize_session=False) query.update({'removed': True}, synchronize_session=False)
return self.redirect(self.get_action_url('view', self.get_instance())) return self.redirect(self.get_action_url('view', self.get_instance()))

View file

@ -43,8 +43,9 @@ class PricingBatchView(BatchMasterView):
route_prefix = 'batch.pricing' route_prefix = 'batch.pricing'
url_prefix = '/batches/pricing' url_prefix = '/batches/pricing'
creatable = False creatable = False
rows_editable = True
bulk_deletable = True bulk_deletable = True
rows_editable = True
rows_bulk_deletable = True
grid_columns = [ grid_columns = [
'id', 'id',

View file

@ -570,6 +570,19 @@ class MasterView(View):
""" """
raise NotImplementedError raise NotImplementedError
def get_effective_row_data(self, session=None, sort=False, **kwargs):
"""
Convenience method which returns the "effective" data for the row grid,
filtered (and optionally sorted) to match what would show on the UI,
but not paged.
"""
if session is None:
session = self.Session()
kwargs.setdefault('pageable', False)
kwargs.setdefault('sortable', sort)
grid = self.make_row_grid(session=session, **kwargs)
return grid.make_visible_data()
@classmethod @classmethod
def get_row_route_prefix(cls): def get_row_route_prefix(cls):
""" """