1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-10 08:52:39 +01:00

Let PhabricatorSearchCheckboxesField survive saved query data with mismatched types

Summary:
Fixes T12851.

This should fix the error I'm seeing, which is:

* `Argument 1 passed to array_fuse() must be of the type array, boolean given`

There may be a better way to patch this up than overriding the getValue() method,
however.

Test Plan:
- Changed the default "Tags" filter to specify `true` instead of `array('self')`, then viewed that filter in the UI.
- Before patch: fatal.
- After patch: page loads. Note that `true` is not interpreted as `array('self')`, but the page isn't broken, which is a big improvement.

Reviewers: #blessed_reviewers, 20after4, chad, amckinley

Reviewed By: #blessed_reviewers, amckinley

Subscribers: Korvin

Maniphest Tasks: T12851

Differential Revision: https://secure.phabricator.com/D18132
This commit is contained in:
epriestley 2017-06-19 15:02:22 -07:00
parent 988a52cf1a
commit f704f905d2

View file

@ -18,6 +18,14 @@ final class PhabricatorSearchCheckboxesField
return array(); return array();
} }
protected function didReadValueFromSavedQuery($value) {
if (!is_array($value)) {
return array();
}
return $value;
}
protected function getValueFromRequest(AphrontRequest $request, $key) { protected function getValueFromRequest(AphrontRequest $request, $key) {
return $this->getListFromRequest($request, $key); return $this->getListFromRequest($request, $key);
} }