Migrate Project workboard background color to modular transactions
Summary: Removes now-unused method as well. Fixes T12673. Test Plan: UI fiddling. Reviewers: #blessed_reviewers, epriestley Reviewed By: #blessed_reviewers, epriestley Subscribers: epriestley Maniphest Tasks: T12673 Differential Revision: https://secure.phabricator.com/D18014
This commit is contained in:
		| @@ -3716,6 +3716,7 @@ phutil_register_library_map(array( | |||||||
|     'PhabricatorProjectWatchController' => 'applications/project/controller/PhabricatorProjectWatchController.php', |     'PhabricatorProjectWatchController' => 'applications/project/controller/PhabricatorProjectWatchController.php', | ||||||
|     'PhabricatorProjectWatcherListView' => 'applications/project/view/PhabricatorProjectWatcherListView.php', |     'PhabricatorProjectWatcherListView' => 'applications/project/view/PhabricatorProjectWatcherListView.php', | ||||||
|     'PhabricatorProjectWorkboardBackgroundColor' => 'applications/project/constants/PhabricatorProjectWorkboardBackgroundColor.php', |     'PhabricatorProjectWorkboardBackgroundColor' => 'applications/project/constants/PhabricatorProjectWorkboardBackgroundColor.php', | ||||||
|  |     'PhabricatorProjectWorkboardBackgroundTransaction' => 'applications/project/xaction/PhabricatorProjectWorkboardBackgroundTransaction.php', | ||||||
|     'PhabricatorProjectWorkboardProfileMenuItem' => 'applications/project/menuitem/PhabricatorProjectWorkboardProfileMenuItem.php', |     'PhabricatorProjectWorkboardProfileMenuItem' => 'applications/project/menuitem/PhabricatorProjectWorkboardProfileMenuItem.php', | ||||||
|     'PhabricatorProjectWorkboardTransaction' => 'applications/project/xaction/PhabricatorProjectWorkboardTransaction.php', |     'PhabricatorProjectWorkboardTransaction' => 'applications/project/xaction/PhabricatorProjectWorkboardTransaction.php', | ||||||
|     'PhabricatorProjectsAncestorsSearchEngineAttachment' => 'applications/project/engineextension/PhabricatorProjectsAncestorsSearchEngineAttachment.php', |     'PhabricatorProjectsAncestorsSearchEngineAttachment' => 'applications/project/engineextension/PhabricatorProjectsAncestorsSearchEngineAttachment.php', | ||||||
| @@ -9166,6 +9167,7 @@ phutil_register_library_map(array( | |||||||
|     'PhabricatorProjectWatchController' => 'PhabricatorProjectController', |     'PhabricatorProjectWatchController' => 'PhabricatorProjectController', | ||||||
|     'PhabricatorProjectWatcherListView' => 'PhabricatorProjectUserListView', |     'PhabricatorProjectWatcherListView' => 'PhabricatorProjectUserListView', | ||||||
|     'PhabricatorProjectWorkboardBackgroundColor' => 'Phobject', |     'PhabricatorProjectWorkboardBackgroundColor' => 'Phobject', | ||||||
|  |     'PhabricatorProjectWorkboardBackgroundTransaction' => 'PhabricatorProjectTransactionType', | ||||||
|     'PhabricatorProjectWorkboardProfileMenuItem' => 'PhabricatorProfileMenuItem', |     'PhabricatorProjectWorkboardProfileMenuItem' => 'PhabricatorProfileMenuItem', | ||||||
|     'PhabricatorProjectWorkboardTransaction' => 'PhabricatorProjectTransactionType', |     'PhabricatorProjectWorkboardTransaction' => 'PhabricatorProjectTransactionType', | ||||||
|     'PhabricatorProjectsAncestorsSearchEngineAttachment' => 'PhabricatorSearchEngineAttachment', |     'PhabricatorProjectsAncestorsSearchEngineAttachment' => 'PhabricatorSearchEngineAttachment', | ||||||
|   | |||||||
| @@ -37,7 +37,8 @@ final class PhabricatorProjectBoardBackgroundController | |||||||
|       $xactions = array(); |       $xactions = array(); | ||||||
|  |  | ||||||
|       $xactions[] = id(new PhabricatorProjectTransaction()) |       $xactions[] = id(new PhabricatorProjectTransaction()) | ||||||
|         ->setTransactionType(PhabricatorProjectTransaction::TYPE_BACKGROUND) |         ->setTransactionType( | ||||||
|  |             PhabricatorProjectWorkboardBackgroundTransaction::TRANSACTIONTYPE) | ||||||
|         ->setNewValue($background_key); |         ->setNewValue($background_key); | ||||||
|  |  | ||||||
|       id(new PhabricatorProjectTransactionEditor()) |       id(new PhabricatorProjectTransactionEditor()) | ||||||
|   | |||||||
| @@ -30,67 +30,9 @@ final class PhabricatorProjectTransactionEditor | |||||||
|     $types[] = PhabricatorTransactions::TYPE_EDIT_POLICY; |     $types[] = PhabricatorTransactions::TYPE_EDIT_POLICY; | ||||||
|     $types[] = PhabricatorTransactions::TYPE_JOIN_POLICY; |     $types[] = PhabricatorTransactions::TYPE_JOIN_POLICY; | ||||||
|  |  | ||||||
|     $types[] = PhabricatorProjectTransaction::TYPE_BACKGROUND; |  | ||||||
|  |  | ||||||
|     return $types; |     return $types; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   protected function getCustomTransactionOldValue( |  | ||||||
|     PhabricatorLiskDAO $object, |  | ||||||
|     PhabricatorApplicationTransaction $xaction) { |  | ||||||
|  |  | ||||||
|     switch ($xaction->getTransactionType()) { |  | ||||||
|       case PhabricatorProjectTransaction::TYPE_BACKGROUND: |  | ||||||
|         return $object->getWorkboardBackgroundColor(); |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     return parent::getCustomTransactionOldValue($object, $xaction); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   protected function getCustomTransactionNewValue( |  | ||||||
|     PhabricatorLiskDAO $object, |  | ||||||
|     PhabricatorApplicationTransaction $xaction) { |  | ||||||
|  |  | ||||||
|     switch ($xaction->getTransactionType()) { |  | ||||||
|       case PhabricatorProjectTransaction::TYPE_BACKGROUND: |  | ||||||
|         $value = $xaction->getNewValue(); |  | ||||||
|         if (!strlen($value)) { |  | ||||||
|           return null; |  | ||||||
|         } |  | ||||||
|         return $value; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     return parent::getCustomTransactionNewValue($object, $xaction); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   protected function applyCustomInternalTransaction( |  | ||||||
|     PhabricatorLiskDAO $object, |  | ||||||
|     PhabricatorApplicationTransaction $xaction) { |  | ||||||
|  |  | ||||||
|     switch ($xaction->getTransactionType()) { |  | ||||||
|       case PhabricatorProjectTransaction::TYPE_BACKGROUND: |  | ||||||
|         $object->setWorkboardBackgroundColor($xaction->getNewValue()); |  | ||||||
|         return; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     return parent::applyCustomInternalTransaction($object, $xaction); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   protected function applyCustomExternalTransaction( |  | ||||||
|     PhabricatorLiskDAO $object, |  | ||||||
|     PhabricatorApplicationTransaction $xaction) { |  | ||||||
|  |  | ||||||
|     $old = $xaction->getOldValue(); |  | ||||||
|     $new = $xaction->getNewValue(); |  | ||||||
|  |  | ||||||
|     switch ($xaction->getTransactionType()) { |  | ||||||
|       case PhabricatorProjectTransaction::TYPE_BACKGROUND: |  | ||||||
|         return; |  | ||||||
|      } |  | ||||||
|  |  | ||||||
|     return parent::applyCustomExternalTransaction($object, $xaction); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   protected function validateAllTransactions( |   protected function validateAllTransactions( | ||||||
|     PhabricatorLiskDAO $object, |     PhabricatorLiskDAO $object, | ||||||
|     array $xactions) { |     array $xactions) { | ||||||
|   | |||||||
| @@ -3,8 +3,6 @@ | |||||||
| final class PhabricatorProjectTransaction | final class PhabricatorProjectTransaction | ||||||
|   extends PhabricatorModularTransaction { |   extends PhabricatorModularTransaction { | ||||||
|  |  | ||||||
|   const TYPE_BACKGROUND = 'project:background'; |  | ||||||
|  |  | ||||||
|   // NOTE: This is deprecated, members are just a normal edge now. |   // NOTE: This is deprecated, members are just a normal edge now. | ||||||
|   const TYPE_MEMBERS    = 'project:members'; |   const TYPE_MEMBERS    = 'project:members'; | ||||||
|  |  | ||||||
| @@ -56,22 +54,12 @@ final class PhabricatorProjectTransaction | |||||||
|     return parent::shouldHide(); |     return parent::shouldHide(); | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   public function shouldHideForFeed() { |  | ||||||
|     switch ($this->getTransactionType()) { |  | ||||||
|       case self::TYPE_BACKGROUND: |  | ||||||
|         return true; |  | ||||||
|     } |  | ||||||
|  |  | ||||||
|     return parent::shouldHideForFeed(); |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   public function shouldHideForMail(array $xactions) { |   public function shouldHideForMail(array $xactions) { | ||||||
|     switch ($this->getTransactionType()) { |     switch ($this->getTransactionType()) { | ||||||
|       case PhabricatorProjectWorkboardTransaction::TRANSACTIONTYPE: |       case PhabricatorProjectWorkboardTransaction::TRANSACTIONTYPE: | ||||||
|       case PhabricatorProjectSortTransaction::TRANSACTIONTYPE: |       case PhabricatorProjectSortTransaction::TRANSACTIONTYPE: | ||||||
|       case PhabricatorProjectFilterTransaction::TRANSACTIONTYPE: |       case PhabricatorProjectFilterTransaction::TRANSACTIONTYPE: | ||||||
|       case self::TYPE_BACKGROUND: |       case PhabricatorProjectWorkboardBackgroundTransaction::TRANSACTIONTYPE: | ||||||
|         return true; |         return true; | ||||||
|     } |     } | ||||||
|  |  | ||||||
| @@ -136,11 +124,6 @@ final class PhabricatorProjectTransaction | |||||||
|           } |           } | ||||||
|         } |         } | ||||||
|         break; |         break; | ||||||
|  |  | ||||||
|       case self::TYPE_BACKGROUND: |  | ||||||
|         return pht( |  | ||||||
|           '%s changed the background color of the project workboard.', |  | ||||||
|           $author_handle); |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     return parent::getTitle(); |     return parent::getTitle(); | ||||||
|   | |||||||
| @@ -0,0 +1,26 @@ | |||||||
|  | <?php | ||||||
|  |  | ||||||
|  | final class PhabricatorProjectWorkboardBackgroundTransaction | ||||||
|  |   extends PhabricatorProjectTransactionType { | ||||||
|  |  | ||||||
|  |   const TRANSACTIONTYPE = 'project:background'; | ||||||
|  |  | ||||||
|  |   public function generateOldValue($object) { | ||||||
|  |     return $object->getWorkboardBackgroundColor(); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   public function applyInternalEffects($object, $value) { | ||||||
|  |     $object->setWorkboardBackgroundColor($value); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   public function getTitle() { | ||||||
|  |     return pht( | ||||||
|  |       '%s changed the background color of the project workboard.', | ||||||
|  |       $this->renderAuthor()); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   public function shouldHide() { | ||||||
|  |     return true; | ||||||
|  |   } | ||||||
|  |  | ||||||
|  | } | ||||||
		Reference in New Issue
	
	Block a user
	 Austin McKinley
					Austin McKinley