{"record":{"id":"64f3e805bb5d3a50","repo":"phacility/phabricator","slug":"you-can-not-accept-a-draft-revision","errorCode":null,"errorMessage":"You can not accept a draft revision.","messagePattern":"You can not accept a draft revision\\.","errorType":"validation","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"src/applications/differential/xaction/DifferentialRevisionAcceptTransaction.php","lineNumber":169,"sourceCode":"    return $this->isViewerFullyAccepted($object, $actor);\n  }\n\n  public function applyExternalEffects($object, $value) {\n    $status = DifferentialReviewerStatus::STATUS_ACCEPTED;\n    $actor = $this->getActor();\n    $this->applyReviewerEffect($object, $actor, $value, $status);\n  }\n\n  protected function validateAction($object, PhabricatorUser $viewer) {\n    if ($object->isClosed()) {\n      throw new Exception(\n        pht(\n          'You can not accept this revision because it has already been '.\n          'closed. Only open revisions can be accepted.'));\n    }\n\n    if ($object->isDraft() || !$object->getShouldBroadcast()) {\n      throw new Exception(\n        pht('You can not accept a draft revision.'));\n    }\n\n    $config_key = 'differential.allow-self-accept';\n    if (!PhabricatorEnv::getEnvConfig($config_key)) {\n      if ($this->isViewerRevisionAuthor($object, $viewer)) {\n        throw new Exception(\n          pht(\n            'You can not accept this revision because you are the revision '.\n            'author. You can only accept revisions you do not own. You can '.\n            'change this behavior by adjusting the \"%s\" setting in Config.',\n            $config_key));\n      }\n    }\n\n    if ($this->isViewerFullyAccepted($object, $viewer)) {\n      throw new Exception(\n        pht(","sourceCodeStart":151,"sourceCodeEnd":187,"githubUrl":"https://github.com/phacility/phabricator/blob/5720a38cfe95b00ca4be5016dd0d2f3195f4fa04/src/applications/differential/xaction/DifferentialRevisionAcceptTransaction.php#L151-L187","documentation":"Error \"You can not accept a draft revision.\" thrown in phacility/phabricator.","triggerScenarios":"Thrown at src/applications/differential/xaction/DifferentialRevisionAcceptTransaction.php:169 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-21T11:28:35.574Z"}