From: Bartosz DziewoƄski Date: Wed, 22 Jul 2015 00:16:20 +0000 (+0200) Subject: mw.widgets.TitleInputWidget: Don't bypass namespace choice with redirects X-Git-Tag: 1.31.0-rc.0~10683^2 X-Git-Url: http://git.cyclocoop.org/url?a=commitdiff_plain;h=d173acb4643ea85d7d87efb36255f5b3ea6d15a7;p=lhc%2Fweb%2Fwiklou.git mw.widgets.TitleInputWidget: Don't bypass namespace choice with redirects If 'namespace' was not null, and 'showRedirectTargets' was true (the default), pages from namespaces other than the chosen one could appear in the suggestions when a cross-namespace redirect from chosen to other namespace was encountered. Prevent this. Change-Id: Id863d002d598dc2429919e88dd2dde9e9836bb3d --- diff --git a/resources/src/mediawiki.widgets/mw.widgets.TitleInputWidget.js b/resources/src/mediawiki.widgets/mw.widgets.TitleInputWidget.js index a9e4384c50..66b009f3c5 100644 --- a/resources/src/mediawiki.widgets/mw.widgets.TitleInputWidget.js +++ b/resources/src/mediawiki.widgets/mw.widgets.TitleInputWidget.js @@ -201,7 +201,12 @@ imageUrl: OO.getProp( suggestionPage, 'thumbnail', 'source' ), description: OO.getProp( suggestionPage, 'terms', 'description' ) }; - titles.push( suggestionPage.title ); + + // Throw away pages from wrong namespaces. This can happen when 'showRedirectTargets' is true + // and we encounter a cross-namespace redirect. + if ( this.namespace === null || this.namespace === suggestionPage.ns ) { + titles.push( suggestionPage.title ); + } redirects = redirectsTo[suggestionPage.title] || []; for ( i = 0, len = redirects.length; i < len; i++ ) {