Path: blob/master/src/applications/badges/xaction/PhabricatorBadgesBadgeQualityTransaction.php
12256 views
<?php12final class PhabricatorBadgesBadgeQualityTransaction3extends PhabricatorBadgesBadgeTransactionType {45const TRANSACTIONTYPE = 'badge.quality';67public function generateOldValue($object) {8return $object->getQuality();9}1011public function applyInternalEffects($object, $value) {12$object->setQuality($value);13}1415public function shouldHide() {16if ($this->isCreateTransaction()) {17return true;18}1920return false;21}2223public function getTitle() {24$old = $this->getQualityLabel($this->getOldValue());25$new = $this->getQualityLabel($this->getNewValue());2627return pht(28'%s updated the quality from %s to %s.',29$this->renderAuthor(),30$old,31$new);32}3334public function getTitleForFeed() {35$old = $this->getQualityLabel($this->getOldValue());36$new = $this->getQualityLabel($this->getNewValue());3738return pht(39'%s updated the quality of %s from %s to %s.',40$this->renderAuthor(),41$this->renderObject(),42$old,43$new);44}4546public function validateTransactions($object, array $xactions) {47$errors = array();4849if ($this->isEmptyTextTransaction($object->getQuality(), $xactions)) {50$errors[] = $this->newRequiredError(51pht('Badge quality must be set.'));52}5354$map = PhabricatorBadgesQuality::getQualityMap();55if (!$map[$object->getQuality()]) {56$errors[] = $this->newRequiredError(57pht('Badge quality is not valid.'));58}5960return $errors;61}6263private function getQualityLabel($quality) {64$map = PhabricatorBadgesQuality::getQualityMap();65$name = $map[$quality]['name'];66return $this->renderValue($name);67}6869}707172