1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-15 11:22:40 +01:00
phorge-phorge/src/applications/almanac/editor/AlmanacPropertyEditEngine.php

80 lines
1.8 KiB
PHP
Raw Normal View History

<?php
abstract class AlmanacPropertyEditEngine
extends PhabricatorEditEngine {
private $propertyKey;
public function setPropertyKey($property_key) {
$this->propertyKey = $property_key;
return $this;
}
public function getPropertyKey() {
return $this->propertyKey;
}
public function isEngineConfigurable() {
return false;
}
public function isEngineExtensible() {
return false;
}
public function getEngineName() {
return pht('Almanac Properties');
}
public function getSummaryHeader() {
return pht('Edit Almanac Property Configurations');
}
public function getSummaryText() {
return pht('This engine is used to edit Almanac properties.');
}
public function getEngineApplicationClass() {
return 'PhabricatorAlmanacApplication';
}
protected function newEditableObject() {
throw new PhutilMethodNotImplementedException();
}
protected function getObjectCreateTitleText($object) {
return pht('Create Property');
}
protected function getObjectCreateButtonText($object) {
return pht('Create Property');
}
protected function getObjectEditTitleText($object) {
return pht('Edit Property: %s', $object->getName());
}
protected function getObjectEditShortText($object) {
return pht('Edit Property');
}
protected function getObjectCreateShortText() {
return pht('Create Property');
}
protected function buildCustomEditFields($object) {
$property_key = $this->getPropertyKey();
$xaction_type = AlmanacTransaction::TYPE_PROPERTY_UPDATE;
return array(
id(new PhabricatorTextEditField())
->setKey('value')
->setMetadataValue('almanac.property', $property_key)
->setLabel($property_key)
->setTransactionType($xaction_type)
->setValue($object->getAlmanacPropertyValue($property_key)),
);
}
}