{"record":{"id":"131106b6fc71c64c","repo":"phacility/phabricator","slug":"you-can-not-request-changes-to-a-draft-revision","errorCode":null,"errorMessage":"You can not request changes to a draft revision.","messagePattern":"You can not request changes to a draft revision\\.","errorType":"validation","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"src/applications/differential/xaction/DifferentialRevisionRejectTransaction.php","lineNumber":80,"sourceCode":"  protected function validateAction($object, PhabricatorUser $viewer) {\n    if ($object->isClosed()) {\n      throw new Exception(\n        pht(\n          'You can not request changes to this revision because it has '.\n          'already been closed. You can only request changes to open '.\n          'revisions.'));\n    }\n\n    if ($this->isViewerRevisionAuthor($object, $viewer)) {\n      throw new Exception(\n        pht(\n          'You can not request changes to this revision because you are the '.\n          'revision author. You can only request changes to revisions you do '.\n          'not own.'));\n    }\n\n    if ($object->isDraft() || !$object->getShouldBroadcast()) {\n      throw new Exception(\n        pht('You can not request changes to a draft revision.'));\n    }\n\n    if ($this->isViewerFullyRejected($object, $viewer)) {\n      throw new Exception(\n        pht(\n          'You can not request changes to this revision because you have '.\n          'already requested changes.'));\n    }\n  }\n\n  public function getTitle() {\n    return pht(\n      '%s requested changes to this revision.',\n      $this->renderAuthor());\n  }\n\n  public function getTitleForFeed() {","sourceCodeStart":62,"sourceCodeEnd":98,"githubUrl":"https://github.com/phacility/phabricator/blob/5720a38cfe95b00ca4be5016dd0d2f3195f4fa04/src/applications/differential/xaction/DifferentialRevisionRejectTransaction.php#L62-L98","documentation":"Error \"You can not request changes to a draft revision.\" thrown in phacility/phabricator.","triggerScenarios":"Thrown at src/applications/differential/xaction/DifferentialRevisionRejectTransaction.php:80 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5720a38cfe95b00ca4be5016dd0d2f3195f4fa04","analyzedAt":"2026-08-21T05:07:25.672Z","schemaVersion":2},"datasetVersion":"2026-08-21T13:17:26.733Z"}