From 87f15f9ed65f0363344d56f701f2e511ee0e96a5 Mon Sep 17 00:00:00 2001 From: Roman Rizzi Date: Thu, 27 Feb 2020 14:10:14 -0300 Subject: [PATCH] FIX: When appending tags to restricted category posts, we need to pass the category id, or it won't work. (#9020) --- .../components/search-advanced-options.js.es6 | 11 ++++++++--- .../discourse/routes/full-page-search.js.es6 | 1 + .../discourse/templates/full-page-search.hbs | 3 ++- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/app/assets/javascripts/discourse/components/search-advanced-options.js.es6 b/app/assets/javascripts/discourse/components/search-advanced-options.js.es6 index 855fed4e28..eb61067167 100644 --- a/app/assets/javascripts/discourse/components/search-advanced-options.js.es6 +++ b/app/assets/javascripts/discourse/components/search-advanced-options.js.es6 @@ -219,6 +219,11 @@ export default Component.extend({ } }, + setCategory(category) { + this.set("searchedTerms.category", category); + this.set("category", category); + }, + setSearchedTermValueForCategory() { const match = this.filterBlocks(REGEXP_CATEGORY_PREFIX); if (match.length !== 0) { @@ -235,21 +240,21 @@ export default Component.extend({ (!existingInput && userInput) || (existingInput && userInput && existingInput.id !== userInput.id) ) - this.set("searchedTerms.category", userInput); + this.setCategory(userInput); } else if (isNaN(subcategories)) { const userInput = Category.findSingleBySlug(subcategories[0]); if ( (!existingInput && userInput) || (existingInput && userInput && existingInput.id !== userInput.id) ) - this.set("searchedTerms.category", userInput); + this.setCategory(userInput); } else { const userInput = Category.findById(subcategories[0]); if ( (!existingInput && userInput) || (existingInput && userInput && existingInput.id !== userInput.id) ) - this.set("searchedTerms.category", userInput); + this.setCategory(userInput); } } else this.set("searchedTerms.category", ""); }, diff --git a/app/assets/javascripts/discourse/routes/full-page-search.js.es6 b/app/assets/javascripts/discourse/routes/full-page-search.js.es6 index ca7906e109..6fe75cd83b 100644 --- a/app/assets/javascripts/discourse/routes/full-page-search.js.es6 +++ b/app/assets/javascripts/discourse/routes/full-page-search.js.es6 @@ -17,6 +17,7 @@ export default DiscourseRoute.extend({ context: {}, skip_context: {} }, + category: null, titleToken() { return I18n.t("search.results_page", { diff --git a/app/assets/javascripts/discourse/templates/full-page-search.hbs b/app/assets/javascripts/discourse/templates/full-page-search.hbs index 7a2cbbd999..e903c5cd02 100644 --- a/app/assets/javascripts/discourse/templates/full-page-search.hbs +++ b/app/assets/javascripts/discourse/templates/full-page-search.hbs @@ -36,7 +36,7 @@ {{#if canBulkSelect}} {{d-button icon="list" class="btn-default bulk-select" title="topics.bulk.toggle" action=(action "toggleBulkSelect")}} - {{bulk-select-button selected=selected action=(action "search")}} + {{bulk-select-button selected=selected category=category action=(action "search")}} {{/if}} {{#if bulkSelectEnabled}} @@ -211,6 +211,7 @@ {{search-advanced-options searchTerm=searchTerm isExpanded=true + category=category }} {{d-button