Skip to content

Commit

Permalink
Merge pull request #778 from Martii/makeUserScriptListsLibraryTriState
Browse files Browse the repository at this point in the history
Finish enabling hidden QSP in User Script List pages

Auto-merge
  • Loading branch information
Martii committed Oct 21, 2015
2 parents 1aeb137 + 1a48a6e commit 66d5fcd
Show file tree
Hide file tree
Showing 4 changed files with 34 additions and 11 deletions.
4 changes: 2 additions & 2 deletions controllers/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -136,15 +136,15 @@ exports.home = function (aReq, aRes) {
if (options.librariesOnly) {
options.pageHeading = !!options.isFlagged ? 'Flagged Libraries' : 'Libraries';
} else {
options.pageHeading = !!options.isFlagged ? 'Flagged Scripts' : 'Scripts';
options.pageHeading = !!options.isFlagged ? 'Flagged Userscripts' : 'Scripts';
}

// Page metadata
if (!!options.isFlagged) {
if (options.librariesOnly) {
pageMetadata(options, ['Flagged Libraries', 'Moderation']);
} else {
pageMetadata(options, ['Flagged Scripts', 'Moderation']);
pageMetadata(options, ['Flagged Userscripts', 'Moderation']);
}
}
}
Expand Down
26 changes: 21 additions & 5 deletions controllers/user.js
Original file line number Diff line number Diff line change
Expand Up @@ -474,7 +474,19 @@ exports.userScriptListPage = function (aReq, aRes, aNext) {
var user = options.user = modelParser.parseUser(aUserData);
options.isYou = authedUser && user && authedUser._id == user._id;

options.librariesOnly = aReq.query.library !== undefined;
var librariesOnly = null;

switch (aReq.query.library) {
case 'true': // List just libraries
options.includeLibraries = true;
librariesOnly = true;
break;
case 'false': // List just userscripts
options.excludeLibraries = true;
// fallthrough
default: // List userscripts and libraries
librariesOnly = false;
}

// Page metadata
pageMetadata(options, [user.name, 'Users']);
Expand All @@ -492,16 +504,20 @@ exports.userScriptListPage = function (aReq, aRes, aNext) {
// scriptListQuery: author=user
scriptListQuery.find({ _authorId: user._id });

if (options.includeLibraries) { // List just Libraries and not Userscripts
// scriptListQuery: isLib
modelQuery.findOrDefaultToNull(scriptListQuery, 'isLib', librariesOnly, false);
}

// scriptListQuery: Defaults
if (options.librariesOnly) {
// scriptListQuery: isLib
modelQuery.findOrDefaultToNull(scriptListQuery, 'isLib', options.librariesOnly, false);
if (options.excludeLibraries) { // List just Userscripts and not Libraries
// scriptListQuery: isLib
modelQuery.findOrDefaultToNull(scriptListQuery, 'isLib', librariesOnly, false);

// Libraries
modelQuery.applyLibraryListQueryDefaults(scriptListQuery, options, aReq);
} else {
// Scripts (all including libraries)
// List Userscripts and Libraries
modelQuery.applyScriptListQueryDefaults(scriptListQuery, options, aReq);
}

Expand Down
13 changes: 10 additions & 3 deletions views/includes/flagAdminToolFlaggedFilters.html
Original file line number Diff line number Diff line change
@@ -1,6 +1,13 @@
<h3>Filters</h3>
<div class="list-group">
<a class="list-group-item list-group-item-info" href="?flagged=none{{#searchBarValue}}&q={{searchBarValue}}{{/searchBarValue}}{{#librariesOnly}}&library=true{{/librariesOnly}}"><i class="fa fa-fw fa-times"></i> Clear Filter</a>
<a class="list-group-item{{#filterCritical}} active{{/filterCritical}}" href="?flagged=critical{{#searchBarValue}}&q={{searchBarValue}}{{/searchBarValue}}{{#librariesOnly}}&library=true{{/librariesOnly}}"><i class="fa fa-fw fa-flag-o"></i> Critical Flags</a>
<a class="list-group-item{{#filterAbsolute}} active{{/filterAbsolute}}" href="?flagged=absolute{{#searchBarValue}}&q={{searchBarValue}}{{/searchBarValue}}{{#librariesOnly}}&library=true{{/librariesOnly}}"><i class="fa fa-fw fa-flag"></i> Absolute Flags</a>
{{#isUserScriptListPage}}
<a class="list-group-item list-group-item-info" href="?flagged=none{{#searchBarValue}}&q={{searchBarValue}}{{/searchBarValue}}{{#includeLibraries}}&library=true{{/includeLibraries}}{{#excludeLibraries}}&library=false{{/excludeLibraries}}"><i class="fa fa-fw fa-times"></i> Clear Filter</a>
<a class="list-group-item{{#filterCritical}} active{{/filterCritical}}" href="?flagged=critical{{#searchBarValue}}&q={{searchBarValue}}{{/searchBarValue}}{{#includeLibraries}}&library=true{{/includeLibraries}}{{#excludeLibraries}}&library=false{{/excludeLibraries}}"><i class="fa fa-fw fa-flag-o"></i> Critical Flags</a>
<a class="list-group-item{{#filterAbsolute}} active{{/filterAbsolute}}" href="?flagged=absolute{{#searchBarValue}}&q={{searchBarValue}}{{/searchBarValue}}{{#includeLibraries}}&library=true{{/includeLibraries}}{{#excludeLibraries}}&library=false{{/excludeLibraries}}"><i class="fa fa-fw fa-flag"></i> Absolute Flags</a>
{{/isUserScriptListPage}}
{{^isUserScriptListPage}}
<a class="list-group-item list-group-item-info" href="?flagged=none{{#searchBarValue}}&q={{searchBarValue}}{{/searchBarValue}}{{#librariesOnly}}&library=true{{/librariesOnly}}"><i class="fa fa-fw fa-times"></i> Clear Filter</a>
<a class="list-group-item{{#filterCritical}} active{{/filterCritical}}" href="?flagged=critical{{#searchBarValue}}&q={{searchBarValue}}{{/searchBarValue}}{{#librariesOnly}}&library=true{{/librariesOnly}}"><i class="fa fa-fw fa-flag-o"></i> Critical Flags</a>
<a class="list-group-item{{#filterAbsolute}} active{{/filterAbsolute}}" href="?flagged=absolute{{#searchBarValue}}&q={{searchBarValue}}{{/searchBarValue}}{{#librariesOnly}}&library=true{{/librariesOnly}}"><i class="fa fa-fw fa-flag"></i> Absolute Flags</a>
{{/isUserScriptListPage}}
</div>
2 changes: 1 addition & 1 deletion views/pages/modPage.html
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ <h3>Flagged Items</h3>
<p>These are items over their threshold.</p>
<div class="list-group">
<a href="/?flagged={{#isAdmin}}critical{{/isAdmin}}{{^isAdmin}}true{{/isAdmin}}" class="list-group-item">
<i class="fa fa-fw fa-file-code-o"></i> <i class="fa fa-fw fa-flag"></i> Flagged Scripts
<i class="fa fa-fw fa-file-code-o"></i> <i class="fa fa-fw fa-flag"></i> Flagged Userscripts
</a>
<a href="/?library=true&flagged={{#isAdmin}}critical{{/isAdmin}}{{^isAdmin}}true{{/isAdmin}}" class="list-group-item">
<i class="fa fa-fw fa-file-excel-o"></i> <i class="fa fa-fw fa-flag"></i> Flagged Libraries
Expand Down

0 comments on commit 66d5fcd

Please sign in to comment.