diff --git a/addons/knowledge/static/src/js/knowledge_renderers.js b/addons/knowledge/static/src/js/knowledge_renderers.js index 29190796a15..716477e42b8 100644 --- a/addons/knowledge/static/src/js/knowledge_renderers.js +++ b/addons/knowledge/static/src/js/knowledge_renderers.js @@ -121,21 +121,22 @@ const KnowledgeArticleFormRenderer = FormRenderer.extend(KnowledgeTreePanelMixin }); // Allow drag and drop between sections: - - const selectors = [ - 'section[data-section="workspace"] .o_tree', - 'section[data-section="shared"] .o_tree', + this.$('section[data-section="workspace"] .o_tree').nestedSortable( + 'option', + 'connectWith', 'section[data-section="private"] .o_tree' - ]; - - selectors.forEach(selector => { - // Note: An element can be connected to one selector at most. - this.$(selector).nestedSortable( - 'option', - 'connectWith', - `.o_tree:not(${selector})` - ); - }); + ); + this.$('section[data-section="private"] .o_tree').nestedSortable( + 'option', + 'connectWith', + 'section[data-section="workspace"] .o_tree' + ); + // connectWith both workspace and private sections: + this.$('section[data-section="shared"] .o_tree').nestedSortable( + 'option', + 'connectWith', + 'section[data-section="workspace"] .o_tree, section[data-section="private"] .o_tree' + ); }, /** @@ -184,7 +185,7 @@ const KnowledgeArticleFormRenderer = FormRenderer.extend(KnowledgeTreePanelMixin const { data } = this.state; const $dropdown = this.$('.o_knowledge_icon > .o_article_emoji_dropdown'); $dropdown.attr('data-article-id', this.state.res_id); - $dropdown.find('.o_article_emoji').text(data.icon); + $dropdown.find('.o_article_emoji').text(data.icon || ''); }, /** diff --git a/addons/knowledge/static/src/webclient/commands/knowledge_providers.js b/addons/knowledge/static/src/webclient/commands/knowledge_providers.js index 9ab70fc26fe..ad5defb05fb 100644 --- a/addons/knowledge/static/src/webclient/commands/knowledge_providers.js +++ b/addons/knowledge/static/src/webclient/commands/knowledge_providers.js @@ -5,6 +5,7 @@ import { _lt } from "@web/core/l10n/translation"; import { registry } from "@web/core/registry"; import { HotkeyCommandItem } from "@web/core/commands/default_providers"; import { splitCommandName } from "@web/core/commands/command_palette"; +import { sprintf } from '@web/core/utils/strings'; const { Component } = owl; @@ -60,7 +61,7 @@ commandProviderRegistry.add("knowledge", { const articleId = await Component.env.services.rpc({ model: 'knowledge.article', method: 'article_create', - args: [[options.searchValue]], + args: [options.searchValue], kwargs: { is_private: true }, @@ -72,7 +73,7 @@ commandProviderRegistry.add("knowledge", { } }); }, - name: "No Article found. Create \"" + options.searchValue + "\"", + name: sprintf(_lt('No Article found. Create "%s"'), options.searchValue), props: { articleName: options.searchValue, }, @@ -106,20 +107,14 @@ commandProviderRegistry.add("knowledge", { result.push({ Component: KnowledgeExtraCommand, action() { - env.services.action.doAction({ - type: "ir.actions.act_window", - res_model: "knowledge.article", - search_view_id: [false, "search"], - views: [[false, "list"]], - target: "current", - context: { + env.services.action.doAction('knowledge.knowledge_article_action', { + additionalContext: { search_default_name: options.searchValue, }, - name: "Search Articles", - }) + }); }, category: "knowledge_extra", - name: "Advanced Search", + name: _lt("Advanced Search"), props: { hotkey: "alt+B", }, diff --git a/addons/knowledge/views/knowledge_article_views.xml b/addons/knowledge/views/knowledge_article_views.xml index 3b092a344c6..8b9d2d5aaee 100644 --- a/addons/knowledge/views/knowledge_article_views.xml +++ b/addons/knowledge/views/knowledge_article_views.xml @@ -228,7 +228,7 @@ knowledge.article.view.tree knowledge.article - + diff --git a/once b/once deleted file mode 100644 index e69de29bb2d..00000000000