Fix some bugs with importer batch views
This commit is contained in:
parent
ec438ead51
commit
4191a56bfb
|
@ -30,6 +30,8 @@ import sqlalchemy as sa
|
|||
|
||||
from rattail.db import model
|
||||
|
||||
import colander
|
||||
|
||||
from tailbone.views.batch import BatchMasterView
|
||||
|
||||
|
||||
|
@ -208,13 +210,21 @@ class ImporterBatchView(BatchMasterView):
|
|||
return kwargs
|
||||
|
||||
def make_row_form(self, instance=None, **kwargs):
|
||||
fields = ['sequence', 'object_key', 'object_str', 'status_code']
|
||||
for col in self.current_row_table.c:
|
||||
if col.name.startswith('key_'):
|
||||
fields.append(col.name)
|
||||
|
||||
if kwargs.get('fields') is None:
|
||||
fields = ['sequence', 'object_key', 'object_str', 'status_code']
|
||||
for col in self.current_row_table.c:
|
||||
if col.name.startswith('key_'):
|
||||
fields.append(col.name)
|
||||
kwargs['fields'] = fields
|
||||
return super(ImporterBatchView, self).make_row_form(instance=instance, **kwargs)
|
||||
|
||||
row = dict([(field, getattr(instance, field))
|
||||
for field in fields])
|
||||
row['status_text'] = instance.status_text
|
||||
|
||||
kwargs.setdefault('schema', colander.Schema())
|
||||
kwargs.setdefault('cancel_url', None)
|
||||
return super(ImporterBatchView, self).make_row_form(instance=row, **kwargs)
|
||||
|
||||
def configure_row_form(self, f):
|
||||
"""
|
||||
|
@ -228,9 +238,9 @@ class ImporterBatchView(BatchMasterView):
|
|||
f.set_label('status_code', "Status")
|
||||
|
||||
def render_row_status_code(self, row, field):
|
||||
status = self.enum.IMPORTER_BATCH_ROW_STATUS[row.status_code]
|
||||
if row.status_code == self.enum.IMPORTER_BATCH_ROW_STATUS_UPDATE and row.status_text:
|
||||
return "{} ({})".format(status, row.status_text)
|
||||
status = self.enum.IMPORTER_BATCH_ROW_STATUS[row['status_code']]
|
||||
if row['status_code'] == self.enum.IMPORTER_BATCH_ROW_STATUS_UPDATE and row['status_text']:
|
||||
return "{} ({})".format(status, row['status_text'])
|
||||
return status
|
||||
|
||||
def delete_row(self):
|
||||
|
|
|
@ -2547,7 +2547,8 @@ class MasterView(View):
|
|||
kwargs.setdefault('cancel_url', self.request.get_referrer())
|
||||
else:
|
||||
instance = kwargs['model_instance']
|
||||
kwargs.setdefault('cancel_url', self.get_row_action_url('view', instance))
|
||||
if 'cancel_url' not in kwargs:
|
||||
kwargs['cancel_url'] = self.get_row_action_url('view', instance)
|
||||
defaults.update(kwargs)
|
||||
return defaults
|
||||
|
||||
|
|
Loading…
Reference in a new issue