Page MenuHomePhabricator

D8475.id20087.diff
No OneTemporary

D8475.id20087.diff

diff --git a/resources/celerity/map.php b/resources/celerity/map.php
--- a/resources/celerity/map.php
+++ b/resources/celerity/map.php
@@ -11,7 +11,7 @@
'core.pkg.js' => 'b7bdab05',
'darkconsole.pkg.js' => 'ca8671ce',
'differential.pkg.css' => 'd1b3a605',
- 'differential.pkg.js' => 'e0d3b0da',
+ 'differential.pkg.js' => '11a5b750',
'diffusion.pkg.css' => '3783278d',
'diffusion.pkg.js' => '5b4010f4',
'javelin.pkg.js' => '5b0f988e',
@@ -357,7 +357,6 @@
'rsrc/js/application/conpherence/behavior-widget-pane.js' => 'd8ef8659',
'rsrc/js/application/countdown/timer.js' => '889c96f3',
'rsrc/js/application/differential/DifferentialInlineCommentEditor.js' => 'f2441746',
- 'rsrc/js/application/differential/behavior-accept-with-errors.js' => 'e12c760a',
'rsrc/js/application/differential/behavior-add-reviewers-and-ccs.js' => '533a187b',
'rsrc/js/application/differential/behavior-comment-jump.js' => '71755c79',
'rsrc/js/application/differential/behavior-comment-preview.js' => '127f2018',
@@ -546,7 +545,6 @@
'javelin-behavior-countdown-timer' => '889c96f3',
'javelin-behavior-dark-console' => 'e9fdb5e5',
'javelin-behavior-device' => '03d6ed07',
- 'javelin-behavior-differential-accept-with-errors' => 'e12c760a',
'javelin-behavior-differential-add-reviewers-and-ccs' => '533a187b',
'javelin-behavior-differential-comment-jump' => '71755c79',
'javelin-behavior-differential-diff-radios' => 'e1ff79b1',
@@ -1817,11 +1815,6 @@
1 => 'javelin-util',
2 => 'javelin-request',
),
- 'e12c760a' =>
- array(
- 0 => 'javelin-behavior',
- 1 => 'javelin-dom',
- ),
'e1ff79b1' =>
array(
0 => 'javelin-behavior',
@@ -2140,18 +2133,17 @@
4 => 'javelin-behavior-differential-populate',
5 => 'javelin-behavior-differential-show-more',
6 => 'javelin-behavior-differential-diff-radios',
- 7 => 'javelin-behavior-differential-accept-with-errors',
- 8 => 'javelin-behavior-differential-comment-jump',
- 9 => 'javelin-behavior-differential-add-reviewers-and-ccs',
- 10 => 'javelin-behavior-differential-keyboard-navigation',
- 11 => 'javelin-behavior-aphront-drag-and-drop-textarea',
- 12 => 'javelin-behavior-phabricator-object-selector',
- 13 => 'javelin-behavior-repository-crossreference',
- 14 => 'javelin-behavior-load-blame',
- 15 => 'differential-inline-comment-editor',
- 16 => 'javelin-behavior-differential-dropdown-menus',
- 17 => 'javelin-behavior-differential-toggle-files',
- 18 => 'javelin-behavior-differential-user-select',
+ 7 => 'javelin-behavior-differential-comment-jump',
+ 8 => 'javelin-behavior-differential-add-reviewers-and-ccs',
+ 9 => 'javelin-behavior-differential-keyboard-navigation',
+ 10 => 'javelin-behavior-aphront-drag-and-drop-textarea',
+ 11 => 'javelin-behavior-phabricator-object-selector',
+ 12 => 'javelin-behavior-repository-crossreference',
+ 13 => 'javelin-behavior-load-blame',
+ 14 => 'differential-inline-comment-editor',
+ 15 => 'javelin-behavior-differential-dropdown-menus',
+ 16 => 'javelin-behavior-differential-toggle-files',
+ 17 => 'javelin-behavior-differential-user-select',
),
'diffusion.pkg.css' =>
array(
diff --git a/resources/celerity/packages.php b/resources/celerity/packages.php
--- a/resources/celerity/packages.php
+++ b/resources/celerity/packages.php
@@ -138,7 +138,6 @@
'javelin-behavior-differential-populate',
'javelin-behavior-differential-show-more',
'javelin-behavior-differential-diff-radios',
- 'javelin-behavior-differential-accept-with-errors',
'javelin-behavior-differential-comment-jump',
'javelin-behavior-differential-add-reviewers-and-ccs',
'javelin-behavior-differential-keyboard-navigation',
diff --git a/src/__phutil_library_map__.php b/src/__phutil_library_map__.php
--- a/src/__phutil_library_map__.php
+++ b/src/__phutil_library_map__.php
@@ -399,7 +399,6 @@
'DifferentialLandingToHostedGit' => 'applications/differential/landing/DifferentialLandingToHostedGit.php',
'DifferentialLandingToHostedMercurial' => 'applications/differential/landing/DifferentialLandingToHostedMercurial.php',
'DifferentialLintField' => 'applications/differential/customfield/DifferentialLintField.php',
- 'DifferentialLintFieldSpecification' => 'applications/differential/field/specification/DifferentialLintFieldSpecification.php',
'DifferentialLintStatus' => 'applications/differential/constants/DifferentialLintStatus.php',
'DifferentialLocalCommitsView' => 'applications/differential/view/DifferentialLocalCommitsView.php',
'DifferentialMail' => 'applications/differential/mail/DifferentialMail.php',
@@ -452,7 +451,6 @@
'DifferentialTransactionQuery' => 'applications/differential/query/DifferentialTransactionQuery.php',
'DifferentialTransactionView' => 'applications/differential/view/DifferentialTransactionView.php',
'DifferentialUnitField' => 'applications/differential/customfield/DifferentialUnitField.php',
- 'DifferentialUnitFieldSpecification' => 'applications/differential/field/specification/DifferentialUnitFieldSpecification.php',
'DifferentialUnitStatus' => 'applications/differential/constants/DifferentialUnitStatus.php',
'DifferentialUnitTestResult' => 'applications/differential/constants/DifferentialUnitTestResult.php',
'DifferentialViewPolicyField' => 'applications/differential/customfield/DifferentialViewPolicyField.php',
diff --git a/src/applications/differential/controller/DifferentialRevisionViewController.php b/src/applications/differential/controller/DifferentialRevisionViewController.php
--- a/src/applications/differential/controller/DifferentialRevisionViewController.php
+++ b/src/applications/differential/controller/DifferentialRevisionViewController.php
@@ -336,6 +336,19 @@
$comment_form = new DifferentialAddCommentView();
$comment_form->setRevision($revision);
+ $review_warnings = array();
+ foreach ($field_list->getFields() as $field) {
+ $review_warnings[] = $field->getWarningsForDetailView();
+ }
+ $review_warnings = array_mergev($review_warnings);
+
+ if ($review_warnings) {
+ $review_warnings_panel = id(new AphrontErrorView())
+ ->setSeverity(AphrontErrorView::SEVERITY_WARNING)
+ ->setErrors($review_warnings);
+ $comment_form->setErrorView($review_warnings_panel);
+ }
+
// TODO: Restore the ability for fields to add accept warnings.
$comment_form->setActions($this->getRevisionCommentActions($revision));
diff --git a/src/applications/differential/customfield/DifferentialCustomField.php b/src/applications/differential/customfield/DifferentialCustomField.php
--- a/src/applications/differential/customfield/DifferentialCustomField.php
+++ b/src/applications/differential/customfield/DifferentialCustomField.php
@@ -76,6 +76,12 @@
return implode(', ', $out);
}
+ public function getWarningsForDetailView() {
+ if ($this->getProxy()) {
+ return $this->getProxy()->getWarningsForDetailView();
+ }
+ return array();
+ }
/* -( Integration with Commit Messages )----------------------------------- */
diff --git a/src/applications/differential/customfield/DifferentialLintField.php b/src/applications/differential/customfield/DifferentialLintField.php
--- a/src/applications/differential/customfield/DifferentialLintField.php
+++ b/src/applications/differential/customfield/DifferentialLintField.php
@@ -233,4 +233,25 @@
return "Show Full Lint Results (".implode(', ', $show).")";
}
+
+ public function getWarningsForDetailView() {
+ $status = $this->getObject()->getActiveDiff()->getLintStatus();
+ if ($status < DifferentialLintStatus::LINT_WARN) {
+ return array();
+ }
+
+ $warnings = array();
+ if ($status == DifferentialLintStatus::LINT_SKIP) {
+ $warnings[] = pht(
+ 'Lint was skipped when generating these changes.');
+ } else if ($status == DifferentialLintStatus::LINT_POSTPONED) {
+ $warnings[] = pht(
+ 'Background linting has not finished executing on these changes.');
+ } else {
+ $warnings[] = pht('These changes have lint problems.');
+ }
+
+ return $warnings;
+ }
+
}
diff --git a/src/applications/differential/customfield/DifferentialUnitField.php b/src/applications/differential/customfield/DifferentialUnitField.php
--- a/src/applications/differential/customfield/DifferentialUnitField.php
+++ b/src/applications/differential/customfield/DifferentialUnitField.php
@@ -203,4 +203,24 @@
return "Show Full Unit Results (".implode(', ', $show).")";
}
+ public function getWarningsForDetailView() {
+ $status = $this->getObject()->getActiveDiff()->getUnitStatus();
+
+ $warnings = array();
+ if ($status < DifferentialUnitStatus::UNIT_WARN) {
+ // Don't show any warnings.
+ } else if ($status == DifferentialUnitStatus::UNIT_POSTPONED) {
+ $warnings[] = pht(
+ 'Background tests have not finished executing on these changes.');
+ } else if ($status == DifferentialUnitStatus::UNIT_SKIP) {
+ $warnings[] = pht(
+ 'Unit tests were skipped when generating these changes.');
+ } else {
+ $warnings[] = pht('These changes have unit test problems.');
+ }
+
+ return $warnings;
+ }
+
+
}
diff --git a/src/applications/differential/field/specification/DifferentialLintFieldSpecification.php b/src/applications/differential/field/specification/DifferentialLintFieldSpecification.php
deleted file mode 100644
--- a/src/applications/differential/field/specification/DifferentialLintFieldSpecification.php
+++ /dev/null
@@ -1,42 +0,0 @@
-<?php
-
-final class DifferentialLintFieldSpecification {
-
- public function renderWarningBoxForRevisionAccept() {
- $status = $this->getDiff()->getLintStatus();
- if ($status < DifferentialLintStatus::LINT_WARN) {
- return null;
- }
-
- $severity = AphrontErrorView::SEVERITY_ERROR;
- $titles = array(
- DifferentialLintStatus::LINT_WARN => 'Lint Warning',
- DifferentialLintStatus::LINT_FAIL => 'Lint Failure',
- DifferentialLintStatus::LINT_SKIP => 'Lint Skipped',
- DifferentialLintStatus::LINT_POSTPONED => 'Lint Postponed',
- );
-
- if ($status == DifferentialLintStatus::LINT_SKIP) {
- $content =
- "This diff was created without running lint. Make sure you are ".
- "OK with that before you accept this diff.";
-
- } else if ($status == DifferentialLintStatus::LINT_POSTPONED) {
- $severity = AphrontErrorView::SEVERITY_WARNING;
- $content =
- "Postponed linters didn't finish yet. Make sure you are OK with ".
- "that before you accept this diff.";
-
- } else {
- $content =
- "This diff has Lint Problems. Make sure you are OK with them ".
- "before you accept this diff.";
- }
-
- return id(new AphrontErrorView())
- ->setSeverity($severity)
- ->appendChild(phutil_tag('p', array(), $content))
- ->setTitle(idx($titles, $status, 'Warning'));
- }
-
-}
diff --git a/src/applications/differential/field/specification/DifferentialUnitFieldSpecification.php b/src/applications/differential/field/specification/DifferentialUnitFieldSpecification.php
deleted file mode 100644
--- a/src/applications/differential/field/specification/DifferentialUnitFieldSpecification.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?php
-
-final class DifferentialUnitFieldSpecification {
-
- public function renderWarningBoxForRevisionAccept() {
- $diff = $this->getDiff();
- $unit_warning = null;
- if ($diff->getUnitStatus() >= DifferentialUnitStatus::UNIT_WARN) {
- $titles =
- array(
- DifferentialUnitStatus::UNIT_WARN => 'Unit Tests Warning',
- DifferentialUnitStatus::UNIT_FAIL => 'Unit Tests Failure',
- DifferentialUnitStatus::UNIT_SKIP => 'Unit Tests Skipped',
- DifferentialUnitStatus::UNIT_POSTPONED => 'Unit Tests Postponed'
- );
- if ($diff->getUnitStatus() == DifferentialUnitStatus::UNIT_POSTPONED) {
- $content =
- "This diff has postponed unit tests. The results should be ".
- "coming in soon. You should probably wait for them before accepting ".
- "this diff.";
- } else if ($diff->getUnitStatus() == DifferentialUnitStatus::UNIT_SKIP) {
- $content =
- "Unit tests were skipped when this diff was created. Make sure ".
- "you are OK with that before you accept this diff.";
- } else {
- $content =
- "This diff has Unit Test Problems. Make sure you are OK with ".
- "them before you accept this diff.";
- }
- $unit_warning = id(new AphrontErrorView())
- ->setSeverity(AphrontErrorView::SEVERITY_ERROR)
- ->appendChild(phutil_tag('p', array(), $content))
- ->setTitle(idx($titles, $diff->getUnitStatus(), 'Warning'));
- }
- return $unit_warning;
- }
-
-}
diff --git a/src/applications/differential/view/DifferentialAddCommentView.php b/src/applications/differential/view/DifferentialAddCommentView.php
--- a/src/applications/differential/view/DifferentialAddCommentView.php
+++ b/src/applications/differential/view/DifferentialAddCommentView.php
@@ -8,6 +8,16 @@
private $draft;
private $reviewers = array();
private $ccs = array();
+ private $errorView;
+
+ public function setErrorView(AphrontErrorView $error_view) {
+ $this->errorView = $error_view;
+ return $this;
+ }
+
+ public function getErrorView() {
+ return $this->errorView;
+ }
public function setRevision($revision) {
$this->revision = $revision;
@@ -129,15 +139,6 @@
));
$diff = $revision->loadActiveDiff();
- $warnings = array();
-
- Javelin::initBehavior(
- 'differential-accept-with-errors',
- array(
- 'select' => 'comment-action',
- 'warnings' => 'warnings',
- ));
-
$rev_id = $revision->getID();
Javelin::initBehavior(
@@ -156,13 +157,6 @@
'inline' => 'inline-comment-preview',
));
- $warning_container = array();
- foreach ($warnings as $warning) {
- if ($warning) {
- $warning_container[] = $warning->render();
- }
- }
-
$header = id(new PHUIHeaderView())
->setHeader($is_serious ? pht('Add Comment') : pht('Leap Into Action'));
@@ -170,8 +164,6 @@
->setAnchorName('comment')
->setNavigationMarker(true);
- $warn = phutil_tag('div', array('id' => 'warnings'), $warning_container);
-
$loading = phutil_tag(
'span',
array('class' => 'aphront-panel-preview-loading-text'),
@@ -188,9 +180,12 @@
$comment_box = id(new PHUIObjectBoxView())
->setHeader($header)
->appendChild($anchor)
- ->appendChild($warn)
->appendChild($form);
+ if ($this->errorView) {
+ $comment_box->setErrorView($this->errorView);
+ }
+
return array($comment_box, $preview);
}
}
diff --git a/webroot/rsrc/js/application/differential/behavior-accept-with-errors.js b/webroot/rsrc/js/application/differential/behavior-accept-with-errors.js
deleted file mode 100644
--- a/webroot/rsrc/js/application/differential/behavior-accept-with-errors.js
+++ /dev/null
@@ -1,25 +0,0 @@
-/**
- * @provides javelin-behavior-differential-accept-with-errors
- * @requires javelin-behavior
- * javelin-dom
- */
-
-JX.behavior('differential-accept-with-errors', function(config) {
- if (config.warnings) {
- toggleWarning();
- JX.DOM.listen(
- JX.$(config.select),
- 'change',
- null,
- toggleWarning);
- }
-
- function toggleWarning() {
- if (JX.$(config.select).value == 'accept') {
- JX.DOM.show(JX.$(config.warnings));
- } else {
- JX.DOM.hide(JX.$(config.warnings));
- }
- }
-
-});

File Metadata

Mime Type
text/plain
Expires
Tue, Mar 25, 2:57 AM (4 w, 1 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7721225
Default Alt Text
D8475.id20087.diff (15 KB)

Event Timeline