1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2025-02-02 09:58:24 +01:00
phorge-phorge/src/applications/ponder/controller/PonderAnswerHistoryController.php

51 lines
1.3 KiB
PHP
Raw Normal View History

<?php
final class PonderAnswerHistoryController extends PonderController {
public function shouldAllowPublic() {
return true;
}
public function handleRequest(AphrontRequest $request) {
$viewer = $request->getViewer();
$id = $request->getURIData('id');
$answer = id(new PonderAnswerQuery())
->setViewer($viewer)
->withIDs(array($id))
->executeOne();
if (!$answer) {
return new Aphront404Response();
}
Transactions - deploy buildTransactionTimeline to remaining applications Summary: Ref T4712. Specifically... - Differential - needed getApplicationTransactionViewObject() implemented - Audit - needed getApplicationTransactionViewObject() implemented - Repository - one object needed PhabricatorApplicationTransactionInterface implemented - setShouldTerminate(true) - Ponder - BONUS BUG FIX - leaving a comment on an answer had a bad redirect URI - both PonderQuestion and PonderAnswer needed PhabricatorApplicationTransactionInterface implemented - setShouldTerminate(true) on both "history" controllers - left a "TODO" on buildAnswers on the question view controller, which is non-standard and should be re-written eventually - Phortune - BONUS BUG FIX - fix new user "createNewAccount" code to not fatal - PhortuneAccount, PhortuneMerchant, and PhortuneCart needed PhabricatorApplicationTransactionInterface implemented - setShouldTerminate(true) on Account view, merchant view, and cart view controller - Fund - Legalpad - Nuance - NuanceSource needed PhabricatorApplicationTransactionInterface implemented - Releeph (this product is kind of a mess...) - HACKQUEST - had to manually create an arcanist project to even be able to make a "product" and get started...! - BONUS BUG FIX - make sure to "setName" on product edit - ReleephProject (should be ReleepProduct...?), ReleephBranch, and ReleepRequest needed PhabricatorApplicationTransactionInterface implemented - Harbormaster - HarbormasterBuildable, HarbormasterBuild, HarbormasterBuildPlan, and HarbormasterBuildStep all needed PhabricatorApplicationTransactionInterface implemented - setShouldTerminate(true) all over the place Test Plan: foreach application, viewed the timeline(s) and made sure they still rendered Reviewers: epriestley Reviewed By: epriestley Subscribers: Korvin, epriestley Maniphest Tasks: T4712 Differential Revision: https://secure.phabricator.com/D10925
2014-12-03 15:35:47 -08:00
$timeline = $this->buildTransactionTimeline(
$answer,
new PonderAnswerTransactionQuery());
$timeline->setShouldTerminate(true);
$qid = $answer->getQuestion()->getID();
$aid = $answer->getID();
$crumbs = $this->buildApplicationCrumbs();
$crumbs->setBorder(true);
$crumbs->addTextCrumb("Q{$qid}", "/Q{$qid}");
$crumbs->addTextCrumb("A{$aid}", "/Q{$qid}#{$aid}");
$crumbs->addTextCrumb(pht('History'));
$crumbs->setBorder(true);
$header = id(new PHUIHeaderView())
->setHeader(pht('Answer History'))
->setHeaderIcon('fa-history');
$view = id(new PHUITwoColumnView())
->setHeader($header)
->setFooter($timeline);
return $this->newPage()
->setTitle(pht('Answer History'))
->setCrumbs($crumbs)
->appendChild($view);
}
}