Review board returns informative error message when a review is posted with a duplicate commit id.

Review Request #5815 — Created May 13, 2014 and submitted — Latest diff uploaded

Information

Review Board
master
f7060b2...

Reviewers

The reproduction steps described in bug 3328 could not be reproduced.
When following the steps, I would receive a HTTP 500 error when
making the second post. This is a result of Django not being used
previously to validate the data. Instead it was being left to the
database, which is checked and handled differently depending on
which database is used and it's configuration. To fix this creation
was changed to instantiation to prevent partial saving, a validation
step was added prior to saving, a new webapi error was added, and
the error code was documented in the manual.

I tested to ensure when making the second rbt post that the error was
caught and an informative error message was displayed, rather than an
HTTP 500 error. I also checked after the failure to ensure that a
partial review object was not created. I also tested to ensure that
posts could still be created if they had a unique commit id.