mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-08-06 14:05:20 +02:00
Multi-step account forms + clearer balance editing (#2427)
* Initial multi-step property form * Improve form structure, add optional tooltip help icons to form fields * Add basic inline alert component * Clean up and improve property form lifecycle * Implement Account status concept * Lint fixes * Remove whitespace * Balance editing, scope updates for account * Passing tests * Fix brakeman warning * Remove stale columns * data constraint tweaks * Redundant property
This commit is contained in:
parent
ba7e8d3893
commit
662f2c04ce
66 changed files with 1036 additions and 427 deletions
41
db/migrate/20250701161640_add_account_status.rb
Normal file
41
db/migrate/20250701161640_add_account_status.rb
Normal file
|
@ -0,0 +1,41 @@
|
|||
class AddAccountStatus < ActiveRecord::Migration[7.2]
|
||||
def up
|
||||
add_column :accounts, :status, :string, default: "active"
|
||||
change_column_null :entries, :amount, false
|
||||
|
||||
# Migrate existing data
|
||||
execute <<-SQL
|
||||
UPDATE accounts
|
||||
SET status = CASE
|
||||
WHEN scheduled_for_deletion = true THEN 'pending_deletion'
|
||||
WHEN is_active = true THEN 'active'
|
||||
WHEN is_active = false THEN 'disabled'
|
||||
ELSE 'draft'
|
||||
END
|
||||
SQL
|
||||
|
||||
remove_column :accounts, :is_active
|
||||
remove_column :accounts, :scheduled_for_deletion
|
||||
end
|
||||
|
||||
def down
|
||||
add_column :accounts, :is_active, :boolean, default: true, null: false
|
||||
add_column :accounts, :scheduled_for_deletion, :boolean, default: false
|
||||
|
||||
# Restore the original boolean fields based on status
|
||||
execute <<-SQL
|
||||
UPDATE accounts
|
||||
SET is_active = CASE
|
||||
WHEN status = 'active' THEN true
|
||||
WHEN status IN ('disabled', 'pending_deletion') THEN false
|
||||
ELSE false
|
||||
END,
|
||||
scheduled_for_deletion = CASE
|
||||
WHEN status = 'pending_deletion' THEN true
|
||||
ELSE false
|
||||
END
|
||||
SQL
|
||||
|
||||
remove_column :accounts, :status
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue