Steps to recreate issues:
- Run
./runme.sh
- Note that this script uses
python3
to create a virtual environment (3.5+ is required)
- Note that this script uses
- Access the admin interface from your browser on
http://localhost:8000/admin
- Login as a super user (username:
test
, password:pass
) - Navigate to the
Bar
admin changelist page (http://localhost:8000/admin/app/bar/
). Note thatBarAdmin
IS NOT a subclass ofVersionAdmin
. - Change
thing
for one record andstuff
for the other and clickSave
. - Observe that in the history page for the record that had
thing
changed, the action is listed as "Changed thing". Also observe that in the history for the record that hadstuff
changed, the action is listed as "Changed stuff". - Navigate to the
Foo
admin changelist page (http://localhost:8000/admin/app/bar/
). Note thatFooAdmin
IS a subclass ofVersionAdmin
. - Repeat step 5, this time for the
Foo
records. - (ISSUE #1) Observe that in the history pages for both records, the action is the same.
- From the
Foo
admin changelist page, make another set of changes that affects both records. - From the history page of any one
Foo
record, revert to the previous set of changes (i.e. the version directly after the initial version). - (ISSUE #2) From the changelist page, observe that both records have been reverted.
- (ISSUE #3) Observe that only one history page has been updated in spite of both records being affected.
Issues 2 and 3 may be resolved by updating the history of all records that are part of a revision or by ensuring that only one record is reverted.
Note: reverting to the initial version will affect a single record.