Changeset View
Changeset View
Standalone View
Standalone View
src/applications/pholio/storage/PholioMock.php
Show All 24 Lines | final class PholioMock extends PholioDAO | ||||
protected $name; | protected $name; | ||||
protected $description; | protected $description; | ||||
protected $coverPHID; | protected $coverPHID; | ||||
protected $mailKey; | protected $mailKey; | ||||
protected $status; | protected $status; | ||||
protected $spacePHID; | protected $spacePHID; | ||||
private $images = self::ATTACHABLE; | private $images = self::ATTACHABLE; | ||||
private $allImages = self::ATTACHABLE; | |||||
private $coverFile = self::ATTACHABLE; | private $coverFile = self::ATTACHABLE; | ||||
private $tokenCount = self::ATTACHABLE; | private $tokenCount = self::ATTACHABLE; | ||||
public static function initializeNewMock(PhabricatorUser $actor) { | public static function initializeNewMock(PhabricatorUser $actor) { | ||||
$app = id(new PhabricatorApplicationQuery()) | $app = id(new PhabricatorApplicationQuery()) | ||||
->setViewer($actor) | ->setViewer($actor) | ||||
->withClasses(array('PhabricatorPholioApplication')) | ->withClasses(array('PhabricatorPholioApplication')) | ||||
->executeOne(); | ->executeOne(); | ||||
▲ Show 20 Lines • Show All 46 Lines • ▼ Show 20 Lines | final class PholioMock extends PholioDAO | ||||
public function save() { | public function save() { | ||||
if (!$this->getMailKey()) { | if (!$this->getMailKey()) { | ||||
$this->setMailKey(Filesystem::readRandomCharacters(20)); | $this->setMailKey(Filesystem::readRandomCharacters(20)); | ||||
} | } | ||||
return parent::save(); | return parent::save(); | ||||
} | } | ||||
/** | |||||
* These should be the images currently associated with the Mock. | |||||
*/ | |||||
public function attachImages(array $images) { | public function attachImages(array $images) { | ||||
assert_instances_of($images, 'PholioImage'); | assert_instances_of($images, 'PholioImage'); | ||||
$images = mpull($images, null, 'getPHID'); | |||||
$images = msort($images, 'getSequence'); | |||||
$this->images = $images; | $this->images = $images; | ||||
return $this; | return $this; | ||||
} | } | ||||
public function getImages() { | public function getImages() { | ||||
$this->assertAttached($this->images); | return $this->assertAttached($this->images); | ||||
return $this->images; | |||||
} | } | ||||
/** | public function getActiveImages() { | ||||
* These should be *all* images associated with the Mock. This includes | $images = $this->getImages(); | ||||
* images which have been removed and / or replaced from the Mock. | |||||
*/ | foreach ($images as $phid => $image) { | ||||
public function attachAllImages(array $images) { | if ($image->getIsObsolete()) { | ||||
assert_instances_of($images, 'PholioImage'); | unset($images[$phid]); | ||||
$this->allImages = $images; | } | ||||
return $this; | |||||
} | } | ||||
public function getAllImages() { | return $images; | ||||
$this->assertAttached($this->images); | |||||
epriestley: This was a bug, should have asserted `allImages` instead. | |||||
return $this->allImages; | |||||
} | } | ||||
public function attachCoverFile(PhabricatorFile $file) { | public function attachCoverFile(PhabricatorFile $file) { | ||||
$this->coverFile = $file; | $this->coverFile = $file; | ||||
return $this; | return $this; | ||||
} | } | ||||
public function getCoverFile() { | public function getCoverFile() { | ||||
$this->assertAttached($this->coverFile); | $this->assertAttached($this->coverFile); | ||||
return $this->coverFile; | return $this->coverFile; | ||||
} | } | ||||
public function getTokenCount() { | public function getTokenCount() { | ||||
$this->assertAttached($this->tokenCount); | $this->assertAttached($this->tokenCount); | ||||
return $this->tokenCount; | return $this->tokenCount; | ||||
} | } | ||||
public function attachTokenCount($count) { | public function attachTokenCount($count) { | ||||
$this->tokenCount = $count; | $this->tokenCount = $count; | ||||
return $this; | return $this; | ||||
} | } | ||||
public function getImageHistorySet($image_id) { | public function getImageHistorySet($image_id) { | ||||
$images = $this->getAllImages(); | $images = $this->getImages(); | ||||
$images = mpull($images, null, 'getID'); | $images = mpull($images, null, 'getID'); | ||||
$selected_image = $images[$image_id]; | $selected_image = $images[$image_id]; | ||||
$replace_map = mpull($images, null, 'getReplacesImagePHID'); | $replace_map = mpull($images, null, 'getReplacesImagePHID'); | ||||
$phid_map = mpull($images, null, 'getPHID'); | $phid_map = mpull($images, null, 'getPHID'); | ||||
// find the earliest image | // find the earliest image | ||||
$image = $selected_image; | $image = $selected_image; | ||||
▲ Show 20 Lines • Show All 137 Lines • Show Last 20 Lines |
This was a bug, should have asserted allImages instead.