1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-12-24 22:40:55 +01:00

Modernize Phame process handlers

Summary: Converts Phame to use handleRequest where appropriate.

Test Plan: Write some blog posts, publish, edit, view.

Reviewers: btrahan, epriestley

Reviewed By: epriestley

Subscribers: epriestley, Korvin

Maniphest Tasks: T8628

Differential Revision: https://secure.phabricator.com/D13677
This commit is contained in:
Chad Little 2015-07-22 13:32:25 -07:00
parent 22740f1752
commit 1643685e72
5 changed files with 42 additions and 74 deletions

View file

@ -2,19 +2,13 @@
final class PhamePostFramedController extends PhameController { final class PhamePostFramedController extends PhameController {
private $id; public function handleRequest(AphrontRequest $request) {
$user = $request->getViewer();
public function willProcessRequest(array $data) { $id = $request->getURIData('id');
$this->id = $data['id'];
}
public function processRequest() {
$request = $this->getRequest();
$user = $request->getUser();
$post = id(new PhamePostQuery()) $post = id(new PhamePostQuery())
->setViewer($user) ->setViewer($user)
->withIDs(array($this->id)) ->withIDs(array($id))
->requireCapabilities( ->requireCapabilities(
array( array(
PhabricatorPolicyCapability::CAN_EDIT, PhabricatorPolicyCapability::CAN_EDIT,

View file

@ -2,60 +2,52 @@
final class PhamePostListController extends PhameController { final class PhamePostListController extends PhameController {
private $bloggername; public function handleRequest(AphrontRequest $request) {
private $filter; $viewer = $request->getViewer();
$filter = $request->getURIData('filter');
public function willProcessRequest(array $data) { $bloggername = $request->getURIData('bloggername');
$this->filter = idx($data, 'filter', 'blogger');
$this->bloggername = idx($data, 'bloggername');
}
public function processRequest() {
$request = $this->getRequest();
$user = $request->getUser();
$query = id(new PhamePostQuery()) $query = id(new PhamePostQuery())
->setViewer($user); ->setViewer($viewer);
$nav = $this->renderSideNavFilterView(); $nav = $this->renderSideNavFilterView();
$nodata = null; $nodata = null;
switch ($this->filter) { switch ($filter) {
case 'draft': case 'draft':
$query->withBloggerPHIDs(array($user->getPHID())); $query->withBloggerPHIDs(array($viewer->getPHID()));
$query->withVisibility(PhamePost::VISIBILITY_DRAFT); $query->withVisibility(PhamePost::VISIBILITY_DRAFT);
$nodata = pht('You have no unpublished drafts.'); $nodata = pht('You have no unpublished drafts.');
$title = pht('Unpublished Drafts'); $title = pht('Unpublished Drafts');
$nav->selectFilter('post/draft'); $nav->selectFilter('post/draft');
break; break;
case 'blogger':
if ($this->bloggername) {
$blogger = id(new PhabricatorUser())->loadOneWhere(
'username = %s',
$this->bloggername);
if (!$blogger) {
return new Aphront404Response();
}
} else {
$blogger = $user;
}
$query->withBloggerPHIDs(array($blogger->getPHID()));
if ($blogger->getPHID() == $user->getPHID()) {
$nav->selectFilter('post');
$nodata = pht('You have not written any posts.');
} else {
$nodata = pht('%s has not written any posts.', $blogger);
}
$title = pht('Posts by %s', $blogger);
break;
case 'all': case 'all':
$nodata = pht('There are no visible posts.'); $nodata = pht('There are no visible posts.');
$title = pht('Posts'); $title = pht('Posts');
$nav->selectFilter('post/all'); $nav->selectFilter('post/all');
break; break;
default: default:
throw new Exception(pht("Unknown filter '%s'!", $this->filter)); case 'blogger':
if ($bloggername) {
$blogger = id(new PhabricatorUser())->loadOneWhere(
'username = %s',
$bloggername);
if (!$blogger) {
return new Aphront404Response();
}
} else {
$blogger = $viewer;
}
$query->withBloggerPHIDs(array($blogger->getPHID()));
if ($blogger->getPHID() == $viewer->getPHID()) {
$nav->selectFilter('post');
$nodata = pht('You have not written any posts.');
} else {
$nodata = pht('%s has not written any posts.', $blogger);
}
$title = pht('Posts by %s', $blogger);
break;
} }
$pager = id(new AphrontCursorPagerView()) $pager = id(new AphrontCursorPagerView())
@ -64,7 +56,7 @@ final class PhamePostListController extends PhameController {
$posts = $query->executeWithCursorPager($pager); $posts = $query->executeWithCursorPager($pager);
require_celerity_resource('phame-css'); require_celerity_resource('phame-css');
$post_list = $this->renderPostList($posts, $user, $nodata); $post_list = $this->renderPostList($posts, $viewer, $nodata);
$post_list = id(new PHUIObjectBoxView()) $post_list = id(new PHUIObjectBoxView())
->setHeaderText($title) ->setHeaderText($title)
->appendChild($post_list); ->appendChild($post_list);

View file

@ -2,19 +2,13 @@
final class PhamePostNotLiveController extends PhameController { final class PhamePostNotLiveController extends PhameController {
private $id; public function handleRequest(AphrontRequest $request) {
public function willProcessRequest(array $data) {
$this->id = $data['id'];
}
public function processRequest() {
$request = $this->getRequest();
$user = $request->getUser(); $user = $request->getUser();
$id = $request->getURIData('id');
$post = id(new PhamePostQuery()) $post = id(new PhamePostQuery())
->setViewer($user) ->setViewer($user)
->withIDs(array($this->id)) ->withIDs(array($id))
->executeOne(); ->executeOne();
if (!$post) { if (!$post) {
return new Aphront404Response(); return new Aphront404Response();

View file

@ -2,19 +2,13 @@
final class PhamePostPublishController extends PhameController { final class PhamePostPublishController extends PhameController {
private $id; public function handleRequest(AphrontRequest $request) {
public function willProcessRequest(array $data) {
$this->id = $data['id'];
}
public function processRequest() {
$request = $this->getRequest();
$user = $request->getUser(); $user = $request->getUser();
$id = $request->getURIData('id');
$post = id(new PhamePostQuery()) $post = id(new PhamePostQuery())
->setViewer($user) ->setViewer($user)
->withIDs(array($this->id)) ->withIDs(array($id))
->requireCapabilities( ->requireCapabilities(
array( array(
PhabricatorPolicyCapability::CAN_EDIT, PhabricatorPolicyCapability::CAN_EDIT,

View file

@ -2,19 +2,13 @@
final class PhamePostUnpublishController extends PhameController { final class PhamePostUnpublishController extends PhameController {
private $id; public function handleRequest(AphrontRequest $request) {
public function willProcessRequest(array $data) {
$this->id = $data['id'];
}
public function processRequest() {
$request = $this->getRequest();
$user = $request->getUser(); $user = $request->getUser();
$id = $request->getURIData('id');
$post = id(new PhamePostQuery()) $post = id(new PhamePostQuery())
->setViewer($user) ->setViewer($user)
->withIDs(array($this->id)) ->withIDs(array($id))
->requireCapabilities( ->requireCapabilities(
array( array(
PhabricatorPolicyCapability::CAN_EDIT, PhabricatorPolicyCapability::CAN_EDIT,