1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-16 20:02:40 +01:00
phorge-phorge/src/applications/differential/field/specification/DifferentialRevisionStatusFieldSpecification.php
vrana ef85f49adc Delete license headers from files
Summary:
This commit doesn't change license of any file. It just makes the license implicit (inherited from LICENSE file in the root directory).

We are removing the headers for these reasons:

- It wastes space in editors, less code is visible in editor upon opening a file.
- It brings noise to diff of the first change of any file every year.
- It confuses Git file copy detection when creating small files.
- We don't have an explicit license header in other files (JS, CSS, images, documentation).
- Using license header in every file is not obligatory: http://www.apache.org/dev/apply-license.html#new.

This change is approved by Alma Chao (Lead Open Source and IP Counsel at Facebook).

Test Plan: Verified that the license survived only in LICENSE file and that it didn't modify externals.

Reviewers: epriestley, davidrecordon

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T2035

Differential Revision: https://secure.phabricator.com/D3886
2012-11-05 11:16:51 -08:00

84 lines
2.4 KiB
PHP

<?php
final class DifferentialRevisionStatusFieldSpecification
extends DifferentialFieldSpecification {
public function shouldAppearOnRevisionView() {
return true;
}
public function renderLabelForRevisionView() {
return 'Revision Status:';
}
public function renderValueForRevisionView() {
$revision = $this->getRevision();
$diff = $this->getDiff();
$status = $revision->getStatus();
$info = null;
$local_vcs = $diff->getSourceControlSystem();
$backing_vcs = $diff->getBackingVersionControlSystem();
if (!$backing_vcs) {
$backing_vcs = $local_vcs;
}
if ($status == ArcanistDifferentialRevisionStatus::ACCEPTED) {
$next_step = null;
if ($local_vcs == $backing_vcs) {
switch ($local_vcs) {
case PhabricatorRepositoryType::REPOSITORY_TYPE_MERCURIAL:
$next_step = '<tt>hg push</tt>';
break;
case PhabricatorRepositoryType::REPOSITORY_TYPE_GIT:
$next_step = '<tt>arc land</tt>';
break;
case PhabricatorRepositoryType::REPOSITORY_TYPE_SVN:
$next_step = '<tt>arc commit</tt>';
break;
}
} else {
$next_step = '<tt>arc amend</tt>';
}
if ($next_step) {
$info = ' &middot; Next step: '.$next_step;
}
} else if ($status == ArcanistDifferentialRevisionStatus::CLOSED) {
$committed = $revision->getDateCommitted();
if ($committed) {
$verb = null;
switch ($backing_vcs) {
case PhabricatorRepositoryType::REPOSITORY_TYPE_MERCURIAL:
case PhabricatorRepositoryType::REPOSITORY_TYPE_GIT:
$verb = 'Pushed';
break;
case PhabricatorRepositoryType::REPOSITORY_TYPE_SVN:
$verb = 'Committed';
break;
}
if ($verb) {
$when = phabricator_datetime($committed, $this->getUser());
$info = " ({$verb} {$when})";
}
}
}
$status =
ArcanistDifferentialRevisionStatus::getNameForRevisionStatus($status);
return '<strong>'.$status.'</strong>'.$info;
}
public function shouldAppearOnRevisionList() {
return true;
}
public function renderHeaderForRevisionList() {
return 'Status';
}
public function renderValueForRevisionList(DifferentialRevision $revision) {
return ArcanistDifferentialRevisionStatus::getNameForRevisionStatus(
$revision->getStatus());
}
}