mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-22 14:52:41 +01:00
Fix Pholio RuntimeException: Undefined variable $dictionary (when adding an empty Inline Comment)
Summary: Trying to create an empty inline comment in a Pholio mock, `$dictionary` does not get set as both `strlen($v_content)` and `$inline->getID()` are not true. Thus show a more explanatory error message ('Comment cannot be empty.') to users instead of exposing internal variable names. ``` EXCEPTION: (RuntimeException) Undefined variable $dictionary at [<arcanist>/src/error/PhutilErrorHandler.php:261] arcanist(head=master, ref.master=b325304b6e52), phorge(head=master, ref.master=980293b707a0) #0 <#2> PhutilErrorHandler::handleError(integer, string, string, integer) called at [<phorge>/src/applications/pholio/controller/PholioInlineController.php:117] ``` Closes T15456 Test Plan: After applying this change, try to add an empty Inline Comment in a Pholio mock. See that the error message is now "Comment cannot be empty." instead of "Undefined variable $dictionary". Reviewers: O1 Blessed Committers, valerio.bozzolan Reviewed By: O1 Blessed Committers, valerio.bozzolan Subscribers: speck, tobiaswiese, valerio.bozzolan, Matthew, Cigaryno Maniphest Tasks: T15456 Differential Revision: https://we.phorge.it/D25281
This commit is contained in:
parent
1c59b65421
commit
7c1487e4dc
1 changed files with 7 additions and 1 deletions
|
@ -102,6 +102,7 @@ final class PholioInlineController extends PholioController {
|
||||||
->addCancelButton($mock_uri, pht('Close'));
|
->addCancelButton($mock_uri, pht('Close'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$error = null;
|
||||||
if ($request->isFormPost()) {
|
if ($request->isFormPost()) {
|
||||||
$v_content = $request->getStr('content');
|
$v_content = $request->getStr('content');
|
||||||
|
|
||||||
|
@ -112,9 +113,13 @@ final class PholioInlineController extends PholioController {
|
||||||
} else if ($inline->getID()) {
|
} else if ($inline->getID()) {
|
||||||
$inline->delete();
|
$inline->delete();
|
||||||
$dictionary = array();
|
$dictionary = array();
|
||||||
|
} else {
|
||||||
|
$error = pht('Comment cannot be empty.');
|
||||||
}
|
}
|
||||||
|
|
||||||
return id(new AphrontAjaxResponse())->setContent($dictionary);
|
if ($error === null) {
|
||||||
|
return id(new AphrontAjaxResponse())->setContent($dictionary);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
switch ($mode) {
|
switch ($mode) {
|
||||||
|
@ -151,6 +156,7 @@ final class PholioInlineController extends PholioController {
|
||||||
->setUser($viewer)
|
->setUser($viewer)
|
||||||
->setName('content')
|
->setName('content')
|
||||||
->setLabel(pht('Comment'))
|
->setLabel(pht('Comment'))
|
||||||
|
->setError($error)
|
||||||
->setValue($v_content));
|
->setValue($v_content));
|
||||||
|
|
||||||
return $this->newDialog()
|
return $this->newDialog()
|
||||||
|
|
Loading…
Reference in a new issue