Require TokenizerControl to always have a datasource

Summary:
Ref T4100. I can simplify the logic a bit here by moving some rendering into the datasources, but a few TokenizerControls currently don't have datasources.

Require datasources and always provide datasources.

Test Plan:
  - Used previously-datasourceless controls (e.g., "Add Reviewers").
  - Used normal controls.
  - Manually verified that no other controls are missing datasources.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T4100

Differential Revision: https://secure.phabricator.com/D12456
This commit is contained in:
epriestley
2015-04-18 08:38:47 -07:00
parent e27c0b416d
commit a11dab59b0
4 changed files with 40 additions and 43 deletions

View File

@@ -677,6 +677,9 @@ final class DiffusionCommitController extends DiffusionController {
$actions = $this->getAuditActions($commit, $audit_requests);
$mailable_source = new PhabricatorMetaMTAMailableDatasource();
$auditor_source = new DiffusionAuditorDatasource();
$form = id(new AphrontFormView())
->setUser($user)
->setAction('/audit/addcomment/')
@@ -694,7 +697,8 @@ final class DiffusionCommitController extends DiffusionController {
->setControlID('add-auditors')
->setControlStyle('display: none')
->setID('add-auditors-tokenizer')
->setDisableBehavior(true))
->setDisableBehavior(true)
->setDatasource($auditor_source))
->appendControl(
id(new AphrontFormTokenizerControl())
->setLabel(pht('Add CCs'))
@@ -702,7 +706,8 @@ final class DiffusionCommitController extends DiffusionController {
->setControlID('add-ccs')
->setControlStyle('display: none')
->setID('add-ccs-tokenizer')
->setDisableBehavior(true))
->setDisableBehavior(true)
->setDatasource($mailable_source))
->appendChild(
id(new PhabricatorRemarkupControl())
->setLabel(pht('Comments'))
@@ -718,9 +723,6 @@ final class DiffusionCommitController extends DiffusionController {
$header->setHeader(
$is_serious ? pht('Audit Commit') : pht('Creative Accounting'));
$mailable_source = new PhabricatorMetaMTAMailableDatasource();
$auditor_source = new DiffusionAuditorDatasource();
Javelin::initBehavior(
'differential-add-reviewers-and-ccs',
array(