jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/373402 )

Change subject: RCFilters: Hide saved queries from anonymous users
......................................................................


RCFilters: Hide saved queries from anonymous users

Bug: T173992
Change-Id: I5acb9ca4dd20de83da5db42c7c9053fccb091da0
---
M resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
M 
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js
M resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterWrapperWidget.js
3 files changed, 55 insertions(+), 43 deletions(-)

Approvals:
  jenkins-bot: Verified
  Jforrester: Looks good to me, approved



diff --git a/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js 
b/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
index 209e7c8..9906119 100644
--- a/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
+++ b/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
@@ -212,21 +212,23 @@
                        this.filtersModel
                );
 
-               try {
-                       parsedSavedQueries = JSON.parse( mw.user.options.get( 
this.savedQueriesPreferenceName ) || '{}' );
-               } catch ( err ) {
-                       parsedSavedQueries = {};
-               }
+               if ( !mw.user.isAnon() ) {
+                       try {
+                               parsedSavedQueries = JSON.parse( 
mw.user.options.get( this.savedQueriesPreferenceName ) || '{}' );
+                       } catch ( err ) {
+                               parsedSavedQueries = {};
+                       }
 
-               // The queries are saved in a minimized state, so we need
-               // to send over the base state so the saved queries model
-               // can normalize them per each query item
-               this.savedQueriesModel.initialize(
-                       parsedSavedQueries,
-                       this._getBaseFilterState(),
-                       // This is for backwards compatibility - delete all 
excluded filter states
-                       Object.keys( 
this.filtersModel.getExcludedFiltersState() )
-               );
+                       // The queries are saved in a minimized state, so we 
need
+                       // to send over the base state so the saved queries 
model
+                       // can normalize them per each query item
+                       this.savedQueriesModel.initialize(
+                               parsedSavedQueries,
+                               this._getBaseFilterState(),
+                               // This is for backwards compatibility - delete 
all excluded filter states
+                               Object.keys( 
this.filtersModel.getExcludedFiltersState() )
+                       );
+               }
 
                // Check whether we need to load defaults.
                // We do this by checking whether the current URI query
@@ -238,7 +240,7 @@
                // or on request
                this.initializing = true;
                if (
-                       this.savedQueriesModel.getDefault() &&
+                       !mw.user.isAnon() && 
this.savedQueriesModel.getDefault() &&
                        !this.uriProcessor.doesQueryContainRecognizedParams( 
uri.query )
                ) {
                        // We have defaults from a saved query.
@@ -1039,7 +1041,7 @@
                var data, queryHighlights,
                        savedParams = {},
                        savedHighlights = {},
-                       defaultSavedQueryItem = 
this.savedQueriesModel.getItemByID( this.savedQueriesModel.getDefault() );
+                       defaultSavedQueryItem = !mw.user.isAnon() && 
this.savedQueriesModel.getItemByID( this.savedQueriesModel.getDefault() );
 
                if ( defaultSavedQueryItem ) {
                        data = defaultSavedQueryItem.getData();
diff --git 
a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js
 
b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js
index 3aa7161..b15b034 100644
--- 
a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js
+++ 
b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterTagMultiselectWidget.js
@@ -85,17 +85,20 @@
                        classes: [ 
'mw-rcfilters-ui-filterTagMultiselectWidget-resetButton' ]
                } );
 
-               this.saveQueryButton = new 
mw.rcfilters.ui.SaveFiltersPopupButtonWidget(
-                       this.controller,
-                       this.queriesModel
-               );
+               if ( !mw.user.isAnon() ) {
+                       this.saveQueryButton = new 
mw.rcfilters.ui.SaveFiltersPopupButtonWidget(
+                               this.controller,
+                               this.queriesModel
+                       );
 
-               this.saveQueryButton.$element.on( 'mousedown', function ( e ) { 
e.stopPropagation(); } );
+                       this.saveQueryButton.$element.on( 'mousedown', function 
( e ) { e.stopPropagation(); } );
 
-               this.saveQueryButton.connect( this, {
-                       click: 'onSaveQueryButtonClick',
-                       saveCurrent: 'setSavedQueryVisibility'
-               } );
+                       this.saveQueryButton.connect( this, {
+                               click: 'onSaveQueryButtonClick',
+                               saveCurrent: 'setSavedQueryVisibility'
+                       } );
+                       this.queriesModel.connect( this, { itemUpdate: 
'onSavedQueriesItemUpdate' } );
+               }
 
                this.emptyFilterMessage = new OO.ui.LabelWidget( {
                        label: mw.msg( 'rcfilters-empty-filter' ),
@@ -115,7 +118,6 @@
                        highlightChange: 'onModelHighlightChange'
                } );
                this.input.connect( this, { change: 'onInputChange' } );
