protected function buildJoinClauseParts(AphrontDatabaseConnection $conn) { $joins = parent::buildJoinClauseParts($conn); $join_publisher = $this->fullKeys !== null; if ($join_publisher) { $publisher_table = new PhabricatorPackagesPublisher(); $joins[] = qsprintf($conn, 'JOIN %T u ON u.phid = p.publisherPHID', $publisher_table->getTableName()); } return $joins; }
private function buildPackagesView(PhabricatorPackagesPublisher $publisher) { $viewer = $this->getViewer(); $packages = id(new PhabricatorPackagesPackageQuery())->setViewer($viewer)->withPublisherPHIDs(array($publisher->getPHID()))->setLimit(25)->execute(); $packages_list = id(new PhabricatorPackagesPackageListView())->setViewer($viewer)->setPackages($packages); $all_href = urisprintf('package/?publisher=%s#R', $publisher->getPHID()); $all_href = $this->getApplicationURI($all_href); $view_all = id(new PHUIButtonView())->setTag('a')->setIcon('fa-search')->setText(pht('View All'))->setHref($all_href); $header = id(new PHUIHeaderView())->setHeader(pht('Packages'))->addActionLink($view_all); $packages_view = id(new PHUIObjectBoxView())->setHeader($header)->setBackground(PHUIObjectBoxView::BLUE_PROPERTY)->setObjectList($packages_list); return $packages_view; }
public function validateTransactions($object, array $xactions) { $errors = array(); if ($this->isEmptyTextTransaction($object->getName(), $xactions)) { $errors[] = $this->newRequiredError(pht('Publishers must have a name.')); } foreach ($xactions as $xaction) { $value = $xaction->getNewValue(); try { PhabricatorPackagesPublisher::assertValidPublisherName($value); } catch (Exception $ex) { $errors[] = $this->newInvalidError($ex->getMessage(), $xaction); } } return $errors; }
public function validateTransactions($object, array $xactions) { $errors = array(); if ($this->isEmptyTextTransaction($object->getName(), $xactions)) { $errors[] = $this->newRequiredError(pht('Publishers must have a unique publisher key.')); } if (!$this->isNewObject()) { foreach ($xactions as $xaction) { $errors[] = $this->newInvalidError(pht('Once a publisher is created, its key can not be changed.'), $xaction); } } foreach ($xactions as $xaction) { $value = $xaction->getNewValue(); try { PhabricatorPackagesPublisher::assertValidPublisherKey($value); } catch (Exception $ex) { $errors[] = $this->newInvalidError($ex->getMessage(), $xaction); } } return $errors; }
protected function newEditableObject() { $viewer = $this->getViewer(); return PhabricatorPackagesPublisher::initializeNewPublisher($viewer); }