Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F22299526
D20595.id49128.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
43 KB
Referenced Files
None
Subscribers
None
D20595.id49128.diff
View Options
diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -3131,22 +3131,33 @@
'PhabricatorEditEngineCommentAction' => 'applications/transactions/commentaction/PhabricatorEditEngineCommentAction.php',
'PhabricatorEditEngineCommentActionGroup' => 'applications/transactions/commentaction/PhabricatorEditEngineCommentActionGroup.php',
'PhabricatorEditEngineConfiguration' => 'applications/transactions/storage/PhabricatorEditEngineConfiguration.php',
+ 'PhabricatorEditEngineConfigurationCreateOrderTransaction' => 'applications/transactions/xaction/PhabricatorEditEngineConfigurationCreateOrderTransaction.php',
'PhabricatorEditEngineConfigurationDefaultCreateController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationDefaultCreateController.php',
+ 'PhabricatorEditEngineConfigurationDefaultCreateTransaction' => 'applications/transactions/xaction/PhabricatorEditEngineConfigurationDefaultCreateTransaction.php',
+ 'PhabricatorEditEngineConfigurationDefaultTransaction' => 'applications/transactions/xaction/PhabricatorEditEngineConfigurationDefaultTransaction.php',
'PhabricatorEditEngineConfigurationDefaultsController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationDefaultsController.php',
'PhabricatorEditEngineConfigurationDisableController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationDisableController.php',
+ 'PhabricatorEditEngineConfigurationDisableTransaction' => 'applications/transactions/xaction/PhabricatorEditEngineConfigurationDisableTransaction.php',
'PhabricatorEditEngineConfigurationEditController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationEditController.php',
'PhabricatorEditEngineConfigurationEditEngine' => 'applications/transactions/editor/PhabricatorEditEngineConfigurationEditEngine.php',
+ 'PhabricatorEditEngineConfigurationEditOrderTransaction' => 'applications/transactions/xaction/PhabricatorEditEngineConfigurationEditOrderTransaction.php',
'PhabricatorEditEngineConfigurationEditor' => 'applications/transactions/editor/PhabricatorEditEngineConfigurationEditor.php',
'PhabricatorEditEngineConfigurationIsEditController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationIsEditController.php',
+ 'PhabricatorEditEngineConfigurationIsEditTransaction' => 'applications/transactions/xaction/PhabricatorEditEngineConfigurationIsEditTransaction.php',
'PhabricatorEditEngineConfigurationListController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationListController.php',
'PhabricatorEditEngineConfigurationLockController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationLockController.php',
+ 'PhabricatorEditEngineConfigurationLocksTransaction' => 'applications/transactions/xaction/PhabricatorEditEngineConfigurationLocksTransaction.php',
+ 'PhabricatorEditEngineConfigurationNameTransaction' => 'applications/transactions/xaction/PhabricatorEditEngineConfigurationNameTransaction.php',
+ 'PhabricatorEditEngineConfigurationOrderTransaction' => 'applications/transactions/xaction/PhabricatorEditEngineConfigurationOrderTransaction.php',
'PhabricatorEditEngineConfigurationPHIDType' => 'applications/transactions/phid/PhabricatorEditEngineConfigurationPHIDType.php',
+ 'PhabricatorEditEngineConfigurationPreambleTransaction' => 'applications/transactions/xaction/PhabricatorEditEngineConfigurationPreambleTransaction.php',
'PhabricatorEditEngineConfigurationQuery' => 'applications/transactions/query/PhabricatorEditEngineConfigurationQuery.php',
'PhabricatorEditEngineConfigurationReorderController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationReorderController.php',
'PhabricatorEditEngineConfigurationSaveController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationSaveController.php',
'PhabricatorEditEngineConfigurationSearchEngine' => 'applications/transactions/query/PhabricatorEditEngineConfigurationSearchEngine.php',
'PhabricatorEditEngineConfigurationSortController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationSortController.php',
'PhabricatorEditEngineConfigurationSubtypeController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationSubtypeController.php',
+ 'PhabricatorEditEngineConfigurationSubtypeTransaction' => 'applications/transactions/xaction/PhabricatorEditEngineConfigurationSubtypeTransaction.php',
'PhabricatorEditEngineConfigurationTransaction' => 'applications/transactions/storage/PhabricatorEditEngineConfigurationTransaction.php',
'PhabricatorEditEngineConfigurationTransactionQuery' => 'applications/transactions/query/PhabricatorEditEngineConfigurationTransactionQuery.php',
'PhabricatorEditEngineConfigurationViewController' => 'applications/transactions/controller/PhabricatorEditEngineConfigurationViewController.php',
@@ -3172,6 +3183,7 @@
'PhabricatorEditEngineSubtypeMap' => 'applications/transactions/editengine/PhabricatorEditEngineSubtypeMap.php',
'PhabricatorEditEngineSubtypeTestCase' => 'applications/transactions/editengine/__tests__/PhabricatorEditEngineSubtypeTestCase.php',
'PhabricatorEditEngineTokenizerCommentAction' => 'applications/transactions/commentaction/PhabricatorEditEngineTokenizerCommentAction.php',
+ 'PhabricatorEditEngineTransactionType' => 'applications/transactions/xaction/PhabricatorEditEngineTransactionType.php',
'PhabricatorEditField' => 'applications/transactions/editfield/PhabricatorEditField.php',
'PhabricatorEditPage' => 'applications/transactions/editengine/PhabricatorEditPage.php',
'PhabricatorEditType' => 'applications/transactions/edittype/PhabricatorEditType.php',
@@ -9212,23 +9224,34 @@
'PhabricatorApplicationTransactionInterface',
'PhabricatorPolicyInterface',
),
+ 'PhabricatorEditEngineConfigurationCreateOrderTransaction' => 'PhabricatorEditEngineTransactionType',
'PhabricatorEditEngineConfigurationDefaultCreateController' => 'PhabricatorEditEngineController',
+ 'PhabricatorEditEngineConfigurationDefaultCreateTransaction' => 'PhabricatorEditEngineTransactionType',
+ 'PhabricatorEditEngineConfigurationDefaultTransaction' => 'PhabricatorEditEngineTransactionType',
'PhabricatorEditEngineConfigurationDefaultsController' => 'PhabricatorEditEngineController',
'PhabricatorEditEngineConfigurationDisableController' => 'PhabricatorEditEngineController',
+ 'PhabricatorEditEngineConfigurationDisableTransaction' => 'PhabricatorEditEngineTransactionType',
'PhabricatorEditEngineConfigurationEditController' => 'PhabricatorEditEngineController',
'PhabricatorEditEngineConfigurationEditEngine' => 'PhabricatorEditEngine',
+ 'PhabricatorEditEngineConfigurationEditOrderTransaction' => 'PhabricatorEditEngineTransactionType',
'PhabricatorEditEngineConfigurationEditor' => 'PhabricatorApplicationTransactionEditor',
'PhabricatorEditEngineConfigurationIsEditController' => 'PhabricatorEditEngineController',
+ 'PhabricatorEditEngineConfigurationIsEditTransaction' => 'PhabricatorEditEngineTransactionType',
'PhabricatorEditEngineConfigurationListController' => 'PhabricatorEditEngineController',
'PhabricatorEditEngineConfigurationLockController' => 'PhabricatorEditEngineController',
+ 'PhabricatorEditEngineConfigurationLocksTransaction' => 'PhabricatorEditEngineTransactionType',
+ 'PhabricatorEditEngineConfigurationNameTransaction' => 'PhabricatorEditEngineTransactionType',
+ 'PhabricatorEditEngineConfigurationOrderTransaction' => 'PhabricatorEditEngineTransactionType',
'PhabricatorEditEngineConfigurationPHIDType' => 'PhabricatorPHIDType',
+ 'PhabricatorEditEngineConfigurationPreambleTransaction' => 'PhabricatorEditEngineTransactionType',
'PhabricatorEditEngineConfigurationQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
'PhabricatorEditEngineConfigurationReorderController' => 'PhabricatorEditEngineController',
'PhabricatorEditEngineConfigurationSaveController' => 'PhabricatorEditEngineController',
'PhabricatorEditEngineConfigurationSearchEngine' => 'PhabricatorApplicationSearchEngine',
'PhabricatorEditEngineConfigurationSortController' => 'PhabricatorEditEngineController',
'PhabricatorEditEngineConfigurationSubtypeController' => 'PhabricatorEditEngineController',
- 'PhabricatorEditEngineConfigurationTransaction' => 'PhabricatorApplicationTransaction',
+ 'PhabricatorEditEngineConfigurationSubtypeTransaction' => 'PhabricatorEditEngineTransactionType',
+ 'PhabricatorEditEngineConfigurationTransaction' => 'PhabricatorModularTransaction',
'PhabricatorEditEngineConfigurationTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
'PhabricatorEditEngineConfigurationViewController' => 'PhabricatorEditEngineController',
'PhabricatorEditEngineController' => 'PhabricatorApplicationTransactionController',
@@ -9250,6 +9273,7 @@
'PhabricatorEditEngineSubtypeMap' => 'Phobject',
'PhabricatorEditEngineSubtypeTestCase' => 'PhabricatorTestCase',
'PhabricatorEditEngineTokenizerCommentAction' => 'PhabricatorEditEngineCommentAction',
+ 'PhabricatorEditEngineTransactionType' => 'PhabricatorModularTransactionType',
'PhabricatorEditField' => 'Phobject',
'PhabricatorEditPage' => 'Phobject',
'PhabricatorEditType' => 'Phobject',
diff --git a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationDefaultCreateController.php b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationDefaultCreateController.php
--- a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationDefaultCreateController.php
+++ b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationDefaultCreateController.php
@@ -15,7 +15,8 @@
$key = $config->getIdentifier();
$cancel_uri = "/transactions/editengine/{$engine_key}/view/{$key}/";
- $type = PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULTCREATE;
+ $type =
+ PhabricatorEditEngineConfigurationDefaultCreateTransaction::TRANSACTIONTYPE;
if ($request->isFormPost()) {
$xactions = array();
diff --git a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationDefaultsController.php b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationDefaultsController.php
--- a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationDefaultsController.php
+++ b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationDefaultsController.php
@@ -52,7 +52,8 @@
$field->readValueFromSubmit($request);
}
- $type = PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULT;
+ $type =
+ PhabricatorEditEngineConfigurationDefaultTransaction::TRANSACTIONTYPE;
$xactions = array();
foreach ($fields as $field) {
diff --git a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationDisableController.php b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationDisableController.php
--- a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationDisableController.php
+++ b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationDisableController.php
@@ -15,7 +15,8 @@
$key = $config->getIdentifier();
$cancel_uri = "/transactions/editengine/{$engine_key}/view/{$key}/";
- $type = PhabricatorEditEngineConfigurationTransaction::TYPE_DISABLE;
+ $type =
+ PhabricatorEditEngineConfigurationDisableTransaction::TRANSACTIONTYPE;
if ($request->isFormPost()) {
$xactions = array();
diff --git a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationIsEditController.php b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationIsEditController.php
--- a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationIsEditController.php
+++ b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationIsEditController.php
@@ -15,7 +15,8 @@
$key = $config->getIdentifier();
$cancel_uri = "/transactions/editengine/{$engine_key}/view/{$key}/";
- $type = PhabricatorEditEngineConfigurationTransaction::TYPE_ISEDIT;
+ $type =
+ PhabricatorEditEngineConfigurationIsEditTransaction::TRANSACTIONTYPE;
if ($request->isFormPost()) {
$xactions = array();
diff --git a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationLockController.php b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationLockController.php
--- a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationLockController.php
+++ b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationLockController.php
@@ -30,7 +30,8 @@
$xactions = array();
$locks = $request->getArr('locks');
- $type_locks = PhabricatorEditEngineConfigurationTransaction::TYPE_LOCKS;
+ $type_locks =
+ PhabricatorEditEngineConfigurationLocksTransaction::TRANSACTIONTYPE;
$xactions[] = id(new PhabricatorEditEngineConfigurationTransaction())
->setTransactionType($type_locks)
diff --git a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationReorderController.php b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationReorderController.php
--- a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationReorderController.php
+++ b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationReorderController.php
@@ -31,7 +31,8 @@
$xactions = array();
$key_order = $request->getStrList('keyOrder');
- $type_order = PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER;
+ $type_order =
+ PhabricatorEditEngineConfigurationOrderTransaction::TRANSACTIONTYPE;
$xactions[] = id(new PhabricatorEditEngineConfigurationTransaction())
->setTransactionType($type_order)
diff --git a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationSortController.php b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationSortController.php
--- a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationSortController.php
+++ b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationSortController.php
@@ -70,10 +70,10 @@
if ($is_create) {
$xaction_type =
- PhabricatorEditEngineConfigurationTransaction::TYPE_CREATEORDER;
+ PhabricatorEditEngineConfigurationCreateOrderTransaction::TRANSACTIONTYPE;
} else {
$xaction_type =
- PhabricatorEditEngineConfigurationTransaction::TYPE_EDITORDER;
+ PhabricatorEditEngineConfigurationEditOrderTransaction::TRANSACTIONTYPE;
}
$xactions[] = id(new PhabricatorEditEngineConfigurationTransaction())
diff --git a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationSubtypeController.php b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationSubtypeController.php
--- a/src/applications/transactions/controller/PhabricatorEditEngineConfigurationSubtypeController.php
+++ b/src/applications/transactions/controller/PhabricatorEditEngineConfigurationSubtypeController.php
@@ -36,7 +36,7 @@
$subtype = $request->getStr('subtype');
$type_subtype =
- PhabricatorEditEngineConfigurationTransaction::TYPE_SUBTYPE;
+ PhabricatorEditEngineConfigurationSubtypeTransaction::TRANSACTIONTYPE;
$xactions[] = id(new PhabricatorEditEngineConfigurationTransaction())
->setTransactionType($type_subtype)
diff --git a/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditEngine.php b/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditEngine.php
--- a/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditEngine.php
+++ b/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditEngine.php
@@ -99,14 +99,14 @@
->setLabel(pht('Name'))
->setDescription(pht('Name of the form.'))
->setTransactionType(
- PhabricatorEditEngineConfigurationTransaction::TYPE_NAME)
+ PhabricatorEditEngineConfigurationNameTransaction::TRANSACTIONTYPE)
->setValue($object->getName()),
id(new PhabricatorRemarkupEditField())
->setKey('preamble')
->setLabel(pht('Preamble'))
->setDescription(pht('Optional instructions, shown above the form.'))
->setTransactionType(
- PhabricatorEditEngineConfigurationTransaction::TYPE_PREAMBLE)
+ PhabricatorEditEngineConfigurationPreambleTransaction::TRANSACTIONTYPE)
->setValue($object->getPreamble()),
);
}
diff --git a/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditor.php b/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditor.php
--- a/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditor.php
+++ b/src/applications/transactions/editor/PhabricatorEditEngineConfigurationEditor.php
@@ -13,191 +13,9 @@
public function getTransactionTypes() {
$types = parent::getTransactionTypes();
-
$types[] = PhabricatorTransactions::TYPE_VIEW_POLICY;
- $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_NAME;
- $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_PREAMBLE;
- $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER;
- $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULT;
- $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_LOCKS;
- $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_SUBTYPE;
- $types[] =
- PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULTCREATE;
- $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_ISEDIT;
- $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_DISABLE;
-
- $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_CREATEORDER;
- $types[] = PhabricatorEditEngineConfigurationTransaction::TYPE_EDITORDER;
-
return $types;
}
- protected function validateTransaction(
- PhabricatorLiskDAO $object,
- $type,
- array $xactions) {
-
- $errors = parent::validateTransaction($object, $type, $xactions);
- switch ($type) {
- case PhabricatorEditEngineConfigurationTransaction::TYPE_NAME:
- $missing = $this->validateIsEmptyTextField(
- $object->getName(),
- $xactions);
-
- if ($missing) {
- $error = new PhabricatorApplicationTransactionValidationError(
- $type,
- pht('Required'),
- pht('Form name is required.'),
- nonempty(last($xactions), null));
-
- $error->setIsMissingFieldError(true);
- $errors[] = $error;
- }
- break;
- case PhabricatorEditEngineConfigurationTransaction::TYPE_SUBTYPE:
- if ($xactions) {
- $map = $object->getEngine()
- ->setViewer($this->getActor())
- ->newSubtypeMap();
- foreach ($xactions as $xaction) {
- $new = $xaction->getNewValue();
-
- if ($map->isValidSubtype($new)) {
- continue;
- }
-
- $errors[] = new PhabricatorApplicationTransactionValidationError(
- $type,
- pht('Invalid'),
- pht('Subtype "%s" is not a valid subtype.', $new),
- $xaction);
- }
- }
- break;
- }
-
- return $errors;
- }
-
- protected function getCustomTransactionOldValue(
- PhabricatorLiskDAO $object,
- PhabricatorApplicationTransaction $xaction) {
-
- switch ($xaction->getTransactionType()) {
- case PhabricatorEditEngineConfigurationTransaction::TYPE_NAME:
- return $object->getName();
- case PhabricatorEditEngineConfigurationTransaction::TYPE_PREAMBLE;
- return $object->getPreamble();
- case PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER:
- return $object->getFieldOrder();
- case PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULT:
- $field_key = $xaction->getMetadataValue('field.key');
- return $object->getFieldDefault($field_key);
- case PhabricatorEditEngineConfigurationTransaction::TYPE_LOCKS:
- return $object->getFieldLocks();
- case PhabricatorEditEngineConfigurationTransaction::TYPE_SUBTYPE:
- return $object->getSubtype();
- case PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULTCREATE:
- return (int)$object->getIsDefault();
- case PhabricatorEditEngineConfigurationTransaction::TYPE_ISEDIT:
- return (int)$object->getIsEdit();
- case PhabricatorEditEngineConfigurationTransaction::TYPE_DISABLE:
- return (int)$object->getIsDisabled();
- case PhabricatorEditEngineConfigurationTransaction::TYPE_CREATEORDER:
- return (int)$object->getCreateOrder();
- case PhabricatorEditEngineConfigurationTransaction::TYPE_EDITORDER:
- return (int)$object->getEditOrder();
-
- }
- }
-
- protected function getCustomTransactionNewValue(
- PhabricatorLiskDAO $object,
- PhabricatorApplicationTransaction $xaction) {
-
- switch ($xaction->getTransactionType()) {
- case PhabricatorEditEngineConfigurationTransaction::TYPE_NAME:
- case PhabricatorEditEngineConfigurationTransaction::TYPE_PREAMBLE;
- case PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER:
- case PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULT:
- case PhabricatorEditEngineConfigurationTransaction::TYPE_LOCKS:
- case PhabricatorEditEngineConfigurationTransaction::TYPE_SUBTYPE:
- return $xaction->getNewValue();
- case PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULTCREATE:
- case PhabricatorEditEngineConfigurationTransaction::TYPE_ISEDIT:
- case PhabricatorEditEngineConfigurationTransaction::TYPE_DISABLE:
- case PhabricatorEditEngineConfigurationTransaction::TYPE_CREATEORDER:
- case PhabricatorEditEngineConfigurationTransaction::TYPE_EDITORDER:
- return (int)$xaction->getNewValue();
- }
- }
-
- protected function applyCustomInternalTransaction(
- PhabricatorLiskDAO $object,
- PhabricatorApplicationTransaction $xaction) {
-
- switch ($xaction->getTransactionType()) {
- case PhabricatorEditEngineConfigurationTransaction::TYPE_NAME:
- $object->setName($xaction->getNewValue());
- return;
- case PhabricatorEditEngineConfigurationTransaction::TYPE_PREAMBLE;
- $object->setPreamble($xaction->getNewValue());
- return;
- case PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER:
- $object->setFieldOrder($xaction->getNewValue());
- return;
- case PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULT:
- $field_key = $xaction->getMetadataValue('field.key');
- $object->setFieldDefault($field_key, $xaction->getNewValue());
- return;
- case PhabricatorEditEngineConfigurationTransaction::TYPE_LOCKS:
- $object->setFieldLocks($xaction->getNewValue());
- return;
- case PhabricatorEditEngineConfigurationTransaction::TYPE_SUBTYPE:
- $object->setSubtype($xaction->getNewValue());
- return;
- case PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULTCREATE:
- $object->setIsDefault($xaction->getNewValue());
- return;
- case PhabricatorEditEngineConfigurationTransaction::TYPE_ISEDIT:
- $object->setIsEdit($xaction->getNewValue());
- return;
- case PhabricatorEditEngineConfigurationTransaction::TYPE_DISABLE:
- $object->setIsDisabled($xaction->getNewValue());
- return;
- case PhabricatorEditEngineConfigurationTransaction::TYPE_CREATEORDER:
- $object->setCreateOrder($xaction->getNewValue());
- return;
- case PhabricatorEditEngineConfigurationTransaction::TYPE_EDITORDER:
- $object->setEditOrder($xaction->getNewValue());
- return;
- }
-
- return parent::applyCustomInternalTransaction($object, $xaction);
- }
-
- protected function applyCustomExternalTransaction(
- PhabricatorLiskDAO $object,
- PhabricatorApplicationTransaction $xaction) {
-
- switch ($xaction->getTransactionType()) {
- case PhabricatorEditEngineConfigurationTransaction::TYPE_NAME:
- case PhabricatorEditEngineConfigurationTransaction::TYPE_PREAMBLE;
- case PhabricatorEditEngineConfigurationTransaction::TYPE_ORDER;
- case PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULT:
- case PhabricatorEditEngineConfigurationTransaction::TYPE_ISEDIT:
- case PhabricatorEditEngineConfigurationTransaction::TYPE_LOCKS:
- case PhabricatorEditEngineConfigurationTransaction::TYPE_SUBTYPE:
- case PhabricatorEditEngineConfigurationTransaction::TYPE_DEFAULTCREATE:
- case PhabricatorEditEngineConfigurationTransaction::TYPE_DISABLE:
- case PhabricatorEditEngineConfigurationTransaction::TYPE_CREATEORDER:
- case PhabricatorEditEngineConfigurationTransaction::TYPE_EDITORDER:
- return;
- }
-
- return parent::applyCustomExternalTransaction($object, $xaction);
- }
-
}
diff --git a/src/applications/transactions/storage/PhabricatorEditEngineConfigurationTransaction.php b/src/applications/transactions/storage/PhabricatorEditEngineConfigurationTransaction.php
--- a/src/applications/transactions/storage/PhabricatorEditEngineConfigurationTransaction.php
+++ b/src/applications/transactions/storage/PhabricatorEditEngineConfigurationTransaction.php
@@ -1,19 +1,7 @@
<?php
final class PhabricatorEditEngineConfigurationTransaction
- extends PhabricatorApplicationTransaction {
-
- const TYPE_NAME = 'editengine.config.name';
- const TYPE_PREAMBLE = 'editengine.config.preamble';
- const TYPE_ORDER = 'editengine.config.order';
- const TYPE_DEFAULT = 'editengine.config.default';
- const TYPE_LOCKS = 'editengine.config.locks';
- const TYPE_DEFAULTCREATE = 'editengine.config.default.create';
- const TYPE_ISEDIT = 'editengine.config.isedit';
- const TYPE_DISABLE = 'editengine.config.disable';
- const TYPE_CREATEORDER = 'editengine.order.create';
- const TYPE_EDITORDER = 'editengine.order.edit';
- const TYPE_SUBTYPE = 'editengine.config.subtype';
+ extends PhabricatorModularTransaction {
public function getApplicationName() {
return 'search';
@@ -23,145 +11,8 @@
return PhabricatorEditEngineConfigurationPHIDType::TYPECONST;
}
- public function getTitle() {
- $author_phid = $this->getAuthorPHID();
-
- $old = $this->getOldValue();
- $new = $this->getNewValue();
-
- $type = $this->getTransactionType();
- switch ($type) {
- case PhabricatorTransactions::TYPE_CREATE:
- return pht(
- '%s created this form configuration.',
- $this->renderHandleLink($author_phid));
- case self::TYPE_NAME:
- if (strlen($old)) {
- return pht(
- '%s renamed this form from "%s" to "%s".',
- $this->renderHandleLink($author_phid),
- $old,
- $new);
- } else {
- return pht(
- '%s named this form "%s".',
- $this->renderHandleLink($author_phid),
- $new);
- }
- case self::TYPE_PREAMBLE:
- return pht(
- '%s updated the preamble for this form.',
- $this->renderHandleLink($author_phid));
- case self::TYPE_ORDER:
- return pht(
- '%s reordered the fields in this form.',
- $this->renderHandleLink($author_phid));
- case self::TYPE_DEFAULT:
- $key = $this->getMetadataValue('field.key');
- return pht(
- '%s changed the default value for field "%s".',
- $this->renderHandleLink($author_phid),
- $key);
- case self::TYPE_LOCKS:
- return pht(
- '%s changed locked and hidden fields.',
- $this->renderHandleLink($author_phid));
- case self::TYPE_DEFAULTCREATE:
- if ($new) {
- return pht(
- '%s added this form to the "Create" menu.',
- $this->renderHandleLink($author_phid));
- } else {
- return pht(
- '%s removed this form from the "Create" menu.',
- $this->renderHandleLink($author_phid));
- }
- case self::TYPE_ISEDIT:
- if ($new) {
- return pht(
- '%s marked this form as an edit form.',
- $this->renderHandleLink($author_phid));
- } else {
- return pht(
- '%s unmarked this form as an edit form.',
- $this->renderHandleLink($author_phid));
- }
- case self::TYPE_DISABLE:
- if ($new) {
- return pht(
- '%s disabled this form.',
- $this->renderHandleLink($author_phid));
- } else {
- return pht(
- '%s enabled this form.',
- $this->renderHandleLink($author_phid));
- }
- case self::TYPE_SUBTYPE:
- return pht(
- '%s changed the subtype of this form from "%s" to "%s".',
- $this->renderHandleLink($author_phid),
- $old,
- $new);
- }
-
- return parent::getTitle();
- }
-
- public function getColor() {
- $author_phid = $this->getAuthorPHID();
-
- $old = $this->getOldValue();
- $new = $this->getNewValue();
-
- $type = $this->getTransactionType();
- switch ($type) {
- case PhabricatorTransactions::TYPE_CREATE:
- return 'green';
- case self::TYPE_DISABLE:
- if ($new) {
- return 'indigo';
- } else {
- return 'green';
- }
- }
-
- return parent::getColor();
- }
-
- public function getIcon() {
- $author_phid = $this->getAuthorPHID();
-
- $old = $this->getOldValue();
- $new = $this->getNewValue();
-
- $type = $this->getTransactionType();
- switch ($type) {
- case PhabricatorTransactions::TYPE_CREATE:
- return 'fa-plus';
- case self::TYPE_DISABLE:
- if ($new) {
- return 'fa-ban';
- } else {
- return 'fa-check';
- }
- }
-
- return parent::getIcon();
- }
-
- protected function newRemarkupChanges() {
- $changes = array();
-
- $type = $this->getTransactionType();
- switch ($type) {
- case self::TYPE_PREAMBLE:
- $changes[] = $this->newRemarkupChange()
- ->setOldValue($this->getOldValue())
- ->setNewValue($this->getNewValue());
- break;
- }
-
- return $changes;
+ public function getBaseTransactionClass() {
+ return 'PhabricatorEditEngineTransactionType';
}
}
diff --git a/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationCreateOrderTransaction.php b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationCreateOrderTransaction.php
new file mode 100644
--- /dev/null
+++ b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationCreateOrderTransaction.php
@@ -0,0 +1,24 @@
+<?php
+
+final class PhabricatorEditEngineConfigurationCreateOrderTransaction
+ extends PhabricatorEditEngineTransactionType {
+
+ const TRANSACTIONTYPE = 'editengine.order.create';
+
+ public function generateOldValue($object) {
+ return (int)$object->getCreateOrder();
+ }
+
+ public function generateNewValue($object, $value) {
+ return (int)$value;
+ }
+
+ public function applyInternalEffects($object, $value) {
+ $object->setCreateOrder($value);
+ }
+
+ public function getTitle() {
+ // TODO
+ }
+
+}
diff --git a/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationDefaultCreateTransaction.php b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationDefaultCreateTransaction.php
new file mode 100644
--- /dev/null
+++ b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationDefaultCreateTransaction.php
@@ -0,0 +1,35 @@
+<?php
+
+final class PhabricatorEditEngineConfigurationDefaultCreateTransaction
+ extends PhabricatorEditEngineTransactionType {
+
+ const TRANSACTIONTYPE = 'editengine.config.default.create';
+
+ public function generateOldValue($object) {
+ return (int)$object->getIsDefault();
+ }
+
+ public function generateNewValue($object, $value) {
+ return (int)$value;
+ }
+
+ public function applyInternalEffects($object, $value) {
+ $object->setIsDefault($value);
+ }
+
+ public function getTitle() {
+ $old = $this->getOldValue();
+ $new = $this->getNewValue();
+
+ if ($new) {
+ return pht(
+ '%s added this form to the "Create" menu.',
+ $this->renderAuthor());
+ } else {
+ return pht(
+ '%s removed this form from the "Create" menu.',
+ $this->renderAuthor());
+ }
+ }
+
+}
diff --git a/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationDefaultTransaction.php b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationDefaultTransaction.php
new file mode 100644
--- /dev/null
+++ b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationDefaultTransaction.php
@@ -0,0 +1,27 @@
+<?php
+
+final class PhabricatorEditEngineConfigurationDefaultTransaction
+ extends PhabricatorEditEngineTransactionType {
+
+ const TRANSACTIONTYPE = 'editengine.config.default';
+
+ public function generateOldValue($object) {
+ $field_key = $this->getMetadataValue('field.key');
+ return $object->getFieldDefault($field_key);
+ }
+
+ public function applyInternalEffects($object, $value) {
+ $field_key = $this->getMetadataValue('field.key');
+ $object->setFieldDefault($field_key, $value);
+ }
+
+ public function getTitle() {
+ // TODO
+ $key = $this->getMetadataValue('field.key');
+ return pht(
+ '%s changed the default values for field "%s".',
+ $this->renderAuthor(),
+ $key);
+ }
+
+}
diff --git a/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationDisableTransaction.php b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationDisableTransaction.php
new file mode 100644
--- /dev/null
+++ b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationDisableTransaction.php
@@ -0,0 +1,51 @@
+<?php
+
+final class PhabricatorEditEngineConfigurationDisableTransaction
+ extends PhabricatorEditEngineTransactionType {
+
+ const TRANSACTIONTYPE = 'editengine.config.disable';
+
+ public function generateOldValue($object) {
+ return (int)$object->getIsDisabled();
+ }
+
+ public function generateNewValue($object, $value) {
+ return (int)$value;
+ }
+
+ public function applyInternalEffects($object, $value) {
+ $object->setIsDisabled($value);
+ }
+
+ public function getTitle() {
+ $new = $this->getNewValue();
+ if ($new) {
+ return pht(
+ '%s disabled this form.',
+ $this->renderAuthor());
+ } else {
+ return pht(
+ '%s enabled this form.',
+ $this->renderAuthor());
+ }
+ }
+
+ public function getColor() {
+ $new = $this->getNewValue();
+ if ($new) {
+ return 'indigo';
+ } else {
+ return 'green';
+ }
+ }
+
+ public function getIcon() {
+ $new = $this->getNewValue();
+ if ($new) {
+ return 'fa-ban';
+ } else {
+ return 'fa-check';
+ }
+ }
+
+}
diff --git a/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationEditOrderTransaction.php b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationEditOrderTransaction.php
new file mode 100644
--- /dev/null
+++ b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationEditOrderTransaction.php
@@ -0,0 +1,24 @@
+<?php
+
+final class PhabricatorEditEngineConfigurationEditOrderTransaction
+ extends PhabricatorEditEngineTransactionType {
+
+ const TRANSACTIONTYPE = 'editengine.order.edit';
+
+ public function generateOldValue($object) {
+ return (int)$object->getEditOrder();
+ }
+
+ public function generateNewValue($object, $value) {
+ return (int)$value;
+ }
+
+ public function applyInternalEffects($object, $value) {
+ $object->setEditOrder($value);
+ }
+
+ public function getTitle() {
+ // TODO
+ }
+
+}
diff --git a/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationIsEditTransaction.php b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationIsEditTransaction.php
new file mode 100644
--- /dev/null
+++ b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationIsEditTransaction.php
@@ -0,0 +1,34 @@
+<?php
+
+final class PhabricatorEditEngineConfigurationIsEditTransaction
+ extends PhabricatorEditEngineTransactionType {
+
+ const TRANSACTIONTYPE = 'editengine.config.isedit';
+
+ public function generateOldValue($object) {
+ return (int)$object->getIsEdit();
+ }
+
+ public function generateNewValue($object, $value) {
+ return (int)$value;
+ }
+
+ public function applyInternalEffects($object, $value) {
+ $object->setIsEdit($value);
+ }
+
+ public function getTitle() {
+ $new = $this->getNewValue();
+
+ if ($new) {
+ return pht(
+ '%s marked this form as an edit form.',
+ $this->renderAuthor());
+ } else {
+ return pht(
+ '%s unmarked this form as an edit form.',
+ $this->renderAuthor());
+ }
+ }
+
+}
diff --git a/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationLocksTransaction.php b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationLocksTransaction.php
new file mode 100644
--- /dev/null
+++ b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationLocksTransaction.php
@@ -0,0 +1,23 @@
+<?php
+
+final class PhabricatorEditEngineConfigurationLocksTransaction
+ extends PhabricatorEditEngineTransactionType {
+
+ const TRANSACTIONTYPE = 'editengine.config.locks';
+
+ public function generateOldValue($object) {
+ return $object->getFieldLocks();
+ }
+
+ public function applyInternalEffects($object, $value) {
+ $object->setFieldLocks($value);
+ }
+
+ public function getTitle() {
+ // TODO
+ return pht(
+ '%s changed locked and hidden fields.',
+ $this->renderAuthor());
+ }
+
+}
diff --git a/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationNameTransaction.php b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationNameTransaction.php
new file mode 100644
--- /dev/null
+++ b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationNameTransaction.php
@@ -0,0 +1,57 @@
+<?php
+
+final class PhabricatorEditEngineConfigurationNameTransaction
+ extends PhabricatorEditEngineTransactionType {
+
+ const TRANSACTIONTYPE = 'editengine.config.name';
+
+ public function generateOldValue($object) {
+ return $object->getName();
+ }
+
+ public function applyInternalEffects($object, $value) {
+ $object->setName($value);
+ }
+
+ public function getTitle() {
+ $old = $this->getOldValue();
+ $new = $this->getNewValue();
+
+ if (strlen($old)) {
+ return pht(
+ '%s renamed this form from "%s" to "%s".',
+ $this->renderAuthor(),
+ $old,
+ $new);
+ } else {
+ return pht(
+ '%s named this form "%s".',
+ $this->renderAuthor(),
+ $new);
+ }
+ }
+
+ public function validateTransactions($object, array $xactions) {
+ $errors = array();
+
+ foreach ($xactions as $xaction) {
+ $new = $xaction->getNewValue();
+ if (!strlen($new)) {
+ $errors[] = $this->newInvalidError(
+ pht('Form name is required.'),
+ $xaction);
+ continue;
+ }
+ }
+
+ if (!$errors) {
+ if ($this->isEmptyTextTransaction($object->getName(), $xactions)) {
+ $errors[] = $this->newRequiredError(
+ pht('Forms must have a name.'));
+ }
+ }
+
+ return $errors;
+ }
+
+}
diff --git a/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationOrderTransaction.php b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationOrderTransaction.php
new file mode 100644
--- /dev/null
+++ b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationOrderTransaction.php
@@ -0,0 +1,23 @@
+<?php
+
+final class PhabricatorEditEngineConfigurationOrderTransaction
+ extends PhabricatorEditEngineTransactionType {
+
+ const TRANSACTIONTYPE = 'editengine.config.order';
+
+ public function generateOldValue($object) {
+ return $object->getFieldOrder();
+ }
+
+ public function applyInternalEffects($object, $value) {
+ $object->setFieldOrder($value);
+ }
+
+ public function getTitle() {
+ // TODO: this should probably just render the JSON diff
+ return pht(
+ '%s reordered the fields in this form.',
+ $this->renderAuthor());
+ }
+
+}
diff --git a/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationPreambleTransaction.php b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationPreambleTransaction.php
new file mode 100644
--- /dev/null
+++ b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationPreambleTransaction.php
@@ -0,0 +1,45 @@
+<?php
+
+final class PhabricatorEditEngineConfigurationPreambleTransaction
+ extends PhabricatorEditEngineTransactionType {
+
+ const TRANSACTIONTYPE = 'editengine.config.preamble';
+
+ public function generateOldValue($object) {
+ return $object->getPreamble();
+ }
+
+ public function applyInternalEffects($object, $value) {
+ $object->setPreamble($value);
+ }
+
+ public function getTitle() {
+ return pht(
+ '%s updated the preamble for this form.',
+ $this->renderAuthor());
+ }
+
+ public function hasChangeDetailView() {
+ return true;
+ }
+
+ public function newChangeDetailView() {
+ $viewer = $this->getViewer();
+
+ return id(new PhabricatorApplicationTransactionTextDiffDetailView())
+ ->setViewer($viewer)
+ ->setOldText($this->getOldValue())
+ ->setNewText($this->getNewValue());
+ }
+
+ public function newRemarkupChanges() {
+ $changes = array();
+
+ $changes[] = $this->newRemarkupChange()
+ ->setOldValue($this->getOldValue())
+ ->setNewValue($this->getNewValue());
+
+ return $changes;
+ }
+
+}
diff --git a/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationSubtypeTransaction.php b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationSubtypeTransaction.php
new file mode 100644
--- /dev/null
+++ b/src/applications/transactions/xaction/PhabricatorEditEngineConfigurationSubtypeTransaction.php
@@ -0,0 +1,48 @@
+<?php
+
+final class PhabricatorEditEngineConfigurationSubtypeTransaction
+ extends PhabricatorEditEngineTransactionType {
+
+ const TRANSACTIONTYPE = 'editengine.config.subtype';
+
+ public function generateOldValue($object) {
+ return $object->getSubtype();
+ }
+
+ public function applyInternalEffects($object, $value) {
+ $object->setSubtype($value);
+ }
+
+ public function getTitle() {
+ $old = $this->getOldValue();
+ $new = $this->getNewValue();
+
+ return pht(
+ '%s changed the subtype of this form from "%s" to "%s".',
+ $this->renderAuthor(),
+ $old,
+ $new);
+ }
+
+ public function validateTransactions($object, array $xactions) {
+ $map = $object->getEngine()
+ ->setViewer($this->getActor())
+ ->newSubtypeMap();
+
+ $errors = array();
+ foreach ($xactions as $xaction) {
+ $new = $xaction->getNewValue();
+
+ if ($map->isValidSubtype($new)) {
+ continue;
+ }
+
+ $errors[] = $this->newInvalidError(
+ pht('Subtype "%s" is not a valid subtype.', $new),
+ $xaction);
+ }
+
+ return $errors;
+ }
+
+}
diff --git a/src/applications/transactions/xaction/PhabricatorEditEngineTransactionType.php b/src/applications/transactions/xaction/PhabricatorEditEngineTransactionType.php
new file mode 100644
--- /dev/null
+++ b/src/applications/transactions/xaction/PhabricatorEditEngineTransactionType.php
@@ -0,0 +1,4 @@
+<?php
+
+abstract class PhabricatorEditEngineTransactionType
+ extends PhabricatorModularTransactionType {}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Mon, Aug 31, 7:51 PM (23 h, 2 m)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
16684970
Default Alt Text
D20595.id49128.diff (43 KB)
Attached To
Mode
D20595: Modularize PhabricatorEditEngineConfigurationTransaction
Attached
Detach File
Event Timeline
Log In to Comment