-               this.queriesModel.connect( this, { itemUpdate: 
'onSavedQueriesItemUpdate' } );
 
                // The filter list and button should appear side by side 
regardless of how
                // wide the button is; the button also changes its width 
depending
@@ -129,12 +131,14 @@
                                        .addClass( 
'mw-rcfilters-ui-filterTagMultiselectWidget-cell-filters' )
                        );
 
-               rcFiltersRow.append(
-                       $( '<div>' )
-                               .addClass( 'mw-rcfilters-ui-cell' )
-                               .addClass( 
'mw-rcfilters-ui-filterTagMultiselectWidget-cell-save' )
-                               .append( this.saveQueryButton.$element )
-               );
+               if ( !mw.user.isAnon() ) {
+                       rcFiltersRow.append(
+                               $( '<div>' )
+                                       .addClass( 'mw-rcfilters-ui-cell' )
+                                       .addClass( 
'mw-rcfilters-ui-filterTagMultiselectWidget-cell-save' )
+                                       .append( this.saveQueryButton.$element )
+                       );
+               }
 
                // Add a selector at the right of the input
                this.viewsSelectWidget = new OO.ui.ButtonSelectWidget( {
@@ -379,6 +383,10 @@
         * Set the visibility of the saved query button
         */
        
mw.rcfilters.ui.FilterTagMultiselectWidget.prototype.setSavedQueryVisibility = 
function () {
+               if ( mw.user.isAnon() ) {
+                       return;
+               }
+
                this.matchingQuery = 
this.controller.findQueryMatchingCurrentState();
 
                this.savedQueryTitle.setLabel(
diff --git 
a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterWrapperWidget.js 
b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterWrapperWidget.js
index c3af7c5..b57f5d7 100644
--- 
a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterWrapperWidget.js
+++ 
b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FilterWrapperWidget.js
@@ -78,18 +78,20 @@
                                this.dateWidget.$element
                        );
 
-               this.savedLinksListWidget = new 
mw.rcfilters.ui.SavedLinksListWidget(
-                       this.controller,
-                       this.queriesModel,
-                       { $overlay: this.$overlay }
-               );
+               if ( !mw.user.isAnon() ) {
+                       this.savedLinksListWidget = new 
mw.rcfilters.ui.SavedLinksListWidget(
+                               this.controller,
+                               this.queriesModel,
+                               { $overlay: this.$overlay }
+                       );
 
-               this.$topRow.append(
-                       $( '<div>' )
-                               .addClass( 'mw-rcfilters-ui-cell' )
-                               .addClass( 
'mw-rcfilters-ui-filterWrapperWidget-top-savedLinks' )
-                               .append( this.savedLinksListWidget.$element )
-               );
+                       this.$topRow.append(
+                               $( '<div>' )
+                                       .addClass( 'mw-rcfilters-ui-cell' )
+                                       .addClass( 
'mw-rcfilters-ui-filterWrapperWidget-top-savedLinks' )
+                                       .append( 
this.savedLinksListWidget.$element )
+                       );
+               }
 
                if ( mw.rcfilters.featureFlags.liveUpdate ) {
                        $bottom.append( this.liveUpdateButton.$element );

-- 
To view, visit https://gerrit.wikimedia.org/r/373402
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I5acb9ca4dd20de83da5db42c7c9053fccb091da0
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Mooeypoo <[email protected]>
Gerrit-Reviewer: Jack Phoenix <[email protected]>
Gerrit-Reviewer: Jforrester <[email protected]>
Gerrit-Reviewer: TTO <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to