Ensure extra_data is set before modifying it in the API.

Review Request #9907 — Created May 2, 2018 and submitted — Latest diff uploaded

Information

Review Board
release-3.0.x
1df1321...

Reviewers

When working with extra_data in the API, we assumed the version on the
object was a valid dictionary. If this was instead None, API requests
would fail. This could happen with very old objects, ones explicitly set
to None through a script/terminal, or if something went wrong when
setting up the object.

We now check for this and set it to {} before operating on it if
necessary.

Unit tests pass.