Skip to content

Commit

Permalink
Merge pull request #491 from Martii/Issue-181FixSomeModSearching
Browse files Browse the repository at this point in the history
Issue 181 fix some mod searching

Auto-merge ... confirmation of theory versus test results... this is a fix and generating a new refactor issue.
  • Loading branch information
Martii committed Dec 9, 2014
2 parents f1c69fe + 4bcc198 commit 09b509c
Showing 1 changed file with 22 additions and 12 deletions.
34 changes: 22 additions & 12 deletions libs/modelQuery.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,9 @@ exports.findOrDefaultIfNull = findOrDefaultIfNull;
var orderDirs = ['asc', 'desc'];
var parseModelListSort = function (aModelListQuery, aOrderBy, aOrderDir, aDefaultSortFn) {
if (aOrderBy) {
if (_.isUndefined(aOrderDir) || !_.contains(orderDirs, aOrderDir))
if (_.isUndefined(aOrderDir) || !_.contains(orderDirs, aOrderDir)) {
aOrderDir = 'asc';
}

if (_.has(aModelListQuery.model.schema.paths, aOrderBy)) {
var sortBy = {};
Expand Down Expand Up @@ -135,7 +136,9 @@ var parseRemovedItemSearchQuery = function (aRemovedItemListQuery, aQuery) {
exports.parseCommentSearchQuery = parseCommentSearchQuery;

exports.applyDiscussionCategoryFilter = function (aDiscussionListQuery, aOptions, aCatergorySlug) {
if (aCatergorySlug === 'all') { return; }
if (aCatergorySlug === 'all') {
return;
}
if (aCatergorySlug === 'issues') {
aDiscussionListQuery.find({ issue: true });
} else {
Expand All @@ -148,15 +151,20 @@ var applyModelListQueryFlaggedFilter = function (aModelListQuery, aOptions, aFla
if (aOptions.isYou || aOptions.isMod) {
// Mod
if (aFlaggedQuery) {
if (aFlaggedQuery == 'true') {
aOptions.isFlagged = true;
if (aFlaggedQuery === 'true') {
if (!_.findWhere(aOptions.searchBarFormHiddenVariables, { name: 'flagged' })) {
aOptions.isFlagged = true;
aOptions.searchBarFormHiddenVariables.push({ name: 'flagged', value: 'true' });
aOptions.searchBarPlaceholder = aOptions.searchBarPlaceholder.replace(/^Search /, 'Search Flagged ');
}
aModelListQuery.and({ flags: { $gt: 0 } });
} else if (aFlaggedQuery == false) {
// aModelListQuery.and({$or: [
// {flags: {$exists: false}},
// {flags: {$lte: 0} },
// ]});
}
} else {
// Remove `flagged` form variable if present
aOptions.searchBarFormHiddenVariables = _.without(
aOptions.searchBarFormHiddenVariables,
_.findWhere(aOptions.searchBarFormHiddenVariables, { name: 'flagged', value: 'true' })
);
}
} else {
// Hide
Expand All @@ -172,16 +180,18 @@ var applyModelListQueryDefaults = function (aModelListQuery, aOptions, aReq, aDe
if (aReq.query.q) {
aOptions.searchBarValue = aReq.query.q;

if (aDefaultOptions.parseSearchQueryFn)
if (aDefaultOptions.parseSearchQueryFn) {
aDefaultOptions.parseSearchQueryFn(aModelListQuery, aReq.query.q);
}
}
aOptions.searchBarFormAction = aDefaultOptions.searchBarFormAction || '';
aOptions.searchBarPlaceholder = aDefaultOptions.searchBarPlaceholder || 'Search';
aOptions.searchBarFormHiddenVariables = aDefaultOptions.searchBarFormHiddenVariables || [];

// flagged
if (aDefaultOptions.filterFlaggedItems)
if (aDefaultOptions.filterFlaggedItems) {
applyModelListQueryFlaggedFilter(aModelListQuery, aOptions, aReq.query.flagged);
}

// Sort
parseModelListSort(aModelListQuery, aReq.query.orderBy, aReq.query.orderDir, function () {
Expand Down Expand Up @@ -246,7 +256,7 @@ var libraryListQueryDefaults = {
searchBarPlaceholder: 'Search Libraries',
searchBarFormAction: '/',
searchBarFormHiddenVariables: [
{ name: 'library', value: 'true' },
{ name: 'library', value: 'true' }
],
filterFlaggedItems: true
};
Expand Down

0 comments on commit 09b509c

Please sign in to comment.