diff --git a/assets/javascripts/discourse/connectors/category-custom-settings/set-chatbot-upsert.gjs b/assets/javascripts/discourse/connectors/category-custom-settings/set-chatbot-upsert.gjs new file mode 100644 index 0000000..07e01b2 --- /dev/null +++ b/assets/javascripts/discourse/connectors/category-custom-settings/set-chatbot-upsert.gjs @@ -0,0 +1,30 @@ +import Component from "@glimmer/component"; +import { trustHTML } from "@ember/template"; +import { i18n } from "discourse-i18n"; + +export default class SetChatbotUpsert extends Component { + static shouldRender(args, context) { + return context.siteSettings.enable_simplified_category_creation; + } + + get additionalPromptLabel() { + return trustHTML(i18n("chatbot.category.auto_response_additional_prompt")); + } + + +} diff --git a/assets/javascripts/discourse/connectors/category-custom-settings/set-chatbot.gjs b/assets/javascripts/discourse/connectors/category-custom-settings/set-chatbot.gjs index 38edc91..f5b8d44 100644 --- a/assets/javascripts/discourse/connectors/category-custom-settings/set-chatbot.gjs +++ b/assets/javascripts/discourse/connectors/category-custom-settings/set-chatbot.gjs @@ -5,6 +5,10 @@ import { trustHTML } from "@ember/template"; import { i18n } from "discourse-i18n"; export default class SetChatbot extends Component { + static shouldRender(args, context) { + return !context.siteSettings.enable_simplified_category_creation; + } + constructor() { super(...arguments); this.args.outletArgs.category.custom_fields ||= {}; diff --git a/plugin.rb b/plugin.rb index 8f10e36..8f01d34 100644 --- a/plugin.rb +++ b/plugin.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # name: discourse-chatbot # about: a plugin that allows you to have a conversation with a configurable chatbot in Chat, Topics and Private Messages -# version: 1.7.4 +# version: 1.7.5 # authors: merefield # url: https://github.com/merefield/discourse-chatbot diff --git a/spec/system/category_chatbot_settings_spec.rb b/spec/system/category_chatbot_settings_spec.rb new file mode 100644 index 0000000..5e1cb96 --- /dev/null +++ b/spec/system/category_chatbot_settings_spec.rb @@ -0,0 +1,31 @@ +# frozen_string_literal: true + +require "rails_helper" + +RSpec.describe "Category chatbot settings" do + fab!(:admin) + fab!(:category, :category_with_definition) + + let(:category_page) { PageObjects::Pages::Category.new } + + before do + SiteSetting.chatbot_enabled = true + SiteSetting.enable_simplified_category_creation = true + + sign_in(admin) + end + + it "saves chatbot custom fields from the simplified category settings form" do + category_page.visit_settings(category) + + find( + ".form-kit__field[data-name='custom_fields.chatbot_auto_response_additional_prompt']", + ).find(".form-kit__control-textarea").fill_in(with: "Use the category-specific response tone.") + + category_page.save_settings + + expect(category.reload.custom_fields["chatbot_auto_response_additional_prompt"]).to eq( + "Use the category-specific response tone.", + ) + end +end