ChangesListStringOptionsGroup::modifyQuery checks for ALL and
behaves accordingly, but isSelected() didn't. This broke conflict
detection when an entire non-full-coverage group was selected.
Bug: T162630
Change-Id: Ie241744201380ca5450d5edbb3eba971194f3df4
* @inheritdoc
*/
public function isSelected( FormOptions $opts ) {
- $values = explode(
- ChangesListStringOptionsFilterGroup::SEPARATOR,
- $opts[ $this->getGroup()->getName() ]
- );
+ $option = $opts[ $this->getGroup()->getName() ];
+ if ( $option === ChangesListStringOptionsFilterGroup::ALL ) {
+ return true;
+ }
+
+ $values = explode( ChangesListStringOptionsFilterGroup::SEPARATOR, $option );
return in_array( $this->getName(), $values );
}
}