Differential D20472 Diff 48872 src/applications/dashboard/xaction/panel/PhabricatorDashboardQueryPanelLimitTransaction.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/dashboard/xaction/panel/PhabricatorDashboardQueryPanelLimitTransaction.php
- This file was added.
| <?php | |||||
| final class PhabricatorDashboardQueryPanelLimitTransaction | |||||
| extends PhabricatorDashboardPanelPropertyTransaction { | |||||
| const TRANSACTIONTYPE = 'search.limit'; | |||||
| protected function getPropertyKey() { | |||||
| return 'limit'; | |||||
| } | |||||
| public function generateNewValue($object, $value) { | |||||
| if (!$value) { | |||||
| return null; | |||||
| } | |||||
| return $value; | |||||
| } | |||||
| public function validateTransactions($object, array $xactions) { | |||||
| $errors = array(); | |||||
| $old_value = $object->getProperty($this->getPropertyKey()); | |||||
| foreach ($xactions as $xaction) { | |||||
| $new_value = $xaction->getNewValue(); | |||||
| if ($new_value === $old_value) { | |||||
| continue; | |||||
| } | |||||
| if ($new_value < 0) { | |||||
| $errors[] = $this->newInvalidError( | |||||
| pht( | |||||
| 'Query result limit must be empty, or at least 1.'), | |||||
| $xaction); | |||||
| continue; | |||||
| } | |||||
| } | |||||
| return $errors; | |||||
| } | |||||
| } | |||||