Page MenuHomePhabricator

D19585.diff
No OneTemporary

D19585.diff

diff --git a/src/applications/project/editor/PhabricatorProjectTransactionEditor.php b/src/applications/project/editor/PhabricatorProjectTransactionEditor.php
--- a/src/applications/project/editor/PhabricatorProjectTransactionEditor.php
+++ b/src/applications/project/editor/PhabricatorProjectTransactionEditor.php
@@ -120,12 +120,6 @@
PhabricatorApplicationTransaction $xaction) {
switch ($xaction->getTransactionType()) {
- case PhabricatorProjectLockTransaction::TRANSACTIONTYPE:
- PhabricatorPolicyFilter::requireCapability(
- $this->requireActor(),
- newv($this->getEditorApplicationClass(), array()),
- ProjectCanLockProjectsCapability::CAPABILITY);
- return;
case PhabricatorTransactions::TYPE_EDGE:
switch ($xaction->getMetadataValue('edge:type')) {
case PhabricatorProjectProjectHasMemberEdgeType::EDGECONST:
diff --git a/src/applications/project/xaction/PhabricatorProjectLockTransaction.php b/src/applications/project/xaction/PhabricatorProjectLockTransaction.php
--- a/src/applications/project/xaction/PhabricatorProjectLockTransaction.php
+++ b/src/applications/project/xaction/PhabricatorProjectLockTransaction.php
@@ -53,4 +53,12 @@
}
}
+ public function validateTransactions($object, array $xactions) {
+ if ($xactions) {
+ $this->requireApplicationCapability(
+ ProjectCanLockProjectsCapability::CAPABILITY);
+ }
+ return array();
+ }
+
}
diff --git a/src/applications/transactions/storage/PhabricatorModularTransactionType.php b/src/applications/transactions/storage/PhabricatorModularTransactionType.php
--- a/src/applications/transactions/storage/PhabricatorModularTransactionType.php
+++ b/src/applications/transactions/storage/PhabricatorModularTransactionType.php
@@ -356,4 +356,14 @@
return array();
}
+ protected function requireApplicationCapability($capability) {
+ $application_class = $this->getEditor()->getEditorApplicationClass();
+ $application = newv($application_class, array());
+
+ PhabricatorPolicyFilter::requireCapability(
+ $this->getActor(),
+ $application,
+ $capability);
+ }
+
}

File Metadata

Mime Type
text/plain
Expires
Sun, Apr 27, 6:24 AM (1 w, 5 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7712838
Default Alt Text
D19585.diff (2 KB)

Event Timeline