Add smarts to show display text for some version diff fields
e.g. show `str(customer)` along with `customer_uuid` since almost nobody will "care" about the uuid so much, they just want the name
This commit is contained in:
parent
edb5393cdc
commit
9efe767654
6 changed files with 118 additions and 95 deletions
|
@ -1361,6 +1361,20 @@ class MasterView(View):
|
|||
if newer:
|
||||
next_url = self.request.route_url('{}.version'.format(route_prefix), uuid=instance.uuid, txnid=newer.id)
|
||||
|
||||
version_diffs = []
|
||||
versions = self.get_relevant_versions(transaction, instance)
|
||||
for version in versions:
|
||||
|
||||
old_data = {}
|
||||
new_data = {}
|
||||
fields = self.fields_for_version(version)
|
||||
for field in fields:
|
||||
if version.previous:
|
||||
old_data[field] = getattr(version.previous, field)
|
||||
new_data[field] = getattr(version, field)
|
||||
diff = self.make_version_diff(version, old_data, new_data, fields=fields)
|
||||
version_diffs.append(diff)
|
||||
|
||||
return self.render_to_response('view_version', {
|
||||
'instance': instance,
|
||||
'instance_title': "{} (history)".format(instance_title),
|
||||
|
@ -1368,7 +1382,7 @@ class MasterView(View):
|
|||
'instance_url': self.get_action_url('versions', instance),
|
||||
'transaction': transaction,
|
||||
'changed': localtime(self.rattail_config, transaction.issued_at, from_utc=True),
|
||||
'versions': self.get_relevant_versions(transaction, instance),
|
||||
'version_diffs': version_diffs,
|
||||
'show_prev_next': True,
|
||||
'prev_url': prev_url,
|
||||
'next_url': next_url,
|
||||
|
@ -4815,6 +4829,11 @@ class MasterView(View):
|
|||
def make_diff(self, old_data, new_data, **kwargs):
|
||||
return diffs.Diff(old_data, new_data, **kwargs)
|
||||
|
||||
def make_version_diff(self, version, old_data, new_data, **kwargs):
|
||||
if 'title' not in kwargs:
|
||||
kwargs['title'] = self.title_for_version(version)
|
||||
return diffs.VersionDiff(version, old_data, new_data, **kwargs)
|
||||
|
||||
##############################
|
||||
# Configuration Views
|
||||
##############################
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue