mirror of
https://github.com/we-promise/sure.git
synced 2026-06-05 10:49:01 +00:00
Allow disabling AI assistant (#146)
* Test disabling AI assistant * Leave "Maybe" out of it * It's "sure" now
This commit is contained in:
@@ -21,9 +21,11 @@ class UsersController < ApplicationController
|
||||
@user.update!(user_params.except(:redirect_to, :delete_profile_image))
|
||||
@user.profile_image.purge if should_purge_profile_image?
|
||||
|
||||
# Add a special notice if AI was just enabled
|
||||
# Add a special notice if AI was just enabled or disabled
|
||||
notice = if !was_ai_enabled && @user.ai_enabled
|
||||
"AI Assistant has been enabled successfully."
|
||||
elsif was_ai_enabled && !@user.ai_enabled
|
||||
"AI Assistant has been disabled."
|
||||
else
|
||||
t(".success")
|
||||
end
|
||||
@@ -72,6 +74,8 @@ class UsersController < ApplicationController
|
||||
redirect_to goals_onboarding_path
|
||||
when "trial"
|
||||
redirect_to trial_onboarding_path
|
||||
when "ai_prompts"
|
||||
redirect_to settings_ai_prompts_path, notice: notice
|
||||
else
|
||||
redirect_to settings_profile_path, notice: notice
|
||||
end
|
||||
|
||||
@@ -1,5 +1,18 @@
|
||||
<%= content_for :page_title, t(".page_title") %>
|
||||
|
||||
<% if Current.user.ai_enabled? %>
|
||||
<div class="mb-4 flex justify-end">
|
||||
<%= render DS::Button.new(
|
||||
text: t(".disable_ai"),
|
||||
href: user_path(Current.user),
|
||||
method: :patch,
|
||||
params: { user: { ai_enabled: false, redirect_to: "ai_prompts" } },
|
||||
data: { turbo: false },
|
||||
variant: :destructive
|
||||
) %>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<div class="bg-container rounded-xl shadow-border-xs p-4">
|
||||
<div class="rounded-xl bg-container-inset space-y-1 p-1">
|
||||
<div class="flex items-center gap-1.5 px-4 py-2 text-xs font-medium text-secondary">
|
||||
|
||||
@@ -5,6 +5,7 @@ en:
|
||||
show:
|
||||
page_title: AI Prompts
|
||||
openai_label: OpenAI
|
||||
disable_ai: Disable AI Assistant
|
||||
prompt_instructions: Prompt Instructions
|
||||
main_system_prompt:
|
||||
title: Main System Prompt
|
||||
|
||||
19
test/system/settings/ai_prompts_test.rb
Normal file
19
test/system/settings/ai_prompts_test.rb
Normal file
@@ -0,0 +1,19 @@
|
||||
require "application_system_test_case"
|
||||
|
||||
class Settings::AiPromptsTest < ApplicationSystemTestCase
|
||||
setup do
|
||||
@user = users(:family_admin)
|
||||
@user.update!(ai_enabled: true)
|
||||
login_as @user
|
||||
end
|
||||
|
||||
test "user can disable ai assistant" do
|
||||
visit settings_ai_prompts_path
|
||||
|
||||
click_button "Disable AI Assistant"
|
||||
|
||||
assert_current_path settings_ai_prompts_path
|
||||
@user.reload
|
||||
assert_not @user.ai_enabled?
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user