mirror of
https://we.phorge.it/source/phorge.git
synced 2024-12-04 12:42:43 +01:00
70053beeed
Summary: Ref T10010. - Default name to "Milestone X". - Remove policy controls, which have no effect. - Don't generate slugs for milestones since this is a big pain where they all generate as `#milestone_1` by default (you can add one if you want). I plan to add some kind of syntax like `#parent/32` to mean "Milestone 32 in Parent" later. - Don't require projects to have unique names (again, 900 copies of "Milestone X"). I think we can trust users to sort this out for themselves since modern Phabricator has "Can Create Projects" permission, etc. Test Plan: Created some milestones, had a less awful experience. Reviewers: chad Reviewed By: chad Maniphest Tasks: T10010 Differential Revision: https://secure.phabricator.com/D14909
55 lines
1.3 KiB
PHP
55 lines
1.3 KiB
PHP
<?php
|
|
|
|
abstract class PhabricatorEditEngineExtension extends Phobject {
|
|
|
|
private $viewer;
|
|
|
|
final public function getExtensionKey() {
|
|
return $this->getPhobjectClassConstant('EXTENSIONKEY');
|
|
}
|
|
|
|
final public function setViewer($viewer) {
|
|
$this->viewer = $viewer;
|
|
return $this;
|
|
}
|
|
|
|
final public function getViewer() {
|
|
return $this->viewer;
|
|
}
|
|
|
|
public function getExtensionPriority() {
|
|
return 1000;
|
|
}
|
|
|
|
abstract public function isExtensionEnabled();
|
|
abstract public function getExtensionName();
|
|
|
|
abstract public function supportsObject(
|
|
PhabricatorEditEngine $engine,
|
|
PhabricatorApplicationTransactionInterface $object);
|
|
|
|
abstract public function buildCustomEditFields(
|
|
PhabricatorEditEngine $engine,
|
|
PhabricatorApplicationTransactionInterface $object);
|
|
|
|
final public static function getAllExtensions() {
|
|
return id(new PhutilClassMapQuery())
|
|
->setAncestorClass(__CLASS__)
|
|
->setUniqueMethod('getExtensionKey')
|
|
->setSortMethod('getExtensionPriority')
|
|
->execute();
|
|
}
|
|
|
|
final public static function getAllEnabledExtensions() {
|
|
$extensions = self::getAllExtensions();
|
|
|
|
foreach ($extensions as $key => $extension) {
|
|
if (!$extension->isExtensionEnabled()) {
|
|
unset($extensions[$key]);
|
|
}
|
|
}
|
|
|
|
return $extensions;
|
|
}
|
|
|
|
}
|