From ba401f0e52cc150d44c77454cf4d095d7e8128e8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 24 Mar 2026 14:51:12 +0000 Subject: [PATCH] Add user-friendly toggle for auto-rule creation prompts Co-authored-by: jjmata <187772+jjmata@users.noreply.github.com> Agent-Logs-Url: https://github.com/we-promise/sure/sessions/3fa633b4-7cdf-4320-8e6d-83e2cb2c5e49 --- app/controllers/users_controller.rb | 2 +- app/models/user.rb | 9 ++++++++ app/views/settings/preferences/show.html.erb | 14 ++++++++++++ config/locales/views/settings/en.yml | 4 ++++ test/models/user_test.rb | 24 ++++++++++++++++++++ 5 files changed, 52 insertions(+), 1 deletion(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index fd0c33f6e..6d0af6939 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -108,7 +108,7 @@ class UsersController < ApplicationController def user_params params.require(:user).permit( :first_name, :last_name, :email, :profile_image, :redirect_to, :delete_profile_image, :onboarded_at, - :show_sidebar, :default_period, :default_account_order, :show_ai_sidebar, :ai_enabled, :theme, :set_onboarding_preferences_at, :set_onboarding_goals_at, :locale, + :show_sidebar, :default_period, :default_account_order, :show_ai_sidebar, :ai_enabled, :theme, :set_onboarding_preferences_at, :set_onboarding_goals_at, :locale, :rule_prompts_enabled, family_attributes: [ :name, :currency, :country, :date_format, :timezone, :locale, :month_start_day, :moniker, :id ], goals: [] ) diff --git a/app/models/user.rb b/app/models/user.rb index 4cb17c6bd..f985f63f8 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -311,6 +311,15 @@ class User < ApplicationRecord end end + # Virtual attribute for UI: inverts rule_prompts_disabled for a more intuitive toggle + def rule_prompts_enabled + !rule_prompts_disabled + end + + def rule_prompts_enabled=(value) + self.rule_prompts_disabled = !ActiveModel::Type::Boolean.new.cast(value) + end + # Transactions preferences management def transactions_section_collapsed?(section_key) preferences&.dig("transactions_collapsed_sections", section_key) == true diff --git a/app/views/settings/preferences/show.html.erb b/app/views/settings/preferences/show.html.erb index eee21b87e..ef7e51e2e 100644 --- a/app/views/settings/preferences/show.html.erb +++ b/app/views/settings/preferences/show.html.erb @@ -56,3 +56,17 @@ <% end %> <% end %> + +<%= settings_section title: t(".automation_title"), subtitle: t(".automation_subtitle") do %> +
<%= t(".rule_prompts_label") %>
+<%= t(".rule_prompts_hint") %>
+