3 final class PhabricatorPolicyEditField
4 extends PhabricatorEditField
{
10 public function setPolicies(array $policies) {
11 $this->policies
= $policies;
15 public function getPolicies() {
16 if ($this->policies
=== null) {
17 throw new PhutilInvalidStateException('setPolicies');
19 return $this->policies
;
22 public function setCapability($capability) {
23 $this->capability
= $capability;
27 public function getCapability() {
28 return $this->capability
;
31 public function setSpaceField(PhabricatorSpaceEditField
$space_field) {
32 $this->spaceField
= $space_field;
36 public function getSpaceField() {
37 return $this->spaceField
;
40 protected function newControl() {
41 $control = id(new AphrontFormPolicyControl())
42 ->setCapability($this->getCapability())
43 ->setPolicyObject($this->getObject())
44 ->setPolicies($this->getPolicies());
46 $space_field = $this->getSpaceField();
48 $control->setSpacePHID($space_field->getValueForControl());
54 protected function newHTTPParameterType() {
55 return new AphrontPHIDHTTPParameterType();
58 protected function newConduitParameterType() {
59 return new ConduitStringParameterType();