1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-05 05:02:44 +01:00
phorge-phorge/src/applications/ponder/controller/PonderAnswerPreviewController.php
Gareth Evans 70a5ec600d Allowing Closing of questions
Summary:
Fixes T3579

As a basic overview, this enables the author of a question to open/close a question.

Other bits;

- Add "Open" filter to the builtin queries
- Add "Status" to search form
- Refactor ponder constants
- Add coloured bars for different question statuses

Test Plan:
- Open/Close questions
- Search for some bits
- Use filters

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T3579

Differential Revision: https://secure.phabricator.com/D6590

Conflicts:
	src/infrastructure/storage/patch/PhabricatorBuiltinPatchList.php
2013-07-27 18:41:03 -07:00

38 lines
965 B
PHP

<?php
final class PonderAnswerPreviewController
extends PonderController {
public function processRequest() {
$request = $this->getRequest();
$user = $request->getUser();
$question_id = $request->getInt('question_id');
$question = PonderQuestionQuery::loadSingle($user, $question_id);
if (!$question) {
return new Aphront404Response();
}
$author_phid = $user->getPHID();
$object_phids = array($author_phid);
$handles = $this->loadViewerHandles($object_phids);
$answer = new PonderAnswer();
$answer->setContent($request->getStr('content'));
$answer->setAuthorPHID($author_phid);
$view = new PonderPostBodyView();
$view
->setQuestion($question)
->setTarget($answer)
->setPreview(true)
->setUser($user)
->setHandles($handles)
->setAction(PonderLiterals::LITERAL_ANSWERED);
return id(new AphrontAjaxResponse())
->setContent($view->render());
}
}