-
-
reviewboard/reviews/managers.py (Diff revision 1) Why do we create the object here, add a commit_id, and then update it with the id? This results in a review being created and saved before we validate the commit id. As such, previously and in this version, a review post with only basic information persists after the error.
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
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.
Change Summary:
Changed creation of ReviewRequest from create to model so that on failure, a partial ReviewRequest does not exist on the server.
Description: |
|
||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Testing Done: |
|
||||||||||||||||||||||||||||||||||||
Commit: |
|
||||||||||||||||||||||||||||||||||||
Diff: |
Revision 2 (+19 -3) |
-
-
reviewboard/webapi/resources/review_request.py (Diff revision 2) This line is too long now (we wrap to 80 columns). You can put parens around it and move the
ValidationError
to the next line. -
reviewboard/webapi/resources/review_request.py (Diff revision 2) Can you keep these in alphabetical order?
Commit: |
|
||||
---|---|---|---|---|---|
Diff: |
Revision 3 (+20 -2) |
-
This is a review from Review Bot. Tool: PEP8 Style Checker Processed Files: reviewboard/webapi/errors.py reviewboard/webapi/resources/review_request.py reviewboard/reviews/managers.py Ignored Files: docs/manual/webapi/2.0/errors/227-commit-id-already-exists.rst docs/manual/webapi/2.0/errors/index.rst