From 9e1d8a753b6603a7e059e620e8da822112b98f54 Mon Sep 17 00:00:00 2001 From: Tony Vincent Date: Wed, 26 Jun 2024 20:56:34 +0200 Subject: [PATCH] Fix #921 (#922) * Fix #921 * Fix linter errors * Fix test failure * Remove unused keys * Add back html rendering * Remove .tool-versions from repository * Fix failing test --- app/controllers/account/transactions_controller.rb | 7 +++++-- app/views/account/transactions/show.html.erb | 10 +++++----- .../account/transactions_controller_test.rb | 2 +- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/app/controllers/account/transactions_controller.rb b/app/controllers/account/transactions_controller.rb index 184725f6..a4c11646 100644 --- a/app/controllers/account/transactions_controller.rb +++ b/app/controllers/account/transactions_controller.rb @@ -15,7 +15,10 @@ class Account::TransactionsController < ApplicationController @transaction.update! transaction_params @transaction.sync_account_later - redirect_back_or_to account_transaction_url(@transaction.account, @transaction), notice: t(".success") + respond_to do |format| + format.html { redirect_back_or_to account_transaction_path(@account, @transaction), notice: t(".success") } + format.turbo_stream { render turbo_stream: turbo_stream.replace(@transaction) } + end end def destroy @@ -39,6 +42,6 @@ class Account::TransactionsController < ApplicationController end def transaction_params - params.require(:transaction).permit(:name, :date, :amount, :currency, :notes, :excluded, :category_id, :merchant_id, tag_ids: []) + params.require(:account_transaction).permit(:name, :date, :amount, :currency, :notes, :excluded, :category_id, :merchant_id, tag_ids: []) end end diff --git a/app/views/account/transactions/show.html.erb b/app/views/account/transactions/show.html.erb index b2c48555..5d849dde 100644 --- a/app/views/account/transactions/show.html.erb +++ b/app/views/account/transactions/show.html.erb @@ -23,7 +23,7 @@
- <%= form_with model: @transaction, html: { data: { controller: "auto-submit-form" } } do |f| %> + <%= form_with model: [@account, @transaction], url: account_transaction_path, html: { data: { controller: "auto-submit-form" } } do |f| %>
<%= f.text_field :name, label: t(".name_label"), "data-auto-submit-form-target": "auto" %> <%= f.date_field :date, label: t(".date_label"), max: Date.today, "data-auto-submit-form-target": "auto" %> @@ -46,7 +46,7 @@
- <%= form_with model: @transaction, html: { data: { controller: "auto-submit-form" } } do |f| %> + <%= form_with model: [@account, @transaction], url: account_transaction_path, html: { data: { controller: "auto-submit-form" } } do |f| %> <%= f.select :tag_ids, options_for_select(Current.family.tags.alphabetically.pluck(:name, :id), @transaction.tag_ids), { @@ -68,7 +68,7 @@
- <%= form_with model: @transaction, html: { class: "p-3 space-y-3", data: { controller: "auto-submit-form" } } do |f| %> + <%= form_with model: [@account, @transaction], url: account_transaction_path, html: { class: "p-3 space-y-3", data: { controller: "auto-submit-form" } } do |f| %>

<%= t(".exclude_title") %>

@@ -77,7 +77,7 @@
<%= f.check_box :excluded, class: "sr-only peer", "data-auto-submit-form-target": "auto" %> - +
<% end %> @@ -90,7 +90,7 @@
<%= button_to t(".delete"), - account_transaction_path(@transaction), + account_transaction_path(@account, @transaction), method: :delete, class: "rounded-lg px-3 py-2 text-red-500 text-sm font-medium border border-alpha-black-200", data: { turbo_confirm: true, turbo_frame: "_top" } %> diff --git a/test/controllers/account/transactions_controller_test.rb b/test/controllers/account/transactions_controller_test.rb index 3778db85..f3660bec 100644 --- a/test/controllers/account/transactions_controller_test.rb +++ b/test/controllers/account/transactions_controller_test.rb @@ -15,7 +15,7 @@ class Account::TransactionsControllerTest < ActionDispatch::IntegrationTest test "should update transaction" do patch account_transaction_url(@transaction.account, @transaction), params: { - transaction: { + account_transaction: { account_id: @transaction.account_id, amount: @transaction.amount, currency: @transaction.currency,