Diffusion - move some DiffusionRequest queries to occur over Conduit

Summary: Ref T2784. This one was a wee bit complicated. Had to add PhabricatorUser and concept of initFromConduit (or not) to DiffusionRequest.

Test Plan: foreach repo, visited CALLSIGN and clicked a commit and verified they laoded correctly. Hacked code to hit NOT via Conduit and repeated tests to great success.

Reviewers: epriestley

Reviewed By: epriestley

CC: chad, aran, Korvin

Maniphest Tasks: T2784

Differential Revision: https://secure.phabricator.com/D5928
This commit is contained in:
Bob Trahan
2013-05-14 15:32:19 -07:00
parent b10b1fc65f
commit 016b62a7ef
36 changed files with 418 additions and 104 deletions

View File

@@ -957,6 +957,7 @@ final class DiffusionBrowseFileController extends DiffusionController {
$before_req = DiffusionRequest::newFromDictionary(
array(
'user' => $this->getRequest()->getUser(),
'repository' => $drequest->getRepository(),
'commit' => $commit,
));

View File

@@ -3,6 +3,7 @@
final class DiffusionCommitBranchesController extends DiffusionController {
public function willProcessRequest(array $data) {
$data['user'] = $this->getRequest()->getUser();
$this->diffusionRequest = DiffusionRequest::newFromDictionary($data);
}

View File

@@ -10,6 +10,7 @@ final class DiffusionCommitController extends DiffusionController {
public function willProcessRequest(array $data) {
// This controller doesn't use blob/path stuff, just pass the dictionary
// in directly instead of using the AphrontRequest parsing mechanism.
$data['user'] = $this->getRequest()->getUser();
$drequest = DiffusionRequest::newFromDictionary($data);
$this->diffusionRequest = $drequest;
}

View File

@@ -3,6 +3,7 @@
final class DiffusionCommitEditController extends DiffusionController {
public function willProcessRequest(array $data) {
$data['user'] = $this->getRequest()->getUser();
$this->diffusionRequest = DiffusionRequest::newFromDictionary($data);
}

View File

@@ -3,6 +3,7 @@
final class DiffusionCommitTagsController extends DiffusionController {
public function willProcessRequest(array $data) {
$data['user'] = $this->getRequest()->getUser();
$this->diffusionRequest = DiffusionRequest::newFromDictionary($data);
}

View File

@@ -40,6 +40,7 @@ final class DiffusionLintController extends DiffusionController {
$drequests = array();
foreach ($branches as $id => $branch) {
$drequests[$id] = DiffusionRequest::newFromDictionary(array(
'user' => $user,
'repository' => $repositories[$branch->getRepositoryID()],
'branch' => $branch->getName(),
));

View File

@@ -27,8 +27,9 @@ final class DiffusionPathCompleteController extends DiffusionController {
$drequest = DiffusionRequest::newFromDictionary(
array(
'repository' => $repository,
'path' => $query_dir,
'user' => $request->getUser(),
'repository' => $repository,
'path' => $query_dir,
));
$this->setDiffusionRequest($drequest);

View File

@@ -22,8 +22,9 @@ final class DiffusionPathValidateController extends DiffusionController {
$drequest = DiffusionRequest::newFromDictionary(
array(
'repository' => $repository,
'path' => $path,
'user' => $request->getUser(),
'repository' => $repository,
'path' => $path,
));
$this->setDiffusionRequest($drequest);