Page MenuHomestyx hydra

No OneTemporary

diff --git a/src/applications/differential/field/selector/DifferentialDefaultFieldSelector.php b/src/applications/differential/field/selector/DifferentialDefaultFieldSelector.php
index d5332a1ed7..a5fd50a896 100644
--- a/src/applications/differential/field/selector/DifferentialDefaultFieldSelector.php
+++ b/src/applications/differential/field/selector/DifferentialDefaultFieldSelector.php
@@ -1,115 +1,116 @@
<?php
/*
* Copyright 2012 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
final class DifferentialDefaultFieldSelector
extends DifferentialFieldSelector {
public function getFieldSpecifications() {
$fields = array(
new DifferentialTitleFieldSpecification(),
new DifferentialSummaryFieldSpecification(),
);
if (PhabricatorEnv::getEnvConfig('differential.show-test-plan-field')) {
$fields[] = new DifferentialTestPlanFieldSpecification();
}
$fields = array_merge(
$fields,
array(
new DifferentialRevisionStatusFieldSpecification(),
new DifferentialAuthorFieldSpecification(),
new DifferentialReviewersFieldSpecification(),
new DifferentialReviewedByFieldSpecification(),
new DifferentialCCsFieldSpecification(),
new DifferentialUnitFieldSpecification(),
new DifferentialLintFieldSpecification(),
new DifferentialCommitsFieldSpecification(),
new DifferentialDependenciesFieldSpecification(),
new DifferentialManiphestTasksFieldSpecification(),
));
if (PhabricatorEnv::getEnvConfig('differential.show-host-field')) {
$fields[] = new DifferentialHostFieldSpecification();
$fields[] = new DifferentialPathFieldSpecification();
}
$fields = array_merge(
$fields,
array(
new DifferentialBranchFieldSpecification(),
new DifferentialArcanistProjectFieldSpecification(),
new DifferentialApplyPatchFieldSpecification(),
new DifferentialRevisionIDFieldSpecification(),
new DifferentialGitSVNIDFieldSpecification(),
new DifferentialDateModifiedFieldSpecification(),
new DifferentialDateCreatedFieldSpecification(),
new DifferentialAuditorsFieldSpecification(),
));
return $fields;
}
public function sortFieldsForRevisionList(array $fields) {
assert_instances_of($fields, 'DifferentialFieldSpecification');
$map = array();
foreach ($fields as $field) {
$map[get_class($field)] = $field;
}
$map = array_select_keys(
$map,
array(
'DifferentialRevisionIDFieldSpecification',
'DifferentialTitleFieldSpecification',
'DifferentialRevisionStatusFieldSpecification',
'DifferentialAuthorFieldSpecification',
'DifferentialReviewersFieldSpecification',
'DifferentialDateModifiedFieldSpecification',
'DifferentialDateCreatedFieldSpecification',
)) + $map;
return array_values($map);
}
public function sortFieldsForMail(array $fields) {
assert_instances_of($fields, 'DifferentialFieldSpecification');
$map = array();
foreach ($fields as $field) {
$map[get_class($field)] = $field;
}
$map = array_select_keys(
$map,
array(
'DifferentialReviewersFieldSpecification',
'DifferentialSummaryFieldSpecification',
'DifferentialTestPlanFieldSpecification',
'DifferentialRevisionIDFieldSpecification',
'DifferentialManiphestTasksFieldSpecification',
'DifferentialBranchFieldSpecification',
+ 'DifferentialArcanistProjectFieldSpecification',
'DifferentialCommitsFieldSpecification',
)) + $map;
return array_values($map);
}
}
diff --git a/src/applications/differential/field/specification/DifferentialArcanistProjectFieldSpecification.php b/src/applications/differential/field/specification/DifferentialArcanistProjectFieldSpecification.php
index d8098b3839..a405747656 100644
--- a/src/applications/differential/field/specification/DifferentialArcanistProjectFieldSpecification.php
+++ b/src/applications/differential/field/specification/DifferentialArcanistProjectFieldSpecification.php
@@ -1,54 +1,72 @@
<?php
/*
- * Copyright 2011 Facebook, Inc.
+ * Copyright 2012 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
final class DifferentialArcanistProjectFieldSpecification
extends DifferentialFieldSpecification {
public function shouldAppearOnRevisionView() {
return true;
}
public function getRequiredHandlePHIDs() {
$arcanist_phid = $this->getArcanistProjectPHID();
if (!$arcanist_phid) {
return array();
}
return array($arcanist_phid);
}
public function renderLabelForRevisionView() {
return 'Arcanist Project:';
}
public function renderValueForRevisionView() {
$arcanist_phid = $this->getArcanistProjectPHID();
if (!$arcanist_phid) {
return null;
}
$handle = $this->getHandle($arcanist_phid);
return phutil_escape_html($handle->getName());
}
private function getArcanistProjectPHID() {
$diff = $this->getDiff();
return $diff->getArcanistProjectPHID();
}
+ public function renderValueForMail($phase) {
+ $status = $this->getRevision()->getStatus();
+
+ if ($status != ArcanistDifferentialRevisionStatus::NEEDS_REVISION &&
+ $status != ArcanistDifferentialRevisionStatus::ACCEPTED) {
+ return null;
+ }
+
+ $diff = $this->getRevision()->loadActiveDiff();
+ if ($diff) {
+ $phid = $diff->getArcanistProjectPHID();
+ if ($phid) {
+ $handle = PhabricatorObjectHandleData::loadOneHandle($phid);
+ return "ARCANIST PROJECT\n ".$handle->getName();
+ }
+ }
+ }
+
}

File Metadata

Mime Type
text/x-diff
Expires
Thu, Jul 24, 7:35 AM (19 h, 31 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
182639
Default Alt Text
(6 KB)

Event Timeline