Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F15334684
D17610.id42362.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
12 KB
Referenced Files
None
Subscribers
None
D17610.id42362.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
@@ -2765,6 +2765,7 @@
'PhabricatorFileLightboxController' => 'applications/files/controller/PhabricatorFileLightboxController.php',
'PhabricatorFileLinkView' => 'view/layout/PhabricatorFileLinkView.php',
'PhabricatorFileListController' => 'applications/files/controller/PhabricatorFileListController.php',
+ 'PhabricatorFileNameTransaction' => 'applications/files/xaction/PhabricatorFileNameTransaction.php',
'PhabricatorFileQuery' => 'applications/files/query/PhabricatorFileQuery.php',
'PhabricatorFileROT13StorageFormat' => 'applications/files/format/PhabricatorFileROT13StorageFormat.php',
'PhabricatorFileRawStorageFormat' => 'applications/files/format/PhabricatorFileRawStorageFormat.php',
@@ -2783,6 +2784,7 @@
'PhabricatorFileTransaction' => 'applications/files/storage/PhabricatorFileTransaction.php',
'PhabricatorFileTransactionComment' => 'applications/files/storage/PhabricatorFileTransactionComment.php',
'PhabricatorFileTransactionQuery' => 'applications/files/query/PhabricatorFileTransactionQuery.php',
+ 'PhabricatorFileTransactionType' => 'applications/files/xaction/PhabricatorFileTransactionType.php',
'PhabricatorFileTransform' => 'applications/files/transform/PhabricatorFileTransform.php',
'PhabricatorFileTransformController' => 'applications/files/controller/PhabricatorFileTransformController.php',
'PhabricatorFileTransformListController' => 'applications/files/controller/PhabricatorFileTransformListController.php',
@@ -7890,6 +7892,7 @@
'PhabricatorFileLightboxController' => 'PhabricatorFileController',
'PhabricatorFileLinkView' => 'AphrontTagView',
'PhabricatorFileListController' => 'PhabricatorFileController',
+ 'PhabricatorFileNameTransaction' => 'PhabricatorFileTransactionType',
'PhabricatorFileQuery' => 'PhabricatorCursorPagedPolicyAwareQuery',
'PhabricatorFileROT13StorageFormat' => 'PhabricatorFileStorageFormat',
'PhabricatorFileRawStorageFormat' => 'PhabricatorFileStorageFormat',
@@ -7905,9 +7908,10 @@
'PhabricatorFileTestCase' => 'PhabricatorTestCase',
'PhabricatorFileTestDataGenerator' => 'PhabricatorTestDataGenerator',
'PhabricatorFileThumbnailTransform' => 'PhabricatorFileImageTransform',
- 'PhabricatorFileTransaction' => 'PhabricatorApplicationTransaction',
+ 'PhabricatorFileTransaction' => 'PhabricatorModularTransaction',
'PhabricatorFileTransactionComment' => 'PhabricatorApplicationTransactionComment',
'PhabricatorFileTransactionQuery' => 'PhabricatorApplicationTransactionQuery',
+ 'PhabricatorFileTransactionType' => 'PhabricatorModularTransactionType',
'PhabricatorFileTransform' => 'Phobject',
'PhabricatorFileTransformController' => 'PhabricatorFileController',
'PhabricatorFileTransformListController' => 'PhabricatorFileController',
diff --git a/src/applications/badges/xaction/PhabricatorBadgesBadgeNameTransaction.php b/src/applications/badges/xaction/PhabricatorBadgesBadgeNameTransaction.php
--- a/src/applications/badges/xaction/PhabricatorBadgesBadgeNameTransaction.php
+++ b/src/applications/badges/xaction/PhabricatorBadgesBadgeNameTransaction.php
@@ -43,7 +43,7 @@
$new_value = $xaction->getNewValue();
$new_length = strlen($new_value);
if ($new_length > $max_length) {
- $errors[] = $this->newRequiredError(
+ $errors[] = $this->newInvalidError(
pht('The name can be no longer than %s characters.',
new PhutilNumber($max_length)));
}
diff --git a/src/applications/files/controller/PhabricatorFileEditController.php b/src/applications/files/controller/PhabricatorFileEditController.php
--- a/src/applications/files/controller/PhabricatorFileEditController.php
+++ b/src/applications/files/controller/PhabricatorFileEditController.php
@@ -31,7 +31,7 @@
$file_name = $request->getStr('name');
$errors = array();
- $type_name = PhabricatorFileTransaction::TYPE_NAME;
+ $type_name = PhabricatorFileNameTransaction::TRANSACTIONTYPE;
$xactions = array();
@@ -40,7 +40,7 @@
->setNewValue($can_view);
$xactions[] = id(new PhabricatorFileTransaction())
- ->setTransactionType(PhabricatorFileTransaction::TYPE_NAME)
+ ->setTransactionType($type_name)
->setNewValue($file_name);
$editor = id(new PhabricatorFileEditor())
diff --git a/src/applications/files/editor/PhabricatorFileEditor.php b/src/applications/files/editor/PhabricatorFileEditor.php
--- a/src/applications/files/editor/PhabricatorFileEditor.php
+++ b/src/applications/files/editor/PhabricatorFileEditor.php
@@ -17,46 +17,9 @@
$types[] = PhabricatorTransactions::TYPE_COMMENT;
$types[] = PhabricatorTransactions::TYPE_VIEW_POLICY;
- $types[] = PhabricatorFileTransaction::TYPE_NAME;
-
return $types;
}
- protected function getCustomTransactionOldValue(
- PhabricatorLiskDAO $object,
- PhabricatorApplicationTransaction $xaction) {
-
- switch ($xaction->getTransactionType()) {
- case PhabricatorFileTransaction::TYPE_NAME:
- return $object->getName();
- }
- }
-
- protected function getCustomTransactionNewValue(
- PhabricatorLiskDAO $object,
- PhabricatorApplicationTransaction $xaction) {
-
- switch ($xaction->getTransactionType()) {
- case PhabricatorFileTransaction::TYPE_NAME:
- return $xaction->getNewValue();
- }
- }
-
- protected function applyCustomInternalTransaction(
- PhabricatorLiskDAO $object,
- PhabricatorApplicationTransaction $xaction) {
-
- switch ($xaction->getTransactionType()) {
- case PhabricatorFileTransaction::TYPE_NAME:
- $object->setName($xaction->getNewValue());
- break;
- }
- }
-
- protected function applyCustomExternalTransaction(
- PhabricatorLiskDAO $object,
- PhabricatorApplicationTransaction $xaction) {}
-
protected function shouldSendMail(
PhabricatorLiskDAO $object,
array $xactions) {
@@ -111,34 +74,4 @@
return false;
}
- protected function validateTransaction(
- PhabricatorLiskDAO $object,
- $type,
- array $xactions) {
-
- $errors = parent::validateTransaction($object, $type, $xactions);
-
- switch ($type) {
- case PhabricatorFileTransaction::TYPE_NAME:
- $missing = $this->validateIsEmptyTextField(
- $object->getName(),
- $xactions);
-
- if ($missing) {
- $error = new PhabricatorApplicationTransactionValidationError(
- $type,
- pht('Required'),
- pht('File name is required.'),
- nonempty(last($xactions), null));
-
- $error->setIsMissingFieldError(true);
- $errors[] = $error;
- }
- break;
- }
-
- return $errors;
- }
-
-
}
diff --git a/src/applications/files/storage/PhabricatorFileTransaction.php b/src/applications/files/storage/PhabricatorFileTransaction.php
--- a/src/applications/files/storage/PhabricatorFileTransaction.php
+++ b/src/applications/files/storage/PhabricatorFileTransaction.php
@@ -1,9 +1,7 @@
<?php
final class PhabricatorFileTransaction
- extends PhabricatorApplicationTransaction {
-
- const TYPE_NAME = 'file:name';
+ extends PhabricatorModularTransaction {
public function getApplicationName() {
return 'file';
@@ -17,69 +15,8 @@
return new PhabricatorFileTransactionComment();
}
- public function getTitle() {
- $author_phid = $this->getAuthorPHID();
-
- $old = $this->getOldValue();
- $new = $this->getNewValue();
-
- switch ($this->getTransactionType()) {
- case self::TYPE_NAME:
- return pht(
- '%s updated the name for this file from "%s" to "%s".',
- $this->renderHandleLink($author_phid),
- $old,
- $new);
- break;
- }
-
- return parent::getTitle();
- }
-
- public function getTitleForFeed() {
- $author_phid = $this->getAuthorPHID();
- $object_phid = $this->getObjectPHID();
-
- $old = $this->getOldValue();
- $new = $this->getNewValue();
-
- $type = $this->getTransactionType();
- switch ($type) {
- case self::TYPE_NAME:
- return pht(
- '%s updated the name of %s from "%s" to "%s".',
- $this->renderHandleLink($author_phid),
- $this->renderHandleLink($object_phid),
- $old,
- $new);
- break;
- }
-
- return parent::getTitleForFeed();
+ public function getBaseTransactionClass() {
+ return 'PhabricatorFileTransactionType';
}
- public function getIcon() {
- $old = $this->getOldValue();
- $new = $this->getNewValue();
-
- switch ($this->getTransactionType()) {
- case self::TYPE_NAME:
- return 'fa-pencil';
- }
-
- return parent::getIcon();
- }
-
-
- public function getColor() {
- $old = $this->getOldValue();
- $new = $this->getNewValue();
-
- switch ($this->getTransactionType()) {
- case self::TYPE_NAME:
- return PhabricatorTransactions::COLOR_BLUE;
- }
-
- return parent::getColor();
- }
}
diff --git a/src/applications/files/storage/__tests__/PhabricatorFileTestCase.php b/src/applications/files/storage/__tests__/PhabricatorFileTestCase.php
--- a/src/applications/files/storage/__tests__/PhabricatorFileTestCase.php
+++ b/src/applications/files/storage/__tests__/PhabricatorFileTestCase.php
@@ -32,7 +32,7 @@
// First, change the name: this should not scramble the secret.
$xactions = array();
$xactions[] = id(new PhabricatorFileTransaction())
- ->setTransactionType(PhabricatorFileTransaction::TYPE_NAME)
+ ->setTransactionType(PhabricatorFileNameTransaction::TRANSACTIONTYPE)
->setNewValue('test.dat2');
$engine = id(new PhabricatorFileEditor())
diff --git a/src/applications/badges/xaction/PhabricatorBadgesBadgeNameTransaction.php b/src/applications/files/xaction/PhabricatorFileNameTransaction.php
copy from src/applications/badges/xaction/PhabricatorBadgesBadgeNameTransaction.php
copy to src/applications/files/xaction/PhabricatorFileNameTransaction.php
--- a/src/applications/badges/xaction/PhabricatorBadgesBadgeNameTransaction.php
+++ b/src/applications/files/xaction/PhabricatorFileNameTransaction.php
@@ -1,9 +1,9 @@
<?php
-final class PhabricatorBadgesBadgeNameTransaction
- extends PhabricatorBadgesBadgeTransactionType {
+final class PhabricatorFileNameTransaction
+ extends PhabricatorFileTransactionType {
- const TRANSACTIONTYPE = 'badge.name';
+ const TRANSACTIONTYPE = 'file:name';
public function generateOldValue($object) {
return $object->getName();
@@ -15,7 +15,7 @@
public function getTitle() {
return pht(
- '%s renamed this badge from %s to %s.',
+ '%s updated the name for this file from "%s" to "%s".',
$this->renderAuthor(),
$this->renderOldValue(),
$this->renderNewValue());
@@ -23,7 +23,7 @@
public function getTitleForFeed() {
return pht(
- '%s renamed %s badge %s to %s.',
+ '%s updated the name of %s from "%s" to "%s".',
$this->renderAuthor(),
$this->renderObject(),
$this->renderOldValue(),
@@ -34,8 +34,7 @@
$errors = array();
if ($this->isEmptyTextTransaction($object->getName(), $xactions)) {
- $errors[] = $this->newRequiredError(
- pht('Badges must have a name.'));
+ $errors[] = $this->newRequiredError(pht('Files must have a name.'));
}
$max_length = $object->getColumnMaximumByteLength('name');
@@ -43,9 +42,10 @@
$new_value = $xaction->getNewValue();
$new_length = strlen($new_value);
if ($new_length > $max_length) {
- $errors[] = $this->newRequiredError(
- pht('The name can be no longer than %s characters.',
- new PhutilNumber($max_length)));
+ $errors[] = $this->newInvalidError(
+ pht(
+ 'File names must not be longer than %s character(s).',
+ new PhutilNumber($max_length)));
}
}
diff --git a/src/applications/files/xaction/PhabricatorFileTransactionType.php b/src/applications/files/xaction/PhabricatorFileTransactionType.php
new file mode 100644
--- /dev/null
+++ b/src/applications/files/xaction/PhabricatorFileTransactionType.php
@@ -0,0 +1,4 @@
+<?php
+
+abstract class PhabricatorFileTransactionType
+ extends PhabricatorModularTransactionType {}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Mar 9, 11:27 AM (1 w, 6 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7383181
Default Alt Text
D17610.id42362.diff (12 KB)
Attached To
Mode
D17610: Move Files to ModularTransactions
Attached
Detach File
Event Timeline
Log In to Comment