mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-08-02 20:15:22 +02:00
Implement transaction category management (#688)
* Singularize "transaction" in transaction-nested paths * Refactor category badge partial * Let modal content define its width * Add contectual menu to transactions index * Add null_category helper * Implement category edits * Fix inline transaction category badges * Fix typos in system test paths * Add missing translations * Add decoration to color select controller * Wire up transaction category creation * Fix indent in color-select-controller * Add button for clearing category from transaction * Implement category deletions * Fix existing modal sizes * Use null_category in a single place * Remove anemic method in category deletion controller * reassign_and_destroy -> reassign_transactions_then_destroy * Fix i18n * Remove destroy action from CategoriesController callbacks * transactions_merchant -> transaction_merchant * reassign_transactions_then_destroy -> replace_and_destroy * Add transaction category CRUD tests * Add presence check for transaction_id * Check replacement_category_id presence * Test Transaction::Category#replace_and_destroy!
This commit is contained in:
parent
dc024d63b0
commit
4c5f8263bc
40 changed files with 580 additions and 145 deletions
|
@ -3,12 +3,40 @@ en:
|
|||
transactions:
|
||||
categories:
|
||||
create:
|
||||
error: Error creating transaction category
|
||||
success: New transaction category created successfully
|
||||
destroy:
|
||||
success: Transaction category deleted successfully
|
||||
deletions:
|
||||
create:
|
||||
success: Transaction category deleted successfully
|
||||
new:
|
||||
category: Category
|
||||
delete_and_leave_uncategorized: Delete "%{category_name}" and leave uncategorized
|
||||
delete_and_recategorize: Delete "%{category_name}" and assign new category
|
||||
delete_category: Delete category?
|
||||
explanation: By deleting this category, every transaction that has the "%{category_name}"
|
||||
category will be uncategorized. Instead of leaving them uncategorized,
|
||||
you can also assign a new category below.
|
||||
replacement_category_prompt: Select category
|
||||
dropdown:
|
||||
row:
|
||||
delete: Delete category
|
||||
edit: Edit category
|
||||
edit:
|
||||
edit: Edit category
|
||||
form:
|
||||
create: Create category
|
||||
update: Update
|
||||
index:
|
||||
categories: Categories
|
||||
new: New
|
||||
menu:
|
||||
add_new: Add new
|
||||
clear: Clear
|
||||
new:
|
||||
new_category: New category
|
||||
row:
|
||||
delete: Delete category
|
||||
edit: Edit category
|
||||
update:
|
||||
error: Error updating transaction category
|
||||
success: Transaction category updated successfully
|
||||
create:
|
||||
success: New transaction created successfully
|
||||
|
@ -27,6 +55,8 @@ en:
|
|||
income: Income
|
||||
submit: Add transaction
|
||||
transfer: Transfer
|
||||
index:
|
||||
edit_categories: Edit categories
|
||||
merchants:
|
||||
create:
|
||||
error: Error creating merchant
|
||||
|
|
|
@ -21,17 +21,19 @@ Rails.application.routes.draw do
|
|||
resource :security, only: %i[show update]
|
||||
end
|
||||
|
||||
namespace :transactions do
|
||||
resources :categories
|
||||
|
||||
# TODO: These are *placeholders*
|
||||
# Uncomment `only` and add the necessary actions as they are implemented.
|
||||
resources :rules, only: [ :index ]
|
||||
resources :merchants, only: %i[index new create edit update destroy]
|
||||
end
|
||||
|
||||
resources :transactions do
|
||||
match "search" => "transactions#search", on: :collection, via: [ :get, :post ], as: :search
|
||||
|
||||
collection do
|
||||
scope module: :transactions do
|
||||
resources :categories, as: :transaction_categories do
|
||||
resources :deletions, only: %i[ new create ], module: :categories
|
||||
end
|
||||
|
||||
resources :rules, only: %i[ index ], as: :transaction_rules
|
||||
resources :merchants, only: %i[ index new create edit update destroy ], as: :transaction_merchants
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
resources :accounts, shallow: true do
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue