Differential D14783 Diff 35752 src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditEngine.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditEngine.php
<?php | <?php | ||||
final class PhabricatorEditEngineConfigurationEditEngine | final class PhabricatorEditEngineConfigurationEditEngine | ||||
extends PhabricatorEditEngine { | extends PhabricatorEditEngine { | ||||
const ENGINECONST = 'transactions.editengine.config'; | const ENGINECONST = 'transactions.editengine.config'; | ||||
private $targetEngine; | private $targetEngine; | ||||
public function setTargetEngine(PhabricatorEditEngine $target_engine) { | public function setTargetEngine(PhabricatorEditEngine $target_engine) { | ||||
$this->targetEngine = $target_engine; | $this->targetEngine = $target_engine; | ||||
return $this; | return $this; | ||||
} | } | ||||
public function getTargetEngine() { | public function getTargetEngine() { | ||||
if (!$this->targetEngine) { | if (!$this->targetEngine) { | ||||
throw new PhutilInvalidStateException('setTargetEngine'); | // If we don't have a target engine, assume we're editing ourselves. | ||||
return new PhabricatorEditEngineConfigurationEditEngine(); | |||||
} | } | ||||
return $this->targetEngine; | return $this->targetEngine; | ||||
} | } | ||||
protected function getCreateNewObjectPolicy() { | protected function getCreateNewObjectPolicy() { | ||||
return $this->getTargetEngine() | return $this->getTargetEngine() | ||||
->getApplication() | ->getApplication() | ||||
->getPolicy(PhabricatorPolicyCapability::CAN_EDIT); | ->getPolicy(PhabricatorPolicyCapability::CAN_EDIT); | ||||
▲ Show 20 Lines • Show All 74 Lines • Show Last 20 Lines |